/* ═══════════════════════════════════════════════════════════════════════
   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: #6B6B63; --tx4: #86867E;
  --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:  #A6A39B; --tx4: #8A8880;
  --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:30px;width:30px;
  object-fit:cover;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.15);
}
.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}
.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));
  align-self:stretch;
  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;min-height:calc(100vh - var(--h-hdr) - var(--h-nav))}
.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}
.ponte-notice--ask{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;padding:.65rem .9rem}
.ponte-notice__msg{display:flex;align-items:center;gap:.5rem;color:var(--tx1);font-weight:500;line-height:1.45;flex:1;min-width:200px}
.ponte-notice__msg svg{stroke:var(--cl);flex-shrink:0}
.ponte-notice__msg strong{color:var(--cl);font-weight:700}
.ponte-notice__actions{display:flex;gap:.4rem;flex-shrink:0}
[data-theme="dark"] .ponte-notice--ask .ponte-notice__msg{color:var(--tx1)}
[data-theme="dark"] .ponte-notice--ask .ponte-notice__msg strong,
[data-theme="dark"] .ponte-notice--ask .ponte-notice__msg svg{color:var(--cl3);stroke:var(--cl3)}

/* ════ 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);align-self:start}
.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}
.cost-roi{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r3);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.35rem}
.cost-roi__linha{display:flex;align-items:center;justify-content:space-between;font-size:.74rem;color:var(--tx2)}
.cost-roi__linha--destaque{font-weight:700;font-size:.82rem;color:var(--tx1);padding:.35rem 0;border-top:1px solid var(--bdr2);margin-top:.3rem}
.cost-roi__linha--destaque:first-of-type{border-top:none;margin-top:0}
.cost-roi__ok{color:var(--ok,#1C7C4E)!important}
.cost-roi__err{color:var(--er,#B4321E)!important}
.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--contato{border-color:rgba(37,211,102,.32);background:#F4FBF6}
.como-card--contato .como-card__icon{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.35)}
.como-card--contato .como-card__icon svg{stroke:#1DA851}
[data-theme="dark"] .como-card--contato{background:rgba(37,211,102,.06);border-color:rgba(37,211,102,.25)}
[data-theme="dark"] .como-card--aviso{background:rgba(158,85,0,.08);border-color:rgba(158,85,0,.3)}
.como-contato-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.85rem}
.como-contato-num{font-family:var(--fm);font-size:.78rem;color:var(--tx2);font-weight:500}
@media (max-width: 560px){
  .como-contato-actions{flex-direction:column;align-items:stretch}
  .como-contato-actions .btn--wa{justify-content:center}
  .como-contato-num{text-align:center}
}
.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;justify-content:flex-end}
.lf-label{font-size:.73rem;font-weight:600;color:var(--tx2);display:flex;align-items:center;gap:.3rem;line-height:1.25;min-width:0}
.lf-section--derived .lf-label{color:var(--cl);font-size:.65rem}
/* Tooltip */
.lf-hint,
button.lf-hint{
  display:inline-flex !important;
  align-items:center;justify-content:center;
  width:16px !important;height:16px !important;
  min-width:16px !important;min-height:16px !important;
  max-width:16px !important;max-height:16px !important;
  aspect-ratio:1/1;                             /* forca proporção 1:1 · impede virar oval */
  box-sizing:border-box;
  border-radius:50% !important;
  background:rgba(28,124,78,.14);color:var(--cl);
  border:none !important;padding:0 !important;margin:0;
  cursor:help;flex-shrink:0;flex-grow:0;
  align-self:center;                            /* nao estica no flex do label */
  line-height:1 !important;
  -webkit-appearance:none;appearance:none;
  font-size:0;
  transition:background .12s,color .12s,transform .08s;
  -webkit-tap-highlight-color:transparent;
  vertical-align:middle;
  overflow:hidden;
}
.lf-hint svg{
  width:11px !important;height:11px !important;
  display:block !important;
  flex-shrink:0;
}
.lf-hint:hover,.lf-hint:focus-visible{background:var(--cl);color:#fff;outline:none}
.lf-hint:active{transform:scale(.9)}
/* .lf-hint svg agora está no bloco acima */
/* 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;min-height:1.9rem}
.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(--bdr2);
  background: linear-gradient(to bottom, var(--sur) 0%, var(--sur2) 100%);
  margin-top: 4rem;
  padding: 3rem 1.75rem 0;
  position: relative;
}
[data-theme="dark"] .site-footer{
  background: linear-gradient(to bottom, var(--sur) 0%, var(--sur3) 100%);
}
/* Detalhe verde no topo do rodapé */
.site-footer::before{
  content: '';
  position: absolute;
  top: -1px; left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--cl);
  border-radius: 0 0 3px 3px;
}
.site-footer__grid{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 2.5rem;
  align-items: center;
}
.site-footer__brand{
  display: flex;
  gap: 1.15rem;
  align-items: center;
}
.site-footer__logo{
  width: 72px; height: 72px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fff;
  padding: 5px;
  box-shadow: 0 3px 10px rgba(0,0,0,.1);
}
[data-theme="dark"] .site-footer__logo{
  box-shadow: 0 3px 14px rgba(0,0,0,.4);
}
.site-footer__brand-txt{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .35rem;
}
.site-footer__brand strong{
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--tx1);
  letter-spacing: -.02em;
  line-height: 1;
}
.site-footer__brand small{
  display: block;
  font-size: .88rem;
  color: var(--tx3);
  line-height: 1.4;
}
.site-footer__col{
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.site-footer__col-title{
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--cl);
  margin-bottom: .5rem;
  position: relative;
  padding-bottom: .5rem;
}
.site-footer__col-title::after{
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 24px; height: 2px;
  background: var(--cl);
  border-radius: 2px;
  opacity: .35;
}
.site-footer__col a{
  font-size: .86rem;
  color: var(--tx2);
  text-decoration: none;
  transition: color .13s, transform .13s;
  display: inline-block;
  line-height: 1.4;
}
.site-footer__col a:hover{
  color: var(--cl);
  transform: translateX(3px);
}
.site-footer__base{
  max-width: 1100px;
  margin: 0 auto;
  border-top: 1px solid var(--bdr2);
  padding: 1.25rem 0;
  text-align: center;
}
.site-footer__base p{
  font-size: .74rem;
  color: var(--tx3);
  margin: 0;
  line-height: 1.6;
  font-style: italic;
}
/* ════ SUB-RODAPÉ · créditos e institucional ════ */
.sub-footer{
  background: var(--sur2);
  color: var(--tx3);
  padding: 1.15rem 1.5rem;
  border-top: 1px solid var(--bdr2);
}
.sub-footer__inner{
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  text-align: center;
}
.sub-footer p{ margin: 0; font-size: .78rem; line-height: 1.55; }
.sub-footer__credito{ color: var(--tx2); }
.sub-footer__autor{
  color: var(--cl);
  font-weight: 700;
  text-decoration: none;
  transition: color .13s;
  display: inline-flex;
  align-items: center;
}
.sub-footer__autor:hover{ color: var(--cl2); text-decoration: underline; }
[data-theme="dark"] .sub-footer__autor:hover{ color: var(--cl3); }
.sub-footer__copy{ color: var(--tx4); font-size: .74rem; }
.sub-footer__legal{ display: flex; gap: .55rem; align-items: center; justify-content: center; }
.sub-footer__link{
  color: var(--cl);
  font-weight: 600;
  text-decoration: none;
  transition: color .13s;
}
.sub-footer__link:hover{ color: var(--cl2); text-decoration: underline; }
[data-theme="dark"] .sub-footer__link:hover{ color: var(--cl3); }
.sub-footer__sep{ color: var(--tx4); font-weight: 400; }
@media (max-width: 480px){
  .sub-footer{ padding: 1rem 1rem; }
  .sub-footer p{ font-size: .74rem; }
  .sub-footer__legal{ flex-wrap: wrap; }
}

@media (max-width: 720px){
  .site-footer{ padding: 1.5rem 1rem 0; text-align: center; }
  .site-footer__grid{
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-bottom: 1.25rem;
  }
  .site-footer__brand{
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .site-footer__col{ align-items: center; }
  .site-footer__base{ text-align: center; }
}

/* Screen reader only · elemento invisivel visualmente mas lido por AT */
.sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ════ Loading skeleton (a11y-friendly) ════ */
.sk-skeleton{
  display: inline-block;
  background: linear-gradient(90deg,
    var(--bdr2) 0%,
    var(--sur2) 50%,
    var(--bdr2) 100%);
  background-size: 200% 100%;
  border-radius: var(--r2);
  animation: sk-shine 1.4s infinite;
  color: transparent !important;
  user-select: none;
}
.sk-skeleton::before{ content: "\00a0"; } /* garante altura */
.sk-line{ height: 1em; width: 100%; margin: .25em 0; }
.sk-line--w75{ width: 75%; }
.sk-line--w50{ width: 50%; }
.sk-line--w30{ width: 30%; }
@keyframes sk-shine{
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.sk-spinner{
  display: inline-block;
  width: 20px; height: 20px;
  border: 2.5px solid var(--bdr);
  border-top-color: var(--cl);
  border-radius: 50%;
  animation: sk-spin .8s linear infinite;
  vertical-align: middle;
}
@keyframes sk-spin{ to { transform: rotate(360deg); } }

.loading-inline{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--tx3);
  font-size: .9rem;
}

/* Erro por campo (WCAG 3.3.1) */
.field--erro input,
.field--erro select,
.field--erro textarea{
  border-color: var(--fe) !important;
  background: var(--feb) !important;
}
.field__error{
  display: block;
  color: var(--fe);
  font-size: .78rem;
  margin-top: .3rem;
  font-weight: 500;
}
.field__error::before{ content: "⚠ "; }

/* ════ Skip link (WCAG 2.4.1) ════ */
.skip-link{
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--cl);
  color: #fff;
  padding: .75rem 1.25rem;
  z-index: 10000;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0 0 var(--r2) 0;
  transition: top .15s ease;
}
.skip-link:focus{ top: 0; outline: 3px solid #fff; outline-offset: -3px; }

/* ════ MOBILE · Inputs 16px (evita zoom iOS) e touch targets 44x44 ════ */
@media (max-width: 700px){
  /* Evita zoom automático no iOS quando o input tem fonte < 16px */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  input[type="date"],
  select,
  textarea{
    font-size: max(16px, 1rem) !important;
  }
  /* Touch targets mínimos (WCAG 2.5.5) */
  .btn,
  .auth-btn,
  .landing-cta,
  button:not(.theme-toggle):not(.notif-btn):not(.hdr__brand){
    min-height: 44px;
  }
  .sec-tab{ min-height: 40px; }
  .modal__close{ min-width: 40px; min-height: 40px; }
}

/* ════ MOBILE · Modais com altura dinâmica + rolagem interna ════ */
.modal__card{
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.conta-modal .conta-modal__card{
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* ════ HEADER · BOTÕES DE ICONE PADRONIZADOS ════
   Um único formato pra todos os icone-buttons do header
   (Blog, Conta, Tema). No mobile ficam alinhados à direita. */
.hdr-icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;flex-shrink:0;
  background:transparent;border:1px solid rgba(255,255,255,.14);
  border-radius:50%;color:rgba(255,255,255,.72);cursor:pointer;
  transition:background .13s,border-color .13s,color .13s;
  text-decoration:none;
}
.hdr-icon-btn:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.3);
  color:#fff;
}
.hdr-icon-btn svg{ width:16px;height:16px; }

/* ════ HEADER MOBILE ════ */
@media (max-width: 640px){
  .hdr{
    padding: 0 .5rem 0 .75rem !important;
    gap: .4rem;
    /* Empurra tudo depois do brand pra direita */
    display:flex;align-items:center;
  }
  .hdr__brand{ gap: .4rem !important; margin-right:auto; }
  .hdr__brand img{ width: 26px !important; height: 26px !important; }
  .hdr__brand .hdr__name,
  .hdr__name{ font-size: .95rem !important; }
  .hdr-links,
  .hdr__welcome,
  .hdr__sep{ display: none !important; }
  .hdr-conta-btn__nome{ display: none !important; }

  /* Todos os botões do header padronizados em círculo 34x34
     (Blog, Ajuda, Conta, Feedback, Notif, Tema) · SEM borda,
     fundo sutil pra sinalizar affordance sem poluir visualmente */
  .hdr-icon-btn,
  .theme-toggle,
  #btnTheme,
  .hdr-conta-btn,
  .hdr-fb-btn,
  .hdr-ajuda-btn,
  .notif-btn{
    width:32px !important;height:32px !important;
    padding:0 !important;flex-shrink:0;
    margin: 0 2px !important;
    border-radius:50% !important;
    display:inline-flex !important;align-items:center;justify-content:center;
    background: rgba(255,255,255,.06) !important;
    border: none !important;
    color: rgba(255,255,255,.85) !important;
    box-sizing:border-box;
  }
  .hdr-icon-btn:hover,
  .theme-toggle:hover,
  #btnTheme:hover,
  .hdr-conta-btn:hover,
  .hdr-fb-btn:hover,
  .hdr-ajuda-btn:hover,
  .notif-btn:hover{
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
  }
  .hdr-icon-btn:active,
  .theme-toggle:active,
  #btnTheme:active,
  .hdr-conta-btn:active,
  .hdr-fb-btn:active,
  .hdr-ajuda-btn:active,
  .notif-btn:active{
    background: rgba(255,255,255,.24) !important;
    transform: scale(.94);
  }
  .hdr-ajuda-btn svg{ width:15px !important; height:15px !important; }
  /* Bolinhas de notificação/feedback reposicionadas pro botão menor */
  .hdr-fb-btn__dot{ top: 0 !important; right: 0 !important; width:7px !important; height:7px !important; }
  .notif-btn__dot{ top: 2px !important; right: 2px !important; width:7px !important; height:7px !important; }
  .hdr-icon-btn svg,
  .theme-toggle svg,
  #btnTheme svg,
  .hdr-conta-btn svg,
  .hdr-fb-btn svg,
  .notif-btn svg{ width:15px !important; height:15px !important; }
  /* Esconde o texto do botão de feedback no mobile (só ícone) */
  .hdr-fb-btn__txt{ display: none !important; }
  /* Reposiciona bolinha vermelha de feedback pra caber no círculo */
  .hdr-fb-btn__dot{ top: 2px !important; right: 2px !important; }
  .notif-btn__dot{ top: 4px !important; right: 4px !important; }
}



/* ════ 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)}



/* ════ Card warning laranja (aviso regulamentar) ════ */
.rcard--warn-oc{
  border-color: rgba(197, 138, 79, .4) !important;
  background: linear-gradient(180deg, rgba(255, 195, 107, .08), rgba(255, 255, 255, 0));
}
[data-theme="dark"] .rcard--warn-oc{
  background: linear-gradient(180deg, rgba(197, 138, 79, .12), rgba(255, 255, 255, 0));
}
.rcard--warn-oc .rcard__hd{
  color: var(--oc);
}
[data-theme="dark"] .rcard--warn-oc .rcard__hd{
  color: var(--oc3);
}
.rcard--warn-oc .rcard__step{
  background: var(--oc) !important;
  color: #fff !important;
  font-weight: 700;
}

/* Grid interno do warn: 2 colunas no desktop, 1 no mobile */
.rcard--warn-oc .lf-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 700px){
  .rcard--warn-oc .lf-grid{
    grid-template-columns: 1fr;
  }
}

/* ════ AVISO ATUAÇÃO AÉREA (regulamentar) ════ */
.pulv-aerea-aviso{
  background: linear-gradient(135deg, rgba(255, 195, 107, .12), rgba(245, 156, 62, .08));
  border: 1px solid rgba(245, 156, 62, .35);
  border-left: 3px solid var(--oc);
  padding: .7rem .9rem;
  border-radius: var(--r3);
  font-size: .8rem;
  line-height: 1.5;
  color: var(--tx1);
  margin: .5rem 0 1rem;
}
[data-theme="dark"] .pulv-aerea-aviso{
  background: linear-gradient(135deg, rgba(197, 138, 79, .14), rgba(197, 138, 79, .08));
  border-color: rgba(217, 167, 122, .3);
  color: var(--tx1);
}
.pulv-aerea-aviso strong{ color: var(--oc); }
[data-theme="dark"] .pulv-aerea-aviso strong{ color: var(--oc3); }

/* ════ 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__summary svg.hist__ico{stroke:currentColor}
.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;table-layout:fixed}
.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 thead th:nth-child(1){width:15%}
.tec-table thead th:nth-child(2){width:30%}
.tec-table thead th:nth-child(3){width:55%}
.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;overflow-wrap:break-word;word-break:break-word}
.tec-table td:first-child{font-family:var(--fm);font-weight:600;color:var(--oc)}
/* 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:24px;width:24px}
  .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:.72rem;font-weight:600;
    color:rgba(255,255,255,.75);
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    width:100%;
    max-width:80px;
  }
  .mod-btn__hint{display:none}
  /* Botão ativo: mais espessura na borda + título branco puro */
  .mod-btn--active{ border-bottom-width: 3px !important; }
  .mod-btn--active .mod-btn__title--short{
    color: #fff !important;
    font-weight: 700;
  }

  /* ── 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}
  /* Icones das sub-abas: maiores e com stroke reforçado no mobile
     pra não sumir quando o botão vira colorido (ativo) */
  .sec-tab__icon{width:16px;height:16px;flex-shrink:0}
  .sec-tab__icon svg{width:15px;height:15px;stroke-width:2.2}
  .sec-tab--active .sec-tab__icon svg,
  .oc-tab--active .sec-tab__icon svg,
  .cultura-tab--active .sec-tab__icon svg{
    stroke:#fff !important;
    stroke-width:2.4 !important;
    filter:drop-shadow(0 0 1px rgba(0,0,0,.35));
  }
  .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}
  /* Tamanhos padronizados: tab NAO cresce quando fica ativa
     (o unico diferencial visual e o fundo colorido).
     Sem margem/padding extras que faziam "empurrar" as vizinhas. */
  .sec-tab,.oc-tab,.cultura-tab{
    padding:.32rem .6rem !important;
    min-height:32px !important;
    max-height:32px !important;
    flex:0 0 auto !important;
    margin:0 !important;
    transform:none !important;
  }
  .sec-tab--active,.oc-tab--active,.cultura-tab--active{
    padding:.32rem .7rem !important;
    font-weight:700;
  }
  /* Container do sec-nav: sem overflow visual quebrando */
  .sec-nav{overflow-x:auto;overflow-y:hidden;padding:.4rem .6rem !important}

  /* ── 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 ─────────────────────────────── */
  /* fcard body sempre 1 coluna no mobile (2 cols fica MUITO apertado
     quando o field tem select + input do lado, como no NPK). Cada card
     ocupa a linha inteira, mais legivel e sem overflow horizontal. */
  .form-group__grid{grid-template-columns:1fr 1fr;gap:.45rem}
  .fcard__body{grid-template-columns:1fr;gap:.7rem;padding:.85rem}
  .fcard{margin-bottom:.75rem}
  .fcard__hd{padding:.5rem .85rem;font-size:.66rem}
  .rcard{padding:.9rem 1rem;margin-bottom:.75rem}
  .rcard__hd{margin-bottom:.5rem;padding-bottom:.4rem}
  .rcard__hd h3{font-size:.75rem}
  #painel-conversor .field{gap:.35rem}
  #painel-conversor .iw{min-width:0}
  #painel-conversor .iw input,
  #painel-conversor .iw__sel{min-width:0;flex:1}
  /* Zero-state (a caixa "Gere a recomendação...") gigante no mobile.
     Reduz padding e min-height pra caber tudo sem cortar texto */
  .zero-state{
    padding:1.75rem 1rem;
    min-height:auto;
    gap:.65rem;
  }
  .zero-state__art svg{width:34px;height:34px}
  .zero-state strong{font-size:.85rem;line-height:1.4}
  .zero-state span{font-size:.75rem}
  .zero-state__hint{font-size:.7rem}
  /* Intro compactada */
  .intro{margin-bottom:.75rem}
  .intro h2{font-size:1rem;margin-bottom:.25rem}
  .intro p{font-size:.78rem}
  .intro__source{font-size:.68rem;margin-top:.35rem}
  .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}

/* ════════════════════════════════════════════════════════════════════════
   TOOLTIP CUSTOM (.tooltip-pop)
   Injetado pelo tooltip.js como único elemento global no <body>.
   ════════════════════════════════════════════════════════════════════════ */
.tooltip-pop{
  position:fixed;top:0;left:0;z-index:10000;max-width:280px;
  background:#23262A;color:#ECEAE6;
  padding:.55rem .75rem;font-size:.7rem;line-height:1.5;
  border-radius:6px;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 24px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.18);
  opacity:0;pointer-events:none;
  transition:opacity .12s ease,transform .12s ease;
  transform:translateY(-2px);
  font-family:var(--f);font-weight:400;letter-spacing:0;
}
.tooltip-pop--visivel{opacity:1;transform:translateY(0)}
[data-theme="dark"] .tooltip-pop{
  background:#0E1112;border-color:rgba(255,255,255,.10);
  box-shadow:0 6px 24px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);
}

/* ════════════════════════════════════════════════════════════════════════
   IMPORTADOR DE LAUDO
   ════════════════════════════════════════════════════════════════════════ */
.laudo-intro__head{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;margin-bottom:.35rem}
.btn--import{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .8rem;background:var(--clx);color:var(--cl);border:1px solid rgba(28,124,78,.25);border-radius:var(--r2);font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .08s}
.btn--import:hover{background:var(--cl);color:#fff;border-color:var(--cl)}
.btn--import:active{transform:scale(.97)}
.btn--import svg{flex-shrink:0}
[data-theme="dark"] .btn--import{background:rgba(61,171,118,.12);border-color:rgba(61,171,118,.3);color:var(--cl3)}
[data-theme="dark"] .btn--import:hover{background:var(--cl);color:#fff}

/* Botao "Importar laudo" principal: maior + chamando atencao */
.btn--import-hero{
  padding:.6rem 1.05rem;
  font-size:.85rem;
  font-weight:700;
  background:var(--cl);
  color:#fff;
  border-color:var(--cl);
  box-shadow:0 2px 8px rgba(28,124,78,.28);
  position:relative;
  animation:importHeroPulse 2.6s ease-in-out infinite;
}
.btn--import-hero:hover{background:var(--cl2, #16613d); border-color:var(--cl2, #16613d); transform:translateY(-1px)}
.btn--import-hero svg{width:16px;height:16px;stroke-width:2.4}
.btn--import-hero::before{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:calc(var(--r2) + 3px);
  border:2px solid var(--cl);
  opacity:0;
  animation:importHeroRing 2.6s ease-out infinite;
  pointer-events:none;
}
[data-theme="dark"] .btn--import-hero{background:var(--cl3);border-color:var(--cl3);color:#0e1c14;box-shadow:0 2px 8px rgba(61,171,118,.4)}
[data-theme="dark"] .btn--import-hero:hover{background:#4dc48d;border-color:#4dc48d}
[data-theme="dark"] .btn--import-hero::before{border-color:var(--cl3)}
@keyframes importHeroPulse{
  0%,100% { box-shadow:0 2px 8px rgba(28,124,78,.28); }
  50%     { box-shadow:0 4px 16px rgba(28,124,78,.55); }
}
@keyframes importHeroRing{
  0%   { transform:scale(1); opacity:.6; }
  100% { transform:scale(1.15); opacity:0; }
}
/* Para de pulsar quando ja tem laudo importado (JS adiciona .is-preenchido) */
.btn--import-hero.is-preenchido{
  animation:none;
  box-shadow:0 2px 4px rgba(28,124,78,.15);
}
.btn--import-hero.is-preenchido::before{display:none}
/* Variante para a Planilha (azul) */
.btn--import-pl{background:var(--plx);color:var(--pl);border-color:rgba(31,111,153,.25)}
.btn--import-pl:hover{background:var(--pl);color:#fff;border-color:var(--pl)}
[data-theme="dark"] .btn--import-pl{background:rgba(77,157,200,.14);border-color:rgba(77,157,200,.32);color:var(--pl3)}
[data-theme="dark"] .btn--import-pl:hover{background:var(--pl);color:#fff}

/* Modal grande (mais espaço pra preview) */
.modal__card--lg{max-width:560px}

/* Modal de importação: largo o suficiente pras 2 colunas, mas não exagerado.
   Especificidade reforçada (.modal__card.modal__card--import) porque a
   regra base de .modal__card aparece depois neste arquivo. */
.modal__card.modal__card--import{max-width:760px;padding:1.65rem 1.65rem 1.35rem}
.modal__card.modal__card--import .modal__title{margin-bottom:.65rem}

/* Abas no topo do modal de importação */
.import-modo-tabs{display:flex;gap:.35rem;border-bottom:1px solid var(--bdr2);margin-bottom:1rem;padding-bottom:.4rem}
.import-modo-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;background:transparent;color:var(--tx3);border:none;border-radius:var(--r2);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s;border:1px solid transparent}
.import-modo-tab:hover{color:var(--tx1);background:var(--sur2)}
.import-modo-tab--ativa{background:var(--clx);color:var(--cl);border-color:rgba(28,124,78,.22)}
.import-modo-tab svg{flex-shrink:0;stroke:currentColor}
[data-theme="dark"] .import-modo-tab--ativa{background:rgba(61,171,118,.14);color:var(--cl3);border-color:rgba(61,171,118,.25)}

.import-modo-pane{display:none}
.import-modo-pane--ativa{display:block;animation:fadeInTab .18s ease}
.import-modo-desc{font-size:.74rem;color:var(--tx2);line-height:1.5;margin-bottom:.85rem}

/* Layout em 2 colunas na aba IA (sempre em desktop ≥ 760px) */
.import-ia-cols{display:flex;flex-direction:column;gap:1rem}
@media (min-width: 760px){
  .import-ia-cols{flex-direction:row;align-items:stretch}
  .import-ia-col{flex:1;min-width:0;display:flex;flex-direction:column}
  .import-ia-col:first-child{border-right:1px solid var(--bdr2);padding-right:1rem}
  .import-ia-col:last-child{padding-left:.5rem}
  .import-prompt-box textarea{min-height:240px}
  #import-ia-resposta-fixo{flex:1;min-height:230px;width:100%;padding:.5rem;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur);font-family:var(--fm);font-size:.7rem;color:var(--tx1);resize:vertical;box-sizing:border-box}
  #import-ia-resposta-fixo:focus{outline:none;border-color:var(--cl);box-shadow:0 0 0 2px rgba(28,124,78,.12)}
}
@media (max-width: 760px){
  #import-ia-resposta-fixo{width:100%;min-height:170px;padding:.5rem;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur);font-family:var(--fm);font-size:.7rem;color:var(--tx1);resize:vertical;box-sizing:border-box}
}

/* Estado vazio depois do upload (mais simples, sugere IA) */
.import-vazio__head{margin-bottom:.85rem}
.import-vazio__head p{margin-bottom:.35rem}
.import-vazio__sugestao{background:var(--clx);border:1px solid rgba(28,124,78,.22);border-radius:var(--r2);padding:.85rem;margin-bottom:.85rem}
.import-vazio__sugestao p{font-size:.74rem;color:var(--tx1);line-height:1.5;margin-bottom:.6rem}
.import-vazio__sugestao strong{color:var(--cl)}
[data-theme="dark"] .import-vazio__sugestao{background:rgba(61,171,118,.12);border-color:rgba(61,171,118,.28)}
[data-theme="dark"] .import-vazio__sugestao strong{color:var(--cl3)}

/* Dropzone */
.import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.75rem 1rem;margin:1rem 0;background:var(--sur2);border:2px dashed var(--bdr);border-radius:var(--r3);cursor:pointer;text-align:center;transition:background .15s,border-color .15s;color:var(--tx2)}
.import-dropzone:hover,.import-dropzone--ativo{background:var(--clx);border-color:var(--cl);color:var(--cl)}
.import-dropzone svg{stroke:var(--tx3);transition:stroke .15s}
.import-dropzone:hover svg,.import-dropzone--ativo svg{stroke:var(--cl)}
.import-dropzone strong{font-size:.84rem;color:var(--tx1)}
.import-dropzone span{font-size:.72rem;color:var(--tx3)}
.import-dropzone small{font-size:.62rem;color:var(--tx4);margin-top:.25rem;letter-spacing:.05em;text-transform:uppercase}
[data-theme="dark"] .import-dropzone:hover,[data-theme="dark"] .import-dropzone--ativo{background:rgba(61,171,118,.12);border-color:var(--cl3);color:var(--cl3)}

/* Status (carregando) */
.import-status{margin-top:.85rem;padding:.75rem;background:var(--sur2);border-radius:var(--r2);font-size:.75rem;color:var(--tx2);text-align:center;font-style:italic}
.import-status::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid var(--bdr);border-top-color:var(--cl);border-radius:50%;margin-right:.5rem;vertical-align:-2px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Preview */
.import-resumo{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem;background:var(--clx);border-radius:var(--r2);margin:1rem 0 .6rem;font-size:.72rem;color:var(--tx2)}
.import-resumo__qtd{font-weight:700;color:var(--cl)}
[data-theme="dark"] .import-resumo{background:rgba(61,171,118,.12)}
.import-hint{font-size:.7rem;color:var(--tx3);margin-bottom:.5rem;line-height:1.45}
.import-lista{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur)}
.import-item{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:center;padding:.45rem .65rem;border-bottom:1px solid var(--bdr2);font-size:.74rem}
.import-item:last-child{border-bottom:none}
.import-item__check{display:flex;align-items:center;gap:.45rem;cursor:pointer;min-width:0}
.import-item__check input{accent-color:var(--cl);flex-shrink:0}
.import-item__label{color:var(--tx1);font-weight:500}
.import-item__val{font-family:var(--fm);color:var(--cl);font-weight:700}
.import-item__match{font-family:var(--fm);font-size:.62rem;color:var(--tx3);max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.import-actions{display:flex;gap:.55rem;margin-top:.85rem;flex-wrap:wrap}
.import-actions .btn{flex:1}

/* Estados especiais: vazio e erro */
.import-vazio,.import-erro{margin-top:1rem;padding:.85rem;background:var(--sur2);border-radius:var(--r2);font-size:.74rem;color:var(--tx2);line-height:1.5}
.import-vazio textarea{width:100%;margin:.45rem 0;padding:.55rem;border:1px solid var(--bdr);border-radius:var(--r2);background:var(--sur);font-family:var(--fm);font-size:.7rem;color:var(--tx1);resize:vertical;box-sizing:border-box}
.import-vazio textarea:focus{outline:none;border-color:var(--cl);box-shadow:0 0 0 2px rgba(28,124,78,.12)}
.import-erro{background:var(--feb);color:var(--fe);border:1px solid var(--fec)}

/* Abas IA × Manual */
.import-tabs{display:flex;gap:.3rem;margin:.85rem 0 .65rem;border-bottom:1px solid var(--bdr2);padding-bottom:.35rem}
.import-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;background:transparent;color:var(--tx3);border:none;border-radius:var(--r2);font-size:.7rem;font-weight:500;cursor:pointer;transition:background .12s,color .12s;border:1px solid transparent}
.import-tab:hover{color:var(--tx1);background:var(--sur)}
.import-tab--active{background:var(--clx);color:var(--cl);border-color:rgba(28,124,78,.2)}
.import-tab svg{flex-shrink:0}
.import-tab-pane{display:none;animation:fadeInTab .18s ease}
.import-tab-pane--active{display:block}
@keyframes fadeInTab{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
[data-theme="dark"] .import-tab--active{background:rgba(61,171,118,.14);color:var(--cl3);border-color:rgba(61,171,118,.25)}

/* Passos numerados */
.import-passo{font-size:.74rem;color:var(--tx1);margin:.85rem 0 .35rem;line-height:1.45}
.import-passo:first-child{margin-top:.4rem}
.import-passo strong{color:var(--cl);font-weight:700}
[data-theme="dark"] .import-passo strong{color:var(--cl3)}

/* Passos com DESTAQUE (usados no fluxo Usar IA) */
.import-passo--destaque{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-size:.86rem;
  font-weight:600;
  color:var(--tx1);
  margin:1.1rem 0 .55rem;
  padding:.6rem .75rem;
  background:linear-gradient(90deg, var(--clx), transparent);
  border-left:3px solid var(--cl);
  border-radius:0 var(--r2) var(--r2) 0;
}
.import-passo--destaque:first-child{margin-top:.4rem}
.import-passo__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  background:var(--cl);
  color:#fff;
  border-radius:50%;
  font-size:.78rem;
  font-weight:700;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(28,124,78,.35);
}
[data-theme="dark"] .import-passo--destaque{
  background:linear-gradient(90deg, rgba(61,171,118,.10), transparent);
  border-left-color:var(--cl3);
}
[data-theme="dark"] .import-passo__num{
  background:var(--cl3);
  box-shadow:0 2px 6px rgba(61,171,118,.30);
}

/* Destaque de acao importante (sem animacao, glow estatico) */
.btn--pulse{
  box-shadow:0 0 0 3px rgba(28,124,78,.18), 0 4px 12px rgba(28,124,78,.30);
}
.btn--pulse:hover{
  box-shadow:0 0 0 3px rgba(28,124,78,.28), 0 6px 16px rgba(28,124,78,.40);
}
[data-theme="dark"] .btn--pulse{
  box-shadow:0 0 0 3px rgba(61,171,118,.22), 0 4px 12px rgba(61,171,118,.30);
}
[data-theme="dark"] .btn--pulse:hover{
  box-shadow:0 0 0 3px rgba(61,171,118,.32), 0 6px 16px rgba(61,171,118,.40);
}

/* Caixa do prompt */
.import-prompt-box{display:flex;flex-direction:column;gap:.5rem;margin:.4rem 0 .35rem}
.import-prompt-box textarea{background:var(--bg);font-size:.66rem;font-family:var(--fm);color:var(--tx2);min-height:200px;cursor:text;width:100%;box-sizing:border-box}
.import-prompt-box button{align-self:flex-start}
[data-theme="dark"] .import-prompt-box textarea{background:#0E1112}

/* Links de IA */
.import-ia-links{display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0 .35rem}
.import-ia-link{display:inline-flex;align-items:center;padding:.4rem .75rem;background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r2);font-size:.72rem;color:var(--tx1);font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,transform .08s}
.import-ia-link:hover{background:var(--clx);border-color:var(--cl);color:var(--cl);transform:translateY(-1px)}
[data-theme="dark"] .import-ia-link:hover{background:rgba(61,171,118,.12);border-color:var(--cl3);color:var(--cl3)}

.btn--small{font-size:.7rem;padding:.42rem .85rem}

/* "Resultado incompleto? Tentar com IA" - colapsável dentro do preview */
.import-mais-opcoes{margin:.85rem 0 .5rem;border:1px dashed var(--bdr);border-radius:var(--r2);background:var(--sur2)}
.import-mais-opcoes>summary{padding:.55rem .75rem;cursor:pointer;font-size:.72rem;color:var(--tx2);list-style:none;display:flex;align-items:center;gap:.4rem;user-select:none}
.import-mais-opcoes>summary::-webkit-details-marker{display:none}
.import-mais-opcoes>summary::before{content:'+';font-weight:700;color:var(--cl);width:14px;display:inline-block;text-align:center;transition:transform .15s}
.import-mais-opcoes[open]>summary::before{content:'−'}
.import-mais-opcoes>summary:hover{background:var(--sur);color:var(--tx1)}
.import-mais-opcoes>summary strong{color:var(--cl);font-weight:700}
.import-mais-opcoes__body{padding:.4rem .75rem .85rem;font-size:.7rem;color:var(--tx2);line-height:1.5}
.import-mais-opcoes__body p{margin-bottom:.5rem}
[data-theme="dark"] .import-mais-opcoes>summary strong{color:var(--cl3)}
[data-theme="dark"] .import-mais-opcoes>summary::before{color:var(--cl3)}

/* Toast */
.import-toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom, 0px));left:50%;transform:translate(-50%,12px);background:#23262A;color:#ECEAE6;padding:.65rem 1.1rem;border-radius:var(--r2);font-size:.74rem;font-weight:500;z-index:11000;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.import-toast--show{opacity:1;transform:translate(-50%,0)}

@media (max-width: 560px){
  .laudo-intro__head{flex-direction:column;align-items:flex-start}
  .btn--import{width:100%;justify-content:center}
  .import-item{grid-template-columns:1fr auto;gap:.4rem}
  .import-item__match{display:none}
  .import-actions{flex-direction:column}
}

/* ════════════════════════════════════════════════════════════════════════
   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%}
}

/* ═══════════════════════════════════════════════════════════════════════
   AUTH OVERLAY · login/cadastro como gate obrigatório (sololab v2)
   ═══════════════════════════════════════════════════════════════════════ */

body.auth-bloqueado { overflow: hidden; }

.auth-overlay{
  position: fixed; inset: 0;
  background: var(--bg);
  z-index: 9999;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 1rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}
[data-theme="dark"] .auth-overlay{ background: var(--bg); }

.auth-card{
  width: 100%; max-width: 560px;
  margin: auto;
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r4);
  padding: 1.25rem;
  box-shadow: var(--s2);
}
@media (min-width: 520px){
  .auth-card{ padding: 1.5rem; }
}

.auth-brand{ text-align: center; margin-bottom: 1rem; }
.auth-logo{
  display: block;
  height: 56px;
  width: auto;
  margin: 0 auto .5rem;
  filter: drop-shadow(0 2px 8px rgba(28, 124, 78, .2));
}
.auth-brand h1{ font-size: 1.35rem; font-weight: 700; letter-spacing: -.015em; color: var(--tx1); margin-bottom: .1rem; }
.auth-brand p{ font-size: .82rem; color: var(--tx3); }

/* Cadastro em 2 colunas no desktop */
.auth-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 .85rem;
}
@media (min-width: 520px){
  .auth-grid{ grid-template-columns: 1fr 1fr; }
}
.auth-grid > .auth-full,
.auth-grid > label.auth-full,
.auth-grid > .senha-checklist-wrap{ grid-column: 1 / -1; }
.auth-grid > label{ margin-bottom: .6rem; }

.auth-tabs{
  display: flex; gap: .5rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--bdr2);
}
.auth-tabs button{
  background: transparent; border: 0; cursor: pointer;
  padding: .65rem 1rem; margin-bottom: -1px;
  font: inherit; font-size: .9rem; font-weight: 500; color: var(--tx3);
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.auth-tabs button:hover{ color: var(--cl); }
.auth-tabs button.is-active{ color: var(--cl); border-bottom-color: var(--cl); }

.auth-card label{
  display: block; margin-bottom: .85rem;
}
.auth-card label span{
  display: block;
  font-size: .82rem; font-weight: 500; color: var(--tx2);
  margin-bottom: .25rem;
}
.auth-card input,
.auth-card select{
  width: 100%;
  font: inherit; font-size: .95rem;
  padding: .55rem .7rem;
  background: var(--sur2);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.auth-card input:focus,
.auth-card select:focus{
  outline: none;
  border-color: var(--cl);
  background: var(--sur);
  box-shadow: 0 0 0 3px rgba(28, 124, 78, .12);
}
/* Select custom no cadastro (sem cara de nativo) */
.auth-card select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B6B63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .85rem center;
  background-size: 12px 8px;
}
[data-theme="dark"] .auth-card select{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23A6A39B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.auth-card select:hover{
  border-color: var(--cl);
  background-color: var(--sur);
}
.auth-card select option{
  background: var(--sur);
  color: var(--tx1);
  padding: .5rem;
}

.auth-btn{
  width: 100%;
  font: inherit; font-size: .95rem; font-weight: 600;
  padding: .65rem 1rem;
  background: var(--cl); color: #fff;
  border: 1px solid var(--cl);
  border-radius: var(--r2);
  cursor: pointer;
  margin-top: .5rem;
  transition: background .15s, border-color .15s;
}
.auth-btn:hover:not(:disabled){ background: var(--cl2); border-color: var(--cl2); }
.auth-btn:disabled{ opacity: .55; cursor: not-allowed; }

.auth-msg{
  padding: .6rem .8rem; border-radius: var(--r2);
  font-size: .87rem; margin-bottom: .85rem;
}
.auth-msg--err{ background: var(--feb); color: var(--fe); border: 1px solid var(--fec); }
.auth-msg--ok { background: var(--okb); color: var(--ok); border: 1px solid var(--cokb); }
.auth-msg--av { background: var(--avb); color: var(--av); border: 1px solid var(--avc); }

.auth-foot{
  text-align: center; margin-top: 1.25rem; padding-top: 1rem;
  border-top: 1px solid var(--bdr2);
  color: var(--tx3);
}

@media (max-width: 480px){
  .auth-card{ padding: 1.25rem; }
}

/* Auth: links auxiliares e textos de ajuda no overlay */
.auth-link-row{
  text-align: center;
  margin-top: .85rem;
}
.auth-link-row a{
  color: var(--cl);
  font-size: .82rem;
  text-decoration: none;
  cursor: pointer;
}
.auth-link-row a:hover{ text-decoration: underline; }

.auth-help{
  color: var(--tx2);
  font-size: .85rem;
  margin-bottom: 1rem;
  line-height: 1.5;
}

/* Histórico: botão de compartilhar */
.hist-item__share{
  background: transparent;
  border: 1px solid var(--bdr);
  color: var(--cl);
  width: 28px; height: 28px;
  border-radius: var(--r2);
  cursor: pointer;
  font-size: 1rem;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s;
}
.hist-item__share:hover{
  background: var(--clx);
  border-color: var(--cl);
}

/* ═══════════════════════════════════════════════════════════════════════
   EXPORTAR PDF (impressão) · Quando o usuário clica "Exportar PDF",
   adicionamos a classe .printing-rec no body. Aí escondemos tudo que
   não faz parte do relatório de recomendação.
   ═══════════════════════════════════════════════════════════════════════ */
.rec-actions{
  display: flex; justify-content: flex-end;
  margin-bottom: .75rem;
}
.no-print{ /* placeholder; sobrescrito por @media print */ }

@media print {
  /* Página A4 com margens confortáveis */
  @page{
    size: A4;
    margin: 15mm 12mm 18mm 12mm;
  }
  /* Esconde TUDO por padrão na impressão; mostraremos só o relatório */
  body.printing-rec .site-header,
  body.printing-rec .main-nav,
  body.printing-rec .site-footer,
  body.printing-rec .no-print,
  body.printing-rec details summary,
  body.printing-rec .theme-toggle,
  body.printing-rec .hdr-links,
  body.printing-rec #cookie-banner,
  body.printing-rec #btnFeedback,
  body.printing-rec #btnAjuda,
  body.printing-rec .cookie-banner,
  body.printing-rec .nl-card,
  body.printing-rec [data-newsletter-card]{
    display: none !important;
  }
  /* No modulo Calculos, mostra só a aba/painel da recomendação */
  body.printing-rec #modulo-calculos > *:not([id$="-painel-rec"]),
  body.printing-rec [id$="-painel"]:not([id$="-painel-rec"]){
    display: none !important;
  }
  body.printing-rec #ld-painel-rec,
  body.printing-rec #ld-rec-section,
  body.printing-rec #ld-rec-section *{
    display: revert !important;
  }
  /* Reset visual pra impressão */
  body.printing-rec{
    background: #fff !important;
    color: #111 !important;
    font-size: 10.5pt;
    line-height: 1.4;
  }
  body.printing-rec .card,
  body.printing-rec .rcard,
  body.printing-rec .exec-card,
  body.printing-rec .adm-panel{
    background: #fff !important;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    page-break-inside: avoid;
    margin-bottom: .35rem !important;
    padding: .5rem .7rem !important;
    border-radius: 3px !important;
  }
  body.printing-rec h1, body.printing-rec h2, body.printing-rec h3, body.printing-rec h4{
    color: #000 !important;
    page-break-after: avoid;
    margin-top: .5rem;
    margin-bottom: .35rem;
  }
  body.printing-rec h1{ font-size: 16pt; }
  body.printing-rec h2{ font-size: 13pt; border-bottom: 2px solid #1C7C4E; padding-bottom: 2pt; }
  body.printing-rec h3{ font-size: 11pt; }

  /* Cabeçalho do relatório (rep-header) sempre aparece na 1ª página */
  body.printing-rec .rep-header,
  body.printing-rec #ld-rec-cabecalho{
    display: block !important;
    border-bottom: 2px solid #1C7C4E !important;
    padding-bottom: .5rem !important;
    margin-bottom: 1rem !important;
  }

  /* Assinatura sempre no fim */
  body.printing-rec .rep-sign,
  body.printing-rec #ld-rec-assinatura{
    display: block !important;
    margin-top: 2rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid #999 !important;
    page-break-inside: avoid !important;
  }

  /* Esconder elementos puramente interativos durante a impressão */
  body.printing-rec button:not(.exec-pill),
  body.printing-rec .btn,
  body.printing-rec .rec-actions,
  body.printing-rec .lf-hint,
  body.printing-rec .site-footer__links{
    display: none !important;
  }
  /* Tabelas legíveis */
  body.printing-rec .tbl,
  body.printing-rec table{
    page-break-inside: auto;
    font-size: 9.5pt;
    width: 100%;
    border-collapse: collapse;
  }
  body.printing-rec .tbl tr,
  body.printing-rec table tr{
    page-break-inside: avoid;
  }
  body.printing-rec .tbl th,
  body.printing-rec table th{
    background: #f0f0f0 !important;
    color: #000 !important;
    text-align: left;
    padding: 3pt 5pt;
    border: 1px solid #999;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.printing-rec .tbl td,
  body.printing-rec table td{
    padding: 3pt 5pt;
    border: 1px solid #ddd;
  }

  /* Links não sublinhados na impressão (feio) */
  body.printing-rec a{
    color: #000 !important;
    text-decoration: none !important;
  }
  /* Adiciona URL após link (só na impressão) */
  body.printing-rec a[href^="http"]:after{
    content: " (" attr(href) ")";
    font-size: .8em;
    color: #666;
  }
  /* Links internos e âncoras: não mostra URL */
  body.printing-rec a[href^="/"]:after,
  body.printing-rec a[href^="#"]:after{ content: none; }

  /* Rodapé "SoloLab" fixo em todas as páginas */
  body.printing-rec::after{
    content: "SoloLab · sololab.app · Ferramenta técnico-educativa";
    display: block;
    text-align: center;
    font-size: 8pt;
    color: #666;
    margin-top: 2rem;
    padding-top: .5rem;
    border-top: 1px dashed #ccc;
  }
}

/* Histórico: filtro de fazenda + seletor no salvar */
.hist-fazendas{
  margin-bottom: .75rem;
  padding-bottom: .75rem;
  border-bottom: 1px dashed var(--bdr2);
}
.hist-fazendas__filtro{
  display: flex; gap: .5rem; align-items: center;
  flex-wrap: wrap;
}
.hist-fazendas__filtro label{
  font-size: .82rem; color: var(--tx2); font-weight: 500;
}
.hist-fazendas__filtro select{
  flex: 1; min-width: 150px;
  padding: .35rem .55rem;
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  background: var(--sur2);
  color: var(--tx1);
  font-size: .85rem;
}
.hist-salvar__fazenda{
  padding: .4rem .55rem;
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  background: var(--sur2);
  color: var(--tx1);
  font-size: .85rem;
  max-width: 180px;
}

/* ═══════════════════════════════════════════════════════════════════════
   ONBOARDING · Modal de boas-vindas em 3 passos
   ═══════════════════════════════════════════════════════════════════════ */
.onb-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9998;
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: onbFadeIn .25s ease-out;
}
@keyframes onbFadeIn { from{opacity:0} to{opacity:1} }

.onb-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r4);
  padding: 2rem 1.75rem 1.5rem;
  max-width: 460px;
  width: 100%;
  box-shadow: var(--s2);
  position: relative;
  text-align: center;
}
.onb-close{
  position: absolute; top: .5rem; right: .75rem;
  background: transparent; border: 0;
  font-size: 1.5rem; line-height: 1;
  color: var(--tx3); cursor: pointer;
  width: 32px; height: 32px;
  border-radius: var(--r2);
  transition: background .15s;
}
.onb-close:hover{ background: var(--bdr2); color: var(--tx1); }

.onb-ico{
  font-size: 2.5rem; margin-bottom: .85rem;
  line-height: 1;
}
.onb-card h2{
  font-size: 1.25rem; font-weight: 700;
  color: var(--tx1); margin-bottom: .65rem;
}
.onb-card p{
  font-size: .92rem; color: var(--tx2);
  line-height: 1.55; margin-bottom: 1.25rem;
  text-align: left;
}
.onb-bullets{
  display: flex; gap: .5rem; justify-content: center;
  margin-bottom: 1.25rem;
}
.onb-bullet{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--bdr);
  transition: background .2s, width .2s;
}
.onb-bullet.is-active{
  background: var(--cl);
  width: 24px; border-radius: 4px;
}
.onb-actions{
  display: flex; gap: .5rem; justify-content: space-between;
}
.onb-actions .btn{ flex: 1; }

/* ═══════════════════════════════════════════════════════════════════════
   CONTA · botão no header + modal "Minha conta"
   ═══════════════════════════════════════════════════════════════════════ */

.hdr-conta-btn{
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.9);
  height: 32px; padding: 0 .65rem;
  border-radius: var(--r2);
  display: inline-flex; align-items: center; gap: .35rem;
  cursor: pointer; font: inherit; font-size: .82rem;
  margin-right: .35rem;
  transition: background .15s, border-color .15s;
}
.hdr-conta-btn:hover{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); }
.hdr-conta-btn svg{ width: 16px; height: 16px; }
.hdr-conta-btn__nome{ max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.conta-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 9998;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 3rem 1.25rem;
  overflow-y: auto;
  animation: contaFade .2s ease-out;
}
@keyframes contaFade { from{opacity:0} to{opacity:1} }

.conta-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r4);
  padding: 1.75rem;
  max-width: 480px; width: 100%;
  box-shadow: var(--s2);
  position: relative;
}
.conta-card h2{
  font-size: 1.3rem; font-weight: 700;
  margin-bottom: 1.25rem; color: var(--tx1);
}
.conta-close{
  position: absolute; top: .5rem; right: .75rem;
  background: transparent; border: 0;
  font-size: 1.5rem; line-height: 1;
  color: var(--tx3); cursor: pointer;
  width: 32px; height: 32px;
  border-radius: var(--r2);
  transition: background .15s;
}
.conta-close:hover{ background: var(--bdr2); color: var(--tx1); }

.conta-resumo{
  display: flex; gap: .85rem; align-items: center;
  padding: 1rem;
  background: var(--sur2);
  border-radius: var(--r3);
  border: 1px solid var(--bdr2);
  margin-bottom: 1.25rem;
}
.conta-avatar{
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--cl);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; font-weight: 700;
  flex-shrink: 0;
}
.conta-info{ display: flex; flex-direction: column; gap: .15rem; }
.conta-info strong{ font-size: 1rem; color: var(--tx1); }
.conta-info span{ font-size: .85rem; color: var(--tx3); }

.conta-badge{
  display: inline-block;
  font-size: .72rem; font-weight: 600;
  padding: .15rem .55rem;
  border-radius: 999px;
  margin-top: .25rem;
  width: fit-content;
}
.conta-badge--ok{ background: var(--okb); color: var(--ok); }
.conta-badge--av{ background: var(--avb); color: var(--av); }
/* Badge Fundador · pill solido estilo Discord Nitro / X Premium */
.conta-badge--fundador{
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #fff !important;
  border: none !important;
  padding: 4px 10px 4px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  line-height: 1;
  width: fit-content !important;
  box-shadow:
    0 2px 6px rgba(217, 119, 6, .35),
    inset 0 1px 0 rgba(255, 255, 255, .3);
  vertical-align: middle;
}
.conta-badge--fundador svg{
  width: 11px !important;
  height: 11px !important;
  flex-shrink: 0;
  fill: #fff;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .15));
}
/* Badge Vacilona · rosa festivo pulsante */
.conta-badge--vacilona{
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #ec4899 0%, #be185d 100%) !important;
  color: #fff !important;
  border: none !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  line-height: 1;
  width: fit-content !important;
  box-shadow:
    0 2px 6px rgba(190, 24, 93, .4),
    inset 0 1px 0 rgba(255, 255, 255, .3);
  vertical-align: middle;
  animation: vacilona-conta-pulse 1.8s ease-in-out infinite;
}
@keyframes vacilona-conta-pulse{
  0%, 100% { transform: scale(1); box-shadow: 0 2px 6px rgba(190, 24, 93, .4), inset 0 1px 0 rgba(255, 255, 255, .3); }
  50%      { transform: scale(1.06); box-shadow: 0 4px 12px rgba(236, 72, 153, .55), inset 0 1px 0 rgba(255, 255, 255, .4); }
}
/* Toggle switch estilo iOS pra preferências de conta */
.conta-switch-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .5rem 0 .85rem;
  margin-bottom: .5rem;
  border-bottom: 1px dashed var(--bdr2);
}
.conta-switch-info{ flex: 1; min-width: 0; }
.conta-switch-info strong{
  display: block !important;
  margin: 0 !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  color: var(--tx1) !important;
}
.conta-switch-info small{
  display: block;
  font-size: .78rem;
  color: var(--tx3);
  margin-top: .15rem;
  line-height: 1.4;
}
.conta-switch{
  position: relative !important;
  display: inline-block !important;
  width: 46px !important;
  height: 26px !important;
  flex-shrink: 0;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  box-sizing: border-box !important;
}
.conta-switch input[type="checkbox"]{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
  background: transparent !important;
  border: none !important;
}
.conta-switch__track{
  position: absolute !important;
  inset: 0 !important;
  width: 46px !important;
  height: 26px !important;
  background: var(--bdr) !important;
  border-radius: 999px !important;
  transition: background .2s ease;
  box-sizing: border-box !important;
  pointer-events: none;
}
.conta-switch__track::before{
  content: "" !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 20px !important;
  height: 20px !important;
  background: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25) !important;
  transition: transform .2s ease;
  box-sizing: border-box !important;
}
.conta-switch input:checked + .conta-switch__track{ background: var(--cl) !important; }
.conta-switch input:checked + .conta-switch__track::before{ transform: translateX(20px); }
.conta-switch input:focus-visible + .conta-switch__track{ outline: 3px solid rgba(28, 124, 78, .25); outline-offset: 1px; }

.conta-btn-inline{
  width: auto !important;
  padding: .5rem 1.15rem !important;
  font-size: .85rem !important;
}

.conta-secao{
  margin-bottom: .85rem;
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  padding: .25rem .85rem;
  background: var(--sur);
}
.conta-secao summary{
  cursor: pointer;
  font-weight: 600;
  padding: .55rem 0;
  color: var(--tx1);
  user-select: none;
}
.conta-secao[open] summary{ margin-bottom: .65rem; border-bottom: 1px dashed var(--bdr2); }
.conta-secao--perigo summary{ color: var(--fe); }

.conta-secao label{ display: block; margin-bottom: .65rem; }
.conta-secao label span{
  display: block;
  font-size: .8rem; font-weight: 500; color: var(--tx2);
  margin-bottom: .2rem;
}
.conta-secao input,
.conta-secao select{
  width: 100%;
  font: inherit; font-size: .9rem;
  padding: .55rem .75rem;
  background: var(--sur2);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  transition: border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
.conta-secao input:focus,
.conta-secao select:focus{
  outline: none;
  border-color: var(--cl);
  background: var(--sur);
  box-shadow: 0 0 0 3px rgba(28, 124, 78, .12);
}
.conta-secao input:disabled{ opacity: .65; cursor: not-allowed; }

/* Select custom · sem cara de nativo */
.conta-secao select,
.auth-form select,
select.form-select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B6B63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .85rem center;
  background-size: 12px 8px;
}
[data-theme="dark"] .conta-secao select,
[data-theme="dark"] .auth-form select,
[data-theme="dark"] select.form-select{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23A6A39B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.conta-secao select:hover,
.auth-form select:hover,
select.form-select:hover{
  border-color: var(--cl);
  background-color: var(--sur);
}
/* Estiliza options em navegadores que suportam (Firefox) */
.conta-secao select option,
.auth-form select option,
select.form-select option{
  background: var(--sur);
  color: var(--tx1);
  padding: .5rem;
}

.conta-help{
  color: var(--tx2); font-size: .87rem;
  line-height: 1.5;
  margin-bottom: .75rem;
}

.conta-perigo p{ color: var(--tx2); font-size: .87rem; margin-bottom: .75rem; line-height: 1.5; }
.conta-btn-perigo{
  width: 100%;
  background: var(--fe); color: #fff;
  border: 1px solid var(--fe);
  font: inherit; font-size: .9rem; font-weight: 600;
  padding: .55rem 1rem;
  border-radius: var(--r2);
  cursor: pointer;
  transition: background .15s;
}
.conta-btn-perigo:hover{ background: #9a1c1c; border-color: #9a1c1c; }

.conta-foot{
  text-align: center;
  padding-top: 1.25rem;
  margin-top: .75rem;
  border-top: 1px solid var(--bdr2);
}
.conta-link{
  background: transparent; border: 0;
  color: var(--tx3); font: inherit; font-size: .85rem;
  cursor: pointer; padding: .25rem .5rem;
  transition: color .15s;
}
.conta-link:hover{ color: var(--fe); }

@media (max-width: 480px){
  .hdr-conta-btn__nome{ display: none; }
}

/* Botão de ajuda no header (reabre o onboarding) */
.hdr-ajuda-btn{
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.9);
  width: 32px; height: 32px;
  border-radius: var(--r2);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  margin-right: .35rem;
  transition: background .15s, border-color .15s;
}
.hdr-ajuda-btn:hover{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); }
.hdr-ajuda-btn svg{ width: 16px; height: 16px; }

/* Hint do painel Histórico/Fazendas */
.hist__hint{
  display: block;
  font-size: .7rem;
  color: var(--tx3);
  font-weight: 400;
  margin-left: auto;
}
@media (max-width: 640px){
  .hist__hint{ display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════
   FAZENDAS · Modal de gerenciamento
   ═══════════════════════════════════════════════════════════════════════ */
.faz-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 9998;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 3rem 1.25rem;
  overflow-y: auto;
  animation: contaFade .2s ease-out;
}
.faz-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r4);
  padding: 1.75rem;
  max-width: 560px; width: 100%;
  box-shadow: var(--s2);
  position: relative;
}
.faz-card h2{ font-size: 1.3rem; font-weight: 700; margin-bottom: .5rem; color: var(--tx1); }

.faz-novo{
  display: grid;
  grid-template-columns: 1.4fr 2fr auto;
  gap: .5rem;
  margin: 1.25rem 0 1.5rem;
}
.faz-novo input{
  font: inherit; font-size: .88rem;
  padding: .5rem .65rem;
  background: var(--sur2);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
}
.faz-novo input:focus{ outline: none; border-color: var(--cl); }
.faz-novo-btn{ padding: .5rem 1rem; font-size: .85rem; }

.faz-lista{ display: flex; flex-direction: column; gap: .5rem; }
.faz-item{
  display: flex; gap: .65rem; align-items: flex-start;
  padding: .75rem .85rem;
  background: var(--sur2);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  transition: border-color .15s;
}
.faz-item:focus-within{ border-color: var(--cl); }
.faz-item__main{ flex: 1; min-width: 0; }
.faz-item__nome{
  font-size: 1rem; font-weight: 600; color: var(--tx1);
  padding: .15rem .25rem; border-radius: var(--r1);
  outline: none;
}
.faz-item__nome:focus, .faz-item__desc:focus{ background: var(--sur); box-shadow: 0 0 0 2px var(--cl); }
.faz-item__desc{
  font-size: .85rem; color: var(--tx2);
  padding: .15rem .25rem; border-radius: var(--r1);
  margin-top: .15rem;
  outline: none;
  min-height: 1.2em;
}
.faz-item__desc:empty::before{
  content: attr(data-placeholder);
  color: var(--tx4); font-style: italic;
}
.faz-item__meta{
  font-size: .72rem; color: var(--tx3);
  margin-top: .35rem;
}
.faz-item__acoes{ display: flex; gap: .25rem; flex-shrink: 0; align-items: center; }
.faz-item__salvar{
  background: var(--cl); color: #fff; border: 0;
  padding: .35rem .65rem; font-size: .78rem; font-weight: 600;
  border-radius: var(--r2); cursor: pointer;
}
.faz-item__salvar:hover{ background: var(--cl2); }
.faz-item__del{
  background: transparent; border: 1px solid var(--bdr);
  color: var(--tx3); width: 28px; height: 28px;
  border-radius: var(--r2); cursor: pointer;
}
.faz-item__del:hover{ background: var(--feb); color: var(--fe); border-color: var(--fe); }

@media (max-width: 600px){
  .faz-novo{ grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════
   COOKIE BANNER · aviso LGPD discreto no rodapé
   ═══════════════════════════════════════════════════════════════════════ */
.cookie-banner{
  position: fixed;
  bottom: 1rem; left: 1rem; right: 1rem;
  max-width: 580px;
  margin: 0 auto;
  background: var(--sur);
  border: 1px solid var(--bdr);
  border-radius: var(--r3);
  box-shadow: var(--s2);
  padding: 1rem 1.25rem;
  z-index: 9990;
  display: flex; gap: 1rem;
  align-items: center;
  animation: cookieSlideUp .35s ease-out;
}
@keyframes cookieSlideUp{
  from{ transform: translateY(120%); opacity: 0; }
  to  { transform: translateY(0);     opacity: 1; }
}
.cookie-banner__body{ flex: 1; min-width: 0; }
.cookie-banner p{
  font-size: .85rem;
  color: var(--tx2);
  line-height: 1.5;
  margin: 0;
}
.cookie-banner a{ color: var(--cl); font-weight: 500; }
.cookie-banner a:hover{ text-decoration: underline; }
.cookie-banner__acoes{ flex-shrink: 0; }
.cookie-btn{
  background: var(--cl); color: #fff; border: 1px solid var(--cl);
  padding: .5rem 1.1rem;
  font: inherit; font-size: .87rem; font-weight: 600;
  border-radius: var(--r2);
  cursor: pointer;
  transition: background .15s;
}
.cookie-btn:hover{ background: var(--cl2); border-color: var(--cl2); }

@media (max-width: 540px){
  .cookie-banner{ flex-direction: column; align-items: stretch; gap: .65rem; }
  .cookie-btn{ width: 100%; }
}

/* Checkbox de aceite no cadastro */
.auth-aceite{
  display: flex !important;
  align-items: flex-start;
  gap: .5rem;
  margin: .85rem 0 .25rem !important;
}
.auth-aceite input[type="checkbox"]{
  width: auto !important;
  margin-top: .2rem;
  cursor: pointer;
}
.auth-aceite span{
  font-size: .8rem !important;
  font-weight: 400 !important;
  color: var(--tx2) !important;
  margin: 0 !important;
  line-height: 1.45;
}
.auth-aceite a{ color: var(--cl); }

/* ═══════════════════════════════════════════════════════════════════════
   SPINNERS · pequeno spinner reutilizável dentro de botões
   ═══════════════════════════════════════════════════════════════════════ */
.spin-mini{
  display: inline-block;
  width: 12px; height: 12px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinRotate .65s linear infinite;
  vertical-align: middle;
  margin-right: .35rem;
}
@keyframes spinRotate{ to{ transform: rotate(360deg); } }

button[disabled].is-loading{ opacity: .8; cursor: wait; }
button.is-loading::before{
  content: '';
  display: inline-block;
  width: 12px; height: 12px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  margin-right: .4rem;
  vertical-align: -1px;
  animation: spinRotate .65s linear infinite;
}

/* ═══════════════════════════════════════════════════════════════════════
   VERIF BANNER · aviso de email não verificado (topo do site)
   ═══════════════════════════════════════════════════════════════════════ */
.verif-banner{
  background: linear-gradient(180deg, var(--avb) 0%, var(--avb) 100%);
  border-bottom: 1px solid var(--avc);
  color: var(--av);
  padding: .6rem 1rem;
  display: flex; align-items: center; gap: .85rem;
  font-size: .87rem;
  animation: verifSlideDown .3s ease-out;
}
@keyframes verifSlideDown{
  from{ transform: translateY(-100%); opacity: 0; }
  to  { transform: translateY(0);     opacity: 1; }
}
.verif-banner__icon{
  width: 26px; height: 26px;
  background: var(--av);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
}
.verif-banner__txt{
  display: flex; flex-direction: column; gap: .1rem;
  flex: 1; min-width: 0;
}
.verif-banner__txt strong{ font-size: .92rem; }
.verif-banner__txt span{ font-size: .82rem; opacity: .9; }
.verif-banner__txt b{ font-weight: 600; }
.verif-banner__btn{
  background: var(--av); color: #fff;
  border: 0; padding: .45rem 1rem;
  font: inherit; font-size: .82rem; font-weight: 600;
  border-radius: var(--r2);
  cursor: pointer;
  white-space: nowrap;
}
.verif-banner__btn:hover{ filter: brightness(.9); }
.verif-banner__btn:disabled,
.verif-banner__btn--cooldown{
  cursor: not-allowed;
  opacity: .55;
  filter: none;
}
.verif-banner__btn--cooldown:hover{ filter: none; }
.verif-banner__fechar{
  background: transparent; border: 0;
  color: var(--av); cursor: pointer;
  font-size: 1.4rem; line-height: 1;
  width: 28px; height: 28px;
  border-radius: var(--r2);
}
.verif-banner__fechar:hover{ background: rgba(0,0,0,.08); }

@media (max-width: 640px){
  .verif-banner{ flex-wrap: wrap; }
  .verif-banner__txt{ min-width: 100%; order: 2; }
  .verif-banner__icon{ order: 1; }
  .verif-banner__btn{ order: 3; flex: 1; }
  .verif-banner__fechar{ order: 4; }
}

/* ═══════════════════════════════════════════════════════════════════════
   LANDING PAGE · página pública pré-login
   ═══════════════════════════════════════════════════════════════════════ */
.landing-cta-pequeno{
  margin-left: auto;
  background: var(--cl); color: #fff;
  padding: .35rem .85rem;
  border-radius: var(--r2);
  font-size: .82rem; font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}
.landing-cta-pequeno:hover{ background: var(--cl2); text-decoration: none; }

.landing{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.25rem 4rem;
}

.landing-hero{
  text-align: center;
  padding: 4rem 0 3rem;
}
.landing-hero h1{
  font-size: 2.5rem; font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  max-width: 760px;
  margin: 0 auto 1.25rem;
  color: var(--tx1);
}
.landing-sub{
  font-size: 1.05rem;
  color: var(--tx2);
  max-width: 640px;
  margin: 0 auto 2rem;
  line-height: 1.6;
}
.landing-hero__acoes{
  display: flex; gap: .75rem; justify-content: center;
  flex-wrap: wrap; margin-bottom: 1rem;
}
.landing-cta{
  background: var(--cl); color: #fff;
  padding: .85rem 1.85rem;
  font-size: 1rem; font-weight: 600;
  border-radius: var(--r2);
  text-decoration: none;
  border: 1px solid var(--cl);
  transition: background .15s;
  display: inline-flex; align-items: center;
}
.landing-cta:hover{ background: var(--cl2); border-color: var(--cl2); text-decoration: none; }
.landing-cta--ghost{
  background: transparent; color: var(--cl);
  border-color: var(--bdr);
}
.landing-cta--ghost:hover{
  background: var(--clx); border-color: var(--cl);
}
.landing-cta--grande{
  font-size: 1.1rem;
  padding: 1rem 2.5rem;
}
.landing-tip{
  color: var(--tx3);
  font-size: .85rem;
  margin-top: .5rem;
}

.landing-features{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  padding: 1rem 0 3rem;
}
.landing-feat{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r3);
  padding: 1.5rem;
}
.landing-feat__ico{
  font-size: 1.85rem;
  margin-bottom: .65rem;
  color: var(--cl);
  line-height: 1;
}
.landing-feat h3{
  font-size: 1.05rem; font-weight: 700;
  color: var(--tx1); margin-bottom: .5rem;
}
.landing-feat p{
  color: var(--tx2); font-size: .9rem;
  line-height: 1.55;
}

.landing-como, .landing-fundamentacao{
  background: var(--sur2);
  border: 1px solid var(--bdr2);
  border-radius: var(--r3);
  padding: 2rem 2.25rem;
  margin-bottom: 1rem;
}
.landing-como h2, .landing-fundamentacao h2{
  font-size: 1.4rem; font-weight: 700;
  color: var(--tx1); margin-bottom: 1rem;
}
.landing-como ol{ padding-left: 1.4rem; }
.landing-como li, .landing-fundamentacao li{
  color: var(--tx2);
  margin-bottom: .65rem;
  line-height: 1.65;
}
.landing-fundamentacao p{ color: var(--tx2); margin-bottom: .85rem; }
.landing-fundamentacao ul{ padding-left: 1.4rem; }

.landing-cta-final{
  text-align: center;
  padding: 3.5rem 1rem;
  margin-top: 2rem;
}
.landing-cta-final h2{
  font-size: 1.8rem; font-weight: 700;
  color: var(--tx1); margin-bottom: .65rem;
}
.landing-cta-final p{
  color: var(--tx2); margin-bottom: 1.5rem;
}

.landing-foot{
  text-align: center;
  padding: 2rem 1rem;
  border-top: 1px solid var(--bdr2);
  margin-top: 2rem;
}
.landing-foot p{ color: var(--tx3); font-size: .85rem; line-height: 1.8; }
.landing-foot a{ color: var(--cl); }

@media (max-width: 600px){
  .landing-hero{ padding: 2.5rem 0 2rem; }
  .landing-hero h1{ font-size: 1.75rem; }
  .landing-sub{ font-size: .95rem; }
  .landing-cta{ padding: .75rem 1.5rem; font-size: .95rem; }
  .landing-como, .landing-fundamentacao{ padding: 1.5rem 1.25rem; }
}

/* ═══════════════════════════════════════════════════════════════════════
   SENHA FORTE · checklist visual em tempo real
   ═══════════════════════════════════════════════════════════════════════ */
.senha-checklist-wrap{ margin: -.4rem 0 .85rem; }
.senha-checklist{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .25rem .65rem;
  padding: .6rem .75rem;
  background: var(--sur2);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
}
.senha-check{
  display: flex; align-items: center; gap: .4rem;
  font-size: .76rem;
  color: var(--tx3);
  transition: color .2s;
}
.senha-check__dot{
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--bdr);
  flex-shrink: 0;
  position: relative;
  transition: background .2s;
}
.senha-check--ok{ color: var(--ok); }
.senha-check--ok .senha-check__dot{ background: var(--ok); }
.senha-check--ok .senha-check__dot::after{
  content: '✓';
  position: absolute;
  inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 10px; font-weight: 700;
}
@media (max-width: 460px){
  .senha-checklist{ grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════
   ADMIN PAGE
   ═══════════════════════════════════════════════════════════════════════ */
.admin-page{ max-width: 1000px; margin: 1.5rem auto; padding: 0 1.25rem 4rem; }
.adm-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem; margin-bottom: 1rem;
}
.adm-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r3);
  padding: 1.25rem 1.4rem;
}
.adm-card__num{
  font-size: 2.25rem; font-weight: 800;
  color: var(--cl);
  line-height: 1.1;
}
.adm-card__lbl{
  font-size: .9rem;
  color: var(--tx2);
  margin-top: .25rem;
}
.adm-card__sub{
  font-size: .78rem;
  color: var(--tx3);
  margin-top: .35rem;
}

/* ═══════════════════════════════════════════════════════════════════════
   FEEDBACK · botão header + opções de tipo
   ═══════════════════════════════════════════════════════════════════════ */
.hdr-fb-btn{
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.9);
  height: 32px;
  padding: 0 .55rem;
  border-radius: var(--r2);
  display: inline-flex; align-items: center; gap: .35rem;
  cursor: pointer;
  margin-right: .35rem;
  position: relative;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 500;
}
.hdr-fb-btn:hover{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); }
.hdr-fb-btn svg{ width: 16px; height: 16px; flex-shrink: 0; }
.hdr-fb-btn__txt{ line-height: 1; }
@media (max-width: 600px){
  .hdr-fb-btn__txt{ display: none; }
  .hdr-fb-btn{ padding: 0; width: 32px; justify-content: center; }
}

/* Destaque quando ainda nao mandou feedback: pulso + ponto vermelho */
.hdr-fb-btn--destaque{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.35);
  animation: hdrFbPulse 2.4s ease-in-out infinite;
}
.hdr-fb-btn__dot{
  position: absolute;
  top: -3px; right: -3px;
  width: 8px; height: 8px;
  background: #ef4444;
  border-radius: 50%;
  border: 2px solid var(--hdr-bg, #1c7c4e);
  box-shadow: 0 0 0 0 rgba(239,68,68,.6);
  animation: hdrFbDot 1.6s ease-in-out infinite;
}
@keyframes hdrFbPulse{
  0%,100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
  50%     { box-shadow: 0 0 0 4px rgba(255,255,255,.08); }
}
@keyframes hdrFbDot{
  0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,.5); }
  50%     { box-shadow: 0 0 0 5px rgba(239,68,68,0); }
}

.fb-tipos{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}
.fb-tipo{
  display: flex; flex-direction: column;
  padding: .65rem .75rem;
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  background: var(--sur2);
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.fb-tipo:hover{ border-color: var(--cl); }
.fb-tipo input{ display: none; }
.fb-tipo:has(input:checked){
  border-color: var(--cl);
  background: var(--clx);
}
.fb-tipo__label{ font-weight: 600; font-size: .9rem; color: var(--tx1); }
.fb-tipo__desc{ font-size: .75rem; color: var(--tx3); margin-top: .15rem; }

@media (max-width: 460px){
  .fb-tipos{ grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════
   PALETAS · 4 cores de acento (default = Cerrado)
   ═══════════════════════════════════════════════════════════════════════ */

/* Terra (marrom) */
[data-paleta="terra"]{
  --cl: #9C6328; --cl2: #80501E; --cl3: #BC8246; --clx: #F6ECDD; --cla: #9C6328;
}
[data-theme="dark"][data-paleta="terra"]{
  --cl: #C58A4F; --cl2: #A87338; --cl3: #D9A77A; --clx: #3A2916; --cla: #C58A4F;
}

/* Céu (azul) */
[data-paleta="ceu"]{
  --cl: #1F6F99; --cl2: #195A7D; --cl3: #3E8FB8; --clx: #E5F1F8; --cla: #1F6F99;
}
[data-theme="dark"][data-paleta="ceu"]{
  --cl: #4D9DC8; --cl2: #3C82A9; --cl3: #6FB4D8; --clx: #16303F; --cla: #4D9DC8;
}

/* Rosé (vinho) */
[data-paleta="rose"]{
  --cl: #A33A56; --cl2: #872E47; --cl3: #BE5572; --clx: #F8E6EB; --cla: #A33A56;
}
[data-theme="dark"][data-paleta="rose"]{
  --cl: #C76480; --cl2: #A14F66; --cl3: #DA889F; --clx: #3E1B25; --cla: #C76480;
}

/* Modal de seleção de paleta */
.pal-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}
.pal-opcao{
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  background: var(--sur2);
  border: 2px solid var(--bdr);
  border-radius: var(--r3);
  padding: 1rem;
  cursor: pointer;
  font: inherit;
  transition: border-color .15s;
}
.pal-opcao:hover{ border-color: var(--pal-cor); }
.pal-opcao.is-ativa{ border-color: var(--pal-cor); background: var(--sur); }
.pal-swatch{
  width: 36px; height: 36px;
  background: var(--pal-cor);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.pal-nome{
  font-size: .85rem;
  font-weight: 600;
  color: var(--tx2);
}
.pal-opcao.is-ativa .pal-nome{ color: var(--tx1); }

/* ═══════════════════════════════════════════════════════════════════════
   PAINEL ADMIN com sidebar
   ═══════════════════════════════════════════════════════════════════════ */
.adm-body{
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
}
.adm-shell{
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}

/* SIDEBAR */
.adm-sidebar{
  background: #0C1210;
  color: #fff;
  padding: 1.25rem 0;
  display: flex; flex-direction: column;
  border-right: 1px solid #1a2420;
}
[data-theme="dark"] .adm-sidebar{ background: #050807; }

.adm-brand{
  display: flex; align-items: center; gap: .65rem;
  padding: 0 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: #fff;
  text-decoration: none;
  margin-bottom: 1rem;
}
.adm-brand img{ height: 32px; width: auto; object-fit: contain; opacity: .92; }
.adm-brand strong{ display: block; font-size: 1rem; font-weight: 700; }
.adm-brand small{ display: block; font-size: .7rem; color: rgba(255,255,255,.55); letter-spacing: .03em; text-transform: uppercase; }

.adm-nav{
  flex: 1;
  display: flex; flex-direction: column;
  padding: 0 .75rem;
  gap: .15rem;
}
.adm-nav-item{
  background: transparent;
  border: 0;
  color: rgba(255,255,255,.7);
  font: inherit; font-size: .87rem;
  display: flex; align-items: center; gap: .65rem;
  padding: .65rem .85rem;
  border-radius: var(--r2);
  cursor: pointer;
  text-align: left;
  transition: background .15s, color .15s;
}
.adm-nav-item:hover{ background: rgba(255,255,255,.05); color: #fff; }
.adm-nav-item.is-active{
  background: var(--cl); color: #fff;
}
.adm-nav-item svg{ width: 18px; height: 18px; flex-shrink: 0; }
.adm-nav-item span:first-of-type{ flex: 1; }
.adm-badge{
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: .7rem;
  font-weight: 600;
  padding: .1rem .45rem;
  border-radius: 999px;
  min-width: 18px;
  text-align: center;
}
.adm-nav-item.is-active .adm-badge{ background: rgba(255,255,255,.25); }

.adm-foot{
  padding: 1rem 1.25rem 0;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex; gap: .5rem;
}
.adm-icon-btn{
  background: transparent;
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.85);
  width: 36px; height: 36px;
  border-radius: var(--r2);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  text-decoration: none;
}
.adm-icon-btn:hover{ background: rgba(255,255,255,.08); }
.adm-icon-btn svg{ width: 16px; height: 16px; }

/* MAIN */
.adm-main{
  padding: 1.75rem 2rem;
  overflow-x: hidden;
}
.adm-empty{
  text-align: center;
  padding: 4rem 2rem;
  color: var(--tx3);
}

.adm-sec-head{
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bdr2);
}
.adm-sec-head h1{
  font-size: 1.5rem; font-weight: 700;
  color: var(--tx1); margin: 0;
}
.adm-sec-head p{
  color: var(--tx3); font-size: .9rem;
  margin-top: .25rem;
}
.adm-back{
  background: transparent; border: 0;
  color: var(--cl); cursor: pointer;
  font: inherit; font-size: .85rem;
  padding: .25rem 0;
  margin-bottom: .5rem;
}
.adm-back:hover{ text-decoration: underline; }

/* Busca */
.adm-search{
  display: flex; gap: .5rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}
.adm-search input, .adm-search select{
  font: inherit; font-size: .88rem;
  padding: .45rem .7rem;
  background: var(--sur);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
}
.adm-search input{ flex: 1; min-width: 200px; }
.adm-search input:focus, .adm-search select:focus{ outline: none; border-color: var(--cl); }

/* Cards de número */
.adm-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.adm-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r3);
  padding: 1.25rem;
}
.adm-card-num{
  font-size: 2rem; font-weight: 800;
  color: var(--cl); line-height: 1;
}
.adm-card-lbl{
  font-size: .85rem; color: var(--tx2);
  margin-top: .25rem;
}
.adm-card-sub{
  font-size: .72rem; color: var(--tx3);
  margin-top: .35rem;
}

/* Painéis */
.adm-grid-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 1000px){ .adm-grid-2{ grid-template-columns: 1fr; } }

.adm-panel{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r3);
  padding: 1.25rem;
  margin-bottom: 1rem;
  overflow-x: auto;
}
.adm-panel h3{
  font-size: 1rem; font-weight: 600;
  color: var(--tx1);
  margin-bottom: .75rem;
}

/* Tags */
.adm-tag{
  display: inline-block;
  padding: .1rem .5rem;
  border-radius: 999px;
  font-size: .7rem; font-weight: 600;
}
.adm-tag--ok{ background: var(--okb); color: var(--ok); }
.adm-tag--av{ background: var(--avb); color: var(--av); }
.adm-tag--er{ background: var(--feb); color: var(--fe); }
.adm-tag--n{ background: var(--bdr2); color: var(--tx2); }
.adm-tag--fundador{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  color: #d97706;
  border: 1px solid #f59e0b;
  box-shadow: 0 0 6px rgba(251, 191, 36, .35);
  padding: 3px 6px;
}
.adm-tag--fundador svg{ vertical-align: middle; }
.adm-tag--mkt{ background: #dbeafe; color: #1e40af; }
.adm-tag--vacilona{
  background: linear-gradient(135deg, #fce7f3, #fbcfe8);
  color: #9d174d;
  font-weight: 700;
  border: 1px solid #f9a8d4;
  animation: vacilona-pulse 2s ease-in-out infinite;
}
[data-theme="dark"] .adm-tag--vacilona{
  background: linear-gradient(135deg, #831843, #9d174d);
  color: #fce7f3;
  border-color: #be185d;
}
@keyframes vacilona-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.05); }
}

/* Hover linha tabela */
.usu-row:hover td{ background: var(--clx); }

/* Perfil do usuário */
.ud-perfil{
  display: flex; align-items: center; gap: 1.25rem;
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: var(--r3);
  padding: 1.25rem;
}
.ud-avatar{
  width: 64px; height: 64px;
  background: var(--cl); color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem; font-weight: 700;
  flex-shrink: 0;
}
.ud-perfil h2{ font-size: 1.25rem; margin-bottom: .25rem; }
.ud-perfil p{ margin: 0; font-size: .87rem; color: var(--tx2); }

/* Feedback */
.fb-card{
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--bdr2);
}
.fb-card:last-child{ border-bottom: 0; }
.fb-card-head{
  display: flex; justify-content: space-between; align-items: center;
  font-size: .82rem;
  margin-bottom: .5rem;
}
.fb-card-body{
  color: var(--tx1);
  line-height: 1.5;
  white-space: pre-wrap;
}
.fb-card-foot{
  margin-top: .5rem;
  font-size: .78rem;
  color: var(--tx3);
}

/* Mobile */
@media (max-width: 768px){
  .adm-shell{ grid-template-columns: 1fr; }
  .adm-sidebar{
    flex-direction: row; align-items: center;
    padding: .5rem;
    border-right: 0;
    border-bottom: 1px solid #1a2420;
    overflow-x: auto;
  }
  .adm-brand{ padding: 0 .5rem; border-bottom: 0; margin-bottom: 0; flex-shrink: 0; }
  .adm-brand img{ height: 24px; }
  .adm-brand small{ display: none; }
  .adm-nav{ flex-direction: row; padding: 0; gap: .25rem; flex: 1; overflow-x: auto; }
  .adm-nav-item{ padding: .5rem .6rem; }
  .adm-nav-item span:first-of-type{ display: none; }
  .adm-foot{ padding: 0; border-top: 0; flex-shrink: 0; }
  .adm-main{ padding: 1rem; }
}

/* ═══════════════════════════════════════════════════════════════════════
   NEWSLETTER · Card de inscricao
   ═══════════════════════════════════════════════════════════════════════ */
.nl-card{
  position: relative;
  background: linear-gradient(135deg, var(--clx), transparent 65%);
  border: 1px solid rgba(28,124,78,.25);
  border-left: 4px solid var(--cl);
  border-radius: var(--r2);
  padding: 1.15rem 1.35rem;
  margin: 1.5rem 0;
  max-width: 640px;
}
[data-theme="dark"] .nl-card{
  background: linear-gradient(135deg, rgba(61,171,118,.10), transparent 65%);
  border-color: rgba(61,171,118,.3);
  border-left-color: var(--cl3);
}
.nl-card__close{
  position: absolute;
  top: .5rem; right: .55rem;
  background: transparent;
  border: none;
  color: var(--tx3);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  padding: .15rem .35rem;
  border-radius: 50%;
  transition: background .12s;
}
.nl-card__close:hover{ background: rgba(0,0,0,.06); color: var(--tx1); }
[data-theme="dark"] .nl-card__close:hover{ background: rgba(255,255,255,.08); }
.nl-card h3{
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  color: var(--tx1);
  padding-right: 1.5rem;
}
.nl-card p{
  margin: 0 0 .8rem;
  font-size: .88rem;
  color: var(--tx2);
  line-height: 1.5;
}
.nl-form{
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.nl-form input[type="email"]{
  flex: 1 1 220px;
  padding: .6rem .8rem;
  background: var(--bg);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  font-size: .9rem;
  font-family: inherit;
  min-width: 0;
}
.nl-form input[type="email"]:focus{
  outline: none;
  border-color: var(--cl);
  box-shadow: 0 0 0 3px rgba(28,124,78,.15);
}
.nl-form button{
  padding: .6rem 1.1rem;
  background: var(--cl);
  color: #fff;
  border: 1px solid var(--cl);
  border-radius: var(--r2);
  font-weight: 600;
  cursor: pointer;
  font-size: .88rem;
  transition: background .12s, transform .08s;
}
.nl-form button:hover:not(:disabled){ background: var(--cl2, #16613d); }
.nl-form button:active{ transform: scale(.97); }
.nl-form button:disabled{ opacity: .6; cursor: default; }
[data-theme="dark"] .nl-form button{ background: var(--cl3); border-color: var(--cl3); color: #0e1c14; }
[data-theme="dark"] .nl-form button:hover:not(:disabled){ background: #4dc48d; }

.nl-card__msg{ margin-top: .55rem; font-size: .82rem; }
.nl-card__msg--err{ color: #dc2626; }
[data-theme="dark"] .nl-card__msg--err{ color: #f87171; }

.nl-card--ok,
.nl-card__ok{
  display: flex;
  align-items: flex-start;
  gap: .8rem;
}
.nl-card__ico{
  flex-shrink: 0;
  width: 32px; height: 32px;
  background: var(--cl);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}
[data-theme="dark"] .nl-card__ico{ background: var(--cl3); color: #0e1c14; }
.nl-card__ok p,
.nl-card--ok p{ margin: .2rem 0 0; }

/* ═══════════════════════════════════════════════════════════════════════
   ADMIN DASHBOARD (Bloco 1.C)
   ═══════════════════════════════════════════════════════════════════════ */
.adm-mini-card{
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  padding: 1rem 1.15rem;
  min-width: 0;
}
.adm-mini-card__label{
  font-size: .75rem;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .35rem;
}
.adm-mini-card__val{
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--tx1);
  line-height: 1.1;
}
.adm-mini-card__sub{
  font-size: .78rem;
  color: var(--tx2);
  margin-top: .35rem;
}
.adm-charts{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.adm-charts .adm-panel{
  padding: 1rem 1.15rem;
}
.adm-charts .adm-panel h3{
  margin: 0 0 .75rem;
  font-size: 1rem;
  color: var(--tx1);
}
.adm-loading{
  padding: 2rem;
  text-align: center;
  color: var(--tx3);
}
.adm-erro-inline{
  padding: 1rem;
  background: rgba(220,38,38,.08);
  color: #dc2626;
  border-radius: var(--r2);
  border: 1px solid rgba(220,38,38,.2);
}

/* Chart canvas herda cores do tema quando redesenhado */
.adm-panel canvas{
  max-width: 100%;
}

/* Feedback insights (Bloco 1.D) */
.fb-insights{ display: flex; flex-direction: column; gap: .5rem; }
.fb-tags{ display: flex; flex-wrap: wrap; gap: .35rem; }
.fb-card-temas{ margin: .5rem 0; display: flex; flex-wrap: wrap; gap: .3rem; }

/* ═══════════════════════════════════════════════════════════════════════
   FAQ (Etapa 2.B)
   ═══════════════════════════════════════════════════════════════════════ */
.faq-lista{
  max-width: 780px;
  margin: 1.5rem auto 2.5rem;
  padding: 0 1.25rem;
}
.faq-item{
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  background: var(--sur1);
  margin-bottom: .65rem;
  overflow: hidden;
  transition: background .12s, border-color .12s;
}
.faq-item[open]{
  border-color: var(--cl);
  background: var(--sur1);
}
.faq-item summary{
  cursor: pointer;
  padding: 1rem 1.15rem;
  font-weight: 600;
  color: var(--tx1);
  list-style: none;
  position: relative;
  padding-right: 3rem;
  font-size: 1rem;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary::after{
  content: "+";
  position: absolute;
  right: 1.15rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: var(--cl);
  line-height: 1;
  font-weight: 400;
  transition: transform .18s;
}
[data-theme="dark"] .faq-item summary::after{ color: var(--cl3); }
.faq-item[open] summary::after{ transform: translateY(-50%) rotate(45deg); }
.faq-item summary:hover{ color: var(--cl); }
[data-theme="dark"] .faq-item summary:hover{ color: var(--cl3); }
.faq-item > p,
.faq-item > ul,
.faq-item > ol{
  padding: 0 1.15rem 1rem;
  margin: 0 0 .5rem;
  color: var(--tx2);
  line-height: 1.65;
  font-size: .93rem;
}
.faq-item > p:last-child,
.faq-item > ul:last-child,
.faq-item > ol:last-child{ margin-bottom: 0; padding-bottom: 1rem; }
.faq-item ul,
.faq-item ol{ padding-left: 2.25rem; }
.faq-item li{ margin-bottom: .3rem; }

/* ═══════════════════════════════════════════════════════════════════════
   GLOSSÁRIO
   ═══════════════════════════════════════════════════════════════════════ */
.glo-nav{
  max-width: 780px;
  margin: 1.25rem auto;
  padding: .9rem 1.15rem;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  font-size: .85rem;
  color: var(--tx2);
  line-height: 1.8;
}
.glo-nav a{ color: var(--cl); text-decoration: none; font-weight: 500; }
[data-theme="dark"] .glo-nav a{ color: var(--cl3); }
.glo-nav a:hover{ text-decoration: underline; }

.glo-grupo{
  max-width: 780px;
  margin: 2.5rem auto;
  padding: 0 1.25rem;
  scroll-margin-top: 5rem;
}
.glo-grupo h2{
  color: var(--tx1);
  font-size: 1.6rem;
  margin: 0 0 1.25rem;
  padding-bottom: .6rem;
  border-bottom: 2px solid var(--cl);
}
[data-theme="dark"] .glo-grupo h2{ border-bottom-color: var(--cl3); }

.glo-item{
  padding: 1.15rem 1.25rem;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  margin-bottom: 1rem;
}
.glo-item h3{
  margin: 0 0 .6rem;
  color: var(--cl);
  font-size: 1.05rem;
}
[data-theme="dark"] .glo-item h3{ color: var(--cl3); }
.glo-item p{
  margin: 0 0 .55rem;
  color: var(--tx2);
  line-height: 1.6;
  font-size: .9rem;
}
.glo-item p:last-child{ margin-bottom: 0; }
.glo-item ul{
  margin: .3rem 0 .6rem 1.5rem;
  padding: 0;
  color: var(--tx2);
  font-size: .88rem;
  line-height: 1.65;
}
.glo-item code{
  background: var(--bg);
  padding: .15rem .4rem;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .85em;
  color: var(--tx1);
}

/* ═══════════════════════════════════════════════════════════════════════
   BLOG
   ═══════════════════════════════════════════════════════════════════════ */
.blog-lista{
  max-width: 780px;
  margin: 1.5rem auto 3rem;
  padding: 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.blog-card{
  display: block;
  padding: 1.35rem 1.5rem;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  color: inherit;
  text-decoration: none;
  transition: transform .12s, border-color .12s, box-shadow .12s;
}
.blog-card:hover{
  border-color: var(--cl);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}
[data-theme="dark"] .blog-card:hover{ border-color: var(--cl3); }
.blog-card__cat{
  display: inline-block;
  padding: .2rem .55rem;
  background: var(--clx);
  color: var(--cl);
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .55rem;
}
[data-theme="dark"] .blog-card__cat{ background: rgba(61,171,118,.15); color: var(--cl3); }
.blog-card h2{
  margin: 0 0 .5rem;
  font-size: 1.25rem;
  color: var(--tx1);
  line-height: 1.3;
}
.blog-card p{
  margin: 0 0 .7rem;
  color: var(--tx2);
  font-size: .93rem;
  line-height: 1.55;
}
.blog-card__meta{
  font-size: .78rem;
  color: var(--tx3);
}

/* Post individual */
.blog-post{
  max-width: 720px;
  margin: 1.5rem auto 2.5rem;
  padding: 0 1.25rem;
}
.blog-post__head{
  margin-bottom: 2rem;
}
.blog-post__cat{
  display: inline-block;
  padding: .2rem .55rem;
  background: var(--clx);
  color: var(--cl);
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .8rem;
}
[data-theme="dark"] .blog-post__cat{ background: rgba(61,171,118,.15); color: var(--cl3); }
.blog-post__head h1{
  margin: 0 0 .8rem;
  font-size: 2.2rem;
  line-height: 1.2;
  color: var(--tx1);
}
.blog-post__meta{
  color: var(--tx3);
  font-size: .88rem;
}
.blog-post__body{
  color: var(--tx1);
  line-height: 1.75;
  font-size: 1.05rem;
}
.blog-post__body h2{
  color: var(--tx1);
  margin: 2rem 0 .8rem;
  font-size: 1.5rem;
  padding-bottom: .4rem;
  border-bottom: 2px solid var(--cl);
  display: inline-block;
}
[data-theme="dark"] .blog-post__body h2{ border-bottom-color: var(--cl3); }
.blog-post__body h3{
  color: var(--tx1);
  margin: 1.5rem 0 .5rem;
  font-size: 1.15rem;
}
.blog-post__body p{
  margin: 0 0 1rem;
  color: var(--tx2);
}
.blog-post__body ul,
.blog-post__body ol{
  margin: 0 0 1rem;
  padding-left: 1.8rem;
  color: var(--tx2);
}
.blog-post__body li{ margin-bottom: .35rem; }
.blog-post__body code{
  background: var(--sur1);
  padding: .15rem .4rem;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .9em;
}
.blog-post__body blockquote{
  border-left: 4px solid var(--cl);
  margin: 1.5rem 0;
  padding: .8rem 1.2rem;
  background: var(--sur1);
  border-radius: 0 var(--r2) var(--r2) 0;
  color: var(--tx1);
  font-style: italic;
}
[data-theme="dark"] .blog-post__body blockquote{ border-left-color: var(--cl3); }

/* Placeholder de foto: espaço reservado com descrição */
.blog-figura{
  margin: 2rem 0;
  padding: 3rem 1.5rem;
  background: var(--sur1);
  border: 2px dashed var(--bdr2);
  border-radius: var(--r2);
  text-align: center;
  color: var(--tx3);
  font-size: .88rem;
}
.blog-figura__ico{
  font-size: 2rem;
  margin-bottom: .5rem;
  color: var(--tx3);
}
.blog-figura__cap{
  margin-top: .8rem;
  font-size: .82rem;
  font-style: italic;
  color: var(--tx3);
}
.blog-figura img{
  max-width: 100%;
  border-radius: var(--r2);
  display: block;
  margin: 0 auto;
}

/* Tabela usada nos posts */
.blog-post__body table{
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .92rem;
}
.blog-post__body th,
.blog-post__body td{
  padding: .55rem .8rem;
  text-align: left;
  border-bottom: 1px solid var(--bdr2);
}
.blog-post__body th{
  background: var(--sur1);
  font-weight: 600;
  color: var(--tx1);
}

.blog-cta-final{
  max-width: 720px;
  margin: 3rem auto 2rem;
  padding: 2rem 1.5rem;
  background: linear-gradient(135deg, var(--clx), transparent 65%);
  border: 1px solid rgba(28,124,78,.25);
  border-radius: var(--r2);
  text-align: center;
}
[data-theme="dark"] .blog-cta-final{
  background: linear-gradient(135deg, rgba(61,171,118,.10), transparent 65%);
  border-color: rgba(61,171,118,.3);
}
.blog-cta-final h3{
  margin: 0 0 .6rem;
  color: var(--tx1);
}
.blog-cta-final p{ margin: 0 0 1rem; color: var(--tx2); }

.blog-nav-inferior{
  max-width: 720px;
  margin: 2rem auto 1rem;
  padding: 0 1.25rem;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  color: var(--tx3);
  font-size: .88rem;
}
.blog-nav-inferior a{ color: var(--cl); text-decoration: none; }
[data-theme="dark"] .blog-nav-inferior a{ color: var(--cl3); }
.blog-nav-inferior a:hover{ text-decoration: underline; }

/* Imagem hero do post */
.blog-post__hero{
  max-width: 900px;
  margin: 1rem auto 2rem;
  padding: 0 1.25rem;
}
.blog-post__hero img{
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--r2);
  display: block;
}

/* Imagem no card do blog */
.blog-card__img{
  margin: -1.35rem -1.5rem 1rem;
  height: 180px;
  overflow: hidden;
  border-radius: var(--r2) var(--r2) 0 0;
  background: var(--bg);
}
.blog-card__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Editor blog no admin */
.blog-form-label{
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: var(--tx2);
  margin-bottom: .3rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.blog-form-label em{
  color: #dc2626;
  font-style: normal;
  font-weight: 700;
}
#blog-form input[type="text"],
#blog-form input[type="url"],
#blog-form input[type="number"],
#blog-form textarea{
  width: 100%;
  padding: .55rem .75rem;
  background: var(--bg);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  font-size: .9rem;
  font-family: inherit;
  box-sizing: border-box;
}
#blog-form input:focus,
#blog-form textarea:focus{
  outline: none;
  border-color: var(--cl);
  box-shadow: 0 0 0 3px rgba(28,124,78,.15);
}

/* Casos de uso - card CTA */
.caso-uso-cta{
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 2rem 1.75rem;
  background: linear-gradient(135deg, var(--clx), transparent 65%);
  border: 1px solid rgba(28,124,78,.25);
  border-left: 4px solid var(--cl);
  border-radius: var(--r2);
}
[data-theme="dark"] .caso-uso-cta{
  background: linear-gradient(135deg, rgba(61,171,118,.10), transparent 65%);
  border-color: rgba(61,171,118,.3);
  border-left-color: var(--cl3);
}
.caso-uso-cta__ico{
  font-size: 2.5rem;
  line-height: 1;
  flex-shrink: 0;
}
.caso-uso-cta h2{
  margin: 0 0 .6rem;
  color: var(--tx1);
  font-size: 1.3rem;
}
.caso-uso-cta p{
  margin: 0 0 1rem;
  color: var(--tx2);
  line-height: 1.6;
}
@media (max-width: 540px){
  .caso-uso-cta{ flex-direction: column; text-align: center; }
  .caso-uso-cta__ico{ margin: 0 auto; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Navegação de recursos no header (Blog, FAQ, Glossário)
   ═══════════════════════════════════════════════════════════════════════ */
.hdr-links{
  display: flex;
  gap: .15rem;
  align-items: center;
  margin-left: auto;
  margin-right: .5rem;
}
.hdr-links a{
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 500;
  padding: .35rem .65rem;
  border-radius: var(--r2);
  transition: background .12s, color .12s;
  white-space: nowrap;
}
.hdr-links a:hover{
  color: #fff;
  background: rgba(255,255,255,.1);
}
@media (max-width: 800px){
  .hdr-links{
    display: none;  /* Esconde no mobile — usuario tem no rodape */
  }
}

/* Ajustes: quando tem hdr-links, o botao de tema fica ao lado direito */
.hdr-links + .theme-toggle{
  margin-left: 0;
}

/* ═══════════════════════════════════════════════════════════════════════
   Rodape expandido com links institucionais
   ═══════════════════════════════════════════════════════════════════════ */
.site-footer__links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem .55rem;
  margin: 0 0 .8rem;
  font-size: .85rem;
}
.site-footer__links a{
  color: var(--tx1);
  text-decoration: none;
  font-weight: 500;
  padding: .15rem .3rem;
  border-radius: 4px;
  transition: background .12s, color .12s;
}
.site-footer__links a:hover{
  color: var(--cl);
  background: var(--sur1);
}
[data-theme="dark"] .site-footer__links a:hover{
  color: var(--cl3);
}
.site-footer__links span{
  color: var(--tx3);
  opacity: .6;
}

/* ═══════════════════════════════════════════════════════════════════════
   COMPARAR LAUDOS
   ═══════════════════════════════════════════════════════════════════════ */
.cmp-selecao{ max-width: 780px; margin: 1.5rem auto; padding: 0 1.25rem; }

.cmp-picker{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: end;
  padding: 1.5rem;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
}
.cmp-picker__col label{
  display: block;
  font-size: .78rem;
  font-weight: 600;
  color: var(--tx2);
  margin-bottom: .35rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cmp-picker__col select{
  width: 100%;
  padding: .6rem .75rem;
  background: var(--bg);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  font-family: inherit;
  font-size: .9rem;
}
.cmp-picker__vs{
  font-size: 1.5rem;
  color: var(--cl);
  font-weight: 700;
  padding-bottom: .5rem;
}
[data-theme="dark"] .cmp-picker__vs{ color: var(--cl3); }
.cmp-picker #btn-comparar{
  grid-column: 1 / -1;
  margin-top: .5rem;
}

@media (max-width: 640px){
  .cmp-picker{ grid-template-columns: 1fr; }
  .cmp-picker__vs{ text-align: center; padding: 0; }
}

.cmp-empty{
  text-align: center;
  padding: 3rem 1.5rem;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
}
.cmp-empty__ico{ font-size: 3rem; margin-bottom: .8rem; }
.cmp-empty h2{ margin: 0 0 .5rem; color: var(--tx1); font-size: 1.3rem; }
.cmp-empty p{ color: var(--tx2); margin: 0 0 1.5rem; }

.cmp-cabecalhos{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 0 1.25rem;
  max-width: 100%;
}
.cmp-cabecalho{
  padding: 1rem 1.15rem;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  border-left: 4px solid var(--cl);
}
.cmp-cabecalho:nth-child(2){ border-left-color: var(--pl, #4d9dc8); }
.cmp-cabecalho__label{
  display: inline-block;
  padding: .15rem .5rem;
  background: var(--cl);
  color: #fff;
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 700;
  margin-bottom: .35rem;
}
.cmp-cabecalho__label--b{ background: var(--pl, #4d9dc8); }
.cmp-cabecalho h3{ margin: 0 0 .3rem; font-size: 1rem; color: var(--tx1); }

.cmp-tbl{
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.cmp-tbl th{
  text-align: left;
  padding: .55rem .75rem;
  background: var(--bg);
  font-weight: 600;
  color: var(--tx2);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cmp-tbl td{
  padding: .5rem .75rem;
  border-bottom: 1px solid var(--bdr2);
  color: var(--tx1);
}
.cmp-tbl tr:last-child td{ border-bottom: none; }

.cmp-arrow{
  display: inline-block;
  min-width: 1.2em;
  text-align: center;
  font-weight: 700;
}
.cmp-arrow--ok{ color: #16a34a; }
.cmp-arrow--er{ color: #dc2626; }
.cmp-arrow--n{ color: var(--tx3); }

/* ═══════════════════════════════════════════════════════════════════════
   PAINEL "Meus laudos salvos" (v2 - Bloco 4.E)
   ═══════════════════════════════════════════════════════════════════════ */

/* Título e resumo do details */
.hist__ico{
  flex-shrink: 0;
  color: var(--cl);
  width: 18px !important;
  height: 18px !important;
  overflow: visible;
}
[data-theme="dark"] .hist__ico{ color: var(--cl3); }
.hist__title{
  font-weight: 600;
  color: var(--tx1);
}
.hist__count{
  display: inline-block;
  padding: .1rem .5rem;
  background: var(--cl);
  color: #fff;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 600;
  min-width: 1.5em;
  text-align: center;
}
.hist__count:empty{ display: none; }
[data-theme="dark"] .hist__count{ background: var(--cl3); color: #0e1c14; }
.hist__hint{
  color: var(--tx3);
  font-size: .82rem;
  font-weight: 400;
  margin-left: auto;
}

/* Bloco de salvar (topo do painel) */
.hist-salvar--v2{
  background: linear-gradient(135deg, var(--clx), transparent 65%);
  border: 1px solid rgba(28,124,78,.2);
  border-left: 4px solid var(--cl);
  padding: 1rem 1.15rem;
  border-radius: var(--r2);
  margin-bottom: 1rem;
}
[data-theme="dark"] .hist-salvar--v2{
  background: linear-gradient(135deg, rgba(61,171,118,.10), transparent 65%);
  border-color: rgba(61,171,118,.3);
  border-left-color: var(--cl3);
}
.hist-salvar__linha{
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: .55rem;
  align-items: center;
}
@media (max-width: 640px){
  .hist-salvar__linha{ grid-template-columns: 1fr; }
}
.hist-salvar__nome,
.hist-salvar__fazenda{
  padding: .55rem .7rem;
  background: var(--bg);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  font-family: inherit;
  font-size: .88rem;
}
.hist-salvar__nome:focus,
.hist-salvar__fazenda:focus{
  outline: none;
  border-color: var(--cl);
  box-shadow: 0 0 0 3px rgba(28,124,78,.15);
}
.hist-salvar__fazenda{ min-width: 130px; }
.hist-salvar__btn{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .58rem .95rem;
  background: var(--cl);
  color: #fff;
  border: 1px solid var(--cl);
  border-radius: var(--r2);
  font-weight: 600;
  font-size: .88rem;
  cursor: pointer;
  transition: background .12s, transform .08s;
  white-space: nowrap;
}
.hist-salvar__btn:hover{ background: var(--cl2, #16613d); }
.hist-salvar__btn:active{ transform: scale(.97); }
[data-theme="dark"] .hist-salvar__btn{ background: var(--cl3); border-color: var(--cl3); color: #0e1c14; }
[data-theme="dark"] .hist-salvar__btn:hover{ background: #4dc48d; }

/* Barra de filtro + ações */
.hist-barra{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: .75rem;
  flex-wrap: wrap;
}
.hist-barra__filtro{
  display: flex;
  align-items: center;
  gap: .5rem;
}
.hist-barra__filtro label{
  font-size: .82rem;
  color: var(--tx2);
  font-weight: 500;
}
.hist-barra__filtro select{
  padding: .35rem .55rem;
  background: var(--bg);
  border: 1px solid var(--bdr);
  border-radius: var(--r2);
  color: var(--tx1);
  font-family: inherit;
  font-size: .85rem;
}
.hist-barra__acoes{
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
}
.hist-btn-comparar{
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  text-decoration: none;
}

/* Lista de cards */
.hist-lista{
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.hist-card{
  display: flex;
  align-items: stretch;
  background: var(--sur1);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
  overflow: hidden;
  transition: border-color .12s, transform .08s;
}
.hist-card:hover{ border-color: var(--cl); }
[data-theme="dark"] .hist-card:hover{ border-color: var(--cl3); }
.hist-card:has(.hist-card__main:hover){
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0,0,0,.04);
}
.hist-card__main{
  display: flex;
  align-items: center;
  gap: .8rem;
  flex: 1;
  padding: .85rem 1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
  min-width: 0;
}
.hist-card__ico{
  flex-shrink: 0;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: var(--clx);
  color: var(--cl);
  border-radius: var(--r2);
}
[data-theme="dark"] .hist-card__ico{ background: rgba(61,171,118,.15); color: var(--cl3); }
.hist-card__body{ flex: 1; min-width: 0; }
.hist-card__nome{
  font-weight: 600;
  color: var(--tx1);
  font-size: .95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hist-card__meta{
  font-size: .78rem;
  color: var(--tx3);
  margin-top: .15rem;
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
}
.hist-card__acoes{
  display: flex;
  align-items: center;
  gap: .1rem;
  padding: 0 .4rem;
  border-left: 1px solid var(--bdr2);
}
.hist-card__acao{
  width: 32px; height: 32px;
  background: transparent;
  border: none;
  color: var(--tx3);
  border-radius: var(--r2);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .12s, color .12s;
}
.hist-card__acao:hover{
  background: var(--sur2);
  color: var(--cl);
}
[data-theme="dark"] .hist-card__acao:hover{ color: var(--cl3); }
.hist-card__acao--del:hover{
  background: rgba(220,38,38,.1);
  color: #dc2626;
}

/* Empty state */
.hist-empty{
  padding: 2.5rem 1.5rem;
  text-align: center;
  background: var(--sur1);
  border: 1px dashed var(--bdr2);
  border-radius: var(--r2);
  color: var(--tx3);
}
.hist-empty__ico{
  font-size: 2.5rem;
  margin-bottom: .75rem;
  opacity: .7;
}
.hist-empty p{ margin: .3rem 0; }
.hist-empty p strong{ color: var(--tx1); }

/* ═══════════════════════════════════════════════════════════════════════
   NOTIFICACOES · Botao de sino no header pra ativar
   ═══════════════════════════════════════════════════════════════════════ */
.notif-btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  color: #fff;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
  padding: 0;
  margin-right: .35rem;
}
.notif-btn:hover{ background: rgba(255,255,255,.20); transform: translateY(-1px); }
.notif-btn__dot{
  position: absolute;
  top: 6px; right: 6px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--er, #ef4444);
  border: 2px solid var(--cl, #059669);
  animation: notif-pulse 2s ease-in-out infinite;
}
@keyframes notif-pulse{
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.25); opacity: .7; }
}

/* ═══════════════════════════════════════════════════════════════════════
   COMPARTILHADO · Toggle simples/tecnico + visao produtor
   ═══════════════════════════════════════════════════════════════════════ */
.compart-toggle{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  margin: 1rem 0;
}
.compart-toggle__btn{
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .85rem 1rem;
  background: var(--sur1);
  border: 2px solid var(--bdr2);
  border-radius: var(--r2);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: var(--tx2);
  transition: border-color .12s, background .12s;
}
.compart-toggle__btn:hover{ border-color: var(--cl); }
[data-theme="dark"] .compart-toggle__btn:hover{ border-color: var(--cl3); }
.compart-toggle__btn--ativo{
  border-color: var(--cl);
  background: var(--clx);
  color: var(--tx1);
}
[data-theme="dark"] .compart-toggle__btn--ativo{
  border-color: var(--cl3);
  background: rgba(61,171,118,.12);
}
.compart-toggle__ico{
  font-size: 1.5rem;
  flex-shrink: 0;
}
.compart-toggle__btn strong{
  display: block;
  font-size: .95rem;
}
.compart-toggle__btn small{
  display: block;
  font-size: .75rem;
  color: var(--tx3);
  margin-top: .1rem;
}
@media (max-width: 540px){
  .compart-toggle{ grid-template-columns: 1fr; }
}

/* Cartão de diagnóstico */
.simples-diag{
  padding: .85rem 1rem;
  border-radius: var(--r2);
  border-left: 4px solid var(--tx3);
  background: var(--bg);
  margin-bottom: .55rem;
}
.simples-diag--bom{ border-left-color: #16a34a; background: rgba(22,163,74,.05); }
.simples-diag--ok{ border-left-color: var(--cl); background: var(--clx); }
.simples-diag--atencao{ border-left-color: #f59e0b; background: rgba(245,158,11,.05); }
.simples-diag--ruim{ border-left-color: #dc2626; background: rgba(220,38,38,.05); }
.simples-diag__topo{
  display: flex; justify-content: space-between;
  align-items: baseline; gap: 1rem;
  margin-bottom: .25rem;
}
.simples-diag__titulo{
  font-weight: 600;
  color: var(--tx1);
  font-size: .95rem;
}
.simples-diag__valor{
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  color: var(--tx1);
  font-size: 1rem;
}
.simples-diag__msg{
  color: var(--tx2);
  font-size: .87rem;
}

/* Grid de valores principais */
.simples-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: .55rem;
}
.simples-valor{
  padding: .75rem .9rem;
  background: var(--bg);
  border: 1px solid var(--bdr2);
  border-radius: var(--r2);
}
.simples-valor__lbl{
  font-size: .75rem;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .25rem;
}
.simples-valor__num{
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--tx1);
  font-family: 'JetBrains Mono', monospace;
}
.simples-valor__num small{
  font-size: .7rem;
  color: var(--tx3);
  font-weight: 400;
  margin-left: .15rem;
}

/* ═══════════════════════════════════════════════════════════════════
   IMPORTAR LAUDO · aba "Laudo pronto" (preview do exemplo Cerrado)
   ═══════════════════════════════════════════════════════════════════ */
.import-exemplo-preview{
  background: linear-gradient(135deg, #f0f9f4 0%, #e0f2e7 100%);
  border: 1.5px solid rgba(28,124,78,.25);
  border-radius: 10px;
  padding: 1rem 1.15rem;
  margin: .85rem 0 1.15rem;
}
[data-theme="dark"] .import-exemplo-preview{
  background: linear-gradient(135deg, rgba(28,124,78,.10) 0%, rgba(28,124,78,.18) 100%);
  border-color: rgba(61,171,118,.35);
}
.import-exemplo-preview__hd{
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .7rem;
  padding-bottom: .55rem;
  border-bottom: 1px dashed rgba(28,124,78,.25);
  color: var(--cl);
}
[data-theme="dark"] .import-exemplo-preview__hd{ color: var(--cl3); }
.import-exemplo-preview__hd strong{
  font-size: .88rem;
  font-weight: 700;
  color: var(--tx1);
  letter-spacing: -.01em;
}
.import-exemplo-preview__list{
  list-style: none;
  padding: 0;
  margin: 0 0 .7rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .35rem .95rem;
}
.import-exemplo-preview__list li{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .5rem;
  font-size: .78rem;
  padding: .18rem 0;
  border-bottom: 1px solid rgba(0,0,0,.05);
}
[data-theme="dark"] .import-exemplo-preview__list li{ border-bottom-color: rgba(255,255,255,.06); }
.import-exemplo-preview__list li span{ color: var(--tx3); }
.import-exemplo-preview__list li b{
  font-weight: 700;
  color: var(--tx1);
  font-family: var(--fm, 'JetBrains Mono', monospace);
  font-size: .77rem;
}
.import-exemplo-preview__nota{
  margin: 0;
  font-size: .74rem;
  line-height: 1.5;
  color: var(--tx3);
  font-style: italic;
}
@media (max-width: 520px){
  .import-exemplo-preview__list{ grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   CTA · convite pra usar exemplo (aparece pra quem nunca calculou)
   ═══════════════════════════════════════════════════════════════════ */
.cta-exemplo{
  display: flex;
  gap: 1rem;
  align-items: center;
  background: linear-gradient(135deg, #f0f9f4 0%, #e0f2e7 100%);
  border: 1.5px solid rgba(28,124,78,.28);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin: 0 0 1.25rem;
  box-shadow: 0 2px 8px rgba(28,124,78,.08);
  animation: cta-exemplo-in .35s ease-out;
}
[data-theme="dark"] .cta-exemplo{
  background: linear-gradient(135deg, rgba(28,124,78,.10) 0%, rgba(28,124,78,.18) 100%);
  border-color: rgba(61,171,118,.35);
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
@keyframes cta-exemplo-in{
  from{ opacity:0; transform: translateY(-6px); }
  to  { opacity:1; transform: translateY(0); }
}
.cta-exemplo__ico{
  flex-shrink: 0;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  color: var(--cl);
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
[data-theme="dark"] .cta-exemplo__ico{
  background: rgba(255,255,255,.08);
  color: var(--cl3);
}
.cta-exemplo__body{ flex: 1; min-width: 0; }
.cta-exemplo__body strong{
  display: block;
  font-size: .95rem;
  color: var(--tx1);
  margin-bottom: .2rem;
}
.cta-exemplo__body p{
  margin: 0;
  font-size: .82rem;
  line-height: 1.45;
  color: var(--tx3);
}
.cta-exemplo__btn{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--cl);
  color: #fff;
  border: none;
  padding: .7rem 1.15rem;
  border-radius: 8px;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s, transform .08s, box-shadow .12s;
  box-shadow: 0 2px 6px rgba(28,124,78,.25);
}
.cta-exemplo__btn:hover{
  background: var(--cl2);
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(28,124,78,.35);
}
.cta-exemplo__btn:active{ transform: translateY(0) scale(.97); }
@media (max-width: 640px){
  .cta-exemplo{
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 1rem;
  }
  .cta-exemplo__ico{ margin: 0 auto; }
  .cta-exemplo__btn{ width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════
   DARK MODE · legibilidade (mobile em especial)
   ═══════════════════════════════════════════════════════════════════ */

/* Selection: o default do browser fica azul-preto sobre texto claro
   (praticamente ilegivel). Forçar verde SoloLab com contraste bom. */
::selection{
  background: rgba(28, 124, 78, .35);
  color: inherit;
}
[data-theme="dark"] ::selection{
  background: rgba(61, 171, 118, .45);
  color: #fff;
}

/* No dark mode, bordas sutis desaparecem em mobile.
   Reforçar levemente pra inputs, selects e cards clicáveis. */
[data-theme="dark"] .iw,
[data-theme="dark"] .field__input-wrapper,
[data-theme="dark"] .auth-card input,
[data-theme="dark"] .auth-card select,
[data-theme="dark"] .lf-input-wrap{
  border-color: rgba(255,255,255,.14);
}
[data-theme="dark"] .iw:focus-within,
[data-theme="dark"] .field__input-wrapper:focus-within,
[data-theme="dark"] .lf-input-wrap:focus-within{
  border-color: var(--cl3);
  background: rgba(255,255,255,.03);
}

/* Placeholders no dark ficam mais legiveis */
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] .lf-input::placeholder,
[data-theme="dark"] .field__input-wrapper input::placeholder{
  color: #7C7970;
  opacity: 1;
}

/* Notas pequenas (field__note) em cinza claro somem em dark mobile */
@media (max-width: 700px){
  [data-theme="dark"] .field__note,
  [data-theme="dark"] .fcard__body p.field__note{
    color: #BFBCB4;
  }
  /* Texto secundario dos radio/help fica um pouco mais claro no dark mobile */
  [data-theme="dark"] .form-help,
  [data-theme="dark"] .lf-hint-txt,
  [data-theme="dark"] .rec-note,
  [data-theme="dark"] .como-footer{
    color: #B5B2AA;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   LANDING PAGE · inicio.html
   Prefixo .lp- pra isolar de qualquer coisa do app
   ═══════════════════════════════════════════════════════════════════════ */

.lp-body{
  background: var(--bg);
  color: var(--tx1);
  font-family: var(--f);
  line-height: 1.55;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* Header sticky da landing */
.lp-header{
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--bdr2);
}
[data-theme="dark"] .lp-header{
  background: rgba(15, 20, 17, .85);
  border-bottom-color: rgba(255,255,255,.06);
}
.lp-header__inner{
  max-width: 1200px; margin: 0 auto;
  padding: .75rem 1.25rem;
  display: flex; align-items: center; gap: 1.5rem;
}
.lp-brand{
  display: flex; align-items: center; gap: .6rem;
  text-decoration: none;
  color: var(--tx1);
  font-weight: 700;
  letter-spacing: -.02em;
}
.lp-brand__logo{
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #fff;
  padding: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.lp-brand__name{ font-size: 1.05rem; }
.lp-header__nav{
  display: flex; gap: 2rem;
  flex: 1;
  justify-content: center;
}
.lp-header__nav a{
  color: var(--tx2);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 500;
  transition: color .13s;
}
.lp-header__nav a:hover{ color: var(--cl); }
.lp-header__cta{ display: flex; gap: .5rem; }

/* Botões */
.lp-btn{
  display: inline-flex; align-items: center; justify-content: center;
  gap: .4rem;
  padding: .55rem 1.1rem;
  border-radius: 8px;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
}
.lp-btn--primary{
  background: var(--cl);
  color: #fff;
  box-shadow: 0 1px 3px rgba(28,124,78,.3), inset 0 1px 0 rgba(255,255,255,.15);
}
.lp-btn--primary:hover{
  background: var(--cl2);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(28,124,78,.4);
}
.lp-btn--ghost{
  background: transparent;
  color: var(--tx2);
  border-color: var(--bdr2);
}
.lp-btn--ghost:hover{
  border-color: var(--cl);
  color: var(--cl);
}
.lp-btn--outline{
  background: transparent;
  color: var(--cl);
  border-color: var(--cl);
}
.lp-btn--outline:hover{
  background: var(--cl);
  color: #fff;
}
.lp-btn--grande{
  padding: .85rem 1.6rem;
  font-size: .95rem;
  border-radius: 10px;
}
.lp-btn--gigante{
  padding: 1.1rem 2.5rem;
  font-size: 1.1rem;
  border-radius: 12px;
}

/* Eyebrow (kicker acima do título) */
.lp-eyebrow{
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cl);
  margin-bottom: .8rem;
}
.lp-eyebrow--centro{ display: block; text-align: center; }

/* Títulos das seções */
.lp-h2{
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--tx1);
  margin-bottom: 1rem;
}
.lp-h2--centro{ text-align: center; margin-left: auto; margin-right: auto; max-width: 780px; }

.lp-secao__inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 5rem 1.5rem;
}
.lp-secao__inner--estreito{ max-width: 760px; }
.lp-secao__sub{
  text-align: center;
  color: var(--tx3);
  font-size: 1rem;
  max-width: 640px;
  margin: 0 auto 3rem;
}

/* ─── HERO ─── */
.lp-hero{
  padding: 3rem 0 5rem;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(28,124,78,.08), transparent 60%),
    linear-gradient(180deg, var(--sur2) 0%, var(--bg) 100%);
}
[data-theme="dark"] .lp-hero{
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(61,171,118,.14), transparent 60%),
    linear-gradient(180deg, var(--sur) 0%, var(--bg) 100%);
}
.lp-hero__grid{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 3rem;
  align-items: center;
}
.lp-hero__texto h1{
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--tx1);
  margin-bottom: 1.25rem;
}
.lp-hero__sub{
  font-size: 1.15rem;
  color: var(--tx2);
  line-height: 1.55;
  margin-bottom: 2rem;
  max-width: 570px;
}
.lp-hero__sub strong{ color: var(--tx1); font-weight: 600; }
.lp-hero__ctas{
  display: flex; gap: .75rem; flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.lp-hero__badges{
  display: flex; gap: 1.5rem; flex-wrap: wrap;
  list-style: none; padding: 0; margin: 0;
  font-size: .82rem;
  color: var(--tx3);
}
.lp-hero__badges li{
  display: flex; align-items: center; gap: .35rem;
}
.lp-hero__badges li::before{
  content: '✓';
  color: var(--cl);
  font-weight: 700;
}

/* Mockup de tela no hero (ilustrativo) */
.lp-hero__visual{
  display: flex; justify-content: center; align-items: center;
}
.lp-hero__mockup{
  width: 100%; max-width: 420px;
  background: var(--sur);
  border-radius: 14px;
  box-shadow:
    0 20px 60px rgba(28,124,78,.15),
    0 8px 20px rgba(0,0,0,.08),
    0 0 0 1px var(--bdr2);
  overflow: hidden;
  transform: perspective(1000px) rotateY(-4deg) rotateX(2deg);
  transition: transform .3s;
}
.lp-hero__mockup:hover{
  transform: perspective(1000px) rotateY(0) rotateX(0);
}
[data-theme="dark"] .lp-hero__mockup{
  box-shadow:
    0 20px 60px rgba(61,171,118,.20),
    0 8px 20px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.06);
}
.lp-mockup-hd{
  padding: .7rem 1rem;
  background: var(--sur2);
  border-bottom: 1px solid var(--bdr2);
  display: flex; align-items: center; gap: .35rem;
}
.lp-mockup-dot{
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--bdr);
}
.lp-mockup-dot:first-child{ background: #ff5f57; }
.lp-mockup-dot:nth-child(2){ background: #febc2e; }
.lp-mockup-dot:nth-child(3){ background: #28c840; }
.lp-mockup-url{
  margin-left: auto;
  font-size: .72rem;
  color: var(--tx3);
  font-family: var(--fm, monospace);
}
.lp-mockup-body{ padding: 1.5rem; }
.lp-mockup-row{
  display: flex; justify-content: space-between; align-items: center;
  padding: .55rem 0;
  border-bottom: 1px solid var(--bdr2);
}
.lp-mockup-label{ color: var(--tx3); font-size: .85rem; }
.lp-mockup-val{
  font-family: var(--fm, monospace);
  font-weight: 700;
  color: var(--tx1);
  font-size: .95rem;
}
.lp-mockup-val--warn{
  color: #d97706;
  background: rgba(217,119,6,.1);
  padding: .1rem .5rem;
  border-radius: 4px;
}
.lp-mockup-sep{ height: 1rem; }
.lp-mockup-resultado{
  background: linear-gradient(135deg, rgba(28,124,78,.08), rgba(28,124,78,.03));
  border: 1px solid rgba(28,124,78,.2);
  border-left: 3px solid var(--cl);
  padding: 1rem;
  border-radius: 8px;
  display: flex; flex-direction: column; gap: .2rem;
}
.lp-mockup-resultado__label{
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--cl);
}
.lp-mockup-resultado__val{
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--tx1);
  font-family: var(--fm, monospace);
}
.lp-mockup-resultado__sub{
  font-size: .78rem;
  color: var(--tx3);
}

/* ─── DOBRA 2: O QUE É ─── */
.lp-oque{
  background: var(--sur);
  border-top: 1px solid var(--bdr2);
  border-bottom: 1px solid var(--bdr2);
}
.lp-passos{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 960px;
  margin: 3rem auto 0;
}
.lp-passo{
  padding: 2rem 1.5rem;
  background: var(--sur2);
  border: 1px solid var(--bdr2);
  border-radius: 12px;
  text-align: center;
  transition: transform .2s, box-shadow .2s;
}
.lp-passo:hover{
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.lp-passo__num{
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cl), var(--cl2));
  color: #fff;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 1rem;
  box-shadow: 0 4px 12px rgba(28,124,78,.3);
}
.lp-passo h3{
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: .5rem;
}
.lp-passo p{
  color: var(--tx3);
  font-size: .9rem;
  line-height: 1.55;
}

/* ─── DOBRA 3: PERSONAS ─── */
.lp-personas{ background: var(--bg); }
.lp-persona-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
}
.lp-persona-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  transition: border-color .2s, transform .2s;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp-persona-card:hover{
  border-color: var(--cl);
  transform: translateY(-2px);
}
.lp-persona-card__ico{
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(28,124,78,.08);
  border-radius: 10px;
  color: var(--cl);
  margin-bottom: 1rem;
}
.lp-persona-card__ico svg{ width: 22px; height: 22px; }
.lp-persona-card h3{
  font-size: 1rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: .4rem;
}
.lp-persona-card p{
  color: var(--tx3);
  font-size: .85rem;
  line-height: 1.55;
}

/* CTA sutil no fim de cada dobra (Como funciona, Personas, Recursos) */
.lp-cta-secao{
  text-align: center;
  margin-top: 2.5rem;
}
.lp-cta-secao__link{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--cl);
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
  padding: .55rem 1rem;
  border-radius: 999px;
  border: 1.5px solid var(--cl);
  transition: all .15s;
}
.lp-cta-secao__link:hover{
  background: var(--cl);
  color: #fff;
  transform: translateY(-1px);
}
.lp-cta-secao__link svg{
  width: 14px; height: 14px;
  transition: transform .15s;
}
.lp-cta-secao__link:hover svg{ transform: translateX(3px); }

/* CTA final grande depois do FAQ */
.lp-cta-mega{
  background: linear-gradient(135deg, var(--cl) 0%, var(--cl2) 100%);
  color: #fff;
  padding: 4.5rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.lp-cta-mega::before{
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.1), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.08), transparent 40%);
  pointer-events: none;
}
.lp-cta-mega__inner{
  max-width: 720px;
  margin: 0 auto;
  position: relative;
}
.lp-cta-mega h2{
  font-size: 2.3rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
  margin-bottom: 1rem;
  color: #fff;
}
.lp-cta-mega p{
  font-size: 1.1rem;
  color: rgba(255,255,255,.9);
  margin-bottom: 2rem;
  line-height: 1.55;
}
.lp-cta-mega .lp-btn{
  background: #fff;
  color: var(--cl);
  border: none;
  padding: 1rem 2.25rem;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.1);
}
.lp-cta-mega .lp-btn:hover{
  background: #fff;
  color: var(--cl);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0,0,0,.2), 0 4px 8px rgba(0,0,0,.15);
}
.lp-cta-mega__sub{
  margin-top: 1rem;
  font-size: .88rem;
  color: rgba(255,255,255,.8);
}
@media (max-width: 640px){
  .lp-cta-mega{ padding: 3rem 1.25rem; }
  .lp-cta-mega h2{ font-size: 1.7rem; }
  .lp-cta-mega p{ font-size: 1rem; }
}

/* Quando o footer vem logo depois do CTA verde gigante, cola sem faixa vazia
   (o main tem que vir junto porque o CTA está dentro dele) */
.lp-main:has(> .lp-cta-mega:last-child) + .site-footer,
.lp-cta-mega + .site-footer{
  margin-top: 0;
}
/* Também esconde o detalhe verde do topo do footer, que fica estranho colado no CTA verde */
.lp-main:has(> .lp-cta-mega:last-child) + .site-footer::before,
.lp-cta-mega + .site-footer::before{
  display: none;
}

/* ─── DOBRA 4: RECURSOS ─── */
.lp-recursos{
  background: var(--sur);
  border-top: 1px solid var(--bdr2);
  border-bottom: 1px solid var(--bdr2);
}
.lp-recursos-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 3rem;
}
.lp-recurso{
  padding: 1.5rem 1.25rem;
  background: var(--bg);
  border: 1px solid var(--bdr2);
  border-radius: 10px;
  transition: transform .2s, border-color .2s;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp-recurso:hover{
  transform: translateY(-2px);
  border-color: var(--cl);
}
.lp-recurso__ico{
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(28,124,78,.1), rgba(28,124,78,.05));
  border-radius: 8px;
  color: var(--cl);
  margin-bottom: .9rem;
}
.lp-recurso__ico svg{ width: 22px; height: 22px; }
.lp-recurso h3{
  font-size: .95rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: .35rem;
}
.lp-recurso p{
  color: var(--tx3);
  font-size: .82rem;
  line-height: 1.5;
}

/* ─── DOBRA 5: CIÊNCIA ─── */
.lp-ciencia{ background: var(--bg); }
.lp-fontes-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.lp-fonte-card{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: 12px;
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
}
.lp-fonte-card::before{
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cl), var(--cl3));
}
.lp-fonte-card h3{
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: .5rem;
}
.lp-fonte-card p{
  color: var(--tx3);
  font-size: .87rem;
  line-height: 1.55;
}
.lp-fonte-card em{ color: var(--tx2); }

.lp-ciencia-cta{
  background: linear-gradient(135deg, rgba(28,124,78,.06), rgba(28,124,78,.02));
  border: 1px solid rgba(28,124,78,.15);
  border-radius: 14px;
  padding: 2rem 2.25rem;
  display: flex; align-items: center; gap: 1.5rem;
  flex-wrap: wrap;
}
[data-theme="dark"] .lp-ciencia-cta{
  background: linear-gradient(135deg, rgba(61,171,118,.10), rgba(61,171,118,.03));
  border-color: rgba(61,171,118,.25);
}
.lp-ciencia-cta__badge{
  background: var(--cl);
  color: #fff;
  padding: .35rem .75rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}
.lp-ciencia-cta p{
  flex: 1;
  min-width: 260px;
  color: var(--tx2);
  font-size: .95rem;
  margin: 0;
}

/* ─── DOBRA 6: COMEÇAR ─── */
.lp-comecar{
  background: var(--sur);
  border-top: 1px solid var(--bdr2);
}
.lp-timeline{
  max-width: 720px;
  margin: 3rem auto 3rem;
  display: flex; flex-direction: column;
  gap: 2rem;
  position: relative;
}
.lp-timeline::before{
  content: '';
  position: absolute;
  left: 23px; top: 24px; bottom: 24px;
  width: 2px;
  background: linear-gradient(180deg, var(--cl), rgba(28,124,78,.15));
}
.lp-timeline__item{
  display: flex; gap: 1.25rem; align-items: flex-start;
  position: relative;
  z-index: 1;
}
.lp-timeline__num{
  flex-shrink: 0;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cl), var(--cl2));
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(28,124,78,.35);
  border: 3px solid var(--sur);
}
.lp-timeline__body h3{
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: .3rem;
}
.lp-timeline__body p{
  color: var(--tx3);
  font-size: .9rem;
  line-height: 1.55;
}

.lp-cta-final{
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: .8rem;
  margin-top: 1.5rem;
}
.lp-cta-final__link{
  color: var(--tx3);
  font-size: .88rem;
  text-decoration: none;
  transition: color .13s;
}
.lp-cta-final__link:hover{
  color: var(--cl);
  text-decoration: underline;
}

/* ─── DOBRA 7: FAQ ─── */
.lp-faq{
  background: var(--bg);
  border-top: 1px solid var(--bdr2);
}
.lp-faq-lista{
  margin-top: 2.5rem;
  display: flex; flex-direction: column;
  gap: .75rem;
}
.lp-faq-item{
  background: var(--sur);
  border: 1px solid var(--bdr2);
  border-radius: 10px;
  padding: 1.15rem 1.4rem;
  transition: border-color .13s;
}
.lp-faq-item[open]{ border-color: var(--cl); }
.lp-faq-item summary{
  cursor: pointer;
  font-weight: 700;
  color: var(--tx1);
  font-size: 1rem;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center;
  gap: 1rem;
}
.lp-faq-item summary::-webkit-details-marker{ display: none; }
.lp-faq-item summary::after{
  content: '+';
  color: var(--cl);
  font-size: 1.4rem;
  font-weight: 300;
  transition: transform .2s;
  line-height: 1;
}
.lp-faq-item[open] summary::after{ transform: rotate(45deg); }
.lp-faq-item p{
  margin: .85rem 0 0;
  color: var(--tx2);
  font-size: .92rem;
  line-height: 1.6;
}
.lp-faq-mais{
  text-align: center;
  margin-top: 2rem;
  color: var(--tx3);
  font-size: .88rem;
}
.lp-faq-mais a{ color: var(--cl); font-weight: 600; }

/* ─── RESPONSIVIDADE ─── */
@media (max-width: 960px){
  .lp-hero__grid{ grid-template-columns: 1fr; gap: 2.5rem; }
  .lp-hero__texto h1{ font-size: 2.35rem; }
  .lp-hero__mockup{ transform: none; }
  .lp-passos{ grid-template-columns: 1fr; }
  .lp-persona-grid{ grid-template-columns: repeat(2, 1fr); }
  .lp-recursos-grid{ grid-template-columns: repeat(2, 1fr); }
  .lp-fontes-grid{ grid-template-columns: 1fr; }
  .lp-h2{ font-size: 1.7rem; }
  .lp-secao__inner{ padding: 3.5rem 1.25rem; }
  .lp-header__nav{ display: none; }
}
@media (max-width: 520px){
  .lp-hero__texto h1{ font-size: 1.9rem; }
  .lp-hero__sub{ font-size: 1rem; }
  .lp-hero__ctas{ flex-direction: column; align-items: stretch; }
  .lp-hero__ctas .lp-btn{ width: 100%; }
  .lp-persona-grid{ grid-template-columns: 1fr; }
  .lp-recursos-grid{ grid-template-columns: 1fr; }
  .lp-btn--gigante{ width: 100%; padding: 1rem 1.5rem; font-size: 1rem; }
  .lp-header__cta .lp-cta-secundario{ display: none; }
  .lp-header__inner{ gap: .5rem; }
  .lp-brand__name{ font-size: .95rem; }
}
