/* Levia — tokens e base (design system Prato v2) */
:root{--bg:#F6F6F4;--bgRGB:246,246,244;--bg2:#ECECE9;--card:#FFFFFF;--tint:#F3F6E3;--ink:#1B1C1A;--inkRGB:27,28,26;--ink2:#54554F;--mut:#7A7B72;--mut2:#8E8F86;--olive:#71801F;--oliveInk:#333A11;--green:#5E6E14;--greenRGB:122,138,32;--red:#B0463C;--redRGB:176,70,60;--amber:#6B6C63;--panel:#1B1C1A;--panelH:#2A2B28;--onPanel:#F6F6F4;--lime:#B4C348;--logoInv:invert(0);
  /* macros — paleta categórica validada (claro): P/C/G/Água */
  --mP:#71801F;--mC:#0E7FA8;--mG:#A2593B;--mA:#2E9E77;--fd:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif}
html[data-theme="dark"]{--bg:#151614;--bgRGB:21,22,20;--bg2:#2A2B28;--card:#1D1E1B;--tint:#22261B;--ink:#EBEBE6;--inkRGB:235,235,230;--ink2:#B5B6AD;--mut:#97988C;--mut2:#7E7F74;--olive:#C7D56D;--oliveInk:#E2ECAF;--green:#C7D56D;--greenRGB:199,213,109;--red:#E08D7A;--redRGB:224,141,122;--amber:#A6A79B;--panel:#262723;--panelH:#313230;--onPanel:#EFEFEA;--logoInv:invert(.93);--scrollbar:rgba(235,235,230,.13);
  /* macros — passos do escuro, validados contra o card escuro */
  --mP:#8A9C2B;--mC:#2F8FB8;--mG:#C97B54;--mA:#2FA173}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 13.5px/1.55 'Hanken Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}
a{color:var(--green);text-decoration:none}a:hover{color:#16362A}
::selection{background:rgba(180,195,72,.4)}
::placeholder{color:var(--mut2)}
input,button,textarea{font-family:'Hanken Grotesk',sans-serif}
button{transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
:focus-visible{outline:2px solid #8FA032;outline-offset:2px;border-radius:4px}
h1,h2,h3{font-weight:400}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--scrollbar,rgba(var(--inkRGB),.16));border-radius:20px;border:3px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}
@keyframes lstIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes recB{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
@keyframes dotB{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes pulseR{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes scanL{0%{top:8%}50%{top:88%}100%{top:8%}}

/* utilitários do design system */
.mono{font-family:'JetBrains Mono',monospace}
.serif{font-family:var(--fd);font-weight:620;letter-spacing:-.01em}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.13em;color:var(--mut)}
.headline{font-family:var(--fd);font-size:30px;font-weight:640;line-height:1.22;letter-spacing:-.02em;margin-top:8px;text-wrap:pretty}
.hl{white-space:nowrap;box-shadow:inset 0 -.34em rgba(180,195,72,.55)}
.card{background:var(--card);border:1px solid rgba(var(--inkRGB),.09);border-radius:14px}
.secRule{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:30px 0 14px}
.secNum{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;color:var(--oliveInk);background:rgba(180,195,72,.4);border-radius:6px;padding:2.5px 8px}
.secTitle{font-family:var(--fd);font-size:19px;font-weight:620;letter-spacing:-.012em;white-space:nowrap}
.secLine{flex:1;height:1px;background:rgba(var(--inkRGB),.10)}
.secMeta{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--mut)}
.tintCard{display:flex;gap:8px;background:var(--tint);border:1px solid rgba(148,166,52,.28);border-left:none;border-radius:12px;padding:12px 15px;position:relative;overflow:hidden}
.tintCard::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lime)}
.pillPos{display:inline-flex;align-items:center;white-space:nowrap;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;border-radius:20px;padding:2.5px 10px;background:rgba(var(--greenRGB),.1);color:var(--green)}
.pillNeg{display:inline-flex;align-items:center;white-space:nowrap;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;border-radius:20px;padding:2.5px 10px;background:rgba(var(--redRGB),.1);color:var(--red)}
.btnDark{border:1px solid var(--panel);background:var(--panel);color:var(--onPanel);border-radius:20px;padding:6px 16px;font-size:12.5px;font-weight:500;cursor:pointer}
.btnDark:hover{background:var(--panelH)}
.btnGhost{border:1px solid rgba(var(--inkRGB),.18);background:transparent;color:var(--ink2);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:500;cursor:pointer}
.btnGhost:hover{border-color:rgba(var(--inkRGB),.4);color:var(--ink)}
.chip{border:1px solid rgba(var(--inkRGB),.12);background:var(--bg);border-radius:20px;padding:3.5px 11px;font-size:11.5px;font-weight:500;color:var(--ink2);cursor:pointer;white-space:nowrap}
.chip:hover{border-color:rgba(var(--inkRGB),.3);color:var(--ink);background:var(--bg2)}
.navBtn{display:flex;align-items:center;gap:9px;width:100%;border:none;background:none;border-radius:9px;padding:7px 10px;font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer;text-align:left;justify-content:flex-start}
.navBtn:hover{background:rgba(var(--inkRGB),.045)}
.navBtn.ativo{background:rgba(var(--inkRGB),.07);font-weight:600;color:var(--ink)}
.sb-closed .navBtn{gap:0;padding:9px 0;justify-content:center}
.sb-closed .sbHide{display:none}
.sbShow{display:none}
.sb-closed .sbShow{display:block}
.iconBtn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--inkRGB),.12);background:var(--card);border-radius:9px;color:var(--ink2);cursor:pointer;flex-shrink:0}
.iconBtn:hover{border-color:rgba(var(--inkRGB),.3);color:var(--ink)}
.inpQ{border:1px solid rgba(var(--inkRGB),.14);border-radius:8px;background:var(--bg);outline:none;font-family:'JetBrains Mono',monospace;font-size:12px;padding:6px 9px;color:var(--ink)}
.inpQ:focus{border-color:#8FA032}
.gInp{border:none;border-bottom:1px dashed rgba(var(--inkRGB),.3);background:transparent;outline:none;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink);text-align:right;padding:0 0 1px;width:44px}
.gInp:focus{border-bottom-color:#8FA032}
.tabela{display:grid;gap:8px;align-items:center}
.thRow{padding:9px 0 7px;border-bottom:1px solid rgba(var(--inkRGB),.12);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--mut)}
.tdRow{padding:9px 0;border-bottom:1px solid rgba(var(--inkRGB),.06)}
.hoverRow:hover{background:rgba(var(--inkRGB),.035)}
.toastBox{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:99;background:var(--panel);color:#EFEDE2;border-radius:12px;padding:10px 18px;font-size:12.5px;box-shadow:0 14px 40px rgba(20,24,30,.3);animation:lstIn .3s ease both;display:flex;align-items:center;gap:9px;max-width:min(560px,90vw)}
.dotPensa{width:5px;height:5px;border-radius:50%;background:var(--olive)}
.fontePill{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.08em;border-radius:5px;padding:2px 7px;white-space:nowrap}
.f-TACO,.f-TBCA{color:var(--green);border:1px solid rgba(var(--greenRGB),.35);background:rgba(var(--greenRGB),.07)}
.f-ROTULO,.f-OFF,.f-USDA{color:var(--ink2);border:1px solid rgba(var(--inkRGB),.16);background:transparent}
.f-IA{color:var(--olive);border:1px solid rgba(148,166,52,.4);background:rgba(180,195,72,.25)}
.f-USER{color:var(--amber);border:1px solid rgba(var(--inkRGB),.45);background:rgba(var(--inkRGB),.14)}
@media (max-width:840px){
  aside{position:fixed;z-index:50;height:100vh;left:0;top:0}
  .sb-open-mobile{box-shadow:0 0 60px rgba(0,0,0,.3)}
}

/* elementos com display inline (var(--fd)) ganham o peso da marca */
[style*="--fd"]{font-weight:620;letter-spacing:-.012em}

/* estrutura v0.4 — Hoje em duas colunas com trilho fixo */
.hojeGrid{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:20px;align-items:start}
.hojeRail{position:sticky;top:14px;display:flex;flex-direction:column;gap:12px}
@media (max-width:1080px){.hojeGrid{grid-template-columns:1fr}.hojeRail{position:static;order:-1}}
.kpi{background:var(--card);border:1px solid rgba(var(--inkRGB),.09);border-radius:14px;padding:14px 16px}
