:root{--navy:#0a2946;--teal:#007d7b;--teal-dark:#006562;--bg:#f5f8fa;--line:#dce5ea;--muted:#667684;--white:#fff;--danger:#b42318;--success:#067647}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--navy);background:var(--bg)}a{color:inherit}.brand{font-size:28px;font-weight:850;letter-spacing:-1.5px}.brand span{color:#1da1f2}.brand.light{color:#fff}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#d9f3f0,transparent 40%),var(--bg);padding:24px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:0 22px 70px rgba(10,41,70,.1)}h1,h2,p{margin-top:0}.auth-card h1{font-size:34px;line-height:1.05;margin:24px 0 12px;letter-spacing:-1.2px}.eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:800;color:var(--teal);margin:20px 0 0}.muted,.panel p{color:var(--muted)}label{font-size:13px;font-weight:750;display:grid;gap:7px}input,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fff;font:inherit;color:var(--navy)}form{display:grid;gap:15px;margin-top:24px}button{border:0;border-radius:10px;padding:12px 18px;background:var(--teal);color:#fff;font-weight:800;cursor:pointer}button:hover{background:var(--teal-dark)}.alert{padding:12px 14px;border-radius:10px;margin:18px 0}.alert.error{background:#fff0ee;color:var(--danger)}.alert.success{background:#ecfdf3;color:var(--success)}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:28px 20px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:8px;margin-top:42px}.sidebar nav a{padding:11px 12px;text-decoration:none;border-radius:9px;color:#d9e5ee}.sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar nav a.disabled{opacity:.48;pointer-events:none}.sidebar small{display:block;font-size:10px}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;font-size:13px}.sidebar-bottom a{color:#8fdad4}.content{padding:36px 42px;min-width:0}.page-header{display:flex;justify-content:space-between;margin-bottom:25px}.page-header h1{font-size:32px;margin:4px 0}.page-header .eyebrow{margin:0}.welcome,.panel,.table-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.welcome{background:linear-gradient(135deg,var(--navy),#0c4666);color:#fff}.welcome p{margin-bottom:0;color:#dcebf3}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.stats span{display:block;color:var(--muted);font-size:13px}.stats strong{font-size:30px;display:block;margin-top:8px}.stats strong.role{font-size:18px;text-transform:capitalize}.panel{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start;margin-bottom:18px}.inline-form{grid-template-columns:1fr 1fr auto;margin:0;align-items:end}.grid-form{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;align-items:end}.table-card{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#f9fbfc}td small{display:block;color:var(--muted);margin-top:4px}.pill{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;text-transform:capitalize}.pill.active{background:#e8f8f1;color:var(--success)}.pill.suspended,.pill.inactive{background:#f2f4f7;color:var(--muted)}@media(max-width:850px){.shell{display:block}.sidebar{position:static;height:auto}.sidebar nav{margin-top:20px;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{margin-top:20px}.content{padding:22px 16px}.panel{grid-template-columns:1fr}.inline-form,.grid-form{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.table-card{overflow-x:auto}.auth-card{padding:28px}.auth-card h1{font-size:29px}}

