.auth-page{min-height:100vh;background:#f5f8fa;font-family:'DM Sans',sans-serif;color:#172d3f}
.auth-shell{min-height:calc(100vh - 3rem);max-width:1400px;padding-top:2rem!important;padding-bottom:2rem!important}
.auth-card{min-height:780px;border:1px solid #dfe7ea;border-radius:1.5rem;overflow:hidden;background:#fff;box-shadow:0 1.25rem 2.75rem rgba(20,53,68,.15)}
.auth-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#075665 0%,#087b89 100%);color:#fff}
.auth-art:before,.auth-art:after{content:'';position:absolute;border-radius:50%;background:#ffffff12;pointer-events:none}
.auth-art:before{width:470px;height:470px;right:-180px;top:-210px}
.auth-art:after{width:500px;height:500px;left:-265px;bottom:-285px}
.auth-art>*{position:relative;z-index:1}
.auth-art-content{position:relative;z-index:2;max-width:560px}
.auth-image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.auth-device{position:absolute;z-index:1;right:5%;bottom:0;width:43%;height:74%;padding:10px 10px 0;border:7px solid #103842;border-bottom:0;border-radius:42px 42px 0 0;background:#d9e8e8;box-shadow:0 1.5rem 2rem #003b4540;overflow:hidden}
.auth-device:before{content:'';position:absolute;z-index:2;top:8px;left:50%;width:26%;height:6px;transform:translateX(-50%);border-radius:10px;background:#23434a}
.auth-device .auth-image{border-radius:28px 28px 0 0}
.auth-copy{max-width:480px}
.auth-rule{width:34px;height:4px;border-radius:8px;background:#2ec4b6}
.auth-art-content .brand-font{font-family:Manrope,sans-serif;font-size:1.65rem!important;font-weight:800}
.auth-art-content .brand-font::first-letter{letter-spacing:-.04em}
.auth-art-content .fa-shield-halved{color:#b8fff4}
.auth-art-content .text-uppercase{font-size:.78rem!important;letter-spacing:.18em!important}
.auth-copy small{font-size:1rem;line-height:1.55}
.auth-feature{position:absolute;z-index:3;left:7%;bottom:6%;max-width:62%;border:1px solid #ffffff30;background:#ffffff12;border-radius:2rem;color:#fff}
.auth-copy h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.08;color:#fff}
.auth-form{background:#fff}
.auth-form-inner{width:100%;max-width:560px;margin:0 auto}
.auth-form h1,.auth-form h2{font-family:Manrope,sans-serif;font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.04em;color:#172d3f}
.auth-form p{font-size:1.05rem;color:#8190a3!important}
.auth-form .form-label{font-size:.9rem;color:#1a2e35}
.auth-form .form-control{min-height:58px;border-color:#d2dfe5;background:#fff;padding:.85rem 1rem;font-size:1rem}
.auth-form .input-group-text{min-width:58px;justify-content:center;border-color:#d2dfe5;color:#438192;background:#fff;font-size:1.1rem}
.auth-form .input-group>.btn{min-width:58px;border-color:#d2dfe5;color:#7c8d9e}
.auth-form .form-control:focus{border-color:#0b9b91;box-shadow:0 0 0 .2rem #0b9b9125}
.auth-submit{min-height:58px;background:linear-gradient(135deg,#0b8994,#086678);border:0;border-radius:.55rem;color:#fff;font-size:1.05rem;box-shadow:0 .7rem 1.2rem rgba(8,102,120,.18)}
.auth-submit:hover{background:#095967;color:#fff}
.auth-page .auth-art{background:linear-gradient(145deg,#0b5d6d,#087783);color:#fff}
.auth-page .auth-device{position:absolute;right:4%;bottom:0}
.auth-page .auth-feature{position:absolute;left:7%;bottom:6%}
.auth-page .auth-image{position:absolute}
.auth-page .auth-submit{background:#0b6d7c;color:#fff}
.auth-page .auth-submit:hover{background:#095967;color:#fff}
.security{border:1px solid #dce6ea;background:#f8fafb;border-radius:1rem;padding:1.05rem 1.15rem;font-size:.95rem!important}
.security .fa-circle-check{color:#0b8190!important}
.security code{color:#e83e8c;background:none;padding:0;font-size:.95rem}
.auth-back{color:#587078}
.auth-back:hover{color:#0b6d7c}
@media(max-width:991.98px){.auth-shell{min-height:100vh;padding-top:1rem!important;padding-bottom:1rem!important}.auth-card{min-height:0;border-radius:0}.auth-art{min-height:430px}.auth-device{width:38%;height:78%}.auth-copy{max-width:62%}.auth-form{min-height:560px}}
@media(max-width:575.98px){.auth-art{min-height:320px}.auth-copy{max-width:100%}.auth-copy h1{font-size:2rem}.auth-device{width:40%;height:75%;opacity:.72}.auth-feature{left:5%;max-width:90%;bottom:4%;font-size:.72rem}.auth-form-inner{max-width:none}}

/* Image-free admin login variant */
.auth-page.auth-page--solo{background:#f5f8f5!important;color:#18353b}
.solo-login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}
.solo-login-card{width:min(100%,440px);padding:2.35rem 2.45rem 2rem;border:1px solid #d9e7e4;border-radius:1.15rem;background:#fff;box-shadow:0 1rem 2.5rem rgba(34,75,75,.09)}
.solo-brand{display:flex;align-items:center;gap:.65rem;font:800 1.2rem/1 Manrope,sans-serif;letter-spacing:-.05em;color:#18353b}
.solo-brand-mark{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.7rem;background:#f8a63b;color:#fff;font-size:.9rem}
.solo-login-content{margin-top:1.85rem}
.solo-login-content h1{margin:0 0 .7rem;font:800 clamp(1.85rem,5vw,2.3rem)/1.05 Manrope,sans-serif;letter-spacing:-.06em;color:#18353b}
.solo-intro{max-width:340px;margin:0 0 1.65rem;color:#648287;font-size:.95rem;line-height:1.4}
.solo-label{display:block;margin:0 0 .45rem;font-size:.9rem;font-weight:800;color:#18353b}
.solo-input{width:100%;height:3.2rem;border:1px solid #d8e5e7;border-radius:.65rem;background:#e8f0ff;padding:0 .9rem;color:#14252d;font:500 .92rem/1 'DM Sans',sans-serif;outline:none;box-sizing:border-box}
.solo-input::placeholder{color:#8696a7}
.solo-input:focus{border-color:#21859a;box-shadow:0 0 0 .2rem rgba(33,133,154,.15)}
.solo-login-content form>.solo-input{margin-bottom:1.4rem}
.solo-password{position:relative;margin-bottom:1.55rem}
.solo-password .solo-input{padding-right:3.5rem}
.solo-password button{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#6d8a8e;font-size:1.1rem;cursor:pointer}
.solo-submit{width:100%;height:3.15rem;border:0;border-radius:.65rem;background:#f8a63b;color:#fff;font:800 .95rem/1 'DM Sans',sans-serif;box-shadow:0 .6rem 1rem rgba(248,166,59,.18);cursor:pointer}
.solo-submit:hover{background:#ed9424;color:#fff}
.solo-submit i{margin-left:1rem;font-size:1.15rem}
.solo-back{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.35rem;color:#287486;text-decoration:none;font-size:.88rem}
.solo-back:hover{color:#18353b}
.auth-page--solo .alert{margin-bottom:1.5rem;border-radius:.75rem}
.auth-page--super{background:#f1f7f8!important}
.auth-page--super .solo-login-card{border-color:#cfe2e5;box-shadow:0 1rem 2.5rem rgba(8,86,102,.12)}
.auth-page--super .solo-brand-mark{background:#0b7180;border-radius:50%;font-size:.85rem}
.auth-page--super .solo-brand{color:#123f4a}
.auth-page--super .solo-login-content h1{color:#123f4a}
.auth-page--super .solo-intro{color:#6b8490}
.auth-page--super .solo-input{background:#f7fbfc;border-color:#cbdde1}
.auth-page--super .solo-input:focus{border-color:#0b7180;box-shadow:0 0 0 .2rem rgba(11,113,128,.15)}
.auth-page--super .solo-submit{background:#0b7180;box-shadow:0 .6rem 1rem rgba(11,113,128,.2)}
.auth-page--super .solo-submit:hover{background:#095d6a}
.auth-page--super .solo-back{color:#0b7180}
.auth-page--super .solo-back:hover{color:#123f4a}
.super-security{display:flex;align-items:center;gap:.55rem;margin-top:1.15rem;padding:.75rem .85rem;border:1px solid #d6e6e8;border-radius:.65rem;background:#f5fafb;color:#6a8087;font-size:.75rem}
.super-security i{color:#0b7180}
@media(max-width:575.98px){.solo-login-shell{padding:1rem}.solo-login-card{min-height:auto;padding:2.4rem 1.5rem 2.2rem;border-radius:1rem}.solo-login-content{margin-top:2.5rem}.solo-intro{font-size:1.05rem;margin-bottom:2rem}.solo-login-content h1{font-size:2.35rem}}
