:root{--navy:#002A53;--navy-dark:#001D3A;--ink:#13283D;--cyan:#17A1CF;--cyan-soft:#E8F6FB;--slate:#5E6F80;--green:#16834A;--green-soft:#EAF5EF;--red:#B42318;--red-soft:#FEE4E2;--amber:#B54708;--amber-soft:#FFFAEB;--line:#E3E9EF;--paper:#F7F9FC;--card:#FFFFFF;--sidebar:#0B1F36;--sidebar-2:#0F2A47;--radius:12px;--shadow:0 1px 2px rgba(0,29,58,.06),0 18px 40px -18px rgba(0,29,58,.18);--font:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.demo-banner{background:linear-gradient(90deg,#0B1F36,#123A63);color:#fff;font-size:12.5px;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.demo-banner b{color:#7DD3FC;font-weight:700}.demo-banner .chip{background:rgba(23,161,207,.2);color:#B6E9FA;border:1px solid rgba(23,161,207,.35);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#D7E3F0;padding:18px 14px 24px;display:flex;flex-direction:column;gap:8px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--cyan),#3B82F6);display:grid;place-items:center;letter-spacing:-.02em}.brand-mark,.brand-word{color:#fff;font-weight:800;font-size:13px}.brand-word{letter-spacing:.08em}.brand-sub{font-size:11px;color:#8BA3BB;margin-top:2px}.nav-group{margin-top:10px}.nav-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7E95AB;padding:8px 10px 6px;font-weight:700}.nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;color:#C9D7E6;font-size:13.5px;font-weight:550}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a.on{background:rgba(23,161,207,.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(23,161,207,.35)}.nav .count{font-size:11px;font-weight:700;background:rgba(255,255,255,.1);padding:1px 7px;border-radius:999px;color:#B6CBDD}.nav a.on .count{background:rgba(23,161,207,.35);color:#E8F6FB}.sidebar-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.user-chip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;background:rgba(255,255,255,.05)}.avatar{width:28px;height:28px;border-radius:999px;background:#1D4ED8;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}.user-chip small{display:block;color:#8BA3BB;font-size:11px}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-size:20px;letter-spacing:-.02em;color:var(--navy-dark)}.topbar .meta{color:var(--slate);font-size:12.5px}.content{padding:22px 24px 48px;max-width:1240px}.grid{display:grid;grid-gap:14px;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.content{padding:16px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card h2,.card h3{margin:0 0 8px;color:var(--navy-dark);letter-spacing:-.02em}.card h2{font-size:16px}.card h3{font-size:14px}.card p.muted,.muted{color:var(--slate);font-size:13px}.stat{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--navy)}.stat-label{font-size:12px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;border:1px solid transparent;padding:8px 14px;font-size:13px;font-weight:650;cursor:pointer;transition:.15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-dark)}.btn-secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn-secondary:hover{border-color:#C5D0DC}.btn-danger{background:var(--red-soft);color:var(--red);border-color:#FECDCA}.btn-success{background:var(--green-soft);color:var(--green);border-color:#A6F4C5}.btn-ghost{background:transparent;color:var(--slate)}.pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}.pill-pass{background:var(--green-soft);color:var(--green)}.pill-fail{background:var(--red-soft);color:var(--red)}.pill-progress{background:var(--cyan-soft);color:#0E7490}.pill-neutral{background:#F1F5F9;color:var(--slate)}.pill-amber{background:var(--amber-soft);color:var(--amber)}.pill-navy{background:#E8EEF6;color:var(--navy)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:#F8FAFC;padding:10px 12px}table.data td,table.data th{border-bottom:1px solid var(--line)}table.data td{padding:11px 12px;vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tr:hover td{background:#FCFDFE}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:650;color:var(--slate);cursor:pointer}.filters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.form{display:grid;grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:12px;font-weight:700;color:var(--slate);letter-spacing:.04em;text-transform:uppercase}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;color:var(--ink)}.field textarea{min-height:80px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px}.check{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font-size:13px}.toast{position:fixed;right:18px;bottom:18px;background:var(--navy-dark);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);font-size:13.5px;z-index:50}.steps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.step{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;background:#F1F5F9;color:var(--slate)}.step.on{background:var(--cyan-soft);color:#0E7490}.step.done{background:var(--green-soft);color:var(--green)}.tile-link{display:block;transition:.15s ease}.tile-link:hover{transform:translateY(-2px)}.alert{border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:14px;background:var(--amber-soft);color:var(--amber);border:1px solid #fedf89}