/* ═══════════════════════════════════════════════════════════════════
   MineLOG v3 — FASE 0 · Skin de fundação visual
   ───────────────────────────────────────────────────────────────────
   Este arquivo é carregado DEPOIS do <style> legado do index.html e
   aplica a identidade aprovada (paleta pit-night/ore-gold/hi-vis,
   tipografia Barlow + Inter + JetBrains Mono, fita de sinalização)
   remapeando os tokens e classes JÁ EXISTENTES.
   Zero mudança de lógica · zero mudança de markup estrutural.

   Não alterado de propósito (semântica de dados em campo):
   --assay / --std / --fdup / --blk / --pdup e a paleta do mapa.
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600;700&display=swap');

/* ── 1 · Remapeamento de tokens (tema escuro padrão) ─────────────── */
:root{
  /* paleta v3 */
  --ml-pit-night:#0D1117;
  --ml-bench:#161D27;
  --ml-bench2:#1E2733;
  --ml-bench3:#27313F;
  --ml-gold:#E8B23A;
  --ml-gold2:#F2C75C;
  --ml-hivis:#FF8A1E;
  --ml-blue:#4FC3F7;
  --ml-green:#3DDC84;
  --ml-red:#F4574D;
  --ml-ink:#EAF0F6;
  --ml-tape:repeating-linear-gradient(135deg,var(--ml-gold) 0 10px,#11161E 10px 20px);
  --ml-f-display:'Barlow Semi Condensed',system-ui,sans-serif;
  --ml-f-body:'Inter',system-ui,sans-serif;
  --ml-f-data:'JetBrains Mono','SF Mono','Fira Mono',Consolas,ui-monospace,monospace;

  /* tokens legados → paleta v3 */
  --bg:#0D1117;            --bg2:#131922;
  --surface:#161D27;       --surface2:#1E2733;
  --surface-raised:rgba(234,240,246,.05);
  --border:rgba(234,240,246,.10);
  --txt:#EAF0F6;           --txt2:rgba(234,240,246,.6);
  --ui-dark:#0D1117;       --ui-dark2:#131922;       --ui-card:#161D27;
  --ui-border:rgba(234,240,246,.10);
  --gray:rgba(234,240,246,.6); --gray2:rgba(234,240,246,.34); --gray3:rgba(234,240,246,.12);
  --gold:#E8B23A;          --gold2:#F2C75C;
  --gold-dim:rgba(232,178,58,.15);
  --amber:#FF8A1E;
  --green:#3DDC84;         --green2:#2BB46C;
  --green-dim:rgba(61,220,132,.28);
  --red:#F4574D;           --red2:#F76B62;
  --cyan:#4FC3F7;
  --accent:#E8B23A;        --accent2:#D89E22;        /* botões primários: ouro */
  --hud-bg:rgba(13,17,23,.9);
  --tab-bg:#161D27;        --tab-border:rgba(234,240,246,.12);
  --tab-inactive:rgba(234,240,246,.4);
  --btn-circle-bg:rgba(13,17,23,.78);
  --btn-circle-border:rgba(234,240,246,.16);
}

html,body{ background:var(--ml-pit-night); }
#app{ background:var(--ml-pit-night); }
body{ font-family:var(--ml-f-body); }

/* ── 2 · Tipografia ──────────────────────────────────────────────── */
.scr-title, .form-title, .card-h, .modal-title, .sheet-title,
.reg-modal-title, .lp-title{
  font-family:var(--ml-f-display);
  letter-spacing:.04em;
  font-weight:700;
}
.scr-title{ text-transform:uppercase; font-size:19px; }

/* dados de campo em monoespaçada — IDs, coordenadas, contagens */
.sc-id, .font-mono, .label-sample-id, .hud-val, .hud-value,
.bbox-val, .scr-count{
  font-family:var(--ml-f-data) !important;
  letter-spacing:0;
}
.scr-count{ font-size:11px; }

/* ── 3 · Assinatura: fita de sinalização ─────────────────────────── */
.scr-head{ position:relative; }
.scr-head::after{
  content:''; position:absolute; left:0; right:0; bottom:-3px; height:3px;
  background:var(--ml-tape); opacity:.9; z-index:5; pointer-events:none;
}
.login-accent-top{
  height:4px;
  background:var(--ml-tape);
}

/* ── 4 · Tab bar — de metálica para plana com indicador ouro ─────── */
.tab-bar{
  background:var(--tab-bg);
  border-top:1px solid var(--tab-border);
  box-shadow:none;
  gap:0; padding:0;
  height:62px;
}
.screen{ padding-bottom:62px; }
#s-login,#s-map,#s-bhmap{ padding-bottom:0; }
.tab-item{
  background:transparent;
  border:none; border-radius:0;
  padding:7px 1px 6px; gap:3px;
}
.tab-item.on{
  background:transparent;
  border:none; box-shadow:none;
}
.tab-item.on::before{
  content:''; position:absolute; top:0; left:20%; right:20%; height:2.5px;
  background:var(--ml-gold); border-radius:0 0 3px 3px;
}
.tab-ico{ width:23px; height:23px; }
.tab-ico svg{ width:22px; height:22px; }
.tab-lbl{
  font-family:var(--ml-f-display);
  font-size:9px; font-weight:600; letter-spacing:.08em;
}
.tab-item.on .tab-lbl{ color:var(--ml-gold); text-shadow:none; }
.tab-item.on .tab-ico svg{ color:var(--ml-gold); filter:none; }
.tab-item:not(.on) .tab-lbl{ color:var(--tab-inactive); }
.tab-item:not(.on) .tab-ico svg{ color:var(--tab-inactive); opacity:1; }
.tab-item:active{ opacity:.7; transform:none; }

/* ── 5 · Login ───────────────────────────────────────────────────── */
.btn-login{
  background:linear-gradient(135deg,var(--ml-gold),#D89E22);
  color:#1A1304;
  font-family:var(--ml-f-display);
  font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  box-shadow:0 4px 20px rgba(232,178,58,.28);
}
.fl-input:focus{
  border-color:var(--ml-gold);
  box-shadow:0 0 0 3px rgba(232,178,58,.2);
}
.login-version{ font-family:var(--ml-f-data); }

/* ── 6 · Cards de amostra ────────────────────────────────────────── */
.scard{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
}
.scard:active{ background:var(--surface2); }

/* ── 7 · Inputs do formulário (foco ouro) ────────────────────────── */
.fi:focus, .fs:focus, .ft:focus{
  border-color:var(--ml-gold);
  box-shadow:0 0 0 3px rgba(232,178,58,.18);
}
.fg-label{ font-family:var(--ml-f-display); letter-spacing:.1em; font-weight:600; }

/* ── 8 · TEMA CAMPO — remapeado p/ paleta de sol direto v3 ───────── */
.campo-theme{
  --bg:#F2EFE8;            --bg2:#ECE7DB;
  --surface:#FFFFFF;       --surface2:#F7F4EC;
  --border:rgba(20,24,29,.16);
  --txt:#14181D;           --txt2:rgba(20,24,29,.66);
  --ui-border:rgba(20,24,29,.16);
  --gray:rgba(20,24,29,.66); --gray2:rgba(20,24,29,.42); --gray3:rgba(20,24,29,.1);
  --gold:#B07A0E;          --gold2:#8F6309;
  --green:#0B7A45;         --green2:#075C33;
  --red:#B00020;           --red2:#CC0022;
  --cyan:#00658F;
  --accent:#B07A0E;        --accent2:#8F6309;
  --hud-bg:rgba(255,255,255,.98);
  --tab-bg:#FFFFFF;        --tab-border:rgba(20,24,29,.18);
  --tab-inactive:rgba(20,24,29,.5);
  --btn-circle-bg:rgba(255,255,255,.98);
  --btn-circle-border:rgba(20,24,29,.28);
  --ml-tape:repeating-linear-gradient(135deg,#B07A0E 0 10px,#14181D 10px 20px);
}
.campo-theme .phone, .campo-theme .screen{ background:#F2EFE8; }
.campo-theme #s-login{ background:#F2EFE8; }
.campo-theme .scr-head{ background:#FFFFFF; border-bottom:2px solid rgba(20,24,29,.16); }
.campo-theme .tab-bar{ background:#FFFFFF !important; border-top:2px solid rgba(20,24,29,.18) !important; }
.campo-theme .tab-item.on{ background:transparent !important; }
.campo-theme .tab-item.on .tab-lbl{ color:#B07A0E !important; }
.campo-theme .tab-item.on .tab-ico svg{ color:#B07A0E !important; }
.campo-theme .tab-item.on::before{ background:#B07A0E; }
.campo-theme .tab-item:not(.on) .tab-lbl{ color:rgba(20,24,29,.5) !important; }
.campo-theme .tab-item:not(.on) .tab-ico svg{ color:rgba(20,24,29,.42) !important; }
.campo-theme .chip.on{ background:rgba(176,122,14,.12); color:#B07A0E; border-color:#B07A0E; }
.campo-theme .btn-login{ box-shadow:0 4px 16px rgba(176,122,14,.25); color:#FFFFFF; }

/* ── 9 · Ícones do sprite (utilitário) ───────────────────────────── */
.ml-ic{ width:22px; height:22px; display:block; flex:none; }

@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } }

/* ── 10 · LOGIN v3.0.2 — remoção do verde esmeralda legado ───────── */
/* brilho atrás do logo: esmeralda → ouro suave */
.login-bg::before{
  background:radial-gradient(ellipse at 50% 30%,
    rgba(232,178,58,.12) 0%,
    rgba(216,158,34,.06) 40%,
    transparent 70%);
}
.logo-img{ filter:drop-shadow(0 0 24px rgba(232,178,58,.3)); }

/* links e controles do card */
.fl-forgot a{ color:rgba(232,178,58,.75); }
.fl-forgot a:hover{ color:var(--ml-gold2); }
.remember-row input[type=checkbox]{ accent-color:var(--ml-gold); }
.reg-link span{ color:var(--ml-gold); }

/* foco do input: fundo levemente dourado em vez de esverdeado */
.fl-input:focus{ background:rgba(232,178,58,.05); }

/* modal "Create account" — botão no padrão do login */
.btn-reg{
  background:linear-gradient(135deg,var(--ml-gold),#D89E22);
  color:#1A1304;
  font-family:var(--ml-f-display);
  font-weight:700; letter-spacing:.07em; text-transform:uppercase;
}
.reg-login-link span, .reg-login-link a{ color:var(--ml-gold); }

/* tema Campo: mesmos elementos na paleta de sol */
.campo-theme .fl-forgot a,
.campo-theme .reg-link span{ color:#8F6309; }
.campo-theme .remember-row input[type=checkbox]{ accent-color:#B07A0E; }
.campo-theme .btn-reg{ color:#fff; }

/* ════════════════════════════════════════════════════════════════════
   11 · v3.1 — REDESIGN COMPLETO DAS TELAS (paridade com o preview)
   Tudo via classes existentes; nenhum markup ou JS alterado.
   Cores semânticas de tipo/status de amostra preservadas.
   ════════════════════════════════════════════════════════════════════ */

/* ── SAMPLES · cards no padrão do preview ───────────────────────── */
.scard{ padding:13px 14px; margin:0 14px 9px; }
.sc-top{ align-items:center; gap:8px; margin-bottom:6px; }
.sc-id{ font-size:14.5px; font-weight:600; letter-spacing:-.02em; }
.sc-badge{
  font-family:var(--ml-f-data); font-size:10px; font-weight:600;
  letter-spacing:.03em; padding:3px 8px; border-radius:6px;
  border:1px solid currentColor;
}
/* assinatura: selo QAQC (Standard) com fita hi-vis */
.sc-badge.std, .sc-badge.Standard{
  position:relative; padding-left:14px; overflow:hidden;
}
.sc-badge.std::before, .sc-badge.Standard::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:6px;
  background:repeating-linear-gradient(135deg,var(--ml-hivis) 0 5px,#11161E 5px 10px);
}
.sc-meta{ font-size:11.5px; color:var(--txt2); gap:12px; }
.sc-status{ font-family:var(--ml-f-data); font-size:10.5px; letter-spacing:0; }
.sdot{ width:7px; height:7px; }

/* busca e filtros */
.search-bar{
  background:var(--surface2); border:1px solid var(--border);
  border-radius:12px; min-height:46px; margin:10px 14px;
}
.search-inp:focus{ border-color:transparent; }
.chip{
  background:var(--surface2); border:1px solid var(--border);
  color:var(--txt2); min-height:34px; border-radius:999px;
  font-weight:600;
}
.chip.on{
  background:rgba(232,178,58,.15); border-color:var(--ml-gold); color:var(--ml-gold);
}

/* ── FORM · passos e campos ─────────────────────────────────────── */
.form-tabs{ background:var(--surface); border-bottom:1px solid var(--border); }
.form-tab{
  font-family:var(--ml-f-display); font-size:10.5px; letter-spacing:.09em;
  padding:12px 2px; border-bottom-width:2.5px;
}
.form-prog-fill{ background:var(--ml-gold); }
.fi,.fs,.ft{
  background:var(--surface2); border:1px solid var(--border);
  border-radius:12px; min-height:46px; font-size:14.5px;
}
.btn-save{
  color:#1A1304;
  font-family:var(--ml-f-display); font-weight:700;
  letter-spacing:.07em; text-transform:uppercase;
  box-shadow:0 4px 14px rgba(232,178,58,.3);
}
.btn-gps, #btnCaptureGPS{ border-radius:12px; }

/* ── SYNC · botão principal e estados ───────────────────────────── */
.btn-sync{
  background:linear-gradient(135deg,var(--ml-gold),#D89E22);
  color:#1A1304;
  font-family:var(--ml-f-display); font-weight:700; font-size:14px;
  letter-spacing:.07em; text-transform:uppercase;
  box-shadow:0 4px 20px rgba(232,178,58,.25);
}
.btn-sync.done{ background:var(--ml-green); color:#06281A; box-shadow:none; }
.campo-theme .btn-sync{ background:linear-gradient(135deg,#B07A0E,#8F6309); color:#fff; }

/* ── SETTINGS · linhas de menu ──────────────────────────────────── */
.s-item{ min-height:54px; }
.s-lbl{ font-size:13.5px; }
.s-sub{ font-family:var(--ml-f-data); font-size:10.5px; letter-spacing:0; }

/* ── MAP · FAB, HUD e painéis ───────────────────────────────────── */
.map-fab{
  background:var(--ml-gold); color:#1A1304;
  box-shadow:0 6px 20px rgba(232,178,58,.5);
}
.campo-theme .map-fab{ background:#B07A0E; color:#fff; }
.loc-act-lbl{ color:var(--ml-gold); }
.layer-panel, .cs-modal{
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px;
}
.bhmap-chip.on{
  background:rgba(232,178,58,.15); border-color:rgba(232,178,58,.5);
  color:var(--ml-gold);
}

/* ── MODAIS · superfície unificada ──────────────────────────────── */
.reg-modal, .offline-modal{
  background:var(--surface); border:1px solid var(--border);
  border-radius:18px 18px 0 0;
}
.reg-modal-title, .modal-title{
  font-family:var(--ml-f-display); letter-spacing:.04em;
  text-transform:uppercase; font-weight:700;
}

/* ── Botões inline de alta visibilidade (por id/atributo) ───────── */
button[onclick^="openScannerModal"]{
  background:rgba(79,195,247,.12) !important;
  border:1px solid rgba(79,195,247,.4) !important;
  color:var(--ml-blue) !important;
}
#btnSelectMode{
  background:var(--surface2) !important;
  border:1px solid var(--border) !important;
  color:var(--txt2) !important;
}

/* ── Tipografia de dados nas telas restantes ────────────────────── */
.bbox-val, .offline-size, .coord-row, .georef-result-title{
  font-family:var(--ml-f-data);
}

/* ════════════════════════════════════════════════════════════════════
   12 · v3.2 — INLINE LEGADO DO MAPA/FORM + MARCA NOVA NO LOGIN
   ════════════════════════════════════════════════════════════════════ */

/* ── FORM · Save dourado (mata o gradiente vermelho legado) ─────── */
.btn-save{
  background:linear-gradient(135deg,var(--ml-gold),#D89E22) !important;
  box-shadow:0 4px 14px rgba(232,178,58,.3) !important;
  color:#1A1304 !important;
}
.campo-theme .btn-save{
  background:linear-gradient(135deg,#B07A0E,#8F6309) !important;
  color:#fff !important;
}
.btn-draft{
  background:var(--surface2); border:1px solid var(--border);
  border-radius:12px; color:var(--txt2);
  font-family:var(--ml-f-display); font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
}

/* ── MAPA · chips de filtro do HUD (Hoje/Turno/Todos/Meus) ──────── */
.hud-fchip{
  font-family:var(--ml-f-display); font-weight:600; letter-spacing:.05em;
  border:1px solid var(--border); color:var(--txt2);
}
.hud-fchip.on{
  background:rgba(232,178,58,.16) !important;
  border-color:var(--ml-gold) !important;
  color:var(--ml-gold) !important;
}
.campo-theme .hud-fchip.on{
  background:rgba(176,122,14,.12) !important;
  border-color:#B07A0E !important; color:#B07A0E !important;
}

/* contadores Planned/Collected (pais dos vals têm cor inline) */
span:has(> #plannedCountVal){ color:var(--ml-blue) !important; }
span:has(> #collectedCountVal){ color:var(--ml-gold) !important; }

/* toggles (Ocultar furos, Auto Sync etc.) */
.toggle.on{ background:var(--ml-gold) !important; }
.toggle.on::after{ background:#1A1304; }
.campo-theme .toggle.on{ background:#B07A0E !important; }
.campo-theme .toggle.on::after{ background:#fff; }

/* círculos do mapa com contorno verde → ouro */
.map-btn-circle.green-outline{ border-color:var(--ml-gold) !important; }
.map-btn-circle.green-outline svg{ stroke:var(--ml-gold) !important; }
.campo-theme .map-btn-circle.green-outline{ border-color:#B07A0E !important; }
.campo-theme .map-btn-circle.green-outline svg{ stroke:#B07A0E !important; }

/* botão SYNC do HUD: ação → ouro (badge vermelho de pendência fica) */
.hud-sync{ background:rgba(232,178,58,.1) !important; border-color:rgba(232,178,58,.35) !important; }
.hud-sync svg{ stroke:var(--ml-gold) !important; }
.hud-sync-lbl{ color:var(--ml-gold) !important; }
.campo-theme .hud-sync{ background:rgba(176,122,14,.1) !important; border-color:rgba(176,122,14,.35) !important; }
.campo-theme .hud-sync svg{ stroke:#B07A0E !important; }
.campo-theme .hud-sync-lbl{ color:#B07A0E !important; }

/* ── LOGIN · marca v3 (substitui o PNG) ─────────────────────────── */
.brand-mark{ display:flex; flex-direction:column; align-items:center; padding:6px 0 2px; }
.brand-ico{
  width:74px; height:74px; border-radius:20px;
  background:var(--surface2); border:1px solid var(--line-2,rgba(234,240,246,.18));
  display:flex; align-items:center; justify-content:center;
  color:var(--ml-gold); position:relative; overflow:hidden;
}
.brand-ico .ml-ic{ width:38px; height:38px; }
.brand-tape{
  position:absolute; left:0; right:0; bottom:0; height:6px;
  background:var(--ml-tape);
}
.brand-name{
  font-family:var(--ml-f-display); font-weight:700; font-size:30px;
  letter-spacing:.07em; color:var(--txt); margin-top:13px; line-height:1;
}
.brand-name span{ color:var(--ml-gold); }
.brand-sub{
  font-family:var(--ml-f-data); font-size:10.5px;
  color:var(--ink-3,rgba(234,240,246,.38)); margin-top:6px; letter-spacing:.06em;
}
.campo-theme .brand-ico{ background:#fff; border-color:rgba(20,24,29,.2); color:#B07A0E; }
.campo-theme .brand-sub{ color:rgba(20,24,29,.45); }

/* ════════════════════════════════════════════════════════════════════
   13 · v3.3 — TELA INICIAL (launcher) + ÍCONES DO NICHO NAS TELAS
   ════════════════════════════════════════════════════════════════════ */

/* ícones nos títulos de tela e botões */
.scr-title{ display:inline-flex; align-items:center; gap:9px; }
.ttl-ic{ width:21px; height:21px; color:var(--ml-gold); flex:none; }
.btn-ic{ width:14px; height:14px; display:inline-block; vertical-align:-2px; }
.s-ico{ display:flex; align-items:center; justify-content:center; }
.s-ico .ml-ic{ width:20px; height:20px; color:var(--ml-gold); }
.loc-act-ico .ml-ic{ width:20px; height:20px; color:var(--ml-gold); }
.campo-theme .ttl-ic, .campo-theme .s-ico .ml-ic{ color:#B07A0E; }

/* ── HOME · launcher ── */
.home-wrap{
  flex:1; display:flex; flex-direction:column;
  padding:34px 22px 16px; overflow-y:auto;
}
.home-brand{ display:flex; flex-direction:column; align-items:center; margin-bottom:26px; }
.home-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
  max-width:360px; margin:0 auto; width:100%;
}
.home-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:7px; min-height:82px; border-radius:11px; cursor:pointer;
  background:transparent; border:1px solid rgba(232,178,58,.22);
  transition:background .12s, transform .1s;
}
.home-tile:active{ background:rgba(232,178,58,.08); transform:scale(.97); }
.home-tile .ml-ic{ width:25px; height:25px; color:var(--ml-gold); }
.home-tile span{
  font-family:var(--ml-f-data); font-weight:400; font-size:9.5px;
  letter-spacing:.02em; color:var(--txt2);
}
.home-tile-new{ border-color:var(--ml-gold); }
.home-tile-new .ml-ic{ color:var(--ml-gold); }
.home-tile-new span{ color:var(--ml-gold); }
.campo-theme .home-tile{ background:#fff; border-color:rgba(20,24,29,.16); }
.campo-theme .home-tile .ml-ic{ color:#B07A0E; }
.campo-theme .home-tile-new{ background:linear-gradient(135deg,#B07A0E,#8F6309); }
.campo-theme .home-tile-new .ml-ic, .campo-theme .home-tile-new span{ color:#fff; }

/* ── v3.4 · Settings: botões de gestão na superfície unificada ──── */
#adminBtnWrap button, #rangesBtnWrap button, #managePPBtnWrap button{
  background:var(--surface2) !important;
  border:1px solid var(--border) !important;
  color:var(--txt) !important;
  font-family:var(--ml-f-display); font-weight:600;
  letter-spacing:.04em; border-radius:14px !important;
}
#adminBtnWrap button .ml-ic, #rangesBtnWrap button .ml-ic,
#managePPBtnWrap button .ml-ic{ color:var(--ml-gold); width:17px; height:17px; }
#siteSwitcherWrap > div{
  background:rgba(232,178,58,.08) !important;
  border-color:rgba(232,178,58,.3) !important;
}
#siteSwitcherWrap > div > div:first-child{ color:var(--ml-gold) !important; }
.upload-ico .ml-ic{ width:30px; height:30px; color:var(--ml-gold); margin:0 auto; }
.upload-svg{ width:28px; height:28px; color:var(--ml-gold); margin:0 auto; }

/* ── v3.6 · Legenda de teor (Au g/t) no mapa ─────────────────────── */
.grade-legend{
  position:absolute; right:74px; bottom:68px; z-index:19;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  border:1px solid var(--border); border-radius:12px;
  padding:7px 10px 6px; backdrop-filter:blur(6px); min-width:92px;
  cursor:pointer; user-select:none;
}
.grade-legend .gl-title{
  font:600 9px/1 var(--ml-f-display); letter-spacing:.12em;
  text-transform:uppercase; color:var(--txt2); margin-bottom:5px;
  display:flex; align-items:center; gap:6px;
}
.grade-legend .gl-title::after{
  content:'▾'; margin-left:auto; font-size:8px; color:var(--txt2);
}
.grade-legend.min .gl-title::after{ content:'▸'; }
.grade-legend.min .gl-title{ margin-bottom:0; }
.grade-legend.min .gl-row{ display:none; }
.grade-legend .gl-row{
  display:flex; align-items:center; gap:6px;
  font:500 9px/1.75 var(--ml-f-data); color:var(--txt2);
}
.grade-legend .gl-dot{
  width:10px; height:10px; border-radius:50%; flex:none;
  border:1px solid rgba(255,255,255,.35);
}
.campo-theme .grade-legend .gl-dot{ border-color:rgba(20,24,29,.3); }

/* ── v3.6.2 · Sample ID travado (somente leitura) ────────────────── */
.fi-locked[readonly]{
  background:color-mix(in srgb,var(--surface2) 70%,transparent);
  border-style:dashed;
  color:var(--ml-gold);
  cursor:default;
}
.fi-locked[readonly]:focus{ box-shadow:none; border-color:var(--border); }
.ic-lock-lbl{ width:11px; height:11px; display:inline-block;
  vertical-align:-1px; margin-right:4px; color:var(--ml-gold); }

/* ── v3.6.3 · destrave do Sample ID (Manager/Admin) ──────────────── */
#sampleIdLockBtn{ min-height:46px; }
#sampleIdLockBtn.unlocked{
  border-color:var(--ml-hivis) !important;
  background:rgba(255,138,30,.13) !important;
  color:var(--ml-hivis) !important;
}
.fi.font-mono:not(.fi-locked)#fSampleId{
  border-style:solid; border-color:var(--ml-hivis);
  color:var(--txt);
}

/* ── v3.7 · Grab sample toggle (amostra sem furo) ────────────────── */
#grabToggleBtn.on{
  background:rgba(232,178,58,.12) !important;
  border-color:var(--ml-gold) !important;
  color:var(--ml-gold) !important;
}
#grabToggleBtn.on .ml-ic{ color:var(--ml-gold); }
.grab-switch{
  width:38px; height:22px; border-radius:11px; flex:none; position:relative;
  background:rgba(255,255,255,.15); transition:background .2s;
}
.grab-switch::after{
  content:''; position:absolute; top:3px; left:3px; width:16px; height:16px;
  border-radius:50%; background:#fff; transition:transform .2s;
}
.grab-switch.on{ background:var(--ml-gold); }
.grab-switch.on::after{ transform:translateX(16px); background:#1A1304; }
.grab-dim{ opacity:.4; }
.campo-theme #grabToggleBtn.on{ background:rgba(176,122,14,.12) !important; border-color:#B07A0E !important; color:#8F6309 !important; }
.campo-theme .grab-switch.on{ background:#B07A0E; }
