:root{--indigo-500:#5b63f5;--indigo-600:#474edb;--indigo-50:#eef1ff;--indigo-700:#3a3fb0;--ink-900:#0f1222;--ink-600:#5b6079;--ink-400:#878ba3;--bg:#f6f7fb;--panel:#fff;--line:#e8e9f3;--radius:16px;--mint:#19c37d;--shadow:0 18px 40px rgba(18,24,48,.08)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink-900);line-height:1.5}
a{color:var(--indigo-600);text-decoration:none}
button,input,select,textarea{font:inherit}
.app-shell{display:flex;min-height:100vh;background:var(--bg)}
.sidebar{width:260px;background:#0f172a;color:#e2e8f0;padding:22px 16px;display:flex;flex-direction:column;gap:20px;border-right:1px solid rgba(148,163,184,.18)}
.brand-wrap{display:flex;justify-content:space-between;align-items:center;padding:0 8px}
.sidebar .logo{display:flex;align-items:center;background:#fff;border-radius:10px;padding:5px 8px}
.sidebar .logo img{display:block;width:150px;max-width:100%;height:auto}
.auth-brand-logo{display:block;width:250px;max-width:100%;height:auto;margin:0 auto 20px}
.nav{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.nav-item{border:1px solid transparent;background:transparent;color:#dbe3f3;border-radius:12px;padding:12px 14px;font-weight:600;text-align:left;cursor:pointer;transition:all .2s}
.nav-group-label{padding:8px 12px 0;color:#94a3b8;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.nav-item.nested{margin-left:8px;padding:9px 12px;font-size:13px;color:#cbd5e1}
.nav-item:hover,.nav-item.active{background:rgba(91,99,245,.12);border-color:rgba(165,180,252,.25);color:#fff}
.sidebar-card{margin-top:auto;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:16px}
.small-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400);font-weight:700}
.sidebar-card strong{display:block;margin-top:8px;color:#fff;font-size:15px}
.main-panel{flex:1;display:flex;flex-direction:column}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 28px;display:flex;justify-content:space-between;align-items:center}
.topbar h1{font-size:24px;margin-top:4px}
.topbar-actions{display:flex;align-items:center;gap:10px}
.pill,.pill-soft{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700}
.pill{background:#eef2ff;color:var(--indigo-600)}
.pill-soft{background:#edfdf7;color:#0a8d5c}
.page-content{padding:28px;max-width:1320px;width:100%}
.section-header,.section-subheader{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.section-header h2,.section-subheader h3{font-size:28px;color:var(--ink-900)}
.screen{display:none}
.screen.active{display:block}
.readiness-card{max-width:900px;margin:0 0 18px;padding:16px 18px;border:1px solid #a7f3c4;border-radius:14px;background:#f0fdf5}
.readiness-title{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;color:#14212a}
.readiness-spark{color:#fb923c;font-size:20px;line-height:1}
.readiness-items{display:flex;flex-wrap:wrap;gap:8px}
.readiness-pill{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#64748b;font-size:11px;font-weight:600}
.readiness-pill.done{border-color:#86efac;color:#087443}
.readiness-pill.optional{border-color:#e2e8f0;color:#64748b}
.readiness-check{font-size:14px;font-weight:800;color:#94a3b8}
.readiness-pill.done .readiness-check{color:#16a34a}
.readiness-pill.optional .readiness-check{color:#737373}
.settings-tabs{display:flex;align-items:center;gap:0;max-width:900px;margin-bottom:0;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}
.settings-tab{position:relative;flex:0 0 auto;padding:12px 17px;border:0;background:transparent;color:var(--ink-600);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.settings-tab:hover{color:var(--ink-900)}
.settings-tab.active{color:#ef4d2f}
.settings-tab.active::after{position:absolute;right:16px;bottom:0;left:16px;height:2px;background:#ef4d2f;content:''}
.settings-pane{display:none;max-width:900px;padding-top:0}
.settings-pane.active{display:block}
.settings-pane .section-header{display:none}
.settings-pane .card{border-radius:0 0 16px 16px;box-shadow:none;border-top:0;padding:20px;margin-bottom:20px}
.settings-pane .btn:not(.ghost){background:#ff6b12}
.settings-pane .btn:not(.ghost):hover{background:#e95c08}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:20px}
.panel-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
.stats-grid{display:grid;grid-template-columns:repeat(4, minmax(180px, 1fr));gap:16px;margin-bottom:18px}
.stats-grid.compact{grid-template-columns:repeat(3, minmax(160px, 1fr));margin-bottom:16px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.stat-card .stat-value{font-size:2rem;font-weight:800;line-height:1.1;margin:10px 0 8px}
.metric-list{display:flex;flex-direction:column;gap:10px}
.metric-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.metric-row:last-child{border-bottom:none}
.checklist{padding-left:18px;display:grid;gap:10px;color:var(--ink-600)}
.checklist li::marker{color:var(--indigo-500)}
.wrap{max-width:980px;margin:0 auto;padding:32px 20px}
.auth-wrap{max-width:420px;margin:48px auto;padding:0 20px}
.card h2{font-size:19px;margin-bottom:14px}.card h3{font-size:18px;margin-bottom:14px}
.muted{color:var(--ink-600);font-size:14px}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--indigo-500)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cnpj-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.cnpj-lookup.lookup-disabled{grid-template-columns:1fr}
.cnpj-lookup .btn{white-space:nowrap}
.lookup-success{color:#087443}
.lookup-error{color:#b03a2e}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font-weight:700;font-size:15px;border:none;border-radius:999px;padding:12px 22px;cursor:pointer;background:var(--indigo-500);color:#fff;transition:background .2s}
.btn:hover{background:var(--indigo-600)}
.btn.block{width:100%}
.btn.ghost{background:#fff;color:var(--ink-900);border:1px solid var(--line)}
.btn.sm{padding:8px 15px;font-size:13px}
.btn.danger{background:#fff;color:#c0392b;border:1px solid #e7cfca}
.btn.full{width:100%;margin-top:12px}
.tabs{display:flex;gap:8px;margin-bottom:18px}
.tabs button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;color:var(--ink-600)}
.tabs button.active{background:var(--indigo-500);color:#fff;border-color:var(--indigo-500)}
.text-link{display:block;margin:12px auto 0;padding:0;border:0;background:transparent;color:var(--indigo-600);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.text-link:hover{text-decoration:underline}
.auth-wrap h2{margin:0 0 8px;font-size:20px}
.auth-wrap .muted{color:var(--ink-600);font-size:13px}
.msg{padding:10px 14px;border-radius:10px;font-size:14px;margin:12px 0;display:none}
.msg.err{background:#fdecea;color:#b03a2e;display:block}
.msg.ok{background:#e9faf1;color:#13864f;display:block}
.company{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px;background:#fff}
.company .head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.company-list-item{padding:12px 14px;border-radius:12px;box-shadow:none}
.company-summary{display:flex;justify-content:space-between;align-items:center;gap:12px}
.company-main{min-width:0}
.company-main strong{display:block;font-size:14px}
.company-meta{margin-top:3px;color:var(--ink-400);font-size:12px;overflow-wrap:anywhere}
.company-status{flex:0 0 auto}
.company-list-item .actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.badge.ok{background:#e9faf1;color:#13864f}.badge.no{background:#eef0f6;color:#878ba3}.badge.warn{background:#fef5e7;color:#b9770e}
.cnpj{font-size:13px;color:var(--ink-400);margin-top:3px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.panel{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);display:none}
.hint{font-size:12px;color:var(--ink-400);margin-top:4px}
.hidden{display:none}
.inv{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:8px;font-size:14px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.inv .s{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}
.s.autorizada{background:#e9faf1;color:#13864f}.s.rejeitada{background:#fdecea;color:#b03a2e}.s.processando{background:#fef5e7;color:#b9770e}.s.pendente{background:#eef1ff;color:#4c5be8}.s.enviado{background:#eef1ff;color:#4c5be8}
.chip{display:inline-block;font-size:11px;font-weight:700;color:var(--indigo-700,#3a3fb0);background:var(--indigo-50);padding:3px 10px;border-radius:999px;margin-left:6px}
.tomador-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;margin-top:10px}
.tomador-meta{display:flex;flex-direction:column;gap:4px;color:var(--ink-600);font-size:12px}
.tomadores-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:start}
.tomadores-layout>.card{max-width:none;min-width:0}
.tomadores-list-card{position:sticky;top:20px}
.table-wrap{overflow:auto}
.data-table{width:100%;border-collapse:collapse;margin-top:12px}
.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400);font-weight:700}
.max-width{max-width:900px}
.mt-16{margin-top:16px}
.emission-mode-tabs{display:flex;gap:4px;width:max-content;max-width:100%;padding:4px;margin:0 0 16px auto;border:1px solid var(--line);border-radius:999px;background:#fff}
.emission-mode{border:0;border-radius:999px;padding:9px 16px;background:transparent;color:var(--ink-600);font-size:13px;font-weight:700;cursor:pointer}
.emission-mode.active{background:var(--indigo-50);color:var(--indigo-700)}
.emission-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px;align-items:start}
.emission-workspace.form-mode{grid-template-columns:minmax(0,760px);justify-content:center}
.assistant-chat{display:flex;flex-direction:column;height:590px;min-height:460px;padding:0;overflow:hidden}
.assistant-heading{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff}
.assistant-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--indigo-50);color:var(--indigo-700);font-weight:800}
.assistant-heading strong{display:block;font-size:14px}
.assistant-heading small{display:block;margin-top:3px;color:var(--ink-400);font-size:11px}
.assistant-online{margin-left:5px;color:#13864f;font-size:11px}
.assistant-messages{display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:18px;background:linear-gradient(180deg,#fbfbfe,#f6f7fb)}
.chat-message{max-width:88%;padding:11px 13px;border:1px solid var(--line);border-radius:14px;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.assistant-message{align-self:flex-start;border-bottom-left-radius:4px;background:#fff}
.user-message{align-self:flex-end;border-color:var(--indigo-500);border-bottom-right-radius:4px;background:var(--indigo-500);color:#fff}
.chat-day{align-self:center;padding:4px 11px;border-radius:999px;background:#fff;color:var(--ink-400);font-size:10px}
.assistant-chat-compose{padding:13px 15px;border-top:1px solid var(--line);background:#fff}
.assistant-chat-compose>.small-label{font-size:10px}
.chat-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 10px}
.chat-shortcut{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-900);font-size:11px;cursor:pointer}
.chat-shortcut:hover{border-color:var(--indigo-500);color:var(--indigo-700)}
.assistant-chat-form{display:flex;gap:8px;align-items:center;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff}
.assistant-chat-form input{border:0;background:transparent}
.assistant-chat-form input:focus{outline:none}
.assistant-send{flex:0 0 38px;width:38px;height:38px;padding:0;border-radius:50%}
.assistant-chat-compose .hint{font-size:10px}
.emission-preview{margin-bottom:0}
.emission-preview h3{margin:5px 0 12px}
.emission-preview .row{gap:10px}
.emission-preview label{font-size:12px}
.emission-preview input,.emission-preview select{padding:10px 11px;font-size:13px}
.emission-preview .btn{width:100%;margin-top:12px}
.emission-draft-status{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbff;color:var(--ink-600);font-size:12px}
.emission-draft-status.ready{border-color:#a7f3c4;background:#f0fdf5;color:#087443}
.emission-workspace.form-mode .assistant-chat{display:none}
.emission-workspace.form-mode .emission-preview{width:100%}
@media (max-width: 980px){
  .app-shell{display:block}
  .sidebar{width:100%;border-right:none;border-bottom:1px solid rgba(148,163,184,.18)}
  .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .nav-item{min-width:0;padding:10px;font-size:13px}
  .nav-group-label{grid-column:1/-1;padding:8px 4px 2px}
  .nav-item.nested{margin-left:0}
  .two-col,.panel-grid,.stats-grid{grid-template-columns:1fr}
  .emission-workspace{grid-template-columns:1fr}
  .assistant-chat{height:540px}
  .tomadores-layout{grid-template-columns:1fr}
  .tomadores-list-card{position:static}
  .page-content{padding:18px}
  .topbar{padding:16px 18px}
  .readiness-card{padding:14px}
  .settings-tabs{max-width:100%}
  .settings-tab{padding:12px}
  .settings-tab.active::after{right:11px;left:11px}
  .tomador-item{align-items:flex-start;flex-wrap:wrap}
  .tomador-meta{flex:1;min-width:130px}
  .company-summary{align-items:flex-start}
  .company-status{padding-top:2px}
}
@media (max-width: 560px){
  .row{grid-template-columns:1fr}
  .cnpj-lookup{grid-template-columns:1fr}
  .stats-grid.compact{grid-template-columns:1fr}
  .topbar-actions{display:none}
  .page-content{padding:14px}
  .card{padding:18px}
  .section-header h2{font-size:23px}
  .emission-mode-tabs{margin-left:0}
  .emission-mode{padding:8px 12px}
  .assistant-chat{height:calc(100vh - 220px);min-height:460px}
}

.portal-dark-theme{--ink-900:#f1f5f9;--ink-600:#a3afc2;--ink-400:#818da3;--bg:#0b1020;--panel:#111827;--line:#253246;--indigo-50:#202849;--shadow:0 14px 35px rgba(0,0,0,.16);background:var(--bg);color:#f1f5f9}
.portal-dark-theme .sidebar{background:#0a0f1d;border-color:#202b3c}
.portal-dark-theme .sidebar .logo{background:transparent;padding:0}
.portal-dark-theme .sidebar-card{background:#101827;border-color:#263245}
.portal-dark-theme .topbar{background:#0d1423;border-color:#202b3c;color:#f8fafc}
.portal-dark-theme .topbar .small-label,.portal-dark-theme .topbar .muted{color:#8994a8}
.portal-dark-theme .topbar h1{color:#f8fafc}
.portal-dark-theme .main-panel{background:#0b1020}
.portal-dark-theme .page-content{max-width:1500px}
.portal-dark-theme .section-header h2,.portal-dark-theme .section-subheader h3,.portal-dark-theme .card h2,.portal-dark-theme .card h3{color:#f1f5f9}
.portal-dark-theme .card,.portal-dark-theme .stat-card,.portal-dark-theme .company,.portal-dark-theme .tomador-item,.portal-dark-theme .inv{border-color:#253246;background:#111827;color:#e2e8f0;box-shadow:0 14px 35px rgba(0,0,0,.12)}
.portal-dark-theme .settings-pane .card{border-color:#253246;background:#111827}
.portal-dark-theme .settings-pane .btn:not(.ghost){background:#facc15;color:#171717}
.portal-dark-theme .settings-pane .btn:not(.ghost):hover{background:#eab308}
.portal-dark-theme .stat-card{background:#111827}
.portal-dark-theme .small-label,.portal-dark-theme .muted,.portal-dark-theme .hint,.portal-dark-theme .cnpj,.portal-dark-theme .tomador-meta{color:#9aa6ba}
.portal-dark-theme input,.portal-dark-theme select,.portal-dark-theme textarea{border-color:#344156;background:#0d1423;color:#f1f5f9;color-scheme:dark}
.portal-dark-theme input::placeholder,.portal-dark-theme textarea::placeholder{color:#758197}
.portal-dark-theme input:focus,.portal-dark-theme select:focus,.portal-dark-theme textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(129,140,248,.14)}
.portal-dark-theme input[type="file"]::file-selector-button{margin-right:10px;padding:7px 10px;border:1px solid #344156;border-radius:7px;background:#1b2637;color:#e2e8f0;cursor:pointer}
.portal-dark-theme .btn.ghost,.portal-dark-theme .btn.danger{border-color:#344156;background:#172132;color:#e2e8f0}
.portal-dark-theme .btn.ghost:hover{background:#263246}
.portal-dark-theme .btn.danger{color:#fca5a5}
.portal-dark-theme .tabs button{border-color:#344156;background:#111827;color:#a3afc2}
.portal-dark-theme .tabs button.active{border-color:var(--indigo-500);background:var(--indigo-500);color:#fff}
.portal-dark-theme .pill{background:#202849;color:#c7d2fe}
.portal-dark-theme .pill-soft{border:1px solid rgba(34,197,94,.2);background:rgba(34,197,94,.08);color:#4ade80}
.portal-dark-theme .readiness-card{border-color:rgba(34,197,94,.3);background:#10251f}
.portal-dark-theme .readiness-title{color:#e2e8f0}
.portal-dark-theme .readiness-pill{border-color:#344156;background:#172132;color:#a3afc2}
.portal-dark-theme .readiness-pill.done{border-color:rgba(34,197,94,.35);color:#4ade80}
.portal-dark-theme .readiness-pill.optional{border-color:#344156;color:#a3afc2}
.portal-dark-theme .settings-tabs{border-color:#344156}
.portal-dark-theme .settings-tab{color:#a3afc2}
.portal-dark-theme .settings-tab:hover,.portal-dark-theme .settings-tab.active{color:#fca57b}
.portal-dark-theme .panel{border-color:#344156}
.portal-dark-theme .company-list-item .actions{border-color:#344156}
.portal-dark-theme .tomador-item{background:#111827}
.portal-dark-theme .data-table th,.portal-dark-theme .data-table td{border-color:#253246}
.portal-dark-theme .data-table th{background:#0d1423;color:#8994a8}
.portal-dark-theme .data-table td{color:#cbd5e1}
.portal-dark-theme .emission-mode-tabs{border-color:#344156;background:#111827}
.portal-dark-theme .emission-mode{color:#a3afc2}
.portal-dark-theme .emission-mode.active{background:#202849;color:#c7d2fe}
.portal-dark-theme .assistant-heading,.portal-dark-theme .assistant-chat-compose{border-color:#253246;background:#111827}
.portal-dark-theme .assistant-messages{background:linear-gradient(180deg,#0d1423,#0b1020)}
.portal-dark-theme .assistant-message,.portal-dark-theme .chat-day{border-color:#344156;background:#172132;color:#e2e8f0}
.portal-dark-theme .chat-shortcut{border-color:#344156;background:#172132;color:#dbe3f3}
.portal-dark-theme .chat-shortcut:hover{border-color:#818cf8;color:#c7d2fe}
.portal-dark-theme .assistant-chat-form{border-color:#344156;background:#0d1423}
.portal-dark-theme .assistant-chat-form input{background:transparent}
.portal-dark-theme .emission-draft-status{border-color:#344156;background:#172132;color:#a3afc2}
.portal-dark-theme .emission-draft-status.ready{border-color:rgba(34,197,94,.3);background:#10251f;color:#86efac}
.portal-dark-theme .msg.err{border:1px solid rgba(248,113,113,.25);background:#321d27;color:#fecaca}
.portal-dark-theme .msg.ok{border:1px solid rgba(74,222,128,.25);background:#10251f;color:#86efac}
.portal-dark-theme .badge.ok,.portal-dark-theme .s.autorizada{background:rgba(34,197,94,.12);color:#4ade80}
.portal-dark-theme .badge.no{background:#263246;color:#a3afc2}
.portal-dark-theme .badge.warn,.portal-dark-theme .s.processando{background:rgba(250,204,21,.12);color:#facc15}
.portal-dark-theme .s.rejeitada{background:rgba(248,113,113,.12);color:#fca5a5}
.portal-dark-theme .s.pendente,.portal-dark-theme .s.enviado{background:rgba(129,140,248,.14);color:#c7d2fe}
.portal-dark-theme .lookup-success{color:#4ade80}
.portal-dark-theme .lookup-error{color:#fca5a5}
.portal-dark-theme .chip{border:1px solid #344156;background:#202849;color:#c7d2fe}
.portal-dark-theme .dashboard-screen .small-label{color:#8994a8}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:2px 0 22px}
.dashboard-heading h2{margin-top:5px;color:#f8fafc;font-size:27px}
.dashboard-heading p{margin-top:4px;color:#8f9aaf;font-size:13px}
.dashboard-primary{flex:none;background:#facc15;color:#171717}
.dashboard-primary:hover{background:#eab308}
.dashboard-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dashboard-card,.dashboard-recent-card{min-width:0;border:1px solid #222e40;border-radius:16px;background:#111827;box-shadow:0 14px 35px rgba(0,0,0,.12)}
.dashboard-card{min-height:192px;padding:18px}
.dashboard-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dashboard-label{color:#8994a8;font-size:10px;font-weight:800;letter-spacing:.1em}
.dashboard-indicator{padding:4px 9px;border:1px solid rgba(34,197,94,.22);border-radius:999px;background:rgba(34,197,94,.08);color:#4ade80;font-size:10px;font-weight:700}
.dashboard-kpi{display:block;margin-top:10px;color:#f8fafc;font-size:27px;font-weight:800;letter-spacing:-.04em;line-height:1.2}
.dashboard-card-caption{min-height:20px;margin-top:4px;color:#758197;font-size:11px}
.dashboard-chart-heading{margin-top:14px;color:#818ca0;font-size:10px}
.dashboard-chart{display:flex;align-items:flex-end;gap:5px;height:42px;margin-top:7px}
.dashboard-bar{flex:1;min-width:3px;height:100%;display:flex;align-items:flex-end;border-radius:4px 4px 2px 2px;background:#202b3d}
.dashboard-bar span{width:100%;min-height:3px;border-radius:4px 4px 2px 2px;background:#facc15}
.dashboard-chart-labels{display:flex;justify-content:space-between;margin-top:5px;color:#687489;font-size:9px}
.dashboard-info-dot{display:grid;place-items:center;width:17px;height:17px;border:1px solid #354258;border-radius:50%;color:#9aa6ba;font-size:10px;font-weight:700}
.dashboard-tax-note{margin-top:18px;padding-top:12px;border-top:1px solid #253044;color:#8b96aa;font-size:10px;line-height:1.5}
.dashboard-countline{display:flex;align-items:baseline;gap:9px;margin-top:7px}
.dashboard-countline strong{color:#f8fafc;font-size:27px;line-height:1.2}
.dashboard-countline span{color:#8490a4;font-size:10px}
.dashboard-live-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#22c55e}
.dashboard-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}
.dashboard-status-box{display:flex;min-height:47px;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid;border-radius:10px}
.dashboard-status-box strong{font-size:16px;line-height:1.2}
.dashboard-status-box span{font-size:8px;font-weight:800;letter-spacing:.06em}
.dashboard-status-box.authorized{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.07);color:#22c55e}
.dashboard-status-box.processing{border-color:rgba(250,204,21,.25);background:rgba(250,204,21,.06);color:#facc15}
.dashboard-status-box.rejected{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.06);color:#f87171}
.dashboard-status-track{height:5px;overflow:hidden;margin-top:15px;border-radius:999px;background:#263246}
.dashboard-status-track span{display:block;width:0;height:100%;border-radius:inherit;background:#22c55e;transition:width .25s ease}
.dashboard-status-caption{margin-top:5px;color:#778399;text-align:right;font-size:9px}
.dashboard-recent-card{overflow:hidden}
.dashboard-recent-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid #222e40}
.dashboard-recent-heading h3{color:#f1f5f9;font-size:13px}
.dashboard-recent-heading>div>span{display:block;margin-top:3px;color:#768298;font-size:10px}
.dashboard-view-all{padding:8px 13px;border:0;border-radius:8px;background:#f8fafc;color:#101827;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.dashboard-view-all:hover{background:#e2e8f0}
.dashboard-table-wrap{overflow-x:auto}
.dashboard-table{width:100%;min-width:760px;border-collapse:collapse}
.dashboard-table th,.dashboard-table td{padding:10px 12px;border-bottom:1px solid #1e293b;text-align:left;white-space:nowrap}
.dashboard-table th{background:#111827;color:#657187;font-size:9px;font-weight:800;letter-spacing:.07em}
.dashboard-table td{color:#cbd5e1;font-size:10px}
.dashboard-table tbody tr:hover{background:#151f30}
.dashboard-table td:nth-child(1){color:#94a3b8;font-weight:700}
.dashboard-table td:nth-child(6){color:#f1f5f9;font-weight:700}
.dashboard-recipient{color:#e2e8f0;font-weight:700}
.dashboard-company-name{display:block;margin-top:2px;color:#758197;font-size:9px}
.dashboard-service{display:inline-block;max-width:130px;overflow:hidden;padding:3px 7px;border:1px solid #2a364a;border-radius:999px;color:#aab4c5;text-overflow:ellipsis;vertical-align:middle}
.dashboard-status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase}
.dashboard-status-pill::before{width:5px;height:5px;border-radius:50%;background:currentColor;content:''}
.dashboard-status-pill.autorizada{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.07);color:#22c55e}
.dashboard-status-pill.processando,.dashboard-status-pill.pendente,.dashboard-status-pill.enviado{border-color:rgba(250,204,21,.24);background:rgba(250,204,21,.06);color:#facc15}
.dashboard-status-pill.rejeitada,.dashboard-status-pill.cancelada{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.06);color:#f87171}
.dashboard-status-pill.rascunho{border-color:#344156;background:#1e293b;color:#aab4c5}
.dashboard-download{padding:4px 7px;border:1px solid #2b374a;border-radius:6px;background:#1b2637;color:#aeb9ca;font-size:9px;font-weight:700;cursor:pointer}
.dashboard-download:hover{border-color:#596780;color:#fff}
.dashboard-empty{padding:28px 14px!important;color:#8591a5!important;text-align:center!important}
.dashboard-recent-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;color:#69758a;font-size:9px}
.dashboard-env{display:flex;align-items:center;gap:7px;color:#8591a5}
.portal-auth-dark{--ink-900:#f1f5f9;--ink-600:#a3afc2;--ink-400:#818da3;--bg:#0b1020;--panel:#111827;--line:#253246;--indigo-50:#202849;background:#0b1020;color:#f1f5f9}
.portal-auth-dark .auth-wrap .card{border-color:#253246;background:#111827;color:#e2e8f0;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.portal-auth-dark .auth-wrap .card h2{color:#f1f5f9}
.portal-auth-dark .auth-wrap .muted,.portal-auth-dark .auth-wrap>p{color:#9aa6ba}
.portal-auth-dark .tabs button{border-color:#344156;background:#172132;color:#a3afc2}
.portal-auth-dark .tabs button.active{border-color:var(--indigo-500);background:var(--indigo-500);color:#fff}
.portal-auth-dark input{border-color:#344156;background:#0d1423;color:#f1f5f9;color-scheme:dark}
.portal-auth-dark input::placeholder{color:#758197}
.portal-auth-dark input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(129,140,248,.14)}
.portal-auth-dark .auth-wrap>p a,.portal-auth-dark .text-link{color:#a5b4fc}
.portal-auth-dark .msg.err{border:1px solid rgba(248,113,113,.25);background:#321d27;color:#fecaca}
.portal-auth-dark .msg.ok{border:1px solid rgba(74,222,128,.25);background:#10251f;color:#86efac}
@media(max-width:1100px){
  .dashboard-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-overview-grid .dashboard-card:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .dashboard-heading{align-items:flex-start;flex-direction:column}
  .dashboard-heading h2{font-size:23px}
  .dashboard-primary{width:100%}
  .dashboard-overview-grid{grid-template-columns:1fr}
  .dashboard-overview-grid .dashboard-card:last-child{grid-column:auto}
  .dashboard-recent-heading{align-items:flex-start}
  .dashboard-recent-footer{align-items:flex-start;flex-direction:column}
}
