﻿.v2-app{--v2-app:#F6F7F4;--v2-panel:#fff;--v2-fg:#0B2947;--v2-muted:#52667D;--v2-line:#E3E6E1;--v2-ok:#0F9375;--v2-ok-bg:#D1FAE5;--v2-ok-fg:#065F46;--v2-td:#CA8A04;--v2-td-bg:#FEF3C7;--v2-td-fg:#854D0E;--v2-au:#DC2626;--v2-au-bg:#FEE2E2;--v2-au-fg:#7F1D1D;--v2-sa:#1D4ED8;--v2-celeste:#E0F2F1;--v2-ini:#ECEDE7;--v2-brand:#0B2947;--v2-brand-fg:#fff;--v2-shadow:rgba(11,41,71,.12);min-height:100vh;min-height:100dvh;background:var(--v2-app);color:var(--v2-fg);font:14px 'Segoe UI',system-ui,sans-serif;color-scheme:light}
.v2-app[data-tema=oscuro]{--v2-app:#0A1826;--v2-panel:#0E1F30;--v2-fg:#E6EDF3;--v2-muted:#A6B8CA;--v2-line:#294157;--v2-ok:#34D399;--v2-ok-bg:#0D3A2A;--v2-ok-fg:#6EE7B7;--v2-td:#FBBF24;--v2-td-bg:#3A2D0B;--v2-td-fg:#FCD34D;--v2-au:#F87171;--v2-au-bg:#3B1212;--v2-au-fg:#FCA5A5;--v2-sa:#60A5FA;--v2-celeste:#183B43;--v2-ini:#243B50;--v2-shadow:rgba(0,0,0,.3);color-scheme:dark}
.v2-app *{box-sizing:border-box}.v2-app button{font:inherit;cursor:pointer}.v2-app button:focus-visible,.v2-app a:focus-visible,.v2-scroll:focus-visible{outline:3px solid var(--v2-ok);outline-offset:3px}.v2-barra{background:var(--v2-brand);color:var(--v2-brand-fg);display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 24px}.v2-marca{display:flex;flex-direction:column;gap:5px;min-width:0}.v2-sede{color:#C9D8E8;font-size:12px;overflow-wrap:anywhere}.v2-nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.v2-nav a{color:#C9D8E8;text-decoration:none;padding:10px 14px;border-radius:9px}.v2-nav a.active{background:#244563;color:#fff}.v2-tema{display:flex;align-items:center;gap:8px;color:#fff;background:transparent;border:1px solid #668099;border-radius:9px;padding:9px 12px}.v2-clasica{color:#C9D8E8;font-size:12px}.v2-main{max-width:1240px;margin:auto;padding:28px 24px;min-width:0}.v2-main h1{margin:0;font-size:24px}.v2-sub{color:var(--v2-muted);line-height:1.6;margin:8px 0 16px}.v2-resumen{display:flex;flex-direction:column;gap:18px;max-width:900px}.v2-main .v2-titular{font-size:32px;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}.v2-titular mark{background:none;color:var(--v2-ok)}.v2-casos{display:flex;flex-direction:column;gap:10px}.v2-caso{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border-radius:14px}.v2-caso b{font-size:15px}.v2-caso p{margin:5px 0 0;line-height:1.5}.v2-ini{width:32px;height:32px;border-radius:50%;background:var(--v2-ini);color:var(--v2-fg);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.v2-caso .v2-ini{width:44px;height:44px;font-size:14px;background:var(--v2-panel);color:inherit}.v2-falta{background:var(--v2-au-bg);color:var(--v2-au-fg)}.v2-tarde{background:var(--v2-td-bg);color:var(--v2-td-fg)}.v2-puntual{background:var(--v2-ok-bg);color:var(--v2-ok-fg)}.v2-neutro{background:var(--v2-celeste);color:var(--v2-fg)}.v2-acciones{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v2-btn{border:1px solid var(--v2-line);border-radius:9px;padding:9px 12px;background:var(--v2-panel);color:var(--v2-fg);font-weight:600}.v2-btn-pri{background:var(--v2-brand);color:var(--v2-brand-fg)}.v2-bien{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px;background:var(--v2-panel);border:1px solid var(--v2-line);border-radius:14px}.v2-caras{display:flex;flex-wrap:wrap;gap:3px}.v2-mes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v2-mes>div{background:var(--v2-panel);border:1px solid var(--v2-line);border-radius:12px;padding:16px;line-height:1.5}.v2-mes p{margin:6px 0 0;color:var(--v2-muted)}.v2-mostrador{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}.v2-reloj{background:var(--v2-panel);border:1px solid var(--v2-line);border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:8px}.v2-reloj>b{font-size:48px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.v2-reloj>span{font-size:17px;font-weight:700}.v2-reloj p{color:var(--v2-muted);line-height:1.6}.v2-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.v2-tile{background:var(--v2-panel);color:var(--v2-fg);border:1px solid var(--v2-line);border-radius:16px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;position:relative;min-height:180px;min-width:0}.v2-tile:hover{box-shadow:0 6px 18px var(--v2-shadow)}.v2-tile b{font-size:17px;line-height:1.3}.v2-tile small{color:var(--v2-muted);line-height:1.5;font-size:13px}.v2-ilus{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin-top:12px}.v2-insignia{align-self:flex-end;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;position:absolute;right:12px;top:12px}.v2-scroll{overflow-x:auto;border:1px solid var(--v2-line);border-radius:14px;background:var(--v2-panel);max-width:100%}.v2-tabla{min-width:850px;padding:16px 26px}.v2-eje,.v2-fila{display:grid;grid-template-columns:210px minmax(0,1fr) 125px;gap:18px;align-items:center}.v2-eje{color:var(--v2-muted);font:11px ui-monospace,Consolas,monospace;padding-bottom:12px;border-bottom:1px solid var(--v2-line)}.v2-marcas{position:relative;height:14px}.v2-marcas span{position:absolute;transform:translateX(-50%)}.v2-fila{padding:14px 0;border-bottom:1px solid var(--v2-line)}.v2-fila:last-child{border-bottom:0}.v2-nombre{display:flex;align-items:center;gap:8px;min-width:0}.v2-nombre>div{min-width:0}.v2-nombre b{display:block;overflow-wrap:anywhere;font-size:13px}.v2-nombre small,.v2-estado small{display:block;color:var(--v2-muted);font-size:11px;margin-top:4px}.v2-pista{position:relative;height:28px}.v2-turno{position:absolute;top:6px;height:16px;border-radius:5px;background:var(--v2-celeste)}.v2-punto{position:absolute;top:3px;width:22px;height:22px;border-radius:50%;transform:translateX(-50%);border:3px solid var(--v2-panel)}.v2-punto.v2-puntual{background:var(--v2-ok)}.v2-punto.v2-tarde{background:var(--v2-td)}.v2-punto.v2-salida{background:var(--v2-sa);top:8px;width:16px;height:16px}.v2-ahora{position:absolute;top:-12px;bottom:-12px;width:2px;background:var(--v2-fg);opacity:.5}.v2-estado{font-size:12px;text-align:right}.v2-aviso{background:var(--v2-celeste);color:var(--v2-fg);padding:16px;border-radius:12px;margin:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.v2-vacio{padding:28px;background:var(--v2-panel);border:1px solid var(--v2-line);border-radius:14px;margin-top:16px}.v2-pie{color:var(--v2-muted);font-size:12px;padding:24px 0 0;line-height:1.5}.v2-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.v2-mostrador{grid-template-columns:1fr}.v2-reloj{align-items:flex-start}.v2-nav{margin-left:0}}
@media(max-width:600px){.v2-main{padding:22px 16px}.v2-barra{padding:16px;gap:12px}.v2-marca{width:100%}.v2-nav{width:100%}.v2-nav a{padding:10px 12px}.v2-main .v2-titular{font-size:27px}.v2-caso{grid-template-columns:44px minmax(0,1fr)}.v2-acciones{grid-column:1/-1;justify-content:flex-start}.v2-mes{grid-template-columns:1fr}.v2-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v2-tile{padding:14px;min-height:190px}.v2-tile b{font-size:15px}.v2-insignia{font-size:10px}.v2-reloj>b{font-size:52px}}

/* Tema antes del primer dibujo: App.razor pone data-qb-tema en <html> con lo guardado o lo del sistema, asi no parpadea en claro al abrir en oscuro. Una eleccion explicita (data-tema) le gana. */
html[data-qb-tema=oscuro] .v2-app:not([data-tema=claro]){--v2-app:#0A1826;--v2-panel:#0E1F30;--v2-fg:#E6EDF3;--v2-muted:#A6B8CA;--v2-line:#294157;--v2-ok:#34D399;--v2-ok-bg:#0D3A2A;--v2-ok-fg:#6EE7B7;--v2-td:#FBBF24;--v2-td-bg:#3A2D0B;--v2-td-fg:#FCD34D;--v2-au:#F87171;--v2-au-bg:#3B1212;--v2-au-fg:#FCA5A5;--v2-sa:#60A5FA;--v2-celeste:#183B43;--v2-ini:#243B50;--v2-shadow:rgba(0,0,0,.3);color-scheme:dark}
