/* FESEVAR Gestor · Propiedad de FESEVAR Innovaciones SLU · Confidencial */
:root{
  --papel:#F4F2EC; --hoja:#FFFFFF; --hoja2:#FAF9F5; --tinta:#14213A; --tinta2:#4A5568; --tenue:#8A93A3;
  --linea:#E3E0D6; --linea2:#EEEBE3;
  --azul:#2D6BC4; --azul-suave:#E6EEFA; --verde:#4E9A2A; --verde-suave:#E8F3E0;
  --ambar:#C98A12; --ambar-suave:#FBF1DC; --rojo:#C2412D; --rojo-suave:#FBE7E3;
  --lateral:#0F1A2E; --lateral2:#1A2843; --lateral-texto:#C9D2E3;
  --serif: "New York", ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, sans-serif;
  --mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  --radio:10px; --sombra:0 1px 2px rgba(20,33,58,.06), 0 4px 18px rgba(20,33,58,.05);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --papel:#0E1524; --hoja:#151E31; --hoja2:#121A2B; --tinta:#E8ECF4; --tinta2:#AEB8CA; --tenue:#7B879C;
  --linea:#26324A; --linea2:#1E2940; --azul:#6FA3F0; --azul-suave:#1B2C4A; --verde:#86C35A; --verde-suave:#1B3122;
  --ambar:#E3AA3F; --ambar-suave:#352A12; --rojo:#F07B66; --rojo-suave:#3B1D19;
  --lateral:#090F1C; --lateral2:#131D33; --sombra:0 1px 2px rgba(0,0,0,.3);
}}
:root[data-theme="dark"]{
  --papel:#0E1524; --hoja:#151E31; --hoja2:#121A2B; --tinta:#E8ECF4; --tinta2:#AEB8CA; --tenue:#7B879C;
  --linea:#26324A; --linea2:#1E2940; --azul:#6FA3F0; --azul-suave:#1B2C4A; --verde:#86C35A; --verde-suave:#1B3122;
  --ambar:#E3AA3F; --ambar-suave:#352A12; --rojo:#F07B66; --rojo-suave:#3B1D19;
  --lateral:#090F1C; --lateral2:#131D33; --sombra:0 1px 2px rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--papel);color:var(--tinta);font:14px/1.45 var(--sans);display:grid;grid-template-columns:236px 1fr;-webkit-font-smoothing:antialiased}
a{color:var(--azul);text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0}
h1{font-size:30px} h2{font-size:19px} h3{font-size:15px}
.num,td.num,.importe{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
button,input,select,textarea{font:inherit;color:inherit}

/* ---------- lateral ---------- */
.lateral{background:var(--lateral);color:var(--lateral-texto);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;padding:18px 14px}
.marca{display:flex;gap:11px;align-items:center;color:#fff;padding:4px 6px 20px}
.marca img{width:38px;height:auto}
.marca b{display:block;font:700 17px/1.1 var(--sans);letter-spacing:.14em}
.marca small{display:block;color:var(--lateral-texto);opacity:.7;font-size:11.5px;letter-spacing:.02em;margin-top:2px}
nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--lateral-texto);font-weight:500}
nav a i{font-style:normal;width:18px;text-align:center;opacity:.75}
nav a:hover{background:var(--lateral2);color:#fff}
nav a.activo{background:var(--lateral2);color:#fff;box-shadow:inset 3px 0 0 #6FA3F0}
nav a em{margin-left:auto;font-style:normal;background:var(--ambar);color:#1b1300;border-radius:20px;font-size:11.5px;font-weight:700;padding:1px 8px}
nav a em:empty{display:none}
.sep{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;opacity:.45;padding:16px 10px 6px}
.subir-lateral{margin-top:auto;display:grid;gap:8px;padding:12px 2px}
.subir-lateral .fantasma{color:var(--lateral-texto);border-color:#2B3A58}
.subir-lateral .fantasma:hover{background:var(--lateral2)}
.pista{font-size:11.5px;opacity:.55;text-align:center;margin:2px 0 0}
.candado{font-size:11.5px;display:flex;align-items:center;gap:8px;padding:10px 8px 0;border-top:1px solid #1F2C47;opacity:.8}
.punto{width:8px;height:8px;border-radius:50%;background:#7CC34E;box-shadow:0 0 0 3px rgba(124,195,78,.18)}

/* ---------- contenido ---------- */
main{padding:30px 38px 60px;min-width:0;outline:none}
.cabecera{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.cabecera p{margin:4px 0 0;color:var(--tinta2)}
.acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tarjeta{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra)}
.tarjeta>header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--linea2)}
.tarjeta .cuerpo{padding:16px 18px}
.rejilla{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-panel{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
@media (max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-panel{grid-template-columns:1fr}}

/* ---------- botones ---------- */
.btn{border:1px solid var(--linea);background:var(--hoja);border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;justify-content:center;white-space:nowrap;transition:background .12s, border-color .12s}
.btn:hover{border-color:var(--tenue)}
.btn.primario{background:var(--azul);border-color:var(--azul);color:#fff}
.btn.primario:hover{filter:brightness(1.07)}
.btn.verde{background:var(--verde);border-color:var(--verde);color:#fff}
.btn.fantasma{background:transparent}
.btn.peligro{color:var(--rojo)}
.btn.peq{padding:5px 10px;font-size:12.5px}
.btn.ancho{width:100%}
.btn:disabled{opacity:.5;cursor:default}
kbd{font:11px var(--mono);border:1px solid currentColor;border-radius:4px;padding:0 4px;opacity:.7}
.chips{display:inline-flex;background:var(--hoja2);border:1px solid var(--linea);border-radius:9px;padding:3px}
.chips button{border:0;background:transparent;padding:5px 11px;border-radius:7px;cursor:pointer;font-weight:600;color:var(--tinta2);font-size:13px}
.chips button.on{background:var(--hoja);color:var(--tinta);box-shadow:var(--sombra)}

/* ---------- KPIs ---------- */
.kpi{padding:16px 18px 15px}
.kpi .eti{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--tenue);font-weight:600}
.kpi .val{font:600 27px/1.15 var(--serif);margin:7px 0 3px;font-variant-numeric:tabular-nums}
.kpi .det{font-size:12.5px;color:var(--tinta2)}
.kpi.ingreso .val{color:var(--verde)} .kpi.gasto .val{color:var(--tinta)}
.kpi.iva{background:linear-gradient(135deg,var(--azul-suave),var(--hoja) 70%)}
.kpi a.det{color:var(--azul);font-weight:600}
.franja{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:var(--radio);background:var(--ambar-suave);border:1px solid color-mix(in srgb,var(--ambar) 35%,transparent);margin-bottom:18px}
.franja b{color:var(--ambar)}
.franja .btn{margin-left:auto}

/* ---------- gráfico ---------- */
.grafico svg{display:block;width:100%;height:240px}
.leyenda{display:flex;gap:16px;font-size:12.5px;color:var(--tinta2)}
.leyenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.barras-h .fila{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:0 0 11px;font-size:13px}
.barras-h .pista-b{grid-column:1/-1;height:7px;border-radius:5px;background:var(--linea2);overflow:hidden}
.barras-h .pista-b span{display:block;height:100%;background:var(--azul);border-radius:5px}
.lista-simple{list-style:none;margin:0;padding:0}
.lista-simple li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--linea2);font-size:13px}
.lista-simple li:last-child{border-bottom:0}
.lista-simple small{color:var(--tenue)}
.vacio{color:var(--tenue);text-align:center;padding:26px 10px;font-size:13.5px}
.vacio b{display:block;color:var(--tinta);font:600 17px var(--serif);margin-bottom:4px}

/* ---------- tablas ---------- */
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.buscar{flex:1;min-width:220px;position:relative}
.buscar input:not([type]){width:100%;padding:9px 12px 9px 34px;border:1px solid var(--linea);border-radius:9px;background:var(--hoja)}
.buscar::before{content:"⌕";position:absolute;left:12px;top:6px;color:var(--tenue);font-size:17px}
select,input:not([type]),input[type=password],input[type=text],input[type=date],input[type=number],textarea{border:1px solid var(--linea);border-radius:8px;background:var(--hoja);padding:8px 10px;min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--azul) 40%,transparent);border-color:var(--azul)}
.tabla-caja{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13.2px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--tenue);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--linea);background:var(--hoja2);position:sticky;top:0;cursor:pointer;user-select:none}
td{padding:10px 12px;border-bottom:1px solid var(--linea2);vertical-align:middle}
tbody tr{cursor:pointer}
tbody tr:hover td{background:var(--hoja2)}
td.num,th.num{text-align:right}
tfoot td{font-weight:700;background:var(--hoja2);border-top:1px solid var(--linea)}
.etq{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;border-radius:20px;padding:2px 9px;white-space:nowrap}
.etq.revisar{background:var(--ambar-suave);color:var(--ambar)}
.etq.ok{background:var(--verde-suave);color:var(--verde)}
.etq.auto{background:var(--azul-suave);color:var(--azul)}
.etq.gris{background:var(--linea2);color:var(--tinta2)}
.etq.rojo{background:var(--rojo-suave);color:var(--rojo)}
.sub{color:var(--tenue);font-size:12px}
.cortar{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.casilla{width:17px;height:17px;accent-color:var(--verde);cursor:pointer}

/* ---------- revisor ---------- */
.revisor{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:18px;height:calc(100vh - 150px);min-height:540px}
.visor{background:#525659;border-radius:var(--radio);overflow:hidden;position:relative;border:1px solid var(--linea)}
.visor iframe,.visor object{width:100%;height:100%;border:0;background:#fff}
.visor .img{height:100%;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:14px}
.visor .img img{max-width:100%;box-shadow:0 4px 30px rgba(0,0,0,.35);background:#fff;cursor:zoom-in}
.visor .img img.zoom{max-width:none;width:180%;cursor:zoom-out}
.visor .sin{color:#e7e7e7;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;text-align:center;padding:30px}
.visor pre{margin:0;height:100%;overflow:auto;background:var(--hoja);color:var(--tinta);padding:18px;font:12px/1.5 var(--mono);white-space:pre-wrap}
.ficha{overflow:auto;padding:0}
.ficha form{padding:16px 18px 6px}
.campo{display:grid;gap:5px;margin-bottom:12px;position:relative}
.campo label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tinta2);display:flex;align-items:center;gap:6px}
.campo input,.campo select,.campo textarea{width:100%}
.campo .importe-in{text-align:right;font-family:var(--mono)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px} .trio{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px}
.conf{width:8px;height:8px;border-radius:50%;display:inline-block}
.conf.alta{background:var(--verde)} .conf.media{background:var(--ambar)} .conf.baja{background:var(--rojo)} .conf.no{background:var(--linea)}
.tipo-sel{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.tipo-sel label{border:1px solid var(--linea);border-radius:9px;padding:9px 12px;cursor:pointer;display:flex;gap:8px;align-items:center;font-weight:600}
.tipo-sel input{accent-color:var(--azul)}
.tipo-sel label:has(input:checked){border-color:var(--azul);background:var(--azul-suave)}
.cuadre{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:9px;padding:10px 12px;font-size:13px;margin:4px 0 12px;border:1px dashed var(--linea)}
.cuadre.ok{background:var(--verde-suave);border-color:transparent;color:var(--verde)}
.cuadre.mal{background:var(--rojo-suave);border-color:transparent;color:var(--rojo)}
.avisos{margin:0 0 12px;padding:0;list-style:none}
.avisos li{background:var(--ambar-suave);color:var(--tinta);border-radius:8px;padding:8px 11px;font-size:12.8px;margin-bottom:6px;border-left:3px solid var(--ambar)}
.pie-ficha{position:sticky;bottom:0;background:var(--hoja);border-top:1px solid var(--linea);padding:12px 18px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pie-ficha .der{margin-left:auto;display:flex;gap:8px}
.lineas-iva{font-size:12.5px;background:var(--hoja2);border-radius:8px;padding:8px 10px;margin:-4px 0 12px}
.detalle-lectura{font-size:12px;color:var(--tenue);padding:0 18px 14px}
.detalle-lectura summary{cursor:pointer}
.detalle-lectura pre{white-space:pre-wrap;max-height:240px;overflow:auto;background:var(--hoja2);padding:10px;border-radius:8px;font:11.5px/1.45 var(--mono);color:var(--tinta2)}
.lista-bandeja{display:grid;gap:8px}
.item-b{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:12px 16px;cursor:pointer}
.item-b:hover{border-color:var(--azul)}
.ico{width:44px;height:52px;border-radius:6px;background:var(--hoja2);border:1px solid var(--linea);display:flex;align-items:center;justify-content:center;font:700 10.5px var(--mono);color:var(--tinta2);text-transform:uppercase}
.ico.pdf{color:#C2412D} .ico.img{color:#2D6BC4} .ico.xls{color:#4E9A2A} .ico.zip{color:#C98A12}
.item-b .t{font-weight:600}
.leyendo{display:inline-block;width:12px;height:12px;border:2px solid var(--azul);border-right-color:transparent;border-radius:50%;animation:gira .8s linear infinite;vertical-align:-2px}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- archivo ---------- */
.archivo{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px}
.carpetas{padding:10px}
.carpetas a{display:flex;justify-content:space-between;padding:7px 10px;border-radius:7px;color:var(--tinta);font-weight:500}
.carpetas a.on{background:var(--azul-suave);color:var(--azul)}
.carpetas a small{color:var(--tenue)}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.doc{padding:13px;cursor:pointer;display:grid;grid-template-rows:auto 1fr auto;gap:8px;min-height:150px}
.doc:hover{border-color:var(--azul)}
.doc .n{font-weight:600;word-break:break-word;font-size:13.3px}
.doc .ext{font-size:12px;color:var(--tenue);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.doc .pie{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--tenue)}
.cajon{position:fixed;inset:0;background:rgba(10,16,30,.45);display:flex;justify-content:flex-end;z-index:40}
.cajon>div{width:min(980px,92vw);height:100%;background:var(--papel);display:grid;grid-template-columns:minmax(0,1fr) 330px;box-shadow:-20px 0 60px rgba(0,0,0,.25)}
.cajon .visor{border-radius:0;border:0}
.cajon .lado{padding:20px;overflow:auto;display:grid;align-content:start;gap:12px}

/* ---------- subidas ---------- */
#soltar{position:fixed;inset:0;z-index:60;background:rgba(12,20,38,.72);display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:7vh 6vw;backdrop-filter:blur(3px)}
#soltar[hidden]{display:none}
#soltar .zona{border:2.5px dashed rgba(255,255,255,.5);border-radius:22px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;transition:all .12s}
#soltar .zona b{font:600 30px var(--serif)} #soltar .zona span{opacity:.75}
#soltar .zona.encima{background:rgba(45,107,196,.35);border-color:#fff;transform:scale(1.015)}
#soltar .zona[data-destino=archivo].encima{background:rgba(78,154,42,.33)}
#bandeja-subidas{position:fixed;right:22px;bottom:22px;width:370px;max-height:50vh;z-index:50;display:flex;flex-direction:column;background:var(--hoja);border:1px solid var(--linea);border-radius:12px;box-shadow:0 14px 50px rgba(10,16,30,.22);overflow:hidden}
#bandeja-subidas[hidden]{display:none}
#bandeja-subidas header{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid var(--linea2)}
#subidas{list-style:none;margin:0;padding:4px 0;overflow:auto}
#subidas li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 14px;font-size:12.8px}
#subidas li .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#subidas li .e{font-size:11.5px;color:var(--tenue)}
#subidas li .e.ok{color:var(--verde)} #subidas li .e.err{color:var(--rojo)}
#subidas li .barra{grid-column:1/-1;height:3px;background:var(--linea2);border-radius:3px;overflow:hidden}
#subidas li .barra span{display:block;height:100%;background:var(--azul);transition:width .15s}
.x{border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--tenue);line-height:1}
#aviso{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--tinta);color:var(--papel);padding:10px 18px;border-radius:10px;z-index:70;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25)}
#aviso.err{background:var(--rojo);color:#fff}
.nota-legal{font-size:12px;color:var(--tenue);margin-top:26px}
.ajustes-form{display:grid;gap:12px;max-width:560px}
.interruptor{display:flex;gap:10px;align-items:flex-start}
.interruptor input{margin-top:3px;accent-color:var(--azul);width:17px;height:17px}
@media (max-width:860px){body{grid-template-columns:1fr}.lateral{position:static;height:auto}.revisor,.archivo{grid-template-columns:1fr;height:auto}.visor{height:60vh}.g3,.g2,.g4{grid-template-columns:1fr}main{padding:20px 16px}}

.visor .texto-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--hoja2);border-bottom:1px solid var(--linea);color:var(--tinta2);font-size:12.5px}
.visor .con-texto{display:grid;grid-template-rows:auto 1fr;height:100%;background:var(--hoja)}
td.nw{white-space:nowrap}
.tarjeta.cuerpo{padding:18px 20px}
.tarjeta.cuerpo h2{margin-bottom:6px}

/* ======================= v3 · iPhone / iPad ======================= */
#tabbar,#hoja{display:none}
#hoja:not([hidden]){display:flex;position:fixed;inset:0;z-index:80;background:rgba(10,16,30,.5);align-items:flex-end;justify-content:center}
.hoja{background:var(--papel);width:min(560px,100%);border-radius:20px 20px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.25);animation:sube .18s ease-out}
@media (min-width:861px){#hoja:not([hidden]){align-items:center}.hoja{border-radius:18px}}
@keyframes sube{from{transform:translateY(40px);opacity:.6}}
.asa{width:40px;height:5px;border-radius:5px;background:var(--linea);margin:0 auto 12px}
.hoja h2{font-size:22px}
.opciones{display:grid;gap:10px;margin:14px 0}
.opciones button{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;align-items:center;background:var(--hoja);border:1px solid var(--linea);border-radius:14px;padding:13px 14px;cursor:pointer}
.opciones button span{grid-row:1/3;font-size:26px;text-align:center}
.opciones button b{font-size:15.5px}
.opciones button small{color:var(--tenue);font-size:12.5px}
.opciones button:active{background:var(--azul-suave)}
.vincular{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.vincular .tarjeta{max-width:440px;width:100%;padding:28px;text-align:center}
.vincular img{width:84px;margin-bottom:8px}
.codigo-in{font:600 32px/1 var(--mono);letter-spacing:.35em;text-align:center;width:100%;padding:14px 8px !important;margin:16px 0 10px}
.codigo-grande{font:700 44px/1 var(--mono);letter-spacing:.18em;color:var(--tinta);margin:6px 0}
.qr{background:#fff;border-radius:14px;padding:8px;display:inline-block;border:1px solid var(--linea)}
.pasos{text-align:left;margin:10px 0 0;padding-left:20px;line-height:1.6}
.pasos li{margin-bottom:6px}
.disp-ok{color:var(--verde);font-weight:700}
body.sin-vincular .lateral, body.sin-vincular #tabbar{display:none !important}
body.sin-vincular{display:block}
body.sin-vincular main{padding:0}

@media (max-width:860px){
  body{display:block;padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .lateral{display:none}
  main{padding:calc(14px + env(safe-area-inset-top)) 14px 24px}
  h1{font-size:25px}
  .cabecera{margin-bottom:14px}
  .cabecera .acciones .btn.primario[data-accion="subir-fac"],.cabecera [data-accion="subir-doc"]{display:none}
  #tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--lateral);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px rgba(0,0,0,.18)}
  #tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--lateral-texto);font-size:11px;padding:4px 0;position:relative}
  #tabbar a i{font-style:normal;font-size:19px;line-height:1.2}
  #tabbar a.activo{color:#fff;background:transparent;box-shadow:none}
  #tabbar a:hover{background:transparent}
  #tabbar a.activo i{color:#7FB0F5}
  #tabbar em{position:absolute;top:0;right:22%;background:var(--ambar);color:#1b1300;border-radius:10px;font:700 10px/1 var(--sans);padding:3px 6px;font-style:normal}
  #tabbar em:empty{display:none}
  #btn-mas{border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
  #btn-mas b{width:54px;height:54px;border-radius:50%;background:var(--azul);color:#fff;font-size:30px;line-height:52px;margin-top:-22px;box-shadow:0 6px 18px rgba(45,107,196,.5);border:3px solid var(--lateral)}
  .g4{grid-template-columns:1fr 1fr;gap:10px}
  .kpi{padding:12px 13px}.kpi .val{font-size:21px}.kpi .det{font-size:11.5px}
  .grafico svg{height:180px}
  .filtros{gap:8px}.chips{overflow-x:auto;max-width:100%}.chips button{white-space:nowrap}
  .buscar{min-width:100%}
  #tabla-f th:nth-child(2),#tabla-f td:nth-child(2),#tabla-f th:nth-child(4),#tabla-f td:nth-child(4),#tabla-f th:nth-child(5),#tabla-f td:nth-child(5),#tabla-f th:nth-child(6),#tabla-f td:nth-child(6),#tabla-f th:nth-child(8),#tabla-f td:nth-child(8){display:none}
  #tabla-f td:first-child{font-size:12px}
  #tabla-f tfoot td:nth-child(2),#tabla-f tfoot td:nth-child(3),#tabla-f tfoot td:nth-child(5){display:none}
  td,th{padding:9px 8px}
  .cortar{max-width:40vw}
  .revisor{display:block;height:auto}
  .revisor .visor{height:52vh;margin-bottom:12px}
  .pie-ficha{bottom:calc(70px + env(safe-area-inset-bottom))}
  .archivo{display:block}.carpetas{display:flex;overflow-x:auto;gap:4px;margin-bottom:10px;padding:6px}
  .carpetas a{white-space:nowrap}
  .docs{grid-template-columns:1fr 1fr;gap:8px}
  .doc{min-height:120px;padding:10px}
  .cajon>div{grid-template-columns:1fr;width:100%;overflow:auto}
  .cajon .visor{height:55vh}
  #bandeja-subidas{left:10px;right:10px;width:auto;bottom:calc(80px + env(safe-area-inset-bottom))}
  #aviso{bottom:calc(90px + env(safe-area-inset-bottom));max-width:90vw}
  .item-b{grid-template-columns:36px 1fr auto;gap:10px;padding:10px 12px}
  .ico{width:36px;height:44px}
  input,select,textarea{font-size:16px}  /* evita el zoom automático del iPhone */
  .duo,.trio{gap:8px}
}
@media (display-mode: standalone){ .solo-navegador{display:none} }
.menu-movil a{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--linea2);color:var(--tinta);font-weight:600}
.menu-movil a:last-child{border-bottom:0}
