.site-navbar .site-nav-account, .site-navbar .navbar-toggler { display:none; }
.login-page { color:#15253a; min-height:calc(100svh - 115px); display:grid; place-items:center; padding:1.5rem 0 2.5rem; }
.login-page .login-shell { display:grid; grid-template-columns:1fr 1fr; width:100%; max-width:960px; background:#fff; border:1px solid #e1e8f2; border-radius:24px; overflow:hidden; box-shadow:0 20px 65px #182b4b0c; }
.login-page .login-intro { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:2.5rem; background:linear-gradient(145deg,#f2f7ff,#e7effe); border-right:1px solid #dfe8f8; padding:2.5rem; overflow:hidden; }
.login-page .login-intro-badge { display:flex; align-items:center; gap:.55rem; color:#58749c; font-size:.62rem; font-weight:700; letter-spacing:.12em; }
.login-page .login-intro-badge > i { color:#2459bd; font-size:1.05rem; }
.login-page .login-intro h2 { color:#263d5b; font-size:clamp(1.65rem,2.8vw,2.05rem); font-weight:700; line-height:1.25; letter-spacing:-.04em; margin:1.8rem 0 .8rem; }
.login-page .login-intro-content > p { color:#657a96; font-size:.88rem; line-height:1.8; max-width:310px; margin:0; }
.login-page .login-intro-footer { display:flex; flex-wrap:wrap; gap:1rem; color:#71849e; font-size:.7rem; }
.login-page .login-intro-footer > span { display:inline-flex; align-items:center; gap:.4rem; }
.login-page .login-illustration { position:relative; width:210px; margin:.25rem auto 0; padding:12px 12px 5px; }
.login-page .illustration-sheet { display:flex; flex-direction:column; gap:10px; padding:1.4rem; width:180px; border:1px solid #fff; background:#ffffffd9; border-radius:14px; box-shadow:0 16px 35px #2459d312; transform:rotate(-6deg); }
.login-page .illustration-label { display:flex; align-items:center; gap:.35rem; color:#8295b0; font-size:.5rem; letter-spacing:.05em; font-weight:700; margin-bottom:.35rem; }
.login-page .illustration-label > i { color:#6d90c9; font-size:.75rem; }
.login-page .illustration-line { display:block; height:5px; border-radius:5px; background:#e1e9f5; }
.login-page .line-title { height:8px; background:#adc4eb; width:85%; }
.login-page .line-short { width:65%; }
.login-page .illustration-image { display:grid; place-items:center; height:64px; border-radius:7px; color:#9bb8e5; background:linear-gradient(120deg,#eaf2ff,#e4edf9); font-size:1.65rem; }
.login-page .illustration-check { position:absolute; right:0; bottom:10px; width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:#fff; border:1px solid #d3e6de; color:#248264; box-shadow:0 8px 20px #24826412; font-size:1.45rem; transform:rotate(8deg); }
.login-page .illustration-dot { position:absolute; width:9px; height:9px; border-radius:50%; background:#b4c9ec; }
.login-page .dot-one { left:-14px; top:45px; }
.login-page .dot-two { right:4px; top:7px; width:6px; height:6px; background:#bdd9ce; }
.login-page .login-form-panel { padding:2.75rem; }
.login-page .login-welcome-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid #dbe6f8; border-radius:13px; background:#f0f5ff; color:#2459bd; font-size:1.25rem; margin-bottom:1.5rem; }
.login-page .login-eyebrow { color:#8a97a9; font-size:.63rem; font-weight:700; letter-spacing:.12em; }
.login-page h1 { color:#15253a; font-size:1.5rem; font-weight:700; letter-spacing:-.035em; line-height:1.3; margin:0 0 .65rem; }
.login-page .login-description { color:#718096; font-size:.84rem; margin-bottom:1.75rem; }
.login-page .login-messages .alert { border-radius:10px; font-size:.82rem; }
.login-page .form-label { color:#42556f; font-size:.8rem; font-weight:600; margin-bottom:.5rem; }
.login-page .login-input { display:flex; align-items:center; gap:.6rem; background:#fbfcfe; border:1px solid #dfe6ef; border-radius:10px; padding:.25rem .75rem; transition:border-color .15s,box-shadow .15s; }
.login-page .login-input:focus-within { background:#fff; border-color:#8daaf4; box-shadow:0 0 0 .2rem #2459d31a; }
.login-page .login-input > i { color:#8b9bb2; font-size:1rem; }
.login-page .login-input .form-control { min-width:0; padding:.65rem .1rem; border:0; border-radius:0; box-shadow:none; background:transparent; color:#263d5b; font-size:.84rem; }
.login-page .login-input .form-control::placeholder { color:#9aa7b8; }
.login-page .password-toggle { display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:7px; color:#8b9bb2; background:transparent; flex-shrink:0; }
.login-page .password-toggle:hover, .login-page .password-toggle:focus-visible { background:#edf3ff; color:#2459bd; }
.login-page .login-submit { display:flex; align-items:center; justify-content:center; gap:.6rem; width:100%; border-radius:10px; padding:.75rem 1rem; font-size:.85rem; font-weight:600; box-shadow:0 4px 12px #2459d312; }
.login-page .login-submit > i { margin-left:auto; }
.login-page .login-submit > span:nth-child(2) { margin-left:auto; }
.login-page .login-submit:disabled > span:nth-child(2) { margin-left:0; }
.login-page .login-help { color:#8a97a9; text-align:center; font-size:.75rem; line-height:1.7; margin:1.6rem 0 1.25rem; }
.login-page .login-help > span { color:#657a96; }
.login-page .login-home-link { display:flex; justify-content:center; align-items:center; gap:.4rem; color:#657a96; font-size:.74rem; text-decoration:none; }
.login-page .login-home-link:hover { color:#2459bd; }
@media (max-width:991.98px) { .login-page .login-form-panel, .login-page .login-intro { padding:2rem; } }
@media (max-width:767.98px) { .login-page { min-height:calc(100svh - 115px); padding:.75rem 0 2rem; } .login-page .login-shell { grid-template-columns:1fr; max-width:450px; border-radius:18px; } .login-page .login-intro { display:none; } .login-page .login-form-panel { padding:2rem; } }
@media (max-width:375px) { .login-page .login-form-panel { padding:1.5rem; } .login-page h1 { font-size:1.35rem; } }
@media (prefers-reduced-motion:reduce) { .login-page * { transition:none !important; } }
