/* ============ temas ============ */
/* Personal: atardecer naranja/melocotón (claro) */
:root, body[data-espacio="personal"]{
  --fondo:#fbf6f2; --superficie:#ffffff; --fila:#f7f1ec; --borde:#efe5dd;
  --texto:#1d1410; --suave:#6e5f56; --tenue:#a8988d;
  --acento:#ff7a2f; --acento-2:#ffb072; --acento-txt:#fff; --acento-suave:#ffe8d8;
  --verde:#14915f; --verde-bg:#e3f6ec; --rojo:#e0413a; --rojo-bg:#fde9e7;
  --cielo-1:#ffcfa8; --cielo-2:#ffdcc0; --cielo-3:#fff0e4;
  --sol:#fff3c9; --c1a:#ffb98d; --c1b:#ffd2b0; --c2a:#ff9f6b; --c2b:#ffc49d; --c3a:#ffb489; --c3b:#fbf6f2;
  --pastilla:rgba(255,255,255,.62); --pastilla-borde:rgba(255,255,255,.85);
  --nav:#141010; --nav-icono:#bfb3ab; --sombra:0 1px 2px rgba(80,40,20,.05),0 10px 30px rgba(120,60,20,.07);
  --fuente-titulo:"Plus Jakarta Sans",sans-serif;
  color-scheme:light;
}
/* Worzero: negro + menta #82e5c0 con brillos de cristal (manual de marca) */
body[data-espacio="worzero"]{
  --fondo:#000; --superficie:rgba(255,255,255,.045); --fila:rgba(255,255,255,.05); --borde:rgba(130,229,192,.16);
  --texto:#ffffff; --suave:#b9c7c1; --tenue:#6f7d78;
  --acento:#82e5c0; --acento-2:#5fd0a9; --acento-txt:#04140e; --acento-suave:rgba(130,229,192,.14);
  --verde:#82e5c0; --verde-bg:rgba(130,229,192,.14); --rojo:#ff7b8a; --rojo-bg:rgba(255,123,138,.13);
  --cielo-1:#03140f; --cielo-2:#020a08; --cielo-3:#000;
  --sol:rgba(130,229,192,.18); --c1a:rgba(130,229,192,.22); --c1b:rgba(130,229,192,.02); --c2a:rgba(140,110,255,.2); --c2b:rgba(0,0,0,0); --c3a:#06110d; --c3b:#000;
  --pastilla:rgba(255,255,255,.06); --pastilla-borde:rgba(130,229,192,.28);
  --nav:#0d1512; --nav-icono:#7f908a; --sombra:none;
  --fuente-titulo:"Comfortaa","Plus Jakarta Sans",sans-serif;
  color-scheme:dark;
}

/* ============ base ============ */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;background:var(--fondo)}
body{margin:0;background:var(--fondo);color:var(--texto);font:15px/1.45 "Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;transition:background .35s,color .35s}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg .lleno{fill:currentColor;stroke:none}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.verde{color:var(--verde)} .rojo{color:var(--rojo)} .tenue{color:var(--tenue)} .suave{color:var(--suave)}
.error{color:var(--rojo);min-height:1.2em;margin:0}
.btn{border:1px solid var(--borde);background:var(--superficie);border-radius:14px;padding:12px 16px;font-weight:600;white-space:nowrap}
.btn.primario{background:var(--acento);color:var(--acento-txt);border-color:var(--acento)}
.btn.peligro{color:var(--rojo)}
.btn.mini{padding:6px 10px;font-size:13px;border-radius:10px}
input,select{border:1px solid var(--borde);background:var(--superficie);border-radius:14px;padding:12px;min-width:0;font-size:16px;width:100%}
input:focus,select:focus{outline:2px solid color-mix(in srgb,var(--acento) 50%,transparent);outline-offset:0}

/* login */
.login{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(180deg,#ffcfa8 0%,#ffdcc0 45%,#fff0e4 100%);color:#1d1410}
.login-caja{width:100%;max-width:360px;padding:34px 26px;display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center;
  background:rgba(255,255,255,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 20px 50px rgba(120,60,20,.14)}
.login-logo{border-radius:18px;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.login-caja h1{margin:8px 0 0;font-size:26px;letter-spacing:-.03em}
.login-caja>p{margin:0 0 14px;color:#6e5f56}
.login-caja form{display:grid;gap:10px;width:100%}
.login-caja .btn.primario{background:#ff7a2f;border-color:#ff7a2f;color:#fff}
.boton-google{display:flex;justify-content:center;min-height:44px}
.letra-pequena{font-size:12px;color:#a8988d;margin:12px 0 0}
#conGoogle{width:100%}

/* ============ estructura ============ */
.app{max-width:520px;margin:0 auto;min-height:100dvh;position:relative;padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.pantalla{display:none;animation:entra .3s ease}
body[data-pantalla="inicio"] #p-inicio, body[data-pantalla="analisis"] #p-analisis,
body[data-pantalla="historial"] #p-historial, body[data-pantalla="movimientos"] #p-movimientos{display:block}
@keyframes entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cuerpo{padding:0 18px}
.cab-pantalla{padding:calc(env(safe-area-inset-top) + 22px) 20px 14px;display:flex;align-items:baseline;justify-content:space-between}
.cab-pantalla h1{margin:0;font-size:28px;letter-spacing:-.03em;font-family:var(--fuente-titulo)}
.sub-esp{font-weight:700;color:var(--acento);font-size:14px}
body[data-espacio="personal"] .sub-esp{color:#d85f1c}

/* ============ héroe de inicio ============ */
.heroe{position:relative;overflow:hidden;padding:calc(env(safe-area-inset-top) + 18px) 18px 22px;
  background:linear-gradient(180deg,var(--cielo-1) 0%,var(--cielo-2) 50%,var(--cielo-3) 100%);border-radius:0 0 34px 34px}
.paisaje{position:absolute;inset:auto 0 0 0;width:100%;height:62%;pointer-events:none}
.paisaje *{stroke:none}
.paisaje .sol{fill:var(--sol)}
.paisaje .cA{fill:url(#cerroA)} .paisaje .cB{fill:url(#cerroB)} .paisaje .cC{fill:url(#cerroC)}
.paisaje .c1a{stop-color:var(--c1a)} .paisaje .c1b{stop-color:var(--c1b)}
.paisaje .c2a{stop-color:var(--c2a)} .paisaje .c2b{stop-color:var(--c2b)}
.paisaje .c3a{stop-color:var(--c3a)} .paisaje .c3b{stop-color:var(--c3b)}
.brillo{position:absolute;inset:0;pointer-events:none}
body[data-espacio="worzero"] .brillo{background:radial-gradient(60% 45% at 20% 0%,rgba(130,229,192,.22),transparent 70%),radial-gradient(50% 40% at 100% 30%,rgba(150,110,255,.16),transparent 70%)}
body[data-espacio="worzero"] .heroe{border-bottom:1px solid rgba(130,229,192,.18)}
.heroe>*:not(.paisaje):not(.brillo){position:relative}

.saludo{display:flex;align-items:center;gap:12px}
.avatar-esp{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;box-shadow:0 4px 14px rgba(120,60,20,.15);overflow:hidden}
.avatar-esp svg{width:26px;height:26px;color:var(--acento)}
body[data-espacio="worzero"] .avatar-esp{background:#000;border:1px solid rgba(130,229,192,.4);box-shadow:0 0 22px rgba(130,229,192,.25)}
.avatar-esp img{width:40px;height:40px;object-fit:contain}
.quien{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.quien small{color:var(--suave);font-size:14px;font-weight:500}
.quien b{font-size:23px;letter-spacing:-.02em;font-family:var(--fuente-titulo);font-weight:700}
body[data-espacio="worzero"] .quien b{color:var(--acento);letter-spacing:.02em}
.botones-redondos{display:flex;gap:10px}
.redondo{width:48px;height:48px;border-radius:50%;border:1px solid var(--pastilla-borde);background:var(--pastilla);display:grid;place-items:center;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--texto)}
.redondo.on{background:var(--texto);color:var(--fondo)}
.redondo.chico{width:38px;height:38px;background:var(--superficie);border-color:var(--borde)}
.redondo.chico svg{width:18px;height:18px}
.redondo:disabled{opacity:.3}

.total{text-align:center;margin-top:26px}
.etiqueta-total{border:0;background:none;color:var(--suave);font-size:15px;font-weight:500;padding:4px 8px}
.etiqueta-total b{color:var(--texto);font-weight:700}
.cifra-total{font-size:46px;font-weight:800;letter-spacing:-.04em;line-height:1.05;margin:4px 0 8px}
.tendencia-txt{font-size:14px;font-weight:600;color:var(--suave);display:flex;align-items:center;justify-content:center;gap:6px;min-height:20px}
.tendencia-txt svg{width:17px;height:17px}

.pastillas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.pastilla{display:flex;align-items:center;gap:8px;padding:10px;border-radius:18px;background:var(--pastilla);border:1px solid var(--pastilla-borde);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-width:0}
.pastilla>div{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.pastilla small{font-size:12px;color:var(--suave);font-weight:500}
.pastilla b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pico{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--superficie)}
body[data-espacio="personal"] .pico{background:#fff}
.pico svg{width:16px;height:16px}
.pico.verde{color:var(--verde)} .pico.rojo{color:var(--rojo)} .pico.acento{color:var(--acento)}
body[data-espacio="personal"] .pico.acento{color:#e8681f}
.mes-nota{text-align:center;font-size:12px;color:var(--suave);margin-top:22px;font-weight:600;letter-spacing:.02em}

/* ============ cuerpo ============ */
#avisos{display:flex;flex-direction:column;gap:8px;margin-top:14px}
#avisos:empty{display:none}
.aviso{padding:11px 14px;border-radius:14px;background:var(--rojo-bg);color:var(--rojo);font-size:13px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.aviso.info{background:var(--fila);color:var(--suave)}

.tarjeta-resumen{position:relative;width:100%;margin-top:16px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:24px;padding:18px 18px;overflow:hidden;
  border:1px solid var(--pastilla-borde);color:var(--texto);box-shadow:var(--sombra)}
body[data-espacio="personal"] .tarjeta-resumen{background:linear-gradient(110deg,#fff3ea 0%,#ffe1cc 55%,#ffd0b0 100%)}
body[data-espacio="worzero"] .tarjeta-resumen{background:linear-gradient(110deg,rgba(130,229,192,.10),rgba(150,110,255,.12));border-color:rgba(130,229,192,.3)}
.res-txt{flex:1;min-width:0}
.res-txt b{font-size:17px;letter-spacing:-.01em;display:block;margin-bottom:4px;font-family:var(--fuente-titulo)}
.res-txt p{margin:0;font-size:14px;color:var(--suave);line-height:1.45}
.res-txt p strong{color:var(--texto)}
.orbe{width:74px;height:74px;flex:none;border-radius:50%}
body[data-espacio="personal"] .orbe{background:radial-gradient(circle at 32% 28%,#fff 0 8%,#ffd2a8 22%,#ff9a52 55%,#ff6a2a 80%);
  box-shadow:0 10px 26px rgba(255,110,40,.35),inset -6px -8px 16px rgba(200,60,10,.35);animation:flota 5s ease-in-out infinite}
body[data-espacio="worzero"] .orbe{background:url(/worzero-w.png) center/contain no-repeat;filter:drop-shadow(0 0 16px rgba(130,229,192,.45));border-radius:0;animation:flota 5s ease-in-out infinite}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

.cab{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 12px}
.cab h2{margin:0;font-size:20px;letter-spacing:-.02em;font-family:var(--fuente-titulo)}
.enlace{border:0;background:none;color:var(--suave);font-weight:600;font-size:15px;padding:4px}

.lista-tarjetas{display:flex;flex-direction:column;gap:10px}
.mov{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid transparent;background:var(--fila);width:100%;text-align:left;border-radius:22px;transition:transform .12s}
body[data-espacio="worzero"] .mov{border-color:var(--borde)}
.mov:active{transform:scale(.985)}
.mov.neutra{opacity:.5}
.ico-cat{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--superficie);color:var(--texto)}
body[data-espacio="personal"] .ico-cat{background:#fff}
.ico-cat svg{width:21px;height:21px}
.mov .txt{flex:1;min-width:0}
.mov .emp{font-weight:700;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;letter-spacing:-.01em}
.mov .sub{font-size:13px;color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin-top:1px}
.mov .imp{text-align:right;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.mov .imp b{font-size:16px;font-weight:700}
.insignia{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--superficie)}
body[data-espacio="personal"] .insignia{background:#fff}
.insignia.gasto{color:var(--rojo)} .insignia.ingreso{color:var(--verde)} .insignia.neutra{color:var(--tenue)}
.vacio{color:var(--tenue);padding:28px 0;text-align:center}

/* ============ pantallas interiores ============ */
.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:24px;padding:16px;margin-bottom:12px;box-shadow:var(--sombra)}
.cab-tarjeta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.cab-tarjeta h3{margin:0;font-size:16px}
.selector-mes{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 14px}
.selector-mes b{min-width:150px;text-align:center;font-size:16px}
.segmentado{display:inline-flex;background:var(--fila);border-radius:12px;padding:3px}
.segmentado button{border:0;background:none;border-radius:9px;padding:6px 11px;font-weight:600;font-size:13px;color:var(--suave)}
.segmentado button.on{background:var(--acento);color:var(--acento-txt)}
.segmentado.ancho{display:flex}.segmentado.ancho button{flex:1;padding:10px;font-size:15px}
.pestanas{display:flex;gap:16px}
.pestanas button{border:0;background:none;padding:4px 0;font-weight:700;font-size:16px;color:var(--tenue);border-bottom:2px solid transparent}
.pestanas button.on{color:var(--texto);border-bottom-color:var(--acento)}
.resumen-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}
.resumen-mini small{display:block;font-size:12px;color:var(--suave);font-weight:500}
.resumen-mini b{font-size:16px;font-weight:700}

.fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:10px 4px;border-radius:12px;align-items:center;border:0;background:none;width:100%;text-align:left}
.fila:active,.fila.on{background:var(--fila)}
.fila .nombre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:10px;font-weight:600}
.fila .nombre .ico-cat{width:34px;height:34px}
.fila .nombre .ico-cat svg{width:17px;height:17px}
.fila .cifra{font-weight:700}
.fila .pct{color:var(--tenue);font-size:12px;font-weight:500;margin-left:5px}
.fila .barra{grid-column:1/-1;height:7px;background:var(--fila);border-radius:9px;overflow:hidden}
.fila .barra i{display:block;height:100%;border-radius:9px}
.ver-mas{border:0;background:none;color:var(--suave);font-weight:700;font-size:14px;padding:10px 4px 2px}

/* historial */
.tres-datos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.dato{background:var(--superficie);border:1px solid var(--borde);border-radius:20px;padding:12px;box-shadow:var(--sombra);min-width:0}
.dato small{display:block;font-size:12px;color:var(--suave);font-weight:500}
.dato b{display:block;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.dato span{display:block;font-size:12px;color:var(--tenue);margin-top:1px}
.grafico{position:relative;height:190px;display:flex;align-items:stretch;gap:5px}
.grafico .col{flex:1;display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;min-width:0}
.grafico .zona{flex:1;width:100%;position:relative}
.grafico .zona i{position:absolute;left:18%;right:18%;border-radius:6px}
.grafico .zona .cero{position:absolute;left:-3px;right:-3px;height:1px;background:var(--borde)}
.grafico .col span{font-size:11px;color:var(--tenue);margin-top:6px}
.grafico .col.on span{color:var(--texto);font-weight:800}
.mes-hist{display:block;width:100%;text-align:left;border:1px solid transparent;background:var(--fila);border-radius:22px;padding:14px 16px}
body[data-espacio="worzero"] .mes-hist{border-color:var(--borde)}
.mes-hist .l1{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.mes-hist .l1 b{font-size:16px}
.mes-hist .l1 .num{font-size:18px;font-weight:800}
.mes-hist .l2{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--suave);margin-top:4px}
.delta{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:13px}
.delta svg{width:15px;height:15px}
.en-curso{font-size:11px;font-weight:700;color:var(--acento);margin-left:6px}
body[data-espacio="personal"] .en-curso{color:#d85f1c}

/* movimientos */
.buscador{display:flex;align-items:center;gap:8px;background:var(--fila);border-radius:16px;padding:0 14px;margin-bottom:10px;border:1px solid var(--borde)}
.buscador svg{color:var(--tenue);width:18px;height:18px}
.buscador input{border:0;background:transparent;padding:12px 0}
.buscador input:focus{outline:0}
.filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.filtros:empty{display:none}
.filtro-activo{display:inline-flex;align-items:center;gap:4px;background:var(--acento);color:var(--acento-txt);border-radius:999px;padding:6px 8px 6px 13px;font-size:13px;font-weight:700;border:0}
.filtro-activo svg{width:16px;height:16px}
.total-lista{font-size:13px;color:var(--suave);margin:2px 4px 0}
.dia{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--tenue);text-transform:uppercase;letter-spacing:.05em;padding:16px 6px 8px}
#movs .mov{margin-bottom:8px}

/* ============ barra inferior ============ */
.barra-inf{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));width:min(520px,100%);padding:0 16px;display:flex;align-items:center;gap:10px;z-index:30}
.pildora{flex:1;display:flex;justify-content:space-between;background:var(--nav);border-radius:999px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.28)}
body[data-espacio="worzero"] .pildora{border:1px solid rgba(130,229,192,.22)}
.pildora button{width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.07);color:var(--nav-icono);display:grid;place-items:center;transition:background .2s,color .2s}
.pildora button svg{width:21px;height:21px}
.pildora button.on{background:var(--acento);color:var(--acento-txt)}
body[data-espacio="personal"] .pildora button.on{background:linear-gradient(135deg,#ff9a4d,#ff6a24);color:#fff}
.cambio{width:64px;height:64px;border-radius:50%;flex:none;border:2px solid var(--texto);background:var(--superficie);color:var(--texto);display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.18)}
body[data-espacio="personal"] .cambio{background:#fff;border-color:#141010}
body[data-espacio="worzero"] .cambio{background:#000;border-color:var(--acento);color:var(--acento);box-shadow:0 0 24px rgba(130,229,192,.3)}
.cambio svg{width:24px;height:24px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.cambio.gira svg{transform:rotate(180deg)}

/* ============ hojas ============ */
dialog.hoja{border:0;padding:8px 18px calc(18px + env(safe-area-inset-bottom));background:var(--fondo);color:var(--texto);
  width:100%;max-width:520px;margin:auto auto 0;border-radius:28px 28px 0 0;max-height:88dvh;overflow:auto}
body[data-espacio="worzero"] dialog.hoja{background:#070b0a;border-top:1px solid var(--borde)}
dialog.hoja[open]{animation:sube .25s cubic-bezier(.2,.8,.2,1)}
dialog::backdrop{background:rgba(10,5,2,.45)}
@keyframes sube{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.asa{width:40px;height:5px;border-radius:9px;background:var(--borde);margin:4px auto 14px}
dialog h3{margin:0 0 14px;font-size:19px}
.opcion{display:flex;align-items:center;gap:14px;width:100%;padding:15px 8px;border:0;background:none;font-size:16px;font-weight:600;color:var(--texto);text-decoration:none;border-radius:14px;cursor:pointer}
.opcion:active{background:var(--fila)}
.opcion svg{color:var(--suave)}
.opcion .cuenta-pend{margin-left:auto;background:var(--rojo);color:#fff;border-radius:999px;font-size:12px;padding:1px 8px}
.pie-hoja{font-size:12px;margin:10px 8px 0;color:var(--tenue)}
.form{display:grid;gap:12px}
.form .dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form label{display:grid;gap:5px;font-size:13px;color:var(--suave);font-weight:600}
.botones{display:flex;gap:10px;margin-top:14px}
.botones .btn{flex:1}
.pend{border:1px solid var(--borde);border-radius:18px;padding:12px;margin-bottom:10px;background:var(--superficie)}
.pend pre{white-space:pre-wrap;font:12px/1.4 ui-monospace,monospace;color:var(--suave);max-height:120px;overflow:auto;margin:6px 0}
.det-cab{text-align:center;padding:4px 0 14px}
.det-cab .ico-cat{width:62px;height:62px;margin:0 auto 10px}
.det-cab .ico-cat svg{width:28px;height:28px}
.det-cab .emp{font-weight:700;font-size:18px}
.det-cab .cifra{font-size:36px;font-weight:800;letter-spacing:-.03em;margin-top:6px}
.det-lista{background:var(--superficie);border:1px solid var(--borde);border-radius:18px;padding:0 14px;margin:4px 0 14px}
.det-lista div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--borde);font-size:14px}
.det-lista div:last-child{border-bottom:0}
.det-lista span{color:var(--suave)}
.det-lista b{font-weight:600;text-align:right;overflow-wrap:anywhere}
.det-titulo{font-size:13px;font-weight:700;color:var(--suave);margin:4px 2px 8px}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cat-op{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--borde);background:var(--superficie);border-radius:14px;font-size:14px;font-weight:600;text-align:left}
.cat-op svg{width:17px;height:17px}
.cat-op.on{border-color:var(--acento);box-shadow:inset 0 0 0 1px var(--acento)}
.cat-op.auto{grid-column:1/-1;justify-content:center;color:var(--suave)}

.toast{position:fixed;left:50%;bottom:calc(98px + env(safe-area-inset-bottom));transform:translate(-50%,16px);background:var(--nav);color:#fff;
  padding:12px 18px;border-radius:16px;font-weight:600;font-size:14px;opacity:0;pointer-events:none;transition:all .25s;z-index:50;max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.cargando .cuerpo,.cargando .total{opacity:.6;transition:opacity .2s}
.directo{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tenue);margin-left:6px;vertical-align:middle}
.directo.on{background:var(--verde)}

@media (max-width:370px){
  .cifra-total{font-size:38px}
  .pastilla{flex-direction:column;align-items:flex-start;gap:6px}
  .pildora button{width:44px;height:44px}.cambio{width:56px;height:56px}
}
@media (min-width:600px){ body{background:var(--fondo)} .app{border-left:1px solid var(--borde);border-right:1px solid var(--borde)} }

/* ============ comportamiento de app (PWA) ============ */
/* sin zoom con doble toque ni pellizco, sin rebote que deje ver el fondo, sin menús de mantener pulsado */
html,body{touch-action:pan-x pan-y;overscroll-behavior:none;height:auto}
html{touch-action:manipulation}
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,pre,.det-lista b{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;pointer-events:none}
dialog.hoja{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
body.hoja-abierta{overflow:hidden}
/* el fondo detrás de la barra de estado: el color de arriba del héroe */
html{background:var(--cielo-1)}
body[data-pantalla]:not([data-pantalla="inicio"]){background:var(--fondo)}
.cab-pantalla{position:sticky;top:0;z-index:5;background:var(--fondo)}
body[data-espacio="worzero"] .cab-pantalla{background:#000}

/* tirar hacia abajo para actualizar */
.tirador{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 8px);width:40px;height:40px;margin-left:-20px;border-radius:50%;
  background:var(--nav);color:#fff;display:grid;place-items:center;z-index:40;opacity:0;transform:translateY(-60px);pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.2)}
body[data-espacio="worzero"] .tirador{color:var(--acento);border:1px solid var(--borde)}
.tirador svg{width:20px;height:20px}
.tirador.listo svg{color:var(--acento)}
.tirador.girando svg{animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* instalada como app: un poco más de aire arriba (la hora y la batería van encima) */
@media (display-mode:standalone){
  .heroe{padding-top:calc(env(safe-area-inset-top) + 12px)}
}

/* desglose del balance total (Mercury · Meru) */
.desglose-saldo{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:-2px 0 10px}
.desglose-saldo:empty{display:none}
.desglose-saldo button,.desglose-saldo span.trozo{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--pastilla-borde);background:var(--pastilla);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--texto)}
.desglose-saldo small{color:var(--suave);font-weight:500;font-size:13px}
.desglose-saldo .aprox{color:var(--suave);font-weight:700}
.desglose-saldo svg{width:13px;height:13px;color:var(--suave)}
.nota-hoja{margin:-6px 0 14px;font-size:14px;color:var(--suave);line-height:1.5}

/* multiusuario */
.avatar-esp img.foto{width:100%;height:100%;object-fit:cover;border-radius:50%}
.cuenta-usuario{display:flex;align-items:center;gap:12px;padding:6px 8px 14px;border-bottom:1px solid var(--borde);margin-bottom:6px}
.cuenta-usuario img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.cuenta-usuario span{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.cuenta-usuario small{color:var(--suave);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.aviso.bienvenida{flex-direction:column;align-items:flex-start;gap:4px;padding:16px;font-size:14px;line-height:1.45;background:var(--superficie);border:1px solid var(--borde)}
.aviso.bienvenida b{font-size:17px;color:var(--texto)}
.cambio[hidden]{display:none}
.tarjeta-resumen[hidden]{display:none}
