:root{--bg:#f4f7f8;--surface:#fff;--surface-2:#eef3f5;--surface-3:#e4ecef;--ink:#0f2129;--ink-2:#2b3f47;--muted:#5d6f77;--line:#dde5e8;--line-2:#c9d5d9;--accent:#0d5c6c;--accent-ink:#fff;--accent-soft:#e0eff2;--accent-hover:#0a4a57;--accent-2:#12808f;--ok:#1b7a46;--ok-soft:#e3f3e9;--warn:#a2650f;--warn-soft:#fbf0da;--bad:#b8322a;--bad-soft:#fbe3e0;--dead:#7a2b26;--dead-soft:#f3dcd9;--off:#6b777d;--off-soft:#edf0f1;--bubble:#dcf3e3;--side-bg:#0b2a33;--side-ink:#e6f0f2;--side-muted:#8fb0b8;--side-hover:#12404c;--side-active:#1a5866;--side-line:#173d47;--shadow-sm:0 1px 2px #0f21290f;--shadow:0 1px 2px #0f21290d, 0 6px 20px #0f212912;--shadow-lg:0 12px 40px #0f21292e;--f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body:"Figtree", "Segoe UI", system-ui, sans-serif;--f-data:"JetBrains Mono", ui-monospace, Consolas, monospace;--r:12px;--r-sm:8px;--side-w:252px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a1418;--surface:#111e24;--surface-2:#16262d;--surface-3:#1c3038;--ink:#e5eef0;--ink-2:#c3d3d8;--muted:#8fa3ab;--line:#22363e;--line-2:#2d454e;--accent:#4fb2c3;--accent-ink:#05181d;--accent-soft:#14323a;--accent-hover:#6cc3d2;--accent-2:#4fb2c3;--ok:#52c285;--ok-soft:#12301e;--warn:#e4a84a;--warn-soft:#382a10;--bad:#f07a6e;--bad-soft:#3c1b18;--dead:#e6a39b;--dead-soft:#45221f;--off:#98a6ac;--off-soft:#1f2c31;--bubble:#1b3a29;--side-bg:#071317;--side-ink:#e5eef0;--side-muted:#7f9aa2;--side-hover:#0f262d;--side-active:#15404a;--side-line:#11262c;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-lg:0 16px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a1418;--surface:#111e24;--surface-2:#16262d;--surface-3:#1c3038;--ink:#e5eef0;--ink-2:#c3d3d8;--muted:#8fa3ab;--line:#22363e;--line-2:#2d454e;--accent:#4fb2c3;--accent-ink:#05181d;--accent-soft:#14323a;--accent-hover:#6cc3d2;--accent-2:#4fb2c3;--ok:#52c285;--ok-soft:#12301e;--warn:#e4a84a;--warn-soft:#382a10;--bad:#f07a6e;--bad-soft:#3c1b18;--dead:#e6a39b;--dead-soft:#45221f;--off:#98a6ac;--off-soft:#1f2c31;--bubble:#1b3a29;--side-bg:#071317;--side-ink:#e5eef0;--side-muted:#7f9aa2;--side-hover:#0f262d;--side-active:#15404a;--side-line:#11262c;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-lg:0 16px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;font-size:14.5px;line-height:1.5}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;color:var(--ink);margin:0;line-height:1.15}h1{letter-spacing:-.015em;font-size:1.65rem;font-weight:700}h2{font-size:1.12rem;font-weight:700}h3{font-size:.98rem;font-weight:700}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}.mono{font-family:var(--f-data);font-variant-numeric:tabular-nums;font-size:.86em}.muted{color:var(--muted)}.small{font-size:.84rem}.num{text-align:right;font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);font-size:.72rem;font-weight:700}.cargando{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}.shell{grid-template-columns:var(--side-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--side-bg);height:100vh;color:var(--side-ink);z-index:30;flex-direction:column;gap:6px;padding:16px 12px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.side-brand{border-bottom:1px solid var(--side-line);color:var(--side-ink);align-items:center;gap:10px;margin-bottom:6px;padding:4px 8px 14px;text-decoration:none;display:flex}.side-brand .logo{color:#fff;background:linear-gradient(135deg,#2aa3b5,#0d5c6c);border-radius:9px;width:34px;height:34px;font-size:1rem}.side-brand b{font-family:var(--f-display);font-size:.98rem;line-height:1.15;display:block}.side-brand span{color:var(--side-muted);font-size:.72rem}.side-group{letter-spacing:.12em;text-transform:uppercase;color:var(--side-muted);padding:12px 10px 4px;font-size:.68rem;font-weight:700}.side-link{color:var(--side-ink);opacity:.88;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.side-link svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;flex:none;width:18px;height:18px}.side-link:hover{background:var(--side-hover);opacity:1}.side-link[aria-current=page]{background:var(--side-active);opacity:1;font-weight:600;box-shadow:inset 3px 0 #43c0d2}.side-link .badge{color:var(--side-ink);background:#ffffff1f;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.7rem;font-weight:700}.side-link .badge.alerta{color:#fff;background:#c4473e}.side-foot{border-top:1px solid var(--side-line);color:var(--side-muted);gap:4px;margin-top:auto;padding:12px 8px 0;font-size:.75rem;display:grid}.content{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-in{flex-wrap:wrap;align-items:center;gap:14px;padding:10px 28px;display:flex}.topbar .titulo{font-family:var(--f-display);white-space:nowrap;font-size:1rem;font-weight:700}.topbar .right{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:.84rem;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--ink-2);border-radius:9px;place-items:center;display:grid}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.menu-btn{display:none}.usuario{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-size:.82rem;font-weight:600;text-decoration:none;display:flex}.usuario .avatar{width:28px;height:28px;font-size:.72rem}.demo{color:var(--warn);background:var(--warn-soft);letter-spacing:.02em;white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:.7rem;font-weight:700}.main{align-content:start;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding:26px 28px 72px;display:grid}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.page-head .sub{color:var(--muted);max-width:78ch;margin-top:5px;font-size:.92rem}.page-head .actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.aviso-guardado{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:10px 14px;font-size:.88rem}.velo{display:none}.busqueda{flex:1;min-width:200px;max-width:460px;position:relative}.busqueda input{border:1px solid var(--line);background:var(--surface-2);width:100%;height:36px;color:var(--ink);border-radius:10px;padding:0 12px 0 36px;font-size:.88rem}.busqueda input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.busqueda>svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2px;position:absolute;top:50%;left:11px;translate:0 -50%}.resultados{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:40;border-radius:12px;max-height:420px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.resultados .grupo{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px;font-size:.68rem;font-weight:700}.resultados a{color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;text-decoration:none;display:flex}.resultados a:hover,.resultados a.sel{background:var(--accent-soft)}.resultados .vacio{color:var(--muted);padding:14px;font-size:.86rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0;box-shadow:var(--shadow-sm);align-content:start;gap:12px;padding:18px 20px;display:grid}.card>.card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card>.card-head .actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:1080px){.split{grid-template-columns:1fr}}.stack{align-content:start;gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #0d5c6c40}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.btn.danger{color:var(--bad)}.btn.danger:hover{border-color:var(--bad)}.btn.sm{border-radius:7px;padding:4px 10px;font-size:.79rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.pill.plain:before{display:none}.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-dead{background:var(--dead-soft);color:var(--dead)}.p-off{background:var(--off-soft);color:var(--off)}.p-acc{background:var(--accent-soft);color:var(--accent)}.field{color:var(--muted);gap:5px;min-width:0;font-size:.79rem;display:grid}.field>span{color:var(--ink-2);font-weight:600}.input,.field input,.field select,.field textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:9px;width:100%;padding:8px 10px;font-size:.89rem;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:90px;line-height:1.5}.field input[readonly]{background:var(--surface-2)}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.search{flex:1;min-width:240px;max-width:420px;position:relative}.search input{padding-left:34px}.search svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2px;position:absolute;top:50%;left:10px;translate:0 -50%}.tbl{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.87rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);white-space:nowrap;z-index:1;font-size:.7rem;font-weight:700;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}tbody tr.click{cursor:pointer}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:34px 20px;font-size:.9rem;display:grid}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:.84rem;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;min-width:120px;box-shadow:var(--shadow-sm);border-radius:12px;padding:9px 14px;transition:border-color .15s,box-shadow .15s;display:grid}.chip:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.chip .n{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;line-height:1.2}.chip .l{font-size:.75rem;font-weight:600}.chip.c-ok{color:var(--ok)}.chip.c-warn{color:var(--warn)}.chip.c-bad{color:var(--bad)}.chip.c-dead{color:var(--dead)}.chip.c-off{color:var(--off)}.chip.c-acc{color:var(--accent)}.chip[aria-pressed=true]{background:color-mix(in srgb, currentColor 6%, var(--surface));border-color:currentColor;box-shadow:inset 0 0 0 1px}.kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:inherit;box-shadow:var(--shadow-sm);gap:3px;padding:16px 18px;text-decoration:none;display:grid;position:relative}a.kpi,button.kpi{transition:border-color .15s,box-shadow .15s,transform .15s}a.kpi:hover,button.kpi:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.kpi .n{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:700;line-height:1.15}.kpi .l{color:var(--muted);font-size:.82rem}.kpi .ico{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.kpi .ico svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.kpi .ico.bad{background:var(--bad-soft);color:var(--bad)}.kpi .ico.warn{background:var(--warn-soft);color:var(--warn)}.kpi .ico.ok{background:var(--ok-soft);color:var(--ok)}.tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:inherit;box-shadow:var(--shadow-sm);grid-template-columns:40px 1fr;align-content:start;gap:4px 12px;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.tile:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.tile .ti{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:11px;grid-row:span 3;place-items:center;display:grid}.tile svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.tile b{font-size:.95rem}.tile .d{color:var(--muted);font-size:.8rem;line-height:1.35}.tile .pill{justify-self:start;margin-top:4px}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:.87rem;font-weight:600}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.modal-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#06121685;place-items:center;padding:16px;animation:.15s ease-out aparecer;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:16px;gap:14px;width:min(720px,100%);max-height:calc(100vh - 32px);padding:22px 24px;display:grid;overflow:auto}.modal.wide{width:min(1080px,100%)}.modal-head{background:var(--surface);z-index:2;align-items:center;gap:10px;margin-top:-4px;padding:4px 0 8px;display:flex;position:sticky;top:-22px}.modal-head .x{margin-left:auto}@keyframes aparecer{0%{opacity:0}to{opacity:1}}.toast{background:var(--ink);color:var(--bg);z-index:70;box-shadow:var(--shadow-lg);border-radius:12px;max-width:min(560px,100vw - 32px);padding:11px 18px;font-size:.88rem;animation:.2s ease-out subir;position:fixed;bottom:22px;left:50%;translate:-50%}@keyframes subir{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bar{background:var(--surface-3);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--accent);border-radius:99px;height:100%;display:block}.hbar{grid-template-columns:150px 1fr 150px;align-items:center;gap:12px;font-size:.86rem;display:grid}.hbar .bars{gap:3px;display:grid}.hbar .b{border-radius:3px;height:11px}.semaforo{background:var(--surface-3);border-radius:99px;height:14px;display:flex;overflow:hidden}.semaforo i{height:100%;display:block}.leyenda{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:.8rem;display:flex}.leyenda span{align-items:center;gap:6px;display:inline-flex}.leyenda i{border-radius:3px;width:10px;height:10px;display:inline-block}.callout{background:var(--accent-soft);border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--accent) 15%, transparent);gap:4px;padding:12px 16px;font-size:.88rem;display:grid}.callout.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 20%, transparent)}.callout.bad{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 20%, transparent)}.ayuda{border:1px dashed var(--line-2);border-radius:var(--r);background:var(--surface)}.ayuda>summary{cursor:pointer;color:var(--accent);align-items:center;gap:8px;padding:10px 16px;font-size:.86rem;font-weight:600;list-style:none;display:flex}.ayuda>summary::-webkit-details-marker{display:none}.ayuda>summary svg{stroke:currentColor;fill:none;stroke-width:2px;width:16px;height:16px}.ayuda[open]>summary{border-bottom:1px dashed var(--line-2)}.ayuda ol{counter-reset:paso;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:0;padding:14px 18px 16px;list-style:none;display:grid}.ayuda li{counter-increment:paso;color:var(--ink-2);gap:4px;font-size:.85rem;display:grid}.ayuda li:before{content:counter(paso);background:var(--accent);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.ayuda li b{color:var(--ink)}.timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:92px 1fr;gap:12px;font-size:.86rem;display:grid}.timeline .when{font-family:var(--f-data);color:var(--muted);padding-top:2px;font-size:.75rem}.bubble{background:var(--bubble);white-space:pre-wrap;border-radius:4px 12px 12px;max-width:52ch;padding:10px 12px;font-size:.89rem;line-height:1.5}.drop{border:2px dashed var(--line-2);border-radius:var(--r);background:var(--surface);align-content:start;gap:6px;padding:16px;transition:border-color .15s,background .15s;display:grid}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop.done{border-style:solid;border-color:color-mix(in srgb, var(--ok) 55%, transparent);background:var(--ok-soft)}.drop.miss{border-color:color-mix(in srgb, var(--warn) 55%, transparent)}.check-list{gap:6px;display:grid}.check-list label{align-items:center;gap:8px;font-size:.88rem;display:flex}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font-family:var(--f-display);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.logo{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);font-family:var(--f-display);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.tareas{gap:2px;display:grid}.tarea{border-radius:9px;grid-template-columns:22px 1fr auto;align-items:start;gap:10px;padding:9px 10px;font-size:.88rem;display:grid}.tarea:hover{background:var(--surface-2)}.tarea.hecha .t{color:var(--muted);text-decoration:line-through}.tarea .meta{color:var(--muted);font-size:.76rem}.tarea .cuando{font-family:var(--f-data);white-space:nowrap;color:var(--muted);font-size:.75rem}.tarea .cuando.tarde{color:var(--bad);font-weight:600}.atencion{gap:8px;display:grid}.atencion a{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:grid}.atencion a:hover{border-color:var(--accent)}.atencion .ai{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.atencion .ai.bad{background:var(--bad-soft);color:var(--bad)}.atencion .ai.warn{background:var(--warn-soft);color:var(--warn)}.atencion .ai.ok{background:var(--ok-soft);color:var(--ok)}.atencion svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.atencion .t{font-size:.88rem;font-weight:600}.atencion .d{color:var(--muted);font-size:.78rem}.atencion .flecha{color:var(--muted);font-size:1rem}.portal-top{background:var(--surface);border-bottom:1px solid var(--line)}.portal-top .topbar-in{max-width:1140px;margin:0 auto}.portal .main{max-width:1140px}.bigbtns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.bigbtn{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:14px;gap:6px;padding:18px;transition:border-color .15s,box-shadow .15s;display:grid}.bigbtn:hover{border-color:var(--accent);box-shadow:var(--shadow)}.bigbtn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.bigbtn b{font-size:1.02rem;font-family:var(--f-display)}.bigbtn span{opacity:.85;font-size:.8rem}.ingreso{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.ingreso-marca{color:#e6f0f2;background:radial-gradient(120% 80% at 0 0,#12505d 0%,#0b2a33 55%,#071a20 100%);flex-direction:column;gap:28px;padding:48px 56px;display:flex}.ingreso-marca .logo{color:#fff;background:linear-gradient(135deg,#2aa3b5,#0d5c6c);border-radius:12px;width:44px;height:44px;font-size:1.2rem}.ingreso-marca h1{color:#fff;max-width:18ch;font-size:clamp(1.9rem,3.2vw,2.7rem)}.ingreso-marca p{color:#a9c6cd;max-width:46ch;font-size:1rem}.ingreso-marca ul{gap:14px;max-width:48ch;margin:0;padding:0;list-style:none;display:grid}.ingreso-marca li{color:#d3e4e8;grid-template-columns:30px 1fr;gap:12px;font-size:.92rem;display:grid}.ingreso-marca li b{color:#fff;display:block}.ingreso-marca li svg{stroke:#6fd0de;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;background:#ffffff14;border-radius:8px;width:30px;height:30px;padding:6px}.ingreso-marca .pie{color:#7f9fa7;margin-top:auto;font-size:.78rem}.ingreso-form{background:var(--bg);place-items:center;padding:40px 24px;display:grid}.ingreso-form .box{gap:18px;width:min(440px,100%);display:grid}.opcion-ingreso{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:12px;gap:4px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.opcion-ingreso:hover{border-color:var(--accent);box-shadow:var(--shadow)}.opcion-ingreso b{font-size:.95rem}.opcion-ingreso span{color:var(--muted);font-size:.8rem}.separador{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.75rem;display:flex}.separador:before,.separador:after{content:"";background:var(--line);flex:1;height:1px}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{width:272px;box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.abierto .sidebar{transform:none}.shell.abierto .velo{z-index:25;background:#0006;display:block;position:fixed;inset:0}.menu-btn{display:grid}.topbar .fecha,.topbar .demo-larga{display:none}.ingreso{grid-template-columns:1fr}.ingreso-marca{padding:32px 24px}}@media (max-width:640px){.topbar-in,.main{padding-left:16px;padding-right:16px}.hbar{grid-template-columns:90px 1fr}.hbar>:last-child{grid-column:1/-1}.busqueda{flex-basis:100%;order:3;max-width:none}.usuario .nombre{display:none}}@media print{.sidebar,.topbar,.no-print{display:none!important}.shell{display:block}body{background:#fff}.main{padding:0}body:has(.modal-bg) .main>:not(.modal-bg){display:none!important}.modal-bg{background:0 0;padding:0;position:static}.modal{box-shadow:none;border:0;width:100%;max-height:none;padding:0}.modal-head{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.avatar svg{width:18px;height:18px}td .mono{white-space:nowrap}.chip{min-width:108px;padding:8px 12px}.bigbtns{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}table.compacta th,table.compacta td{vertical-align:top;padding:10px 12px}table.compacta td>div{line-height:1.4}table.compacta td .small{overflow-wrap:anywhere}.acciones{justify-content:flex-end;gap:6px;display:flex}.acciones .icon-btn{width:30px;height:30px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1200px){.topbar-in,.main{padding-left:20px;padding-right:20px}}.portal-auth{background:radial-gradient(90% 60% at 50% 0%, var(--accent-soft) 0%, var(--bg) 70%);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.portal-auth .caja{gap:18px;width:min(430px,100%);display:grid}.portal-auth .marca{text-align:center;justify-items:center;gap:8px;display:grid}.portal-auth .marca .logo{color:#fff;background:linear-gradient(135deg,#2aa3b5,#0d5c6c);border-radius:13px;width:48px;height:48px;font-size:1.3rem}.portal-auth .card{box-shadow:var(--shadow);gap:14px;padding:24px}.portal-auth .pie{text-align:center;color:var(--muted);gap:4px;font-size:.8rem;display:grid}.btn.bloque{width:100%;padding:10px 14px;font-size:.92rem}.error-form{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:9px 12px;font-size:.85rem}.correo-sim{border:1px dashed var(--warn);background:var(--warn-soft);border-radius:10px;gap:6px;padding:12px 14px;font-size:.85rem;display:grid}.correo-sim .cab{letter-spacing:.06em;text-transform:uppercase;color:var(--warn);font-size:.72rem;font-weight:700}.codigo-grande{font-family:var(--f-data);letter-spacing:.3em;color:var(--ink);font-size:1.5rem;font-weight:600}.input-codigo{font-family:var(--f-data);letter-spacing:.4em;text-align:center;font-size:1.3rem!important}.empresa-op{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;width:100%;box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:grid}.empresa-op:hover{border-color:var(--accent);box-shadow:var(--shadow)}.selector-empresa{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:9px;max-width:260px;padding:6px 10px;font-size:.85rem}
