:root{--bg:#f3f5f9;--surface:#fff;--surface-2:#edf1f7;--ink:#1d2540;--muted:#5b6680;--line:#dde3ed;--side:#1f2a55;--side-2:#18214a;--side-ink:#dfe4f4;--side-muted:#9aa5c8;--accent:#e5532f;--accent-ink:#fff;--sun:#ffb238;--blue:#2a7fc1;--ok:#1d8f43;--warn:#b86e00;--bad:#c0392b;--info:#2a6fb0;--wait:#6a55c9;--teal:#13808a;--neutral:#6b7488;--heat0:#edf1f7;--shadow:0 1px 2px #1f2a550f,0 6px 20px #1f2a5512;--f-head:"Quicksand",system-ui,"Segoe UI",sans-serif;--f-body:"Open Sans",system-ui,"Segoe UI",Roboto,sans-serif;--r:12px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1325;--surface:#161c32;--surface-2:#1e2640;--ink:#e5e9f4;--muted:#9ba4bd;--line:#2a3352;--side:#0a0f1f;--side-2:#121a33;--side-ink:#dfe4f4;--side-muted:#8590b3;--accent:#ff7a5c;--accent-ink:#1a1020;--sun:#ffc061;--blue:#5aa6e8;--ok:#4cc874;--warn:#f0a53a;--bad:#ef6b5e;--info:#62a8ea;--wait:#a495f2;--teal:#3fc1cb;--neutral:#9aa3bb;--heat0:#1e2640;--shadow:0 1px 2px #0000004d,0 6px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1325;--surface:#161c32;--surface-2:#1e2640;--ink:#e5e9f4;--muted:#9ba4bd;--line:#2a3352;--side:#0a0f1f;--side-2:#121a33;--side-ink:#dfe4f4;--side-muted:#8590b3;--accent:#ff7a5c;--accent-ink:#1a1020;--sun:#ffc061;--blue:#5aa6e8;--ok:#4cc874;--warn:#f0a53a;--bad:#ef6b5e;--info:#62a8ea;--wait:#a495f2;--teal:#3fc1cb;--neutral:#9aa3bb;--heat0:#1e2640;--shadow:0 1px 2px #0000004d,0 6px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--f-head);text-wrap:balance;margin:0;font-weight:700;line-height:1.2}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.num,td.n,.kpi b{font-variant-numeric:tabular-nums}a{color:var(--blue)}.app{grid-template-columns:236px minmax(0,1fr);min-height:100%;display:grid}.side{background:var(--side);color:var(--side-ink);flex-direction:column;gap:18px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.sunmark{flex:none;width:34px;height:34px}.brand b{font-family:var(--f-head);letter-spacing:.06em;font-size:17px;display:block}.brand small{color:var(--side-muted);letter-spacing:.04em;font-size:11.5px}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:var(--side-ink);border-radius:9px;align-items:center;gap:11px;padding:9px 10px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.nav a svg{opacity:.8;flex:none;width:18px;height:18px}.nav a:hover{background:var(--side-2)}.nav a.on{background:var(--side-2);box-shadow:inset 3px 0 0 var(--sun)}.nav a .cnt{background:var(--accent);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.nav .sep{background:var(--side-2);height:1px;margin:8px 6px}.who{background:var(--side-2);border-radius:10px;flex-direction:column;gap:8px;margin-top:auto;padding:10px;display:flex}.who label{color:var(--side-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.seg{background:var(--side);border-radius:8px;gap:3px;padding:3px;display:flex}.seg button{color:var(--side-ink);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:6px 4px;font-size:13px;font-weight:600}.seg button.on{background:var(--sun);color:#2a1d00}.main{flex-direction:column;min-width:0;display:flex}.topbar{display:none}.banner{background:color-mix(in srgb,var(--sun) 22%,var(--surface));color:var(--ink);padding-block:7px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.banner b{font-weight:700}.view{padding-block:22px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));flex-direction:column;gap:18px;width:100%;max-width:1440px;display:flex}@media (min-width:1000px){.view{padding-left:28px;padding-right:28px}}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.head h1{color:var(--ink);font-size:26px}.head p{color:var(--muted);margin:4px 0 0}.actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{border-color:color-mix(in srgb,var(--blue) 50%,var(--line))}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.pri:hover{filter:brightness(1.05)}.btn.sm{border-radius:7px;padding:5px 9px;font-size:12px}.btn.ghost{background:0 0}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 0;display:flex}.card>header h3{font-size:15px}.card>header small{color:var(--muted)}.card .body{padding:14px 16px 16px}.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.filters .lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:2px;font-size:11px;font-weight:700}.inp,select.inp,textarea.inp{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;max-width:100%;padding:7px 9px;font-size:13px}textarea.inp{resize:vertical;width:100%}.inp:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 20%,transparent);outline:none}.search{flex:220px}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:13px 14px;display:flex}.kpi span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:11.5px;font-weight:700}.kpi b{font-family:var(--f-head);font-size:27px;line-height:1.15}.kpi em{color:var(--muted);font-size:12.5px;font-style:normal}.kpi em i{color:var(--ok);font-style:normal;font-weight:700}.kpi.hl{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.grid2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;display:grid}.grid2e{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}@media (max-width:1100px){.grid2,.grid2e{grid-template-columns:minmax(0,1fr)}}.tw{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);padding:9px 10px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 10px}td.n,th.n{text-align:right}tbody tr.click{cursor:pointer}tbody tr.click:hover td{background:var(--surface-2)}td .sub{color:var(--muted);font-size:12px;display:block}td select.inp{padding:4px 6px;font-size:12px}.pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.chip{--c:var(--neutral);color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 28%,transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 8px;font-size:12px;font-weight:600;display:inline-flex}.chip:before{content:"";background:var(--c);border-radius:50%;width:7px;height:7px}.c-nuevo{--c:var(--info)}.c-pend{--c:var(--warn)}.c-cont{--c:var(--teal)}.c-int{--c:var(--wait)}.c-rp{--c:var(--accent)}.c-ok{--c:var(--ok)}.c-desc{--c:var(--neutral)}.c-bad{--c:var(--bad)}.c-esp{--c:var(--info)}.tag{background:var(--surface-2);color:var(--muted);letter-spacing:.02em;border-radius:5px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.tag.dup{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.tag.ret{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.late{color:var(--bad);font-weight:700}.today{color:var(--warn);font-weight:700}.pipe{flex-wrap:wrap;gap:8px;display:flex}.pipe button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;min-width:108px;padding:7px 11px;display:flex}.pipe button b{font-family:var(--f-head);font-variant-numeric:tabular-nums;font-size:19px}.pipe button small{color:var(--muted);font-size:11.5px;font-weight:600}.pipe button.on{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 30%,transparent)}.bar{background:var(--surface-2);border-radius:99px;height:8px;display:flex;overflow:hidden}.bar i{height:100%;display:block}.bar .bc{background:var(--blue)}.bar .br{background:var(--sun)}.hbar{grid-template-columns:110px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:3px 0;font-size:12.5px;display:grid}.hbar span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.heat{border-collapse:separate;border-spacing:3px;width:auto;font-size:11.5px}.heat th{text-align:center;background:0 0;border:0;padding:2px 4px;font-size:10.5px}.heat th.cn{text-align:left;text-transform:none;letter-spacing:0;color:var(--ink);white-space:nowrap;padding-right:8px;font-size:12px;font-weight:600}.heat td{border:0;padding:0}.heat td button{cursor:pointer;font-variant-numeric:tabular-nums;width:44px;height:28px;color:var(--ink);border:0;border-radius:5px;font-size:11px;font-weight:700}.heat td.na{background:repeating-linear-gradient(45deg,transparent 0 4px,var(--surface-2) 4px 6px);border-radius:5px;width:44px;height:28px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.legend i{vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.camps{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.camp{flex-direction:column;gap:10px;padding:15px;display:flex}.camp h3{font-size:17px}.camp .meta{color:var(--muted);font-size:12.5px}.camp .row{justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.camp .row b{font-variant-numeric:tabular-nums}.camp.off{opacity:.72}.camp footer{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.weeks{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px;display:grid}.week{flex-direction:column;gap:8px;padding:13px;display:flex}.week h4{justify-content:space-between;gap:6px;font-size:14px;display:flex}.week h4 small{font-family:var(--f-body);color:var(--muted);font-size:12px;font-weight:500}.week dl{grid-template-columns:1fr auto;gap:3px 8px;margin:0;font-size:12.5px;display:grid}.week dt{color:var(--muted)}.week dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.week .pct{font-family:var(--f-head);font-size:22px;font-weight:700}.week.full{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.capedit{align-items:center;gap:6px;font-size:12px;display:flex}.capedit input{width:70px}.agenda{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.ag-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.ag-item:last-child{border-bottom:0}.ag-item .tx{flex:1;min-width:0}.ag-item .tx b{font-weight:600;display:block}.ag-item .tx small{color:var(--muted)}.ag-item .ac{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.ag-empty{color:var(--muted);padding:10px 0;font-size:13px}.count{font-family:var(--f-head);background:var(--surface-2);border-radius:99px;padding:1px 9px;font-size:13px;font-weight:700}.scrim{z-index:40;background:#0a0e1e73;position:fixed;inset:0}.drawer{background:var(--surface);z-index:41;width:min(560px,100%);padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 40px #0003}.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.drawer>header h2{font-size:19px}.drawer .scroll{flex-direction:column;gap:18px;padding:16px 18px 30px;display:flex;overflow-y:auto}.modal{z-index:41;background:var(--surface);border-radius:14px;flex-direction:column;width:min(620px,100% - 24px);max-height:calc(100% - 40px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.modal>header h2{font-size:18px}.modal .scroll{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.modal>footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.x{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:22px;line-height:1}.form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form .full{grid-column:1/-1}@media (max-width:560px){.form{grid-template-columns:1fr}}.fld{flex-direction:column;gap:4px;min-width:0;display:flex}.fld>label,.fld>span.l{color:var(--muted);font-size:12px;font-weight:700}.fld>label .req{color:var(--accent)}.fld .inp{width:100%}.err{color:var(--bad);font-size:12.5px;font-weight:600}.note{background:var(--surface-2);color:var(--muted);border-radius:9px;padding:10px 12px;font-size:12.5px}.note.warn{background:color-mix(in srgb,var(--warn) 13%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.note.bad{background:color-mix(in srgb,var(--bad) 11%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)}.note.ok{background:color-mix(in srgb,var(--ok) 11%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}.dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;display:grid}.dl div span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:700;display:block}.dl div b{word-break:break-word;font-weight:600}.sec h3{margin-bottom:8px;font-size:14px}.hist{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.hist li{border-bottom:1px dashed var(--line);grid-template-columns:86px minmax(0,1fr);gap:10px;padding:8px 0;font-size:13px;display:grid}.hist li time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.wkpick{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.wkpick label{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:7px;padding:6px 8px;font-size:12.5px;display:flex}.wkpick label small{color:var(--muted);display:block}.wkpick label.fullw small{color:var(--bad);font-weight:600}.wkpick input{margin-top:3px}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:60;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:13px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.arch{flex-direction:column;gap:18px;display:flex}.prose{max-width:70ch}.prose p{margin:0 0 10px}.cmp th,.cmp td{vertical-align:top}.cmp td:first-child{white-space:nowrap;font-weight:600}.win{color:var(--ok);font-weight:700}.diagram{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (max-width:760px){.diagram{grid-template-columns:minmax(0,1fr)}}.box{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:12px;font-size:12.5px;display:flex}.box h4{font-size:13.5px}.box ul{margin:0;padding-left:16px}.box.core{background:color-mix(in srgb,var(--blue) 10%,var(--surface));border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.ents{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.ent{border:1px solid var(--line);background:var(--surface);border-radius:10px;font-size:12px;overflow:hidden}.ent h4{background:var(--side);color:var(--side-ink);padding:8px 10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px;font-weight:600}.ent ul{margin:0;padding:6px 10px 8px;list-style:none}.ent li{justify-content:space-between;gap:8px;padding:2px 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11.5px;display:flex}.ent li em{color:var(--muted);font-style:normal}.ent li .k{color:var(--accent);font-weight:700}.ent li .f{color:var(--blue);font-weight:700}.steps{counter-reset:s;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.steps li:before{content:counter(s);background:var(--sun);color:#2a1d00;width:26px;height:26px;font-weight:700;font-family:var(--f-head);border-radius:50%;place-items:center;display:grid}.check{gap:6px;margin:0;padding:0;list-style:none;display:grid}.check li{padding-left:22px;position:relative}.check li:before{content:"";border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);width:9px;height:5px;position:absolute;top:7px;left:3px;transform:rotate(-45deg)}@media (max-width:900px){.app{grid-template-columns:minmax(0,1fr)}.side{z-index:50;width:260px;padding-top:calc(18px + env(safe-area-inset-top,0px));padding-left:max(12px,env(safe-area-inset-left,0px));transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.side.open{transform:none;box-shadow:10px 0 40px #00000059}.topbar{top:env(safe-area-inset-top,0px);z-index:30;background:var(--side);color:var(--side-ink);padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));align-items:center;gap:10px;display:flex;position:sticky}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:31;background:var(--side);position:fixed;inset:0 0 auto}.topbar b{font-family:var(--f-head);letter-spacing:.06em}.topbar button{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px}.topbar .me{color:var(--side-muted);margin-left:auto;font-size:12.5px}.head h1{font-size:22px}.hbar{grid-template-columns:90px minmax(0,1fr) 40px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.login{background:var(--side);min-height:100%;padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));place-items:center;display:grid}.login form{background:var(--surface);border-radius:16px;flex-direction:column;gap:14px;width:min(380px,100%);padding:28px 24px;display:flex;box-shadow:0 20px 60px #00000059}.login .brand{color:var(--ink);padding:0}.login .brand small{color:var(--muted)}.loading{min-height:100%;color:var(--muted);font-family:var(--f-head);place-items:center;font-size:16px;display:grid}.who .salir{border:1px solid var(--side-muted);color:var(--side-ink);cursor:pointer;background:0 0;border-radius:8px;padding:6px;font-size:12.5px;font-weight:600}.who .nombre{font-family:var(--f-head);font-size:16px;font-weight:700}.busy{opacity:.6;pointer-events:none}.kpis.kpis3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.kpis3 .kpi{box-shadow:none;padding:10px 12px}.kpis3 .kpi b{font-size:20px}.drawer .actions{flex-wrap:wrap}.drawer .dl+.actions,.drawer .dl{margin-bottom:12px}.files .ag-item .ac{gap:6px;display:flex}@media (max-width:520px){.kpis.kpis3{grid-template-columns:1fr}}.dl div b{overflow-wrap:anywhere}
