/* Portal de útiles para Acciona · estilo
 * Colores, letras y esquinas de herramientas.prototipa.es (tema.css), con más profundidad:
 * superficies en capas, cristal en la cabecera, globo con atmósfera y tarjetas que se elevan.
 * Layout: cabecera de cristal, pestañas en píldora y, en Mapa, lienzo grande con panel al lado. */
:root{
  --rojo:#C1292E; --rojo-hover:#A31B2C; --rojo-oscuro:#7B1020; --rojo-tint:#F7E0E2;
  --bg:#F2EDE4; --sup:#FBF8F3; --sup2:#EDE6DB; --borde:#DDD3C5; --txt:#1E140E; --mudo:#6A5848;
  --agua1:#F6F1E9; --agua2:#DCD2C3; --tierra:#CBBFAC; --tierra-borde:#F4EFE7; --tierra-act:#E7A3A5; --brillo:rgba(193,41,46,.20);
  --ok:#2F7D4F; --ok-tint:#DDEFE3; --aviso:#8A5E00; --aviso-tint:#F6EBCB; --taller:#B7791F;
  --logo:#6A0000; --foto-fondo:#FFFFFF; --cristal:rgba(251,248,243,.78); --linea-luz:rgba(255,255,255,.7);
  --r-s:8px; --r-m:12px; --r-l:18px;
  --sombra-1:0 1px 1px rgba(30,20,14,.04),0 2px 6px rgba(30,20,14,.05),0 8px 24px -8px rgba(30,20,14,.10);
  --sombra-2:0 2px 4px rgba(30,20,14,.05),0 12px 28px -6px rgba(30,20,14,.16),0 30px 60px -20px rgba(30,20,14,.18);
  --sombra-rojo:0 1px 2px rgba(123,16,32,.25),0 6px 16px -4px rgba(193,41,46,.45);
  --f-txt:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-tit:'Barlow Condensed','Arial Narrow',system-ui,sans-serif;
  --f-num:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --sal:cubic-bezier(.23,1,.32,1);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#1C1817; --sup:#2A2422; --sup2:#362F2C; --borde:#463E3A; --txt:#F3EFEC; --mudo:#B5A9A3;
  --rojo-tint:#4F1B21; --agua1:#2B2523; --agua2:#171312; --tierra:#4E4440; --tierra-borde:#1F1A19; --tierra-act:#8A3238; --brillo:rgba(232,90,96,.22);
  --ok:#7CC79A; --ok-tint:#1F3A2A; --aviso:#E5C060; --aviso-tint:#3D3218; --taller:#E0A84A;
  --logo:#EBD9D6; --foto-fondo:#F1ECE6; --cristal:rgba(42,36,34,.78); --linea-luz:rgba(255,255,255,.06);
  --sombra-1:0 1px 1px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.25),0 8px 24px -8px rgba(0,0,0,.5);
  --sombra-2:0 2px 4px rgba(0,0,0,.35),0 12px 28px -6px rgba(0,0,0,.55),0 30px 60px -20px rgba(0,0,0,.6);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#1C1817; --sup:#2A2422; --sup2:#362F2C; --borde:#463E3A; --txt:#F3EFEC; --mudo:#B5A9A3;
  --rojo-tint:#4F1B21; --agua1:#2B2523; --agua2:#171312; --tierra:#4E4440; --tierra-borde:#1F1A19; --tierra-act:#8A3238; --brillo:rgba(232,90,96,.22);
  --ok:#7CC79A; --ok-tint:#1F3A2A; --aviso:#E5C060; --aviso-tint:#3D3218; --taller:#E0A84A;
  --logo:#EBD9D6; --foto-fondo:#F1ECE6; --cristal:rgba(42,36,34,.78); --linea-luz:rgba(255,255,255,.06);
  --sombra-1:0 1px 1px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.25),0 8px 24px -8px rgba(0,0,0,.5);
  --sombra-2:0 2px 4px rgba(0,0,0,.35),0 12px 28px -6px rgba(0,0,0,.55),0 30px 60px -20px rgba(0,0,0,.6);
  color-scheme:dark}

*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--f-txt);font-size:15px;line-height:1.45;
  background-image:radial-gradient(60rem 30rem at 100% -10%,var(--brillo),transparent 60%),radial-gradient(50rem 30rem at -10% 110%,color-mix(in srgb,var(--sup2) 70%,transparent),transparent 60%);
  background-attachment:fixed}
::selection{background:var(--rojo);color:#fff}
:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--f-tit);font-weight:700;margin:0;text-wrap:balance;letter-spacing:.01em}
a{color:var(--rojo)}
[hidden]{display:none!important}
.envoltura{max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* cabecera de cristal */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--sup)}
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--cristal);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid color-mix(in srgb,var(--borde) 70%,transparent);box-shadow:0 10px 30px -18px rgba(30,20,14,.35)}
.cab .envoltura{display:flex;align-items:center;gap:16px;padding-block:10px;flex-wrap:wrap}
.logo{display:flex;align-items:center}
.logo img{height:40px;width:auto;display:block}
.logo .osc{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .cla{display:none}:root:not([data-theme="light"]) .logo .osc{display:block}}
:root[data-theme="dark"] .logo .cla{display:none}:root[data-theme="dark"] .logo .osc{display:block}
.marca{display:flex;align-items:center;gap:16px;border-left:1px solid var(--borde);padding-left:16px}
.marca .tit{display:flex;flex-direction:column;line-height:1.05}
.marca b{font-family:var(--f-tit);font-size:23px;letter-spacing:.02em}
.marca span{font-size:12px;color:var(--mudo)}
.pt{display:flex;align-items:center;gap:7px;color:var(--logo)}
.pt img{height:28px;width:auto}
.pt svg{height:15px;width:auto;fill:currentColor}
.cab .der{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.busca{position:relative}
.busca input{width:min(300px,62vw);padding:9px 12px 9px 34px;border:1px solid var(--borde);border-radius:999px;background:color-mix(in srgb,var(--sup) 70%,transparent);transition:border-color .15s,box-shadow .15s,background .15s}
.busca input:focus{outline:none;border-color:var(--rojo);box-shadow:0 0 0 4px var(--rojo-tint);background:var(--sup)}
.busca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mudo)}
.quien{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mudo)}
.quien i{font-style:normal;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#D8454A,var(--rojo-oscuro));color:#fff;font-weight:600;font-size:13px;box-shadow:var(--sombra-rojo)}
.quien button{border:0;background:none;color:var(--mudo);cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:4px}

/* pestañas en píldora */
.barra-nav{display:flex;align-items:center;gap:12px;padding-block:18px 4px;flex-wrap:wrap}
nav.pest{display:inline-flex;gap:2px;padding:4px;background:color-mix(in srgb,var(--sup2) 75%,transparent);border:1px solid color-mix(in srgb,var(--borde) 60%,transparent);border-radius:999px;flex-wrap:wrap}
nav.pest button{border:0;background:none;padding:8px 16px;border-radius:999px;font-weight:600;color:var(--mudo);cursor:pointer;transition:background .2s var(--sal),color .2s,box-shadow .2s}
nav.pest button:hover{color:var(--txt)}
nav.pest button[aria-selected="true"]{background:var(--sup);color:var(--txt);box-shadow:var(--sombra-1)}
.barra-nav .esp{flex:1}
.btn{border:0;background:linear-gradient(180deg,#CF3237,var(--rojo));color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;cursor:pointer;box-shadow:var(--sombra-rojo),inset 0 1px 0 rgba(255,255,255,.25);
  transition:filter .15s,transform .16s var(--sal),box-shadow .2s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}
.btn.linea{background:var(--sup);color:var(--txt);border:1px solid var(--borde);box-shadow:var(--sombra-1)}
.btn.linea:hover{background:var(--sup2);filter:none}
.btn.peq{padding:7px 13px;font-size:13px}
.btn.fant{background:none;box-shadow:none;color:var(--rojo);padding:7px 8px}
.vista{padding-block:16px 48px}

/* chips */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--borde);background:var(--sup);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--mudo);transition:all .15s}
.chip:hover{color:var(--txt);border-color:var(--mudo)}
.chip[aria-pressed="true"]{background:var(--txt);color:var(--bg);border-color:var(--txt)}
.tec{display:inline-block;font-family:var(--f-tit);font-size:13px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:6px;background:var(--sup2);color:var(--txt);border:1px solid color-mix(in srgb,var(--borde) 60%,transparent)}
.tec.multi{background:var(--rojo-tint);color:var(--rojo);border-color:transparent}

/* superficies */
.lienzo,.panel,.caja,.tarjeta,.tabla{background:var(--sup);border:1px solid color-mix(in srgb,var(--borde) 55%,transparent);box-shadow:var(--sombra-1),inset 0 1px 0 var(--linea-luz)}

/* mapa */
.mapa-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;align-items:start}
.lienzo{border-radius:var(--r-l);overflow:hidden;position:relative;
  background:radial-gradient(ellipse 70% 65% at 50% 52%,var(--agua1),var(--sup) 75%)}
.lienzo-cab{display:flex;align-items:center;gap:10px;padding:12px 14px;flex-wrap:wrap;position:relative;z-index:2}
.miga{display:flex;align-items:center;gap:6px;font-weight:600;flex-wrap:wrap;background:var(--cristal);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--borde) 60%,transparent)}
.miga button{border:0;background:none;padding:2px 3px;color:var(--rojo);cursor:pointer;font-weight:600}
.miga .sep{color:var(--mudo);opacity:.6}
.lienzo-cab .chips{margin-left:auto}
#mapa{display:block;width:100%;height:auto;touch-action:none;cursor:grab;margin-top:-52px}
#mapa.arrastra{cursor:grabbing}
#mapa .reja{fill:none;stroke:var(--tierra);stroke-opacity:.35;stroke-width:.5}
#mapa .pais{fill:var(--tierra);stroke:var(--tierra-borde);stroke-width:.5;vector-effect:non-scaling-stroke;transition:fill .2s}
#mapa .pais.con{fill:var(--rojo);cursor:pointer;filter:drop-shadow(0 0 6px var(--brillo))}
#mapa .pais.con:hover{fill:var(--rojo-hover)}
#mapa .prov{fill:var(--tierra);stroke:var(--tierra-borde);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .2s}
#mapa .prov.con{fill:var(--tierra-act);cursor:pointer}
#mapa .prov.con:hover{fill:var(--rojo)}
#mapa .prov.sel,#mapa .prov.sel:hover{fill:var(--tierra-act);stroke:var(--rojo);stroke-width:2.2}
#mapa .pin{cursor:pointer}
#mapa .pin .halo{fill:var(--rojo);opacity:.18}
#mapa .pin .pto{fill:var(--rojo);stroke:var(--sup);stroke-width:2.5}
#mapa .pin.almacen .halo,#mapa .pin.almacen .pto{fill:var(--txt)}
#mapa .pin.taller .halo,#mapa .pin.taller .pto{fill:var(--taller)}
#mapa .pin.sel .halo{animation:latido 1.8s var(--sal) infinite;transform-box:fill-box;transform-origin:center}
@keyframes latido{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.9);opacity:0}}
#mapa .pin text{font-family:var(--f-txt);font-size:13px;font-weight:600;fill:var(--txt);paint-order:stroke;stroke:var(--sup);stroke-width:4px;stroke-linejoin:round}
.leyenda{position:absolute;left:14px;bottom:12px;display:flex;gap:12px;font-size:12px;color:var(--mudo);background:var(--cristal);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--borde) 60%,transparent)}
.leyenda i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:0}
.pista{position:absolute;right:14px;bottom:14px;font-size:12px;color:var(--mudo);max-width:50%;text-align:right}
.zoom{position:absolute;right:14px;top:62px;display:flex;flex-direction:column;background:var(--cristal);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;box-shadow:var(--sombra-1);overflow:hidden;border:1px solid color-mix(in srgb,var(--borde) 60%,transparent);z-index:2}
.zoom button{border:0;background:none;width:38px;height:38px;font-size:19px;font-weight:600;cursor:pointer;color:var(--txt)}
.zoom button+button{border-top:1px solid color-mix(in srgb,var(--borde) 60%,transparent)}
.zoom button:hover{background:var(--sup2)}
#tip{position:fixed;pointer-events:none;background:var(--txt);color:var(--bg);font-size:13px;padding:6px 10px;border-radius:8px;font-weight:600;opacity:0;transition:opacity .12s;z-index:30;box-shadow:var(--sombra-2)}
.cargando{position:absolute;inset:0;display:grid;place-items:center;color:var(--mudo);font-size:14px;pointer-events:none}

.panel{border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.panel h2{font-size:28px;line-height:1.05}
.panel .sub{color:var(--mudo);font-size:13px;margin-top:-8px}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cifras div{border-radius:var(--r-m);padding:10px 12px;background:linear-gradient(160deg,var(--sup2),color-mix(in srgb,var(--sup2) 40%,var(--sup)));border:1px solid color-mix(in srgb,var(--borde) 50%,transparent)}
.cifras b{display:block;font-family:var(--f-tit);font-size:32px;line-height:1;font-variant-numeric:tabular-nums}
.cifras span{font-size:12px;color:var(--mudo)}
.lista{display:flex;flex-direction:column;gap:6px}
.fila,.unidad{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-m);background:color-mix(in srgb,var(--bg) 70%,var(--sup));border:1px solid transparent;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s,transform .16s var(--sal)}
.fila:hover,.unidad:hover{border-color:var(--borde);background:var(--sup)}
.fila:active,.unidad:active{transform:scale(.99)}
.fila .n,.unidad .n{font-weight:600;min-width:0;flex:1}
.fila .n small,.unidad .n small{display:block;font-weight:400;color:var(--mudo);font-size:12px}
.fila .c{font-family:var(--f-tit);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}
.fila .flecha{color:var(--mudo)}
.unidad .min{width:48px;height:48px;flex:none}
.tipo{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--mudo)}

/* fotos */
.foto{background:var(--sup2);border-radius:var(--r-m);display:grid;place-items:center;color:var(--mudo);overflow:hidden;aspect-ratio:4/3;max-width:100%;position:relative}
.foto svg{width:30%;max-width:52px;opacity:.5}
.foto img{width:100%;height:100%;object-fit:contain;padding:7%;transition:transform .4s var(--sal)}
.foto.con{background:radial-gradient(circle at 50% 40%,var(--foto-fondo),color-mix(in srgb,var(--foto-fondo) 88%,var(--sup2)))}
.foto.min img{padding:3px}

/* útiles */
.barra{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.barra .cuenta{color:var(--mudo);font-size:13px;margin-left:auto}
.grupo-tec{margin-bottom:30px}
.grupo-tec h2{font-size:24px;margin-bottom:12px;display:flex;align-items:baseline;gap:10px}
.grupo-tec h2 small{font-family:var(--f-txt);font-weight:500;font-size:13px;color:var(--mudo)}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tarjeta{border-radius:var(--r-l);padding:10px;display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left;transition:box-shadow .25s var(--sal),transform .25s var(--sal)}
.tarjeta:hover{box-shadow:var(--sombra-2);transform:translateY(-3px)}
.tarjeta:hover .foto img{transform:scale(1.04)}
.tarjeta:active{transform:translateY(-1px) scale(.99)}
.tarjeta .foto{margin-bottom:4px}
.tarjeta .insignia{position:absolute;left:8px;top:8px;font-family:var(--f-num);font-size:11px;background:var(--cristal);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:3px 7px;border-radius:6px;color:var(--txt)}
.tarjeta .nom{font-weight:600;line-height:1.25;padding-inline:4px}
.tarjeta .pie{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--mudo);padding:0 4px 4px}
.tarjeta .pie .sep{flex:1}
.vacio{color:var(--mudo);font-size:14px;padding:28px 20px;border-radius:var(--r-l);text-align:center;border:1.5px dashed var(--borde);display:flex;flex-direction:column;gap:12px;align-items:center}
.vacio b{font-family:var(--f-tit);font-size:22px;color:var(--txt)}

/* tablas */
.tabla{overflow-x:auto;border-radius:var(--r-m)}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--mudo);text-align:left;font-weight:600;padding:9px 11px;background:color-mix(in srgb,var(--sup2) 70%,var(--sup));white-space:nowrap}
td{padding:9px 11px;border-top:1px solid color-mix(in srgb,var(--borde) 70%,transparent);vertical-align:middle}
tbody tr{transition:background .15s}
tbody tr.clic{cursor:pointer}
tbody tr.clic:hover{background:color-mix(in srgb,var(--sup2) 45%,transparent)}
td.num,th.num{font-variant-numeric:tabular-nums;text-align:right}
td .min{width:46px;height:46px}
code,.cod{font-family:var(--f-num);font-size:12.5px}
.planos{display:flex;gap:6px;flex-wrap:wrap}
.planos code{background:var(--sup2);padding:2px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}

/* ficha */
dialog{border:0;border-radius:22px;padding:0;background:var(--sup);color:var(--txt);box-shadow:var(--sombra-2);width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
dialog[open]{animation:sube .35s var(--sal)}
@keyframes sube{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
dialog::backdrop{background:rgba(20,14,10,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ficha-cab{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--borde);position:sticky;top:0;background:var(--cristal);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:3}
.ficha-cab h2{font-size:30px;line-height:1.05}
.ficha-cab .acc{margin-left:auto;display:flex;gap:8px;align-items:center}
.cerrar{border:0;background:var(--sup2);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:19px;flex:none}
.ficha-cuerpo{padding:20px;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:22px}
.ficha-cuerpo>.foto{border-radius:var(--r-l);aspect-ratio:1/1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--borde) 60%,transparent)}
.datos{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:14px;align-content:start}
.datos dt{color:var(--mudo)}
.datos dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.sec{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.sec h3{font-size:21px;display:flex;align-items:baseline;gap:8px}
.sec h3 small{font-family:var(--f-txt);font-weight:500;font-size:13px;color:var(--mudo)}
.hist{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mudo)}
.hist div{padding-left:14px;position:relative}
.hist div::before{content:"";position:absolute;left:3px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--rojo)}
.mover{padding:6px 8px;border:1px solid var(--borde);border-radius:8px;background:var(--bg);max-width:180px}

/* formularios */
.form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.caja{border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.caja h2{font-size:23px}
.caja.ancha{grid-column:1/-1}
.campo{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--mudo);font-weight:500;min-width:0}
.campo input,.campo select,.campo textarea,.fila-ed input,.fila-ed select,.fila-uni input,.fila-uni select,.ent{padding:9px 11px;border:1px solid var(--borde);border-radius:10px;background:color-mix(in srgb,var(--bg) 60%,var(--sup));color:var(--txt);min-width:0;width:100%;transition:border-color .15s,box-shadow .15s}
:is(.campo,.fila-ed,.fila-uni) :is(input,select):focus,.ent:focus{outline:none;border-color:var(--rojo);box-shadow:0 0 0 4px var(--rojo-tint)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.checks{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.checks label{display:flex;gap:6px;align-items:center;padding:6px 12px;border:1px solid var(--borde);border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;background:var(--sup);color:var(--txt);transition:all .15s}
.checks label:has(input:checked){background:var(--rojo-tint);border-color:var(--rojo);color:var(--rojo)}
.checks input{accent-color:var(--rojo)}
.nueva-tec{display:flex;gap:6px;align-items:center}
.nueva-tec input{width:150px;padding:6px 10px;border-radius:999px}
.nota{font-size:12.5px;color:var(--mudo);margin:0}
.segm{display:inline-flex;padding:3px;background:color-mix(in srgb,var(--sup2) 75%,transparent);border:1px solid color-mix(in srgb,var(--borde) 60%,transparent);border-radius:999px;width:max-content;max-width:100%}
.segm button{border:0;background:none;padding:7px 14px;font-weight:600;cursor:pointer;color:var(--mudo);border-radius:999px;transition:all .2s var(--sal)}
.segm button[aria-pressed="true"]{background:var(--sup);color:var(--txt);box-shadow:var(--sombra-1)}
.fila-ed{display:grid;grid-template-columns:58px minmax(0,1.3fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.1fr) 76px 34px;gap:8px;align-items:center}
.fila-ed .foto{width:58px;height:44px;aspect-ratio:auto;cursor:pointer}
.fila-uni{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 34px;gap:8px;align-items:center}
.quitar{border:0;background:none;color:var(--mudo);cursor:pointer;font-size:20px;border-radius:8px;height:34px}
.quitar:hover{background:var(--sup2);color:var(--rojo)}
.estado{font-size:13px;font-weight:600;padding:9px 12px;border-radius:10px}
.estado.bien{background:var(--ok-tint);color:var(--ok)}
.estado.mal{background:var(--rojo-tint);color:var(--rojo)}
.estado.neutro{background:var(--sup2);color:var(--mudo)}
#miniMapa{width:100%;height:auto;border-radius:var(--r-m);display:block;background:radial-gradient(ellipse at 50% 45%,var(--agua1),var(--agua2))}
#miniMapa .pais{fill:var(--tierra);stroke:var(--tierra-borde);stroke-width:.5;vector-effect:non-scaling-stroke}
#miniMapa .prov{fill:var(--tierra-act);stroke:var(--tierra-borde);stroke-width:.8;vector-effect:non-scaling-stroke}
.foto-subir{cursor:pointer;aspect-ratio:16/10;border:1.5px dashed var(--borde);transition:border-color .15s}
.foto-subir:hover{border-color:var(--rojo)}
.foto-subir span{display:grid;place-items:center;gap:6px;font-size:13px}
.pie-form{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;align-items:center}

/* acceso */
.acceso{min-height:calc(100dvh - 40px);display:grid;place-items:center;position:relative;overflow:hidden;padding-block:40px}
#globoFondo{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}
#globoFondo .pais{fill:var(--tierra);stroke:var(--tierra-borde);stroke-width:.4}
#globoFondo .pais.con{fill:var(--rojo)}
.acceso .caja{width:min(430px,100%);gap:16px;position:relative;z-index:1;padding:26px;background:var(--cristal);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:var(--sombra-2)}
.acceso .logos{display:flex;align-items:center;gap:14px;padding-bottom:6px}
.acceso h1{font-size:34px;line-height:1}
.codigo{display:flex;gap:8px}
.codigo input{width:48px;height:58px;text-align:center;font-family:var(--f-tit);font-size:28px;border:1px solid var(--borde);border-radius:12px;background:var(--sup);padding:0}
.codigo input:focus{outline:none;border-color:var(--rojo);box-shadow:0 0 0 4px var(--rojo-tint)}

#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--txt);color:var(--bg);padding:11px 18px;border-radius:999px;font-weight:600;opacity:0;transition:opacity .2s,transform .3s var(--sal);z-index:40;max-width:calc(100vw - 32px);box-shadow:var(--sombra-2);pointer-events:none}
#toast.ver{opacity:1;transform:translate(-50%,0)}
#toast.mal{background:var(--rojo);color:#fff}
.aviso-maq{background:var(--aviso-tint);color:var(--aviso);font-size:13px}
.aviso-maq .envoltura{padding-block:6px}

@media (max-width:900px){
  .mapa-grid,.form,.ficha-cuerpo{grid-template-columns:minmax(0,1fr)}
  .ficha-cuerpo>.foto{max-width:360px;aspect-ratio:4/3}
  .marca .tit{display:none}
  .quien span{display:none}
  .fila-ed{grid-template-columns:52px minmax(0,1fr) 34px}
  .fila-ed>:nth-child(n+3):not(.quitar){grid-column:2/3}
  .fila-ed .quitar{grid-column:3;grid-row:1}
  #mapa{margin-top:0;min-height:340px}
  .zoom{top:auto;bottom:54px}
  .lienzo-cab .chips{margin-left:0}
  .pista{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
