:root{--bg:#f7f5f1;--bg-2:#fbfaf7;--panel:#fff;--panel-2:#f2efea;--ink:#1a1a1a;--ink-2:#4a4a4a;--ink-3:#8a8a86;--ink-4:#b5b1a9;--rule:#e5e1da;--rule-soft:#eeeae2;--accent-green:#4f7a4a;--error:#b54d4d;--display:"Instrument Serif", Georgia, serif;--ui:"Inter", -apple-system, sans-serif;--mono:"JetBrains Mono", monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--ui);margin:0;padding:0}body{-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-size:14px;line-height:1.5;display:flex}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}header.site{border-bottom:1px solid var(--rule);-webkit-backdrop-filter:saturate(180%)blur(12px);background:#f7f5f1e0}.site-inner{align-items:center;gap:32px;max-width:1240px;height:68px;margin:0 auto;padding:0 36px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand .mark{background:var(--ink);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #1a1a1a14}.brand .name{font-family:var(--display);letter-spacing:.01em;font-size:20px}.brand .sub{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.2em;margin-top:2px;font-size:9.5px}.site-cta{gap:8px;margin-left:auto;display:flex}.site-cta a{height:36px;color:var(--ink-2);border:1px solid var(--rule);background:var(--panel);border-radius:7px;align-items:center;padding:0 14px;font-size:12.5px;transition:border-color .15s,color .15s;display:inline-flex}.site-cta a:hover{border-color:var(--ink);color:var(--ink)}main{flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--rule);border-radius:14px;width:100%;max-width:460px;padding:40px 40px 32px;box-shadow:0 20px 48px -24px #1a1a1a14}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--ink-3);font-size:10px}.auth-head{margin-bottom:28px}.auth-head .eyebrow{margin-bottom:12px;display:block}.auth-head h2{font-family:var(--display);letter-spacing:-.015em;margin:0 0 8px;font-size:40px;font-weight:400;line-height:1.05}.auth-head p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.55}.login-tabs{background:var(--panel-2);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.login-tab{height:36px;color:var(--ink-3);border-radius:7px;flex:1;font-size:12.5px;font-weight:500;transition:background .15s,color .15s}.login-tab.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #1a1a1a0a}.login-tab:hover:not(.active){color:var(--ink-2)}.login-error{color:var(--error);background:#b54d4d14;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.5;display:none}.form-group{margin-bottom:14px}.form-group label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10px;display:block}.form-group input,.form-group select{background:var(--bg-2);border:1px solid var(--rule);width:100%;height:42px;font-family:var(--ui);color:var(--ink);border-radius:8px;padding:0 14px;font-size:14px;transition:border-color .15s,background .15s}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8A86' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.form-group input::placeholder{color:var(--ink-4)}.form-group input:focus,.form-group select:focus{background:var(--panel);border-color:var(--ink);outline:none}.submit-btn{background:var(--ink);width:100%;height:46px;color:var(--bg-2);border-radius:8px;margin-top:4px;font-size:13.5px;font-weight:500;transition:opacity .15s}.submit-btn:hover{opacity:.92}.submit-btn.loading,.submit-btn[disabled]{opacity:.6;cursor:wait}.form-foot{text-align:center;margin-top:14px;font-size:12.5px}.form-foot a{color:var(--ink-3);transition:color .15s}.form-foot a:hover{color:var(--ink)}#schoolDetectedMsg{color:var(--accent-green);background:#4f7a4a14;border-radius:6px;margin:-8px 0 14px;padding:8px 12px;font-size:11px;line-height:1.4;display:none}footer.site{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;text-align:center;padding:22px 36px;font-size:10.5px}@media (max-width:520px){.site-inner{padding:0 20px}.auth-card{border-radius:12px;padding:28px 24px 24px}.auth-head h2{font-size:32px}}
