
:root{--auth-bg:#0f1b29;--auth-card:#ffffff;--auth-text:#10213a;--auth-muted:#70839a;--auth-line:#dce5ef;--auth-blue:#1677e8}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#162a3e 0,#0f1b29 45%,#0d1722 100%);padding:32px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--auth-text)}
.auth-card{width:min(480px,100%);background:var(--auth-card);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:38px 40px;box-shadow:0 28px 80px rgba(0,0,0,.32)}
.auth-card-compact{width:min(460px,100%)}
.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:30px}.auth-brand .brand-mark{width:46px;height:46px;border-radius:12px;background:#111d2d;color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px}.auth-brand-copy b,.auth-brand-copy small{display:block}.auth-brand-copy b{font-size:15px;letter-spacing:.05em}.auth-brand-copy small{font-size:8px;letter-spacing:.22em;color:#8395a8;margin-top:3px}
.auth-kicker{display:block;font-size:9px;letter-spacing:.18em;font-weight:850;color:#5c7a98;margin-bottom:10px}.auth-intro h1{font-size:30px;line-height:1.08;margin:0 0 10px;letter-spacing:-.02em}.auth-intro p{font-size:13px;line-height:1.55;color:var(--auth-muted);margin:0 0 24px}
.auth-form{display:grid;gap:16px}.auth-field{display:block;margin:0}.auth-field>span,.field-row{font-size:11px;font-weight:800;color:#2f465f}.field-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.forgot-link{font-size:10px;font-weight:700;color:#176fc9}.auth-field input{width:100%;height:48px;margin-top:7px;border:1px solid #ccd8e4;border-radius:11px;background:#fff;padding:0 14px;color:#10213a;outline:none;transition:.15s}.auth-field input:focus{border-color:#2b83dc;box-shadow:0 0 0 4px rgba(43,131,220,.11)}
.remember{display:flex;align-items:center;gap:8px;font-size:11px;color:#64788d;margin:0}.remember input{width:16px;height:16px;accent-color:var(--auth-blue)}
.auth-submit{width:100%;min-height:48px;border:0;border-radius:11px;background:linear-gradient(135deg,#176dcc,#1686ef);color:#fff;font-weight:850;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(22,116,216,.24);transition:.15s}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(22,116,216,.3)}.auth-link-button{text-decoration:none;margin-top:18px}
.auth-footer{border-top:1px solid #e4ebf2;margin-top:24px;padding-top:18px;text-align:center;font-size:9px;color:#8798aa}.lock-dot{color:#3ccf95;margin-right:5px}.auth-back{display:block;margin-top:18px;text-align:center;font-size:10px;color:#4f6b87}.auth-success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e9f8f1;color:#0a9a65;font-size:24px;font-weight:900;margin:0 0 20px}.flash.error{margin-bottom:16px;padding:11px 13px;border:1px solid #f0c6c1;background:#fff1ef;color:#ad4036;border-radius:10px;font-size:11px}
@media(max-width:560px){.login-page{padding:18px}.auth-card{padding:28px 22px;border-radius:18px}.auth-intro h1{font-size:26px}.field-row{align-items:flex-start;flex-direction:column;gap:3px}}
