/* ==========================================================================
   CTC — COMPONENTES
   Todo valor vem de theme.css. Não escreva hexadecimal aqui.
   ========================================================================== */

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

body{
  background:var(--bg);
  color:var(--tx);
  font-family:var(--ff);
  font-size:var(--fs-md);
  line-height:1.5;
  min-height:100dvh;
  -webkit-font-smoothing:antialiased;
}
body.tem-nav{padding-bottom:calc(62px + env(safe-area-inset-bottom));}

.app{max-width:520px;margin:0 auto;}

svg.i{width:1em;height:1em;display:block;flex:0 0 auto;}

a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px;}

/* ── CABEÇALHO ─────────────────────────────────────────────────────────── */
.hd{
  display:flex;align-items:center;gap:var(--s3);
  padding:var(--s3) var(--s4);
  position:sticky;top:0;z-index:50;
  background:var(--bg);
}
/* Marca CTC branca com folha verde — a mesma do site, direto sobre o fundo escuro. */
.hd-marca{height:28px;width:auto;flex:0 0 auto;display:block;}
.hd-txt{flex:1;min-width:0;}
.hd-kicker{
  font-family:var(--ff-mono);font-size:var(--fs-micro);
  letter-spacing:.15em;text-transform:uppercase;color:var(--dim);
}
.hd-titulo{
  font-size:var(--fs-xl);font-weight:600;letter-spacing:-.02em;
  line-height:1.2;color:var(--tx);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.btn-icone{
  width:40px;height:40px;flex:0 0 auto;border-radius:var(--r-sm);
  border:1px solid var(--line);background:transparent;color:var(--tx2);
  display:grid;place-items:center;cursor:pointer;
  transition:color .15s,border-color .15s;
}
.btn-icone svg{width:19px;height:19px;}
.btn-icone:hover{color:var(--ac);border-color:var(--ac);}
.btn-icone.perigo:hover{color:var(--crit);border-color:var(--crit);}

/* ── TÍTULO DE SEÇÃO ───────────────────────────────────────────────────── */
.sec{display:flex;align-items:baseline;gap:var(--s2);padding:var(--s5) var(--s4) var(--s2);}
.sec b{
  font-family:var(--ff-mono);font-size:var(--fs-xs);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}
.sec a{margin-left:auto;font-size:var(--fs-sm);color:var(--ac);font-weight:500;}

/* ── CLIMA ─────────────────────────────────────────────────────────────── */
.wx{
  margin:var(--s1) var(--s4) 0;
  border:1px solid var(--line);background:var(--sf);
  border-radius:var(--r-lg);padding:var(--s4) var(--s3) var(--s3);
}
.wx-top{display:flex;align-items:flex-start;gap:var(--s3);}
.wx-temp{font-size:38px;font-weight:600;letter-spacing:-.045em;line-height:.92;}
.wx-temp sup{font-size:17px;font-weight:400;vertical-align:top;color:var(--dim);}
.wx-meta{padding-top:3px;min-width:0;}
.wx-local{font-size:var(--fs-sm);font-weight:600;}
.wx-desc{font-size:var(--fs-xs);color:var(--dim);}
.wx-chuva{margin-left:auto;text-align:right;font-family:var(--ff-mono);}
.wx-chuva b{display:block;font-size:var(--fs-lg);font-weight:500;color:#63A8E8;}
.wx-chuva span{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.wx-dias{display:flex;gap:6px;margin-top:var(--s3);overflow-x:auto;scrollbar-width:none;}
.wx-dias::-webkit-scrollbar{display:none;}
.wd{
  flex:0 0 auto;width:48px;padding:var(--s2) 0 7px;border-radius:var(--r-sm);
  text-align:center;border:1px solid transparent;background:var(--sf2);
}
.wd.hoje{border-color:var(--ac);background:var(--ac-soft);}
.wd i{display:grid;place-items:center;margin:3px auto 4px;color:var(--tx2);}
.wd i svg{width:17px;height:17px;}
.wd .d{font-family:var(--ff-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);}
.wd .mx{font-family:var(--ff-mono);font-size:12px;display:block;}
.wd .mn{font-family:var(--ff-mono);font-size:10px;color:var(--dim);display:block;}

/* ── TILES DE RESUMO ───────────────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);padding:0 var(--s4);}
.stat{border:1px solid var(--line);border-radius:var(--r-md);padding:11px;background:var(--sf);}
.stat .v{
  font-family:var(--ff-mono);font-size:19px;font-weight:500;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.stat .v small{font-size:11px;color:var(--dim);margin-left:1px;}
.stat .k{font-size:var(--fs-xs);color:var(--dim);margin-top:1px;}
.stat.atencao .v{color:var(--warn);}

/* ── CARDS DE AÇÃO ─────────────────────────────────────────────────────── */
.acoes{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 var(--s4);}
.acao{
  display:flex;flex-direction:column;gap:9px;
  padding:var(--s3) var(--s3) 13px;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--sf);
  position:relative;cursor:pointer;
  transition:border-color .16s,transform .16s;
}
.acao:active{transform:scale(.975);}
.acao:hover{border-color:var(--ac);}
.acao .ic{
  width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;
  background:var(--ac-soft);color:var(--ac);
}
.acao .ic svg{width:19px;height:19px;}
.acao.solo .ic{background:var(--soil-soft);color:var(--soil);}
.acao .nm{font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;line-height:1.25;}
.acao .sub{font-size:var(--fs-xs);color:var(--dim);line-height:1.3;}
.selo{
  position:absolute;top:11px;right:11px;
  font-family:var(--ff-mono);font-size:8.5px;letter-spacing:.1em;font-weight:500;
  padding:2px 6px;border-radius:999px;background:var(--warn);color:var(--warn-ink);
}

/* ── LISTA SECUNDÁRIA ──────────────────────────────────────────────────── */
.linhas{padding:0 var(--s4);display:flex;flex-direction:column;}
.linha{
  display:flex;align-items:center;gap:var(--s3);
  min-height:var(--touch);padding:var(--s3) 2px;
  border-bottom:1px solid var(--line);cursor:pointer;
}
.linhas .linha:last-child{border-bottom:0;}
.linha .ic{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:var(--sf2);color:var(--tx2);flex:0 0 auto;
}
.linha .ic svg{width:16px;height:16px;}
.linha .nm{font-size:var(--fs-md);font-weight:500;flex:1;}
.linha .ch{color:var(--dim);display:grid;place-items:center;}
.linha .ch svg{width:15px;height:15px;}

/* ── BARRA DE NAVEGAÇÃO ────────────────────────────────────────────────── */
.nav{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  display:flex;height:62px;padding-bottom:env(safe-area-inset-bottom);
  border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--sf) 92%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.nav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  color:var(--dim);font-size:var(--fs-micro);font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;transition:color .15s;
}
.nav-item[aria-current="page"]{color:var(--ac);}
.nav-item svg{width:20px;height:20px;}

/* ── ENTRAR ────────────────────────────────────────────────────────────── */
.login{
  display:flex;flex-direction:column;min-height:100dvh;
  padding:0 26px 30px;max-width:420px;margin:0 auto;
}
.login .topo{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:34px;}
.login .marca{width:150px;height:auto;display:block;margin-bottom:var(--s5);}
.login h1{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.035em;line-height:1.08;}
.login .lead{margin-top:7px;font-size:var(--fs-md);color:var(--dim);line-height:1.5;}
.campo{margin-top:var(--s3);}
.campo label{
  display:block;font-family:var(--ff-mono);font-size:var(--fs-micro);
  letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;
}
.campo .cx{
  display:flex;align-items:center;gap:9px;
  height:var(--touch);padding:0 13px;
  border:1px solid var(--line);border-radius:var(--r-md);background:var(--sf);
  color:var(--dim);transition:border-color .15s,box-shadow .15s;
}
.campo .cx:focus-within{border-color:var(--ac);box-shadow:0 0 0 3px var(--ac-soft);}
.campo .cx svg{width:17px;height:17px;}
.campo input{
  flex:1;min-width:0;border:0;background:transparent;outline:none;
  color:var(--tx);font-family:var(--ff);font-size:15px;
}
.campo input::placeholder{color:var(--dim);}
.btn{
  margin-top:var(--s5);height:50px;width:100%;
  border:0;border-radius:var(--r-md);cursor:pointer;
  background:var(--ac);color:var(--ac-ink);
  font-size:14.5px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  transition:transform .15s,filter .15s;
}
.btn:active{transform:scale(.985);filter:brightness(1.06);}
.btn svg{width:18px;height:18px;}
.erro{
  margin-top:var(--s4);padding:11px 13px;border-radius:var(--r-sm);
  background:rgba(228,97,74,.12);border:1px solid rgba(228,97,74,.3);
  color:var(--crit);font-size:var(--fs-sm);font-weight:500;
}
.login .rodape{
  font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.13em;
  text-transform:uppercase;color:var(--dim);text-align:center;padding-top:var(--s5);
}

/* ── MAPA ──────────────────────────────────────────────────────────────── */
body.mapa{overflow:hidden;padding-bottom:0;}
#map{position:fixed;inset:0;z-index:1;background:var(--bg);}

.mapa-topo{
  position:fixed;top:calc(var(--s3) + env(safe-area-inset-top));
  left:var(--s3);right:var(--s3);z-index:30;display:flex;gap:var(--s2);
}
.pilula{
  height:44px;border-radius:var(--r-md);
  border:1px solid var(--line);color:var(--tx);
  background:color-mix(in srgb,var(--sf) 88%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  display:flex;align-items:center;gap:var(--s2);padding:0 14px;
  font-size:var(--fs-sm);cursor:pointer;box-shadow:var(--sh-float);
}
.pilula svg{width:18px;height:18px;}
.pilula.expande{flex:1;min-width:0;}
.pilula input{
  flex:1;min-width:0;border:0;background:transparent;outline:none;
  color:var(--tx);font-family:var(--ff);font-size:var(--fs-md);
}
.pilula input::placeholder{color:var(--dim);}

.camadas{
  position:fixed;top:calc(66px + env(safe-area-inset-top));left:0;right:0;z-index:30;
  display:flex;gap:7px;padding:0 var(--s3) var(--s1);
  overflow-x:auto;scrollbar-width:none;
}
.camadas::-webkit-scrollbar{display:none;}
.camada{
  flex:0 0 auto;height:34px;padding:0 13px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);color:var(--tx2);
  background:color-mix(in srgb,var(--sf) 88%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  display:flex;align-items:center;gap:6px;
  font-size:var(--fs-sm);font-weight:500;white-space:nowrap;
}
.camada svg{width:14px;height:14px;}
.camada[aria-pressed="true"]{background:var(--ac);border-color:var(--ac);color:var(--ac-ink);}

/* bandeja */
/* Fica acima da barra de navegação — nunca por baixo dela. */
.bandeja{
  position:fixed;left:0;right:0;
  bottom:calc(62px + env(safe-area-inset-bottom));
  z-index:40;
  display:flex;flex-direction:column;
  height:calc(74dvh - 62px);
  background:var(--sf);border-top:1px solid var(--line);
  border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-sheet);
  transform:translateY(calc(100% - 186px));
  transition:transform .3s cubic-bezier(.32,.72,0,1);
}
.bandeja.aberta{transform:translateY(0);}
.bandeja.oculta{transform:translateY(100%);}
.puxador{padding:10px 0 5px;display:flex;justify-content:center;cursor:pointer;flex:0 0 auto;}
.puxador i{width:38px;height:4px;border-radius:99px;background:var(--line);}
.bandeja-hd{padding:2px var(--s4) var(--s3);flex:0 0 auto;}
.bandeja-hd .t{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;}
.bandeja-hd .s{font-size:var(--fs-sm);color:var(--dim);margin-top:1px;}
.bandeja-corpo{flex:1;overflow-y:auto;padding:0 var(--s4) var(--s5);-webkit-overflow-scrolling:touch;}
.bandeja-corpo::-webkit-scrollbar{width:4px;}
.bandeja-corpo::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;}

.grupo{
  display:flex;justify-content:space-between;align-items:center;
  min-height:44px;padding:var(--s2) 2px;cursor:pointer;user-select:none;
  color:var(--dim);font-family:var(--ff-mono);font-size:var(--fs-xs);
  letter-spacing:.1em;text-transform:uppercase;
  border-top:1px solid var(--line);
}
.grupo:first-child{border-top:0;}
.grupo .qt{
  background:var(--sf2);border:1px solid var(--line);color:var(--dim);
  padding:2px 8px;border-radius:999px;font-size:10px;
}
.item{
  display:flex;align-items:center;gap:11px;
  min-height:var(--touch);padding:10px 2px;cursor:pointer;
  border-top:1px solid var(--line);
}
.item .sw{width:9px;height:26px;border-radius:3px;flex:0 0 auto;background:var(--ac);}
.item.solo  .sw{background:var(--soil);}
.item .ic{color:var(--dim);display:grid;place-items:center;}
.item .ic svg{width:17px;height:17px;}
.item .nm{flex:1;font-size:var(--fs-md);font-weight:500;color:var(--tx);}
.item .vl{font-family:var(--ff-mono);font-size:12px;color:var(--tx2);font-variant-numeric:tabular-nums;}

.legenda{display:flex;gap:0;padding:0 var(--s4) var(--s3);flex:0 0 auto;}
.lg{flex:1;text-align:center;min-width:0;}
.lg i{display:block;height:6px;border-radius:2px;margin-bottom:5px;}
.lg b{font-family:var(--ff-mono);font-size:var(--fs-xs);font-weight:500;display:block;}
.lg span{font-size:8.5px;color:var(--dim);}

/* ── ESTADOS (carregando / vazio / erro) ───────────────────────────────── */
.estado{
  display:flex;flex-direction:column;align-items:center;gap:var(--s2);
  padding:var(--s6) var(--s4);text-align:center;color:var(--dim);
  font-size:var(--fs-sm);
}
.estado svg{width:26px;height:26px;opacity:.6;}
.estado.falha{color:var(--crit);}
.girando{animation:gira 1s linear infinite;}
@keyframes gira{to{transform:rotate(360deg);}}

/* ── VISUALIZADOR DE IMAGEM ────────────────────────────────────────────── */
.visor{
  display:none;position:fixed;inset:0;z-index:300;
  background:rgba(4,8,9,.97);
  align-items:center;justify-content:center;
}
.visor.aberto{display:flex;}
.visor-quadro{
  position:absolute;left:0;right:0;bottom:0;top:calc(72px + env(safe-area-inset-top));
  overflow:auto;display:flex;padding:0 var(--s3) var(--s3);
  touch-action:pan-x pan-y pinch-zoom;
}
/* margin:auto centraliza SEM cortar o topo quando a imagem é maior que a tela */
.visor img{margin:auto;display:block;max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;cursor:zoom-in;border-radius:6px;}
.visor.zoom img{max-width:none;max-height:none;width:200%;cursor:zoom-out;}
.visor-dica{position:absolute;bottom:calc(var(--s3) + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);
  font-size:11px;color:var(--dim);background:rgba(0,0,0,.45);padding:4px 10px;border-radius:999px;pointer-events:none;}
.visor-fechar{
  position:absolute;top:calc(var(--s4) + env(safe-area-inset-top));right:var(--s4);
  width:44px;height:44px;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--sf);color:var(--tx);
  display:grid;place-items:center;cursor:pointer;z-index:2;
}
.visor-fechar svg{width:20px;height:20px;}
.visor-titulo{
  position:absolute;top:calc(var(--s4) + env(safe-area-inset-top) + 12px);left:var(--s4);
  font-size:var(--fs-sm);color:var(--tx2);z-index:2;
  max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ── AVISO (toast) ─────────────────────────────────────────────────────── */
.aviso{
  position:fixed;left:50%;bottom:78px;transform:translateX(-50%) translateY(20px);
  z-index:400;max-width:88vw;
  padding:12px 16px;border-radius:var(--r-md);
  background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh-float);
  font-size:var(--fs-sm);color:var(--tx);
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
}
.aviso.on{opacity:1;transform:translateX(-50%) translateY(0);}
.aviso.falha{border-color:var(--crit);color:var(--crit);}

/* ── SERVIÇOS ──────────────────────────────────────────────────────────── */
.servicos{padding:0 var(--s4);display:flex;flex-direction:column;gap:9px;}
.card{
  border:1px solid var(--line);background:var(--sf);border-radius:var(--r-md);
  padding:var(--s3);display:flex;gap:var(--s3);align-items:flex-start;
  transition:border-color .16s;
}
.card:hover{border-color:var(--ac);}
.card .ic{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  flex:0 0 auto;background:var(--ac-soft);color:var(--ac);
}
.card .ic svg{width:20px;height:20px;}
.card.solo .ic{background:var(--soil-soft);color:var(--soil);}
.card .bd{min-width:0;flex:1;}
.card .nm{
  font-size:14px;font-weight:600;letter-spacing:-.012em;
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.card .nm em{
  font-family:var(--ff-mono);font-style:normal;font-size:8.5px;letter-spacing:.1em;
  padding:2px 6px;border-radius:999px;background:var(--ac-soft);color:var(--ac);font-weight:500;
}
.card .ds{font-size:var(--fs-sm);color:var(--dim);line-height:1.45;margin-top:2px;}
.card .tk{display:flex;flex-wrap:wrap;gap:5px;margin-top:var(--s2);}
.card .tk span{
  font-family:var(--ff-mono);font-size:var(--fs-micro);color:var(--tx2);
  border:1px solid var(--line);border-radius:6px;padding:2px 6px;
}
.cta{padding:var(--s4) var(--s4) var(--s2);}
.cta a{
  display:flex;align-items:center;justify-content:center;gap:9px;height:50px;
  border-radius:var(--r-md);background:var(--ac);color:var(--ac-ink);
  font-size:14.5px;font-weight:600;
}
.cta a svg{width:20px;height:20px;}
.contato{
  margin:var(--s2) var(--s4) var(--s5);padding:13px 14px;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--sf2);
  font-family:var(--ff-mono);font-size:var(--fs-sm);color:var(--tx2);line-height:1.75;
}

/* ── LEAFLET: encaixe no tema ──────────────────────────────────────────── */
.leaflet-control-zoom{display:none;}
.leaflet-control-attribution{
  background:color-mix(in srgb,var(--bg) 70%,transparent)!important;
  color:var(--dim)!important;font-size:9px!important;
}
.leaflet-container .leaflet-popup-content-wrapper{
  background:var(--sf);color:var(--tx);
  border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-float);
}
.leaflet-container .leaflet-popup-tip{background:var(--sf);border:1px solid var(--line);}
.leaflet-popup-content{margin:12px 14px;font-family:var(--ff);font-size:var(--fs-md);}
.leaflet-popup-close-button{color:var(--dim)!important;}
.pop-t{font-weight:600;margin-bottom:6px;}
.pop-l{
  display:flex;justify-content:space-between;gap:var(--s4);
  font-size:var(--fs-sm);color:var(--dim);padding:2px 0;
}
.pop-l b{color:var(--tx);font-family:var(--ff-mono);font-weight:500;}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* ── SATÉLITE NDVI (linha do tempo) ────────────────────────────────────── */
.ndvi-leg{flex:1;display:flex;align-items:center;gap:var(--s2);}
.ndvi-leg i{
  position:relative;flex:1;display:block;height:14px;border-radius:4px;
  background:linear-gradient(90deg,var(--ndvi-0) 0%,var(--ndvi-1) 12%,var(--ndvi-2) 24%,
    var(--ndvi-3) 34%,var(--ndvi-4) 44%,var(--ndvi-5) 54%,var(--ndvi-6) 64%,
    var(--ndvi-7) 74%,var(--ndvi-8) 86%,var(--ndvi-9) 100%);
}
.ndvi-leg i em{
  position:absolute;inset:0;display:grid;place-items:center;font-style:normal;
  font-family:var(--ff-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(0,0,0,.62);
}
.ndvi-leg .mn,.ndvi-leg .mx{
  font-family:var(--ff-mono);font-size:12px;color:var(--tx);font-variant-numeric:tabular-nums;
}

.ndvi-tempo{
  display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;
  margin:0 calc(-1 * var(--s4));padding:2px var(--s4) var(--s2);
  scroll-snap-type:x proximity;
}
.ndvi-tempo::-webkit-scrollbar{display:none;}
.ndvi-dt{
  flex:0 0 auto;width:52px;padding:6px 0 5px;border-radius:var(--r-sm);
  background:var(--sf2);border:1px solid var(--line);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  scroll-snap-align:center;color:var(--tx2);font-family:var(--ff);
}
.ndvi-dt .d{font-size:14px;font-weight:600;color:var(--tx);line-height:1;font-variant-numeric:tabular-nums;}
.ndvi-dt .d small{font-family:var(--ff-mono);font-size:8.5px;font-weight:500;color:var(--dim);
  text-transform:uppercase;letter-spacing:.06em;margin-left:2px;}
.ndvi-dt .b{width:30px;height:4px;border-radius:2px;background:var(--line);}
.ndvi-dt .v{font-family:var(--ff-mono);font-size:10.5px;line-height:1;font-variant-numeric:tabular-nums;}
.ndvi-dt[aria-pressed="true"]{border-color:var(--ac);background:var(--ac-soft);}
.ndvi-dt[aria-pressed="true"] .d small{color:var(--ac);}

.ndvi-graf{margin:var(--s2) 0 var(--s3);}
.ndvi-graf .rot{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;
  font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim);
}
.ndvi-graf svg{display:block;width:100%;height:96px;overflow:visible;}
.ndvi-graf .grade{stroke:var(--line);stroke-width:1;}
.ndvi-graf .eixo{fill:var(--dim);font-family:var(--ff-mono);font-size:8px;}
.ndvi-graf .linha{fill:none;stroke:var(--ac);stroke-width:1.6;stroke-linejoin:round;}
.ndvi-graf .area{fill:var(--ac-soft);stroke:none;}
.ndvi-graf .pt{stroke:var(--sf);stroke-width:1.5;cursor:pointer;}
.ndvi-graf .pt.sel{stroke:var(--tx);stroke-width:2;}
.ndvi-graf .alvo{fill:transparent;cursor:pointer;}

.ndvi-ctrl{
  display:flex;align-items:center;gap:var(--s3);min-height:var(--touch);
  border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--tx2);
}
.ndvi-ctrl input[type=range]{flex:1;accent-color:var(--ac);}
.ndvi-cred{
  padding:var(--s3) 2px 0;font-family:var(--ff-mono);font-size:var(--fs-micro);
  color:var(--dim);letter-spacing:.02em;
}
.item .sub2{display:block;font-size:var(--fs-xs);color:var(--dim);font-weight:400;margin-top:2px;}
.item.aguarda .sw{background:var(--line);}

.ndvi-nav{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s3);}
.ndvi-seta{
  width:var(--touch);height:42px;flex:0 0 auto;border-radius:var(--r-md);cursor:pointer;
  background:var(--sf2);border:1px solid var(--line);color:var(--tx);display:grid;place-items:center;
}
.ndvi-seta svg{width:18px;height:18px;}
.ndvi-cal{
  position:relative;flex:1;height:42px;border-radius:var(--r-md);cursor:pointer;
  background:var(--sf2);border:1px solid var(--line);color:var(--tx);
  display:flex;align-items:center;justify-content:center;gap:var(--s2);font-size:var(--fs-md);font-weight:500;
}
.ndvi-cal svg{width:17px;height:17px;color:var(--ac);}
.ndvi-cal input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;}
.ndvi-modo{
  display:flex;padding:3px;gap:3px;border-radius:var(--r-md);margin-bottom:var(--s2);
  background:var(--sf2);border:1px solid var(--line);
}
.ndvi-modo button{
  flex:1;height:36px;border:0;border-radius:var(--r-sm);cursor:pointer;background:transparent;
  color:var(--tx2);font-family:var(--ff);font-size:var(--fs-sm);font-weight:500;
}
.ndvi-modo button[aria-pressed="true"]{background:var(--ac);color:var(--ac-ink);}
.leaflet-image-layer.ndvi-ov{transition:opacity .25s ease;}

/* talhão NDVI aberto: recolhida, a bandeja ainda mostra legenda + datas */
.bandeja.ndvi:not(.aberta):not(.oculta){transform:translateY(calc(100% - 196px));}
.bandeja.ndvi .bandeja-hd{padding-bottom:var(--s2);}
.bandeja.ndvi .bandeja-hd .t{font-size:var(--fs-md);}
.bandeja.ndvi .legenda{padding-bottom:var(--s2);}

/* computador / tablet deitado: bandeja vira painel lateral, mapa fica livre */
@media (min-width:900px){
  .bandeja{
    left:16px;right:auto;width:420px;
    bottom:calc(62px + 16px);height:calc(100dvh - 62px - 140px);
    border:1px solid var(--line);border-radius:var(--r-xl);
  }
  .bandeja:not(.aberta):not(.oculta),
  .bandeja.ndvi:not(.aberta):not(.oculta){transform:translateY(0);}
  .bandeja.oculta{transform:translateX(-120%);}
  .puxador{display:none;}
}

/* NDVI na tela: fundo de satélite acinzentado para as cores do índice saltarem */
#map.ndvi-ativo .leaflet-tile-pane{filter:grayscale(.85) brightness(.62) contrast(1.05);}
.ndvi-modo button{font-size:var(--fs-md);}
.legenda .lg.zn b{font-size:12px;}
.legenda .lg.zn span{font-size:var(--fs-xs);color:var(--tx2);}
.legenda .lg.zn i{height:10px;}

/* ── INSTALAR O APP (página /instalar e cartão do início) ─────────────── */
.instalar-card{
  display:flex;align-items:center;gap:var(--s3);margin:0 var(--s4) var(--s4);
  padding:var(--s3);border-radius:var(--r-md);
  background:var(--ac-soft);border:1px solid var(--ac-line);color:var(--tx);
}
.instalar-card[hidden]{display:none;}
.instalar-card img{border-radius:10px;flex:0 0 auto;}
.instalar-card .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.instalar-card .tx b{font-size:var(--fs-md);font-weight:600;}
.instalar-card .tx span{font-size:var(--fs-xs);color:var(--tx2);}
.instalar-card .bt{
  flex:0 0 auto;height:34px;padding:0 14px;border-radius:999px;display:grid;place-items:center;
  background:var(--ac);color:var(--ac-ink);font-size:var(--fs-sm);font-weight:600;
}

.inst{
  min-height:100dvh;max-width:480px;margin:0 auto;
  padding:calc(var(--s6) + env(safe-area-inset-top)) var(--s5) calc(var(--s6) + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:var(--s5);
}
.inst-topo{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);}
.inst-icone{border-radius:18px;box-shadow:var(--sh-float);}
.inst-marca{opacity:.9;}
.inst-topo h1{font-size:var(--fs-2xl);line-height:1.1;letter-spacing:-.03em;font-weight:700;margin:var(--s2) 0 0;}
.inst-topo p{color:var(--tx2);font-size:var(--fs-md);line-height:1.5;margin:0;}
.inst-bloco[hidden]{display:none;}
.inst-bloco .btn{margin-top:0;}
.inst-grande{height:58px;font-size:16px;}
.btn.secundario{background:var(--sf2);color:var(--tx);border:1px solid var(--line);margin-top:var(--s3);}
.inst-nota{color:var(--tx2);font-size:var(--fs-sm);line-height:1.5;margin:var(--s3) 0 0;}
.inst-ok{display:flex;align-items:center;gap:var(--s2);color:var(--ok);font-weight:600;margin-bottom:var(--s3);}
.inst-ok svg{width:20px;height:20px;}
.inst-alerta{
  display:flex;align-items:center;gap:var(--s2);padding:var(--s3);margin-bottom:var(--s3);
  border-radius:var(--r-md);background:color-mix(in srgb,var(--warn) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);font-size:var(--fs-sm);
}
.inst-alerta svg{width:18px;height:18px;color:var(--warn);flex:0 0 auto;}
.passos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.passos li{
  display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3);
  background:var(--sf);border:1px solid var(--line);border-radius:var(--r-md);
}
.passos .n{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--ac);color:var(--ac-ink);font-weight:700;font-size:var(--fs-md);
}
.passos .tx{font-size:var(--fs-md);line-height:1.45;color:var(--tx);padding-top:3px;}
.passos .ico{
  display:inline-grid;place-items:center;width:26px;height:26px;vertical-align:middle;margin:0 2px;
  border-radius:7px;background:var(--sf2);border:1px solid var(--line);color:var(--ac);
}
.passos .ico svg{width:16px;height:16px;}
.seta-ios{display:flex;justify-content:center;color:var(--ac);margin-top:var(--s4);animation:quica 1.4s ease-in-out infinite;}
.seta-ios svg{width:30px;height:30px;}
@keyframes quica{50%{transform:translateY(8px);}}
.inst-link{
  font-family:var(--ff-mono);font-size:var(--fs-md);padding:var(--s3);border-radius:var(--r-md);
  background:var(--sf);border:1px solid var(--line);word-break:break-all;margin-top:var(--s2);
}
.inst-vant{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3);}
.inst-vant li{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--fs-sm);color:var(--tx2);line-height:1.5;}
.inst-vant b{color:var(--tx);font-weight:600;}
.inst-vant svg{width:20px;height:20px;color:var(--ac);flex:0 0 auto;margin-top:1px;}
.inst-rodape{margin-top:auto;font-family:var(--ff-mono);font-size:var(--fs-micro);color:var(--dim);letter-spacing:.04em;}

/* ── ADMINISTRAÇÃO: clientes e acessos ─────────────────────────────────── */
.adm{
  max-width:560px;margin:0 auto;
  padding:calc(var(--s4) + env(safe-area-inset-top)) var(--s4) calc(90px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:var(--s3);
}
.adm-hd{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s2);}
.adm-t{flex:1;min-width:0;display:flex;flex-direction:column;}
.adm-t b{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.02em;}
.adm-t span{font-size:var(--fs-xs);color:var(--dim);}
.adm-novo{
  display:flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:999px;
  background:var(--ac);color:var(--ac-ink);font-weight:600;font-size:var(--fs-md);
}
.adm-novo svg{width:16px;height:16px;}
.adm-busca{height:44px;}
.adm-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.adm-item[hidden]{display:none;}
.adm-item a{
  display:flex;align-items:center;gap:var(--s3);padding:var(--s3);
  background:var(--sf);border:1px solid var(--line);border-radius:var(--r-md);color:var(--tx);
}
.adm-item.off a{opacity:.55;}
.adm-item .av{
  width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:var(--ac-soft);color:var(--ac);font-weight:700;font-size:var(--fs-lg);
}
.adm-item .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.adm-item .tx b{font-size:var(--fs-md);font-weight:600;}
.adm-item .tx span{font-size:var(--fs-xs);color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adm-item .tx .ult{color:var(--dim);font-family:var(--ff-mono);font-size:var(--fs-micro);}
.adm-item .ch{width:16px;height:16px;color:var(--dim);flex:0 0 auto;}
.tag{
  font-style:normal;font-family:var(--ff-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 6px;border-radius:999px;background:var(--ac-soft);color:var(--ac);vertical-align:middle;margin-left:4px;
}
.tag.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);}
.tag.off{background:color-mix(in srgb,var(--crit) 16%,transparent);color:var(--crit);}

.adm-form{display:flex;flex-direction:column;gap:var(--s3);}
.adm-form .campo{display:flex;flex-direction:column;gap:6px;}
.adm-form .campo > span{font-size:var(--fs-sm);color:var(--tx2);font-weight:500;}
.adm-form .campo small{font-size:var(--fs-xs);color:var(--dim);line-height:1.4;}
.adm-form .campo{margin-top:0;}
.adm-form .campo input:not([type=checkbox]),
.adm-form input:not([type=checkbox]){
  flex:none;height:48px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);
  background:var(--sf);color:var(--tx);font-family:var(--ff);font-size:15px;outline:none;width:100%;
}
.adm-form input:focus{border-color:var(--ac);}
.adm-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);}
.adm-check{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--fs-sm);color:var(--tx2);line-height:1.45;padding:var(--s2) 0;}
.adm-check input{width:20px;height:20px;accent-color:var(--ac);flex:0 0 auto;margin-top:1px;}
.adm-check b{color:var(--tx);}
.adm-form .btn{margin-top:var(--s2);}
.adm-acoes{display:flex;flex-direction:column;gap:0;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line);}
.adm-acoes .btn{margin-top:var(--s2);}
.btn.perigo{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 40%,transparent);}
.adm-info{font-family:var(--ff-mono);font-size:var(--fs-micro);color:var(--dim);margin:var(--s3) 0 0;}
.adm-erro{margin:0;}

.adm-senha{
  display:flex;flex-direction:column;gap:4px;padding:var(--s4);
  background:var(--sf);border:1px solid var(--ac-line);border-radius:var(--r-lg);
}
.adm-senha .rot{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:var(--s2);}
.adm-senha code{font-family:var(--ff-mono);font-size:17px;color:var(--tx);user-select:all;}
.adm-senha code.grande{font-size:26px;color:var(--ac);letter-spacing:.02em;}
.adm-senha p{font-size:var(--fs-sm);color:var(--tx2);line-height:1.5;margin:var(--s3) 0 0;}
.adm > .btn{margin-top:0;}
.login .rodape a{color:var(--ac);}

/* admin: seletor de cliente no início */
.ver-cliente{margin:0 var(--s4) var(--s4);padding:var(--s3);border-radius:var(--r-md);
  background:var(--sf);border:1px solid var(--ac-line);display:flex;flex-direction:column;gap:6px;}
.ver-cliente label{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--ac);}
.ver-cliente select{height:44px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--sf2);
  color:var(--tx);font-family:var(--ff);font-size:15px;padding:0 10px;}

/* botão de mostrar senha */
.olho{flex:0 0 auto;width:40px;height:40px;margin-right:-8px;border:0;background:transparent;
  color:var(--dim);display:grid;place-items:center;cursor:pointer;border-radius:var(--r-sm);}
.olho svg{width:20px;height:20px;}
.olho:hover,.olho:focus-visible{color:var(--ac);outline:none;}

/* cotação de calcário e gesso */
.card.cotacao{flex-direction:row;}
.card.cotacao .bd{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;}
.cotacao .ct{display:flex;flex-direction:column;gap:5px;}
.cotacao .ct[hidden]{display:none;}
.cotacao .ct span{font-size:var(--fs-xs);color:var(--tx2);font-weight:500;}
.cotacao .ct input,.cotacao .ct select{height:44px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:var(--sf2);color:var(--tx);font-family:var(--ff);font-size:15px;padding:0 12px;width:100%;outline:none;}
.cotacao .ct input:focus,.cotacao .ct select:focus{border-color:var(--ac);}
.cotacao .ct2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cotacao .btn{margin-top:4px;}

.cotacao .ct-dica{font-size:var(--fs-xs);color:var(--ac);line-height:1.4;}

.fert-grupo{padding:10px 2px 4px;font-family:var(--ff-mono);font-size:var(--fs-micro);
  letter-spacing:.12em;text-transform:uppercase;color:var(--ac);}

/* ---- vetores (SHP/GeoJSON/KML) no mapa ---- */
.vet-campo{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4) var(--s3);flex:0 0 auto;
  font-size:var(--fs-xs);color:var(--dim);}
.vet-campo[hidden]{display:none;}
.vet-campo select{flex:1;min-width:0;background:rgba(255,255,255,.06);color:inherit;border:1px solid rgba(255,255,255,.12);
  border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;}
.item .fmt{font-family:var(--ff-mono);font-size:9px;letter-spacing:.04em;color:var(--dim);
  border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:1px 4px;margin-left:auto;flex:0 0 auto;}
.item .tag-tab{font-size:10px;color:var(--dim);font-weight:400;}

/* ---- seletor de fazenda (mapa) ---- */
.pilula.faz{position:relative;flex:0 1 auto;max-width:46vw;gap:6px;padding-right:10px;cursor:pointer;}
.pilula.faz[hidden]{display:none;}
.pilula.faz select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:inherit;
  font:inherit;font-size:14px;font-weight:600;min-width:0;max-width:100%;text-overflow:ellipsis;
  white-space:nowrap;overflow:hidden;padding:0 2px;cursor:pointer;outline:none;}
.pilula.faz select option{color:#0A1315;}
.pilula.faz .seta{width:14px;height:14px;opacity:.7;flex:0 0 auto;}

/* ---- GPS ---- */
.pilula.gps{flex:0 0 auto;width:46px;justify-content:center;padding:0;cursor:pointer;color:inherit;font:inherit;}
.pilula.gps.ativo{color:#4C9BFF;}
.pilula.gps.seguindo{background:#2D7FF9;color:#fff;}
/* ---- média do talhão ---- */
.resumo-talhao{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:0 var(--s4) var(--s2);flex:0 0 auto;}
.resumo-talhao[hidden]{display:none;}
.resumo-talhao span{font-size:var(--fs-xs);color:var(--dim);}
.resumo-talhao b{font-family:var(--ff-mono);font-size:20px;font-weight:600;letter-spacing:-.02em;}
.resumo-talhao small{font-size:12px;color:var(--dim);}
.resumo-talhao em{font-style:normal;font-size:11px;color:var(--dim);flex-basis:100%;}
.ndvi-robo{padding:0 var(--s4) var(--s4);text-align:center;font-size:13px;color:var(--tx2);}
.ndvi-robo .btn{margin:0 auto var(--s2);}
.ndvi-robo p{font-size:11.5px;color:var(--dim);margin:6px 0 0;}

/* ---- mercado e notícias (home) ---- */
.mercado{display:flex;gap:var(--s2);overflow-x:auto;padding:var(--s3) var(--s4) 0;scrollbar-width:none;}
.mercado::-webkit-scrollbar{display:none;}
.mercado[hidden],.noticias[hidden],.sec[hidden]{display:none;}
.cot{flex:0 0 auto;min-width:118px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sf);padding:9px 11px;}
.cot .r{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600;}
.cot b{display:block;font-family:var(--ff-mono);font-size:16px;font-weight:600;margin:2px 0 1px;}
.cot small{font-size:10.5px;color:var(--dim);}
.cot.sobe small{color:#5FD08A;} .cot.desce small{color:#F07167;}
.noticias{display:flex;flex-direction:column;gap:var(--s2);padding:0 var(--s4);}
.noti{position:relative;display:block;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sf);
  padding:11px 12px;color:inherit;text-decoration:none;}
.noti b{display:block;font-size:14px;font-weight:600;line-height:1.3;}
.noti small{display:block;margin-top:4px;font-size:11px;color:var(--dim);}
.noti .selo{position:absolute;top:-7px;right:10px;}

/* ---- possível compactação (satélite) ---- */
.ndvi-compact{padding:var(--s2) var(--s4) var(--s3);}
.ndvi-compact[hidden]{display:none;}
.cp-res{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.cp-res b{font-family:var(--ff-mono);font-size:22px;font-weight:600;color:#F06A1D;}
.cp-res span{font-size:12.5px;color:var(--tx2);}
.cp-msg{font-size:12.5px;color:var(--tx2);margin:6px 0;}
.cp-base{margin:6px 0;padding-left:18px;font-size:11.5px;color:var(--dim);}
.cp-aviso{font-size:11px;color:#E8B04A;border:1px solid rgba(232,176,74,.35);border-radius:8px;padding:7px 9px;margin:8px 0 0;}
.cp-pt span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 11px/1 var(--ff-mono);
  background:#fff;color:#C62828;border:3px solid #C62828;box-shadow:0 1px 4px rgba(0,0,0,.5);}
.cp-pt.controle span{color:#1B7F3B;border-color:#1B7F3B;}
.ndvi-modo{flex-wrap:wrap;}

/* ---- IBN (DRIS) e faixa ideal ---- */
.ibn-card{position:fixed;z-index:25;right:var(--s3);top:calc(122px + env(safe-area-inset-top));width:250px;
  background:rgba(10,19,21,.94);border:1px solid var(--line);border-left:4px solid var(--ibn,#F06A1D);border-radius:var(--r-md);
  padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.45);backdrop-filter:blur(6px);}
.ibn-card[hidden]{display:none;}
.ibn-x{position:absolute;top:2px;right:6px;background:none;border:0;color:var(--dim);font-size:18px;cursor:pointer;}
.ibn-top{display:flex;align-items:center;gap:10px;cursor:pointer;}
.ibn-g{width:64px;height:38px;flex:0 0 auto;}
.ibn-top small{display:block;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.ibn-top b{font-family:var(--ff-mono);font-size:22px;font-weight:700;line-height:1.1;margin-right:6px;}
.ibn-top span{font-size:11px;font-weight:700;letter-spacing:.04em;}
.ibn-teto{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);}
.ibn-teto small,.ibn-lim small{display:block;font-size:10px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase;}
.ibn-teto b{font-family:var(--ff-mono);font-size:18px;color:#F4B400;}
.ibn-lim{margin-top:8px;}
.ibn-lim div{display:flex;align-items:baseline;gap:6px;font-size:12px;margin-top:3px;}
.ibn-lim span{flex:1;min-width:0;} .ibn-lim b{font-family:var(--ff-mono);font-size:12px;}
.ibn-lim i{font-style:normal;font-size:10px;color:var(--dim);}
.ibn-ref{margin-top:8px;font-size:9px;color:var(--dim);line-height:1.3;}
.seta-q{font-style:normal;font-weight:700;font-size:12px;}
.seta-q.bom{color:#4CC77A;} .seta-q.ruim{color:#F05A4A;} .seta-q.atencao{color:#F4B400;} .seta-q.acima{color:#5AA0F0;}
.item .seta-q{margin-left:auto;padding-right:4px;}
.resumo-talhao .ideal{flex-basis:100%;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:12px;margin-top:2px;}
.resumo-talhao .ideal span{font-size:var(--fs-xs);color:var(--dim);}
.resumo-talhao .ideal b{font-family:var(--ff-mono);font-size:13px;}
.resumo-talhao .ideal em{font-style:normal;}
/* celular: o cartão fica compacto (toque abre os detalhes) */
@media (max-width:700px){
  .ibn-card{width:auto;max-width:62vw;padding:7px 28px 7px 9px;top:calc(112px + env(safe-area-inset-top));}
  .ibn-g{width:46px;height:28px;}
  .ibn-top b{font-size:18px;}
  .ibn-card:not(.aberto) .ibn-lim,.ibn-card:not(.aberto) .ibn-ref{display:none;}
  .ibn-card:not(.aberto) .ibn-teto{margin-top:4px;padding-top:4px;}
  .ibn-card:not(.aberto) .ibn-teto b{font-size:14px;}
}
.resumo-talhao .ideal .ideal-fonte{flex-basis:100%;font-size:10px;color:var(--dim);line-height:1.3;}
.lg em.sit{display:block;font-style:normal;font-size:9.5px;font-weight:600;margin-top:1px;}
.lg em.sit.bom{color:#4CC77A;} .lg em.sit.ruim{color:#F05A4A;} .lg em.sit.acima{color:#5AA0F0;} .lg em.sit.atencao{color:#F4C20D;}

/* ── LEVANTAMENTO DE CAMPO ─────────────────────────────────────────────── */
body.lc{padding-bottom:calc(84px + env(safe-area-inset-bottom));}
.lc-plano{margin:0 var(--s4) var(--s3);padding:11px 13px;border-radius:var(--r-md);border:1px solid var(--ac-line);
  background:var(--ac-soft);display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);color:var(--tx2);}
.lc-plano b{color:var(--ac);font-size:var(--fs-md);}
.lc-plano-expirado{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);}
.lc-plano-expirado b{color:var(--warn);}
.lc-assinar{margin-top:var(--s2);display:flex;align-items:center;justify-content:center;gap:8px;height:42px;
  border-radius:var(--r-sm);background:var(--warn);color:var(--warn-ink);font-weight:600;}
.lc-assinar svg{width:18px;height:18px;}
.lc-novo{margin-top:0;}
.lc-novo:disabled{opacity:.45;cursor:not-allowed;}
.lc-sync,.lc-gps{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.06em;padding:5px 9px;
  border-radius:999px;border:1px solid var(--line);color:var(--tx2);white-space:nowrap;}
.lc-sync{border-color:var(--warn);color:var(--warn);}
.lc-gps.bom{border-color:var(--ok);color:var(--ok);} .lc-gps.medio{border-color:var(--warn);color:var(--warn);}
.lc-gps.ruim{border-color:var(--crit);color:var(--crit);}
.lc-item{cursor:pointer;}
.lc-st{font-family:var(--ff-mono);font-style:normal;font-size:8.5px;letter-spacing:.08em;padding:2px 6px;border-radius:999px;
  background:var(--sf2);color:var(--dim);font-weight:500;}
.lc-st.ok{background:var(--ac-soft);color:var(--ac);} .lc-st.pend{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn);}
.lc-sec-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;padding:0 12px;
  border-radius:var(--r-md);border:1px solid var(--line);background:var(--sf);color:var(--tx);font-size:var(--fs-md);
  font-weight:600;cursor:pointer;}
.lc-sec-btn svg{width:17px;height:17px;color:var(--ac);}
.lc-sec-btn.perigo{color:var(--crit);} .lc-sec-btn.perigo svg{color:var(--crit);}
.lc-linha{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--s2);} .lc-linha .lc-sec-btn{flex:1;min-width:110px;}
.lc-mapa{height:42vh;min-height:240px;margin:0 var(--s4) var(--s3);border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--line);background:var(--sf);}
.lc-ponto{margin-top:0;height:56px;font-size:16px;}
.lc-painel{margin:var(--s3) var(--s4) 0;padding:var(--s3);border-radius:var(--r-md);border:1px solid var(--ac-line);
  background:var(--sf);display:flex;flex-direction:column;gap:var(--s2);scroll-margin-top:70px;}
.lc-ptopo{display:flex;align-items:center;gap:var(--s2);}
.lc-ptopo b{font-size:var(--fs-lg);} .lc-ptopo span{flex:1;color:var(--dim);font-size:var(--fs-sm);}
.lc-voz{display:flex;gap:var(--s2);align-items:center;}
.lc-mic{width:56px;height:56px;flex:0 0 auto;border-radius:50%;border:0;background:var(--ac);color:var(--ac-ink);
  display:grid;place-items:center;cursor:pointer;touch-action:none;}
.lc-mic svg{width:24px;height:24px;}
.lc-mic.on{background:var(--crit);color:var(--tx);animation:lcPulso 1.1s infinite;}
@keyframes lcPulso{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--crit) 60%,transparent);}100%{box-shadow:0 0 0 14px transparent;}}
.lc-dita{flex:1;min-width:0;}
.lc-dita input,.lc-lin select,.lc-lin input,.lc-painel .ct input,.lc-mono,.servicos textarea{width:100%;min-height:44px;
  padding:0 11px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--sf2);color:var(--tx);
  font-family:var(--ff);font-size:15px;}
.servicos textarea{padding:10px 11px;resize:vertical;}
.lc-mono{font-family:var(--ff-mono);font-size:11.5px;padding:10px;line-height:1.5;}
.lc-ouvido{font-size:var(--fs-sm);color:var(--tx2);background:var(--sf2);border-radius:var(--r-sm);padding:8px 10px;}
.lc-ouvido b{color:var(--ac);}
.lc-tab{display:flex;flex-direction:column;gap:6px;}
.lc-lin{display:grid;grid-template-columns:1fr 78px auto 34px;gap:6px;align-items:center;}
.lc-lin input{text-align:right;font-family:var(--ff-mono);}
.lc-un{font-size:var(--fs-xs);color:var(--dim);max-width:72px;line-height:1.2;}
.lc-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--dim);
  font-size:18px;cursor:pointer;}
.lc-vz{grid-column:1/-1;color:var(--dim);font-size:var(--fs-xs);margin-top:-3px;}
.lc-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;}
.lc-ft{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--sf2);display:block;}
.lc-ft img{width:100%;height:100%;object-fit:cover;display:block;}
.lc-ft button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;
  background:color-mix(in srgb,var(--bg) 75%,transparent);color:var(--tx);cursor:pointer;}
.lc-cam{cursor:pointer;}
.lc-pt{display:flex;gap:var(--s3);align-items:center;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);
  background:var(--sf);cursor:pointer;}
.lc-pt.on{border-color:var(--ac);}
.lc-pt small{color:var(--dim);font-size:var(--fs-xs);}
.lc-regs{font-size:var(--fs-md);} .lc-regs b{font-family:var(--ff-mono);color:var(--ac);}
.lc-n{width:30px;height:30px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font-family:var(--ff-mono);
  font-weight:600;font-size:12px;background:var(--ok);color:var(--ac-ink);}
.lc-n.oc,.lc-mk.oc{background:var(--crit);color:var(--tx);}
.lc-mk{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--ff-mono);
  background:var(--ok);color:var(--ac-ink);border:2px solid var(--tx);box-shadow:var(--sh-float);}
.lc-mk.on{outline:3px solid var(--ac);}
.lc-mk-s{display:inline-grid;width:18px;height:18px;font-size:9px;vertical-align:middle;}
.lc-dim{color:var(--dim);font-size:var(--fs-sm);font-family:var(--ff);margin-left:auto;}
.lc-c{text-align:center;padding:var(--s2) var(--s4);}
.lc-acoes{display:flex;flex-direction:column;gap:8px;} .lc-acoes .btn{margin-top:0;}
.lc-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
.lc-res div{border:1px solid var(--line);background:var(--sf);border-radius:var(--r-md);padding:10px 12px;
  display:flex;flex-direction:column;gap:2px;}
.lc-res span{font-size:var(--fs-sm);color:var(--tx2);} .lc-res b{font:600 22px var(--ff-mono);color:var(--tx);}
.lc-res small{font-size:var(--fs-xs);color:var(--dim);}
.lc-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 var(--s4) var(--s3);}
.lc-info div{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);}
.lc-info span{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.lc-rp .bd{display:flex;flex-direction:column;gap:6px;}
.lc-ul{margin:0;padding-left:18px;font-size:var(--fs-md);} .lc-ul b{font-family:var(--ff-mono);color:var(--ac);}
.lc-pre{white-space:pre-wrap;}
.lc-rel .contato a{color:var(--ac);}
@media (max-width:380px){.lc-info{grid-template-columns:repeat(2,1fr);}}
.lc .ct{display:flex;flex-direction:column;gap:5px;}
.lc .ct span{font-size:var(--fs-xs);color:var(--tx2);font-weight:500;}
.lc .ct input,.lc .ct select,.lc .ct textarea{min-height:44px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:var(--sf2);color:var(--tx);font-family:var(--ff);font-size:15px;padding:0 12px;width:100%;outline:none;}
.lc .ct textarea{padding:10px 12px;}
.lc .ct input:focus,.lc .ct select:focus,.lc .ct textarea:focus{border-color:var(--ac);}
.lc .ct2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.lc .ct-dica{font-size:var(--fs-xs);color:var(--ac);line-height:1.4;}
.lc form.servicos .btn{margin-top:var(--s2);}
