.login-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 45%,#17345a 0,#0b1d38 55%);color:#f0f3f8}
.login-header{position:relative;background:rgba(11,29,56,.94);padding-inline:max(32px,calc((100vw - 1160px)/2))}
.login-back-link{color:#c4cede;font-size:12px;font-weight:600}
.login-back-link:hover{color:#fff}
.login-main{flex:1;display:grid;place-items:center;padding:48px 20px}
.login-card{width:min(100%,430px);padding:36px;background:#132b4b;border:1px solid #cad8ef24;border-radius:10px;box-shadow:0 24px 70px #020a1845}
.login-kicker{display:flex;align-items:center;gap:10px;color:#bdc9dc;font-size:9px;font-weight:700;letter-spacing:1.4px}
.login-card h1{font:700 32px/1.2 var(--font-display);letter-spacing:-1px;color:#f0f3f8;margin:19px 0 7px}
.login-intro{font-size:12px;color:#c4cede;line-height:1.7;margin:0 0 26px}
#team-login-form{display:grid;gap:9px}
#team-login-form label{font-size:11px;color:#e2e9f3;font-weight:600;margin-top:5px}
#team-login-form input{height:45px;width:100%;padding:0 12px;border:1px solid #b8c9e044;border-radius:5px;background:#0e2240;color:#f0f3f8;font:12px var(--font-body);outline:none}
#team-login-form input::placeholder{color:#9eacc2}
#team-login-form input:focus{border-color:#a9bdf1;box-shadow:0 0 0 3px #a9bdf11a}
.password-field{position:relative}
.password-field input{padding-right:60px!important}
#toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:#c4d2f6;font-size:10px;font-weight:700;cursor:pointer}
.login-submit{height:45px;margin-top:13px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:5px;background:#dce5f1;color:#142745;font-size:12px;font-weight:700;cursor:pointer}
.login-submit:hover{background:#edf2f8}
.login-feedback{padding:10px 12px;border-radius:5px;background:#263f66;color:#f0f3f8;font-size:11px;line-height:1.6;margin:3px 0 0}
.login-notice{display:flex;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid #d6e0ee20;color:#a9bdf1}
.login-notice>span{font-size:15px}
.login-notice p{font-size:10px;line-height:1.7;color:#c4cede;margin:0}
.login-footer{padding:18px;text-align:center;color:#aab7ca;font-size:9px}
@media(max-width:650px){.login-header{height:68px;padding-inline:18px}.login-back-link{font-size:10px}.login-card{padding:27px 22px}.login-main{padding:28px 18px}}

.login-page{background:#f8f9fa;color:#1a1a1a;font-family:var(--font-body)}
.login-header{background:#fff;border-bottom:2px solid #1a1a1a}
.login-back-link{color:#4f4f4f}
.login-back-link:hover{color:#80631b}
.login-card{background:#fff;border:1px solid #c9c9c7;border-top:4px solid #1a1a1a;border-radius:5px;box-shadow:0 8px 28px #1a1a1a0d;color:#1a1a1a}
.login-kicker{color:#665323}
.login-card h1{font:400 42px/1.15 var(--font-display);letter-spacing:0;color:#1a1a1a}
.login-intro{font-size:14px;color:#636363}
#team-login-form label{font-size:13px;color:#333}
#team-login-form input{border-color:#c9c9c7;background:#fff;color:#1a1a1a;font:14px var(--font-body)}
#team-login-form input::placeholder{color:#777}
#team-login-form input:focus{border-color:#80631b;box-shadow:0 0 0 3px #d4af3726}
#toggle-password{color:#665323;font-size:12px}
.login-submit{height:48px;background:#1a1a1a;color:#fff;font-size:14px}
.login-submit:hover{background:#383838}
.login-feedback{background:#f8f6ef;color:#594b27;border-left:3px solid #d4af37;font-size:13px}
.login-notice{border-top:2px solid #1a1a1a;color:#80631b}
.login-notice p{font-size:12px;color:#555}
.login-footer{color:#636363;font-size:11px}

/* Soft warm-white theme */
.login-page{background:#f5f1ea;color:#2b2925}
.login-header{background:#fbf9f5;border-bottom:2px solid #1a1a1a}
.login-card{background:#fffefb;border:1px solid #e7e1d6;border-top:3px solid #b8974a;box-shadow:0 8px 28px #5a4a2a10;color:#2b2925}
.login-card h1{color:#2b2925}
#team-login-form input{border-color:#d9d1c3;background:#fffefb;color:#2b2925}
.login-submit{background:#3a3631}
.login-submit:hover{background:#524c45}
.login-notice{border-top:1px solid #e7e1d6}
#set-password-form{display:grid;gap:9px}
#set-password-form label{font-size:13px;color:#333;font-weight:600;margin-top:5px}
#set-password-form input{height:45px;width:100%;padding:0 12px;border:1px solid #d9d1c3;border-radius:5px;background:#fffefb;color:#2b2925;font:14px var(--font-body);outline:none}
#set-password-form input:focus{border-color:#80631b;box-shadow:0 0 0 3px #d4af3726}
.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:#665323;font-size:12px;font-weight:700;cursor:pointer}
.login-submit:disabled{opacity:.6;cursor:wait}
.login-text-button{justify-self:start;margin-top:6px;padding:4px 0;border:0;background:none;color:#665323;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.login-feedback{margin-top:14px}
[hidden]{display:none!important}
