/* Authentication screen presentation only; authentication and verification are unchanged. */
body:is([data-route="auth/login"],[data-route="auth/totp"],[data-route="auth/totp_setup"],[data-route="auth/totp_backup_codes"]){background:#f3f6fa;color:#172b45}
body:is([data-route="auth/login"],[data-route="auth/totp"],[data-route="auth/totp_setup"],[data-route="auth/totp_backup_codes"]) .layout.layout--auth{background:#f3f6fa;background-image:none;min-height:100vh;min-height:100svh}
body:is([data-route="auth/login"],[data-route="auth/totp"],[data-route="auth/totp_setup"],[data-route="auth/totp_backup_codes"]) .layout.layout--auth .content.content--auth{display:flex;padding:48px 32px;align-items:center;justify-content:center}
body:is([data-route="auth/login"],[data-route="auth/totp"],[data-route="auth/totp_setup"],[data-route="auth/totp_backup_codes"]) .crm-page-shell{width:100%;max-width:none}
.login-page{width:100%;max-width:1080px;margin:0 auto;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.login-shell{display:grid;grid-template-columns:43% 57%;min-height:620px;overflow:hidden;border:1px solid #dfe5ed;border-radius:20px;background:#fff;box-shadow:0 16px 52px rgba(24,46,75,.07)}
.login-brand{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:44px 42px 34px;overflow:hidden;background:#0c2c50;color:#fff}
.login-brand__identity{position:relative;z-index:1;display:flex;align-items:center;gap:13px}
.login-brand__mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid #6b829b;border-radius:12px;font-size:25px;font-weight:750;letter-spacing:-1px;color:#fff}
.login-brand__name{display:flex;flex-direction:column;gap:5px;font-size:25px;font-weight:700;line-height:1;letter-spacing:-.7px}
.login-brand__name small{font-size:9px;font-weight:600;letter-spacing:2px;color:#b6c8dc}
.login-brand__intro{position:relative;z-index:1;margin:auto 0;padding:74px 0 82px}
.login-brand__eyebrow{display:block;margin-bottom:24px;font-size:10px;line-height:1.4;letter-spacing:1.8px;font-weight:600;color:#a7bfd8}
.login-brand__intro h2{margin:0;color:#fff;font-size:39px;font-weight:600;line-height:1.2;letter-spacing:-1.4px}
.login-brand__intro p{margin:23px 0 0;color:#c4d3e3;font-size:14px;line-height:1.8}
.login-brand__footer{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:11px;color:#b6c8dc}
.login-brand__footer>span{width:22px;height:1px;background:#7c96b3}
.login-brand__pattern{position:absolute;z-index:0;right:-128px;bottom:-256px;width:490px;height:490px;border:1px solid rgba(186,209,234,.12);border-radius:50%;pointer-events:none}
.login-brand__pattern::before,.login-brand__pattern::after{content:"";position:absolute;inset:48px;border:1px solid rgba(186,209,234,.10);border-radius:50%}
.login-brand__pattern::after{inset:96px}
.login-main{display:flex;align-items:center;justify-content:center;min-width:0;padding:60px 56px}
.login-main__inner{width:100%;max-width:368px}
.login-heading__eyebrow{display:block;color:#64758a;font-size:10px;font-weight:650;letter-spacing:1.8px;margin-bottom:13px}
.login-heading h1{margin:0;color:#172b45;font-size:29px;line-height:1.25;font-weight:650;letter-spacing:-.8px}
.login-heading p{margin:12px 0 0;color:#67768a;font-size:13px;line-height:1.7}
.login-form{display:flex;flex-direction:column;gap:22px;margin-top:32px}
.login-field{min-width:0}
.login-field label{display:block;color:#243a54;font-size:13px;line-height:1.4;font-weight:600;margin-bottom:9px}
.login-field input{box-sizing:border-box;display:block;width:100%;height:50px;border:1px solid #cdd7e3!important;border-radius:8px;padding:0 14px;background:#fff!important;background-image:none!important;color:#172b45!important;-webkit-text-fill-color:#172b45!important;font-family:inherit;font-size:14px;line-height:normal;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.login-field input::placeholder{color:#8592a3;-webkit-text-fill-color:#8592a3;opacity:1}
.login-field input:hover{border-color:#98abc2!important}
.login-field input:focus{border-color:#3976ac!important;box-shadow:0 0 0 3px #e9f0f8!important}
.login-field input:-webkit-autofill,.login-field input:-webkit-autofill:hover,.login-field input:-webkit-autofill:focus{-webkit-text-fill-color:#172b45!important;box-shadow:0 0 0 1000px #f4f8fc inset!important;caret-color:#172b45}
.login-password-wrap{position:relative}
.login-password-wrap input{padding-right:52px}
.login-password-wrap input::-ms-reveal{display:none}
.login-input-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);display:flex;color:#8291a4;pointer-events:none}
.login-form .login-password-toggle{right:5px;width:40px;height:40px;padding:10px;border-radius:6px;color:#65778d;opacity:1;box-shadow:none}
.login-form .login-password-toggle:hover{background:#f0f4f8;color:#173b63}
.login-form .login-password-toggle:focus-visible{outline:2px solid #3976ac;outline-offset:1px}
.login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;margin:4px 0 0;padding:12px 20px;border:1px solid #143b65;border-radius:8px;background:#143b65;color:#fff;font-family:inherit;font-size:14px;font-weight:600;box-shadow:0 2px 3px rgba(12,44,80,.08);cursor:pointer;transition:background .15s}
.login-submit:hover{background:#0c2c50;border-color:#0c2c50}
.login-submit:focus-visible{outline:3px solid #92b7dc;outline-offset:3px}
.login-submit:active{background:#09233f}
.login-verification-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;color:#718095;font-size:11px;line-height:1.6}
.login-verification-note svg{flex-shrink:0;color:#6b829b}
.login-help{margin:28px 0 0;border-top:1px solid #e8edf3;padding-top:22px;color:#7a8797;font-size:11px;line-height:1.7;text-align:center}
.login-help span{color:#4a617b}
.login-page__footer{margin:26px 0 0;color:#7b8796;font-size:11px;line-height:1.8;text-align:center}
@media(min-width:1800px){.login-shell{min-height:660px}}
@media(max-width:900px){.login-brand{padding:38px 30px 30px}.login-brand__intro h2{font-size:32px}.login-brand__break{display:none}.login-main{padding:48px 36px}}
@media(max-width:680px){
 body:is([data-route="auth/login"],[data-route="auth/totp"],[data-route="auth/totp_setup"],[data-route="auth/totp_backup_codes"]) .layout.layout--auth .content.content--auth{padding:28px 16px}
 .login-page{max-width:440px}.login-shell{grid-template-columns:1fr;min-height:0;border-radius:14px}
 .login-brand{padding:24px 28px}.login-brand__mark{width:38px;height:38px;font-size:22px;border-radius:9px}.login-brand__name{font-size:22px}
 .login-brand__intro,.login-brand__footer,.login-brand__pattern{display:none}
 .login-main{padding:36px 28px 30px}.login-heading h1{font-size:26px}.login-heading p{font-size:13px}.login-form{margin-top:27px;gap:20px}
 .login-field input{font-size:16px}.login-help{margin-top:25px}.login-page__footer{padding:0 10px;margin-top:20px;font-size:10px}
}
@media(max-width:360px){.login-main{padding:30px 22px 26px}.login-brand{padding:22px}.login-heading h1{font-size:23px}.login-verification-note{align-items:flex-start;font-size:10px}.login-page__footer span{display:block}}
@media(prefers-reduced-motion:reduce){.login-field input,.login-submit{transition:none}}
.verification-shell .login-main{padding:42px 48px}
.verification-main{max-width:416px}
.verification-account{display:flex;flex-direction:column;gap:3px;margin-top:22px;padding:12px 14px;border:1px solid #e3eaf2;border-radius:8px;background:#f7f9fc;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.verification-account>span{font-size:10px;color:#728198}
.verification-account>strong{color:#344c69;font-weight:500}
.verification-form{margin-top:24px;gap:18px}
.verification-label{margin-bottom:10px;color:#243a54;font-size:13px;font-weight:600}
.verification-digits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.verification-digit{min-width:0}
.verification-digit input{display:block;width:100%;min-width:0;height:58px;padding:0;border:1px solid #cdd7e3!important;border-radius:8px;background:#fff!important;color:#172b45!important;-webkit-text-fill-color:#172b45!important;font-family:inherit;font-size:25px;font-weight:600;text-align:center;outline:none;box-shadow:none!important}
.verification-digit input:focus{border-color:#3976ac!important;box-shadow:0 0 0 3px #e9f0f8!important}
.verification-divider{display:flex;align-items:center;gap:14px;margin:28px 0 22px;color:#7a899b;font-size:11px}
.verification-divider::before,.verification-divider::after{content:"";flex:1;height:1px;background:#e3eaf2}
.verification-inline{display:flex;align-items:center;gap:9px}
.verification-inline input{min-width:0;flex:1}
.verification-secondary{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:10px 17px;border:1px solid #ccd8e5;border-radius:8px;background:#f6f9fc;color:#274767;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;line-height:1.4}
.verification-secondary:hover{background:#edf3f9;border-color:#a7bcd2}
.verification-secondary:focus-visible,.verification-cancel:focus-visible{outline:2px solid #3976ac;outline-offset:3px}
.verification-hint{margin:8px 0 0;font-size:11px;line-height:1.6;color:#778598}
.verification-form>.verification-hint{margin:0}
.verification-cancel-form{margin:23px 0 0;text-align:center}
.verification-cancel{border:0;padding:9px 12px;min-height:36px;border-radius:6px;background:transparent;color:#60758d;font-family:inherit;font-size:11px;cursor:pointer}
.verification-cancel:hover{background:#f2f6fa;color:#274767}
.verification-setup-step h2{display:flex;align-items:center;gap:9px;margin:0 0 15px;color:#243a54;font-size:13px;font-weight:600;letter-spacing:0;line-height:1.4}
.verification-setup-step h2>span{display:grid;place-items:center;width:23px;height:23px;flex-shrink:0;border-radius:50%;background:#edf3f9;color:#355e87;font-size:11px}
.verification-account+.verification-setup-step{margin-top:24px}
.verification-setup-grid{display:grid;grid-template-columns:164px 1fr;gap:20px;align-items:center}
.verification-qr{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e9f1;border-radius:10px;padding:8px}
.verification-qr img{display:block;width:100%;height:auto;aspect-ratio:1;background:#fff}
.verification-setup-grid p{margin:0;color:#6b7c91;font-size:12px;line-height:1.7}
.verification-key{margin-top:18px}
.verification-key input{font-family:ui-monospace,Consolas,monospace;font-size:11px;letter-spacing:0;padding:0 10px}
.verification-recovery-note{margin:23px 0;padding:13px 15px;border-left:3px solid #8babcb;background:#f2f6fb;color:#5c728c;font-size:12px;line-height:1.65}
.verification-codes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.verification-code{padding:12px 7px;border:1px solid #dce5ef;border-radius:7px;background:#f8fafc;color:#284665;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:500;text-align:center;white-space:nowrap;letter-spacing:.5px}
.verification-copy-all{margin-top:16px;width:100%;min-height:44px}
@media(max-width:900px) and (min-width:681px){.verification-shell{grid-template-columns:36% 64%}.verification-shell .login-brand{padding-left:24px;padding-right:24px}.verification-shell .login-brand__intro h2{font-size:28px}.verification-shell .login-main{padding:36px 28px}.verification-setup-grid{grid-template-columns:142px 1fr;gap:14px}}
@media(max-width:680px){.verification-shell .login-main{padding:32px 28px 26px}.verification-digits{gap:7px}.verification-digit input{height:52px;font-size:24px}.verification-codes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verification-setup-grid{grid-template-columns:132px 1fr;gap:14px}.verification-setup-grid p{font-size:11px}.verification-key .verification-inline{flex-wrap:wrap}.verification-key input{flex-basis:100%}.verification-key button{min-height:38px;width:100%}}
@media(max-width:360px){.verification-shell .login-main{padding:28px 22px 23px}.verification-digits{gap:5px}.verification-digit input{height:46px;font-size:22px}.verification-secondary{padding:10px 12px}.verification-setup-grid{grid-template-columns:1fr}.verification-qr{width:170px;margin:auto}.verification-setup-grid p{font-size:12px}.verification-divider{gap:9px}.verification-code{font-size:12px}}
