/* ===== Controle de importações USAPARTS ===== */
:root{
  --brand:#EAA836; --brand-ink:#2A2829; --charcoal:#373536;
  --bg:#EFEFEE; --surface:#FFFFFF; --surface-2:#F6F6F5; --surface-3:#ECEBE9;
  --ink:#2A2829; --ink-2:#55524F; --ink-3:#6E6A66;
  --line:#E0DFDD; --line-2:#ECEBE9; --nav:#373536; --nav-ink:#D2CFCB; --nav-active:#FFFFFF;
  --ok:#2C7A4B; --ok-bg:#E3F1E8; --warn:#9A4A0A; --warn-bg:#FCE8D6; --warn-dot:#E0761C;
  --late:#B8322A; --late-bg:#F8E1DE; --info:#1D63A6; --info-bg:#E2EDF8; --neutral:#55524F; --neutral-bg:#ECEBE9;
  /* séries dos gráficos (validadas: faixa de luminosidade, daltonismo e contraste sobre a superfície) */
  --s1:#C9820F; --s2:#2A78D6; --s3:#1BAF7A; --s4:#6250D6;
  --grade:#ECEBE9; --eixo:#6E6A66; --faixa:rgba(44,122,75,.08);
  --ev-etd:#66625E; --ev-eta:#1D63A6; --ev-prev:#8A5A00; --ev-cheg:#2C7A4B; --ev-pag:#7B5EA7;   /* texto: contraste ≥ 4,5:1 */
  --sombra:0 1px 2px rgba(20,18,18,.04),0 2px 8px rgba(20,18,18,.04);
  --raio:12px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#161516; --surface:#222122; --surface-2:#2A2829; --surface-3:#323031; --ink:#EDECEA; --ink-2:#C2BEB9; --ink-3:#9C9893;
    --line:#3A3837; --line-2:#302E2D; --nav:#1E1D1E; --nav-ink:#B5B1AC;
    --ok:#5DBB85; --ok-bg:#16301F; --warn:#F09A4E; --warn-bg:#3B2410; --warn-dot:#F09A4E;
    --late:#EE7A6E; --late-bg:#3D1C1A; --info:#6FA8DD; --info-bg:#15283D; --neutral:#B5B1AC; --neutral-bg:#2E2C2B;
    --s1:#C98500; --s2:#3987E5; --s3:#199E70; --s4:#9085E9;
    --grade:#302E2D; --eixo:#9C9893; --faixa:rgba(93,187,133,.10);
    --ev-etd:#A9A5A0; --ev-eta:#6FA8DD; --ev-prev:#EAA836; --ev-cheg:#5DBB85; --ev-pag:#B39DDB;
    --sombra:none; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#161516; --surface:#222122; --surface-2:#2A2829; --surface-3:#323031; --ink:#EDECEA; --ink-2:#C2BEB9; --ink-3:#9C9893;
  --line:#3A3837; --line-2:#302E2D; --nav:#1E1D1E; --nav-ink:#B5B1AC;
  --ok:#5DBB85; --ok-bg:#16301F; --warn:#F09A4E; --warn-bg:#3B2410; --warn-dot:#F09A4E;
  --late:#EE7A6E; --late-bg:#3D1C1A; --info:#6FA8DD; --info-bg:#15283D; --neutral:#B5B1AC; --neutral-bg:#2E2C2B;
  --s1:#C98500; --s2:#3987E5; --s3:#199E70; --s4:#9085E9;
  --grade:#302E2D; --eixo:#9C9893; --faixa:rgba(93,187,133,.10);
  --ev-etd:#A9A5A0; --ev-eta:#6FA8DD; --ev-prev:#EAA836; --ev-cheg:#5DBB85; --ev-pag:#B39DDB;
  --sombra:none; color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--ink);font-family:"Archivo","Arial Narrow",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit}
.disp,h1{font-family:"Poppins","Archivo",system-ui,sans-serif}
[hidden]{display:none!important}

/* ===== Estrutura: menu lateral + conteúdo ===== */
.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.nav{background:var(--nav);color:var(--nav-ink);padding:22px 14px 16px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{padding:0 8px}
.brand img{display:block;width:100%;max-width:208px;height:auto}
.brand small{display:block;font-size:12.5px;color:var(--nav-ink);margin-top:8px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.nav button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:14.5px;color:var(--nav-ink)}
.nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.nav button[aria-current="page"]{background:rgba(255,255,255,.1);color:var(--nav-active);font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}
.nav button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.nav .badge{min-width:20px;padding:1px 7px;border-radius:999px;background:var(--brand);color:var(--brand-ink);font-size:11.5px;font-weight:700;text-align:center}
.nav li.novo{margin-top:10px}
.nav li.novo button{justify-content:center;background:var(--brand);color:var(--brand-ink);font-weight:700}
.nav li.novo button:hover{background:#F0B957;color:var(--brand-ink)}
.nav li.sep{height:1px;background:rgba(255,255,255,.08);margin:8px 6px}
.quem{margin-top:auto;padding:12px 10px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13px;display:flex;flex-direction:column;gap:2px}
.quem b{color:#fff;font-weight:600}
.quem .acoes-quem{display:flex;gap:14px;margin-top:6px}
.quem .sair{all:unset;cursor:pointer;color:var(--brand);font-size:12.5px;font-weight:600}
.quem .sair:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.nav .foot{font-size:12px;padding:0 10px;line-height:1.5;opacity:.85}

main{padding:0 32px 56px;min-width:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;margin-bottom:6px;background:var(--bg)}
.gbusca{position:relative;flex:1 1 340px;max-width:560px}
.gbusca label{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.gbusca label:focus-within{border-color:var(--info);box-shadow:0 0 0 3px var(--info-bg)}
.gbusca input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14.5px;color:var(--ink)}
.gbusca kbd{font:inherit;font-size:11.5px;color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.gbusca .res{position:absolute;left:0;right:0;top:48px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14);max-height:420px;overflow:auto;padding:6px}
.gbusca .res button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:8px 10px;border-radius:7px;font-size:14px}
.gbusca .res button:hover,.gbusca .res button.on{background:var(--surface-2)}
.gbusca .res .t{font-size:11.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.4px;padding:8px 10px 2px}
.gbusca .res .vazio{padding:12px;color:var(--ink-2);font-size:14px}
.dolarchip{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.dolarchip .l{font-size:12px;color:var(--ink-3)}
.dolarchip .v{font-family:"Poppins",sans-serif;font-weight:700;font-size:17px}
.dolarchip .aviso{font-size:12px;color:var(--warn);font-weight:600}

/* ===== Cabeçalho da página e filtros ===== */
.top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:6px 0 20px}
h1{margin:0;font-size:30px;font-weight:700;line-height:1.1}
.sub{color:var(--ink-2);margin-top:6px;font-size:14px;max-width:820px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.filters label{display:flex;flex-direction:column;font-size:12.5px;color:var(--ink-3);gap:4px}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}
.seg button{all:unset;cursor:pointer;padding:6px 12px;border-radius:7px;font-size:13.5px;color:var(--ink-2);white-space:nowrap}
.seg button:hover{background:var(--surface-2)}
.seg button[aria-pressed="true"]{background:var(--charcoal);color:#fff;font-weight:600}
.seg button:focus-visible{outline:2px solid var(--info);outline-offset:1px}
select,input[type=search]{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px;min-width:150px;height:38px}
select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--info);outline-offset:1px}
.filters select.on{border-color:var(--charcoal);box-shadow:inset 0 -2px 0 var(--brand)}
.filters .clear{all:unset;cursor:pointer;align-self:center;font-size:13.5px;font-weight:600;color:var(--info);padding:6px 2px}

/* ===== Painéis ===== */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--raio);box-shadow:var(--sombra);min-width:0}
.panel h2{margin:0;font-size:16.5px;font-weight:700}
.panel .ph{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:16px 20px 10px}
.panel .ph p{margin:0;color:var(--ink-3);font-size:13px}
.panel h2 .n{color:var(--ink-3);font-weight:600}
.linkbtn{all:unset;cursor:pointer;color:var(--info);font-size:13.5px;font-weight:600}
.linkbtn:hover{text-decoration:underline}
.linkbtn:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:3px}
.mb{margin-bottom:18px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}
.cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:18px}
.stack{display:flex;flex-direction:column;gap:18px}
.note{color:var(--ink-3);font-size:13px;padding:0 20px 16px;margin:0}
.empty{padding:18px 20px 22px;color:var(--ink-2);font-size:14px;margin:0}
.pos{color:var(--late)} .neg{color:var(--ok)}
.what{color:var(--ink-2);font-size:13.5px;line-height:1.4}
.what b{color:var(--ink);font-weight:600}
.proc{font-weight:700;font-stretch:88%;font-size:15px;white-space:nowrap}
.exp{color:var(--ink-2);margin-left:6px;font-size:14px}

/* ===== Indicadores (KPI) ===== */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--raio);box-shadow:var(--sombra);padding:16px 18px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.kpi .l{font-size:13px;color:var(--ink-2);font-weight:600}
.kpi .v{font-family:"Poppins",sans-serif;font-weight:700;font-size:25px;line-height:1.2;margin-top:2px}
.kpi .v.late{color:var(--late)} .kpi .v.ok{color:var(--ok)}
.kpi .d{font-size:12.5px;color:var(--ink-3)}
.kpi .d .linkbtn{font-size:12.5px}
.kpi .spark{width:100%;height:30px;margin-top:6px}
.spark .linha{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.spark .area{opacity:.12;stroke:none}
.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:18px}
.fig{padding:14px 20px}
.fig + .fig{border-left:1px solid var(--line)}
.fig .v{font-family:"Poppins",sans-serif;font-size:22px;font-weight:700;line-height:1.2}
.fig .l{color:var(--ink-2);font-size:13px;margin-top:3px}
.fig .d{color:var(--ink-3);font-size:12.5px}
.fig .v.late{color:var(--late)} .fig .v.ok{color:var(--ok)}

/* ===== Etapas (Visão geral) ===== */
.etapas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:2px 20px 20px}
.etapa{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:9px;background:var(--surface-2);padding:12px 12px 10px;display:flex;flex-direction:column;gap:1px;min-width:0}
.etapa:hover{border-color:var(--ink-3)}
.etapa:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.etapa.has{border-top-color:var(--charcoal)} .etapa.warn{border-top-color:var(--warn-dot)} .etapa.late{border-top-color:var(--late)}
:root[data-theme="dark"] .etapa.has{border-top-color:var(--ink-2)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .etapa.has{border-top-color:var(--ink-2)} }
.etapa .count{font-family:"Poppins",sans-serif;font-size:30px;font-weight:700;line-height:1.1}
.etapa.empty .count{color:var(--ink-3)}
.etapa .name{font-weight:600;font-size:13.5px;line-height:1.25}
.etapa .money{color:var(--ink-2);font-size:12.5px;margin-top:2px}
.etapa .flag{margin-top:4px;font-size:12.5px;font-weight:600;min-height:18px}
.flag.late{color:var(--late)} .flag.warn{color:var(--warn)}
.closed-note{margin:0 20px;padding:12px 0 16px;border-top:1px dashed var(--line);color:var(--ink-2);font-size:13.5px;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.closed-note b{color:var(--ink)}
.banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:10px;background:var(--info-bg);color:var(--ink);font-size:14px;margin-bottom:18px;border:1px solid transparent}
.banner b{color:var(--info)}

/* ===== Listas ===== */
.alerts,.arrivals{list-style:none;margin:0;padding:0 8px 10px}
.alerts li,.arrivals li{border-top:1px solid var(--line-2)}
.alerts li:first-child,.arrivals li:first-child,.arrivals li.wk + li{border-top:0}
.rowbtn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 12px;border-radius:8px}
.alerts .rowbtn{align-items:start}
.rowbtn:hover{background:var(--surface-2)}
.rowbtn:focus-visible{outline:2px solid var(--info);outline-offset:-2px}
.alerts .why{display:block;color:var(--ink-3);font-size:12.5px;margin-top:2px}
.arrivals .wk{padding:12px 12px 4px;color:var(--ink-3);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border-top:0;display:flex;justify-content:space-between;gap:12px}
.arrivals .wk b{color:var(--ink);font-weight:700}
.arr{grid-template-columns:58px minmax(0,1fr) auto}
.date{text-align:center;line-height:1.05}
.date b{display:block;font-family:"Poppins",sans-serif;font-size:17px;font-weight:700}
.date span{font-size:11.5px;color:var(--ink-3)}
.load{color:var(--ink-2);font-size:13px;text-align:right;white-space:nowrap}
.arr .exp{font-weight:500}
.checks ul{margin:0;padding:0 20px 16px 38px;color:var(--ink-2);font-size:14px}
.checks li{margin:4px 0}
.checks li b{color:var(--ink)}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.pill.late{color:var(--late);background:var(--late-bg)}
.pill.warn{color:var(--warn);background:var(--warn-bg)}
.pill.ok{color:var(--ok);background:var(--ok-bg)}
.pill.neutral{color:var(--neutral);background:var(--neutral-bg)}
.pill.info{color:var(--info);background:var(--info-bg)}

/* ===== Barra de ferramentas, chips e botões ===== */
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.toolbar .dir{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toolbar input[type=search]{min-width:240px}
.chip{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;color:var(--ink-2);background:var(--surface)}
.chip:hover{border-color:var(--ink-3)}
.chip[aria-pressed="true"]{background:var(--charcoal);color:#fff;border-color:var(--charcoal);font-weight:600;box-shadow:inset 0 -2px 0 var(--brand)}
.chip:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.chip .n{opacity:.7;margin-left:4px}
.btn,.btn2{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:14px;padding:9px 16px;border-radius:8px;white-space:nowrap}
.btn{background:var(--brand);color:var(--brand-ink)}
.btn:hover{background:#F0B957}
.btn2{border:1px solid var(--line);color:var(--ink);background:var(--surface);font-weight:600}
.btn2:hover{background:var(--surface-2)}
.btn:focus-visible,.btn2:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.btn.sm,.btn2.sm{padding:6px 12px;font-size:13px}
.btn[disabled]{opacity:.6;cursor:default}
.mini{all:unset;box-sizing:border-box;cursor:pointer;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);background:var(--surface);white-space:nowrap}
.mini:hover{border-color:var(--brand);color:var(--ink)}
.mini:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.mini.ok{border-color:var(--ok);color:var(--ok)}
.fbtns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}

/* ===== Tabelas ===== */
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:600;color:var(--ink-3);font-size:12.5px;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}
td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr[data-proc],tbody tr[data-exp],tbody tr[data-acao]{cursor:pointer}
tbody tr:hover{background:var(--surface-2)}
tbody tr:focus-visible{outline:2px solid var(--info);outline-offset:-2px}
td.num,th.num{text-align:right}
td .next{font-weight:600} td .nd{color:var(--ink-3);font-size:12.5px}
td .rap{margin-top:5px} td .rap:empty{display:none}
td.muted{color:var(--ink-3)}
td .sub{display:block;color:var(--ink-3);font-size:12.5px;margin:0}
td.acoes{white-space:nowrap;text-align:right}
.stagecell{color:var(--ink-2)}
tfoot td{font-weight:700;border-top:1px solid var(--line);border-bottom:0}
.sortbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.sortbtn:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:3px}
.sortbtn .arr{font-size:10px;opacity:0}
th:hover .sortbtn .arr{opacity:.4}
th[aria-sort="ascending"] .arr,th[aria-sort="descending"] .arr{opacity:1;color:var(--ink)}
th[aria-sort="ascending"],th[aria-sort="descending"]{color:var(--ink)}
th.num .sortbtn{flex-direction:row-reverse}
.inbar{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.inbar i{display:block;height:6px;border-radius:3px;background:var(--s1);min-width:2px}
.mtable td,.mtable th{padding:8px 14px}
.mtable tbody tr{cursor:default}
.more{display:block;margin:10px auto 16px}
.colsel{position:relative}
.colsel .pop{position:absolute;right:0;top:40px;z-index:15;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14);padding:10px 12px;min-width:220px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.colsel .pop label{display:flex;gap:8px;align-items:center;cursor:pointer}
.obs{display:inline-block;font-family:"Archivo",sans-serif;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--brand);color:var(--brand-ink);margin-left:6px;vertical-align:2px;cursor:help}

/* ===== Gráficos ===== */
.grafico{padding:6px 16px 0}
.grafico svg{display:block;width:100%;height:auto;overflow:visible}
.grafico .grade{stroke:var(--grade);stroke-width:1}
.grafico .base{stroke:var(--line);stroke-width:1}
.grafico .eixo{fill:var(--eixo);font-family:"Archivo",sans-serif;font-size:11px}
.grafico .rotulo{fill:var(--ink);font-family:"Archivo",sans-serif;font-size:12px;font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.grafico .faixa{fill:var(--faixa)}
.grafico .alvo{fill:transparent;cursor:crosshair}
.grafico .alvo:hover{fill:var(--ink);fill-opacity:.04}
.grafico .linha{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.grafico .ponto{stroke:var(--surface);stroke-width:2}
.grafico .cruzeta{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3;opacity:0;pointer-events:none}
.grafico .alvo-linha:hover .cruzeta{opacity:1}
.grafico .alvo-linha .alvo:hover{fill:transparent}
.s1{fill:var(--s1);stroke:var(--s1)} .s2{fill:var(--s2);stroke:var(--s2)} .s3{fill:var(--s3);stroke:var(--s3)} .s4{fill:var(--s4);stroke:var(--s4)}
.grafico path.s1,.grafico path.s2,.grafico path.s3,.grafico path.s4,.grafico rect.s1,.grafico rect.s2,.grafico rect.s3,.grafico rect.s4{stroke:none}
.grafico path.linha{fill:none}
.grafico path.linha.s1{stroke:var(--s1)} .grafico path.linha.s2{stroke:var(--s2)} .grafico path.linha.s3{stroke:var(--s3)} .grafico path.linha.s4{stroke:var(--s4)}
.grafico circle.ponto.s1{fill:var(--s1)} .grafico circle.ponto.s2{fill:var(--s2)} .grafico circle.ponto.s3{fill:var(--s3)} .grafico circle.ponto.s4{fill:var(--s4)}
.legenda{display:flex;gap:16px;flex-wrap:wrap;padding:8px 20px 4px;font-size:12.5px;color:var(--ink-2)}
.legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.legenda i.s1{background:var(--s1)} .legenda i.s2{background:var(--s2)} .legenda i.s3{background:var(--s3)} .legenda i.s4{background:var(--s4)}
.vertabela{padding:4px 20px 14px;font-size:13px}
.vertabela summary{cursor:pointer;color:var(--info);font-weight:600;width:max-content}
.vertabela table{margin-top:8px}
.tip{position:fixed;z-index:80;pointer-events:none;background:var(--charcoal);color:#fff;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.45;box-shadow:0 6px 20px rgba(0,0,0,.2);max-width:300px;display:flex;flex-direction:column}
.tip b{font-weight:700;margin-bottom:2px}
.hbars{list-style:none;margin:0;padding:4px 20px 16px;display:flex;flex-direction:column;gap:10px}
.hbars li{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px}
.hbars .lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbars .tr{height:10px;background:var(--surface-3);border-radius:5px;overflow:hidden}
.hbars .tr i{display:block;height:100%;background:var(--s1);border-radius:5px}
.hbars .vl{font-weight:600;white-space:nowrap;text-align:right}
.hbars .vl small{font-weight:400;color:var(--ink-3);margin-left:6px}

/* ===== Financeiro ===== */
.varbox{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.varbox > div{padding:4px 20px 18px}
.varbox > div + div{border-left:1px solid var(--line)}
.vtri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}
.vtri .v{font-family:"Poppins",sans-serif;font-size:20px;font-weight:700;line-height:1.2}
.vtri .l{color:var(--ink-2);font-size:13px;margin-top:2px} .vtri .d{color:var(--ink-3);font-size:12.5px}
.split{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden;margin:16px 0 6px;background:var(--surface-3)}
.split i{display:block;height:100%} .split .a{background:var(--late)} .split .b{background:var(--ok)}
.splitlbl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3)}
.toplist{list-style:none;margin:6px 0 0;padding:0;font-size:14px}
.toplist li button{all:unset;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;width:100%;box-sizing:border-box;padding:6px;border-radius:6px}
.toplist li button:hover{background:var(--surface-2)}
.toplist .t{color:var(--ink-3);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin:10px 0 2px}
.pay4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pay4 > div{padding:12px 20px}
.pay4 > div + div{border-left:1px solid var(--line)}
.pay4 .v{font-family:"Poppins",sans-serif;font-size:20px;font-weight:700;line-height:1.2}
.pay4 .l{color:var(--ink-2);font-size:13px;margin-top:2px} .pay4 .d{color:var(--ink-3);font-size:12.5px}
.pay4 .v.late{color:var(--late)}
.agenda .amt{text-align:right;white-space:nowrap}
.agenda .amt b{display:block;font-size:15px}
.agenda .amt .pill{margin-top:4px}
.amt .brl{color:var(--ink-2)}
.payrows{list-style:none;margin:0;padding:0}
.payrows li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:7px 0;border-top:1px dashed var(--line);font-size:14px}
.payrows li:first-child{border-top:0}
.payrows .why{display:block;color:var(--ink-3);font-size:12.5px}

/* ===== Detalhe (gaveta lateral) ===== */
.scrim{position:fixed;inset:0;z-index:40;background:rgba(10,12,16,.45);opacity:0;pointer-events:none;transition:opacity .18s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;z-index:41;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--surface);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .22s ease;overflow-y:auto;padding:calc(22px + env(safe-area-inset-top,0px)) 26px calc(30px + env(safe-area-inset-bottom,0px))}
.drawer.on{transform:none}
.drawer h2{margin:0;font-family:"Poppins",sans-serif;font-size:26px;font-weight:700;line-height:1.15;padding-right:70px}
.drawer .who{color:var(--ink-2);margin-top:4px}
.drawer .close{all:unset;cursor:pointer;position:absolute;right:18px;top:calc(18px + env(safe-area-inset-top,0px));font-size:14px;color:var(--info);font-weight:600;padding:4px 6px}
.drawer .close:focus-visible{outline:2px solid var(--info);outline-offset:3px}
.drawer h3{font-size:12px;margin:24px 0 10px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:5px 0;position:relative}
.tl .dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);background:var(--surface);z-index:1}
.tl li.done .dot{background:var(--ok);border-color:var(--ok)}
.tl li.plan .dot{border-color:var(--info)}
.tl li.late .dot{border-color:var(--late);background:var(--late-bg)}
.tl .lbl{font-size:14px}
.tl li:not(.done) .lbl{color:var(--ink-2)}
.tl .dt{font-size:13.5px;color:var(--ink-2)}
.tl.despacho li{padding:3px 0}
.tl.despacho .lbl{font-size:13.5px}
.paglista{list-style:none;margin:0;padding:0}
.paglista li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px;align-items:center;padding:8px 0;border-top:1px dashed var(--line);font-size:14px}
.paglista li:first-child{border-top:0}
.paglista .pl-v{text-align:right;white-space:nowrap}
.paglista .sub{display:block;color:var(--ink-3);font-size:12.5px;font-weight:400}
.paglista .pl-tot{border-top:1px solid var(--line-2,var(--line))}
.pl-nota{margin:6px 0 0;font-size:13px} .pl-nota b{white-space:nowrap}
.kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;font-size:14px;margin:0}
.kv dt{color:var(--ink-2)} .kv dd{margin:0;text-align:right;font-weight:600}
.obsbox{margin-top:14px;padding:12px 14px;border-radius:8px;background:var(--surface-2);font-size:14px;box-shadow:inset 3px 0 0 var(--brand)}
.obsbox p{margin:4px 0 0;white-space:pre-wrap}
.dacoes{margin:14px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hist{list-style:none;margin:0;padding:0;font-size:13.5px}
.hist li{padding:6px 0;border-top:1px dashed var(--line);color:var(--ink-2)}
.hist li:first-child{border-top:0}
.hist .hq{display:block;font-size:12px;color:var(--ink-3)}
.hist b{color:var(--ink);font-weight:600}
.hist s{color:var(--ink-3)}

/* ===== Formulários ===== */
.formwrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.pform{display:flex;flex-direction:column;gap:14px;min-width:0}
.fsec > summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px}
.fsec > summary::-webkit-details-marker{display:none}
.fsec > summary h2{font-size:16.5px}
.fsec > summary .resumo{color:var(--ink-3);font-size:13px;text-align:right}
.fsec > summary::after{content:"▾";color:var(--ink-3);font-size:13px;transition:transform .15s}
.fsec:not([open]) > summary::after{transform:rotate(-90deg)}
.fsec > summary:focus-visible{outline:2px solid var(--info);outline-offset:-2px;border-radius:var(--raio)}
.fsec.atual{box-shadow:inset 4px 0 0 var(--brand),var(--sombra)}
.fsec .marca{font-size:11.5px;font-weight:700;color:var(--brand-ink);background:var(--brand);border-radius:999px;padding:2px 8px;margin-left:8px;vertical-align:2px}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;padding:0 20px 20px}
.fld{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink-2);min-width:0}
.fld.largo{grid-column:1/-1}
.fld.chk{flex-direction:row;align-items:center;gap:8px;align-self:end;padding-bottom:8px}
.fld input,.fld select,.fld textarea,.linha input{font:inherit;font-size:14.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0;width:100%;height:auto}
.fld input[readonly]{background:var(--surface-2);color:var(--ink-2)}
.fld.chk input{width:auto}
.fld.num input{text-align:right}
.fld textarea{resize:vertical}
.fld.erro input,.fld.erro select{border-color:var(--late)}
.ferr{font-size:12px;color:var(--late)}
.ferr.dica{color:var(--ink-3)}
.fmsg{color:var(--late);font-size:13.5px;min-height:18px;margin:0}
.calc{position:sticky;top:76px}
.calc .cbody{padding:0 20px 18px}
.calc h3{font-size:12px;margin:16px 0 8px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.calc .payrows li{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
.calc .payrows li .pill{grid-column:2;justify-self:end}
.avisos{margin:0;padding:0 0 0 18px;font-size:13.5px;color:var(--warn)}
.avisos li{margin:4px 0}
.ok-txt{color:var(--ok);margin-top:14px}
.dform{display:flex;flex-direction:column;gap:12px;padding:4px 0}
.panel .dform{padding:4px 20px 20px}
.solta{border:2px dashed var(--line);border-radius:10px;padding:18px;text-align:center;color:var(--ink-2);font-size:14px}
.solta.on{border-color:var(--info);background:var(--info-bg)}
.solta input{display:none}

/* ===== Login ===== */
.login{position:fixed;inset:0;z-index:50;background:var(--bg);display:grid;place-items:center;padding:16px}
.lbox{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.08)}
.lbox .top{background:var(--nav);padding:22px 26px;margin:0;display:block}
.lbox .top img{display:block;width:250px;max-width:100%;height:auto}
.lbox .top small{display:block;color:var(--nav-ink);font-size:13px;margin-top:8px}
.lbox form{padding:22px 26px 26px;display:flex;flex-direction:column;gap:14px}
.lbox label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink-2)}
.lbox input[type=email],.lbox input[type=password]{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px}
.lbox .chk{flex-direction:row;align-items:center;gap:8px}
.lbox .btn{padding:11px}
.lbox .msg{color:var(--late);font-size:13.5px;min-height:18px;margin:0}

/* ===== Calendário ===== */
.cal-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line)}
.cal-head h2{margin:0 6px 0 0;font-size:18px;min-width:150px;text-transform:capitalize}
.navbtn{all:unset;cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:4px 10px;font-size:14px;color:var(--ink-2)}
.navbtn:hover{background:var(--surface-2)}
.navbtn:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.cal-head .grow{flex:1}
.calwrap{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr);gap:18px;align-items:start}
.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calgrid .dow{padding:8px 8px 6px;font-size:12px;color:var(--ink-3);font-weight:600;border-bottom:1px solid var(--line)}
.cday{all:unset;box-sizing:border-box;cursor:pointer;min-height:104px;padding:6px 6px 8px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:3px;min-width:0}
.cday:nth-child(7n+7){border-right:0}
.cday:hover{background:var(--surface-2)}
.cday.fds{background:var(--surface-2)}
.cday.fora .n{opacity:.35}
.cday .n{font-size:13px;font-weight:600;color:var(--ink-2);width:24px;height:24px;display:grid;place-items:center;border-radius:50%}
.cday.hoje .n{background:var(--brand);color:var(--brand-ink)}
.cday.sel{box-shadow:inset 0 0 0 2px var(--charcoal)}
.cday:focus-visible{outline:2px solid var(--info);outline-offset:-2px}
.ev{display:block;font-size:11.5px;line-height:1.3;padding:1px 5px;border-radius:3px;border-left:3px solid;background:var(--surface-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.ev.etd{border-color:var(--ev-etd)} .ev.eta{border-color:var(--ev-eta)} .ev.prev{border-color:var(--ev-prev);border-left-style:dashed} .ev.cheg{border-color:var(--ev-cheg)} .ev.pag{border-color:var(--ev-pag)}
.ev.mais{border:0;background:none;color:var(--ink-3);padding-left:2px}
.evdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.evdot.etd{background:var(--ev-etd)} .evdot.eta{background:var(--ev-eta)} .evdot.prev{background:none;border:2px dashed var(--ev-prev)} .evdot.cheg{background:var(--ev-cheg)} .evdot.pag{background:var(--ev-pag)}
.chip[aria-pressed="false"] .evdot{opacity:.35}
.chip.tipo[aria-pressed="true"]{background:var(--surface);color:var(--ink);border-color:var(--ink-3);box-shadow:none}
.chip.tipo[aria-pressed="false"]{color:var(--ink-3);text-decoration:line-through}
.daylist .tag{display:block;font-size:12px;color:var(--ink-3);font-weight:600}
.recv .pill{margin-left:6px}

/* ===== Avisos rápidos ===== */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;max-width:min(560px,calc(100% - 32px));background:var(--charcoal);color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);border-left:4px solid var(--brand)}
.toast.ok{border-left-color:#5DBB85} .toast.warn{border-left-color:#F09A4E} .toast.late{border-left-color:#EE7A6E}

/* ===== Telas menores ===== */
@media (max-width:1180px){
  .cols,.grid2,.grid3{grid-template-columns:minmax(0,1fr)}
  .kpis,.figures,.pay4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fig:nth-child(3),.pay4 > div:nth-child(3){border-left:0}
  .fig:nth-child(n+3),.pay4 > div:nth-child(n+3){border-top:1px solid var(--line)}
  .etapas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .varbox{grid-template-columns:minmax(0,1fr)} .varbox > div + div{border-left:0;border-top:1px solid var(--line)}
  .formwrap{grid-template-columns:minmax(0,1fr)} .calc{position:static}
  .calwrap{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .app{grid-template-columns:minmax(0,1fr)}
  .nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;overflow:visible}
  .nav ul{flex-direction:row;overflow-x:auto;flex:1 1 100%;order:3;padding-bottom:4px}
  .nav button{white-space:nowrap;padding:8px 10px}
  .nav li.novo{margin-top:0} .nav li.sep{display:none}
  .nav .foot{display:none}
  .brand small{display:none}
  .brand img{width:128px}
  .quem{margin:0 0 0 auto;border:0;padding:0;align-items:flex-end;text-align:right}
  main{padding:0 16px 40px}
  .topbar{position:static}
  .dolarchip{margin-left:0}
  h1{font-size:25px}
  .toolbar .dir{margin-left:0;width:100%}
  .toolbar input[type=search]{flex:1;min-width:0}
}
@media (max-width:700px){
  .kpis{grid-template-columns:minmax(0,1fr)}
  .etapas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .cday{min-height:58px;padding:4px}
  .cday .ev{font-size:0;padding:0;height:6px;border-left-width:0;border-radius:3px}
  .ev.etd{background:var(--ev-etd)} .ev.eta{background:var(--ev-eta)} .ev.prev{background:var(--ev-prev);opacity:.6} .ev.cheg{background:var(--ev-cheg)} .ev.pag{background:var(--ev-pag)} .ev.mais{display:none}
  /* tabelas viram cartões */
  table.cartoes thead{display:none}
  table.cartoes,table.cartoes tbody,table.cartoes tr,table.cartoes td{display:block;width:100%}
  table.cartoes tr{padding:10px 14px;border-bottom:1px solid var(--line)}
  table.cartoes td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  table.cartoes td::before{content:attr(data-l);color:var(--ink-3);font-size:12.5px;text-align:left;flex:none}
  table.cartoes td:first-child{font-size:16px}
  table.cartoes td:first-child::before{content:none}
  table.cartoes tfoot{display:block}
}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important} }
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gbusca input[type=search]{border:0;height:auto;padding:0;min-width:0;background:transparent;box-shadow:none}
.gbusca input[type=search]:focus-visible{outline:0}
.dolarchip .d{font-size:11.5px;color:var(--ink-3);max-width:260px;text-align:right}
@media (max-width:860px){
  .dolarchip{flex-direction:row;align-items:baseline;gap:8px;width:100%}
  .dolarchip .d{display:none}
  .toolbar .dir input[type=search]{flex:1 1 100%}
}

/* ===== Fluxo com a trade, indicadores e comparação ===== */
.alerta{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:13.5px;line-height:1.45;background:var(--info-bg);color:var(--ink)}
.alerta.warn{background:var(--warn-bg)} .alerta.late{background:var(--late-bg)}
.alerta .btn{margin-left:6px}
.nactab{width:100%;border-collapse:collapse;font-size:13px}
.nactab th,.nactab td{padding:6px 4px;border-top:1px dashed var(--line);vertical-align:top}
.nactab thead th{border-top:0;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em}
.nactab tbody th{text-align:left;font-weight:400;color:var(--ink-2)}
.nactab td.num{text-align:right;white-space:nowrap}
.nactab .sub{display:block;color:var(--ink-3);font-size:12px;font-weight:400}
.nactab tr.forte th,.nactab tr.forte td{font-weight:700;color:var(--ink);font-size:14.5px}
.nactab tr.abre{cursor:pointer}
.nactab tr.abre:hover th,.nactab tr.abre:hover td{background:var(--surface-2)}
.nactab tr.abre:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.nacseta{display:inline-block;width:12px;font-size:10px;color:var(--ink-3);transition:transform .15s}
.nactab tr[aria-expanded="true"] .nacseta{transform:rotate(90deg)}
.nactab tr.naci th,.nactab tr.naci td{border-top:0;padding-top:2px;padding-bottom:2px;font-size:12.5px;color:var(--ink-3)}
.nactab tr.naci th{padding-left:20px;font-weight:400}
.nacn{display:inline-block;min-width:16px;padding:0 4px;border-radius:8px;background:var(--surface-2);color:var(--ink-3);font-size:11px;text-align:center}
.nac-nota{margin:6px 0 0;font-size:13px}
.nac-bts{display:flex;flex-wrap:wrap;gap:6px}
.apgrid{margin:0 0 6px;gap:12px}
.apcard{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.apcard .apv{font-family:"Poppins",sans-serif;font-weight:700;font-size:20px}
.apcard .kv{margin:4px 0 0}
.apcard .hbars{margin:0}
.apitens input{width:100%;min-width:0;box-sizing:border-box}
.apitens td{padding:4px 6px}
.apitens .apV{text-align:right}
.mtable tr.escolhida td{background:var(--info-bg)}
.mtable .sub{display:block;color:var(--ink-3);font-size:12px}
.secrec>summary{cursor:pointer;list-style:none}
.secrec>summary::-webkit-details-marker{display:none}
.secrec>summary h3{display:flex;align-items:center;gap:6px}
.secrec>summary h3::before{content:"▸";font-size:11px;transition:transform .15s}
.secrec[open]>summary h3::before{transform:rotate(90deg)}
.secrec>summary .why{display:inline;text-transform:none;letter-spacing:0;font-weight:400}
.dresumo{margin:0 0 6px;font-size:13px}
.dgrupo{border-top:1px solid var(--line);padding:2px 0}
.dgrupo>summary{cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 0;font-size:13.5px;color:var(--ink-2);list-style:none}
.dgrupo>summary::-webkit-details-marker{display:none}
.dgrupo>summary::before{content:"▸";font-size:11px;color:var(--ink-3);transition:transform .15s}
.dgrupo[open]>summary::before{transform:rotate(90deg)}
.dgrupo>summary .pill{margin-left:auto}
.dparcela{margin:6px 0 0 18px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.dlista{list-style:none;margin:0 0 6px;padding:0 0 0 18px}
.drow{padding:4px 6px;border-radius:8px;border:1px dashed transparent}
.drow+.drow{margin-top:2px}
.dhead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;font-size:13.5px}
.drow .payrows{margin:0 0 2px 14px}
.dextras{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px 18px}
.dmais{border-style:dashed}
.soltar{border-color:var(--brand);background:var(--info-bg)}
.dchk{display:inline-block;color:var(--ink-3)}
.dchk.ok{color:var(--ok)} .dchk.falta{color:var(--warn);font-weight:600}
.kpis6{grid-template-columns:repeat(3,minmax(0,1fr))}
.kvar{font-size:12px;margin-top:4px;color:var(--ink-3)}
.kvar.bom{color:var(--ok)} .kvar.ruim{color:var(--late)}
.figures3{grid-template-columns:repeat(3,minmax(0,1fr))}
.simin{font:inherit;font-family:"Poppins",sans-serif;font-size:20px;font-weight:700;width:9ch;padding:2px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);margin:2px 0}
.pbody{padding:0 20px 16px;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.chips .chip{display:inline-flex;align-items:center;gap:6px;cursor:default}
.mtable.comp th[scope=row]{text-align:left;font-weight:600;color:var(--ink-2);white-space:nowrap}
.mtable.comp td{white-space:nowrap}
.mtable.comp td.melhor{background:var(--ok-bg);font-weight:600}
@media (max-width:900px){ .kpis6,.figures3{grid-template-columns:repeat(2,minmax(0,1fr))} .apgrid{grid-template-columns:1fr} }
@media (max-width:560px){ .kpis6,.figures3{grid-template-columns:1fr} .figures3 .fig + .fig{border-left:0;border-top:1px solid var(--line)} }
@media print{
  .nav,.topbar,.noprint,.filters,.drawer,.scrim,.toast,.vertabela,.btn,.btn2,.linkbtn.more{display:none!important}
  .app{display:block} .area{padding:0!important;margin:0!important}
  body{background:#fff!important;color:#000}
  .panel,.kpi{box-shadow:none;break-inside:avoid}
  .kpis6{grid-template-columns:repeat(3,1fr)}
}
.cotrows li{grid-template-columns:minmax(0,1fr) auto auto}
.cotrows li.escolhida{background:var(--info-bg);border-radius:8px}
.cotacoes{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
form.linha #compQ{max-width:380px}
.gitens input,.gitens td input{width:100%;min-width:0;box-sizing:border-box}
.gitens td{padding:4px 6px} .gitens .gQ{text-align:right;max-width:90px}

/* ===== Calendário: tipos com ícone e nome ===== */
.evico{flex:none;vertical-align:-3px}
.evtipo{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;min-width:0}
.evtipo.etd{color:var(--ev-etd)} .evtipo.eta{color:var(--ev-eta)} .evtipo.prev{color:var(--ev-prev)} .evtipo.cheg{color:var(--ev-cheg)} .evtipo.pag{color:var(--ev-pag)}
.chip.tipo{display:inline-flex;align-items:center;gap:6px}
.chip.tipo .evtipo{gap:0}
.chip.tipo[aria-pressed="false"]{opacity:.55;text-decoration:line-through}
.evrow{grid-template-columns:minmax(150px,210px) minmax(0,1fr) auto}
.evq .why{display:block;color:var(--ink-3);font-size:12.5px;margin-top:1px}
.evfim{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.evval{font-variant-numeric:tabular-nums;white-space:nowrap}
.agsem{padding:0 20px 8px}
.agsem h3{font-size:14px;margin:18px 0 6px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.agsem h3 .muted{color:var(--ink-3);font-weight:500}
.agsem .agres{color:var(--ink-3);font-weight:500;font-size:12.5px;margin-left:auto}
.agsem .empty{padding:6px 0 10px}
.agdia{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;border-top:1px solid var(--line-2);padding:6px 0}
.agdia .alerts{padding:0}
.agdata{display:flex;flex-direction:column;align-items:center;padding-top:10px}
.agdata b{font-family:"Poppins",sans-serif;font-size:20px;line-height:1}
.agdata span{font-size:12px;color:var(--ink-3)}
.agdia.hoje .agdata b{color:var(--brand-ink);background:var(--brand);border-radius:8px;padding:4px 7px}
.vencbox .ph h2{display:flex;align-items:center;gap:8px;color:var(--late)}
.evcont{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:1px 6px 1px 4px;border-radius:999px;background:var(--surface-3);width:max-content}
.evcont.etd{color:var(--ev-etd)} .evcont.eta{color:var(--ev-eta)} .evcont.prev{color:var(--ev-prev)} .evcont.cheg{color:var(--ev-cheg)} .evcont.pag{color:var(--ev-pag)}
.evcont b{color:var(--ink);font-weight:700}
.evcont.venc{background:var(--late-bg);color:var(--late)}
.passos{margin:14px 0;padding-left:20px;font-size:14px;line-height:1.5} .passos li{margin:6px 0}
@media (max-width:700px){ .evrow{grid-template-columns:minmax(0,1fr) auto} .evrow .evtipo{grid-column:1/-1} .agdia{grid-template-columns:44px minmax(0,1fr)} .evcont b{display:none} .evcont{padding:1px} }
.cal-head h2{text-transform:none}
.daylist .evrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
.daylist .evrow .evtipo{grid-column:1/-1}

/* ===== Ergonomia ===== */
.nav li.grupo{font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--nav-ink);opacity:.7;padding:14px 12px 4px}
.nav li.grupo:first-child{padding-top:4px}
.quem .tema{all:unset;cursor:pointer;font-size:12.5px;color:var(--nav-ink);text-decoration:underline;text-underline-offset:2px;margin-top:6px;display:inline-block}
.quem .tema:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.mini{min-height:26px;min-width:26px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:860px){ .nav li.grupo{display:none} }
.pagacoes{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.sub.pagtab td,.pagtab th{padding:8px 6px} .pagtab td.num,.pagtab th.num{white-space:nowrap} .pagtab td:first-child,.pagtab th:first-child{padding-left:0}

/* ===== Perfis de acesso ===== */
.perfis{list-style:none;margin:0;padding:4px 20px 8px}
.perfis li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line-2)}
.perfis li:first-child{border-top:0}
.perfis .why{display:block;color:var(--ink-3);font-size:13px;margin-top:3px}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:16px}
.pgt{font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-3);margin:14px 0 6px}
.pchks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.pchks.col{grid-template-columns:1fr}
.pchk{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-height:44px}
.pchk:hover{background:var(--surface-2)}
.pchk input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--charcoal)}
.pchk b{font-weight:600;font-size:14px}
.pchk small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:2px}
.pchk small.dep{color:var(--info)}
.pchk.exig{background:var(--surface-2);cursor:default}
.panel + .panel{margin-top:14px}
.previabar{position:sticky;top:0;z-index:60;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 16px;background:var(--info-bg);color:var(--ink);border-bottom:2px solid var(--info);font-size:14px}
@media (max-width:700px){ .pgrid{grid-template-columns:1fr} .perfis li{grid-template-columns:1fr} }

/* ===== Menu com ícones e grupos que recolhem; caminho no topo ===== */
.nav button .nico{flex:none;opacity:.85}
.nav button .nrot{flex:1;min-width:0;text-align:left}
.nav button[aria-current="page"] .nico{opacity:1;color:var(--brand)}
.nav li.grupo{padding:12px 0 2px;opacity:1}
.nav li.grupo .gbtn{font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--nav-ink);opacity:.75;padding:6px 12px;justify-content:flex-start;gap:8px}
.nav li.grupo .gbtn:hover{opacity:1;background:none}
.nav li.grupo .seta{margin-left:auto;transition:transform .15s}
.nav li.grupo.fechado .seta{transform:rotate(-90deg)}
.nav li.grupo .gbadge{min-width:18px;padding:0 6px;border-radius:999px;background:var(--brand);color:var(--brand-ink);font-size:11px;letter-spacing:0;text-align:center}
.nav li.oculto{display:none}
.trilha{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;color:var(--ink-3);margin:0 0 -6px}
.trilha button{all:unset;cursor:pointer;color:var(--ink-2);border-radius:4px;padding:1px 2px}
.trilha button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.trilha button:focus-visible{outline:2px solid var(--info);outline-offset:1px}
.trilha [aria-current]{color:var(--ink);font-weight:600}
.trilha .tsep{opacity:.6}
@media (max-width:860px){ .nav li.oculto{display:list-item} .nav button .nico{display:none} .trilha{font-size:12.5px} }
@media print{ .trilha{display:none} }

/* Contêineres no detalhe e no formulário */
.cntrs{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.cntrs li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13.5px}
.cnum{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}
.cconf td{padding:6px 8px;vertical-align:middle}
.cconf td.num,.cconf th.num,.cconf .linkbtn{white-space:nowrap}
.cconf input,.cconf select{font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:5px 7px;box-sizing:border-box}
.cconf .cfin{width:84px;text-align:right}
.cconf .cfobs{width:150px}
.cconf select{width:150px}
.cwarn{color:var(--warn);font-weight:700}
.cok{color:var(--ok);font-weight:600} .cerr{color:var(--late);font-weight:700}
.cntrs a.mini{text-decoration:none;display:inline-flex;align-items:center}
.dbotoes{display:flex;gap:6px}
.docedit{grid-column:1/-1;flex-wrap:wrap;gap:6px 8px;margin:4px 0 2px}
.docedit input[type=text]{flex:1 1 220px;min-width:0}
.xmlbox{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;margin-top:4px;padding:8px 10px;border-radius:8px;background:var(--info-bg);font-size:13px;line-height:1.45}
.xmlacoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center} .xmlacoes a.mini{text-decoration:none;display:inline-flex;align-items:center}

/* Barra do topo: ajuda, tema e avisos */
.tacoes{display:flex;align-items:center;gap:4px;margin-left:auto}
.tbtn{all:unset;box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:var(--ink-2);cursor:pointer}
.tbtn:hover{background:var(--neutral-bg);color:var(--ink)} .tbtn:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.tbadge{position:absolute;top:3px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#B8322A;color:#fff;font-size:11px;font-weight:700;line-height:17px;text-align:center;box-sizing:border-box}
.tsino{position:relative}
.tpainel{position:absolute;right:0;top:44px;z-index:40;width:min(380px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.tph{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
.tpainel ul{list-style:none;margin:0;padding:0}
.tpainel li button{all:unset;box-sizing:border-box;display:flex;gap:10px;width:100%;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line)}
.tpainel li button:hover,.tpainel li button:focus-visible{background:var(--neutral-bg)}
.tpainel li.lida .ntx{opacity:.72} .tpainel li.lida .ntx b{font-weight:600}
.ntx{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.4;color:var(--ink)} .ntx span{color:var(--ink-2)}
.ndot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--info)}
.ndot.late{background:var(--late)} .ndot.warn{background:var(--warn-dot)}
.ajuda{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.5} .ajuda li{margin:3px 0}
.frep{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.frep .mini{justify-self:start;grid-column:1/-1} @media (max-width:640px){.frep{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:4px} .chips .chk{font-size:13.5px;display:inline-flex;gap:6px;align-items:center}
fieldset.fld{border:0;padding:0;margin:0} fieldset.fld legend{font-size:13px;color:var(--ink-2);padding:0;margin-bottom:2px}

/* Ocorrências */
.occard{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;background:var(--surface)}
.occard.aberta{border-left:4px solid var(--warn-dot)}
.occard header{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.occard .kv{margin-top:8px;grid-template-columns:150px minmax(0,1fr)} .occard .kv dd{text-align:left} .occard .kv dt,.occard .kv dd{min-width:0;overflow-wrap:anywhere} .occard h4{margin:10px 0 4px;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}
.ocnov{margin-top:8px;display:flex;flex-direction:column;gap:6px} .ocnov .linha{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.ocgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px} @media (max-width:640px){.ocgrid{grid-template-columns:minmax(0,1fr)}}
.warn-txt{color:var(--warn);font-weight:600}

/* Relógio do topo: dólar, Brasília e o país principal */
.relogio{position:relative;margin-left:auto} .relogio+.tacoes{margin-left:0}
.relchip{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--ink);cursor:pointer;white-space:nowrap;background:var(--surface)}
.relchip:hover{background:var(--neutral-bg)} .relchip:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.relchip b{font-weight:700;font-variant-numeric:tabular-nums} .relchip small{color:var(--ink-2);font-size:12.5px}
.rbr{display:inline-flex;align-items:center;gap:6px} .rsep{color:var(--line);margin:0 2px} .rdot{width:8px;height:8px;border-radius:50%;background:var(--ok)} .rdot.warn{background:var(--warn-dot)}
.rwarn{color:var(--warn)!important;font-weight:600}
.relpainel{width:min(400px,calc(100vw - 32px))} .relpainel .tph{flex-wrap:wrap;row-gap:2px}
.relista{list-style:none;margin:0;padding:0} .relista li{display:grid;grid-template-columns:1fr auto auto auto auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13.5px}
.relista b{font-variant-numeric:tabular-nums}
@media (max-width:700px){ .rbr{display:none} }

/* Meu perfil (canto direito do topo) */
.tperfil{position:relative}
.tavatar{border-radius:50%;background:var(--charcoal);color:#fff;font:700 13px/1 Archivo,sans-serif;letter-spacing:.02em;border:2px solid var(--brand)}
.tavatar:hover{background:var(--charcoal);color:#fff;filter:brightness(1.15)}
.tavatar.grande{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;font-size:15px}
.ppainel{width:min(320px,calc(100vw - 32px))}
.pid{display:flex;gap:10px;align-items:center} .pid > span:last-child{display:flex;flex-direction:column;min-width:0} .pid .why{overflow-wrap:anywhere}
.pacoes{display:flex;gap:8px;justify-content:flex-end;padding:0 12px 12px}
.frep .largo{grid-column:1/-1} .fendv > span:first-child{display:flex;flex-direction:column;gap:2px}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px} .fgrid2>[hidden]{display:none} @media (max-width:640px){.fgrid2{grid-template-columns:1fr}}

/* ===== Tracking: mapa-múndi (sempre escuro, como numa tela de acompanhamento) e lista ===== */
.trkmapa{padding:0;overflow:hidden;background:#0E141B;border-color:#1D2733}
.trkmapa .trkbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 14px;border-bottom:1px solid #1D2733;color:#B9C3CE;font-size:12.5px}
.trkmapa .trkbar .dir{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.trkmapa .trkbar .btn2{background:#16202B;color:#DCE3EA;border-color:#2A3746}
.trkmapa .leg{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center}
.trkmapa .leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:-6px;vertical-align:-1px}
.leg .l-nav{background:#EAA836}.leg .l-ok{background:#4CC38A}.leg .l-late{background:#F0705F}.leg .l-porto{background:#7FA7D6}
.trkmapa .mapa{position:relative;height:clamp(260px,42vw,460px);touch-action:none}
.trkmapa .mapa>svg{display:block;width:100%;height:100%;cursor:grab;user-select:none}
.trkmapa .mapa>svg:active{cursor:grabbing}
.trkmapa .mapa .empty{color:#B9C3CE;padding:40px}
.trkmapa .mar{fill:#0E141B}
.trkmapa .grade line{stroke:#17212C}
.trkmapa .terra{fill:#253140;stroke:#34465A;stroke-linejoin:round}
.trkmapa .rota{fill:none;stroke-linecap:round;stroke-linejoin:round}
.trkmapa .rota.falta{stroke:#5A6B7D;opacity:.8}
.trkmapa .rota.feito.nav{stroke:#EAA836}.trkmapa .rota.feito.ok{stroke:#4CC38A}.trkmapa .rota.feito.late{stroke:#F0705F}
.trkmapa .porto circle{fill:#7FA7D6;stroke:#0E141B;stroke-width:1}
.trkmapa .porto.com circle{fill:#EAA836}
.trkmapa .porto text{fill:#C9D4DF;font-family:inherit;paint-order:stroke;stroke:#0E141B;stroke-width:3px;stroke-linejoin:round}
.trkmapa .porto.com{cursor:pointer}
.trkmapa .navio{cursor:pointer}
.trkmapa .navio path{stroke:#0E141B;stroke-width:1.2}
.trkmapa .navio .halo{fill:transparent}
.trkmapa .navio:hover .halo,.trkmapa .navio:focus .halo{fill:rgba(255,255,255,.12)}
.trkmapa .navio.nav path{fill:#EAA836}.trkmapa .navio.ok path{fill:#4CC38A}.trkmapa .navio.late path{fill:#F0705F}
.trkmapa .mapavazio{position:absolute;left:0;right:0;top:45%;text-align:center;color:#B9C3CE;margin:0;pointer-events:none}
.flag{display:inline-block;vertical-align:-1px;margin-right:6px;border-radius:2px;flex:none}
.flag.txt{font-size:10.5px;font-weight:700;color:var(--ink-3);border:1px solid var(--line);padding:0 3px;line-height:12px}
.trkrota{display:flex;align-items:center;gap:0;white-space:nowrap}
.trkrota .sub{margin-left:6px}
.trkcntr .cnum{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.02em}
.trkcntr .proc{display:block;color:var(--info);font-weight:600}
td .sub{display:block}
td .pill+.pill{margin-left:4px}
.trketa{min-width:150px}
.trketa .barra{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden;margin:2px 0 6px}
.trketa .barra i{display:block;height:100%;background:var(--s4);border-radius:3px}
.trketa.ok .barra i,.trketa.fim .barra i{background:var(--ok)}
.trketa.late .barra i{background:var(--late)}
.trketa.late b{color:var(--late)}
.trketa.fim b{color:var(--ok)}
.late-txt{color:var(--late)}
/* tela cheia: só o tracking, para um monitor ao lado */
body.tela-cheia .nav,body.tela-cheia .topbar,body.tela-cheia .trilha{display:none!important}
body.tela-cheia .app{display:block}
body.tela-cheia main{padding:14px 20px 24px}
body.tela-cheia .trkmapa .mapa{height:58vh}
body.tela-cheia #main{font-size:15.5px}
.trkaviso{margin:0 0 10px;padding:9px 14px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:13.5px}
.trkaviso.late{background:var(--late-bg);color:var(--late);font-weight:600}
.trkaviso .linkbtn{color:inherit;text-decoration:underline}
/* tracking: camadas, navio escolhido, alerta pulsando, marcos e painel do navio */
.trkmapa .camadas{display:flex;gap:6px;flex-wrap:wrap}
.trkmapa .camada{all:unset;cursor:pointer;font-size:12.5px;color:#B9C3CE;padding:4px 10px;border:1px solid #2A3746;border-radius:999px}
.trkmapa .camada[aria-pressed="true"]{background:#16202B;color:#F2F5F8;border-color:#4A5A6C}
.trkmapa .camada[aria-pressed="false"]{opacity:.6;text-decoration:line-through}
.trkmapa .camada .n{margin-left:6px;color:#8FA1B3;font-weight:600}
.trkmapa .camada:focus-visible{outline:2px solid #EAA836;outline-offset:2px}
.trkmapa .rota.dim{opacity:.18}
.trkmapa .rota.feito.sel{filter:drop-shadow(0 0 3px rgba(234,168,54,.6))}
.trkmapa .navio.sel .halo{fill:rgba(255,255,255,.16);stroke:#F2F5F8;stroke-width:1}
.trkmapa .navio:focus{outline:none}
.trkmapa .navio:focus-visible .halo{stroke:#EAA836;stroke-width:1.5}
.trkmapa .navio .pulso{fill:none;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pulsoNavio 1.8s ease-out infinite}
.trkmapa .navio.late .pulso{stroke:#F0705F}.trkmapa .navio.ok .pulso{stroke:#4CC38A}.trkmapa .navio.nav .pulso{stroke:#EAA836}
@keyframes pulsoNavio{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.trkmapa .navio .pulso{animation:none;opacity:.7}}
.trkmapa .marco rect{fill:#0E141B;stroke:#EAA836}
.trkmapa .marco.passou rect{fill:#EAA836}
.trkmapa .marco text{fill:#E6ECF2;font-family:inherit;paint-order:stroke;stroke:#0E141B;stroke-width:3px;stroke-linejoin:round}
.trkpainel{position:absolute;top:10px;right:10px;bottom:10px;width:min(340px,calc(100% - 20px));overflow:auto;background:rgba(14,20,27,.96);border:1px solid #2A3746;border-radius:12px;padding:14px 16px;color:#DCE3EA;font-size:13.5px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.trkpainel .trkph{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.trkpainel h3{margin:0;font-size:16px;color:#F2F5F8}
.trkpainel h4{margin:14px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8FA1B3}
.trkpainel .sub{color:#9FB0C1}
.trkpainel .fechar{all:unset;cursor:pointer;font-size:22px;line-height:1;color:#B9C3CE;padding:0 4px}
.trkpainel .fechar:focus-visible{outline:2px solid #EAA836}
.trkpainel .kv{margin:8px 0 0}
.trkpainel .kv dt{color:#9FB0C1}
.trkpainel .kv dd{color:#F2F5F8}
.trkpainel .trketa{margin-top:8px}
.trkpainel .trketa .barra{background:#223040}
.trkpainel .trkrotas{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:10px 0 0}
.trkpainel .trkrotas .flag.txt{color:#B9C3CE;border-color:#3A4553}
.trkpainel .marcos{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid #2A3746}
.trkpainel .marcos li{position:relative;display:flex;justify-content:space-between;gap:8px;padding:3px 0}
.trkpainel .marcos li::before{content:"";position:absolute;left:-20px;top:8px;width:9px;height:9px;border-radius:50%;background:#0E141B;border:2px solid #5A6B7D}
.trkpainel .marcos li.passou::before{background:#EAA836;border-color:#EAA836}
.trkpainel .marcos li.fim::before{border-color:#4CC38A}
.trkpainel .marcos li.passou span:first-child{color:#9FB0C1}
.trkpainel .abordo{list-style:none;margin:0;padding:0}
.trkpainel .abordo li{padding:6px 0;border-bottom:1px solid #1D2733}
.trkpainel .abordo .linkbtn{color:#7FB3F0}
.trkpainel a{color:#7FB3F0}
.trkver{display:block;margin-top:4px;font-size:12.5px}
@media (max-width:700px){.trkpainel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:62%}}
.trkpainel .marcos li .sub{display:inline;white-space:nowrap}
@media (max-width:700px){.trkmapa .mapa{height:380px}}
.trkconf{margin-top:16px;padding:16px 18px}
.trkconf summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.trkconf summary::-webkit-details-marker{display:none}
.trkconf summary h2{margin:0}
.trkconf .resumo{color:var(--ink-3);font-size:13px}
.trkconfgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:18px 24px;margin-top:10px}
.trkconfgrid h3{margin:0 0 6px;font-size:14px}
.trkconfgrid td .sub{display:block}
.etahist{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line)}
.etahist li{position:relative;padding:3px 0;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.etahist li::before{content:"";position:absolute;left:-20px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--surface);border:2px solid var(--ink-3)}
.etahist li:last-child::before{background:var(--ink-2)}
.etahist li .sub{display:inline}
.trkpainel .etahist{border-left-color:#2A3746}
.trkpainel .etahist li::before{background:#0E141B;border-color:#5A6B7D}
.trkpainel .etahist li:last-child::before{background:#EAA836;border-color:#EAA836}
.trkresumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.trkresumo .fig{all:unset;box-sizing:border-box;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--raio);padding:14px 16px;box-shadow:var(--sombra)}
.trkresumo .fig:hover{border-color:var(--ink-3)}
.trkresumo .fig:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.trkresumo .fig .v{font-size:26px;font-weight:800;line-height:1.1}
.trkresumo .fig .l{font-weight:600;margin-top:2px}
.trkresumo .fig .d{color:var(--ink-3);font-size:12.5px;margin-top:2px}
.trkresumo .fig.ok .v{color:var(--ok)}.trkresumo .fig.warn .v{color:var(--warn)}.trkresumo .fig.late .v{color:var(--late)}
.trkcheg{margin-top:16px}
/* formulário: data original (só leitura, com "corrigir") */
.fldcom{display:flex;flex-direction:column;gap:2px}
.origfld input{margin-top:4px}
.origfld summary{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline;cursor:pointer;list-style:none;font-size:12.5px;color:var(--ink-3);padding:2px 0}
.origfld summary::-webkit-details-marker{display:none}
.origfld summary b{color:var(--ink-2);font-weight:600}
.origfld summary .linkbtn{font-size:12.5px}
.origfld[open] summary .linkbtn{display:none}
/* formulário: colunas fixas pela largura do próprio formulário (não pela tela nem pelo zoom); grupo novo = linha nova */
.fsec{container-type:inline-size}
@container (max-width:860px){.fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (max-width:560px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:380px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.fsub{grid-column:1/-1;margin:6px 0 -4px;padding-top:10px;border-top:1px solid var(--line-2);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.fgrid>.fsub:first-child{border-top:0;padding-top:0;margin-top:0}
.fsub.vazio{padding-top:4px;margin-bottom:0}
/* formulário: Calculados e Registros do processo na lateral */
.lateral{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 90px);overflow:auto}
.lateral .calc{position:static}
.regs .regsrows li{align-items:center}
.regs .regsrows .cotacoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:1180px){.lateral{position:static;max-height:none;overflow:visible}}
.regs .regsrows{margin:0;padding:0 18px 14px}
.regs > .empty{padding:0 18px 16px}
.cotrows b .sub{display:block;font-weight:400;text-align:right}
