:root{--bg:#f6f7f9;--surface:#ffffff;--text:#1a1d21;--text-muted:#6b7280;--border:#e5e7eb;--accent:#4f46e5;--accent-soft:#eef2ff;--red:#dc2626;--red-soft:#fee2e2;--yellow:#b45309;--yellow-soft:#fef3c7;--green:#15803d;--green-soft:#dcfce7;--blue:#1d4ed8;--blue-soft:#dbeafe;--gray:#4b5563;--gray-soft:#f3f4f6;--purple:#7c3aed;--purple-soft:#ede9fe}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--surface:#181b21;--text:#e7e9ec;--text-muted:#9ca3af;--border:#2a2e37;--accent:#818cf8;--accent-soft:#26294a;--red:#f87171;--red-soft:#3b1d1d;--yellow:#fbbf24;--yellow-soft:#3a2e12;--green:#4ade80;--green-soft:#14301d;--blue:#60a5fa;--blue-soft:#172a45;--gray:#9ca3af;--gray-soft:#23262e;--purple:#a78bfa;--purple-soft:#2a2140}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);padding:1.25rem .75rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-weight:700;font-size:1rem;padding:0 .6rem 1rem}.brand span{font-weight:400;font-size:.78rem}.brand span,.nav a{color:var(--text-muted);display:block}.nav a{padding:.45rem .6rem;border-radius:8px;font-weight:500}.nav a:hover{background:var(--gray-soft);color:var(--text)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{margin-top:auto;padding:.6rem;font-size:.78rem;color:var(--text-muted)}.content{flex:1 1;padding:2rem 2.5rem;max-width:1100px}.page-title{font-size:1.4rem;font-weight:700;margin-bottom:.25rem}.page-subtitle{color:var(--text-muted);margin-bottom:1.5rem}.sample-banner{background:var(--yellow-soft);color:var(--yellow);border:1px solid var(--yellow);border-radius:8px;padding:.5rem .9rem;margin-bottom:1.5rem;font-size:.85rem}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem}.card h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.75rem}.stat{font-size:2rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.85rem}.list-item{padding:.7rem 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.list-item .title{font-weight:600}.list-item .meta{color:var(--text-muted);font-size:.82rem;margin-top:.15rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .55rem;border-radius:999px;white-space:nowrap}.badge.red{background:var(--red-soft);color:var(--red)}.badge.yellow{background:var(--yellow-soft);color:var(--yellow)}.badge.green{background:var(--green-soft);color:var(--green)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.gray{background:var(--gray-soft);color:var(--gray)}.badge.purple{background:var(--purple-soft);color:var(--purple)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.65rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:none}.empty{color:var(--text-muted);padding:2rem;text-align:center}.search-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.search-form input{flex:1 1;padding:.6rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.95rem}.btn,button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;cursor:pointer}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2.5rem;width:100%;max-width:360px}.login-card h1{font-size:1.2rem;margin-bottom:.35rem}.login-card p{color:var(--text-muted);font-size:.88rem;margin-bottom:1.5rem}.login-card input{width:100%;padding:.65rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.95rem;margin-bottom:.9rem}.login-card button{width:100%}.login-error{color:var(--red);font-size:.85rem;margin-bottom:.9rem}section+section{margin-top:2rem}section>h2{font-size:1.05rem;margin-bottom:.75rem}