/* Scoped to the sign-in experience. Dashboard and mobile-app styling is unchanged. */
.login-page{background:#f8f8f4;color:#101e21;--login-green:#155345;--login-muted:#7a8281}
.login-page .login-shell{max-width:1536px;margin:auto;padding:36px 56px 0;overflow:hidden;min-height:100vh}
.login-page .login-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 44px}
.login-page .login-brand{display:flex;align-items:center;gap:15px;color:#101e21;text-decoration:none;font-family:Manrope,Arial,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.2px}
.login-page .login-brand .mark{height:58px;width:58px;border-radius:15px;padding:0;font-size:27px;letter-spacing:-1px;background:linear-gradient(135deg,#164f43,#0e332c);color:white}
.login-page .login-brand small{display:block;margin-top:7px;font-size:9px;font-weight:700;letter-spacing:2.8px;color:#727c79}
.login-page .login-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}
.login-page .workspace-choice{margin:0;display:block}
.login-page .workspace-choice select{width:auto;max-width:190px;padding:10px 30px 10px 12px;background:transparent;border:1px solid #dce3dc;border-radius:9px;color:#41564f;font-size:12px;margin:0}
.login-page .language-control{background:transparent;margin:0;float:none;border-color:#dce3dc}
.login-page .login-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:46px;align-items:start}
.login-page .loginart{position:relative;background:transparent;padding:10px 0 0;display:block;min-height:1100px;color:inherit;isolation:isolate}
.login-page .loginart:after{content:none}
.login-page .login-intro{position:relative;z-index:2}
.login-page .login-accent{display:block;width:35px;height:5px;background:#79a799;border-radius:10px;margin:0 0 29px}
.login-page .loginart h1{font-size:clamp(42px,4.2vw,65px);line-height:1.09;letter-spacing:-2.8px;font-weight:800;margin:0 0 26px;max-width:590px}
.login-page .loginart h1 em{font-style:normal;color:#155345}
.login-page .login-intro>p{font-size:17px;line-height:1.65;color:var(--login-muted);max-width:440px;margin:0}
.login-page .login-features{position:relative;z-index:2;display:grid;gap:21px;margin:32px 0 0;max-width:360px}
.login-page .login-feature{display:flex;gap:16px;align-items:center}
.login-page .feature-icon{background:#e8eee1;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#1e5a48;flex-shrink:0}
.login-page svg{width:23px;height:23px;flex-shrink:0}
.login-page .login-feature b{display:block;font-size:14px;font-weight:700}
.login-page .login-feature small{display:block;font-size:12px;color:var(--login-muted);margin-top:5px;line-height:1.4}
.login-page .login-photo{position:absolute;z-index:-1;bottom:0;left:-56px;right:-40px;height:560px;background-image:url('assets/login-technician.png');background-position:center 47%;background-size:cover;mask-image:linear-gradient(to bottom,transparent 0%,#000 24%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 24%)}
.login-page .login-wave{position:absolute;z-index:-2;left:-230px;bottom:-200px;width:850px;height:330px;transform:rotate(-10deg);border-radius:50%;background:#7ca795;box-shadow:80px 55px 0 60px #1e604e}
.login-page .loginform{padding:38px 38px 22px;background:#fff;border:1px solid #f1f2ed;border-radius:26px;box-shadow:0 14px 65px #142e2410;max-width:none;margin:0 0 40px;position:relative;z-index:3}
.login-page .loginform{align-self:start}
.login-page .loginform .eyebrow{font-size:10px;letter-spacing:2.8px;font-weight:700;color:#8b9390}
.login-page .loginform h1{margin:18px 0 12px;font-size:clamp(24px,2.3vw,34px);letter-spacing:-1.2px;line-height:1.2}
.login-page .login-subtitle{font-size:15px;line-height:1.65;color:#818885;margin:0 0 29px}
.login-page .loginform form>label,.login-page .demo-picker>label{display:block;font-size:12px;font-weight:700;color:#172923;margin:20px 0 9px}
.login-page .login-input{display:flex;align-items:center;gap:13px;border:1px solid #dce1dd;border-radius:10px;background:#fcfcfb;padding:0 15px;min-width:0}
.login-page .login-input:focus-within{border-color:#337862;box-shadow:0 0 0 3px #33786213}
.login-page .login-input>svg{color:#7b8581;width:20px;height:20px}
.login-page .login-input input{border:0;outline:0;box-shadow:none;background:transparent;width:100%;min-width:0;padding:17px 0;font-size:13px;color:#192a24;margin:0;border-radius:0}
.login-page .password-toggle{display:grid;place-items:center;border:0;padding:7px;background:transparent;color:#7b8581;margin-right:-7px;min-height:34px}
.login-page .password-toggle svg{width:20px;height:20px}
.login-page .password-toggle[aria-pressed="true"]{color:#155345;background:#e8f1eb}
.login-page .login-form-links{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:9px}
.login-page .login-form-links button{color:#22664f;padding:5px 0;font-size:11px}
.login-page .loginerror{min-height:17px;padding-top:4px;font-size:11px;line-height:1.4}
.login-page .login-submit{background:#155345;border-color:#155345;width:100%;display:flex;align-items:center;justify-content:center;gap:15px;font-size:15px;padding:16px;border-radius:9px;margin-top:6px;box-shadow:0 3px 8px #13433410}
.login-page .login-submit:hover{background:#0d4034;border-color:#0d4034}
.login-page .login-submit svg{width:20px;height:20px}
.login-page .login-divider{display:flex;align-items:center;gap:12px;margin:25px 0 17px;font-size:9px;letter-spacing:1.3px;font-weight:700;color:#929b95;text-align:center}
.login-page .login-divider:before,.login-page .login-divider:after{content:'';height:1px;background:#e2e7e0;flex:1;min-width:10px}
.login-page .demo-picker>label{margin-top:0}
.login-page .demo-picker select{width:100%;padding:13px 34px 13px 13px;background:#fbfcf9;border:1px solid #dce3da;border-radius:9px;font-size:13px;color:#234b3e;margin:0}
.login-page #demo-account-email{font-size:11px;color:#818a85;margin:8px 0 13px;overflow-wrap:anywhere}
.login-page .demo-explore{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;color:#165543;border:1px solid #33755e;background:#fff;padding:13px 9px;font-size:12px;border-radius:9px}
.login-page .demo-explore:hover{background:#f0f6ef}
.login-page .demo-explore svg{width:18px;height:18px}
.login-page .login-demo-note{display:flex;gap:13px;background:#f0f4ed;padding:17px;border-radius:10px;margin-top:23px;color:#1c5342}
.login-page .login-demo-note>svg{width:19px;height:19px;margin-top:1px}
.login-page .login-demo-note b{font-size:11px}
.login-page .login-demo-note p{font-size:11px;line-height:1.6;margin:5px 0 7px;color:#7a857f}
.login-page .login-demo-note small{font-size:10px;color:#7a857f}
.login-page .login-bottom{text-align:center;color:#939a96;font-size:10px;margin:20px 0 0}
.login-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.login-page .login-shell{padding-top:45px}.login-page .loginform{padding:46px}.login-page .login-header{padding-bottom:55px}.login-page .loginart{min-height:1150px}}
@media(max-width:1050px){.login-page .login-shell{padding:26px 32px 0}.login-page .login-layout{gap:28px;grid-template-columns:minmax(0,1fr) minmax(350px,1fr)}.login-page .loginform{padding:30px 26px}.login-page .login-brand{font-size:25px}.login-page .login-brand small{font-size:8px;letter-spacing:2px}.login-page .loginart h1{font-size:47px}.login-page .login-intro>p{font-size:15px}.login-page .login-photo{left:-32px}.login-page .loginart{min-height:920px}.login-page .login-features{max-width:310px}}
@media(max-width:760px){.login-page .login-shell{padding:22px 22px 0}.login-page .login-header{align-items:flex-start;padding-bottom:30px;gap:20px;flex-wrap:wrap}.login-page .login-brand{font-size:24px;gap:10px}.login-page .login-brand .mark{width:47px;height:47px;border-radius:12px;font-size:22px}.login-page .login-brand small{font-size:7px;letter-spacing:1.7px}.login-page .login-tools{gap:6px}.login-page .login-tools select{font-size:11px}.login-page .workspace-choice select{max-width:160px}.login-page .login-layout{display:flex;flex-direction:column;gap:26px}.login-page .loginart{width:100%;min-height:0;padding:0}.login-page .login-accent{margin-bottom:20px}.login-page .loginart h1{font-size:45px;margin-bottom:17px;letter-spacing:-2px}.login-page .login-intro>p{max-width:370px;font-size:14px}.login-page .login-features{display:none}.login-page .login-photo,.login-page .login-wave{display:none}.login-page .loginform{width:100%;margin-bottom:28px;padding:28px 24px;border-radius:22px}.login-page .loginform h1{font-size:27px}.login-page .login-subtitle{font-size:14px;margin-bottom:23px}.login-page .login-demo-note{margin-top:20px}}
@media(prefers-reduced-motion:no-preference){.login-page .loginform{animation:login-enter .55s ease-out both}.login-page .login-intro{animation:login-enter .65s ease-out both}@keyframes login-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
