@font-face{font-family:"Inter";src:url("/inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  --bg:#f7f8fa;--panel:#fff;--borde:#eaecf0;--borde-2:#d0d5dd;
  --txt:#101828;--txt-2:#344054;--flojo:#667085;--suave:#98a2b3;
  --pri:#4f46e5;--pri-h:#4338ca;--pri-s:#eef2ff;--pri-b:#c7d2fe;
  --ok:#067647;--ok-s:#ecfdf3;--ok-b:#abefc6;
  --mal:#b42318;--mal-s:#fef3f2;--mal-b:#fecdca;
  --duda:#b54708;--duda-s:#fffaeb;--duda-b:#fedf89;
  --r:12px;--r-s:8px;
  --sombra-xs:0 1px 2px rgba(16,24,40,.05);
  --sombra-s:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);
  --sombra-m:0 12px 16px -4px rgba(16,24,40,.08),0 4px 6px -2px rgba(16,24,40,.03);
  --foco:0 0 0 4px rgba(79,70,229,.14);
  --pri-btn:#4f46e5;--pri-btn-h:#4338ca;
  --gris-1:#f2f4f7;--cab-tabla:#f9fafb;--hover:#fcfcfd;--barra-bg:rgba(255,255,255,.85);
  --recibo-a:#fafaff;--recibo-b:#f5f6ff;--halo:#e0e7ff;--alerta-txt:#7a271a;--mensaje-txt:#312e81;
  --anillo-ok:#f6fef9;--anillo-mal:#fffbfa;--anillo-duda:#fffcf5;--cuadro-a:#f9fafb;--cuadro-b:#fff;--marca-a:#6366f1;--marca-b:#4338ca;
  color-scheme:light}
/* modo oscuro: elegido, o «Sistema» con el dispositivo en oscuro */
:root[data-tema="oscuro"]{
  --bg:#0c0e12;--panel:#13161b;--borde:#22262f;--borde-2:#333a47;
  --txt:#f5f5f6;--txt-2:#cecfd2;--flojo:#94969c;--suave:#6b6f78;
  --pri:#8b8ff8;--pri-h:#a5a8fb;--pri-s:rgba(99,102,241,.16);--pri-b:rgba(129,140,248,.35);
  --pri-btn:#5b5bf0;--pri-btn-h:#4f46e5;
  --ok:#47cd89;--ok-s:rgba(23,178,106,.12);--ok-b:rgba(71,205,137,.3);
  --mal:#f97066;--mal-s:rgba(240,68,56,.12);--mal-b:rgba(249,112,102,.3);
  --duda:#fdb022;--duda-s:rgba(247,144,9,.12);--duda-b:rgba(253,176,34,.3);
  --sombra-xs:0 1px 2px rgba(0,0,0,.35);--sombra-s:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--sombra-m:0 12px 24px -4px rgba(0,0,0,.5);
  --foco:0 0 0 4px rgba(99,102,241,.35);
  --gris-1:#1f242f;--cab-tabla:#161a20;--hover:#171b21;--barra-bg:rgba(19,22,27,.85);
  --recibo-a:#181b30;--recibo-b:#15182a;--halo:rgba(79,70,229,.28);--alerta-txt:#fda29b;--mensaje-txt:#c7d2fe;
  --anillo-ok:rgba(23,178,106,.07);--anillo-mal:rgba(240,68,56,.07);--anillo-duda:rgba(247,144,9,.07);--cuadro-a:#1a1d23;--cuadro-b:#13161b;--marca-a:#818cf8;--marca-b:#4f46e5;
  color-scheme:dark}
@media (prefers-color-scheme:dark){:root[data-tema="auto"]{
  --bg:#0c0e12;--panel:#13161b;--borde:#22262f;--borde-2:#333a47;
  --txt:#f5f5f6;--txt-2:#cecfd2;--flojo:#94969c;--suave:#6b6f78;
  --pri:#8b8ff8;--pri-h:#a5a8fb;--pri-s:rgba(99,102,241,.16);--pri-b:rgba(129,140,248,.35);
  --pri-btn:#5b5bf0;--pri-btn-h:#4f46e5;
  --ok:#47cd89;--ok-s:rgba(23,178,106,.12);--ok-b:rgba(71,205,137,.3);
  --mal:#f97066;--mal-s:rgba(240,68,56,.12);--mal-b:rgba(249,112,102,.3);
  --duda:#fdb022;--duda-s:rgba(247,144,9,.12);--duda-b:rgba(253,176,34,.3);
  --sombra-xs:0 1px 2px rgba(0,0,0,.35);--sombra-s:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--sombra-m:0 12px 24px -4px rgba(0,0,0,.5);
  --foco:0 0 0 4px rgba(99,102,241,.35);
  --gris-1:#1f242f;--cab-tabla:#161a20;--hover:#171b21;--barra-bg:rgba(19,22,27,.85);
  --recibo-a:#181b30;--recibo-b:#15182a;--halo:rgba(79,70,229,.28);--alerta-txt:#fda29b;--mensaje-txt:#c7d2fe;
  --anillo-ok:rgba(23,178,106,.07);--anillo-mal:rgba(240,68,56,.07);--anillo-duda:rgba(247,144,9,.07);--cuadro-a:#1a1d23;--cuadro-b:#13161b;--marca-a:#818cf8;--marca-b:#4f46e5;
  color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.55 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
a{color:var(--pri);text-decoration:none}a:hover{color:var(--pri-h)}
svg.i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.num,.cifra,.kpi b{font-variant-numeric:tabular-nums}

/* ═════ estructura ═════ */
.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.lateral{background:var(--panel);border-right:1px solid var(--borde);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.lat-cab{padding:22px 20px 18px}
.marca{font-size:19px;font-weight:700;letter-spacing:-.03em;display:flex;align-items:center;gap:9px}
.marca::before{content:"";width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--marca-a),var(--marca-b));box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.marca b{color:var(--pri);font-weight:700}
.con-logo{display:flex;flex-direction:column;gap:10px}
.logo{display:block;max-width:100%;height:52px;width:auto;object-fit:contain;object-position:left center}
.marca.peq{font-size:11px;font-weight:600;color:var(--suave);letter-spacing:.04em;text-transform:uppercase}
.marca.peq::before{width:12px;height:12px;border-radius:4px}.marca.peq b{color:var(--suave)}

.selector-term{margin:0 14px 8px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--borde);border-radius:10px;background:var(--panel);box-shadow:var(--sombra-xs)}
.avatar{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:14px;color:var(--pri);background:var(--pri-s);border:1px solid var(--pri-b)}
.avatar.gris{color:var(--flojo);background:var(--bg);border-color:var(--borde)}
.selector-term>div{min-width:0;flex:1}
.selector-term small{display:block;font-size:11px;font-weight:500;color:var(--flojo);line-height:1.2}
.selector-term b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.selector-term form{margin:0}
.selector-term select{margin:0;padding:0 18px 0 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23667085' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center;font-weight:600;font-size:13.5px;height:auto;box-shadow:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.selector-term select:focus{box-shadow:none;outline:0}

.menu{padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.menu-tit{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);padding:14px 10px 6px}
.menu a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--r-s);color:var(--txt-2);font-weight:500;transition:background .12s,color .12s}
.menu a svg.i{color:var(--suave)}
.menu a:hover{background:var(--bg);color:var(--txt)}
.menu a.activo{background:var(--pri-s);color:var(--pri)}
.menu a.activo svg.i{color:var(--pri)}
.lat-pie{margin-top:auto;padding:14px;border-top:1px solid var(--borde)}
.lat-pie form{margin:0}
.salir-form button:hover{background:var(--bg);border-color:transparent;color:var(--mal)}
.salir-form button svg.i{color:var(--suave)}

main{min-width:0;display:flex;flex-direction:column}
.barra{height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 32px;background:var(--barra-bg);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:5}
.miga{display:flex;align-items:center;gap:8px;color:var(--flojo);font-size:13.5px}
.miga b{color:var(--txt);font-weight:600}
.miga svg.i{width:14px;height:14px;color:var(--suave)}
.barra-der{display:flex;align-items:center;gap:10px}
.icono-boton{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-s);color:var(--flojo);border:1px solid var(--borde);background:var(--panel)}
.icono-boton:hover{color:var(--txt);background:var(--bg)}
.contenido{width:100%;max-width:1120px;margin:0 auto;padding:32px 32px 72px}

@media (max-width:960px){
  .app{grid-template-columns:minmax(0,1fr)}
  .lateral{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--borde);overflow:visible}
  .lat-cab{padding:14px 16px}
  .selector-term{margin:0 16px 10px;width:calc(100% - 32px)}
  .menu{order:3;width:100%;flex-direction:row;overflow-x:auto;padding:0 12px 10px;gap:4px}
  .menu-tit{display:none}
  .menu a{white-space:nowrap;padding:7px 10px}
  .lat-pie{order:4;width:100%;display:flex;align-items:center;gap:10px;padding:8px 16px;margin:0}
  .lat-pie .tema{margin:0;flex:1}
  .lat-pie .salir-form button{width:auto}
  .yo{margin:0}.yo small{display:none}
  .barra{display:none}
  .contenido{padding:22px 16px 56px}
}

/* ═════ pantalla de entrada ═════ */
.entrada{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(1200px 600px at 50% -10%,var(--halo) 0%,transparent 60%),var(--bg)}
.entrada-caja{width:100%;max-width:400px}
.entrada .lat-cab{padding:0 0 22px;display:flex;justify-content:center}
.entrada .con-logo{align-items:center}.entrada .logo{height:64px;object-position:center}
.entrada .caja{padding:32px;box-shadow:var(--sombra-m)}
.entrada h2{font-size:22px;letter-spacing:-.02em;margin:0 0 6px}
.entrada .sub{color:var(--flojo);margin:0 0 22px}
.entrada button{width:100%;height:42px}
.entrada-pie{display:flex;justify-content:center;align-items:center;gap:6px;color:var(--suave);font-size:12.5px;margin-top:18px}
.entrada-pie svg.i{width:14px;height:14px}

/* ═════ cabecera de página ═════ */
.cab{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 24px;flex-wrap:wrap;margin-bottom:26px}
.cab h1{font-size:26px;line-height:1.2;font-weight:650;letter-spacing:-.025em;margin:0 0 6px}
.cab p{margin:0;color:var(--flojo);font-size:14.5px;max-width:680px}
.cab .botones{margin:0}
h2{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}
h3{font-size:14.5px;font-weight:600;margin:22px 0 8px}

/* ═════ tarjetas ═════ */
.caja{background:var(--panel);border:1px solid var(--borde);border-radius:var(--r);padding:24px;margin-bottom:20px;box-shadow:var(--sombra-xs)}
.caja-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:-24px -24px 22px;padding:18px 24px;border-bottom:1px solid var(--borde)}
.caja-cab p{margin:2px 0 0;color:var(--flojo);font-size:13.5px}
.caja-cab h2{margin:0}
.caja.sin-relleno{padding:0;overflow:hidden}
.caja.sin-relleno .caja-cab{margin:0}
.estrecha{max-width:600px}
.centrada{margin-left:auto;margin-right:auto}
.dos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:1000px){.dos{grid-template-columns:minmax(0,1fr)}}

/* ═════ métricas ═════ */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.kpi{background:var(--panel);border:1px solid var(--borde);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sombra-xs)}
.kpi-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.kpi-cab span{font-size:13px;font-weight:500;color:var(--flojo)}
.kpi-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--pri-s);color:var(--pri)}
.kpi-ico.verde{background:var(--ok-s);color:var(--ok)}.kpi-ico.ambar{background:var(--duda-s);color:var(--duda)}
.kpi b{display:block;font-size:26px;font-weight:650;letter-spacing:-.03em;line-height:1.1}
.kpi small{display:block;color:var(--flojo);font-size:12.5px;margin-top:6px}
progress{display:block;width:100%;height:6px;margin-top:12px;border:0;border-radius:99px;background:var(--gris-1);overflow:hidden;-webkit-appearance:none;appearance:none}
progress::-webkit-progress-bar{background:var(--gris-1);border-radius:99px}
progress::-webkit-progress-value{background:var(--pri);border-radius:99px}
progress::-moz-progress-bar{background:var(--pri);border-radius:99px}
progress.alto::-webkit-progress-value{background:var(--duda)}progress.alto::-moz-progress-bar{background:var(--duda)}
@media (max-width:760px){.kpis{grid-template-columns:minmax(0,1fr)}}

/* ═════ formularios ═════ */
label{display:block;font-size:13.5px;font-weight:500;color:var(--txt-2);margin:0 0 16px}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:9px 13px;min-height:40px;background:var(--panel);border:1px solid var(--borde-2);border-radius:var(--r-s);color:var(--txt);font:inherit;font-size:14px;font-weight:400;box-shadow:var(--sombra-xs);transition:border-color .12s,box-shadow .12s}
textarea{resize:vertical;min-height:72px}
input::placeholder,textarea::placeholder{color:var(--suave)}
input:focus,select:focus,textarea:focus{outline:0;border-color:#a5b4fc;box-shadow:var(--sombra-xs),var(--foco)}
select{max-width:100%;min-width:0;text-overflow:ellipsis;-webkit-appearance:none;appearance:none;padding-right:36px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23667085' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
input[type=file]{padding:7px;cursor:pointer}
input[type=file]::file-selector-button{margin-right:12px;padding:6px 12px;border:1px solid var(--borde-2);border-radius:6px;background:var(--panel);font:inherit;font-weight:600;font-size:13px;color:var(--txt-2);cursor:pointer}
.fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 16px}
.campo-euro{position:relative;margin-top:6px}
.campo-euro input{margin:0;padding-right:36px;font-variant-numeric:tabular-nums;font-weight:500}
.campo-euro span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--flojo);font-weight:500;pointer-events:none}
fieldset{border:0;padding:0;margin:0 0 8px}
legend{padding:0;margin-bottom:4px;font-weight:600;font-size:14.5px;color:var(--txt)}
.ayuda{font-size:13px;color:var(--flojo);margin:-8px 0 16px}.ayuda.en-grupo{margin:0 0 16px}
.tras-form{margin:14px 0 0}
.separador{height:1px;background:var(--borde);margin:22px 0}

/* ═════ botones ═════ */
button,.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid var(--pri-btn);border-radius:var(--r-s);background:var(--pri-btn);color:#fff;font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;cursor:pointer;text-decoration:none;box-shadow:var(--sombra-xs);transition:background .12s,border-color .12s,box-shadow .12s}
button:hover,.boton:hover{background:var(--pri-btn-h);border-color:var(--pri-btn-h);color:#fff}
button:focus-visible,.boton:focus-visible{outline:0;box-shadow:var(--sombra-xs),var(--foco)}
button:disabled{opacity:.55;cursor:wait}
button svg.i,.boton svg.i{width:16px;height:16px}
.secundario{background:var(--panel);color:var(--txt-2);border-color:var(--borde-2)}
.secundario:hover{background:var(--bg);color:var(--txt);border-color:var(--borde-2)}
.peligro{background:#d92d20;border-color:#d92d20}.peligro:hover{background:#b42318;border-color:#b42318}
.enlace{background:none;border:0;box-shadow:none;color:var(--flojo);padding:0;min-height:0;font-weight:500}
.enlace:hover{background:none;border:0;color:var(--mal)}
.pequeno{min-height:34px;padding:6px 12px;font-size:13px}
.solo-ico{width:34px;padding:0}
.botones{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.botones.centro{justify-content:center;margin-bottom:8px}
.ancho{width:100%}

/* ═════ textos y avisos ═════ */
.flojo{color:var(--flojo);font-size:13px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.aviso{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:10px;margin-bottom:20px;border:1px solid;font-weight:500;font-size:13.5px}
.aviso::before{flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;display:grid;place-items:center;font:700 11px/18px system-ui;text-align:center;color:var(--panel)}
.aviso.bien{background:var(--ok-s);border-color:var(--ok-b);color:var(--ok)}.aviso.bien::before{content:"✓";background:var(--ok)}
.aviso.mal{background:var(--mal-s);border-color:var(--mal-b);color:var(--mal)}.aviso.mal::before{content:"!";background:var(--mal)}
.aviso.dudoso{background:var(--duda-s);border-color:var(--duda-b);color:var(--duda)}.aviso.dudoso::before{content:"!";background:var(--duda)}
.aviso[hidden]{display:none}
.aviso a{color:inherit;text-decoration:underline}
.alerta{display:flex;gap:10px;background:var(--mal-s);border:1px solid var(--mal-b);color:var(--alerta-txt);border-radius:10px;padding:12px 14px;font-size:13px}
.alerta svg.i{color:var(--mal)}

.chapa{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:2px 9px 2px 8px;border-radius:99px;white-space:nowrap;background:var(--gris-1);color:var(--txt-2);border:1px solid var(--borde)}
.chapa::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--suave)}
.chapa.ok{background:var(--ok-s);color:var(--ok);border-color:var(--ok-b)}.chapa.ok::before{background:#17b26a}
.chapa.mal{background:var(--mal-s);color:var(--mal);border-color:var(--mal-b)}.chapa.mal::before{background:#f04438}
.chapa.duda{background:var(--duda-s);color:var(--duda);border-color:var(--duda-b)}.chapa.duda::before{background:#f79009}
.chapa.azul{background:var(--pri-s);color:var(--pri);border-color:var(--pri-b)}.chapa.azul::before{background:var(--pri)}

/* ═════ listas y vacíos ═════ */
.tarjetas{list-style:none;margin:0;padding:0}
.tarjetas li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--borde)}
.tarjetas li:first-child{padding-top:0}
.tarjetas li:last-child{border-bottom:0}
.tarjetas .t-ico{flex:none;width:40px;height:28px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(135deg,#1e293b,#475569);color:#fff}
.tarjetas .t-ico svg.i{width:16px;height:16px}
.tarjetas .t-txt{flex:1;min-width:0}
.tarjetas .t-txt b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tarjetas form{margin:0}
.vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:var(--flojo);padding:28px 16px;font-size:13.5px}
.vacio .v-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg);border:1px solid var(--borde);color:var(--flojo);margin-bottom:6px}
.vacio b{color:var(--txt);font-size:14.5px}
details.plegable{border:1px dashed var(--borde-2);border-radius:10px;margin-top:16px;background:var(--hover)}
details.plegable[open]{border-style:solid;background:var(--panel)}
details.plegable>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;color:var(--pri);font-weight:600;list-style:none}
details.plegable>summary::-webkit-details-marker{display:none}
details.plegable>summary svg.i{width:16px;height:16px}
details.plegable>form{padding:0 14px 14px}

/* ═════ confirmación y resultado ═════ */
.recibo{border:1px solid var(--borde);border-radius:10px;overflow:hidden;margin-bottom:18px}
.recibo-cifra{padding:22px;background:linear-gradient(180deg,var(--recibo-a),var(--recibo-b));border-bottom:1px solid var(--borde);text-align:center}
.recibo-cifra small{color:var(--flojo);font-weight:500}
.cifra{font-size:40px;font-weight:700;letter-spacing:-.035em;line-height:1.1;margin:4px 0 0}
dl{display:grid;grid-template-columns:auto 1fr;margin:0}
dt,dd{padding:11px 18px;border-bottom:1px solid var(--borde);margin:0}
dt{color:var(--flojo)}dd{font-weight:500;text-align:right}
dl>:nth-last-child(-n+2){border-bottom:0}
.resultado{text-align:center;padding:36px 28px}
.resultado .r-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center}
.resultado .r-ico svg.i{width:26px;height:26px}
.resultado.bien .r-ico{background:var(--ok-s);color:var(--ok);box-shadow:0 0 0 8px var(--anillo-ok)}
.resultado.mal .r-ico{background:var(--mal-s);color:var(--mal);box-shadow:0 0 0 8px var(--anillo-mal)}
.resultado.dudoso .r-ico{background:var(--duda-s);color:var(--duda);box-shadow:0 0 0 8px var(--anillo-duda)}
.resultado h2{font-size:20px;margin-bottom:4px}
.resultado .botones{justify-content:center;margin-top:20px}

/* ═════ tablas ═════ */
.tabla{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--borde);vertical-align:top}
th{color:var(--flojo);font-weight:500;font-size:12px;background:var(--cab-tabla);white-space:nowrap}
tbody tr:hover td{background:var(--hover)}
tr:last-child td{border-bottom:0}
td .flojo{display:block;margin-top:2px}
.num{white-space:nowrap;font-weight:600}
.mini{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.mini input{width:88px;min-height:32px;margin:0;padding:5px 9px}.mini button{min-height:32px;padding:5px 10px;font-size:12.5px}

/* ═════ terminales ═════ */
.terminales{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:18px;margin-bottom:24px}
.term{display:flex;flex-direction:column;padding:0}
.term-cuerpo{display:flex;gap:14px;padding:20px 20px 16px}
.term-cuerpo .avatar{width:42px;height:42px;border-radius:11px;font-size:16px}
.term-cuerpo h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 2px;font-size:15.5px}
.term-datos{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.term-datos div{padding:12px 20px;border-right:1px solid var(--borde)}
.term-datos div:last-child{border-right:0}
.term-datos small{display:block;color:var(--flojo);font-size:12px}
.term-datos b{font-weight:600;font-variant-numeric:tabular-nums}
.acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 20px}
.acciones form{margin:0}
.quitar{margin-left:auto}
.quitar summary{list-style:none;cursor:pointer}.quitar summary::-webkit-details-marker{display:none}
.quitar[open]{flex-basis:100%;margin-left:0}
.quitar[open] summary{margin-bottom:4px}
.quitar[open] summary{color:var(--mal)}

/* ═════ análisis ═════ */
.pasos{list-style:none;margin:0 0 20px;padding:0;position:relative}
.paso{position:relative;display:flex;gap:14px;align-items:flex-start;padding:0 0 22px;transition:opacity .25s}
.paso:not(:last-child)::after{content:"";position:absolute;left:13px;top:30px;bottom:4px;width:2px;background:var(--borde);border-radius:2px}
.paso.e-ok:not(:last-child)::after{background:var(--ok-b)}
.paso b{font-weight:600;font-size:14px}.paso p{margin:2px 0 0}
.icono{flex:none;position:relative;z-index:1;width:28px;height:28px;border-radius:50%;border:2px solid var(--borde-2);display:grid;place-items:center;font:700 13px/1 system-ui,sans-serif;background:var(--panel)}
.paso.e-espera{opacity:.55}
.paso.e-curso .icono{border-color:var(--pri);border-right-color:var(--pri-b);border-bottom-color:var(--pri-b);animation:gira .8s linear infinite}
.paso.e-curso b{color:var(--pri)}
.paso.e-ok .icono{border-color:#17b26a;background:#17b26a;color:#fff}.paso.e-ok .icono::before{content:"✓"}
.paso.e-mal .icono{border-color:#f04438;background:#f04438;color:#fff}.paso.e-mal .icono::before{content:"✕"}
.paso.e-mal p{color:var(--mal)}
.paso.e-aviso .icono,.paso.e-pendiente .icono{border-color:#fdb022;background:var(--duda-s);color:var(--duda)}.paso.e-aviso .icono::before,.paso.e-pendiente .icono::before{content:"!"}
@keyframes gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.paso.e-curso .icono{animation:none}}

/* ═════ logo en ajustes ═════ */
.logo-vista{display:grid;place-items:center;min-height:120px;padding:20px;border:1px dashed var(--borde-2);border-radius:10px;margin-bottom:18px;background:repeating-conic-gradient(var(--cuadro-a) 0% 25%,var(--cuadro-b) 0% 50%) 50%/16px 16px}
.logo-vista img{max-width:100%;height:64px;width:auto;object-fit:contain}
.logo-vista .vacio{padding:0}

/* ═════ guía ═════ */
.guia{max-width:880px}
.guia .caja>h2,.guia .paso-guia h2{font-size:17px}
.guia p,.guia li{line-height:1.7;color:var(--txt-2)}
.guia ol,.guia ul{padding-left:22px;margin:8px 0}.guia li{margin-bottom:6px}
.guia b{color:var(--txt)}
.guia section{scroll-margin-top:80px}
.indice{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.indice a{padding:6px 12px;border:1px solid var(--borde);border-radius:99px;background:var(--panel);color:var(--txt-2);font-size:13px;font-weight:500;box-shadow:var(--sombra-xs)}
.indice a:hover{border-color:var(--pri-b);color:var(--pri);background:var(--pri-s)}
.pasos-guia{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px}
.pasos-guia a{display:block;padding:16px;border:1px solid var(--borde);border-radius:10px;color:var(--txt);background:var(--panel);transition:border-color .12s,box-shadow .12s}
.pasos-guia a:hover{border-color:var(--pri-b);box-shadow:var(--sombra-s)}
.pasos-guia .n,.paso-guia .n{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--pri-s);color:var(--pri);border:1px solid var(--pri-b);font-weight:700;font-size:13px;margin-bottom:10px}
.pasos-guia b{display:block;margin-bottom:4px;font-size:14px}
.pasos-guia span{font-size:13px;color:var(--flojo);line-height:1.5}
@media (max-width:820px){.pasos-guia{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pasos-guia{grid-template-columns:1fr}}
.paso-guia{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.paso-guia .n{margin:0;flex:none}
.paso-guia h2{margin:0}
.entradilla{color:var(--flojo) !important;margin:0 0 16px}
.mensaje{background:var(--pri-s);border:1px solid var(--pri-b);border-radius:10px;padding:16px 18px;margin:12px 0 8px}
.mensaje p{margin:0 0 12px;color:var(--mensaje-txt) !important}
.lista-check{list-style:none;padding:0 !important;display:grid;gap:8px}
.lista-check li{position:relative;padding:12px 14px 12px 44px;border:1px solid var(--borde);border-radius:10px;margin:0;background:var(--panel)}
.lista-check li::before{content:"✓";position:absolute;left:14px;top:13px;width:20px;height:20px;border-radius:6px;background:var(--pri-s);color:var(--pri);font:700 11px/20px system-ui;text-align:center}
.lista-check small{display:block;color:var(--flojo);font-size:13px;line-height:1.55;margin-top:2px}
.leyenda{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.nota{background:var(--bg);border:1px solid var(--borde);border-radius:10px;padding:12px 14px;font-size:13.5px;margin:14px 0 0}
.guia details{border:1px solid var(--borde);border-radius:10px;padding:12px 16px;margin-top:12px}
.guia details summary{cursor:pointer;font-weight:600;color:var(--pri)}
.guia details p,.guia details ul{margin-bottom:0}
.guia .tabla{border:1px solid var(--borde);border-radius:10px}

/* ═════ modo oscuro: detalles ═════ */
.con-logo .logo-oscuro{display:none}
/* en oscuro: la versión oscura si la hay; si no, el logo normal sobre una placa clara para que se lea */
:root[data-tema="oscuro"] .con-logo.doble .logo-claro{display:none}
:root[data-tema="oscuro"] .con-logo.doble .logo-oscuro{display:block}
:root[data-tema="oscuro"] .con-logo:not(.doble) .logo{background:#fff;padding:6px 10px;border-radius:8px}
@media (prefers-color-scheme:dark){
  :root[data-tema="auto"] .con-logo.doble .logo-claro{display:none}
  :root[data-tema="auto"] .con-logo.doble .logo-oscuro{display:block}
  :root[data-tema="auto"] .con-logo:not(.doble) .logo{background:#fff;padding:6px 10px;border-radius:8px}}
/* vistas previas del logo en Ajustes: siempre una sobre fondo claro y otra sobre fondo oscuro */
.logo-vistas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.logo-vistas .logo-vista{margin:0;flex-direction:column;gap:10px;display:flex;align-items:center;justify-content:center;background:#fff;border-color:#d0d5dd}
.logo-vistas .logo-vista.oscura{background:#13161b;border-color:#333a47}
.logo-vistas .logo-vista.oscura:not(.doble) img{background:#fff;padding:6px 10px;border-radius:8px}
.logo-vista figcaption{font-size:12px;color:#667085}.logo-vista.oscura figcaption{color:#94969c}
@media (max-width:520px){.logo-vistas{grid-template-columns:1fr}}
.tema{display:flex;gap:2px;padding:3px;margin-bottom:10px;border:1px solid var(--borde);border-radius:10px;background:var(--bg)}
.tema button{flex:1;min-height:30px;padding:4px 6px;gap:5px;font-size:12px;font-weight:500;background:transparent;border-color:transparent;color:var(--flojo);box-shadow:none;justify-content:center}
.tema button:hover{background:var(--panel);color:var(--txt);border-color:transparent}
.tema button[aria-pressed="true"]{background:var(--panel);color:var(--txt);border-color:var(--borde);box-shadow:var(--sombra-xs)}
.tema button svg.i{width:14px;height:14px}
.salir-form button{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;color:var(--txt-2);box-shadow:none;font-weight:500}

/* ═════ usuarios ═════ */
.yo{display:flex;align-items:center;gap:10px;padding:8px;margin:0 0 10px;border-radius:10px;color:var(--txt)}
.yo:hover,.yo.activo{background:var(--bg);color:var(--txt)}
.yo .avatar{width:32px;height:32px;border-radius:50%;font-size:13px}
.yo span:last-child{min-width:0}
.yo b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yo small{display:block;font-size:12px;color:var(--flojo)}
.persona{display:flex;align-items:center;gap:12px}
.persona .avatar{width:36px;height:36px;border-radius:50%;font-size:14px}
.persona b{display:flex;gap:6px;align-items:center;font-weight:600}
.entrada-ayuda{text-align:center;margin:14px 0 0}
