.linkbtn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0 0 0 8px;text-decoration:underline}:root{--bg:#f4f6f3;--surface:#fff;--surface-2:#eaeee8;--line:#d6dcd4;--ink:#1a222c;--ink-2:#485260;--muted:#7b8590;--accent:#0f6b5c;--accent-ink:#fff;--accent-soft:#dcefe9;--side:#15201d;--side-ink:#cfd9d4;--side-active:#22332e;--warn:#b4711a;--warn-soft:#f7ebd6;--crit:#b13a2e;--crit-soft:#f6dedb;--ok:#2f7d4f;--ok-soft:#dff0e3;--display:"Archivo", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121715;--surface:#1a211e;--surface-2:#222b27;--line:#303c37;--ink:#e6ebe7;--ink-2:#b3bdb7;--muted:#87938d;--accent:#4fb8a3;--accent-ink:#0f1a17;--accent-soft:#1f3a34;--side:#0d1311;--side-ink:#b7c2bb;--side-active:#1b2622;--warn:#e0a24a;--warn-soft:#3a2d18;--crit:#e6796c;--crit-soft:#3d2320;--ok:#6fc48d;--ok-soft:#1d3526}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--body);margin:0;font-size:14px;line-height:1.5}a{color:var(--accent)}.app{grid-template-columns:232px 1fr;min-height:100vh;display:grid}nav.side{background:var(--side);color:var(--side-ink);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{font:700 20px var(--display);color:#fff;letter-spacing:-.01em;padding:6px 10px 14px}.brand small{font:500 11px var(--body);color:var(--side-ink);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;display:block}.side a{color:var(--side-ink);border-radius:6px;padding:8px 10px;font-weight:500;text-decoration:none;display:block}.side a.active{background:var(--side-active);color:#fff}.side .group{letter-spacing:.08em;text-transform:uppercase;color:#7f8c86;padding:14px 10px 4px;font-size:11px}.side .user{color:#8f9c96;margin-top:auto;padding:10px;font-size:12px}.side .user button{border:1px solid var(--side-active);color:var(--side-ink);cursor:pointer;font:500 12px var(--body);background:0 0;border-radius:6px;margin-top:6px;padding:5px 10px}main{min-width:0;padding:22px 28px 60px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}h1{font:600 22px var(--display);letter-spacing:-.01em;margin:0}h2{font:600 15px var(--display);margin:0}.crumb{color:var(--muted);margin-bottom:4px;font-size:12px}.crumb a{color:var(--muted);text-decoration:none}.btn{background:var(--accent);color:var(--accent-ink);font:600 13px var(--body);cursor:pointer;border:0;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn.small{padding:4px 10px;font-size:12px}.btn:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters select,.filters input{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:13px var(--body);border-radius:6px;padding:6px 8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px}.grid2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;display:grid}.section{gap:14px;display:grid}.section .card h2{margin-bottom:10px}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.kpi .val{font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;line-height:1.2}.kpi .sub{color:var(--ink-2);margin-top:2px;font-size:12px}.kpi.crit .val{color:var(--crit)}dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}dt{color:var(--muted)}dd{margin:0}form.f fieldset{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 18px;margin:0;padding:12px 14px;display:grid}form.f legend{color:var(--ink-2);padding:0 6px;font-size:12px;font-weight:600}.checklist{border:1px solid var(--line);border-radius:8px;gap:6px;max-height:260px;padding:10px 12px;display:grid;overflow-y:auto}.checklist label{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checklist input[type=checkbox]{width:auto}.rowlist{gap:8px;display:grid}.rowlist .row{align-items:center;gap:8px;display:flex}.rowlist .row input{flex:1}.tablewrap{overflow-x:auto}.attention .card .tablewrap{max-height:320px;overflow-y:auto}.attention .card .tablewrap th{background:var(--surface);position:sticky;top:0}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}tbody tr:last-child td{border-bottom:0}tr.link{cursor:pointer}tr.link:hover td{background:var(--surface-2)}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}td.code{font-family:var(--mono);white-space:nowrap;font-size:12px}.pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}.pill.muted{background:var(--surface-2);color:var(--ink-2)}.pill.accent{background:var(--accent-soft);color:var(--accent)}form.f{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 18px;max-width:1000px;display:grid}form.f .field{gap:4px;display:grid}form.f .field label{color:var(--ink-2);font-size:12px;font-weight:500}form.f .field.wide{grid-column:1/-1}form.f input,form.f select,form.f textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:13px var(--body);border-radius:6px;width:100%;padding:7px 9px}form.f input.invalid,form.f select.invalid{border-color:var(--crit)}.field-error{color:var(--crit);font-size:12px;font-weight:500}form.f .actions{border-top:1px solid var(--line);grid-column:1/-1;align-items:center;gap:8px;margin-top:6px;padding-top:6px;display:flex}.banner{border-radius:6px;margin-bottom:12px;padding:10px 12px;font-size:13px}.banner.error{background:var(--crit-soft);color:var(--crit)}.banner.warn{background:var(--warn-soft);color:var(--warn)}ul.plain{gap:6px;margin:0;padding:0;list-style:none;display:grid}.note{color:var(--muted);font-size:12px}.empty{color:var(--muted);padding:6px 0;font-size:13px}.state{color:var(--muted);padding:16px 0;font-size:13px}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login .card{width:100%;max-width:360px}.login h1{margin-bottom:4px}.login form{gap:12px;margin-top:14px;display:grid}.login label{color:var(--ink-2);gap:4px;font-size:12px;font-weight:500;display:grid}.login input{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:14px var(--body);border-radius:6px;width:100%;padding:8px 10px}@media (width<=760px){.app{grid-template-columns:1fr}nav.side{flex-flow:wrap;gap:4px;height:auto;padding:10px;position:static}.side .group,.side .user{display:none}.brand{width:100%;padding-bottom:6px}main{padding:16px}}.preview-frame{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;height:420px}
