@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#080d13;--panel:#101821;--line:#273443;--muted:#92a1b3;--text:#edf3f8;--accent:#4ea1e8;--accent2:#a6d6ff}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 18% 20%,#13273a 0,transparent 42%),var(--bg);color:var(--text);font:14px Inter,Arial,sans-serif;min-height:100vh}button,input{font:inherit}.auth-page{display:grid;place-items:center;padding:28px}.auth-wrap{width:min(1040px,100%);min-height:610px;display:grid;grid-template-columns:1fr 440px;border:1px solid #263545;border-radius:20px;overflow:hidden;background:#0d141d;box-shadow:0 28px 100px #0008}.brand-panel{padding:52px 46px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(145deg,#122334,#0b121b 70%);border-right:1px solid var(--line)}.brand-mark{font-size:28px;font-weight:800;letter-spacing:-2px;color:white;margin-bottom:55px}.brand-mark span{color:var(--accent);margin-left:5px}.brand-mark.small{font-size:21px;margin:0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#70b7f1}.brand-panel h1{font-size:43px;line-height:1.13;letter-spacing:-1.6px;margin:16px 0}.brand-panel h1 span{color:#81c2f8}.brand-panel p{color:#a5b4c4;line-height:1.8;max-width:350px}.status-line{margin-top:54px;font-size:10px;letter-spacing:1.5px;color:#b5c2d0;display:flex;gap:10px;align-items:center}.status-line i{width:7px;height:7px;border-radius:50%;background:#55d6a1;box-shadow:0 0 12px #55d6a177}.login-panel{padding:38px 38px 28px;display:flex;flex-direction:column;justify-content:center}.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.mini-mark{font-weight:800;font-size:12px;padding:8px 10px;border:1px solid #35516b;border-radius:7px;color:#91cfff}.secure{font-size:9px;letter-spacing:1.3px;color:#8394a7}.login-panel h2{font-size:26px;letter-spacing:-.8px;margin:10px 0}.muted{color:var(--muted);line-height:1.65}.login-panel form{display:grid;gap:9px;margin-top:23px}.login-panel label{font-size:11px;color:#b9c7d5;font-weight:600;margin-top:5px}.login-panel input{width:100%;border:1px solid #2d3b4b;border-radius:8px;padding:13px 12px;color:var(--text);background:#0a1119;outline:none}.login-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4ea1e822}.primary,.discord,.secondary{border-radius:8px;padding:13px 14px;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.primary{border:0;background:#328bd3;color:white;margin-top:12px}.primary span{margin-left:auto}.divider{display:flex;align-items:center;gap:12px;color:#708194;font-size:10px;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:#293746;flex:1}.discord{border:1px solid #33465b;color:#dce9f5;background:#151f2a}.discord-icon{font-size:17px}.fine{font-size:10px;color:#78899b;line-height:1.65;margin-top:18px}.foot{font-size:9px;letter-spacing:1.2px;color:#5f7184;margin-top:27px}.foot span{color:var(--accent);padding:0 5px}.notice{font-size:12px;border:1px solid #6a4c36;background:#2a1d15;color:#ffd0a7;padding:10px;border-radius:7px;margin-top:14px}.hidden{display:none!important}.app-page{background:radial-gradient(ellipse at 70% 0,#13273a 0,transparent 40%),var(--bg)}.appbar{height:74px;display:flex;align-items:center;gap:14px;padding:0 34px;border-bottom:1px solid var(--line);background:#0b121bdc}.appbar small{display:block;color:#718398;font-size:9px;letter-spacing:1.3px;margin-top:4px}.spacer{flex:1}.identity{color:#aabaca;font-size:12px}.secondary{border:1px solid #314356;color:#cbd8e5;background:#111c27;padding:9px 13px}.dashboard{max-width:1150px;margin:52px auto;padding:0 28px}.dashboard h1{font-size:34px;letter-spacing:-1px;margin:10px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}.cards article,.workspace-card{background:#101821;border:1px solid var(--line);border-radius:12px;padding:22px}.card-kicker{font-size:9px;letter-spacing:1.6px;color:#6fb9f5;font-weight:800}.cards h3{font-size:17px;margin:18px 0 7px}.cards p,.workspace-card p{color:var(--muted);line-height:1.7;font-size:12px}.workspace-card h2{margin:14px 0 8px;font-size:21px}.panel-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.panel-tags span{padding:7px 10px;border:1px solid #304456;border-radius:6px;color:#bcd5e9;font-size:11px}@media(max-width:760px){.auth-wrap{grid-template-columns:1fr}.brand-panel{padding:30px;min-height:280px;border-right:0;border-bottom:1px solid var(--line)}.brand-mark{margin-bottom:25px}.brand-panel h1{font-size:34px}.status-line{margin-top:25px}.login-panel{padding:28px}.cards{grid-template-columns:1fr}.appbar{padding:0 16px}.dashboard{margin:30px auto}.identity{display:none}}

/* Admin panel */
.admin-section{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.section-heading h2{margin:8px 0;font-size:25px}
.section-heading p{margin:0}
.toolbar{display:flex;gap:10px;margin:16px 0}
.toolbar input,.toolbar select,.assignment-form input,.assignment-form select{background:#0a1119;color:var(--text);border:1px solid #304154;border-radius:7px;padding:11px 12px;min-width:0}
.toolbar input{flex:1}
.toolbar select{min-width:160px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#0d141d}
.accounts-table{width:100%;border-collapse:collapse;min-width:800px;text-align:left}
.accounts-table th,.accounts-table td{padding:13px 14px;border-bottom:1px solid #202d3a;vertical-align:top;font-size:12px}
.accounts-table th{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#83bce9;background:#111b26}
.accounts-table tr:last-child td{border-bottom:0}
.accounts-table td strong{font-size:12px}
.accounts-table td small{font-size:10px;color:var(--muted)}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px!important}
.status-badge,.admin-badge{display:inline-block;padding:5px 7px;border-radius:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.status-approved{color:#7de0b1;background:#123326;border:1px solid #245b43}
.status-pending{color:#ffd18a;background:#382b16;border:1px solid #725426}
.status-rejected,.status-suspended{color:#ffaaa6;background:#391d20;border:1px solid #673237}
.admin-badge{margin-top:6px;color:#a7d5ff;background:#172b3e;border:1px solid #315a7d}
.row-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:155px}
.mini-button{font-size:10px;padding:6px 8px;border:1px solid #34485c;border-radius:6px;background:#14202c;color:#d7e8f7;cursor:pointer}
.mini-button:hover,.secondary:hover{border-color:var(--accent)}
.admin-notice{margin:12px 0;padding:11px 13px;border:1px solid #2e5b49;background:#10281f;color:#a5efca;border-radius:7px;font-size:12px}
.admin-notice.error{border-color:#714247;background:#301b20;color:#ffc0c0}
.assignment-card{margin-top:22px}
.assignment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;max-width:760px;margin-top:16px}
.assignment-form label{align-self:end;color:#aabaca;font-size:11px}
.assignment-form input,.assignment-form select{width:100%}
.assignment-form .primary{grid-column:1/-1;width:max-content}
@media(max-width:760px){.section-heading{align-items:flex-start;flex-direction:column}.toolbar{flex-direction:column}.assignment-form{grid-template-columns:1fr}.assignment-form .primary{width:100%}}
