/* RG Fiscal. Faixa escura no topo com a marca e o resumo do período; a borda de baixo da faixa
   lembra o código de barras da nota fiscal. O resto da página fica claro e silencioso. */
:root{
  --bg:#eef2f7; --surface:#ffffff; --surface-2:#f2f5f9; --surface-3:#e4eaf2; --ink:#101b33; --ink-2:#35415c; --muted:#5f6b82; --line:#dce3ec;
  --accent:#101b33; --accent-ink:#ffffff; --accent-soft:#e3ecf7; --dot:#c27a00;
  --ciano:#0a8fa3; --ciano-vivo:#3fd3e3;
  --hero:#101b33; --hero-2:#16254a; --hero-ink:#eaf1fb; --hero-muted:#9fb0cc; --hero-line:rgba(159,176,204,.22);
  --logo-bg:#ffffff; --logo-fg:#101b33; --logo-bar:#0a8fa3;
  --s1:#2563eb; --s2:#e8622c;
  --err:#c2311f; --err-bg:#fdecea; --warn:#9a5b00; --warn-bg:#fdf3e1; --ok:#0f8a5f; --ok-bg:#e4f5ee; --info:#1d5fb8; --info-bg:#e6effb;
  --shadow:0 1px 1px rgba(16,27,51,.04),0 6px 18px -10px rgba(16,27,51,.18);
  --f-display:"Sora","IBM Plex Sans",system-ui,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:16px; --r-sm:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0a1224; --surface:#111c33; --surface-2:#16233f; --surface-3:#1e2d4d; --ink:#e6edf7; --ink-2:#c3cee0; --muted:#8e9cb6; --line:#22314f;
  --accent:#e6edf7; --accent-ink:#0a1224; --accent-soft:#1a2a4a; --dot:#f0b445;
  --ciano:#3fd3e3; --ciano-vivo:#3fd3e3;
  --hero:#0d1830; --hero-2:#13224a; --hero-ink:#eaf1fb; --hero-muted:#93a5c4; --hero-line:rgba(147,165,196,.2);
  --logo-bg:#3fd3e3; --logo-fg:#0a1224; --logo-bar:#0a1224;
  --s1:#5b8cff; --s2:#ff7a45;
  --err:#ff8f80; --err-bg:#3b1d1d; --warn:#f0b445; --warn-bg:#352812; --ok:#4fd39a; --ok-bg:#12312a; --info:#8fb6ff; --info-bg:#172846;
  --shadow:0 1px 2px rgba(0,0,0,.35); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0a1224; --surface:#111c33; --surface-2:#16233f; --surface-3:#1e2d4d; --ink:#e6edf7; --ink-2:#c3cee0; --muted:#8e9cb6; --line:#22314f;
  --accent:#e6edf7; --accent-ink:#0a1224; --accent-soft:#1a2a4a; --dot:#f0b445;
  --ciano:#3fd3e3; --ciano-vivo:#3fd3e3;
  --hero:#0d1830; --hero-2:#13224a; --hero-ink:#eaf1fb; --hero-muted:#93a5c4; --hero-line:rgba(147,165,196,.2);
  --logo-bg:#3fd3e3; --logo-fg:#0a1224; --logo-bar:#0a1224;
  --s1:#5b8cff; --s2:#ff7a45;
  --err:#ff8f80; --err-bg:#3b1d1d; --warn:#f0b445; --warn-bg:#352812; --ok:#4fd39a; --ok-bg:#12312a; --info:#8fb6ff; --info-bg:#172846;
  --shadow:0 1px 2px rgba(0,0,0,.35); color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:14px;line-height:1.5;margin:0;overflow-x:clip}
.wrap{max-width:1260px;margin:0 auto;padding-block:20px 64px;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));display:flex;flex-direction:column;gap:22px}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--s1);outline-offset:2px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--f-mono);font-size:12px}
.eyebrow{font-size:12.5px;letter-spacing:0;color:var(--muted);font-weight:600}
h1{font-family:var(--f-display);font-weight:600;font-size:34px;line-height:1.1;margin:4px 0 6px;letter-spacing:-.025em;text-wrap:balance}
h2{font-family:var(--f-display);font-weight:600;font-size:19px;margin:0;letter-spacing:-.015em;text-wrap:balance}
h3{font-size:14px;font-weight:600;margin:0}
.sub{color:var(--muted)} .sub b{color:var(--ink);font-weight:600}
.small{font-size:12px;color:var(--muted)}
.note{font-size:13px;color:var(--muted);max-width:78ch;margin:0}
.ico{width:16px;height:16px;flex:none}

/* Barra superior */
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;border:0;background:none;cursor:pointer;font:inherit;padding:0;text-align:left}
.brand .logo{width:38px;height:38px;flex:none}
.brand-t{display:flex;flex-direction:column;line-height:1.15}
.brand-t b{font-family:var(--f-display);font-weight:700;font-size:16px;letter-spacing:-.02em}
.brand-t span{font-size:11.5px;opacity:.72}
.nav-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;width:min(360px,100%);box-shadow:var(--shadow);color:var(--muted)}
.search input{border:0;background:transparent;outline:none;width:100%;color:var(--ink)}
.seg{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;padding:5px 12px;border-radius:8px;cursor:pointer;color:var(--muted);font-size:13px;font-weight:500}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}

.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 14px;cursor:pointer;font-weight:500;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{background:var(--surface-2)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{opacity:.92}
.btn.ghost{border-color:transparent;background:transparent}
.btn.danger{color:var(--err)}
.btn:disabled{opacity:.45;cursor:default}
.link{border:0;background:none;padding:0;color:var(--info);text-decoration:underline;cursor:pointer;font-size:12.5px}

.banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 14px;border-radius:12px;background:var(--warn-bg);color:var(--warn);font-size:13px}
.banner.info{background:var(--info-bg);color:var(--info)}
.banner.ok{background:var(--ok-bg);color:var(--ok)}
.banner .grow{flex:1;min-width:200px}

/* Períodos */
.periods{display:flex;gap:26px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}
.pgroup{display:flex;flex-direction:column;gap:8px;flex:none}
.pcards{display:flex;gap:8px}
.pcard{flex:none;width:156px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:1px;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}
.pcard:hover{border-color:var(--muted);transform:translateY(-1px)}
.pcard .t{font-weight:600;font-size:13.5px}
.pcard .d{font-size:12.5px;color:var(--muted)}
.pcard .m{font-size:11.5px;color:var(--muted);margin-top:3px}
.pcard[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pcard[aria-pressed="true"] .d,.pcard[aria-pressed="true"] .m{color:var(--accent-ink);opacity:.78}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dot);margin-right:5px;vertical-align:middle}

/* Blocos de imposto */
.mov{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px 0}
.mov > div{display:flex;flex-direction:column;gap:2px;padding:12px 18px;min-width:0}
.mov > div + div{border-left:1px solid var(--line)}
.mov b{font-family:var(--f-display);font-size:22px;font-weight:600;letter-spacing:-.01em}
@media (max-width:960px){.mov{grid-template-columns:repeat(2,minmax(0,1fr))}.mov > div:nth-child(3){border-left:0}}
@media (max-width:640px){.mov{grid-template-columns:1fr}.mov > div + div{border-left:0;border-top:1px solid var(--line)}}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.kpi .lbl{display:flex;align-items:center;gap:9px;font-weight:600}
.kpi .badge{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--ink)}
.kpi.alert .badge{background:var(--err-bg);color:var(--err)}
.kpi .big{font-family:var(--f-display);font-size:28px;font-weight:600;line-height:1;letter-spacing:-.01em}
.kpi .state{font-size:12px;color:var(--muted);margin-top:4px}
.kpi dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px;padding-top:10px;border-top:1px dashed var(--line)}
.kpi dt{color:var(--muted)} .kpi dd{margin:0;text-align:right;white-space:nowrap}
.credor{color:var(--ok)}
.kpi.alert .big{color:var(--err)}
.errtxt{color:var(--err);font-weight:600}

/* Gráfico */
.chart-card{padding:16px 18px 10px;display:flex;flex-direction:column;gap:8px}
.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.legend{display:flex;gap:14px;font-size:12.5px;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.chart{position:relative;overflow-x:auto}
.chart svg{display:block;width:100%;min-width:560px;height:auto}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .axis{fill:var(--muted);font-size:11px;font-family:var(--f-body)}
.chart .hit{fill:transparent;cursor:default}
.chart .hit:hover{fill:var(--surface-2);opacity:.6}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font-size:12px;border-radius:9px;padding:8px 10px;min-width:170px;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:5}
.tip b{display:block;margin-bottom:4px}
.tip .r{display:flex;justify-content:space-between;gap:12px}
.tip i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:6px}

/* Abas */
.tabs{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{border:0;background:transparent;padding:9px 12px 11px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-weight:500;display:inline-flex;align-items:center;gap:7px}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.count{display:inline-block;font-size:11px;padding:1px 7px;border-radius:99px;background:var(--surface-2);color:var(--muted)}
.count.err{background:var(--err-bg);color:var(--err)}
.pbody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}

.tscroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px}
th{font-weight:500;color:var(--muted);text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:hover td{background:var(--surface-2)}
td.r,th.r{text-align:right;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tfoot td{font-weight:600;border-top:1.5px solid var(--ink);border-bottom:0}
.grp th{text-align:center;border-bottom:0;padding-bottom:0}

.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap}
.pill.erro{background:var(--err-bg);color:var(--err)}
.pill.alerta{background:var(--warn-bg);color:var(--warn)}
.pill.info{background:var(--info-bg);color:var(--info)}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.S,.pill.E{background:var(--surface-2);color:var(--ink-2)}
.tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.msg{max-width:60ch}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 11px;font-size:12.5px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.check{display:flex;gap:7px;align-items:center;font-size:13px;color:var(--muted);cursor:pointer}
td .seg button{font-size:12px;padding:4px 9px;white-space:nowrap}

/* Escritório */
.office{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px}
.office .card{padding:18px;display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12px;color:var(--muted)}
.field input,.field textarea,.field select{border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:8px 10px;width:100%}
.field textarea{font-family:var(--f-mono);font-size:12px;min-height:130px;resize:vertical}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row > .field{flex:1;min-width:160px}
.drop{border:1.5px dashed var(--line);border-radius:12px;padding:22px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;cursor:pointer;background:var(--bg)}
.drop.over{border-color:var(--s1);background:var(--info-bg)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stat{background:var(--bg);border-radius:10px;padding:10px}
.stat .v{font-family:var(--f-display);font-size:20px;font-weight:600}
.stat .k{font-size:11.5px;color:var(--muted)}
.copy{display:flex;gap:8px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:6px 6px 6px 10px}
.copy code{font-family:var(--f-mono);font-size:12px;overflow-wrap:anywhere;flex:1;min-width:0}
details summary{cursor:pointer;font-weight:600}
.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}

/* Telas de entrada */
.gate{max-width:440px;margin:6vh auto 0;width:100%;padding:28px;display:flex;flex-direction:column;gap:16px}
.gate h1{font-size:30px}
.empresas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.emp{padding:16px;display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer;border:1px solid var(--line)}
.emp:hover{border-color:var(--muted)}
.empty{padding:40px 16px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center}
.empty h2{color:var(--ink)}
.legal{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;line-height:1.6;margin:0}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom, 0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:13px;z-index:20;max-width:calc(100% - 32px);box-shadow:0 8px 24px rgba(0,0,0,.2)}

@media (max-width:960px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.office{grid-template-columns:1fr}}
@media (max-width:520px){.tabs{flex-wrap:wrap;padding:8px 8px 0}.tabs button{padding:8px 9px 9px}.kpis{grid-template-columns:1fr}h1{font-size:29px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.search{width:100%}.top > div:last-child{width:100%}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Visualização da nota */
.ver{position:fixed;inset:0;z-index:30;background:rgba(10,14,20,.5);overflow:auto;padding:calc(20px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) calc(20px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px))}
.ver .doc{max-width:1120px;margin:0 auto;background:var(--surface);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ver-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;position:sticky;top:-22px;background:var(--surface);padding:6px 0;z-index:1}
.ver-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}
.ver-head .r{text-align:right}
.blocos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.bloco{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}
.issue{font-size:12.5px;padding:6px 10px;border-radius:8px;margin-top:4px}
.issue.erro{background:var(--err-bg);color:var(--err)}
.issue.alerta{background:var(--warn-bg);color:var(--warn)}
.issue.info{background:var(--info-bg);color:var(--info)}
table.itens tr.tem-erro td{background:var(--err-bg)}
table.itens tr.tem-alerta td{background:var(--warn-bg)}
@media print{
  body:not(.imprimindo) > .wrap, #toast, .no-print{display:none!important}
  body.imprimindo{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.imprimindo .nav, body.imprimindo .search, body.imprimindo .banner, body.imprimindo #office, body.imprimindo .periods, body.imprimindo .toolbar, body.imprimindo .legal, body.imprimindo details,
  body.imprimindo .tabs [aria-selected="false"], body.imprimindo .pbody .seg button[aria-pressed="false"], body.imprimindo [data-ac], body.imprimindo [data-desfazer], body.imprimindo [data-act]{display:none!important}
  body.imprimindo .wrap{max-width:none;padding:0}
  body.imprimindo .card{box-shadow:none;break-inside:auto}
  body.imprimindo .tscroll{overflow:visible}
  body.imprimindo table{font-size:9.5px}
  body.imprimindo tr{break-inside:avoid}
  body.imprimindo .kpis, body.imprimindo .mov, body.imprimindo .chart-card{break-inside:avoid}
  body.imprimindo .chart svg{min-width:0}
  @page{size:A4 landscape;margin:10mm}
  .ver{position:static;background:none;padding:0;overflow:visible}
  .ver .doc{box-shadow:none;padding:0;max-width:none}
}
.toolbar .grow{flex:1;min-width:200px}
table.cmp tr.tot td{border-bottom:2px solid var(--line);background:var(--surface-2)}

/* Abas na vertical em telas largas */
@media (min-width:1300px){
  .wrap:has(.painel-abas){max-width:1520px}
  .painel-abas{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:start}
  .painel-abas .tabs{flex-direction:column;gap:2px;padding:12px 10px;border-bottom:0;border-right:1px solid var(--line);position:sticky;top:12px;overflow:visible;align-self:start}
  .painel-abas .tabs button{justify-content:space-between;border-bottom:0;border-radius:8px;padding:10px 10px;text-align:left;width:100%;white-space:normal;line-height:1.25}
  .painel-abas .tabs button .count{flex-shrink:0;white-space:nowrap}
  .painel-abas .tabs button:hover{background:var(--surface-2);color:var(--ink)}
  .painel-abas .tabs button[aria-selected="true"]{background:var(--surface-2);color:var(--ink);box-shadow:inset 3px 0 0 var(--s1)}
  .painel-abas .pbody{min-width:0}
}
@media (min-width:1500px){ .painel-abas{grid-template-columns:224px minmax(0,1fr)} }
@media (min-width:1300px) and (max-width:1499px){
  .painel-abas .pbody{padding:14px 14px 16px}
  .painel-abas th, .painel-abas td{padding-left:7px;padding-right:7px}
}
@media print{ .painel-abas{display:block} .painel-abas .tabs{border-right:0;position:static} }
td.errcell{background:var(--err-bg)}
.bloco.cls b{font-size:14px}
.kpi-simples{grid-column:span 3}
@media (max-width:960px){.kpi-simples{grid-column:span 2}}
@media (max-width:520px){.kpi-simples{grid-column:auto}}
.kpi-tit{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:-8px}
.kpis-corr .card{background:var(--surface-2)}

/* Celular */
@media (max-width:640px){
  .mov{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mov > div + div{border-top:0;border-left:0}
  .mov > div:nth-child(n+3){border-top:1px solid var(--line)}
  .mov > div:nth-child(even){border-left:1px solid var(--line)}
  .mov > div{padding:10px 12px}
  .mov b{font-size:17px}
  .tabs{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .chart svg{min-width:0}
  .kpi .big{font-size:24px}
  .ver{padding:8px}
  .ver .doc{padding:14px;gap:12px}
  .ver-head .r{text-align:left}
  .ver-top{top:-14px}
}

/* Faixa do topo (marca + cabeçalho + resumo) */
.faixa{position:relative;background:radial-gradient(1200px 380px at 85% -40%,var(--hero-2),transparent 70%),var(--hero);color:var(--hero-ink);
  margin:-20px calc(50% - 50vw) 0;padding:18px calc(50vw - 50% + 0px) 30px;display:flex;flex-direction:column;gap:22px}
.faixa::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;opacity:.85;
  background:repeating-linear-gradient(90deg,var(--ciano-vivo) 0 2px,transparent 2px 4px,var(--ciano-vivo) 4px 5px,transparent 5px 9px,var(--ciano-vivo) 9px 12px,transparent 12px 14px,var(--ciano-vivo) 14px 15px,transparent 15px 19px)}
.faixa .small,.faixa .sub{color:var(--hero-muted)}
.faixa .sub b{color:var(--hero-ink)}
.faixa h1{color:var(--hero-ink)}
.faixa .btn{background:transparent;border-color:var(--hero-line);color:var(--hero-ink)}
.faixa .btn:hover{background:rgba(255,255,255,.07)}
.faixa .btn.primary,.faixa .btn.claro{background:var(--ciano-vivo);border-color:var(--ciano-vivo);color:#06202a}
.faixa .btn.primary:hover,.faixa .btn.claro:hover{background:#7fe3ee}
.faixa .btn.ghost{border-color:transparent}
.faixa .seg{background:rgba(255,255,255,.07)}
.faixa .seg button{color:var(--hero-muted)}
.faixa .seg button[aria-pressed="true"]{background:var(--hero-ink);color:var(--hero)}
.faixa .search{background:rgba(255,255,255,.07);border-color:var(--hero-line);color:var(--hero-muted);box-shadow:none}
.faixa .search input{color:var(--hero-ink)}
.faixa .search input::placeholder{color:var(--hero-muted)}
.faixa .top{align-items:flex-end}
.veredito{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--hero-line);padding-top:16px}
.veredito:empty{display:none}
.veredito p{margin:0;max-width:78ch;font-size:15.5px;line-height:1.55;color:var(--hero-ink)}
.faixa.alta{padding-bottom:120px}
.faixa-login{max-width:620px}
.faixa-login h1{font-size:40px}
.faixa-login p{margin:0;color:var(--hero-muted);font-size:15.5px;max-width:52ch}
.gate{margin-top:-96px!important;position:relative;z-index:1}
.gate h2{font-size:22px}
.kpi .big,.mov b{font-family:var(--f-display);font-weight:600;letter-spacing:-.025em}
.card{border-color:var(--line)}
.pcard[aria-pressed="true"]{background:var(--hero);border-color:var(--hero);color:var(--hero-ink);box-shadow:inset 0 -3px 0 var(--ciano-vivo)}
.painel-abas .tabs button[aria-selected="true"]{box-shadow:inset 3px 0 0 var(--ciano)}
.tabs button[aria-selected="true"]{border-bottom-color:var(--ciano)}
.kpis-corr .card{background:linear-gradient(180deg,color-mix(in srgb,var(--ciano-vivo) 14%,var(--surface)),var(--surface) 70%);border:1px solid color-mix(in srgb,var(--ciano) 55%,var(--line));box-shadow:0 8px 22px -14px color-mix(in srgb,var(--ciano) 70%,transparent)}
.kpis-corr .kpi .badge{background:var(--ciano);color:var(--accent-ink)}
.kpis-corr .kpi dl{border-top-color:color-mix(in srgb,var(--ciano) 35%,var(--line))}
.kpi-tit-corr > .eyebrow{color:var(--ciano)}
.kpi-tit-corr .chip[aria-pressed="true"]{background:var(--ciano);border-color:var(--ciano);color:var(--accent-ink)}
@media (max-width:640px){
  .faixa{padding-bottom:24px;gap:16px}
  .faixa h1{font-size:26px}
  .faixa-login h1{font-size:30px}
  .veredito p{font-size:14.5px}
  .brand-t span{display:none}
}
@media print{ .faixa{background:none;color:var(--ink);margin:0;padding:0} .faixa::after{display:none} .faixa h1,.faixa .sub,.veredito p{color:var(--ink)} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;scroll-behavior:auto!important} }
.pcard[aria-pressed="true"] .d,.pcard[aria-pressed="true"] .m{color:var(--hero-muted);opacity:1}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pcard[aria-pressed="true"]{background:var(--hero-2);border-color:var(--ciano)}}
:root[data-theme="dark"] .pcard[aria-pressed="true"]{background:var(--hero-2);border-color:var(--ciano)}
.pgroup > .eyebrow{text-transform:capitalize}
th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}
.btn.tema{padding:8px 9px}
.banner.demo{background:color-mix(in srgb,var(--ciano-vivo) 16%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--ciano) 45%,var(--line))}
.banner.demo .btn.primary{background:var(--ciano);border-color:var(--ciano);color:var(--accent-ink)}
@media (max-width:640px){.banner.demo .grow{flex-basis:100%}.banner.demo .btn{flex:1;justify-content:center}}
.grp-prod td{background:var(--surface-2);border-top:1px solid var(--line);padding:9px 10px}
.grp-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
tbody tr.grp-prod:hover td{background:var(--surface-2)}

/* Passo a passo */
.tour{position:fixed;inset:0;z-index:40}
.tour-foco{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px rgba(8,14,30,.62),0 0 0 2px var(--ciano-vivo);transition:all .25s ease;pointer-events:none}
.tour-card{position:fixed;background:var(--surface);color:var(--ink);border-radius:16px;padding:18px 18px 14px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;transition:top .25s ease,left .25s ease}
.tour-card h3{font-family:var(--f-display);font-size:17px;letter-spacing:-.01em}
.tour-card p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.tour-passo{font-size:12px;color:var(--ciano);font-weight:600}
.tour-pontos{display:flex;gap:5px;margin-top:4px}
.tour-pontos i{width:6px;height:6px;border-radius:50%;background:var(--line)}
.tour-pontos i.on{background:var(--ciano);width:16px;border-radius:4px}
.tour-acoes{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.sel-forn{max-width:260px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:5px 8px;font-size:13px}
@media (prefers-reduced-motion:reduce){.tour-foco,.tour-card{transition:none}}
@media print{.tour{display:none}}
.selo-rev{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding:2px 9px;border-radius:999px;border:1px solid rgba(63,211,227,.45);color:var(--hero-ink);font-size:12px;white-space:nowrap;vertical-align:middle}
.selo-rev .ico{width:14px;height:14px;color:#3fd3e3}
@media (max-width:720px){.selo-rev{display:flex;width:max-content;max-width:100%;white-space:normal;margin:6px 0 0}}
@media print{.selo-rev{border-color:#999;color:#333}.selo-rev .ico{color:#333}}
/* demo: cartão do valor encontrado */
.achado{display:grid;grid-template-columns:minmax(220px,1.1fr) 2fr;gap:18px 26px;padding:22px 24px;border:1px solid color-mix(in srgb,var(--ciano) 40%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--ciano-vivo) 12%,var(--surface)),var(--surface) 60%)}
.ach-main p{margin:4px 0 0;color:var(--muted)}
.ach-big{font-family:var(--f-display);font-size:clamp(34px,5vw,50px);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin-top:6px;color:var(--ink)}
.ach-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ach-c{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.ach-c b{font-size:20px;font-family:var(--f-display)}
.ach-c.favor b{color:var(--ok)} .ach-c.contra b{color:var(--err)}
.ach-c .link{align-self:flex-start;margin-top:auto}
.ach-nota{grid-column:1/-1;margin:-6px 0 0}
.ach-cta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line)}
.ach-cta>span{font-weight:600}
.ach-cta .btn.primary{background:var(--ciano);border-color:var(--ciano);color:var(--accent-ink)}
@media (max-width:860px){.achado{grid-template-columns:1fr;padding:18px}.ach-cols{grid-template-columns:1fr}.ach-cta .btn,.ach-cta .row{flex:1}.ach-cta .row .btn{justify-content:center}}
.demo-ramo{display:inline-flex;margin-left:10px;vertical-align:middle}
@media (max-width:640px){.demo-ramo{display:flex;margin:8px 0 0}}
/* teste grátis */
.teste-card{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:22px;padding:26px}
.teste-passo{display:flex;gap:14px;align-items:flex-start}
.teste-passo h2{margin:0;font-size:18px}
.teste-n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--ciano);color:var(--accent-ink)}
.teste-passo .drop{margin-top:10px;padding:30px}
.teste-priv{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--ok-bg);color:var(--ink);font-size:14px}
.teste-priv .ico{flex:none;margin-top:2px;color:var(--ok)}
.mais-teste td{background:color-mix(in srgb,var(--ciano-vivo) 10%,var(--surface))}
.mais-teste-c{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;padding:6px 2px}
.mais-teste-c>div:first-child{max-width:560px}
@media print{.achado .ach-cta{display:none}}
/* DIFAL */
.sec-tit{font-size:17px;margin:22px 0 8px}
.difal-kpis{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 12px}
.difal-kpis .kpi{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:220px;flex:1}
.difal-kpis .kpi b{font-family:var(--f-display);font-size:22px}
.difal-sel{max-width:260px;font-size:13px}
.difal-det{margin:12px 0}
.difal-det>summary{cursor:pointer;font-weight:600;padding:6px 0}
.sim-difal{margin-top:22px;padding:18px 20px}
.sim-campos{gap:12px;flex-wrap:wrap;align-items:flex-end}
.sim-campos .field{min-width:160px;flex:1}
.sim-res{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin:14px 0 6px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--ciano-vivo) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--ciano) 35%,var(--line))}
.sim-res b{display:block;font-family:var(--f-display);font-size:26px}
.sim-res>.small{flex:1;min-width:240px}
.aliq-uf input{width:80px}
@media (max-width:640px){.difal-sel{max-width:100%}}
.btn.sm{padding:4px 10px;font-size:.85em;border-radius:8px}
