.auth-page-login { max-width:1060px; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); padding-top:50px; }
.auth-page-login .login-panel { min-width:0; padding:27px 42px 36px; border-radius:18px 0 0 18px; }
.auth-page-login .auth-brand { margin:30px 0 23px; }
.auth-page-login .auth-panel h1 { margin-bottom:5px; font-size:29px; }
.auth-page-login .auth-intro { margin-bottom:22px; }
.login-role-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:23px; }
.login-role-tabs a { display:flex; align-items:center; gap:10px; min-width:0; min-height:74px; padding:11px 13px; border:1px solid #dcece1; border-radius:8px; background:#f0f8f2; color:#496b57; transition:transform .2s,border-color .2s,box-shadow .2s; }
.login-role-tabs a[data-login-role="teacher"] { border-color:#d9e9f3; background:#eff7fc; color:#4f7690; }
.login-role-tabs a:hover { transform:translateY(-2px); }
.login-role-tabs a[aria-selected="true"] { border-color:#75ad8a; box-shadow:inset 0 0 0 1px #75ad8a,0 6px 16px rgba(75,134,95,.11); }
.login-role-tabs a[data-login-role="teacher"][aria-selected="true"] { border-color:#84bce0; box-shadow:inset 0 0 0 1px #84bce0,0 6px 16px rgba(71,139,185,.11); }
.login-role-tabs a:focus-visible { outline:2px solid #4d94a3; outline-offset:2px; }
.login-role-symbol { flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; border-radius:8px; background:#d9eddc; color:#467d59; font-size:14px; font-weight:800; }
.login-role-tabs a[data-login-role="teacher"] .login-role-symbol { background:#dbeef8; color:#5687a8; }
.login-role-tabs strong { font-size:14px; white-space:nowrap; }
.login-role-arrow { margin-left:auto; color:#81a78c; font-size:17px; }
.login-role-tabs a[data-login-role="teacher"] .login-role-arrow { color:#86b0cb; }
.login-role-window { width:100%; min-height:245px; overflow:hidden; }
.login-role-track { display:flex; width:200%; transform:translateX(0); transition:transform .32s ease; }
.login-panel[data-role="teacher"] .login-role-track { transform:translateX(-50%); }
.login-role-card { flex:0 0 50%; min-width:0; padding:1px; }
.login-role-card .auth-form { gap:15px; }
.login-role-card .auth-form input { width:100%; border-radius:8px; }
.auth-form select { width:100%; height:44px; min-width:0; padding:0 12px; border:1px solid #dfe8e2; border-radius:8px; background:#fff; color:var(--ink); outline-color:var(--sage); font:inherit; font-weight:400; }
.auth-class-empty { margin:0; color:#8a6654; font-size:12px; }.auth-submit:disabled { opacity:.55; cursor:not-allowed; }
.login-role-card .auth-submit { min-height:46px; border-radius:8px; }
.login-panel[data-role="teacher"] .auth-submit { background:#a6d6f2; color:#315d77; }
.login-panel[data-role="teacher"] .auth-form input:focus { outline-color:#87cefa; }
.login-role-card .auth-switch { margin-top:17px; }
.login-role-footnote { margin:19px 0 0; color:#7b8b86; text-align:center; font-size:12px; }
.login-aside { position:relative; min-width:0; padding:41px 32px 34px; border-radius:0 18px 18px 0; background:#dff0e6; overflow:hidden; }
.login-aside .eyebrow { margin-bottom:11px; color:#6f9b7d; }
.login-aside .aside-quote { position:relative; z-index:1; font-size:27px; }
.login-aside-art { position:relative; align-self:stretch; min-height:215px; display:grid; place-items:center; }
.login-art-paper { width:165px; height:165px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:8px solid #fff; border-radius:8px; background:#e9f7ef; box-shadow:0 14px 28px rgba(77,132,99,.12); transform:rotate(-7deg); }
.login-art-paper b { color:#639b78; font-size:58px; line-height:1; }
.login-art-paper small { margin-top:8px; color:#67957a; font-size:10px; }
.login-art-tag { position:absolute; padding:6px 10px; border:1px solid #dce9e2; border-radius:7px; background:#fff; box-shadow:0 7px 16px rgba(77,121,95,.08); color:#5d7e68; font-size:11px; font-weight:700; }
.login-art-prompt { top:12%; right:0; background:#fff1ef; color:#ac756e; transform:rotate(5deg); }
.login-art-python { bottom:19%; left:0; background:#ebf6fd; color:#5f90b2; transform:rotate(-5deg); }
.login-art-flask { bottom:4%; right:4%; background:#fff9e6; color:#9a8555; transform:rotate(4deg); }
.login-aside .aside-stats { position:relative; z-index:1; }
@media (max-width:860px) { .auth-page-login { grid-template-columns:minmax(0,1fr); max-width:560px; }.auth-page-login .login-panel { border-radius:18px; }.auth-page-login .login-aside { display:none; } }
@media (max-width:560px) { .auth-page-login { padding:27px 15px 50px; }.auth-page-login .login-panel { padding:23px 20px 27px; }.auth-page-login .auth-brand { margin:25px 0 22px; }.auth-page-login .auth-panel h1 { font-size:25px; }.login-role-tabs { gap:8px; }.login-role-tabs a { gap:7px; min-height:67px; padding:8px; }.login-role-symbol { flex-basis:29px; width:29px; height:29px; }.login-role-tabs strong { font-size:12px; }.login-role-arrow { display:none; } }
@media (prefers-reduced-motion:reduce) { .login-role-tabs a,.login-role-track { transition:none; } }
