:root{--bg:#0b0b0d;--p1:#121316;--p2:#1a1b20;--p3:#24262d;--red:#e63946;--red2:#c1121f;--dark:#8b0a14;--tx:#e4e4e7;--mut:#8a8a94;--hd:#fff;--ok:#34d399;--warn:#fbbf24}
*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,Segoe UI,sans-serif;background:var(--bg) radial-gradient(900px 400px at 80% -10%,color-mix(in srgb,var(--red2) 18%,transparent),transparent 60%) no-repeat;color:var(--tx)}
h1,h2,h3{margin:0;color:var(--hd)}a{color:inherit;text-decoration:none}
.layout{display:flex;min-height:100vh}.side{width:250px;background:var(--p1);border-right:1px solid #ffffff10;padding:16px 12px;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;transition:width .25s}.side::-webkit-scrollbar{display:none;width:0;height:0}
.side.col{width:68px}.side.col .lbl,.side.col .grp,.side.col .brand b{display:none}
.brand{display:flex;gap:10px;align-items:center;padding:4px 8px 16px}.brand b{font-size:15px;letter-spacing:.5px}.brand small{display:block;color:var(--mut);font-size:11px}
.grp{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#5b5b64;margin:16px 8px 6px}
.nav a{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;color:#a1a1aa}.nav a:hover{background:#ffffff0d;color:#fff}.nav a.on{background:color-mix(in srgb,var(--dark) 25%,transparent);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red2) 40%,transparent)}
.main{flex:1;min-width:0}.top{display:flex;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid #ffffff10;position:sticky;top:0;background:#0b0b0dd0;backdrop-filter:blur(8px);z-index:5}
.top h1{font-size:18px}.sp{flex:1}.av{width:36px;height:36px;border-radius:50%;background:var(--dark);display:grid;place-items:center;font-weight:700;color:#fff}
.who{line-height:1.2}.who small{color:var(--mut);display:block}
.content{padding:24px;animation:rise .4s both}@keyframes rise{from{opacity:0;transform:translateY(8px)}}
.card{background:#1a1b20cc;border:1px solid #ffffff0d;border-radius:18px;padding:20px;box-shadow:0 10px 30px #0006;margin-bottom:18px;overflow-x:auto}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:18px}.grid .card{margin:0}
.stat small{color:var(--mut);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.stat b{display:block;font-size:32px;color:var(--hd);margin-top:6px}
.hero{background:linear-gradient(120deg,color-mix(in srgb,var(--dark) 55%,#000),#1a1b20 60%);border-color:color-mix(in srgb,var(--red2) 33%,transparent)}
button,.btn{background:var(--red2);color:#fff;border:0;border-radius:11px;padding:9px 16px;font:600 13px inherit;cursor:pointer;box-shadow:0 0 18px -4px color-mix(in srgb,var(--red) 53%,transparent)}button:hover{background:var(--red)}
button.ghost{background:transparent;border:1px solid #ffffff1f;box-shadow:none;color:var(--tx)}button.ghost:hover{background:#ffffff0d}button.big{font-size:18px;padding:18px 30px}
input,select,textarea{width:100%;background:var(--p1);border:1px solid #ffffff1a;border-radius:11px;padding:9px 12px;color:#fff;font:inherit}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--red);outline-offset:1px}
label{display:block;font-size:12px;color:var(--mut);margin-bottom:4px}.frm{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.full{grid-column:1/-1}
table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--mut);padding:8px}td{padding:10px 8px;border-top:1px solid #ffffff0d;vertical-align:middle}
.tag{padding:3px 10px;border-radius:99px;font-size:12px;background:#ffffff0d}.t-ok{color:var(--ok);background:#34d39918}.t-warn{color:var(--warn);background:#fbbf2418}.t-bad{color:#ff6b6b;background:#e6394620}
.empty{text-align:center;color:var(--mut);padding:30px}.timer{font:700 44px ui-monospace,monospace;color:var(--hd)}.err{color:#ff6b6b;margin:8px 0 0}
.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login .card{width:100%;max-width:400px;text-align:center}.login form{text-align:left;display:grid;gap:12px;margin-top:18px}
#toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:50}.toast{background:var(--p3);border-left:4px solid var(--ok);padding:12px 16px;border-radius:10px;box-shadow:0 8px 24px #000a}.toast.e{border-color:var(--red)}
dialog{background:var(--p2);color:var(--tx);border:1px solid #ffffff1a;border-radius:16px;padding:22px}dialog::backdrop{background:#000a}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row>*{width:auto}#burger{display:none}
@media(max-width:800px){.side{position:fixed;left:-260px;z-index:20;transition:left .25s;width:250px!important}.side.open{left:0}#burger{display:block}.content{padding:14px}}

/* Intro */
#splash{position:fixed;inset:0;z-index:100;background:#0b0b0d radial-gradient(600px 400px at 50% 45%,color-mix(in srgb,var(--red2) 33%,transparent),transparent 70%);display:grid;place-items:center;text-align:center;cursor:pointer;transition:opacity .6s}
#splash.out{opacity:0}.sp-in svg{animation:pop 1s cubic-bezier(.2,1.4,.4,1) both,glow 2s 1s ease-in-out infinite}
.sp-in h1{font-size:26px;letter-spacing:.25em;margin:22px 0 6px;animation:rise .8s .6s both}.sp-in p{color:var(--mut);letter-spacing:.4em;font-size:11px;animation:rise .8s 1s both}
.sp-bar{width:220px;height:3px;background:#ffffff14;border-radius:9px;margin:26px auto 0;overflow:hidden}.sp-bar i{display:block;height:100%;background:var(--red);animation:load 2.6s ease-out both;box-shadow:0 0 12px var(--red)}
@keyframes pop{from{transform:scale(.3) rotate(-25deg);opacity:0}}@keyframes glow{50%{filter:drop-shadow(0 0 18px var(--red))}}@keyframes load{from{width:0}}
.doc summary{cursor:pointer;font-weight:600;color:var(--hd);padding:6px 0}.doc p{white-space:pre-wrap;color:#cfcfd6}
.bar{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center;margin:9px 0}.bar div{background:#ffffff0d;border-radius:9px;height:12px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--dark),var(--red));border-radius:9px}.bar b{text-align:right}
.flow{display:grid;justify-items:center;gap:2px;margin:12px 0}.nd{background:var(--p3);border:1px solid #ffffff1a;border-radius:12px;padding:10px 16px;min-width:240px;max-width:100%;text-align:center}.nd.st{background:var(--dark);border-color:var(--red);font-weight:700}.nd.dc{border:2px dashed var(--warn);border-radius:30px}.ar{color:var(--red)}
.central{padding:8px 24px;font-weight:600;font-size:13px}.t-x{color:var(--mut)}ul{padding-left:18px;margin:8px 0}li{margin:4px 0}

/* ---- Ampliaciones ---- */
.mut{color:var(--mut)}.av{overflow:hidden;flex:none}.av img{width:100%;height:100%;object-fit:cover;display:block}
.nav a .ic{width:22px;text-align:center;flex:none}.side.col .nav a{justify-content:center;padding:9px 0}.side.col .brand{justify-content:center}
.btn.ghost{background:transparent;border:1px solid #ffffff1f;box-shadow:none;color:var(--tx);display:inline-block}.btn.ghost:hover{background:#ffffff0d}a.btn{text-decoration:none}
.meta{display:flex;gap:10px;align-items:center}
.srch,.bellw{position:relative}.srch input{width:260px;padding:7px 12px}
.pop{position:absolute;right:0;top:calc(100% + 8px);width:340px;max-width:92vw;max-height:70vh;overflow:auto;background:var(--p2);border:1px solid #ffffff1a;border-radius:14px;box-shadow:0 18px 40px #000b;z-index:30;padding:6px}
.srch .pop{left:0;right:auto;width:380px}.pop[hidden]{display:none}
.phead{font-size:11px;color:var(--mut);padding:8px 10px 4px;letter-spacing:.04em}
.pit{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px}.pit:hover,.pit:focus-visible{background:#ffffff10;outline:none}.pit span:nth-child(2){flex:1;min-width:0}.pit small{display:block;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pit .dot{font-size:10px;font-style:normal}
.bell{position:relative;padding:7px 11px}.bdg{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--warn);color:#000;font:700 11px/18px system-ui;text-align:center;padding:0 4px}.bdg.bad{background:#ff5c5c;color:#fff}.bdg[hidden]{display:none}
.chks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}.chk{display:flex;gap:8px;align-items:center;background:var(--p1);border:1px solid #ffffff12;border-radius:10px;padding:7px 10px;margin:0;color:var(--tx);font-size:13px;cursor:pointer}.chk:has(input:checked){border-color:var(--red)}.chk input[type=checkbox],.chk input[type=radio]{width:auto;flex:none}.chk span{display:flex;flex-direction:column;line-height:1.25}.chk small{color:var(--mut);font-size:11px}.chk .qo{border:0;background:transparent;padding:4px}
.two{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.two .card{margin-bottom:0}.two{margin-bottom:18px}
.qb{background:var(--p1);border:1px solid #ffffff12;border-radius:14px;padding:14px;margin-bottom:12px;display:grid;gap:6px}.qf{border:1px solid #ffffff12;border-radius:14px;padding:12px 14px;margin:0 0 12px;display:grid;gap:6px}.qf legend{padding:0 6px;font-weight:600;color:#fff}
dialog.wide{width:min(720px,94vw)}dialog .mbody{max-height:70vh;overflow:auto}
/* Organigrama */
.org{text-align:center}.orow{display:grid;gap:10px;justify-items:center}.orank{font-weight:700;color:#fff;background:var(--dark);border:1px solid var(--red);border-radius:99px;padding:3px 16px}.orank small{color:#ffffffaa;margin-left:8px}
.ocards{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ocard{display:grid;justify-items:center;gap:4px;width:118px;padding:12px 8px;background:var(--p3);border:1px solid #ffffff12;border-radius:14px}.ocard:hover{border-color:var(--red);transform:translateY(-2px)}.ocard b{font-size:13px;line-height:1.2}.oline{width:2px;height:26px;margin:0 auto;background:linear-gradient(var(--red),#ffffff22)}
/* Informe oficial: se ve como una hoja y se imprime tal cual */
.pdoc{background:#fff;color:#16181d;max-width:840px;margin:0 auto 24px;padding:34px 42px;border-radius:6px;font:14px/1.55 Georgia,"Times New Roman",serif;box-shadow:0 10px 30px #0008}
.pdoc h1,.pdoc h3{color:#16181d;font-family:system-ui,Segoe UI,sans-serif}.pdoc h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #c9ccd3;padding-bottom:3px;margin:20px 0 8px}
.ph{display:flex;align-items:center;gap:16px;border-bottom:4px solid var(--red2);padding-bottom:14px}.ph-t{flex:1}.ph-t h1{font-size:21px;letter-spacing:.04em;text-transform:uppercase}.ph-t p{margin:2px 0 0;color:#5a5f6b;letter-spacing:.25em;font-size:11px;font-family:system-ui,sans-serif}.ph-n{text-align:right;font-family:system-ui,sans-serif;display:grid}.ph-n b{font-size:12px;letter-spacing:.08em}.ph-n span{font-size:17px;font-weight:700;color:var(--red2)}
.pm,.pt{width:100%;border-collapse:collapse;margin-top:12px}.pm th,.pm td,.pt th,.pt td{border:1px solid #c9ccd3;padding:6px 9px;text-align:left;color:#16181d;vertical-align:top}.pm th,.pt th{background:#f0f1f4;font:600 11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;width:auto}.pm th{width:14%}
.pdoc .pre{white-space:pre-wrap}.pdoc .mut{color:#6b7078}.sign{display:flex;gap:40px;margin-top:46px}.sign div{flex:1;text-align:center;font-size:12px;font-family:system-ui,sans-serif}.sign span{display:block;border-bottom:1px solid #16181d;height:34px;margin-bottom:6px}.pf{margin-top:28px;border-top:1px solid #c9ccd3;padding-top:8px;font:11px system-ui,sans-serif;color:#6b7078;text-align:center}
@media(max-width:800px){.srch input{width:130px}.srch .pop{width:300px}.pdoc{padding:20px 16px}.meta .who{display:none}.top{gap:8px;padding:10px 12px}}
@media print{@page{margin:14mm}.side,.top,.central,.noprint,button,#toasts,dialog{display:none!important}body{background:#fff;color:#000}.content{padding:0;animation:none}.card{background:#fff;border:1px solid #999;box-shadow:none;color:#000}h1,h2,h3,.stat b{color:#000}.pdoc{box-shadow:none;max-width:none;margin:0;padding:0;border-radius:0}.ph,.pm th,.pt th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdoc h3,.pt tr,.sign{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- Tanda 2 ---- */
.grp{cursor:pointer;display:flex;justify-content:space-between;user-select:none}.grp i{font-style:normal;transition:transform .2s}.grp.shut i{transform:rotate(-90deg)}.gi.shut{display:none}.side.col .grp,.side.col .gi.shut{display:none}.side.col .gi.shut{display:block}
.pb{height:10px;background:#ffffff12;border-radius:9px;overflow:hidden;margin:6px 0}.pb i{display:block;height:100%;background:linear-gradient(90deg,var(--dark),var(--red));border-radius:9px}
.med{font-size:18px;cursor:help}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.lvl{display:inline-block;min-width:26px;text-align:center;border-radius:8px;padding:2px 8px;font-weight:700;background:#ffffff14}.lvl.l1{background:#34d39922;color:var(--ok)}.lvl.l2{background:#fbbf2422;color:var(--warn)}.lvl.l3{background:#fb923c33;color:#fb923c}.lvl.l4{background:#e6394640;color:#ff6b6b}
.zones{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dz{min-height:90px;border:2px dashed #ffffff22;border-radius:14px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.dz.over,.dz.tgt{border-color:var(--red);background:#ffffff08}.dz h4{width:100%;margin:0 0 4px;font-size:13px}
.pchip{background:var(--p3);border:1px solid #ffffff1a;border-radius:99px;padding:4px 10px;cursor:grab;font-size:12px;user-select:none}.pchip.sel{border-color:var(--red);box-shadow:0 0 0 2px var(--red)}
.thread{display:grid;gap:8px;margin:10px 0}.msg{background:var(--p1);border:1px solid #ffffff12;border-radius:12px;padding:8px 12px}.msg small{color:var(--mut)}
.kiosk .side,.kiosk .top{display:none}.kiosk .content{padding:28px}.kiosk .kbig{font:700 64px ui-monospace,monospace;color:var(--hd)}.kiosk .card h3{font-size:22px}.kiosk .kt{font-size:20px}
.wiki{display:grid;grid-template-columns:230px 1fr;gap:16px}@media(max-width:800px){.wiki{grid-template-columns:1fr}}.wiki nav a{display:block;padding:6px 10px;border-radius:8px}.wiki nav a.on,.wiki nav a:hover{background:#ffffff10}.wbody{line-height:1.7}.wbody a{color:var(--red)}
.cert{text-align:center;padding:50px 40px!important}.cert h2{font:700 30px Georgia,serif;color:#16181d;margin:24px 0 8px}.cert .nm{font:italic 34px Georgia,serif;color:var(--red2);border-bottom:1px solid #c9ccd3;display:inline-block;padding:0 24px;margin:12px 0}
.bars{display:flex;align-items:flex-end;gap:10px;height:120px;margin:14px 0}.bars div{flex:1;display:grid;justify-items:center;gap:4px;align-content:end;height:100%}.bars i{display:block;width:100%;background:linear-gradient(var(--red),var(--dark));border-radius:6px 6px 0 0;min-height:2px}.bars small{font-size:10px;color:#6b7078}
.calm *{animation:none!important;transition:none!important}
/* Tema claro */
[data-theme=light]{--bg:#f3f4f7;--p1:#ffffff;--p2:#ffffff;--p3:#eceef3;--tx:#1b1e26;--mut:#5d6472;--hd:#10131a}
[data-theme=light] body{background:var(--bg);color:var(--tx)}[data-theme=light] .card{background:#fff;border-color:#0000001a;box-shadow:0 4px 14px #0000000f}[data-theme=light] .hero{background:linear-gradient(120deg,color-mix(in srgb,var(--red) 14%,#fff),#fff 60%)}
[data-theme=light] .side{background:#fff;border-right-color:#0000001a}[data-theme=light] .top{background:#ffffffe0;border-color:#0000001a}[data-theme=light] .nav a{color:#4b5260}[data-theme=light] .nav a:hover{background:#0000000a;color:#000}[data-theme=light] .nav a.on{color:#000}[data-theme=light] .grp{color:#7a8190}
[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{border-color:#0000002e;color:#111;background:#fff}[data-theme=light] td{border-top-color:#00000014}[data-theme=light] button.ghost,[data-theme=light] .btn.ghost{border-color:#00000026;color:var(--tx)}[data-theme=light] button.ghost:hover{background:#0000000a}
[data-theme=light] .tag{background:#0000000c}[data-theme=light] .pop,[data-theme=light] dialog,[data-theme=light] .toast{background:#fff;color:var(--tx);border-color:#00000020}[data-theme=light] .pit:hover{background:#0000000a}[data-theme=light] .chk,[data-theme=light] .qb,[data-theme=light] .msg{background:#f6f7f9;border-color:#0000001a}[data-theme=light] .ocard{background:#f3f4f7;border-color:#0000001a}[data-theme=light] .pchip{background:#eceef3}[data-theme=light] .pb,[data-theme=light] .bar div{background:#0000000f}
[data-theme=light] .central{background:#0000000a}[data-theme=light] .qf legend{color:var(--hd)}[data-theme=light] .orank{color:#fff}
@media print{.kiosk .side{display:none}}

/* ===== Novedades: chat, temporadas, simulador ===== */
.chatw{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.chatw .card{margin:0}@media(max-width:800px){.chatw{grid-template-columns:1fr}}
.chatl .cr{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;color:var(--tx)}.chatl .cr:hover{background:#ffffff0d}.chatl .cr.on{background:color-mix(in srgb,var(--dark) 25%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red2) 40%,transparent)}
.chatl .cn2{flex:1;min-width:0}.chatl .cn2 b,.chatl .cn2 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatl small{color:var(--mut);font-size:11px}.bdg2{font-style:normal;background:var(--red);color:#fff;border-radius:99px;padding:1px 8px;font-size:11px;font-weight:700}
.cbox{height:55vh;min-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--p1);border-radius:12px;margin-top:10px}.cdate{align-self:center;font-size:11px;color:var(--mut);margin:6px 0}
.cmsg{display:flex}.cmsg.me{justify-content:flex-end}.cmsg .cb{max-width:78%;background:var(--p3);border-radius:14px;padding:7px 12px;white-space:pre-wrap;word-break:break-word}.cmsg.me .cb{background:color-mix(in srgb,var(--dark) 55%,var(--p3))}.cmsg .cb small{display:block;color:var(--mut);font-size:11px;margin-bottom:2px}.cmsg .cb small a{color:var(--mut);margin-left:6px;cursor:pointer}
[data-theme=light] .cbox{background:#f1f2f5}[data-theme=light] .cmsg .cb{background:#fff;border:1px solid #00000014}[data-theme=light] .cmsg.me .cb{background:#ffe3e5}
mark{background:#fbbf2466;color:inherit;border-radius:3px;padding:0 2px}
#fx{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:4}#fx span{position:absolute;top:-8%;opacity:.7;animation:fxfall linear infinite}
@keyframes fxfall{0%{transform:translate(0,-6vh) rotate(0)}50%{transform:translate(24px,50vh) rotate(180deg)}100%{transform:translate(-14px,108vh) rotate(360deg)}}
.calm #fx{display:none}@media(prefers-reduced-motion:reduce){#fx{display:none}}
[data-season=navidad] .top{border-bottom:3px solid transparent;border-image:repeating-linear-gradient(90deg,#d62839 0 22px,#f4f4f5 22px 44px,#14532d 44px 66px) 1}[data-season=navidad] .top h1::before{content:"🎄 "}[data-season=navidad] .brand b::after{content:" 🎅"}
[data-season=halloween] .top{border-bottom:3px solid transparent;border-image:repeating-linear-gradient(90deg,#ff7a1a 0 22px,#2b1055 22px 44px) 1}[data-season=halloween] .top h1::before{content:"🎃 "}[data-season=halloween] .brand b::after{content:" 🦇"}
[data-season=halloween] body{background-color:#0d0a14}[data-season=navidad] .login h1::after{content:" 🎄"}[data-season=halloween] .login h1::after{content:" 🎃"}
@media print{#fx{display:none!important}}
