.auth-body{background:var(--white)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-intro{background:var(--graphite);color:var(--white);padding:24px 40px;display:flex;flex-direction:column}
.auth-intro .side-brand{padding:8px 0}
.auth-pitch{max-width:480px;margin:auto;padding:48px 0 24px}
.auth-pitch h1{font-size:52px;margin:24px 0;letter-spacing:-1.2px}
.auth-pitch h1 em{font-style:normal;color:var(--accent)}
.auth-pitch p{color:#9ca3af;font-size:12px;line-height:1.9}
.auth-pitch img{display:block;width:100%;max-width:360px;height:auto;margin:24px auto 0}
.auth-intro-foot{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:10px;padding:16px 0}
.auth-intro-foot .icon{color:var(--accent)}
.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px}
.auth-card{max-width:400px;width:100%}
.auth-card h2{font-size:32px;letter-spacing:-.8px;margin:0 0 12px}
.auth-card>.muted{margin-bottom:28px}
.account-form{display:flex;flex-direction:column}
.account-form label{font-weight:500;margin:16px 0 8px}
.account-form input:not([type=hidden]),.assignment-form select{width:100%;min-height:48px;padding:12px 16px;background:var(--white);border:1px solid var(--line);border-radius:.375rem;color:var(--ink);font:inherit}
.account-form input:focus{border-color:var(--accent)}
.account-form .btn{margin-top:24px}
.field-help{font-size:10px;color:var(--muted);margin:8px 0 0}
.auth-switch{text-align:center;margin:24px 0}
.auth-switch a{color:var(--amber);font-weight:600}
.auth-note{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line);padding-top:24px;color:var(--muted);font-size:10px}
.auth-note p{margin:0}
.auth-note .icon{color:var(--amber);width:16px;height:16px}
.auth-copyright{font-size:10px;color:var(--muted);margin:40px 0 0}
.account-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.account-panel{padding:28px}
.account-panel h2{margin-top:0}
.assignment-form{display:flex;gap:8px;align-items:center;min-width:300px}
.assignment-form select{min-height:40px;padding:8px;max-width:320px}
.assignment-form .btn{min-height:40px;padding:8px 12px}
.admin-users{margin-top:32px}
.user-link{display:flex;flex-direction:column;text-align:right;max-width:200px}
.user-link strong{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-link small{font-size:9px;color:var(--muted)}
.logout-form{margin:0}
.logout-button{border:1px solid var(--line);background:var(--white);border-radius:.375rem;padding:8px 12px;color:var(--ink)}
.logout-button:hover{background:var(--accent-soft);border-color:var(--accent)}
.sidebar{overflow-y:auto}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{padding:20px 24px}.auth-pitch,.auth-intro-foot{display:none}.auth-main{padding:36px 24px}.account-layout{grid-template-columns:1fr}.user-link{max-width:120px}.user-link small{display:none}}
@media(prefers-reduced-motion:reduce){.auth-body *{scroll-behavior:auto;transition:none}}
