:root{--bg:#f3f5f8;--surface:#fff;--text:#18212f;--muted:#687386;--primary:#3157d5;--primary-dark:#2645ad;--border:#dce1e9;--danger:#bd2c3b;--success:#18794e;--radius:14px;--shadow:0 10px 28px rgba(30,42,66,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.topbar{height:68px;padding:0 max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#111a2b;color:#fff}.topbar a{color:#fff}.brand{font-size:20px;letter-spacing:-.4px}.topbar nav{display:flex;gap:22px;align-items:center}.container{width:min(1120px,calc(100% - 32px));margin:42px auto}.container.narrow{max-width:680px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-1.2px;margin:6px 0}h2{margin-top:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:750;color:var(--primary)}.muted,.hint{color:var(--muted)}.panel,.stat-card,.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:26px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:22px}.stat-card{padding:24px;color:var(--text);display:flex;flex-direction:column}.stat-card:hover{text-decoration:none;border-color:#b9c6f1}.stat-card strong{font-size:38px}.stat-card span{color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:9px 16px;border:0;border-radius:9px;font-weight:700;cursor:pointer}.button:hover{text-decoration:none}.button-primary{background:var(--primary);color:#fff}.button-primary:hover{background:var(--primary-dark)}.button-secondary{background:#edf0f5;color:var(--text)}.stack{display:grid;gap:18px}label{display:grid;gap:7px;font-weight:650}input,select{width:100%;padding:11px 12px;border:1px solid #c9d0dc;border-radius:8px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus{outline:3px solid rgba(49,87,213,.18);border-color:var(--primary)}small{font-weight:400;color:var(--muted)}.form-actions{display:flex;gap:10px}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:16px 20px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}th{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#fafbfc}tr:last-child td{border-bottom:0}.actions{text-align:right}.actions>*{margin-left:12px}.inline-form{display:inline}.link-button{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}.danger{color:var(--danger)}.empty-state{text-align:center;padding:45px 20px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:16px}.alert-success{background:#e8f6ef;color:var(--success)}.alert-error{background:#fbeaec;color:#9f2331}.flash-container{width:min(1120px,calc(100% - 32px));margin:20px auto -20px}.auth-shell{min-height:calc(100vh - 56px);display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#e4eaff,transparent 48%)}.auth-card{width:min(430px,100%);padding:34px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:var(--primary);color:#fff;font-weight:800}.footer{text-align:center;color:var(--muted);font-size:13px;padding:20px}@media(max-width:680px){.topbar{height:auto;padding:16px;align-items:flex-start}.topbar nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.page-heading{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.container{margin:28px auto}.panel{padding:20px}}
