*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#f5f7fb;color:#172033}.wrap{max-width:1100px;margin:auto;padding:24px}.wide{max-width:1450px}.narrow{max-width:900px}.top{background:#fff;border-bottom:1px solid #e6e9ef}.top .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}.brand{font-weight:800}.muted{color:#6b7280;font-size:.92em}h1,h2{margin-top:0}.btn{display:inline-block;border:0;border-radius:10px;padding:11px 16px;background:#172033;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.btn.secondary{background:#fff;color:#172033;border:1px solid #d7dce5}.nav{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.nav a{background:#fff;border:1px solid #e6e9ef;padding:10px 13px;border-radius:10px;text-decoration:none;color:#172033}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border:1px solid #e6e9ef;border-radius:14px;padding:20px}.metric{font-size:36px;font-weight:800}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.table-wrap{overflow:auto;background:#fff;border:1px solid #e6e9ef;border-radius:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #edf0f4;white-space:nowrap}th{font-size:.88em;color:#64748b}.badge{display:inline-block;background:#eef2f7;border-radius:999px;padding:5px 9px;font-size:.82em}.field{margin:12px 0}.field label{display:block;font-weight:650;margin-bottom:6px}.field input,.field select{width:100%;padding:11px 12px;border:1px solid #d7dce5;border-radius:9px;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.roster-table select{min-width:130px;padding:8px;border:1px solid #d7dce5;border-radius:8px;background:#fff}.roster-table th,.roster-table td{vertical-align:top}.link-btn{border:0;background:none;color:#5b21b6;text-decoration:underline;cursor:pointer;padding:0}.alert{padding:12px 14px;border-radius:10px;margin:12px 0;background:#fff3cd}@media(max-width:700px){.wrap{padding:16px}.grid,.form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.top .wrap{gap:12px}.table-wrap{border-radius:10px}}