:root{--login-background:#fff;--login-text:#18304f;--login-button:#18304f;--login-button-text:#fff;--login-panel:#18304f;--login-panel-text:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18304f;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit}button,a,input{outline-offset:4px}:focus-visible{outline:3px solid #3981d3}.auth-page{min-height:100vh;min-height:100svh}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100svh}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:64px 40px;background:var(--login-background);color:var(--login-text)}.login-card{width:100%;max-width:420px}.login-card h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin:10px 0 12px}.login-intro{margin:0 0 32px;opacity:.75;font-size:15px}.student-brand{display:inline-block;font-size:42px;font-weight:800;text-decoration:none;letter-spacing:-1px;margin-bottom:16px}.login-field{margin-bottom:20px}.login-field label{display:block;font-size:14px;font-weight:650;margin-bottom:8px}.login-field input{display:block;width:100%;height:50px;border:1px solid #c4d2e4;border-radius:9px;padding:12px 14px;background:rgba(127,148,172,.06);color:inherit}.login-field input:focus{border-color:var(--login-text)}.login-password{position:relative}.login-password input{padding-right:84px}.login-password button{position:absolute;right:8px;top:8px;height:34px;border:0;background:transparent;color:inherit;border-radius:5px;font-size:12px;cursor:pointer}.login-submit{width:100%;min-height:50px;border:0;border-radius:9px;background:var(--login-button);color:var(--login-button-text);font-weight:650;cursor:pointer;margin-top:8px}.login-submit:hover{filter:brightness(.92)}.login-links{display:flex;flex-direction:column;align-items:center;gap:14px;margin:24px 0;font-size:14px;font-weight:600}.login-links a{text-underline-offset:4px}.login-back{display:block;text-align:center;font-size:13px;opacity:.75;margin-top:32px;text-underline-offset:4px}.login-version{text-align:center;font-size:12px;opacity:.65;margin-top:32px}.notice{padding:12px 14px;background:#edf3fa;border-radius:8px;margin:16px 0;font-size:14px;color:#18304f}.notice.error{background:#fff0f0;color:#8c2020;border:1px solid #e5b9b9}.captcha-status{font-size:13px;margin:0 0 8px}.login-antibot{margin:12px 0;min-height:0}.login-antibot .g-recaptcha,.login-antibot .cf-turnstile{max-width:100%}.auth-art{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--login-panel);color:var(--login-panel-text);min-width:0}.auth-art-image{position:relative;width:90%;height:65vh;object-fit:contain;z-index:1}.blueprint-grid{position:absolute;inset:0;opacity:.09;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:32px 32px}.auth-art-caption{position:absolute;bottom:60px;left:40px;right:40px;display:flex;flex-direction:column;gap:8px;z-index:2}.auth-art-caption strong{font-size:30px}.auth-art-caption span{font-size:15px}.auth-student .auth-art-image[style*="cover"]{width:100%;height:100%;position:absolute;inset:0}.auth-student .auth-art-caption{background:var(--login-panel);padding:18px;border-radius:12px}.auth-admin{background:#f4f7fc}.auth-admin .auth-brand{position:absolute;top:36px;left:4vw;display:flex;align-items:center;gap:22px;z-index:3}.auth-brand>a{font-size:36px;font-weight:800;text-decoration:none;letter-spacing:-1px}.auth-brand>span{border-left:1px solid #bbcee6;padding-left:22px;font-size:11px;text-transform:uppercase;letter-spacing:1.4px;line-height:1.8}.auth-brand small{font-size:10px;opacity:.7}.auth-admin .auth-layout{max-width:1440px;margin:auto;gap:16px;align-items:center;padding:132px 4vw 60px}.auth-admin .auth-form-panel{padding:42px;background:#fff;border-radius:18px;box-shadow:0 12px 40px rgba(24,48,79,.07);max-width:520px;width:100%;justify-self:center;min-width:0}.auth-admin .auth-art{background:transparent;color:#4773a9;align-self:stretch}.auth-admin .auth-art-image{width:100%;height:100%;min-height:400px;mix-blend-mode:multiply}.auth-admin .blueprint-grid{opacity:.035}.auth-admin .login-submit{background:#2671cf}.auth-admin .login-links{color:#2468b4}.auth-admin .login-card h1{font-size:28px}@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.auth-form-panel{padding:48px 24px}.auth-admin .auth-layout{padding:112px 20px 32px}.auth-admin .auth-form-panel{padding:32px 24px}.auth-admin .auth-brand{left:24px;top:24px}.auth-brand>span{font-size:9px;letter-spacing:.6px}.auth-brand>a{font-size:30px}.login-card h1{font-size:26px}}@media(prefers-reduced-motion:no-preference){.login-submit{transition:filter .15s}}@media(max-width:360px){.auth-form-panel{padding-left:16px;padding-right:16px}.auth-admin .auth-layout{padding-left:10px;padding-right:10px}.auth-admin .auth-form-panel{padding-left:16px;padding-right:16px}.auth-brand>span{display:none}}

.auth-student .blueprint-art{filter:grayscale(1) invert(1);mix-blend-mode:screen}.student-brand,.auth-art-caption{overflow-wrap:anywhere}.auth-admin .auth-art-image{opacity:.82}

.client-login-logo{display:block;width:auto;max-width:100%;height:auto;max-height:92px;object-fit:contain}.auth-art-caption .client-login-logo{max-height:70px}

.auth-page{display:flex;flex-direction:column}.auth-layout{width:100%;flex:1;min-height:calc(100svh - 64px)}.login-legal{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 24px;min-height:64px;text-align:center;font:400 13px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#526477;background:#f4f7fc}.login-legal a{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}.login-legal .legal-links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
