/* Admin controls and readability improvements. */
.section-label{font:700 13px Manrope;margin:21px 0 10px}
.nav-item.hidden{display:none!important}
.admin-page-head{background:transparent;padding:0 0 15px;border:0}
.admin-page-head h3{font:700 15px Manrope;margin:0 0 5px}
.admin-page-head p{font-size:12px;margin:0}
.admin-role{height:38px;border:1px solid var(--line);border-radius:7px;padding:0 9px;background:var(--panel);color:var(--text);font-size:12px}
.admin-active{display:flex;align-items:center;gap:6px;font-size:12px}

/* Dark is the default palette; the theme button can still switch to light. */
.dark{
  --bg:#0d1220;
  --panel:#151c2c;
  --panel-2:#1b2538;
  --text:#e9eef8;
  --muted:#aab6c8;
  --line:#29364b;
  --accent:#a092ff;
  --accent-soft:#292644;
  --green:#42c99a;
  --green-soft:#15382f;
  --orange:#f0b76b;
  --orange-soft:#3a2d1b;
  --red:#ff8194;
  --red-soft:#3d222b;
  --blue:#78aef2;
  --sidebar:#0a1020;
  --sidebar-muted:#aab6c8;
  --shadow:0 12px 32px rgba(0,0,0,.2);
  color:var(--text);
}
.dark .login-screen{background:var(--bg)}
.dark .login-panel{color:var(--text)}
.dark .login-panel footer{color:#8995aa}
.dark .login-box input,.dark .search-global,.dark .table-search,
.dark .toolbar select,.dark .custom-dates input,.dark .status-form select,
.dark .status-form input,.dark .note-form textarea,.dark .admin-role{
  background:#101828;color:var(--text);border-color:var(--line)
}
.dark .topbar{background:var(--panel)}
.dark .breadcrumbs,.dark .search-global,.dark .icon-btn,.dark .select-wrap{color:#aab6c8}
.dark .breadcrumbs strong,.dark .search-global input,.dark .select-wrap select{color:var(--text)}
.dark .search-global input::placeholder,.dark input::placeholder,.dark textarea::placeholder{color:#8491a7}
.dark .dot-indicator{border-color:var(--panel)}
.dark .mode-strip{background:#211f39;border-color:#373253;color:#c3baff}
.dark .chart-grid{stroke:#2b3548}
.dark .chart-label{fill:#a4b0c3}
.dark .chart-point{fill:#151c2c}
.dark .chart-legend,.dark .funnel-note,.dark .app-footer{color:#aab6c8}
.dark .modal-close{color:#aab6c8}
.dark .icon-btn:hover,.dark .btn-quiet:hover{color:var(--accent);border-color:#51477f}
.dark .kpi-top,.dark .metric-row,.dark .legend,.dark .bar-label,
.dark .page-tabs button,.dark .pagination,.dark .btn-quiet{color:#b7c2d4}
.dark .kpi-bottom,.dark .sub-cell,.dark .detail-field small,
.dark .note-item small,.dark .notification-row time{color:#9aa8bd}
.dark .icon-purple{background:#292644;color:#b9adff}
.dark .icon-green{background:#18372f;color:#62d4a8}
.dark .icon-orange{background:#3a2d1b;color:#f0bd78}
.dark .icon-blue{background:#1d2f49;color:#8ebaff}
.dark .icon-red{background:#3d222b;color:#ff91a1}
.dark .metric-bar,.dark .bar-track{background:#263247}
.dark .funnel-step,.dark .funnel-step:nth-child(n){background:#292644;color:#c4bcff}
.dark .table-head{background:var(--panel)}
.dark th{background:var(--panel-2);color:#b2bfd2;border-color:var(--line)}
.dark td{color:#cbd5e4;border-color:#263247}
.dark tbody tr:hover,.dark .notification-row.unread{background:#1b2538}
.dark .empty-state{color:#aab6c8!important}
.dark .pill{background:#293247;color:#c0cad9}
.dark .pill.pago,.dark .pill.paga,.dark .pill.sucesso,.dark .pill.enviado,
.dark .pill.convertido,.dark .pill.qualificado{background:#173a30;color:#70d7b1}
.dark .pill.pendente,.dark .pill.novo,.dark .pill.em_contato,.dark .pill.negociacao{background:#3b301e;color:#f0bd78}
.dark .pill.estornado,.dark .pill.estornada,.dark .pill.falhou,.dark .pill.negado,
.dark .pill.perdido,.dark .pill.recusada{background:#40252e;color:#ff91a1}
.dark .data-note{background:#292619;border-color:#494124;color:#e1ca83}
.dark .detail-avatar{background:#292644;color:#c1b7ff}
.dark .notification-icon{background:#292644;color:#c1b7ff}
.dark .notification-row b{color:var(--text)}
.dark .notification-row p{color:#b7c2d4}
.dark .notification-row time{color:#9aa8bd}
.dark .pagination button,.dark .btn-quiet,.dark .icon-btn{background:var(--panel);border-color:var(--line)}
.dark .modal-backdrop{background:#050914c9}
.dark .modal{background:var(--panel)}
.dark .spinner{border-color:#34324e;border-top-color:var(--accent)}

/* Raise the small labels and dense data without changing the page hierarchy. */
body{font-size:15px;line-height:1.5}
.eyebrow{font-size:11px}
.workspace-switch b,.user-meta b{font-size:13px}
.workspace-switch small,.user-meta small{font-size:11px}
.nav-caption{font-size:11px}
.nav-item{font-size:13px;height:42px}
.nav-badge{font-size:11px}
.health{font-size:12px}
.logout-link{font-size:12px}
.breadcrumbs{font-size:13px}
.search-global input{font-size:12px}
kbd{font-size:10px}
.page-heading .muted{font-size:13px}
.select-wrap select{font-size:12px}
.custom-dates input{font-size:12px;height:38px}
.mode-strip{font-size:12px;padding:10px 14px}
.text-button{font-size:12px}
.app-footer{font-size:11px}
.kpi-card{padding:18px 19px;min-height:126px}
.kpi-top{font-size:12px}
.kpi-value{font-size:26px}
.kpi-bottom,.trend{font-size:11px}
.card{padding:20px}
.card-heading h3,.table-head h3{font-size:15px}
.card-heading p{font-size:12px}
.legend{font-size:11px}
.chart-label{font-size:11px}
.metric-row,.metric-row strong,.funnel-step{font-size:12px}
.funnel-note{font-size:11px}
.table-head{padding:18px 20px}
th{font-size:11px;padding:12px 16px}
td{font-size:12px;padding:14px 16px}
.sub-cell{font-size:11px}
.pill{font-size:11px;padding:5px 9px}
.table-link{font-size:12px}
.empty-state{font-size:13px}
.data-note{font-size:12px;padding:13px 15px}
.table-search,.toolbar select{font-size:12px;height:38px}
.btn-quiet,.pagination,.pagination button{font-size:12px}
.detail-title p,.detail-field small{font-size:11px}
.detail-field strong{font-size:13px}
.status-form select,.status-form input,.note-form textarea{font-size:12px;height:40px}
.note-item,.notification-row b,.notification-row p{font-size:12px}
.notification-row time{font-size:11px}
.notification-row{grid-template-columns:30px minmax(0,1fr) auto auto}
.notification-row>div{min-width:0}
.notification-row time{white-space:nowrap}
.notification-row .btn-quiet{min-width:max-content;white-space:nowrap;height:36px}
.bar-item{font-size:12px}
.page-tabs button{font-size:12px}
.loading{font-size:13px}
.toast{font-size:13px}
.modal-head h2{font-size:17px}
.content{padding-top:32px;padding-bottom:20px}
.dashboard-grid,.kpi-grid{gap:16px}
.card-heading{margin-bottom:20px}

@media(max-width:800px){
  .login-panel{background:var(--bg)}
  .kpi-card{min-height:120px}
  .content{padding:24px 16px 18px}
}

/* Offer types keep the same color identity across tables, details and charts. */
.product-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 9px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:600;line-height:1.35;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-kind{font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;flex:0 0 auto}
.product-name{overflow:hidden;text-overflow:ellipsis}
.product-badge.kind-acesso{background:#eeeaff;color:#5f4cc4;border-color:#ded7ff}
.product-badge.kind-upsell{background:#e3f8f5;color:#16796e;border-color:#c5ece6}
.product-badge.kind-downsell{background:#fff1dc;color:#a86613;border-color:#f5dfbd}
.product-badge.kind-bump{background:#ffebf1;color:#ae4165;border-color:#f5d0dd}
.product-badge.kind-outro{background:#edf0f5;color:#586174;border-color:#dfe4ec}
.product-row .bar-label{min-width:0}
.product-row .product-badge{max-width:100%}
.product-row .bar-track i{transition:width .25s ease}
.product-row[data-product-kind="acesso"] .bar-track i{background:linear-gradient(90deg,#7562e8,#a395ff)}
.product-row[data-product-kind="upsell"] .bar-track i{background:linear-gradient(90deg,#18a99a,#61d3c0)}
.product-row[data-product-kind="downsell"] .bar-track i{background:linear-gradient(90deg,#dd8a22,#f2bc69)}
.product-row[data-product-kind="bump"] .bar-track i{background:linear-gradient(90deg,#d64e7e,#f18aaa)}
.product-row[data-product-kind="outro"] .bar-track i{background:linear-gradient(90deg,#718096,#a5b1c2)}
.dark .product-badge.kind-acesso{background:#302852;color:#c9bfff;border-color:#4b3e75}
.dark .product-badge.kind-upsell{background:#173b3a;color:#77d8c8;border-color:#245c57}
.dark .product-badge.kind-downsell{background:#3b2d1c;color:#f2c277;border-color:#62451f}
.dark .product-badge.kind-bump{background:#3d2432;color:#f29ab5;border-color:#63344a}
.dark .product-badge.kind-outro{background:#253044;color:#bdc9da;border-color:#3b4a60}

/* Acquisition origins are visually distinct in orders, payments and CRM. */
.origin-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}
.origin-badge:before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
.origin-badge.origin-direct{background:#eeeaff;color:#5f4cc4;border-color:#ded7ff}
.origin-badge.origin-fb{background:#e5f1ff;color:#1764b0;border-color:#c9e0ff}
.origin-badge.origin-other{background:#edf0f5;color:#586174;border-color:#dfe4ec}
.dark .origin-badge.origin-direct{background:#302852;color:#c9bfff;border-color:#4b3e75}
.dark .origin-badge.origin-fb{background:#193353;color:#8fc2ff;border-color:#28517c}
.dark .origin-badge.origin-other{background:#253044;color:#bdc9da;border-color:#3b4a60}

@media(max-width:800px){
  .notification-row{grid-template-columns:30px minmax(0,1fr) auto}
  .notification-row .notification-icon{grid-column:1;grid-row:1 / span 2}
  .notification-row>div{grid-column:2;grid-row:1 / span 2}
  .notification-row time{grid-column:3;grid-row:1}
  .notification-row .btn-quiet{grid-column:2 / 4;grid-row:2;justify-self:start}
}

/* Give the customer profile enough room for both panels without horizontal scrolling. */
.modal.modal--customer{width:min(1080px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow-x:hidden}
.modal--customer .modal-body{min-width:0}
.modal--customer .detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.modal--customer .detail-grid>.card{min-width:0}
.modal--customer .status-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.modal--customer .status-form select,.modal--customer .status-form input,.modal--customer .note-form textarea{min-width:0}
.google-login{text-decoration:none;margin-top:22px}
@media(max-width:760px){
  .modal.modal--customer{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
  .modal--customer .detail-grid{grid-template-columns:minmax(0,1fr)}
}
