/* ═══════════════════════════════════════════════════════════════════════
   SoloLab · style.css · v11
   Cor de acento única: verde #1C7C4E · base neutra · estilo minimalista
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --bg:    #EEECEA; --sur:  #FFF;   --sur2: #F7F5F2; --sur3: #F2F0EB;
  --bdr:   #D8D4CC; --bdr2: #E6E3DD;
  --tx1:   #131310; --tx2:  #42423A; --tx3: #86867E; --tx4: #AEAEA6;
  --txi:   rgba(255,255,255,.90);
  --cl:    #1C7C4E; --cl2: #15683E; --cl3: #34996A; --clx: #E7F3EC; --cla: #1C7C4E;
  --pl:    #1F6F99; --pl2: #195A7D; --pl3: #3E8FB8; --plx: #E5F1F8; --pla: #1F6F99;
  --oc:    #9C6328; --oc2: #80501E; --oc3: #BC8246; --ocx: #F6ECDD; --oca: #9C6328;
  --como:  #6A5A9C; --como2: #564980; --como3: #897BB6; --comox: #ECEAF4;
  --hbg:   #0C1210; --nbg: #101A15;
  --fe:#C12626; --feb:#FEE8E8; --fec:#F0B8B8;
  --av:#9E5500; --avb:#FEF3DC; --avc:#ECD080;
  --in:#175A8A; --inb:#E8F3FD; --inc:#A0C8EE;
  --ok:#196038; --okb:#E0F2E8;
  --cok:#1A5C36; --cokb:#DBEEDD; --clv:#665200; --clvb:#FEF8D0; --crl:#8A1E1E; --crlb:#FDE8E8;
  --b-mb:#FDE8E8; --b-mb-t:#8A1E1E; --b-bx:#FEEFDA; --b-bx-t:#7A3E0C;
  --b-md:#FEF8D0; --b-md-t:#655200; --b-bm:#DFF2E8; --b-bm-t:#1A5C36;
  --b-mx:#D2EAF8; --b-mx-t:#1A4A6E; --b-al:#FDE8E8; --b-al-t:#8A1E1E;
  --b-nt:#E8E6E0; --b-nt-t:#42423A; --b-vz:#EEECEA; --b-vz-t:#96968E;
  --f:'Inter',system-ui,-apple-system,sans-serif;
  --fm:'JetBrains Mono','Fira Mono',monospace;
  --r1:3px; --r2:6px; --r3:10px; --r4:15px;
  --s1:0 1px 3px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03);
  --s2:0 6px 20px rgba(0,0,0,.07),0 2px 6px rgba(0,0,0,.04);
  --h-hdr:52px; --h-nav:64px; --w-sec:298px;
}

/* ─── DARK MODE ────────────────────────────────────────────────────────────
   Ativado via [data-theme="dark"] no <html>. JS aplica em app.js a partir
   de localStorage ou prefers-color-scheme. Mantém a estrutura de variáveis,
   apenas reescreve os valores. ───────────────────────────────────────────── */
[data-theme="dark"] {
  --bg:    #15171A; --sur:  #1F2225; --sur2: #1A1D20; --sur3: #232629;
  --bdr:   #2C3036; --bdr2: #242830;
  --tx1:   #ECEAE6; --tx2:  #BFBCB4; --tx3:  #8E8B83; --tx4: #5C5A55;
  --txi:   rgba(255,255,255,.90);
  /* Acentos clareados ~25% para legibilidade em fundo escuro */
  --cl:    #3DAB76; --cl2: #2E8E5F; --cl3: #5BBE91; --clx: #1B3A2A; --cla: #3DAB76;
  --pl:    #4D9DC8; --pl2: #3C82A9; --pl3: #6FB4D8; --plx: #16303F; --pla: #4D9DC8;
  --oc:    #C58A4F; --oc2: #A87338; --oc3: #D9A77A; --ocx: #3A2916; --oca: #C58A4F;
  --como:  #9486C8; --como2: #7B6FAD; --como3: #AAA0D5; --comox: #2A2540;
  --hbg:   #0A0D0E; --nbg: #0E1411;
  /* Feedback: fundo escuro saturado + texto claro */
  --fe:#FF8A8A; --feb:#3A1E1E; --fec:#5C2828;
  --av:#FFC36B; --avb:#3A2A12; --avc:#5C3D1A;
  --in:#7FB7E2; --inb:#152938; --inc:#264763;
  --ok:#6BC58E; --okb:#172E22;
  --cok:#6BC58E; --cokb:#172E22; --clv:#F5DC73; --clvb:#322B0E; --crl:#FF9696; --crlb:#3A1818;
  --b-mb:#3A1E1E; --b-mb-t:#FF9696; --b-bx:#3A2412; --b-bx-t:#FFA86B;
  --b-md:#322B0E; --b-md-t:#F5DC73; --b-bm:#1A332A; --b-bm-t:#6BC58E;
  --b-mx:#16303F; --b-mx-t:#8FC8E8; --b-al:#3A1E1E; --b-al-t:#FF9696;
  --b-nt:#2A2D31; --b-nt-t:#BFBCB4; --b-vz:#1F2225; --b-vz-t:#6E6B65;
  --s1:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);
  --s2:0 6px 20px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.25);
}
[data-theme="dark"] body{background:var(--bg);color:var(--tx1)}
/* Lista suspensa do <select>: browsers usam cor do SO por padrão;
   forçamos fundo escuro + texto claro no dark mode. */
[data-theme="dark"] select{color-scheme:dark}
[data-theme="dark"] select option,
[data-theme="dark"] select optgroup{background:#1F2225;color:#ECEAE6}
[data-theme="dark"] select optgroup{font-weight:600;color:#BFBCB4}
/* Linhas alternadas de tabelas e overlays claros explícitos viram dark */
[data-theme="dark"] .tbl tbody tr.row--calc{background:#1B3325}
[data-theme="dark"] .tbl tbody tr.row--calc:hover{background:#214030}
[data-theme="dark"] .form-row--best:hover td{background:var(--clx) !important}
/* Botão toggle */
.theme-toggle{background:transparent;border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);width:32px;height:32px;border-radius:var(--r2);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .15s,border-color .15s}
.theme-toggle:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.theme-toggle svg{width:16px;height:16px}
.theme-toggle__sun{display:none}
.theme-toggle__moon{display:block}
[data-theme="dark"] .theme-toggle__sun{display:block}
[data-theme="dark"] .theme-toggle__moon{display:none}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* O atributo hidden precisa vencer classes que definem display
   (.zero-state, .field, .lf-grid, .alerta, .alert-list...) */
[hidden]{display:none!important}
html{font-size:17px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f);background:var(--bg);color:var(--tx1);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}
ol,ul{padding-left:1.2rem} a{color:inherit;text-decoration:none}
code{font-family:var(--fm);font-size:.88em;background:var(--bdr2);padding:.1rem .35rem;border-radius:var(--r1)}

/* ════ HEADER ════ */
.site-header{
  background:var(--hbg);
  position:sticky;top:0;z-index:600;
  height:var(--h-hdr);
  /* Sem borda/sombra: cabeçalho e menu formam um único bloco escuro contínuo */
}
.hdr{
  padding:0 .85rem 0 1.35rem;height:100%;
  display:flex;align-items:center;
}
.hdr__brand{
  display:flex;align-items:center;gap:.55rem;
  text-decoration:none;
}
.hdr__logo{
  height:28px;width:auto;
  object-fit:contain;
  opacity:.92;
  /* Fallback visual se logo.webp não existir: não quebra o layout */
}
.hdr__name{
  font-size:.9rem;font-weight:700;
  letter-spacing:-.015em;color:#fff;
}


/* ════ HEADER: BOAS-VINDAS ════ */
.hdr__sep{color:rgba(255,255,255,.18);font-size:.9rem;margin:0 .7rem;line-height:1;align-self:center}
.hdr__welcome{font-size:.68rem;color:rgba(255,255,255,.42);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
#btnTheme{flex-shrink:0;margin-left:.5rem}
/* Short title — hidden on desktop */
.mod-btn__title--short{display:none}

/* ════ NAV PRINCIPAL (.mod-btn / .mod-btn--active) ════ */
.main-nav{
  background:var(--hbg);
  position:sticky;top:var(--h-hdr);z-index:590;
  height:var(--h-nav);
  box-shadow:0 6px 16px rgba(0,0,0,.16);
}
.mnav{padding:0 .85rem 0 0;height:100%;display:flex;align-items:stretch}
.mod-btn{
  display:flex;align-items:center;gap:.82rem;
  min-width:215px;max-width:400px;
  padding:0 1.5rem;background:transparent;
  border:none;border-bottom:2.5px solid transparent;
  cursor:pointer;text-align:left;
  transition:background .15s,border-color .15s;
  position:relative;
}
.mod-btn::after{content:'';position:absolute;right:0;top:18%;height:64%;width:1px;background:rgba(255,255,255,.07)}
.mod-btn:last-child::after{display:none}
.mod-btn:hover{background:rgba(255,255,255,.04)}
.mod-btn__ico{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07);transition:background .15s}
.mod-btn__ico svg{width:18px;height:18px;stroke:rgba(255,255,255,.38);transition:stroke .15s}
.mod-btn__txt{display:flex;flex-direction:column;gap:.04rem}
.mod-btn__title{font-size:.77rem;font-weight:600;color:rgba(255,255,255,.44);transition:color .15s}
.mod-btn__hint{font-size:.59rem;color:rgba(255,255,255,.22)}
/* Cálculos ativo (verde) */
.mod-btn[data-module="calculos"].mod-btn--active{border-bottom-color:var(--cl3);background:rgba(28,124,78,.20)}
.mod-btn[data-module="calculos"].mod-btn--active .mod-btn__title{color:#76D9A8}
.mod-btn[data-module="calculos"].mod-btn--active .mod-btn__ico{background:rgba(28,124,78,.40)}
.mod-btn[data-module="calculos"].mod-btn--active .mod-btn__ico svg{stroke:#76D9A8}
/* Planilha ativo (azul) */
.mod-btn[data-module="planilha"].mod-btn--active{border-bottom-color:var(--pl3);background:rgba(31,111,153,.22)}
.mod-btn[data-module="planilha"].mod-btn--active .mod-btn__title{color:#84C8EC}
.mod-btn[data-module="planilha"].mod-btn--active .mod-btn__ico{background:rgba(31,111,153,.42)}
.mod-btn[data-module="planilha"].mod-btn--active .mod-btn__ico svg{stroke:#84C8EC}
/* Como Funciona ativo (violeta) */
.mod-btn[data-module="como"].mod-btn--active{border-bottom-color:var(--como3);background:rgba(106,90,156,.24)}
.mod-btn[data-module="como"].mod-btn--active .mod-btn__title{color:#BCB0E2}
.mod-btn[data-module="como"].mod-btn--active .mod-btn__ico{background:rgba(106,90,156,.44)}
.mod-btn[data-module="como"].mod-btn--active .mod-btn__ico svg{stroke:#BCB0E2}
/* Outros Cálculos ativo (ocre) */
.mod-btn[data-module="outros"].mod-btn--active{border-bottom-color:var(--oc3);background:rgba(156,99,40,.24)}
.mod-btn[data-module="outros"].mod-btn--active .mod-btn__title{color:#E3B179}
.mod-btn[data-module="outros"].mod-btn--active .mod-btn__ico{background:rgba(156,99,40,.44)}
.mod-btn[data-module="outros"].mod-btn--active .mod-btn__ico svg{stroke:#E3B179}

/* ════ MÓDULO OUTROS CÁLCULOS ════ */
.mod-area--oc .intro h2{color:var(--oc)}
.mod-area--oc .zero-state strong{color:var(--oc)}
.sec-nav--oc{background:var(--sur3)}
/* OC sidebar items */
.oc-tab{display:flex;align-items:center;gap:.58rem;width:100%;padding:.52rem .65rem;background:transparent;border:none;border-radius:var(--r3);cursor:pointer;text-align:left;transition:background .12s;position:relative}
.oc-tab::before{content:'';position:absolute;left:0;top:22%;height:56%;width:2.5px;border-radius:2px;background:transparent;transition:background .12s}
.oc-tab:hover{background:rgba(156,99,40,.09)}
.oc-tab:hover .sec-tab__icon svg{stroke:var(--oc)}
.oc-tab--active{background:var(--oc)!important}
.oc-tab--active::before{background:rgba(255,255,255,.5)}
.oc-tab--active .sec-tab__icon svg{stroke:rgba(255,255,255,.85)}
.oc-tab--active .sec-tab__name{color:#fff;font-weight:700}
.oc-tab--active .sec-tab__desc{color:rgba(255,255,255,.58)}
/* fcard amber header */
.fcard__hd--oc{background:var(--ocx);color:var(--oc)}
/* rcard amber header */
.rcard__hd--oc h3{color:var(--oc)}
.rcard__step--oc{background:var(--oc)}
/* audit details amber */
.audit-details--oc summary{background:var(--ocx);color:var(--oc)}
.audit-details--oc[open]{border-color:rgba(156,99,40,.25)}
/* exec header amber */
.exec-header--oc{background:var(--oc)}
/* M3 buttons */
.mod-area--oc .btn--primary{background:var(--oc);color:#fff;box-shadow:var(--s1)}
.mod-area--oc .btn--primary:hover{background:var(--oc2);box-shadow:var(--s2)}
.mod-area--oc .mem-card{border-left-color:var(--oc3)}
.mod-area--oc .mem-titulo{color:var(--oc)}
.mod-area--oc .mem-resultado{color:var(--oc)}
.mod-area--oc .results-table thead th{background:var(--oc)}
/* Radio cards para inoculação */
.fcard__body--col{grid-template-columns:1fr!important;gap:.5rem}
.inoc-radio-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1.5px solid var(--bdr);border-radius:var(--r3);background:var(--sur2);cursor:pointer;transition:border-color .13s,background .13s}
.inoc-radio-card:has(input:checked){border-color:var(--oc);background:var(--ocx)}
.inoc-radio-card input[type=radio]{accent-color:var(--oc);flex-shrink:0}
.inoc-radio-card__inner{display:flex;flex-direction:column;gap:.12rem}
.inoc-radio-card__title{font-size:.77rem;font-weight:600;color:var(--tx1);line-height:1.3}
.inoc-radio-card__sub{font-size:.65rem;color:var(--tx3);font-family:var(--fm)}
.inoc-radio-card--sm .inoc-radio-card__title{font-size:.74rem;font-weight:500}
/* Boas práticas lista */
.inoc-boas-praticas{font-size:.76rem;color:var(--tx2);line-height:1.75;padding:.6rem 1rem .6rem 1.4rem}
.inoc-boas-praticas li{padding-bottom:.18rem}
/* Base técnica */
.inoc-base-tecnica{padding:.6rem 0}
/* OC mem-grid (results table) */
.mod-area--oc .tbl thead tr{background:var(--oc)}

/* ════ LAYOUT SIDEBAR ════ */
.mod-body{display:flex;align-items:stretch;min-height:calc(100vh - var(--h-hdr) - var(--h-nav))}
.sec-nav{
  width:var(--w-sec);flex-shrink:0;
  padding:.85rem .62rem;
  display:flex;flex-direction:column;gap:.08rem;
  position:sticky;top:calc(var(--h-hdr) + var(--h-nav));
  height:calc(100vh - var(--h-hdr) - var(--h-nav));
  overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bdr) transparent;
  border-right:1px solid var(--bdr);
}
.sec-nav--cl{background:var(--sur3)}
.sec-nav--pl{background:var(--sur3)}
.sec-nav__group{display:flex;flex-direction:column;gap:.04rem;margin-bottom:.48rem}
.sec-nav__group-label{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx4);padding:.18rem .58rem .2rem;margin-bottom:.06rem}
.sec-nav__sep{height:1px;background:var(--bdr2);margin:.28rem .58rem .45rem}

/* Itens sidebar */
.sec-tab,.cultura-tab{
  display:flex;align-items:center;gap:.58rem;
  width:100%;padding:.52rem .65rem;
  background:transparent;border:none;border-radius:var(--r3);
  cursor:pointer;text-align:left;
  transition:background .12s;
  position:relative;
}
.sec-tab::before,.cultura-tab::before{
  content:'';position:absolute;left:0;top:22%;height:56%;
  width:2.5px;border-radius:2px;background:transparent;transition:background .12s;
}
.sec-tab:hover{background:rgba(0,0,0,.05)}
.cultura-tab:hover{background:rgba(0,0,0,.05)}
/* Ativo M1 */
.sec-nav--cl .sec-tab--active{background:var(--cl)!important}
.sec-nav--cl .sec-tab--active::before{background:rgba(255,255,255,.5)}
.sec-nav--cl .sec-tab--active .sec-tab__icon svg{stroke:rgba(255,255,255,.85)}
.sec-nav--cl .sec-tab--active .sec-tab__name{color:#fff;font-weight:700}
.sec-nav--cl .sec-tab--active .sec-tab__desc{color:rgba(255,255,255,.58)}
/* Ativo M2 */
.sec-nav--pl .cultura-tab--active{background:var(--pl)!important}
.sec-nav--pl .cultura-tab--active::before{background:rgba(255,255,255,.5)}
.sec-nav--pl .cultura-tab--active .sec-tab__icon svg{stroke:rgba(255,255,255,.85)}
.sec-nav--pl .cultura-tab--active .sec-tab__name{color:#fff;font-weight:700}
.sec-nav--pl .cultura-tab--active .sec-tab__desc{color:rgba(255,255,255,.58)}
.sec-tab__icon{width:21px;height:21px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sec-tab__icon svg{width:17px;height:17px;stroke:var(--tx3);transition:stroke .12s}
.sec-tab:hover .sec-tab__icon svg,.cultura-tab:hover .sec-tab__icon svg{stroke:var(--tx2)}
.sec-tab__body{display:flex;flex-direction:column;gap:.03rem;min-width:0}
.sec-tab__name--short{display:none}  /* shown in mobile only */
.sec-tab__name{font-size:.74rem;font-weight:600;color:var(--tx2);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s}
.sec-tab__desc{font-size:.6rem;color:var(--tx4);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sec-main{flex:1;min-width:0;padding:1.7rem 2.25rem 4rem}
.ponte-notice{background:var(--clx);border:1px solid rgba(28,124,78,.25);border-radius:var(--r2);padding:.48rem .88rem;font-size:.75rem;color:var(--cl);font-weight:500;margin:0 0 1rem}

/* ════ LAYOUT CONTEÚDO ════ */
.content{max-width:1140px;margin:0 auto;padding:2.1rem 1.75rem 5rem}
.panel{animation:fadeUp .2s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.layout-split{display:grid;grid-template-columns:420px 1fr;gap:1.75rem;align-items:start}
.layout-split--wide{grid-template-columns:1fr}
.layout-split__form{position:sticky;top:calc(var(--h-hdr) + var(--h-nav) + 1.75rem);max-height:calc(100vh - var(--h-hdr) - var(--h-nav) - 3.5rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bdr) transparent}
.layout-split__results{min-width:0}
.intro{margin-bottom:1.1rem}
.intro h2{font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.28rem}
.mod-area--cl .intro h2{color:var(--cl)} .mod-area--pl .intro h2{color:var(--pl)}
.intro p{font-size:.84rem;color:var(--tx2);line-height:1.6}
.intro__note{font-size:.69rem;color:var(--cla);margin-top:.2rem;font-style:italic}
.intro__source{font-size:.69rem;color:var(--tx3);margin-top:.2rem}

/* ════ FORMULÁRIOS ════ */
.form-group{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);overflow:hidden;box-shadow:var(--s1);margin-bottom:1.05rem}
.form-group__header{padding:.56rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:.42rem;color:#fff}
.mod-area--pl .form-group__header{background:var(--pl)} .mod-area--cl .form-group__header{background:var(--cl)}
.form-group__icon{opacity:.6}
.form-group__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;padding:1rem}
.fcard{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);overflow:hidden;box-shadow:var(--s1);margin-bottom:1.05rem}
.fcard__hd{padding:.6rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--clx);color:var(--cl);border-bottom:1px solid var(--bdr2);display:flex;align-items:center;gap:.42rem}
.fcard__ico{opacity:.6}
.fcard__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;padding:1rem}
.fcard__body > .field__note{grid-column:1 / -1;margin:0 0 .15rem}
.field{display:flex;flex-direction:column;gap:.3rem}
.fcard__body > .field{justify-content:flex-end}
.fcard__body > .field > label{margin-bottom:auto;order:0}
.fcard__body > .field > .field__note,
.fcard__body > .field > .field__radio-row{order:1;margin:0}
.fcard__body > .field > .iw{order:2}
.field>label{font-size:.74rem;font-weight:600;color:var(--tx2);letter-spacing:.01em}
.field__note{font-size:.68rem;color:var(--tx3);line-height:1.45}
.field__note--alerta{color:#c0392b;font-weight:500}
.field__radio-row{display:flex;flex-wrap:wrap;gap:.45rem .65rem;padding-top:.25rem}
.radio-pill{display:flex;align-items:center;gap:.28rem;font-size:.72rem;color:var(--tx2);cursor:pointer;white-space:nowrap}
.radio-pill input{accent-color:var(--cl)}
.mod-area--oc .radio-pill input{accent-color:var(--oc)}
.mod-area--pl .radio-pill input{accent-color:var(--pl)}
.field__input-wrapper{display:flex;align-items:center;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur2);overflow:hidden;transition:border-color .13s,box-shadow .13s}
.field__input-wrapper:focus-within{background:var(--sur)}
.mod-area--pl .field__input-wrapper:focus-within{border-color:var(--pl3);box-shadow:0 0 0 2.5px rgba(28,124,78,.12)}
.mod-area--cl .field__input-wrapper:focus-within{border-color:var(--cl3);box-shadow:0 0 0 2.5px rgba(28,124,78,.12)}
.field__input-wrapper input{flex:1;min-width:0;border:none;background:transparent;padding:.42rem .55rem;font-family:var(--fm);font-size:.83rem;color:var(--tx1);outline:none}
.field__input-wrapper input::placeholder{color:var(--tx3);font-family:var(--f);font-size:.69rem}
.field__input-wrapper input::-webkit-outer-spin-button,.field__input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none}
.field__input-wrapper input[type=number]{-moz-appearance:textfield}
.field__unit{padding:.4rem .5rem;font-family:var(--fm);font-size:.65rem;color:var(--tx3);background:var(--bg);border-left:1px solid var(--bdr2);flex-shrink:0}
.iw{display:flex;align-items:center;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur2);overflow:hidden;transition:border-color .13s,box-shadow .13s}
.iw:focus-within{border-color:var(--cl3);box-shadow:0 0 0 2.5px rgba(28,124,78,.12);background:var(--sur)}
.iw__sel{flex:1;min-width:0;border:none;background:transparent;padding:.35rem .5rem;font-family:var(--f);font-size:.75rem;color:var(--tx1);cursor:pointer;outline:none}
.iw input[type=number],.iw input[type=text]{flex:1;min-width:0;width:100%;border:none;background:transparent;padding:.35rem .5rem;font-family:var(--fm);font-size:.77rem;color:var(--tx1);outline:none;-moz-appearance:textfield}
.iw input::-webkit-inner-spin-button{-webkit-appearance:none}
.iw__unit{padding:.33rem .45rem;font-family:var(--fm);font-size:.57rem;color:var(--tx3);background:var(--bg);border-left:1px solid var(--bdr2);flex-shrink:0}
.iw input:disabled,.iw__sel:disabled{color:var(--tx3);-webkit-text-fill-color:var(--tx3);background:var(--sur3);cursor:not-allowed}
.iw:has(input[aria-invalid="true"]){border-color:#c0392b;box-shadow:0 0 0 2px rgba(192,57,43,.10)}
.chk-row{display:flex;align-items:center;gap:.48rem;padding:.35rem .5rem;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur2);cursor:pointer;font-size:.75rem;color:var(--tx2);transition:background .12s}
.chk-row:hover{background:var(--sur)} .chk-row input[type=checkbox]{accent-color:var(--cl);flex-shrink:0}
.form-actions{display:flex;gap:.55rem;margin:.25rem 0}
.form-notice{font-size:.63rem;color:var(--tx3);line-height:1.5;padding:.5rem .78rem;margin-top:.5rem;background:var(--avb);border:1px solid var(--avc);border-radius:var(--r2)}

/* ════ BOTÕES ════ */
.btn{display:inline-flex;align-items:center;gap:.42rem;font-family:var(--f);font-size:.74rem;font-weight:600;border:none;border-radius:var(--r2);padding:.46rem 1.18rem;cursor:pointer;transition:background .12s,box-shadow .12s,transform .08s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.mod-area--cl .btn--primary{background:var(--cl);color:#fff;box-shadow:var(--s1)}
.mod-area--cl .btn--primary:hover{background:var(--cl2);box-shadow:var(--s2)}
.mod-area--pl .btn--primary{background:var(--pl);color:#fff;box-shadow:var(--s1)}
.mod-area--pl .btn--primary:hover{background:var(--pl2);box-shadow:var(--s2)}
.btn--ghost{background:transparent;color:var(--tx2);border:1px solid var(--bdr)}
.btn--ghost:hover{background:var(--bg)}
.btn--ponte{background:var(--cl);color:#fff;font-size:.73rem;padding:.42rem .98rem;border-radius:var(--r2);box-shadow:var(--s1)}
.btn--ponte:hover{background:var(--cl2)}
.ponte-box{margin-top:.85rem;background:var(--clx);border:1px solid rgba(28,124,78,.2);border-radius:var(--r4);padding:.72rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.ponte-box__info{display:flex;align-items:center;gap:.45rem;font-size:.73rem;color:var(--cl);flex:1}

/* ════ ALERTAS ════ */
.error-box{background:var(--feb);border:1px solid var(--fec);border-left:4px solid var(--fe);border-radius:var(--r3);padding:.65rem .9rem;font-size:.76rem;color:var(--fe);margin-bottom:1rem}
.error-box strong{display:block;margin-bottom:.25rem;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.error-box ul{padding-left:1rem} .error-box li{margin-bottom:.12rem}
.alert-list{display:flex;flex-direction:column;gap:.38rem;margin-bottom:1rem}
.alerta,.alert{display:flex;align-items:flex-start;gap:.48rem;padding:.46rem .78rem;border-radius:var(--r2);font-size:.75rem;line-height:1.5}
.alerta--erro,.alert--erro{background:var(--feb);border:1px solid var(--fec);color:var(--fe)}
.alerta--aviso,.alert--aviso{background:var(--avb);border:1px solid var(--avc);color:var(--av)}
.alerta--info,.alert--info{background:var(--inb);border:1px solid var(--inc);color:var(--in)}
.alerta__icone{font-weight:700;font-size:.76rem;margin-top:.03rem;flex-shrink:0}

/* ════ ZERO STATE ════ */
.zero-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.95rem;padding:3.75rem 2rem;background:var(--sur);border:1px solid var(--bdr2);border-radius:var(--r4);min-height:250px;text-align:center}
.zero-state__art{opacity:.22} .zero-state__art svg{width:46px;height:46px}
.zero-state strong{font-size:.84rem;font-weight:600;line-height:1.55}
.mod-area--cl .zero-state strong{color:var(--cl)} .mod-area--pl .zero-state strong{color:var(--pl)}
.zero-state span{font-size:.69rem;color:var(--tx3)} .zero-state__note{font-size:.7rem;color:var(--tx3);font-style:italic}

/* ════ RESULTADOS ════ */
.results-pane{animation:fadeUp .18s ease}
.results-pane__header{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}
.results-pane__header h2{font-size:.83rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mod-area--cl .results-pane__header h2{color:var(--cl)} .mod-area--pl .results-pane__header h2{color:var(--pl)}
.results-pane__module{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.16rem .48rem;border-radius:var(--r1);color:#fff}
.mod-area--cl .results-pane__module{background:var(--cl)} .mod-area--pl .results-pane__module{background:var(--pl)}
.results-pane__ref{font-size:.66rem;color:var(--tx3);margin-left:auto}

/* ════ TABELAS ════ */
.tbl-wrap{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);overflow:hidden;overflow-x:auto;box-shadow:var(--s2)}
.tbl{width:100%;border-collapse:collapse;font-size:.82rem}
.mod-area--cl .tbl thead tr{background:var(--cl)} .mod-area--pl .tbl thead tr{background:var(--pl)}
.tbl thead th{font-size:.67rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--txi);padding:.62rem .9rem;text-align:left;white-space:nowrap}
tr.results-group-header td{background:var(--bg);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);font-size:.59rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:.28rem .85rem}
.mod-area--cl tr.results-group-header td{color:var(--cl)} .mod-area--pl tr.results-group-header td{color:var(--pl)}
.tbl tbody tr:not(.results-group-header){border-bottom:1px solid var(--bdr2);transition:background .1s}
.tbl tbody tr:not(.results-group-header):hover{background:#F3F1EC}
.tbl tbody tr.row--calc{background:#EFF8F4} .tbl tbody tr.row--calc:hover{background:#E5F3EE}
.tbl td{padding:.6rem .9rem;vertical-align:middle}
.results-table{width:100%;border-collapse:collapse;font-size:.82rem}
.results-table thead th{font-size:.67rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--txi);padding:.58rem .85rem;text-align:left;background:var(--cl)}
.results-table td{padding:.56rem .85rem;border-bottom:1px solid var(--bdr2);vertical-align:middle}
.col-param{min-width:168px} .col-val{min-width:104px} .col-calc{min-width:104px}
.col-class{min-width:114px} .col-src{min-width:104px} .col-cmp{min-width:155px}
.param-name{display:block;font-weight:500} .param-formula{display:block;font-family:var(--fm);font-size:.58rem;margin-top:.05rem}
.mod-area--cl .param-formula{color:var(--cl3)} .mod-area--pl .param-formula{color:var(--pl3)}
.param-obs{display:block;font-size:.6rem;color:var(--tx3);margin-top:.04rem} .param-simbolo{display:block;font-family:var(--fm);font-size:.6rem;color:var(--tx3)}
.valor-num{font-family:var(--fm);font-size:.77rem;font-weight:500} .valor-unit{font-family:var(--fm);font-size:.58rem;color:var(--tx3)}
.valor-vazio{font-size:.72rem;color:var(--tx3)} .valor-neutro{font-family:var(--fm);font-size:.75rem;color:var(--tx2)} .fonte-text{font-size:.6rem;color:var(--tx3);font-style:italic}
.comp-status,.cmp-chip{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.11rem .38rem;border-radius:var(--r1)}
.comp--confere,.cmp--ok{background:var(--cokb);color:var(--cok)} .comp--leve,.cmp--leve{background:var(--clvb);color:var(--clv)} .comp--relevante,.cmp--rel{background:var(--crlb);color:var(--crl)}
.comp-diff{display:block;font-family:var(--fm);font-size:.58rem;color:var(--tx3);margin-top:.09rem}
.cmp-legend,.comp-legend{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem .85rem;font-size:.66rem;background:var(--sur);border:1px solid var(--bdr);border-top:none;border-radius:0 0 var(--r4) var(--r4)}

/* ════ BADGES ════ */
.badge{display:inline-block;padding:.18rem .5rem;border-radius:var(--r1);font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.badge--muito-baixo{background:var(--b-mb);color:var(--b-mb-t)} .badge--baixo{background:var(--b-bx);color:var(--b-bx-t)}
.badge--medio{background:var(--b-md);color:var(--b-md-t)} .badge--bom{background:var(--b-bm);color:var(--b-bm-t)}
.badge--muito-bom{background:var(--b-mx);color:var(--b-mx-t)} .badge--alert{background:var(--b-al);color:var(--b-al-t)}
.badge--neutro{background:var(--b-nt);color:var(--b-nt-t)} .badge--vazio{background:var(--b-vz);color:var(--b-vz-t)}
.bdg-legend{display:flex;flex-wrap:wrap;gap:.35rem .33rem;align-items:center;padding:.7rem .85rem;margin-top:.85rem;background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r3)}
.bdg-legend__title{font-size:.59rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-right:.2rem}
.bdg-legend__note{font-size:.61rem;color:var(--tx3);font-style:italic;margin-top:.2rem;width:100%}

/* ════ MEMÓRIA ════ */
.msec{margin-top:1.15rem} .msec__label{display:block;font-size:.59rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--tx3);padding-bottom:.48rem;border-bottom:1px solid var(--bdr2);margin-bottom:.68rem}
.mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem}
.mem-card{background:var(--sur);border:1px solid var(--bdr);border-left:3px solid var(--cl3);border-radius:var(--r3);padding:.75rem .9rem;box-shadow:var(--s1)}
.mem-titulo{font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--cl);margin-bottom:.26rem}
.mem-formula{font-family:var(--fm);font-size:.65rem;color:var(--tx3);margin-bottom:.11rem}
.mem-subst{font-family:var(--fm);font-size:.7rem;color:var(--tx2);margin-bottom:.11rem}
.mem-resultado{font-family:var(--fm);font-size:.8rem;color:var(--cl);border-top:1px solid var(--bdr2);padding-top:.25rem;margin-top:.25rem}
.mem-resultado strong{font-weight:700}
.mem-nota{font-size:.6rem;color:var(--tx3);font-style:italic;margin-top:.25rem;padding-top:.22rem;border-top:1px dashed var(--bdr)}
.mem-vazio{font-size:.76rem;color:var(--tx3);text-align:center;padding:1.4rem 1rem}

/* ════ REC CARDS ════ */
.rcard{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);padding:1.15rem 1.2rem;margin-bottom:1.05rem;box-shadow:var(--s1)}
.rcard__hd{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid var(--bdr2)}
.rcard__step{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;flex-shrink:0;border-radius:50%;background:var(--cl);color:#fff;font-size:.67rem;font-weight:700}
.rcard__hd h3{font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--cl)}
.rcard__hd small{font-size:.61rem;color:var(--tx3);margin-left:auto}
.rcard__body{margin-bottom:.46rem}
.rec-destaque{font-size:.86rem;font-weight:600;padding:.44rem .65rem;border-radius:var(--r2);margin-bottom:.3rem}
.rec-destaque--alerta{background:var(--avb);color:var(--av)} .rec-destaque--ok{background:var(--okb);color:var(--ok)}
.rec-sub{font-size:.69rem;color:var(--tx3);font-family:var(--fm)} .rec-sub-inline{font-size:.73rem;font-weight:400}
.rec-row{display:flex;align-items:center;gap:.55rem;padding:.28rem 0;border-bottom:1px solid var(--bdr2)}
.rec-row:last-child{border-bottom:none}
.rec-label{font-size:.73rem;font-weight:600;color:var(--tx2);min-width:112px}
.rec-row small{font-size:.61rem;color:var(--tx3);margin-left:auto}
.nota-n{font-size:.7rem;color:var(--tx2);font-style:italic;margin-top:.55rem;padding:.4rem .62rem;border-left:3px solid var(--cl3);background:var(--clx);border-radius:0 var(--r2) var(--r2) 0}

/* ════ AUDITORIA ════ */
.audit-details{margin-top:.85rem;border:1px solid var(--bdr2);border-radius:var(--r3);overflow:hidden}
.audit-details summary{padding:.44rem .88rem;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3);cursor:pointer;background:var(--bg);list-style:none;display:flex;align-items:center;gap:.38rem;user-select:none}
.audit-details summary::before{content:'▶';font-size:.57rem;transition:transform .15s;flex-shrink:0}
.audit-details[open] summary::before{transform:rotate(90deg)}
.audit-details--full summary{background:var(--clx);color:var(--cl)}
.audit-details[open]{border-color:rgba(28,124,78,.2)}
.audit-table{width:100%;border-collapse:collapse;font-size:.73rem}
.audit-table td{padding:.34rem .88rem;border-bottom:1px solid var(--bdr2);vertical-align:top}
.audit-table td:first-child{font-weight:600;color:var(--tx2);width:30%;white-space:nowrap}
.audit-table td:nth-child(2){font-family:var(--fm);font-size:.7rem}
.audit-table tr:nth-child(even) td{background:var(--sur2)}
.audit-src{font-size:.63rem;color:var(--tx3);font-style:italic}
.audit-table thead th{background:var(--cl);color:#fff;font-size:.61rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.34rem .88rem;text-align:left}

/* ════ RESUMO EXECUTIVO ════ */
.exec-card{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);box-shadow:var(--s2);overflow:hidden;margin-bottom:1.05rem}
.exec-header{display:flex;align-items:center;justify-content:space-between;padding:.62rem .95rem;background:var(--cl);color:#fff}
.exec-header__title{font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.exec-header__meta{display:flex;align-items:center;gap:.42rem;font-size:.7rem;color:rgba(255,255,255,.65)}
.exec-sep{color:rgba(255,255,255,.3)}
.exec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.55rem;padding:.82rem .95rem}
.exec-block{display:flex;flex-direction:column;gap:.22rem;background:var(--sur2);border:1px solid var(--bdr2);border-radius:var(--r3);padding:.52rem .62rem}
.exec-block--destaque{border-width:1.5px}
.exec-block--ok{border-color:rgba(25,96,56,.25);background:var(--okb)}
.exec-block--alerta{border-color:rgba(158,85,0,.28);background:var(--avb)}
.exec-block__label{font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3)}
.exec-pill{display:flex;align-items:baseline;gap:.22rem}
.exec-pill__val{font-family:var(--fm);font-size:.9rem;font-weight:700;color:var(--tx1)}
.exec-pill__un{font-family:var(--fm);font-size:.58rem;color:var(--tx3)}
.exec-pill--zero .exec-pill__val{color:var(--tx3);font-weight:400;font-size:.8rem}
.exec-pill--grande .exec-pill__val{font-size:1.15rem}
.exec-alert{font-size:.63rem;color:var(--av);font-weight:600;margin-top:.1rem}
.exec-note{font-size:.62rem;color:var(--tx3);font-style:italic}
.exec-pendencias{display:flex;align-items:center;flex-wrap:wrap;gap:.28rem .48rem;padding:.56rem .95rem;background:#FEF3DC;border-top:1px solid var(--avc);font-size:.67rem}
.exec-pendencias__label{font-weight:700;color:var(--av);letter-spacing:.04em;text-transform:uppercase}
.exec-pendencias__item{color:var(--av)}

/* ════ CUSTO / CENÁRIOS ════ */
.custo-resumo{display:flex;flex-direction:column;gap:.36rem;margin-bottom:.5rem}
.cost-total{display:flex;align-items:center;justify-content:space-between;padding:.52rem .88rem;background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r3)}
.cost-total--diff{background:var(--sur2)}
.cost-total__label{font-size:.75rem;color:var(--tx2);font-weight:500}
.cost-total__val{font-family:var(--fm);font-size:.86rem;font-weight:700;color:var(--cl)}
.cost-cat{display:flex;align-items:center;justify-content:space-between;padding:.3rem .88rem;font-size:.73rem;color:var(--tx2);border-bottom:1px solid var(--bdr2)}
.cost-cat:last-child{border-bottom:none}
.cen-table thead th:nth-child(2){background:var(--cl)}
.cen-table thead th:nth-child(3){background:var(--cl2)}
.cen-table thead th:nth-child(4){background:#3A3A30;font-style:italic}
.cen-mais{color:var(--fe);font-weight:600} .cen-menos{color:var(--ok);font-weight:600}

/* ════ OBSERVAÇÕES ════ */
.obs-wrap{max-width:980px} .obs-title{font-size:.83rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cl);margin-bottom:1rem}
.obs-intro-box{background:var(--sur);border:1px solid var(--bdr);border-left:4px solid var(--pl);border-radius:var(--r3);padding:.85rem 1rem;margin-bottom:1.1rem}
.obs-intro-box p{font-size:.79rem;color:var(--tx2);line-height:1.65;margin-bottom:.45rem}
.obs-intro-box p:last-child{margin-bottom:0}
.obs-intro-box strong{color:var(--tx1)}
.obs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;margin-bottom:1.1rem}
.ocard{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);padding:.92rem 1rem;box-shadow:var(--s1)}
.ocard--wide{grid-column:1/-1}
.ocard h3{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cl);margin-bottom:.6rem;padding-bottom:.3rem;border-bottom:2px solid var(--cl3)}
.ocard dl{display:flex;flex-direction:column;gap:.38rem} .ocard dt{font-weight:600;font-size:.71rem;color:var(--tx2)} .ocard dd{font-size:.7rem;color:var(--tx3);padding-left:.6rem;line-height:1.5}
.obs-tbl{width:100%;border-collapse:collapse;font-size:.71rem;margin-top:.3rem}
.obs-tbl thead th{background:var(--cl);color:var(--txi);font-size:.59rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.34rem .6rem;text-align:left}
.obs-tbl tbody tr:nth-child(even){background:var(--bg)}
.obs-tbl td{padding:.34rem .6rem;border-bottom:1px solid var(--bdr2);vertical-align:top}
.obs-tbl td:first-child{font-family:var(--fm);color:var(--cla);font-weight:600}
.obs-yes{color:var(--ok);font-weight:700} .obs-no{color:var(--tx3)} .obs-part{color:var(--av);font-weight:600}
.obs-disc{font-size:.7rem;color:var(--tx3);line-height:1.65;padding:.7rem .92rem;background:var(--sur);border:1px solid var(--bdr);border-left:4px solid var(--cla);border-radius:var(--r3);margin-top:.5rem}

/* ════ COMO FUNCIONA ════ */
.mod-area--como{background:var(--bg)}
.content--como{max-width:980px;margin:0 auto;padding:2.5rem 1.75rem 5rem}
.como-hero{text-align:center;padding:1.5rem 1rem 2rem;border-bottom:1px solid var(--bdr2);margin-bottom:1.75rem}
.como-hero__title{font-size:1.4rem;font-weight:700;color:var(--tx1);letter-spacing:-.02em;line-height:1.3;margin-bottom:.65rem}
.como-hero__sub{font-size:.88rem;color:var(--tx3);max-width:540px;margin:0 auto;line-height:1.65}
.como-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:.85rem;margin-bottom:1.75rem}
.como-card{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);padding:1.1rem 1.25rem;box-shadow:var(--s1);display:flex;gap:.9rem;align-items:flex-start}
.como-card--wide{grid-column:1/-1}
.como-card--aviso{border-color:rgba(158,85,0,.3);background:#FFFBF2}
.como-card__icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--bdr)}
.como-card__icon svg{width:19px;height:19px;stroke:var(--tx3)}
.como-card__icon--cl,.como-card__icon--pl{background:var(--comox);border-color:rgba(106,90,156,.25)}
.como-card__icon--cl svg,.como-card__icon--pl svg{stroke:var(--como)}
.como-card--aviso .como-card__icon{background:var(--avb);border-color:var(--avc)}
.como-card--aviso .como-card__icon svg{stroke:var(--av)}
.como-card__body{flex:1;min-width:0}
.como-card__body h2{font-size:.8rem;font-weight:700;color:var(--tx1);margin-bottom:.45rem}
.como-card__body em{font-style:normal;color:var(--como)}
.como-card--aviso .como-card__body h2{color:var(--av)}
.como-card__body p{font-size:.77rem;color:var(--tx2);line-height:1.6;margin-bottom:.45rem}
.como-card__body p:last-child{margin-bottom:0}
.como-card__body ul{font-size:.79rem;color:var(--tx2);line-height:1.75;padding-left:1.1rem;margin-bottom:.55rem}
.como-card__body ul:last-child{margin-bottom:0}
.como-card__body strong{font-weight:600;color:var(--tx1)}
.como-footer{font-size:.72rem;color:var(--tx3);line-height:1.7;padding:1.25rem 1.5rem;background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);margin-top:1rem}
.como-footer p{margin-bottom:.2rem}

/* ════ FORMULÁRIO DO LAUDO — layout horizontal em grade ════ */
.laudo-intro{margin-bottom:1rem}
.laudo-intro h2{font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.22rem;color:var(--cl)}
.laudo-intro p{font-size:.77rem;color:var(--tx2);line-height:1.55}
.laudo-results-wrap{margin-top:1.5rem}
/* Seção */
.lf-section{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);overflow:hidden;box-shadow:var(--s1);margin-bottom:1rem}
.lf-section__hd{padding:.58rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cl);background:var(--clx);border-bottom:1px solid var(--bdr2)}
.lf-section--derived .lf-section__hd{background:var(--clx);color:var(--cl)}
/* Grade interna */
.lf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:.7rem;padding:.95rem 1rem 1.05rem}
.lf-section--derived .lf-grid{background:var(--clx);grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}
/* Campo */
.lf-field{display:flex;flex-direction:column;gap:.18rem}
.lf-label{font-size:.73rem;font-weight:600;color:var(--tx2);display:flex;align-items:center;gap:.25rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-section--derived .lf-label{color:var(--cl);font-size:.65rem}
/* Tooltip */
.lf-hint{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:rgba(28,124,78,.14);color:var(--cl);font-size:.58rem;font-weight:700;cursor:help;flex-shrink:0;line-height:1}
.lf-hint:hover{background:var(--cl);color:#fff}
/* Input wrapper */
.lf-iw{display:flex;align-items:stretch;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur2);overflow:hidden;transition:border-color .13s,box-shadow .13s}
.lf-iw:focus-within{border-color:var(--cl3);box-shadow:0 0 0 2px rgba(28,124,78,.12);background:var(--sur)}
.lf-section--derived .lf-iw{background:rgba(255,255,255,.55)}
.lf-section--derived .lf-iw:focus-within{background:var(--sur)}
.lf-input{flex:1;min-width:0;border:none;background:transparent;padding:.3rem .45rem;font-family:var(--fm);font-size:.8rem;color:var(--tx1);outline:none;-moz-appearance:textfield;width:0}
.lf-input::-webkit-outer-spin-button,.lf-input::-webkit-inner-spin-button{-webkit-appearance:none}
.lf-input::placeholder{color:var(--tx4);font-family:var(--f);font-size:.68rem}
.lf-unit{padding:.3rem .44rem;font-family:var(--fm);font-size:.65rem;color:var(--tx3);background:var(--bg);border-left:1px solid var(--bdr2);flex-shrink:0;display:flex;align-items:center;white-space:nowrap}
/* Nota derivados */
.lf-derived-note{font-size:.67rem;color:var(--cl);font-style:italic;padding:.4rem .9rem .55rem;background:var(--clx);border-top:1px solid rgba(28,124,78,.12)}
.lf-actions{margin-top:.2rem}
/* Seção de laudo recolhível (Derivados) — <details>/<summary> */
details.lf-section>summary.lf-section__hd{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.4rem}
details.lf-section>summary.lf-section__hd::-webkit-details-marker{display:none}
details.lf-section>summary.lf-section__hd::after{content:'+';margin-left:auto;font-size:.86rem;font-weight:700;line-height:1}
details.lf-section[open]>summary.lf-section__hd::after{content:'–'}

/* ════ UTILITÁRIOS (substituem estilos inline no HTML/JS) ════ */
.u-mt-xs{margin-top:.25rem}
.u-mt-sm{margin-top:.5rem}
.u-mt-md{margin-top:.85rem}
.u-mt-lg{margin-top:1rem}
.u-scroll-x{overflow-x:auto}
.audit-scroll{overflow-x:auto;padding:.5rem 0}
.tbl-aux{font-size:.71rem}
.lf-field--wide{grid-column:span 2}
.zero-state__hint{font-size:.66rem;color:var(--tx4)}
.copos-box{padding:.5rem .9rem .75rem}
.copos-box .msec__label{margin-bottom:.5rem}
.copos-actions{margin-top:.5rem;flex-direction:row;gap:.4rem}
.copos-actions>.btn{flex:1}
.copos-item .lf-iw{flex:1}


/* M2 Planilha: lf-section uses teal */
.lf-section--pl .lf-section__hd{background:var(--plx);color:var(--pl)}
.lf-section--pl .lf-hint{background:rgba(31,111,153,.14);color:var(--pl)}
.lf-section--pl .lf-hint:hover{background:var(--pl);color:#fff}
.lf-section--pl .lf-iw:focus-within{border-color:var(--pl3);box-shadow:0 0 0 2px rgba(31,111,153,.14)}
/* intro para planilha */
.intro--pl h2{color:var(--pl)}
/* 2-col radio cards */
.fcard__body--radio2{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.75rem .95rem}
.fcard__body--radio3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.42rem;padding:.75rem .95rem}
/* Como Funciona: hero menor, grid mais compacto */

/* ════ lf-section variantes OC e helper classes ════ */
.lf-section__hd--pl{background:var(--plx);color:var(--pl)}
.lf-section__hd--oc{background:var(--ocx);color:var(--oc)}
.intro--oc h2{color:var(--oc)}
.mod-area--oc .lf-iw:focus-within{border-color:var(--oc3);box-shadow:0 0 0 2px rgba(156,99,40,.14)}
.mod-area--oc .lf-hint{background:rgba(156,99,40,.14);color:var(--oc)}
.mod-area--oc .lf-hint:hover{background:var(--oc);color:#fff}
/* Radio grid inside lf-section */
.lf-grid--radio{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
/* Select inside lf-iw */
.lf-iw select{flex:1;min-width:0;border:none;background:transparent;padding:.3rem .45rem;font-family:var(--f);font-size:.78rem;color:var(--tx1);cursor:pointer;outline:none}
/* Seletor de unidade compacto (ex.: argila % ou g/kg) — ocupa o lugar de .lf-unit */
.lf-iw select.lf-unit-sel{flex:0 0 auto;width:auto;min-width:0;padding:.28rem .18rem .28rem .34rem;font-family:var(--fm);font-size:.62rem;color:var(--tx3);background:var(--bg);border:none;border-left:1px solid var(--bdr2);cursor:pointer;outline:none}

/* ════ RODAPÉ ════ */
.site-footer{
  border-top:1px solid var(--bdr);
  padding:.8rem 1.75rem;
  background:var(--sur);
  margin-top:3rem;
  display:flex;flex-direction:column;align-items:center;gap:.22rem;
  text-align:center;
}
.site-footer p{font-size:.64rem;color:var(--tx3);line-height:1.5}
.site-footer__aviso{font-size:.62rem;color:var(--tx4)}



/* ════ FORMULAÇÃO NPK AUTOMÁTICA ════ */
.form-needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:.55rem}
.form-need-block{background:var(--bg);border:1px solid var(--bdr);border-radius:var(--r3);padding:.55rem .65rem;text-align:center;display:flex;flex-direction:column;gap:.1rem}
.form-need-block--active{background:var(--clx);border-color:rgba(28,124,78,.25)}
.form-need-label{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.form-need-block--active .form-need-label{color:var(--cl)}
.form-need-val{font-family:var(--fm);font-size:1.1rem;font-weight:700;color:var(--tx1);line-height:1.1}
.form-need-block--active .form-need-val{color:var(--cl)}
.form-need-un{font-size:.6rem;color:var(--tx3)}
.form-needs-note{font-size:.71rem;color:var(--tx2)}
/* Tabela comparativa */
.form-comp-table tbody tr:hover td{background:rgba(28,124,78,.04)}
.form-row--best td{background:var(--clx) !important}
.form-row--best:hover td{background:var(--clx) !important}
.form-badge{display:inline-block;font-size:.58rem;font-weight:700;padding:.1rem .32rem;border-radius:var(--r1);margin-left:.38rem;vertical-align:middle}
.form-badge--melhor{background:var(--cl);color:#fff}
.form-badge--menor-excesso{background:var(--okb);color:var(--ok)}
.form-badge--equilibrado{background:var(--inb);color:var(--in)}
/* Deltas */
.form-delta{display:inline-block;font-family:var(--fm);font-size:.66rem;font-weight:600;padding:.06rem .22rem;border-radius:2px;margin-left:.22rem}
.form-delta--ok{color:var(--tx3)}
.form-delta--plus{background:var(--inb);color:var(--in)}
.form-delta--minus{background:var(--feb);color:var(--fe)}



/* ════ CALIBRAÇÃO DE PULVERIZADORES ════ */
.pulv-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.75rem 0 .5rem;border-bottom:1px solid var(--bdr2);margin-bottom:1rem}
.pulv-tab{font-size:.74rem;font-weight:600;padding:.38rem .85rem;border:1.5px solid var(--bdr);border-radius:var(--r2);background:var(--sur2);cursor:pointer;color:var(--tx2);transition:all .13s}
.pulv-tab:hover{border-color:var(--oc);color:var(--oc);background:var(--ocx)}
.pulv-tab--active{border-color:var(--oc);background:var(--oc);color:#fff}
.pulv-painel{animation:fadeUp .18s ease}
/* Copos list */
.copos-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.32rem}
.copos-num{font-size:.7rem;font-weight:600;color:var(--tx3);min-width:48px;flex-shrink:0;font-family:var(--fm)}
/* exec-card OC color */
.exec-card--oc .exec-header{background:var(--oc)}
/* Mobile pulv-tabs */
@media(max-width:700px){
  .pulv-tabs{gap:.28rem}
  .pulv-tab{font-size:.67rem;padding:.3rem .6rem}
}

/* ════ RELATÓRIO (cabeçalho e assinatura) ════ */
.rep-cabecalho{
  border:1px solid var(--bdr2);border-radius:var(--r3);
  background:var(--sur);padding:1rem 1.1rem;margin-bottom:1rem;
}
.rep-header__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.rep-header__brand{display:flex;align-items:center;gap:.6rem;min-width:0}
.rep-header__logo{height:30px;width:auto;object-fit:contain}
.rep-header__title{font-size:.95rem;font-weight:700;color:var(--cl);line-height:1.25}
.rep-header__sub{font-size:.68rem;color:var(--tx3)}
.rep-header__data{font-size:.74rem;color:var(--tx3);font-family:var(--fm);white-space:nowrap}
.rep-meta{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:.45rem .9rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--bdr2);
}
.rep-meta--wide{grid-column:1/-1}
.rep-meta dt{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tx4)}
.rep-meta dd{font-size:.78rem;color:var(--tx1);margin-top:.06rem}
.rep-sign{display:none}            /* visível apenas na impressão / PDF */
.form-hint{font-size:.68rem;color:var(--tx3);align-self:center}

/* ════ HISTÓRICO DE LAUDOS ════ */
.hist{border:1px solid var(--bdr2);border-radius:var(--r3);background:var(--sur);margin-bottom:1.1rem}
.hist__summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;
  padding:.58rem .85rem;font-size:.78rem;font-weight:600;color:var(--tx2);
}
.hist__summary::-webkit-details-marker{display:none}
.hist__summary svg{stroke:var(--tx3);flex-shrink:0}
.hist__count{color:var(--tx4);font-weight:600}
.hist__summary::after{
  content:'';margin-left:auto;width:7px;height:7px;
  border-right:2px solid var(--tx4);border-bottom:2px solid var(--tx4);
  transform:rotate(45deg);transition:transform .15s;
}
.hist[open] .hist__summary::after{transform:rotate(-135deg)}
.hist__body{padding:0 .85rem .8rem;border-top:1px solid var(--bdr2)}
.hist-salvar{display:flex;gap:.5rem;padding:.7rem 0;flex-wrap:wrap}
.hist-salvar__nome{
  flex:1;min-width:170px;font:inherit;font-size:.78rem;
  padding:.42rem .6rem;border:1px solid var(--bdr);border-radius:var(--r2);
  background:var(--sur2);color:var(--tx1);
}
.hist-salvar__nome:focus{outline:none;border-color:var(--cl)}
.hist-salvar .btn{padding:.42rem .85rem;font-size:.76rem}
.hist-lista{display:flex;flex-direction:column;gap:.32rem}
.hist-item{display:flex;gap:.4rem;align-items:stretch}
.hist-item__open{
  flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:.6rem;
  padding:.44rem .65rem;border:1px solid var(--bdr2);border-radius:var(--r2);
  background:var(--sur2);cursor:pointer;text-align:left;font:inherit;
  transition:background .12s,border-color .12s;
}
.hist-item__open:hover{background:var(--clx);border-color:rgba(28,124,78,.3)}
.hist-item__nome{font-size:.78rem;font-weight:600;color:var(--tx1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-item__data{font-size:.68rem;color:var(--tx4);font-family:var(--fm);flex-shrink:0}
.hist-item__del{
  flex-shrink:0;width:32px;border:1px solid var(--bdr2);border-radius:var(--r2);
  background:var(--sur2);color:var(--tx4);cursor:pointer;font-size:.78rem;line-height:1;
  transition:background .12s,color .12s,border-color .12s;
}
.hist-item__del:hover{background:var(--feb);color:var(--fe);border-color:var(--fec)}
.hist-vazio{font-size:.74rem;color:var(--tx4);padding:.25rem 0 .1rem}

/* ════ DIAGNÓSTICO VISUAL (Planilha) ════ */
.pl-diagnostico{margin-bottom:1.6rem}
.diag-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.95rem}
.diag-titulo{font-size:.92rem;font-weight:700;color:var(--tx1)}
.diag-resumo{display:flex;flex-wrap:wrap;gap:.4rem}
.diag-chip{font-size:.7rem;padding:.22rem .55rem;border-radius:var(--r2);background:var(--sur2);
  color:var(--tx2);border:1px solid var(--bdr2)}
.diag-chip strong{font-weight:700}
.diag-chip--z0{color:var(--fe);border-color:var(--fec);background:var(--feb)}
.diag-chip--z1{color:var(--av);border-color:var(--avc);background:var(--avb)}
.diag-chip--z2{color:var(--cl);border-color:rgba(28,124,78,.3);background:var(--clx)}
.diag-chip--z3{color:var(--in);border-color:var(--inc);background:var(--inb)}
.diag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:.7rem}
.diag-card{background:var(--sur);border:1px solid var(--bdr2);border-radius:var(--r3);padding:.72rem .8rem;min-width:0}
.diag-card__top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem}
.diag-card__nome{font-size:.74rem;font-weight:600;color:var(--tx2);line-height:1.25;min-width:0;overflow-wrap:anywhere}
.diag-card__valor{font-size:.74rem;font-weight:700;color:var(--tx1);font-family:var(--fm);white-space:nowrap}
.diag-bar{display:flex;gap:3px}
.diag-seg{flex:1;height:7px;border-radius:3px;opacity:.16;transition:opacity .12s}
.diag-seg--on{opacity:1}
.diag-seg[data-z="0"]{background:var(--fe)}
.diag-seg[data-z="1"]{background:var(--av)}
.diag-seg[data-z="2"]{background:var(--cl)}
.diag-seg[data-z="3"]{background:var(--in)}
.diag-card__classe{font-size:.66rem;font-weight:700;margin-top:.34rem;letter-spacing:.01em}
.diag-card--z0 .diag-card__classe{color:var(--fe)}
.diag-card--z1 .diag-card__classe{color:var(--av)}
.diag-card--z2 .diag-card__classe{color:var(--cl)}
.diag-card--z3 .diag-card__classe{color:var(--in)}
@media(max-width:700px){
  .diag-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}

/* ════ TECNOLOGIA DE APLICAÇÃO ════ */
.content--oc{max-width:none;margin:0;padding:.5rem 0 3rem}
.tec-hero{text-align:left;padding:.3rem 0 1.35rem;border-bottom:1px solid var(--bdr2);margin-bottom:1.55rem}
.tec-hero__title{font-size:1.3rem;font-weight:700;color:var(--oc);letter-spacing:-.02em;line-height:1.3;margin-bottom:.5rem}
.tec-hero__sub{font-size:.8rem;color:var(--tx3);max-width:760px;margin:0;line-height:1.65}
/* Masonry fluida: cards empacotados em colunas, ocupando toda a largura */
.tec-grid{columns:290px;column-gap:1.1rem;margin-bottom:1.1rem}
.tec-grid > .tec-card{break-inside:avoid;margin-bottom:1.1rem}
/* Tec card */
.tec-card{background:var(--sur);border:1px solid var(--bdr2);border-radius:var(--r4);padding:1.4rem;display:flex;gap:.9rem;flex-direction:column;align-items:stretch;min-width:0}
/* Introdução: banner de largura total com ícone à esquerda */
.tec-card--lead{flex-direction:row;align-items:flex-start;gap:1.1rem;margin-bottom:1.1rem}
/* Checklist: card de largura total */
.tec-card--wide{margin-bottom:1.1rem}
.tec-card--aviso{border-color:rgba(158,85,0,.3);background:#FFFBF2}
.tec-card__icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--bdr)}
.tec-card__icon svg{width:19px;height:19px;stroke:var(--tx3)}
.tec-card__icon--oc{background:var(--ocx);border-color:rgba(156,99,40,.22)}
.tec-card__icon--oc svg{stroke:var(--oc)}
.tec-card__icon--aviso{background:var(--avb);border-color:var(--avc)}
.tec-card__icon--aviso svg{stroke:var(--av)}
.tec-card--aviso .tec-card__body h2{color:var(--av)}
.tec-card__body{flex:1;min-width:0}
.tec-card__body h2{font-size:.8rem;font-weight:700;color:var(--oc);margin-bottom:.48rem}
.tec-card__body p{font-size:.78rem;color:var(--tx2);line-height:1.62;margin-bottom:.45rem}
.tec-card__body p:last-child{margin-bottom:0}
.tec-card__body ul{font-size:.78rem;color:var(--tx2);line-height:1.75;padding-left:1.1rem;margin-bottom:.45rem}
.tec-card__body ul:last-child{margin-bottom:0}
.tec-card__body strong{font-weight:600;color:var(--tx1)}
/* Condições climáticas */
.tec-conditions{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:.4rem}
.tec-cond-item{background:var(--ocx);border:1px solid rgba(156,99,40,.2);border-radius:var(--r3);padding:.55rem .65rem;display:flex;flex-direction:column;gap:.12rem}
.tec-cond-label{font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--oc)}
.tec-cond-ideal{font-size:.73rem;font-weight:600;color:var(--tx1)}
.tec-cond-note{font-size:.65rem;color:var(--tx3);line-height:1.45}
/* Tabela de formulações */
.tec-table-wrap{margin:.5rem 0;overflow-x:auto}
.tec-table{width:100%;border-collapse:collapse;font-size:.72rem}
.tec-table thead th{background:var(--oc);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .6rem;text-align:left}
.tec-table tbody tr:nth-child(even){background:var(--ocx)}
.tec-table td{padding:.3rem .6rem;border-bottom:1px solid var(--bdr2);vertical-align:top}
.tec-table td:first-child{font-family:var(--fm);font-weight:600;color:var(--oc);white-space:nowrap}
/* Checklist */
.tec-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:.6rem}
.tec-check-group{display:flex;flex-direction:column;gap:.32rem}
.tec-check-title{font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oc);padding-bottom:.28rem;border-bottom:2px solid var(--oc3);margin-bottom:.1rem}
.tec-check-item{display:flex;align-items:flex-start;gap:.42rem;font-size:.75rem;color:var(--tx2);cursor:pointer;padding:.22rem 0;line-height:1.45}
.tec-check-item input[type=checkbox]{accent-color:var(--oc);flex-shrink:0;margin-top:.12rem;width:14px;height:14px}
.tec-check-item:has(input:checked) span{text-decoration:line-through;color:var(--tx4)}
/* Mobile */
@media(max-width:700px){
  .tec-grid{columns:1}
  .tec-card{flex-direction:column;gap:.65rem}
  .tec-card--lead{flex-direction:column;gap:.65rem}
  .tec-checklist{grid-template-columns:1fr}
  .tec-hero__title{font-size:1.05rem}
}

/* ════ @MEDIA PRINT ════ */
@media print {
  /* Ocultar tudo que não é conteúdo */
  .site-header,.main-nav,.sec-nav,.site-footer,
  .laudo-intro,.lf-section,.form-actions,.ponte-box,
  .layout-split__form,.zero-state,.btn,.audit-details summary,
  #painel-laudo,#painel-calculos,#painel-form,
  #painel-custo,#painel-cenarios,#painel-obs,
  #ld-rec-alertas,#ld-rec-empty,#ld-ponte-notice,
  .exec-pendencias { display:none !important; }

  /* Mostrar apenas o painel de recomendação */
  body,.mod-area--cl { background:#fff !important; }
  /* Só o módulo de Cálculos é impresso; os demais seguem ocultos (hidden). */
  #modulo-calculos { display:block !important; }
  .mod-body { display:block !important; }
  .sec-main { padding:0 !important; }
  #painel-rec { display:block !important; }
  #ld-rec-section { display:block !important; }
  .rcard { box-shadow:none !important; border:1px solid #ccc !important; margin-bottom:.6rem !important; break-inside:avoid; }
  .rcard__hd h3 { color:#1C7C4E !important; }
  .exec-card { box-shadow:none !important; border:1px solid #ccc !important; break-inside:avoid; }
  .exec-header { background:#1C7C4E !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .mem-card { box-shadow:none !important; border:1px solid #ddd !important; }
  .mem-titulo { color:#1C7C4E !important; }

  .layout-split { display:block !important; }

  /* Cabeçalho do relatório */
  .rep-cabecalho {
    border:none !important; background:none !important;
    border-radius:0 !important; padding:0 0 8pt !important;
    border-bottom:2px solid #1C7C4E !important; margin-bottom:12pt !important;
  }
  .rep-header__title { color:#1C7C4E !important; }
  .rep-meta { border-top-color:#ccc !important; }

  /* Bloco de assinatura (somente impressão) */
  .rep-sign { display:block !important; break-inside:avoid; margin-top:22pt; }
  .rep-sign__line { border-top:1px solid #333; width:55%; margin:0 auto 4pt; }
  .rep-sign__name { text-align:center; font-size:9pt; font-weight:700; color:#222; }
  .rep-sign__disc { font-size:7pt; color:#666; line-height:1.5; margin-top:10pt; text-align:justify; }

  /* Rodapé de impressão */
  #painel-rec::after {
    content: 'Base técnica: Sousa & Lobato (2004). Cerrado: Correção do Solo e Adubação. 2ª ed. Embrapa.  |  Ferramenta: SoloLab (sololab.app)';
    display:block;
    font-size:7pt;
    color:#666;
    border-top:1px solid #ccc;
    padding-top:6pt;
    margin-top:16pt;
  }

  /* audit-details: mostrar conteúdo aberto sem interação */
  .audit-details[open] { display:block !important; }
  .audit-details summary { display:none !important; }
  .audit-details > div { display:block !important; }
}

/* ════ RESPONSIVO ════ */
@media(max-width:1024px){
  .mod-body{flex-direction:column}
  /* ── Sidebar horizontal ── */
  .sec-nav{
    width:100%;height:auto;
    position:sticky;top:calc(var(--h-hdr) + var(--h-nav));
    flex-direction:row;flex-wrap:nowrap;gap:3px;
    overflow-x:auto;overflow-y:hidden;
    padding:.42rem .75rem;
    border-right:none;border-bottom:2px solid var(--bdr);
    scrollbar-width:none;z-index:180;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    /* m7: sombra de rolagem indica que há mais abas para o lado */
    background-color:var(--sur3);
    background-image:
      linear-gradient(to right, var(--sur3), rgba(247,245,242,0)),
      linear-gradient(to left,  var(--sur3), rgba(247,245,242,0)),
      linear-gradient(to right, rgba(0,0,0,.13), rgba(0,0,0,0)),
      linear-gradient(to left,  rgba(0,0,0,.13), rgba(0,0,0,0));
    background-position:0 0, 100% 0, 0 0, 100% 0;
    background-repeat:no-repeat;
    background-size:30px 100%, 30px 100%, 16px 100%, 16px 100%;
    background-attachment:local, local, scroll, scroll;
  }
  .sec-nav::-webkit-scrollbar{display:none}
  .sec-nav__group{flex-direction:row;margin-bottom:0;gap:2px}
  .sec-nav__group-label,.sec-nav__sep{display:none}
  .sec-tab,.cultura-tab,.oc-tab{
    flex-shrink:0;width:auto;flex-direction:row;
    padding:.42rem .78rem;border-radius:var(--r2);
    min-height:36px;align-items:center;
    scroll-snap-align:start;
  }
  .sec-tab__desc{display:none}
  .sec-tab__icon{width:15px;height:15px}
  .sec-tab__icon svg{width:12px;height:12px}
  .sec-tab__name{display:block;font-size:.72rem;white-space:nowrap}
  .sec-tab__name--short{display:none}
  .sec-tab::before,.cultura-tab::before,.oc-tab::before{display:none}
  .layout-split{grid-template-columns:1fr}
  .layout-split__form{position:static;max-height:none;overflow-y:visible}
  .hdr{padding:0 1rem} .mnav{padding:0 1rem}
  .como-grid{grid-template-columns:1fr}
  .lf-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
}
/* ═══════════════════════════════════════════════
   MOBILE — ≤ 700px
   Testado para: 360 / 375 / 390 / 412 / 430 px
   ═══════════════════════════════════════════════ */
@media(max-width:700px){

  /* CSS vars para mobile — usados em sticky calc */
  :root{
    --h-hdr: 46px;
    --h-nav: 58px;
  }

  /* ── Header ─────────────────────────────────── */
  .site-header{height:var(--h-hdr)}
  .hdr{padding:0 .85rem}
  .hdr__logo{height:22px}
  .hdr__name{font-size:.82rem}
  .hdr__welcome,.hdr__sep{display:none}

  /* ── Nav principal ───────────────────────────── */
  /* Altura fixa definida, botões dividem 100% */
  .main-nav{
    height:var(--h-nav);
    position:sticky;top:var(--h-hdr);z-index:590;
  }
  .mnav{
    height:100%;
    padding:0;
    display:flex;
    flex-wrap:nowrap;
    overflow:visible; /* botões usam flex:1, sem overflow */
    gap:0;
  }
  .mod-btn{
    flex:1;              /* divide a largura total igualmente */
    min-width:0;         /* permite encolher livremente */
    max-width:none;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:.3rem .25rem;
    gap:.22rem;
    border-bottom:2.5px solid transparent;
    border-left:none;
  }
  .mod-btn::after{display:none}
  .mod-btn__ico{width:24px;height:24px;flex-shrink:0}
  .mod-btn__ico svg{width:12px;height:12px}
  .mod-btn__txt{align-items:center;text-align:center;overflow:hidden;width:100%}
  .mod-btn__title{display:none}
  .mod-btn__title--short{
    display:block;
    font-size:.6rem;font-weight:600;
    color:rgba(255,255,255,.48);
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    width:100%;
    max-width:80px;
  }
  .mod-btn__hint{display:none}
  /* Títulos curtos ativos */
  .mod-btn[data-module="calculos"].mod-btn--active .mod-btn__title--short{color:#76D9A8}
  .mod-btn[data-module="planilha"].mod-btn--active .mod-btn__title--short{color:#84C8EC}
  .mod-btn[data-module="outros"].mod-btn--active .mod-btn__title--short{color:#E3B179}
  .mod-btn[data-module="como"].mod-btn--active .mod-btn__title--short{color:#BCB0E2}

  /* ── Sidebar lateral → horizontal no topo ────── */
  .mod-body{flex-direction:column}
  .sec-nav{
    width:100%;height:auto;
    position:sticky;
    top:calc(var(--h-hdr) + var(--h-nav));
    flex-direction:row;flex-wrap:nowrap;
    overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding:.35rem .6rem;
    gap:3px;
    border-right:none;border-bottom:1px solid var(--bdr);
    scrollbar-width:none;z-index:180;
  }
  .sec-nav::-webkit-scrollbar{display:none}
  .sec-nav__group{flex-direction:row;margin-bottom:0;gap:3px;flex-shrink:0;align-items:center}
  .sec-nav__group-label,.sec-nav__sep{display:none}
  /* ── abas internas: compactas, sem sobreposição ── */
  .sec-tab,.cultura-tab,.oc-tab{
    flex-shrink:0;        /* não encolhe */
    width:auto;           /* anula width:100% do base */
    flex-direction:row;
    padding:.28rem .55rem;
    border-radius:var(--r2);
    min-height:32px;
    align-items:center;
    gap:.2rem;
    white-space:nowrap;
  }
  .sec-tab::before,.cultura-tab::before,.oc-tab::before{display:none}
  .sec-tab__desc{display:none}
  .sec-tab__icon{width:13px;height:13px;flex-shrink:0}
  .sec-tab__icon svg{width:11px;height:11px}
  .sec-tab__name{display:none}  /* esconde nome completo */
  .sec-tab__name--short{display:inline;font-size:.69rem;font-weight:500;white-space:nowrap;color:inherit}

  /* ── Layout geral ────────────────────────────── */
  .layout-split{grid-template-columns:1fr}
  .layout-split__form{position:static;max-height:none;overflow-y:visible}
  .content,.content--como{padding:.85rem .85rem 3.5rem}
  .sec-main{padding:.95rem .8rem 3rem}

  /* ── Componentes ─────────────────────────────── */
  .form-group__grid,.fcard__body{grid-template-columns:1fr 1fr;gap:.45rem}
  .mem-grid{grid-template-columns:1fr}
  .form-actions{flex-direction:column}
  .btn{justify-content:center;width:100%}
  /* Tabelas rolam horizontalmente no mobile (ver .tbl-wrap) em vez de
     esconder a última coluna — preserva o Status da conferência. */
  .exec-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
  .como-card{flex-direction:column;gap:.6rem}
  .como-hero__title{font-size:1rem}
  .lf-grid,.lf-section--derived .lf-grid{grid-template-columns:repeat(2,1fr)}
  .lf-grid--radio{grid-template-columns:1fr 1fr}
  /* Tabelas */
  .tbl-wrap,.form-comp-table{overflow-x:auto}
  /* Exec blocks */
  .form-needs-grid{grid-template-columns:repeat(3,1fr)}
}

/* ═══════════════════════════
   MOBILE PEQUENO — ≤ 380px
   ═══════════════════════════ */
@media(max-width:380px){
  :root{--h-hdr:44px;--h-nav:54px}
  .form-group__grid,.fcard__body{grid-template-columns:1fr}
  .lf-grid,.lf-section--derived .lf-grid{grid-template-columns:1fr}
  .mod-btn__title--short{font-size:.55rem}
  .mod-btn__ico{width:22px;height:22px}
  .exec-grid{grid-template-columns:1fr 1fr}
  .hdr{padding:0 .6rem}
}

/* ════ ANIMAÇÕES ════ */
.tbl tbody tr:not(.results-group-header){animation:rowIn .13s ease both}
@keyframes rowIn{from{opacity:0}to{opacity:1}}
.tbl tbody tr:nth-child(2){animation-delay:.02s} .tbl tbody tr:nth-child(3){animation-delay:.04s}
.tbl tbody tr:nth-child(4){animation-delay:.06s} .tbl tbody tr:nth-child(5){animation-delay:.08s}
.tbl tbody tr:nth-child(6){animation-delay:.10s} .tbl tbody tr:nth-child(7){animation-delay:.12s}

/* ════════════════════════════════════════════════════════════════════════
   MODAL DE BOAS-VINDAS / FEEDBACK
   ════════════════════════════════════════════════════════════════════════ */
.modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal[hidden]{display:none!important}
.modal__backdrop{position:absolute;inset:0;background:rgba(8,12,10,.55);backdrop-filter:blur(2px);animation:fadeIn .18s ease both}
[data-theme="dark"] .modal__backdrop{background:rgba(0,0,0,.7)}
.modal__card{position:relative;max-width:480px;width:100%;background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r4);padding:2rem 1.75rem 1.5rem;box-shadow:var(--s2);animation:modalIn .22s cubic-bezier(.22,.9,.34,1) both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:.85rem;right:.85rem;background:transparent;border:none;color:var(--tx3);width:28px;height:28px;border-radius:var(--r2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}
.modal__close:hover{background:var(--sur2);color:var(--tx1)}
.modal__icon{width:48px;height:48px;border-radius:50%;background:var(--clx);color:var(--cl);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem}
.modal__title{font-size:1.15rem;font-weight:700;color:var(--tx1);margin-bottom:.6rem;letter-spacing:-.015em}
.modal__body{font-size:.85rem;color:var(--tx2);line-height:1.55;margin-bottom:.65rem}
.modal__note{font-size:.7rem;color:var(--tx3);line-height:1.45;margin-bottom:1.1rem;font-style:italic}
.modal__actions{display:flex;gap:.55rem;flex-wrap:wrap}
.btn--wa{background:#25D366;color:#fff;border:none;padding:.55rem 1rem;border-radius:var(--r2);font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;text-decoration:none;transition:background .15s,transform .08s}
.btn--wa:hover{background:#1DA851;transform:translateY(-1px)}
.btn--wa svg{flex-shrink:0}
.btn--modal-ok{padding:.55rem 1rem;border-radius:var(--r2);font-size:.78rem;font-weight:500;border:1px solid var(--bdr);background:transparent;color:var(--tx2);cursor:pointer;transition:background .12s,color .12s}
.btn--modal-ok:hover{background:var(--sur2);color:var(--tx1)}
/* Trava o scroll do body quando o modal está aberto */
body.modal-open{overflow:hidden}
@media (max-width: 560px){
  .modal__card{padding:1.5rem 1.25rem 1.25rem}
  .modal__title{font-size:1.05rem}
  .modal__actions{flex-direction:column}
  .btn--wa,.btn--modal-ok{justify-content:center;text-align:center;width:100%}
}
