/* Construction photograph: https://images.unsplash.com/photo-1541888946425-d81bb19240f5 */
.login-page{min-height:100svh;display:grid;grid-template-columns:58% 42%;background:#f8fafc;color:#111827}
.login-story{position:relative;isolation:isolate;background:#092235;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);color:white}
.login-story:before,.login-story:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.login-story:before{background:linear-gradient(rgba(9,34,53,.78),rgba(9,34,53,.88)),url('/assets/images/login-construction.jpg') center/cover}
.login-story:after{background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:54px 54px}
.login-story-inner{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;padding:48px clamp(36px,5.2vw,90px);padding-right:13%}
.login-brand{width:280px;background:white;border-radius:5px;padding:12px 16px}
.login-brand img{width:100%;height:auto;display:block}
.login-story-copy{margin:auto 0;padding:48px 0 36px;max-width:550px}
.login-story h1{font-size:clamp(44px,4.5vw,64px);font-weight:700;line-height:1.08;letter-spacing:-2.4px;margin:0 0 24px}
.login-story h1 span{color:#ff6b20}
.login-intro{font-size:18px;line-height:1.75;color:#d4dde5;margin:0 0 34px}
.login-features{padding:0;margin:0;list-style:none;display:grid;gap:24px}
.login-features li{display:flex;gap:16px;align-items:center}
.login-feature-icon{width:46px;height:46px;border:1px solid #ffffff17;background:#071d3290;border-radius:9px;display:grid;place-items:center;flex-shrink:0}
.login-feature-icon svg{width:23px;height:23px}
.login-features h2{font-size:15px;line-height:1.5;font-weight:600;margin:0 0 3px}
.login-features p{font-size:13px;line-height:1.65;color:#bccbd6;margin:0;max-width:390px}
.login-signature{font-family:'Segoe Print','Bradley Hand',cursive;font-style:italic;font-size:23px;line-height:1.25;color:#c2ced8;transform:rotate(-5deg);margin:10px 0 4px}
.login-signature:before{content:"";display:block;width:38px;height:3px;background:#ff6b20;margin-bottom:17px}
.login-signature span{padding-left:30px}
.login-panel{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:112px 32px 96px;position:relative}
.login-panel-header{position:absolute;top:32px;right:36px;left:24px;display:flex;justify-content:flex-end;align-items:center}
.login-mobile-logo{display:none}
.login-language{display:flex;align-items:center;gap:9px;padding:9px 11px;background:white;border:1px solid #dce3ea;border-radius:7px;position:relative}
.login-language select{appearance:none;background:transparent;font:500 12px Inter,sans-serif;color:#344054;padding-right:19px;border:0;cursor:pointer}
.login-language svg{position:absolute;right:10px;width:13px;height:13px;pointer-events:none}
.login-flag{width:19px;height:13px;background:linear-gradient(#ae1c28 0 33.33%,#fff 33.33% 66.66%,#21468b 66.66%);border-radius:2px;box-shadow:0 0 0 1px #0000000c}
.login-card{width:100%;max-width:510px;background:white;border:1px solid #e3e8ed;border-radius:14px;padding:40px;box-shadow:0 8px 32px #0b223507}
.login-card h2{font-size:32px;font-weight:700;letter-spacing:-1px;line-height:1.25;margin:0 0 9px;color:#0b2235}
.login-subtitle{color:#667085;font-size:14px;margin:0 0 32px}
.login-field{margin-bottom:21px}
.login-field label{display:block;font-size:13px;font-weight:600;margin-bottom:9px;color:#344054}
.login-input{position:relative;display:flex;align-items:center}
.login-input>svg{position:absolute;left:14px;width:19px;height:19px;color:#526477;pointer-events:none}
.login-input input{width:100%;min-width:0;height:49px;border:1px solid #dce3ea;border-radius:8px;background:white;padding:0 42px;font-size:12px;color:#0b2235;outline:none;transition:border-color .15s,box-shadow .15s}
.login-input input::placeholder{color:#8993a2}
.login-input input:focus{border-color:#ff6b20;box-shadow:0 0 0 3px #ff6b201a}
.login-eye{position:absolute;right:4px;height:40px;width:36px;display:grid;place-items:center;color:#667085;border:0;background:transparent;border-radius:5px;cursor:pointer}
.login-eye svg{width:18px;height:18px}
.login-forgot{text-align:right;margin:-8px 0 25px;font-size:12px;font-weight:500}
.login-forgot a{color:#c54a0d}.login-forgot a:hover{text-decoration:underline}
.login-submit,.login-sso{width:100%;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:600}
.login-submit{background:#ff6b20;color:white;border:0;cursor:pointer;position:relative}.login-submit:hover{background:#e95810}.login-submit svg{position:absolute;right:18px;width:19px;height:19px}
.login-divider{display:flex;align-items:center;gap:14px;margin:24px 0;font-size:12px;color:#8993a2}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e8ecf0;flex:1}
.login-sso{border:1px solid #dce3ea;background:#f7f8fa;color:#344054;cursor:pointer;text-decoration:none;margin-bottom:10px}.login-sso:last-of-type{margin-bottom:0}.login-sso:hover{background:#eef1f4}.login-sso svg{width:18px;height:18px}
.login-account{font-size:11px;line-height:1.8;text-align:center;color:#667085;margin:25px 0 0}
.login-footer{position:absolute;bottom:32px;font-size:10px;color:#8993a2;display:flex;gap:9px;align-items:center}.login-footer strong{color:#667085;font-weight:600}
.login-page :is(button,a,select):focus-visible{outline:2px solid #e95810;outline-offset:4px}
.login-page .hidden{display:none}
@media(min-width:1600px){.login-panel{padding-right:60px}.login-story-inner{padding-top:60px;padding-bottom:50px}}
@media(max-width:1150px){.login-page{grid-template-columns:52% 48%}.login-story-inner{padding-left:36px}.login-panel{padding-left:15px;padding-right:25px}.login-card{padding:30px}.login-story h1{font-size:48px}.login-intro{font-size:16px}.login-features{gap:20px}}
@media(max-width:767px){.login-page{display:block}.login-story{display:none}.login-panel{min-height:100svh;padding:126px 20px 84px}.login-panel-header{top:30px;left:20px;right:20px;justify-content:space-between;gap:20px}.login-mobile-logo{display:block;width:185px;height:auto}.login-card{padding:30px 24px;max-width:480px}.login-card h2{font-size:29px}.login-footer{bottom:26px;font-size:9px}.login-input input{font-size:11px}.login-account{font-size:10px}}
@media(prefers-reduced-motion:reduce){.login-input input{transition:none}}
/* Match shared FormField/Button controls on recovery, setup and the 2FA step. */
.login-card form:not(#step-password) label{font-size:13px;font-weight:600;margin-bottom:9px;color:#344054}
.login-card form:not(#step-password) input{height:49px;border:1px solid #dce3ea;border-radius:8px;font-size:13px;color:#0b2235;background:white}
.login-card form:not(#step-password) input:focus{border-color:#ff6b20;box-shadow:0 0 0 3px #ff6b201a;outline:none}
.login-card form:not(#step-password) button[type=submit]{height:50px;border:0;border-radius:8px;background:#ff6b20;color:white;font-size:14px;font-weight:600;box-shadow:none}
.login-card form:not(#step-password) button[type=submit]:hover{background:#e95810}
.login-card form:not(#step-password)>div:has(>input){margin-bottom:21px}
.login-card>div>p,.login-card #setup-intro{line-height:1.7}
.login-card a{color:#c54a0d}
.invitation-message{margin:0 0 24px;padding:14px 16px;border:1px solid #e3e8ed;border-radius:8px;background:#f8fafc;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.invitation-sign-in p{font-size:14px;color:#667085;margin:0 0 24px}
.login-card #invitation-login{display:flex;width:100%;min-height:50px;padding:12px 16px;background:#ff6b20;color:white;text-align:center;text-decoration:none}
.login-card #invitation-login:hover{background:#e95810}
.invitation-actions{display:flex;flex-direction:column;gap:12px}
.invitation-actions button{width:100%;min-height:48px;white-space:normal}
.invitation-actions button:disabled{opacity:.5;cursor:wait}
