/* Herramienta de campo: alto contraste para sol, botones grandes, mapa como lienzo principal. */
@font-face{font-family:"Barlow";src:url(fonts/barlow-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/barlow-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/barlow-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/barlow-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/barlow-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/barlow-latin-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(fonts/barlow-semi-condensed-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(fonts/barlow-semi-condensed-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --azul:#1d4f91; --verde:#3f8f3a; --naranja:#e8731c; --verde-hondo:#1b5e20;
  --bg:#f3f5f1; --surface:#ffffff; --surface-2:#e8ece5; --line:#d3d9cf;
  --fg:#17201a; --muted:#5b665e;
  --maleza:#5f8a1f; --plaga:#c46a12; --enfermedad:#9b2c5a; --benefico:#0f7a80; --otro:#5b665e;
  --ok:#2e7d32; --warn:#b26a00; --crit:#b3261e;
  --focus:#1d4f91;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-disp:"Barlow Semi Condensed","Barlow",system-ui,sans-serif;
  --r:10px; --shadow:0 6px 24px rgba(16,30,20,.18);
  --nav-h:62px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --azul:#7fa8e6; --verde:#7cc46f; --naranja:#f59a4a; --verde-hondo:#43a956;
  --bg:#101512; --surface:#18201b; --surface-2:#222b25; --line:#323d35;
  --fg:#e7ede6; --muted:#a2ada4;
  --maleza:#9ccc4a; --plaga:#f0a24a; --enfermedad:#e07aa5; --benefico:#5cc8cd; --otro:#a2ada4;
  --ok:#7ccf80; --warn:#f2b24c; --crit:#f28b82; --focus:#7fa8e6;
  --shadow:0 6px 24px rgba(0,0,0,.5); color-scheme:dark}}
:root[data-theme="dark"]{
  --azul:#7fa8e6; --verde:#7cc46f; --naranja:#f59a4a; --verde-hondo:#43a956;
  --bg:#101512; --surface:#18201b; --surface-2:#222b25; --line:#323d35;
  --fg:#e7ede6; --muted:#a2ada4;
  --maleza:#9ccc4a; --plaga:#f0a24a; --enfermedad:#e07aa5; --benefico:#5cc8cd; --otro:#a2ada4;
  --ok:#7ccf80; --warn:#f2b24c; --crit:#f28b82; --focus:#7fa8e6;
  --shadow:0 6px 24px rgba(0,0,0,.5); color-scheme:dark}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.4 var(--f-body);-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

/* ---------- Marca ---------- */
.brand{font-family:var(--f-disp);font-weight:700;letter-spacing:.02em;white-space:nowrap}
.brand .b1{color:var(--azul)} .brand .b2{color:var(--verde)}

/* ---------- Acceso ---------- */
#acceso{position:fixed;inset:0;z-index:50;display:grid;align-items:end;background:#0d1a10 url(img/fondo.jpg) center/cover no-repeat}
#acceso::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.92) 72%)}
.acceso-box{position:relative;padding:28px max(20px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));display:grid;gap:14px;max-width:520px;width:100%;margin:0 auto}
.acceso-box .brand{font-size:clamp(34px,10vw,52px);line-height:1}
.acceso-box .brand .b1{color:#1d4f91} .acceso-box .brand .b2{color:#3f8f3a}
.acceso-box p{margin:0;color:#2b352e;font-size:17px}
.acceso-box .meta{font-size:13px;color:#4c574f}

/* ---------- Estructura ---------- */
#app{height:100%;display:grid;grid-template-rows:auto 1fr auto}
header.top{display:flex;align-items:center;gap:10px;padding:8px max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--line);z-index:5}
header.top .brand{font-size:20px}
.gps{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);min-width:0}
.gps .dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex:none}
.gps.ok .dot{background:var(--ok)} .gps.weak .dot{background:var(--warn)} .gps.off .dot{background:var(--crit)}
.gps span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip-btn{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}

main{position:relative;min-height:0;overflow:hidden}
.view{position:absolute;inset:0;overflow:auto}
.view.pad{padding:14px max(16px,env(safe-area-inset-right,0px)) 90px max(16px,env(safe-area-inset-left,0px))}
#map{position:absolute;inset:0;background:var(--surface-2)}

nav.bottom{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
nav.bottom button{height:var(--nav-h);border:0;background:none;display:grid;place-items:center;gap:0;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;padding:6px 0}
nav.bottom button svg{width:24px;height:24px}
nav.bottom button[aria-current="page"]{color:var(--azul)}

/* ---------- Mapa ---------- */
.fab{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:18px;z-index:500;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--verde);color:#fff;font-weight:700;font-size:17px;padding:16px 22px;box-shadow:var(--shadow);cursor:pointer}
:root[data-theme="dark"] .fab{color:#0e1a10}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fab{color:#0e1a10}}
.fab svg{width:22px;height:22px}
.map-tools{position:absolute;left:max(12px,env(safe-area-inset-left,0px));bottom:18px;z-index:500;display:flex;flex-direction:column;gap:8px}
.map-tools button{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer}
.map-tools button svg{width:22px;height:22px}
.lote-banner{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:500;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:600;box-shadow:var(--shadow);max-width:calc(100% - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.ndvi-legend{position:absolute;right:max(12px,env(safe-area-inset-right,0px));top:56px;z-index:500;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;font-size:12px;box-shadow:var(--shadow);max-width:220px}
.ndvi-legend .bar{height:10px;border-radius:3px;margin:6px 0 2px;background:linear-gradient(90deg,#a50026,#f46d43,#fee08b,#a6d96a,#1a9850,#006837)}
.ndvi-legend .ends{display:flex;justify-content:space-between}
.leaflet-container{font:inherit}
.lote-label{background:transparent;border:0;box-shadow:none;color:#fff;font-weight:700;text-shadow:0 1px 3px #000,0 0 2px #000;font-size:12px}
.lote-label::before{display:none}

/* ---------- Componentes ---------- */
h2.sec{font-family:var(--f-disp);font-size:24px;margin:4px 0 12px;text-wrap:balance}
h3.sub{font-family:var(--f-disp);font-size:17px;margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer;text-align:center}
.btn.primary{background:var(--azul);border-color:var(--azul);color:#fff}
.btn.green{background:var(--verde);border-color:var(--verde);color:#fff}
:root[data-theme="dark"] .btn.primary,:root[data-theme="dark"] .btn.green{color:#0e1a10}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.primary,:root:not([data-theme="light"]) .btn.green{color:#0e1a10}}
.btn.danger{color:var(--crit);border-color:var(--crit)}
.btn.sm{min-height:36px;padding:6px 12px;font-size:14px}
.btn.block{width:100%}
.btn svg{width:20px;height:20px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:380px){.grid2{grid-template-columns:1fr}}
label.f{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}
.inp,select.inp,textarea.inp{width:100%;min-height:46px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:10px 12px;font-size:16px;color:var(--fg);font-weight:400}
textarea.inp{min-height:110px;resize:vertical}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.muted{color:var(--muted)}
.small{font-size:13px}
.pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;border:1px solid currentColor;white-space:nowrap}
.pill.maleza{color:var(--maleza)} .pill.plaga{color:var(--plaga)} .pill.enfermedad{color:var(--enfermedad)} .pill.benefico{color:var(--benefico)} .pill.otro{color:var(--otro)}
.pill.doc{color:var(--azul)} .pill.nodoc{color:var(--muted);border-style:dashed}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;font-weight:600;font-size:14px;cursor:pointer;min-height:40px}
.chips button[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:#fff}
:root[data-theme="dark"] .chips button[aria-pressed="true"]{color:#0e1a10}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chips button[aria-pressed="true"]{color:#0e1a10}}
.chips.tipo button[data-v="maleza"][aria-pressed="true"]{background:var(--maleza);border-color:var(--maleza)}
.chips.tipo button[data-v="plaga"][aria-pressed="true"]{background:var(--plaga);border-color:var(--plaga)}
.chips.tipo button[data-v="enfermedad"][aria-pressed="true"]{background:var(--enfermedad);border-color:var(--enfermedad)}
.chips.tipo button[data-v="benefico"][aria-pressed="true"]{background:var(--benefico);border-color:var(--benefico)}
.chips.tipo button[data-v="otro"][aria-pressed="true"]{background:var(--otro);border-color:var(--otro)}

/* ---------- Hoja (formulario / detalle) ---------- */
.sheet-back{position:fixed;inset:0;background:rgba(10,18,12,.45);z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--bg);width:100%;max-width:640px;max-height:94%;border-radius:16px 16px 0 0;display:grid;grid-template-rows:auto 1fr auto;box-shadow:var(--shadow);overflow:hidden}
.sheet-h{display:flex;align-items:center;gap:8px;padding:12px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--surface)}
.sheet-h h3{margin:0;font-family:var(--f-disp);font-size:20px;flex:1;min-width:0}
.sheet-h .x{border:0;background:none;width:40px;height:40px;cursor:pointer;display:grid;place-items:center}
.sheet-b{overflow:auto;padding:14px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));display:grid;gap:14px;align-content:start}
.sheet-f{display:flex;gap:8px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);background:var(--surface)}
.sheet-f .btn{flex:1}
.lote-box{border-radius:var(--r);padding:10px 12px;background:var(--surface);border:1px solid var(--line);display:grid;gap:4px}
.lote-box b{font-family:var(--f-disp);font-size:19px}
.lote-box.fuera{border-color:var(--warn)}
.minimap{height:220px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.obs{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.obs-h{display:flex;justify-content:space-between;align-items:center}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumb{position:relative;width:84px;height:84px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .del{position:absolute;top:2px;right:2px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-weight:700;cursor:pointer;line-height:1}
.audio-item{display:flex;gap:8px;align-items:center}
.audio-item audio{flex:1;min-width:0;height:40px}
.rec{display:flex;align-items:center;gap:10px}
.rec .live{width:12px;height:12px;border-radius:50%;background:var(--crit);animation:blink 1s infinite}
@keyframes blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.rec .live{animation:none}}
.confirm{display:grid;gap:10px;padding:12px;border:1px solid var(--crit);border-radius:var(--r);background:var(--surface)}

/* ---------- Historial ---------- */
.filters{display:grid;gap:8px;margin-bottom:12px}
.filters .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:520px){.filters .grid3{grid-template-columns:1fr 1fr}}
.day{font-family:var(--f-disp);font-weight:700;font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:16px 0 6px;position:sticky;top:-14px;background:var(--bg);padding:6px 0;z-index:1}
.reg{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:8px;cursor:pointer;width:100%;text-align:left}
.reg .hora{font-weight:700;font-size:15px}
.reg .t{font-weight:700;min-width:0}
.reg .d{grid-column:2;min-width:0;display:grid;gap:6px}
.reg .nota{color:var(--muted);font-size:14px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.empty{padding:28px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r)}
.count{font-size:14px;color:var(--muted);margin:4px 0 0}

/* ---------- Lotes ---------- */
.cli{margin-bottom:18px}
.cli > h3{font-family:var(--f-disp);font-size:20px;margin:0 0 6px}
.est{margin:8px 0 4px;font-weight:700;color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.lote{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:6px}
.lote .n{font-weight:700}
.lote .acts{display:flex;gap:6px;flex-wrap:wrap;grid-column:1/-1}

/* ---------- Galería ---------- */
.viewer{position:fixed;inset:0;background:#000;z-index:2000;display:grid;place-items:center}
.viewer img{max-width:100%;max-height:100%}
.viewer button{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:22px;cursor:pointer}

.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:600;z-index:3000;box-shadow:var(--shadow);max-width:calc(100% - 32px);text-align:center}
.progress{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}
.progress i{display:block;height:100%;background:var(--verde);width:0;transition:width .2s}
.reg .pill{white-space:normal;text-align:left}

/* Indicador de sincronización */
.nube{position:relative;width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;cursor:pointer;flex:none;color:var(--muted)}
.nube svg{width:20px;height:20px}
.nube i{position:absolute;right:3px;bottom:4px;width:9px;height:9px;border-radius:50%;background:var(--muted);border:2px solid var(--surface)}
.nube[data-st="ok"]{color:var(--azul)} .nube[data-st="ok"] i{background:var(--ok)}
.nube[data-st="pend"] i{background:var(--warn)}
.nube[data-st="sync"] i{background:var(--azul);animation:blink 1s infinite}
.nube[data-st="err"] i{background:var(--crit)}
@media (prefers-reduced-motion:reduce){.nube[data-st="sync"] i{animation:none}}
@media (max-width:400px){header.top .brand{font-size:17px}}
.sheet-f .btn{white-space:nowrap;padding-inline:10px;min-width:0}

/* Planes */
.plan-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;border:1px solid var(--warn);color:var(--warn);white-space:nowrap;justify-self:start}
.plan-chip.pro{border-color:var(--ok);color:var(--ok)}
.plan-chip.venc{border-color:var(--crit);color:var(--crit)}
.plan-box{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r);border:1px dashed var(--warn);background:var(--surface-2)}
.plan-box.venc{border-color:var(--crit)}
.plan-box .btn{justify-self:start}
.plan-box.beta{border:1px solid var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--surface-2))}
.sin-senal{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;border-left:4px solid var(--verde)}
.pasos-bienv{margin:0;padding-left:22px;display:grid;gap:8px}
.beta-cinta{border:1px solid var(--ok);color:var(--ok);border-radius:999px;padding:6px 14px;font-size:13px;text-align:center;justify-self:center;background:color-mix(in srgb,var(--surface) 85%,transparent)}
.acceso-plan{font-size:13px;font-weight:600;color:#7a4b00}
a.btn{color:var(--fg);text-decoration:none}

/* Acceso con cuenta (la caja de acceso es siempre clara, sobre la foto) */
.acceso-auth{display:grid;gap:10px;color:#17201a}
.acceso-auth .inp{background:#fff;color:#17201a;border-color:#c3cbbe}
.acceso-auth .f{color:#4c574f}
.acepto{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.35;color:#17201a;cursor:pointer}
.acepto input{width:22px;height:22px;flex:none;margin:0;accent-color:#1d4f91}
.acepto a{color:#1d4f91;font-weight:600}
.acceso-auth .tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c3cbbe;border-radius:var(--r);overflow:hidden;background:#fff}
.acceso-auth .tabs button{border:0;background:none;padding:10px;font-weight:700;color:#4c574f;cursor:pointer;min-height:44px}
.acceso-auth .tabs button[aria-pressed="true"]{background:#1d4f91;color:#fff}
.acceso-auth .link{border:0;background:none;color:#1d4f91;font-weight:600;padding:4px 0;cursor:pointer;justify-self:start;text-decoration:underline}
.acceso-auth .msg{font-size:14px;font-weight:600}
.acceso-auth .msg.err{color:#b3261e} .acceso-auth .msg.ok{color:#2e7d32}
.acceso-auth .btn{color:#17201a;background:#fff;border-color:#c3cbbe}
.acceso-auth .btn.primary{background:#1d4f91;border-color:#1d4f91;color:#fff}
.acceso-box{max-height:100%;overflow:auto}

/* Copiar de registros anteriores / duplicar */
.ref-pick{border:1px solid var(--azul);border-radius:var(--r);background:var(--surface);max-height:300px;overflow:auto;display:grid}
.ref-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
.ref-item{display:grid;gap:2px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:10px;cursor:pointer;font-size:14px}
.ref-item:hover,.ref-item:focus-visible{background:var(--surface-2)}
.ref-txt{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.link-btn{border:0;background:none;color:var(--azul);font-weight:600;padding:4px 0;cursor:pointer;text-align:left;text-decoration:underline;font-size:14px}
.du-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin-top:6px}
.du-item{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--surface);font-weight:600;font-size:14px;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.du-item input{width:18px;height:18px;flex:none}
.du-item:has(input:checked){border-color:var(--verde);background:var(--surface-2)}

/* Adjuntos georreferenciados */
.adj-pin{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--f-body);color:#fff;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.6);background:#1d4f91}
.adj-pin.video{background:#9b2c5a} .adj-pin.audio{background:#c46a12}
.adj-pin.sel{transform:scale(1.35);background:#ffd400;color:#17201a}
.thumb .num-badge,.num-badge{position:absolute;left:3px;top:3px;min-width:20px;height:20px;border-radius:10px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 5px}
.num-badge.static{position:static;background:var(--azul);flex:none}
.thumb .pin,.pin{position:absolute;left:3px;bottom:3px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(0,0,0,.55);font-size:14px;cursor:pointer;display:grid;place-items:center;filter:grayscale(1);opacity:.85}
.pin.ok{filter:none;opacity:1}
.pin.static{cursor:default}
.audio-item .pin{position:static;background:var(--surface-2);flex:none}
.thumb.sel,.audio-item.sel{outline:3px solid #ffd400;outline-offset:1px;border-radius:8px}
.thumb video{width:100%;height:100%;object-fit:cover;display:block}
.thumb .play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:22px;text-shadow:0 1px 4px #000;cursor:pointer}
.viewer video{max-width:100%;max-height:100%}

/* Editor de lotes (pantalla completa) */
.editor{position:fixed;inset:0;z-index:1800;background:#000;display:grid;grid-template-rows:auto 1fr auto}
.ed-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);padding:calc(6px + env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) 6px max(10px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
.ed-top b{font-family:var(--f-disp);font-size:18px;flex:1;min-width:0}
.ed-top .x{border:0;background:none;width:40px;height:40px;display:grid;place-items:center;cursor:pointer}
.ed-tabs{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.ed-tabs button{border:0;background:var(--surface);padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer;color:var(--muted)}
.ed-tabs button[aria-pressed="true"]{background:var(--azul);color:#fff}
.ed-tabs button:disabled{opacity:.4;cursor:not-allowed}
.ed-map{position:relative;min-height:0}
.ed-ayuda{position:absolute;left:50%;transform:translateX(-50%);top:calc(64px + env(safe-area-inset-top,0px));z-index:1000;background:rgba(16,24,18,.82);color:#fff;font-size:13px;font-weight:600;padding:8px 12px;border-radius:12px;max-width:calc(100% - 90px);text-align:center;pointer-events:none}
.ed-ayuda:empty{display:none}
.ed-tools{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(var(--ed-panel,190px) + 12px);z-index:1000}
.ed-fab{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer}
.ed-fab svg{width:22px;height:22px}
.ed-panel{background:var(--surface);border-top:1px solid var(--line);padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));display:grid;gap:8px;max-height:55vh;overflow:auto}
.ed-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px}
.ed-acciones{display:flex;flex-wrap:wrap;gap:6px}
.ed-radio{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}
.ed-radio .inp{width:80px;min-height:36px;padding:4px 8px}
.vtx{width:18px;height:18px;margin:2px;border-radius:50%;background:#ffd400;border:3px solid #17201a;box-shadow:0 0 0 2px #fff;cursor:grab}
.vtx.primero{background:#fff}
.vtx.sel{background:#ff5a36;transform:scale(1.25)}
.vtx.medio{width:12px;height:12px;margin:5px;background:rgba(255,255,255,.75);border:2px solid #17201a;box-shadow:none;cursor:copy}
body:has(.editor) .toast{bottom:auto;top:calc(120px + env(safe-area-inset-top,0px))}

/* Marca FIELD notebook */
.brand.fn{display:inline-grid;justify-items:end;line-height:1;letter-spacing:0}
.fn-nombre{white-space:nowrap}
.fn-field{color:var(--naranja);font-family:var(--f-disp);font-weight:700;letter-spacing:.02em}
.fn-note{color:var(--verde-hondo);font-family:var(--f-body);font-style:italic;font-weight:700}
.fn-de{font-family:var(--f-disp);font-weight:600;font-size:.42em;color:var(--muted);margin-top:.15em;letter-spacing:.02em;white-space:nowrap}
.fn-de .b1{color:var(--azul)} .fn-de .b2{color:var(--verde)}
.acceso-box .brand.fn{justify-self:start}
.acceso-box .fn-field{color:#e8731c} .acceso-box .fn-note{color:#1b5e20}
.acceso-box .fn-de{color:#4c574f} .acceso-box .fn-de .b1{color:#1d4f91} .acceso-box .fn-de .b2{color:#3f8f3a}
header.top .brand.fn{font-size:22px}
header.top .fn-de{font-size:9.5px}
@media (max-width:400px){header.top .brand.fn{font-size:19px}}

/* Ayuda para instalar */
.instalar{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r);background:rgba(255,255,255,.92);border:1px solid #c3cbbe;color:#17201a;font-size:14px}
.instalar .btn{justify-self:start;margin-top:4px}
.instalar.card{background:var(--surface);color:var(--fg);border-color:var(--line);margin-bottom:12px}
.ico-ios{width:18px;height:18px;vertical-align:-3px;color:#1d4f91}

.esp-barra{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}
.esp-barra i{display:block;height:100%}

/* Comentarios de adjuntos */
.adj-lista{display:grid;gap:8px}
.adj-row{display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:start}
.adj-row .thumb{width:84px;height:84px}
.adj-nota{min-height:56px!important;font-size:14px;padding:8px 10px}
textarea.adj-nota{min-height:56px}
.adj-audio{display:grid;gap:6px}
.adj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.adj-fig{margin:0;display:grid;gap:4px;min-width:0}
.adj-fig .thumb{width:100%;height:auto;aspect-ratio:1}
.adj-fig figcaption,.adj-cap{font-size:12.5px;color:var(--muted);line-height:1.3;overflow-wrap:anywhere;margin:0}
.viewer-nota{position:absolute;left:0;right:0;bottom:0;padding:12px max(16px,env(safe-area-inset-left,0px)) calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,rgba(0,0,0,.85) 30%);color:#fff;font-size:15px;line-height:1.35}
/* Hectáreas en el panel */
.ha-total{display:grid;gap:2px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.ha-total b{font-family:var(--f-disp);font-size:28px;color:var(--verde-hondo)}
a.btn{color:inherit;text-decoration:none}
