:root{--fondo: #f6f7f9;--superficie: #fff;--texto: #1d2330;--suave: #5f6878;--borde: #dde1e7;--primario: #1f5fa8;--primario-suave: #e6eef8;--rojo: #b42318;--verde: #1a7f37;--aviso: #fff6e0;color-scheme:light}:root[data-tema=oscuro]{--fondo: #14171c;--superficie: #1d2128;--texto: #e7eaf0;--suave: #9aa3b2;--borde: #313743;--primario: #6ea8ff;--primario-suave: #22324a;--rojo: #ff8a80;--verde: #6fd28b;--aviso: #3a3220;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-tema=claro]){--fondo: #14171c;--superficie: #1d2128;--texto: #e7eaf0;--suave: #9aa3b2;--borde: #313743;--primario: #6ea8ff;--primario-suave: #22324a;--rojo: #ff8a80;--verde: #6fd28b;--aviso: #3a3220;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fondo);color:var(--texto);font-size:15px}header{display:flex;gap:14px;align-items:center;padding:12px 16px;background:var(--superficie);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:2;flex-wrap:wrap}header nav{display:flex;gap:4px;flex-wrap:wrap}header a{color:var(--suave);text-decoration:none;padding:6px 8px;border-radius:6px}header a.activo{background:var(--primario-suave);color:var(--primario);font-weight:600}main{max-width:1200px;margin:0 auto;padding:16px}h1{font-size:1.5rem;margin:8px 0 16px}h2{font-size:1.1rem;margin:24px 0 12px}a{color:var(--primario)}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:10px;padding:16px;margin-bottom:16px}.tarjeta h2{margin-top:0}.tarjeta.ok{border-color:var(--verde)}.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;align-items:end}.rejilla .ancho{grid-column:span 2}@media(max-width:480px){.rejilla .ancho{grid-column:span 1}}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--suave)}label.check{flex-direction:row;align-items:center}input,select{font:inherit;padding:7px 9px;border:1px solid var(--borde);border-radius:6px;background:var(--superficie);color:var(--texto);min-width:0}input[type=checkbox]{padding:0}button{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid var(--primario);background:var(--primario);color:#fff;cursor:pointer}button.secundario{background:transparent;color:var(--primario)}button.icono{background:transparent;border:none;color:var(--suave);padding:4px 6px}button:disabled{opacity:.5;cursor:default}.acciones{display:flex;gap:8px;flex-wrap:wrap}.filtros{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;align-items:end}table{width:100%;border-collapse:collapse;background:var(--superficie);border:1px solid var(--borde);border-radius:10px;overflow:hidden}th,td{padding:8px 10px;border-bottom:1px solid var(--borde);text-align:left;vertical-align:middle}th{font-size:.8rem;color:var(--suave);font-weight:600;background:var(--fondo)}td select{max-width:230px}td select.vacio{border-color:#e0a100}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.neg{color:var(--rojo)}tr.excluido td{opacity:.55}.acciones-fila{white-space:nowrap}.vacio{color:var(--suave);text-align:center}.nota{color:var(--suave);font-size:.85rem}.error{color:var(--rojo)}.aviso{background:var(--aviso);padding:8px 12px;border-radius:6px}.paginacion{display:flex;gap:12px;align-items:center;justify-content:center;margin:16px 0;flex-wrap:wrap}.cabecera{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.cabecera div{display:flex;gap:8px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi{background:var(--superficie);border:1px solid var(--borde);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}.kpi span,.kpi small{color:var(--suave);font-size:.85rem}.kpi b{font-size:1.4rem;font-variant-numeric:tabular-nums}.barras{display:flex;flex-direction:column;gap:6px}.barra{display:grid;grid-template-columns:minmax(120px,260px) 1fr auto;gap:10px;align-items:center}.pista{height:12px;background:var(--primario-suave);border-radius:6px;overflow:hidden}.relleno{display:block;height:100%;background:var(--primario);border-radius:6px}@media(max-width:560px){.barra{grid-template-columns:1fr auto}.pista{grid-column:1 / -1;order:3}}.scroll{overflow-x:auto}table.compacta td,table.compacta th{padding:6px 8px;font-size:.85rem}tr.fuerte td{font-weight:600}tr.margen td{border-bottom:2px solid var(--borde)}tr.ingreso td{color:var(--suave)}input.corto{width:70px}input.largo{width:100%}code{background:var(--primario-suave);padding:1px 4px;border-radius:4px}tr.clicable{cursor:pointer}tr.clicable:hover td{background:var(--primario-suave)}tr.detalle>td{background:var(--fondo)}.ok{color:var(--verde)}button.mini{padding:2px 8px;font-size:.8rem;margin-left:8px}a.boton{display:inline-block;text-decoration:none;padding:8px 14px;border-radius:6px;border:1px solid var(--primario);background:var(--primario);color:#fff}a.boton.secundario{background:transparent;color:var(--primario)}a.icono{text-decoration:none;color:var(--suave);padding:4px 6px}.pos{color:var(--verde)}.segmentos{display:flex;gap:0;flex-wrap:wrap}.segmentos button{border-radius:0}.segmentos button:first-child{border-radius:6px 0 0 6px}.segmentos button:last-child{border-radius:0 6px 6px 0}.relleno.negativo{background:var(--rojo)}.filtros .ancho{flex:1 1 260px}@media(max-width:640px){table{display:block;overflow-x:auto}th,td{padding:6px}}header .sesion{margin-left:auto;color:var(--suave);font-size:.9rem;display:flex;align-items:center;gap:8px}header{padding-top:calc(12px + env(safe-area-inset-top));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}main{padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media(max-width:640px){header{gap:8px}header nav{flex-wrap:nowrap;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}header nav a{white-space:nowrap}header .sesion{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px}input,select,textarea{font-size:16px}}.cabecera .segmentos{gap:0}.cabecera>div{flex-wrap:wrap}
