:root{--navy:#092942;--green:#08a84f;--ink:#162633;--muted:#687985;--line:#dfe8e2}*{box-sizing:border-box}body{margin:0;background:#f3f7f5;color:var(--ink);font:14px/1.6 Inter,"Segoe UI",Arial,sans-serif}.container-fluid{padding:0}.container-fluid>.row{min-height:100vh}.brand-gradient{background:radial-gradient(ellipse at 0 100%,#0e494d 0,transparent 65%),var(--navy);color:white;padding:64px clamp(32px,5vw,88px)!important;position:relative}.brand-gradient>div{width:100%;max-width:480px;margin:auto}.login-brand{display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:800;font-size:27px;line-height:1;margin-bottom:70px}.login-brand:hover{color:#fff}.login-brand img{width:38px;height:44px}.login-brand strong{color:#08b957}.login-eyebrow{color:#73d8a0;font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:18px}.brand-gradient h2{font-size:clamp(30px,3.2vw,46px);font-weight:750!important;letter-spacing:-1.4px;line-height:1.2;margin-bottom:22px}.login-intro{font-size:15px;color:#c5d8df;line-height:1.8;max-width:360px;margin-bottom:30px}.brand-gradient ul{list-style:none;padding:0;color:#c5d8df!important}.brand-gradient li{position:relative;padding:10px 0 10px 26px;border-top:1px solid #ffffff14;line-height:1.7;font-size:12px}.brand-gradient li:before{content:'✓';color:#58d48c;position:absolute;left:0;top:10px}main{padding:48px!important}main>.w-100>.text-center{text-align:left!important;margin-bottom:26px!important}main h2{font-size:29px;color:var(--navy);letter-spacing:-.7px}main .text-secondary{color:var(--muted)!important;font-size:14px}.card-login{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 44px #09294209}.card-login .card-body{padding:30px!important}.toggle-roles{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:4px;background:#f0f5f2;padding:5px;border:1px solid #e3ebe6;border-radius:11px!important;align-items:stretch}.toggle-roles>.btn{min-width:0!important;flex:none!important;width:100%;margin:0!important;border-radius:7px!important;border:1px solid transparent;font-size:11px;font-weight:650;padding:11px 5px;line-height:1.4;display:flex;align-items:center;justify-content:center;gap:4px;white-space:normal;color:#5f7568;background:transparent}.toggle-roles .bi{font-size:13px;flex-shrink:0}.btn-check:checked+.btn{background:white;color:#08783a;border-color:#cfe3d6;box-shadow:0 2px 5px #09294208}.btn-check:focus-visible+.btn{outline:3px solid #08b95738}.toggle-roles>.btn:hover{background:#e4efe8;color:#08783a}.form-label{font-size:12px;font-weight:650;color:#344e40;margin-bottom:8px}.form-control{min-height:48px;border:1px solid #d5e1d9;border-radius:9px;font-size:14px;padding:12px 14px;color:var(--ink)}.form-control::placeholder{color:#93a198}.form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px #08b95718}.btn-primary{background:var(--green);border:1px solid var(--green);border-radius:9px;padding:13px 14px;font-size:13px;font-weight:650}.btn-primary:hover,.btn-primary:focus{background:#07853f;border-color:#07853f}.btn-outline-primary{color:#08783a;border-color:#cfe3d6;border-radius:9px;font-size:13px}.btn-outline-primary:hover{background:#e9f6ef;color:#08783a;border-color:#9fceb1}.form-text{font-size:11px;color:#74847a;line-height:1.7;margin-top:12px!important}.otp-box{display:none}.otp-input{letter-spacing:.45rem;text-align:center;font-size:20px}.alert{font-size:12px;border-radius:9px;margin-bottom:0}.login-help{text-align:center;font-size:12px;color:#7b8a81;margin-top:24px;line-height:1.9}.login-help a{color:#08783a;text-decoration:none;display:inline-block;margin-top:10px}a:focus-visible,button:focus-visible{outline:3px solid #75c795;outline-offset:3px}a{color:#08783a}
@media(min-width:992px){.brand-gradient{flex:0 0 43%;max-width:43%}main.col-lg-7{flex:0 0 57%;max-width:57%}}
@media(max-width:991px){.container-fluid>.row{min-height:100vh}.brand-gradient{padding:28px 28px 32px!important}.brand-gradient>div{max-width:500px}.login-brand{margin-bottom:28px;font-size:24px}.login-brand img{width:32px;height:37px}.brand-gradient h2{font-size:30px;letter-spacing:-.7px;margin-bottom:12px}.brand-gradient h2 br{display:none}.brand-gradient h2 br:after{content:' '}.login-intro{font-size:13px;margin:0;max-width:440px}.brand-gradient ul{display:none}main{padding:32px 24px 40px!important}main h2{font-size:26px}.login-eyebrow{margin-bottom:10px}}
@media(max-width:380px){.card-login .card-body{padding:20px!important}main{padding:28px 16px!important}.brand-gradient{padding:24px!important}.toggle-roles{grid-template-columns:1fr}.toggle-roles>.btn{padding:8px}.login-brand{font-size:23px}.brand-gradient h2{font-size:27px}}
.local-otp-preview{padding:14px 16px;margin:0 0 20px;border:1px dashed #9fceb1;border-radius:9px;background:#edf8f1;color:#086e36;font-size:13px;font-weight:650;line-height:1.8}.local-otp-preview[hidden]{display:none}
