:root{--navy:#16324f;--teal:#1f8a7a;--teal-2:#176e62;--fondo:#f4f6f8;--panel:#fff;--linea:#dde3e8;--texto:#1d2733;--suave:#5f6b78;
--rojo:#b3261e;--verde:#1e7b4a;--gris:#eceff2;--gris-2:#dfe3e7;--radio:10px;--sombra:0 2px 10px rgba(22,50,79,.08)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.55 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--texto);background:var(--fondo)}
a{color:var(--teal-2)}h1,h2,h3{color:var(--navy);line-height:1.2;margin:.2em 0 .5em}
img{max-width:100%}
.contenedor{max-width:1160px;margin:0 auto;padding:0 16px}
/* botones: grises; el verde azulado solo para la acción principal */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid var(--gris-2);border-radius:8px;background:var(--gris);
color:var(--texto);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--gris-2)}.btn.principal{background:var(--teal);border-color:var(--teal);color:#fff}.btn.principal:hover{background:var(--teal-2)}
.btn.peligro{color:var(--rojo)}.btn.peque{padding:5px 10px;font-size:13px}.btn.grande{padding:13px 24px;font-size:16px}
input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--linea);border-radius:7px;background:#fff;color:var(--texto);max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(31,138,122,.35);border-color:var(--teal)}
label{display:block;font-size:13px;color:var(--suave);margin:8px 0 3px}
.aviso,.error{padding:10px 14px;border-radius:8px;margin:12px 0}.aviso{background:#e6f4f1;color:#0f5c50}.error{background:#fbeaea;color:var(--rojo)}
/* ---------- web pública ---------- */
.web-cab{background:var(--navy);color:#fff;position:sticky;top:0;z-index:10}
.web-cab .contenedor{display:flex;align-items:center;gap:18px;min-height:64px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:19px}
.marca img{height:34px;width:auto;background:#fff;border-radius:7px;padding:3px}
.marca b{color:#7fd6c8}
.web-nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;align-items:center}
.web-nav a{color:#dce6ef;text-decoration:none;padding:8px 10px;border-radius:7px}.web-nav a:hover,.web-nav a.activo{background:rgba(255,255,255,.1);color:#fff}
.web-nav .btn.principal{color:#fff;margin-left:6px}
.web-idiomas{position:relative;margin-left:6px}.web-idiomas summary{list-style:none;cursor:pointer;color:#dce6ef;padding:8px 10px;border-radius:7px;white-space:nowrap}
.web-idiomas summary::-webkit-details-marker{display:none}.web-idiomas summary:hover,.web-idiomas[open] summary{background:rgba(255,255,255,.1);color:#fff}
.web-idiomas div{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:6px;min-width:150px;z-index:50;display:flex;flex-direction:column}
.web-nav .web-idiomas div a{color:#16324f;padding:7px 10px}.web-nav .web-idiomas div a:hover{background:#eef4f3;color:#16324f}.web-nav .web-idiomas div a.activo{background:#e6f4f1;color:#176b5f;font-weight:700}
.heroe{background:linear-gradient(135deg,var(--navy) 0%,#1d4a6b 55%,var(--teal) 130%);color:#fff;padding:64px 0 72px}
.heroe h1{color:#fff;font-size:clamp(28px,4.4vw,46px);max-width:760px}
.heroe p{font-size:18px;max-width:640px;color:#dbe7ef}
.heroe .acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.heroe .btn:not(.principal){background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}
.seccion{padding:56px 0}.seccion.blanca{background:#fff}
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.tarjeta{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);padding:20px;box-shadow:var(--sombra)}
.tarjeta h3{margin-top:0}.icono{font-size:26px;margin-bottom:6px}
.precio{font-size:34px;font-weight:700;color:var(--navy)}.precio small{font-size:15px;color:var(--suave);font-weight:400}
.tarjeta.destacada{border:2px solid var(--teal)}
.lista-ok{padding-left:0;list-style:none}.lista-ok li{padding:4px 0 4px 24px;position:relative}.lista-ok li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.web-pie{background:var(--navy);color:#c4d3e0;padding:28px 0;font-size:14px}.web-pie a{color:#fff}
.web-pie .contenedor{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.formulario{max-width:640px}.formulario input,.formulario textarea,.formulario select{width:100%}
.oculto{position:absolute;left:-9999px}
/* ---------- acceso ---------- */
.acceso{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(135deg,var(--navy),#1d4a6b)}
.acceso .tarjeta{width:100%;max-width:400px}.acceso input{width:100%}.acceso .btn{width:100%;justify-content:center;margin-top:14px}
/* ---------- aplicación: réplica del programa de escritorio (ui/app_moderna.py) ---------- */
.app-cuerpo{--fondo-app:#eef1f4;--carta:#fff;--borde:#dde3e9;--texto-app:#20242a;--apagado:#7a8794;--riel:#fbfcfd;--riel-activo:#e3f4f1;
  --campo:#fffdf0;--campo-borde:#cfd6dd;--cab-tabla:#f3f5f7;--fila-hover:#f1f8f6;
  background:var(--fondo-app);color:var(--texto-app);font-size:13.5px;line-height:1.45}
html[data-tema=oscuro] .app-cuerpo{--fondo-app:#111820;--carta:#1a2330;--borde:#2c3846;--texto-app:#eef2f6;--apagado:#9aa7b4;--riel:#151d27;--riel-activo:#1f3550;
  --campo:#1f2a36;--campo-borde:#34424f;--cab-tabla:#1f2a36;--fila-hover:#1f3040;--navy:#9cc3e8;--gris:#243140;--gris-2:#2e3d4d;--linea:#2c3846;--texto:#eef2f6;--suave:#9aa7b4}
html[data-tema=oscuro] .app-cuerpo a{color:#6fd0c0}
.marco{display:grid;grid-template-columns:64px 1fr;min-height:100vh}
/* barra lateral estrecha de iconos */
.riel{background:var(--riel);border-right:1px solid var(--borde);display:flex;flex-direction:column;align-items:center;padding:10px 0;position:sticky;top:0;height:100vh;z-index:30}
.riel-logo img{width:42px;height:42px;display:block;margin-bottom:12px}
.riel-grupo{position:relative;margin:2px 0}
.riel-boton{width:48px;height:40px;border:0;border-radius:4px;background:transparent;color:#16324f;cursor:pointer;display:grid;place-items:center}
html[data-tema=oscuro] .riel-boton{color:#cfe0f0}
.riel-boton:hover,.riel-grupo.activo .riel-boton{background:var(--riel-activo)}
.desplegable{display:none;position:absolute;background:var(--carta);border:1px solid var(--borde);box-shadow:0 6px 18px rgba(0,0,0,.14);min-width:230px;padding:4px 0;z-index:40}
.desplegable a{display:block;padding:6px 16px;color:var(--texto-app)!important;text-decoration:none;white-space:nowrap}
.desplegable a:hover{background:var(--riel-activo)}
.riel-menu{left:52px;top:0}.desp-titulo{padding:4px 16px 6px;font-weight:700;color:var(--apagado);font-size:12px;border-bottom:1px solid var(--borde);margin-bottom:4px}
.riel-grupo:hover .riel-menu,.riel-grupo.abierto .riel-menu{display:block}
/* menú superior */
.principal{min-width:0;display:flex;flex-direction:column}
.menubar{display:flex;align-items:stretch;background:var(--carta);border-bottom:1px solid var(--borde);height:32px;padding:0 8px;position:sticky;top:0;z-index:25}
.mb-grupo{position:relative}
.mb-boton{height:100%;border:0;background:transparent;color:var(--texto-app);font:inherit;font-size:13px;padding:0 9px;cursor:pointer}
.mb-boton:hover,.mb-grupo.abierto .mb-boton{background:var(--riel-activo)}
.mb-grupo .desplegable{top:100%;left:0}
.mb-grupo:hover .desplegable,.mb-grupo.abierto .desplegable{display:block}
.mb-salir{margin:0 0 0 auto}.mb-salir .mb-boton{color:var(--apagado)}
.menu-movil{display:none;border:0;background:transparent;font-size:18px;color:var(--texto-app);cursor:pointer}
/* cabecera de la pantalla */
.cabecera{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--carta);border-bottom:1px solid var(--borde);padding:12px 28px 14px}
.cab-titulo{margin-right:auto;min-width:220px}
.cab-titulo h1{font-size:22px;margin:0;color:var(--texto-app);font-weight:700}
.cab-titulo p{margin:4px 0 0;color:var(--apagado);font-size:12.5px}
.cab-informes{font-size:13px;padding:7px 16px;border-radius:4px}
.cab-empresa{display:flex;align-items:center;gap:16px;margin:0}
.cab-nombre{color:#16324f;font-size:14px}html[data-tema=oscuro] .cab-nombre{color:#cfe0f0}
.cab-selec-empresa{max-width:260px;font-weight:700}
.cab-ejercicio label{margin:0 0 2px;font-size:11.5px;color:var(--apagado)}
.app-cuerpo .cab-ejercicio select{min-width:160px;font-weight:700;background-color:var(--carta);border:1px solid var(--borde);border-radius:4px;padding:6px 38px 6px 8px;
  appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%),linear-gradient(#1f8a7a,#1f8a7a);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%,100% 0;background-size:5px 5px,5px 5px,30px 100%;background-repeat:no-repeat}
.modo-oscuro{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--texto-app);cursor:pointer}
.modo-oscuro input{position:absolute;opacity:0}
.interruptor{width:34px;height:16px;border-radius:9px;background:#9aa4ae;position:relative;display:inline-block}
.interruptor:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s}
.modo-oscuro input:checked+.interruptor{background:#1f8a7a}.modo-oscuro input:checked+.interruptor:after{left:20px}
.contenido{padding:18px 22px 40px}
.titulo-pantalla{font-size:15px;margin:0 0 12px;color:var(--navy)}
.demo-aviso{background:#fff4d6;color:#6b4e00;padding:6px 28px;font-size:13px;border-bottom:1px solid #f0dca0}
/* campos y botones como en el escritorio */
.app-cuerpo input:not([type=checkbox]):not([type=radio]):not([type=file]),.app-cuerpo select,.app-cuerpo textarea{background-color:var(--campo);border:1px solid var(--campo-borde);border-radius:3px;padding:5px 8px;color:var(--texto-app);font-size:13px}
.app-cuerpo label{font-size:12px;color:var(--apagado);margin:6px 0 2px}
.app-cuerpo .btn{border-radius:4px;padding:6px 14px;font-size:13px;font-weight:600;background:var(--carta);border:1px solid #c9d1d9;color:var(--texto-app)}
.app-cuerpo .btn:hover{background:var(--gris)}
.app-cuerpo .btn.principal{background:#1f8a7a;border-color:#1f8a7a;color:#fff}.app-cuerpo .btn.principal:hover{background:#176e62}
.app-cuerpo .btn.peque{padding:3px 9px;font-size:12px}
/* tarjetas con cabecera azul marino (Card del escritorio) */
.app-cuerpo .tarjeta,.app-cuerpo .bloque,.kpi{background:var(--carta);border:1px solid var(--borde);border-radius:2px;box-shadow:none;margin:0 0 14px}
.app-cuerpo .tarjeta{padding:12px 16px}
.app-cuerpo .bloque{padding:0 16px 14px}
.app-cuerpo .bloque>h3,.app-cuerpo details.bloque>summary,.app-cuerpo .tarjeta>h3.cab{display:block;background:#16324f;color:#fff;margin:0 -16px 12px;padding:8px 14px;font-size:14px;font-weight:700;list-style:none}
.app-cuerpo .tarjeta>h3.cab{margin:-12px -16px 12px}
.app-cuerpo details.bloque{padding:0 16px 1px}.app-cuerpo details.bloque:not([open])>summary{margin-bottom:0}
.app-cuerpo details.bloque>summary{cursor:pointer}.app-cuerpo details.bloque>summary::-webkit-details-marker{display:none}
.app-cuerpo details.bloque>summary:before{content:"▸ ";opacity:.8}.app-cuerpo details.bloque[open]>summary:before{content:"▾ "}
.app-cuerpo .bloque h4{color:var(--navy);margin:12px 0 6px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}
.kpi{padding:10px 14px;margin:0}.kpi span{display:block;font-size:12px;color:var(--apagado)}.kpi b{font-size:20px;color:var(--navy)}.kpi b.neg{color:var(--rojo)}
/* tablas compactas (Treeview del escritorio) */
.tabla-caja{background:var(--carta);border:1px solid var(--borde);border-radius:2px;overflow:auto;box-shadow:none;margin-bottom:14px}
.app-cuerpo table{border-collapse:collapse;width:100%}
.app-cuerpo th,.app-cuerpo td{padding:4px 9px;border-bottom:1px solid var(--borde);text-align:left;vertical-align:top;font-size:12.5px}
.app-cuerpo th{background:var(--cab-tabla);color:var(--apagado);font-weight:600;position:sticky;top:0}
.app-cuerpo table tr:hover td{background:var(--fila-hover)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.cab-asiento td{background:var(--cab-tabla)!important;font-weight:600}tr.total td{font-weight:700;background:var(--cab-tabla)}
.app-cuerpo .neg{color:var(--rojo)}
.fila-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:8px 0}
.lineas input{width:100%}.lineas td{padding:3px}
.estado{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11.5px;font-weight:600;background:var(--gris)}
.estado.activa,.estado.activo{background:#e1f3ee;color:#11634f}.estado.suspendida{background:#fff1d6;color:#7a5200}.estado.revocada{background:#fbeaea;color:var(--rojo)}
.estado.nube{background:#e3eefb;color:#1d4a8a}.estado.escritorio{background:#eef0f3;color:#3b4652}
.app-cuerpo .aviso,.app-cuerpo .error{border-radius:3px;margin:0 0 12px;padding:8px 12px}
/* panel: gráficos de barras 3D como el escritorio */
.panel-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.panel-rejilla .tarjeta{margin:0;padding:12px 16px 30px}.panel-rejilla h3{font-size:13px;text-transform:uppercase;color:var(--texto-app);margin:0 0 4px}
.grafico3d{display:flex;align-items:flex-end;justify-content:center;gap:22px;height:150px;padding:20px 10px 0;position:relative}
.grafico3d:after{content:"";position:absolute;left:18%;right:18%;bottom:-6px;height:9px;background:#e7e4dc;transform:skewX(-45deg);z-index:0}
.barra3d{position:relative;width:30px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;z-index:1}
.barra3d .col{width:100%;background:var(--c,#1f8a7a);position:relative;min-height:3px}
.barra3d .col:before{content:"";position:absolute;left:4px;top:-7px;width:100%;height:7px;background:var(--c,#1f8a7a);filter:brightness(1.3);transform:skewX(-45deg);transform-origin:left bottom}
.barra3d .col:after{content:"";position:absolute;right:-7px;top:-3.5px;width:7px;height:100%;background:var(--c,#1f8a7a);filter:brightness(.7);transform:skewY(-45deg);transform-origin:left top}
.barra3d .val{font-size:9.5px;color:var(--apagado);margin-bottom:10px;white-space:nowrap}
.barra3d .et{font-size:10px;color:var(--apagado);white-space:nowrap;position:absolute;bottom:-22px;max-width:84px;overflow:hidden;text-overflow:ellipsis}
.grafico3d{gap:clamp(22px,5vw,58px)}
.grafico3d.ancho .barra3d{width:120px}
.favoritos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px}
.favoritos a{display:block;text-align:center;border:1px solid #c9d1d9;padding:5px 8px;color:var(--texto-app);text-decoration:none;font-size:12.5px;background:var(--carta)}
.favoritos a:hover{background:var(--riel-activo)}
.aviso-rojo td{color:#c0392b}
@media (max-width:900px){
  .marco{grid-template-columns:1fr}.riel{position:fixed;left:0;top:32px;height:calc(100vh - 32px);display:none}.riel.abierto{display:flex}
  .menu-movil{display:block}.mb-grupo{display:none}.cabecera{padding:10px 14px}.contenido{padding:12px}.panel-rejilla{grid-template-columns:1fr}
}
@media print{.riel,.menubar,.cab-informes,.cab-empresa,.modo-oscuro,.btn,.demo-aviso{display:none!important}.marco{display:block}}
.segmentos{display:inline-flex;gap:4px}
.segmentos a,.segmentos span{border:1px solid #c9d1d9;padding:4px 10px;font-size:13px;background:var(--carta);color:var(--texto-app)!important;text-decoration:none;border-radius:2px}
.segmentos .activo{background:var(--riel-activo);font-weight:600;border-color:#1f8a7a}.segmentos .inactivo{opacity:.45}.segmentos a:hover{background:var(--riel-activo)}
/* pestañas como el Notebook del escritorio */
.pestanas{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--borde);margin:0 0 12px}
.pestanas a{padding:5px 12px;border:1px solid var(--borde);border-bottom:0;background:var(--cab-tabla);color:var(--texto-app)!important;text-decoration:none;font-size:12.5px;margin-bottom:-1px}
.pestanas a.activa{background:var(--carta);font-weight:600;border-bottom:1px solid var(--carta)}
.pestanas a:hover{background:var(--riel-activo)}
/* títulos de sección y de tarjeta como la cabecera azul marino de las tarjetas del escritorio */
.app-cuerpo .contenido>h2:not(.titulo-pantalla){background:#16324f;color:#fff;font-size:14px;font-weight:700;padding:8px 14px;margin:14px 0 0;border:1px solid #16324f}
.app-cuerpo .contenido>h2:not(.titulo-pantalla)+.tabla-caja,.app-cuerpo .contenido>h2:not(.titulo-pantalla)+div>.tabla-caja:first-child{border-top:0}
.app-cuerpo .tarjeta>h3:first-child{background:#16324f;color:#fff;margin:-12px -16px 12px;padding:8px 14px;font-size:14px;font-weight:700}
/* barras de filtros sueltas: panel blanco como en el escritorio */
.app-cuerpo .contenido>form.fila-form,.app-cuerpo .contenido>div.fila-form{background:var(--carta);border:1px solid var(--borde);padding:10px 14px;margin:0 0 14px}
/* estrella de favoritos, buscador de funciones y tamaño de letra (cabecera del escritorio) */
.cab-estrella{padding:5px 9px!important;font-size:15px!important;line-height:1}
.app-cuerpo .cab-buscar{width:200px;background-color:var(--campo)}
.tam-letra{display:flex;gap:2px}.tam-letra .btn{padding:2px 7px!important}
@media (max-width:1300px){.app-cuerpo .cab-buscar{width:150px}}
.col-modelos{display:grid;grid-template-columns:250px 1fr;gap:12px;align-items:start}.col-modelos>div{min-width:0}
@media (max-width:900px){.col-modelos{grid-template-columns:1fr}}
.paso-cierre{display:flex;align-items:center;gap:10px;background:var(--panel,#fff);border:1px solid #dde3e9;border-radius:4px;padding:8px 10px;margin-bottom:6px}.paso-marca{font-size:22px;font-weight:bold;width:28px;text-align:center;color:var(--apagado)}.paso-marca.ok{color:#1f8a7a}.paso-marca.aviso{color:#d68910}.paso-texto{flex:1;min-width:0;display:flex;flex-direction:column}.paso-texto b{color:#16324f;font-size:14px}[data-tema=oscuro] .paso-texto b{color:#cfe3f5}.paso-texto small{color:var(--apagado);font-size:12px}.paso-texto em{font-style:normal;font-weight:bold;font-size:12px}.paso-texto em.ok{color:#1f8a7a}.paso-texto em.aviso{color:#d68910}.paso-botones{display:flex;gap:6px;flex-wrap:wrap}.paso-botones form{margin:0}.btn.peligro{background:#c0392b;border-color:#c0392b;color:#fff;font-weight:bold}
@media (max-width:700px){.paso-cierre{flex-wrap:wrap}}
.rejilla-herr{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.herr{background:var(--panel,#fff);border:1px solid #dde3e9;border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.herr b{color:#16324f;font-size:14px}[data-tema=oscuro] .herr b{color:#cfe3f5}.herr small{color:var(--apagado);font-size:12px;flex:1}.herr>.btn,.herr>form{align-self:flex-end;margin:0}
@media (max-width:800px){.rejilla-herr{grid-template-columns:1fr}}
.col-plan{display:grid;grid-template-columns:1fr 380px;gap:10px;align-items:start}.col-plan>div{min-width:0}@media (max-width:1000px){.col-plan{grid-template-columns:1fr}}.arbol-plan tr.ap-grupo td{background:#e9eef3;font-weight:bold;cursor:pointer}[data-tema=oscuro] .arbol-plan tr.ap-grupo td{background:#243447}.arbol-plan tr.ap-fila{cursor:pointer}.arbol-plan tr.ap-anulada td{color:#9aa5b1}.arbol-plan tr.sel td{background:#d6ece8}[data-tema=oscuro] .arbol-plan tr.sel td{background:#1f4f48}.ap-flecha{display:inline-block;width:12px;color:var(--apagado);cursor:pointer}.ficha-datos{display:flex;gap:18px;background:#f6f8fa;border:1px solid #dde3e9;padding:6px 10px;margin:6px 0}[data-tema=oscuro] .ficha-datos{background:#1b2735;border-color:#34465a}.ficha-datos div{display:flex;flex-direction:column}.ficha-datos small{color:var(--apagado);font-size:11px}.ficha-datos b{color:#16324f}[data-tema=oscuro] .ficha-datos b{color:#cfe3f5}.btn.desactivado{opacity:.5;pointer-events:none}
@media (min-width:1100px){.cabecera{flex-wrap:nowrap}.cab-titulo{flex:1 1 auto;min-width:auto}.cab-titulo h1{white-space:nowrap}.cab-titulo p{width:0;min-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cab-buscar{min-width:140px;flex:0 1 180px}.modo-oscuro{white-space:nowrap}}
tr.ter.sel td{background:#d6ece8}[data-tema=oscuro] tr.ter.sel td{background:#1f4f48}
tr.emp.sel td{background:#d6ece8}[data-tema=oscuro] tr.emp.sel td{background:#1f4f48}
.col-pres{display:grid;grid-template-columns:360px 1fr;gap:10px;align-items:start}.col-pres>*{min-width:0}@media (max-width:900px){.col-pres{grid-template-columns:1fr}}.meses-pres{display:grid;grid-template-columns:repeat(6,minmax(0,120px));gap:6px 10px;margin-top:10px}.meses-pres input{width:100%}
.arbol-estados tr.ae-masa td{background:#dfe7ef;font-weight:bold;color:#16324f}.arbol-estados tr.ae-grupo td{font-weight:bold;color:#16324f}.arbol-estados tr.ae-total td{background:#e3f4f1;font-weight:bold}.arbol-estados tr.ae-cuenta td{color:#44505c}.arbol-estados tr.ae-neg td.n{color:#c0392b}[data-tema=oscuro] .arbol-estados tr.ae-masa td{background:#243447;color:#cfe3f5}[data-tema=oscuro] .arbol-estados tr.ae-grupo td{color:#cfe3f5}[data-tema=oscuro] .arbol-estados tr.ae-total td{background:#1f4f48}[data-tema=oscuro] .arbol-estados tr.ae-cuenta td{color:#b8c4cf}
.cab-nombre{white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}
.col-concil{display:grid;grid-template-columns:1fr 1fr;gap:10px}.col-concil>*{min-width:0}@media (max-width:900px){.col-concil{grid-template-columns:1fr}}tr.cc-fila{cursor:pointer}tr.cc-ok td{color:#1f8a7a}tr.cc-fila.sel td{background:#d6ece8}[data-tema=oscuro] tr.cc-fila.sel td{background:#1f4f48}.cc-suma{text-align:right;font-weight:bold;color:#16324f;font-size:12px;margin:4px 0 0;min-height:16px}
.btn:disabled{opacity:.5;cursor:default}
.rev-pdf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 10px}.rev-pdf input,.rev-pdf select{width:100%}@media (max-width:900px){.rev-pdf{grid-template-columns:1fr 1fr}}.visor-pdf{background:#737373;height:520px;overflow:auto;margin-top:8px;cursor:crosshair;user-select:none}.visor-pdf img{display:block}.pf-marco{position:absolute;border:2px solid #1f8a7a;pointer-events:none}.pf-fija{border-width:3px}
.col-sistema{display:grid;grid-template-columns:1fr 360px;gap:10px;align-items:start}.col-sistema>*{min-width:0}@media (max-width:1000px){.col-sistema{grid-template-columns:1fr}}.rej-sis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 10px}.rej-sis input,.rej-sis select{width:100%}@media (max-width:800px){.rej-sis{grid-template-columns:1fr 1fr}}
tr.ae-total-dep td{font-weight:bold;background:#e9eef3}[data-tema=oscuro] tr.ae-total-dep td{background:#243447}
dialog.dialogo{border:1px solid #dde3e9;border-radius:6px;padding:0 16px 12px;width:min(1000px,94vw);background:var(--carta,#fff);color:inherit}dialog.dialogo>h3{margin:0 -16px 10px;padding:8px 16px;background:#16324f;color:#fff;font-size:14px}dialog.dialogo::backdrop{background:rgba(0,0,0,.35)}td.nombre-cta{font-size:12px;color:var(--apagado);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
td.nombre-cta{vertical-align:middle}
#t-mayor tr.mv{cursor:pointer;user-select:none}#t-mayor tr.mv-ok td{color:#8a96a3}#t-mayor tr.mv-ok td.mv-check{color:#1f8a7a;font-weight:bold}#t-mayor tr.sel td{background:#d6ece8}[data-tema=oscuro] #t-mayor tr.sel td{background:#1f4f48}
.col-renta{display:grid;grid-template-columns:1fr 440px;gap:12px;align-items:start}.col-renta>*{min-width:0}.col-renta p{white-space:pre-line}@media (max-width:1000px){.col-renta{grid-template-columns:1fr}}
#t-emi tr.sel td{background:#d6ece8}[data-tema=oscuro] #t-emi tr.sel td{background:#1f4f48}#t-emi tr.fe{user-select:none}
.rej-pre{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px 10px}.rej-pre input{width:100%}@media (max-width:900px){.rej-pre{grid-template-columns:1fr 1fr}}#t-cuotas tr.sel td{background:#d6ece8}[data-tema=oscuro] #t-cuotas tr.sel td{background:#1f4f48}#t-cuotas tr.cuota{user-select:none}
#cta-lista tr.sel td{background:#d6ece8}[data-tema=oscuro] #cta-lista tr.sel td{background:#1f4f48}
.cab-inf{position:relative}.cab-inf-menu{display:none;position:absolute;top:100%;left:0;z-index:60;min-width:300px;max-height:70vh;overflow:auto;background:var(--carta,#fff);border:1px solid #dde3e9;border-radius:4px;box-shadow:0 6px 18px rgba(0,0,0,.12);padding:4px 0}.cab-inf.abierto .cab-inf-menu{display:block}.cab-inf-menu a{display:block;padding:6px 14px;color:inherit;text-decoration:none;font-size:13px}.cab-inf-menu a:hover{background:#e3f4f1}.cab-inf-menu summary{padding:6px 14px;cursor:pointer;font-size:13px;border-top:1px solid #eef1f4}.cab-inf-sub summary{padding-left:26px;border:0}.cab-inf-sub a{padding-left:38px}[data-tema=oscuro] .cab-inf-menu a:hover{background:#1f4f48}
/* ---- web corporativa: portada ampliada ---- */
.marca span{white-space:nowrap}
.centrado{text-align:center}.subtitulo{color:var(--suave);font-size:17px;max-width:760px;margin:0 auto 26px}.suave{color:var(--suave)}
.heroe.pequeno{padding:44px 0 40px}
.heroe-dos{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center}
.nota-heroe{font-size:14px!important;color:#b7cad8!important;margin-top:10px}
.heroe-imagenes{position:relative;min-height:340px}
.heroe-imagenes .marco-ventana{width:88%}
.heroe-imagenes .marco-navegador{position:absolute;width:72%;right:0;bottom:-30px;box-shadow:0 18px 44px rgba(0,0,0,.35)}
.marco-ventana,.marco-navegador{margin:0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 14px 36px rgba(16,40,64,.22);border:1px solid rgba(0,0,0,.08)}
.marco-ventana img,.marco-navegador img{display:block;width:100%;height:auto}
.barra-ventana,.barra-navegador{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#e9edf1;font-size:12px;color:#5f6b78}
.barra-ventana{background:#16324f;color:#cfe0ee}
.barra-ventana span,.barra-navegador span{width:10px;height:10px;border-radius:50%;background:#c9d2da}
.barra-ventana span{background:#4b6784}
.barra-ventana em,.barra-navegador em{font-style:normal;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barra-navegador em{background:#fff;border-radius:12px;padding:2px 12px;flex:1;max-width:320px}
.rejilla.dos{grid-template-columns:repeat(2,minmax(0,1fr))}.rejilla.tres{grid-template-columns:repeat(3,minmax(0,1fr))}.rejilla.cuatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.tarjeta.version .icono{font-size:34px}
.tarjeta.sector{padding:0;overflow:hidden}.tarjeta.sector img{display:block;width:100%;height:auto;background:#eef4f3}
.tarjeta.sector h3,.tarjeta.sector p{padding:0 18px}.tarjeta.sector h3{margin-top:14px}.tarjeta.sector p{padding-bottom:16px;margin:0;color:var(--suave)}
.funcion{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;margin:54px 0}
.funcion.inversa .texto{order:2}
.funcion h3{font-size:26px}.funcion p{font-size:16px;color:var(--suave)}
.etiqueta{display:inline-block;background:#e3f4f1;color:var(--teal-2);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:12px;margin-bottom:8px}
.cifras{background:linear-gradient(135deg,var(--navy),#1d4a6b);color:#fff;padding:40px 0}
.cifras .rejilla>div{text-align:center}.cifras b{display:block;font-size:44px;color:#7fd6c8;line-height:1.1}.cifras span{color:#dbe7ef}
.logos-importacion{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.logos-importacion span{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:14px 26px;font-weight:700;color:var(--navy);font-size:18px;box-shadow:var(--sombra)}
.llamada{background:#e3f4f1}.llamada p{max-width:680px;margin:0 auto 6px;color:var(--suave);font-size:17px}
@media (max-width:980px){.heroe-dos,.funcion{grid-template-columns:1fr}.funcion.inversa .texto{order:0}.heroe-imagenes{min-height:0;margin-bottom:30px}
  .rejilla.tres,.rejilla.cuatro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rejilla.dos,.rejilla.tres,.rejilla.cuatro{grid-template-columns:1fr}.heroe-imagenes .marco-navegador{position:static;width:100%;margin-top:12px}.heroe-imagenes .marco-ventana{width:100%}}
.seccion .acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

/* Fotografías de sectores (Pexels) */
.tarjeta.sector img{height:180px;object-fit:cover}
.llamada.con-foto{background:linear-gradient(rgba(227,244,241,.93),rgba(227,244,241,.93)),url(/img/fotos/contabilidad.jpg) center/cover no-repeat}
.credito-fotos{font-size:11px!important;color:var(--suave);opacity:.7;margin-top:14px!important}

/* Ayuda de esta sección (botón ? de la cabecera o F1): panel flotante a la derecha */
.cab-ayuda{padding:5px 10px!important;font-weight:700;color:var(--navy,#16324f)}
.ayuda-panel{position:fixed;top:70px;right:16px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 90px);display:none;flex-direction:column;
  background:var(--panel,#fff);color:var(--texto,#20242a);border:1px solid var(--borde,#dde3e9);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:900}
.ayuda-panel.abierta{display:flex}
.ayuda-cab{display:flex;align-items:center;justify-content:space-between;background:#16324f;color:#fff;padding:10px 14px;border-radius:6px 6px 0 0}
.ayuda-cab button{background:none;border:0;color:#fff;font-size:16px;cursor:pointer}
.ayuda-cuerpo{overflow:auto;padding:4px 16px 12px;font-size:13px;line-height:1.5}
.ayuda-cuerpo h4{color:#1f8a7a;margin:14px 0 4px;font-size:14px}
.ayuda-cuerpo ol,.ayuda-cuerpo ul{margin:0;padding-left:20px}.ayuda-cuerpo li{margin:3px 0}
.ayuda-cuerpo b{color:var(--navy,#16324f)}
.ayuda-pie{color:var(--apagado,#8592a0);font-size:12px;margin-top:14px}
[data-tema=oscuro] .ayuda-cuerpo b{color:#9fd6cc}
