*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(135deg,#1e6fc0 0%,#155a9e 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;color:#172033}
.login-page{width:100%;min-height:100svh;display:flex;flex-direction:column;padding:max(18px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#1e6fc0 0%,#155a9e 38%,#f5f8fc 38%,#f5f8fc 100%)}
.login-hero{color:#fff;padding:6px 2px 22px}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.login-logo img{width:48px;height:48px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:14px;padding:7px;object-fit:contain}
.login-logo-text strong{display:block;color:#fff;font-size:.95rem;font-weight:800;line-height:1.2}
.login-logo-text span{display:block;color:rgba(255,255,255,.78);font-size:.72rem;line-height:1.3;margin-top:2px}
.login-hero h1{font-size:1.55rem;line-height:1.12;font-weight:800;margin-bottom:8px}
.login-hero p{color:rgba(255,255,255,.84);font-size:.86rem;line-height:1.45}
.login-shell{flex:1;display:flex;align-items:flex-start;justify-content:center}
.login-card{width:100%;max-width:430px;margin:0 auto;background:rgba(255,255,255,.98);border-radius:24px;padding:22px 18px 18px;box-shadow:0 18px 44px rgba(15,38,72,.18);border:1px solid rgba(15,38,72,.08)}
.login-card h2{color:#1e6fc0;font-size:1.5rem;margin-bottom:8px;font-weight:800;letter-spacing:-.02em}
.login-intro{color:#64748b;font-size:.82rem;margin-bottom:18px;line-height:1.45}
.login-alert{padding:11px 14px;border-radius:12px;font-size:.8rem;line-height:1.45;margin-bottom:16px;font-weight:700}
.login-alert.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}
.login-alert.success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}
.login-alert.info{background:#e0f2fe;border:1px solid #bae6fd;color:#075985}
.login-field{margin-bottom:14px}
.login-field label{display:block;color:#334155;font-size:.78rem;font-weight:800;margin-bottom:7px}
.login-field input{width:100%;min-height:52px;border:1px solid #d8e0ea;border-radius:14px;padding:0 14px;background:#f8fafc;color:#172033;font:inherit;font-size:1rem;outline:none;transition:.2s}
.login-field input:focus{border-color:#1e6fc0;background:#fff;box-shadow:0 0 0 3px rgba(30,111,192,.12)}
.password-wrapper{position:relative}
.password-wrapper input{padding-right:54px}
.toggle-password{position:absolute;right:6px;top:5px;width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:#64748b;cursor:pointer}
.otp-input{text-align:center;font-size:1.45rem!important;font-weight:800;letter-spacing:.45rem;font-variant-numeric:tabular-nums}
.login-btn{width:100%;min-height:52px;border:0;border-radius:14px;background:#1e6fc0;color:#fff;font-size:.98rem;font-weight:800;box-shadow:0 12px 24px rgba(30,111,192,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px 16px}
.login-btn:hover{background:#155a9e}.login-btn:disabled{opacity:.65;cursor:not-allowed}
.login-links{display:grid;gap:10px;margin-top:16px}
.login-links a,.link-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:0;border-radius:12px;background:#eef5fd;color:#1e6fc0;text-decoration:none;font-size:.82rem;font-weight:800;cursor:pointer;width:100%}
.login-links i,.link-button i{margin-right:7px}
.password-rules{margin:-2px 0 16px;padding:12px 14px;background:#f8fafc;border-radius:12px;color:#64748b;font-size:.75rem;line-height:1.5}
.login-footer{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5;color:#94a3b8;font-size:.72rem;text-align:center}
@media(min-width:600px){.login-page{padding:max(28px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#1e6fc0 0%,#155a9e 42%,#f5f8fc 42%,#f5f8fc 100%)}.login-hero{width:100%;max-width:430px;margin:0 auto;padding-top:12px}.login-hero h1{font-size:1.9rem}.login-card{padding:28px}.login-links{grid-template-columns:1fr 1fr}}
@media(min-width:900px){body{align-items:center;padding:24px;background:linear-gradient(120deg,#1e6fc0 0%,#155a9e 50%,#f5f8fc 50%,#f5f8fc 100%)}.login-page{display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:52px;max-width:1080px;min-height:auto;margin:auto;padding:42px;background:transparent}.login-hero{max-width:520px;margin:0;padding:0}.login-hero h1{font-size:2.45rem}.login-hero p{font-size:1rem}.login-shell{align-items:center}}
@media(max-width:380px){.login-page{padding-left:12px;padding-right:12px}.login-card{padding:18px 14px 16px;border-radius:20px}}
@media(max-width:850px) and (orientation:landscape){.login-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;min-height:100svh;padding:12px;background:linear-gradient(120deg,#1e6fc0 0%,#155a9e 48%,#f5f8fc 48%,#f5f8fc 100%)}.login-hero{padding:0;align-self:center}.login-shell{align-items:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

