/* Standalone authentication shell. Every workspace override requires auth class. */
body.crm-auth-screen{margin:0;background:#f3f5f6;color:#191e21}
body.crm-auth-screen .frame{max-width:none;width:100%;margin:0;padding:0;min-height:100vh;border:0}
body.crm-auth-screen .frame>.top,body.crm-auth-screen .frame>.layout>.nav,body.crm-auth-screen #calc-launch,body.crm-auth-screen #calc-panel,body.crm-auth-screen #windows,body.crm-auth-screen #notice{display:none!important}
body.crm-auth-screen .frame>.layout{display:block;grid-template-columns:none;margin:0;padding:0;min-height:100vh;gap:0}
body.crm-auth-screen .frame>.layout>#main{display:block;visibility:visible;pointer-events:auto;grid-column:1 / -1;width:100%;max-width:none;margin:0;padding:0;border:0;background:#f3f5f6;min-height:100vh;overflow:visible;padding:32px}
.crm-login,.crm-login *{box-sizing:border-box}
.crm-login{display:grid;grid-template-columns:40% 60%;width:100%;max-width:1440px;margin:auto;min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);border-radius:20px;overflow:hidden;box-shadow:0 8px 35px #24334806;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;line-height:1.5;color:#191e21;background:#fdfdfc;letter-spacing:-.025em}
.crm-login .login-art{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:54px 10%;background:radial-gradient(ellipse at 95% 65%,#242b2e 0,transparent 60%),linear-gradient(125deg,#171d1f,#202527);color:#f8faf9;min-height:inherit}
.crm-login .login-art:before,.crm-login .login-art:after{content:"";position:absolute;width:370px;height:370px;border:1px solid #81968c30;border-radius:50%;pointer-events:none}
.crm-login .login-art:before{left:-180px;bottom:-220px}.crm-login .login-art:after{right:-230px;bottom:80px}
.crm-login .login-brand{display:flex;align-items:center;gap:15px;font-size:23px;font-weight:700;white-space:nowrap}
.crm-login .login-brand-mark{position:relative;width:34px;height:35px;display:inline-block;transform:skew(-20deg);flex-shrink:0}
.crm-login .login-brand-mark i{position:absolute;background:currentColor;width:9px}.crm-login .login-brand-mark i:nth-child(1){height:21px;left:2px;bottom:0}.crm-login .login-brand-mark i:nth-child(2){height:34px;left:14px;bottom:0}.crm-login .login-brand-mark i:nth-child(3){height:9px;left:26px;bottom:0}
.crm-login .login-story{margin-top:110px;position:relative;z-index:1}.crm-login .login-story h2{color:inherit;font-size:clamp(32px,3.25vw,52px);line-height:1.35;letter-spacing:-.055em;font-weight:700;margin:0 0 18px}.crm-login .login-story p{color:#eef1ef;font-size:clamp(14px,1.35vw,20px);margin:0;white-space:nowrap}
.crm-login .login-flow{position:relative;display:flex;align-items:flex-start;justify-content:space-between;height:250px;margin-top:60px;color:#a9c9b9;flex-shrink:0}.crm-login .login-connectors{position:absolute;width:100%;height:100%;inset:0;opacity:.65}.crm-login .login-flow-card{position:relative;display:flex;flex-direction:column;gap:10px;justify-content:center;width:30%;height:96px;padding:16px;border:1px solid #a9c9b93b;background:#ffffff03;border-radius:13px;font-size:13px;box-shadow:inset 0 1px 0 #ffffff04}.crm-login .login-flow-card svg{width:26px;height:26px}.crm-login .login-flow-card:nth-of-type(2){margin-top:42px}.crm-login .login-flow-card:nth-of-type(3){margin-top:84px}
.crm-login .login-form-panel{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:70px clamp(36px,6vw,110px) 26px}.crm-login .login-form-content{width:100%;max-width:480px;margin:auto}.crm-login .login-eyebrow{margin:0 0 24px;color:#808993;font-size:11px;letter-spacing:.2em;font-weight:600}.crm-login h1{font-size:clamp(27px,2.7vw,38px);letter-spacing:-.055em;line-height:1.35;color:#151a1d;margin:0 0 10px;font-weight:750}.crm-login .login-intro{font-size:17px;color:#7c858e;margin:0 0 38px}
.crm-login .login-form{display:block;margin:0;padding:0;border:0;background:transparent}.crm-login .login-form label{display:block;font-size:14px;font-weight:650;color:#202629;margin:0 0 7px}.crm-login .login-input-wrap{position:relative;margin-bottom:22px}.crm-login .login-input-wrap>svg{position:absolute;left:18px;top:16px;width:21px;height:21px;color:#8a939c;pointer-events:none}.crm-login .login-input-wrap input:not([type=checkbox]){display:block;width:100%;height:52px;min-height:52px;border:1px solid #dce1e4;border-radius:9px;background:#fff;color:#202629;font-size:14px;padding:0 48px 0 52px;box-shadow:none;outline-offset:3px}.crm-login .login-input-wrap input::placeholder{color:#8a939c;opacity:1}.crm-login button.login-password-toggle{position:absolute;right:7px;top:4px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:0;background:transparent;color:#858f98;border-radius:6px}.crm-login .login-password-toggle svg{width:22px;height:22px}
.crm-login button.login-submit{width:100%;height:56px;border:1px solid #1c2225;border-radius:9px;background:linear-gradient(120deg,#1a2023,#23292c);color:white;font-size:18px;font-weight:600;box-shadow:0 2px 5px #171d1f08;display:flex;justify-content:center;align-items:center;gap:18px}.crm-login button.login-submit:hover:not(:disabled){background:#30383c;color:#fff;border-color:#30383c}.crm-login button.login-submit span{font-size:25px;font-weight:400}.crm-login button:focus-visible,.crm-login input:focus-visible{outline:2px solid #547d6b;outline-offset:3px}.crm-login button:disabled{opacity:.55;cursor:not-allowed}.crm-login .login-feedback{color:#a44136;font-size:13px;margin:0 0 14px;overflow-wrap:anywhere}.crm-login .login-feedback:empty{display:none}.crm-login .login-session-note{font-size:14px;line-height:1.8;color:#7c858e;margin:17px 0 0;font-weight:550}.crm-login .login-session-note span{font-weight:400;color:#8a939c}.crm-login .login-footer{border-top:1px solid #e8ebed;text-align:center;padding-top:18px;margin:44px 0 0;color:#858f98;font-size:12px}.crm-login .login-mobile-brand{display:none}.crm-login .login-google-option{margin-bottom:20px}.crm-login button.login-google{width:100%;height:52px;border:1px solid #dce1e4;background:#fff;color:#252b2f;border-radius:9px;font-size:14px}.crm-login .login-google-option p{font-size:12px;color:#7c858e;margin:8px 0}.crm-login .login-divider{display:flex;align-items:center;gap:12px;color:#8a939c;font-size:12px;margin:22px 0}.crm-login .login-divider:before,.crm-login .login-divider:after{content:"";height:1px;background:#e5e8ea;flex:1}
@media(min-width:1600px){.crm-login .login-story{margin-top:145px}.crm-login .login-flow{margin-top:80px}}
@media(max-width:900px) and (min-width:701px){.crm-login .login-art{padding-left:8%;padding-right:8%}.crm-login .login-story p{white-space:normal}.crm-login .login-flow-card{padding:10px;font-size:11px}}
@media(max-width:700px){body.crm-auth-screen .frame>.layout>#main{padding:16px}.crm-login{display:block;min-height:calc(100svh - 32px);border-radius:18px}.crm-login .login-art{display:none}.crm-login .login-form-panel{padding:34px 24px 22px;min-height:calc(100vh - 32px);min-height:calc(100svh - 32px)}.crm-login .login-mobile-brand{display:flex;font-size:21px;margin:0 0 52px}.crm-login .login-form-content{max-width:440px;margin:0 auto auto}.crm-login .login-eyebrow{font-size:10px;margin-bottom:22px}.crm-login h1{font-size:27px}.crm-login .login-intro{font-size:14px;margin-bottom:34px}.crm-login .login-form label{font-size:13px}.crm-login .login-input-wrap{margin-bottom:24px}.crm-login .login-input-wrap input:not([type=checkbox]){font-size:16px;padding-left:46px}.crm-login .login-input-wrap>svg{left:15px}.crm-login button.login-submit{height:54px;font-size:17px}.crm-login .login-session-note{font-size:13px}.crm-login .login-footer{margin-top:54px;font-size:11px}.crm-login .login-brand-mark{transform:scale(.88) skew(-20deg)}}
@media(prefers-reduced-motion:reduce){.crm-login *{transition:none!important}}

/* Session bootstrap: host removes this class on auth resolution or error. */
body.crm-auth-pending{margin:0;background:#f3f5f6}
body.crm-auth-pending .frame{max-width:none;width:100%;margin:0;padding:0;border:0;min-height:100vh}
body.crm-auth-pending .frame>.top,body.crm-auth-pending .frame>.layout>.nav,body.crm-auth-pending #notice,body.crm-auth-pending #windows,body.crm-auth-pending #calc-launch,body.crm-auth-pending #calc-panel{display:none!important}
body.crm-auth-pending .frame>.layout{display:block;grid-template-columns:none;min-height:100vh;margin:0;padding:0}
body.crm-auth-pending .frame>.layout>#main{display:grid;place-items:center;visibility:visible;pointer-events:auto;grid-column:1 / -1;width:100%;max-width:none;min-height:100vh;min-height:100svh;margin:0;padding:24px;background:#f3f5f6;border:0}
body.crm-auth-pending .login-boot{display:flex;flex-direction:column;align-items:center;width:min(100%,360px);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;line-height:1.6;color:#637083;text-align:center}
.login-boot .login-boot-orbit{position:relative;display:grid;place-items:center;width:88px;height:88px;margin-bottom:28px;border-radius:50%;background:#fff;box-shadow:0 8px 32px #0063d912;color:#0063d9}
.login-boot .login-boot-ring{position:absolute;inset:0;border:3px solid #dce8f9;border-top-color:#0070ff;border-right-color:#0070ff;border-radius:50%;animation:crm-boot-orbit 1s linear infinite}
.login-boot .login-boot-orbit svg{width:38px;height:38px}
.login-boot .login-boot-logo{display:block;width:220px;max-width:80%;height:auto;object-fit:contain;margin:0 0 24px}
.login-boot .login-boot-title{font-size:20px;font-weight:650;letter-spacing:-.04em;color:#25354a}
.login-boot .login-boot-description{margin:6px 0 26px;font-size:14px;color:#728095}
.login-boot .login-boot-track{width:180px;height:4px;overflow:hidden;border-radius:4px;background:#dce6f4}
.login-boot .login-boot-track span{display:block;width:45%;height:100%;border-radius:inherit;background:#0070ff;animation:crm-boot-progress 1.5s ease-in-out infinite}
.login-boot .login-boot-label{margin-top:20px;font-size:10px;letter-spacing:.2em;color:#8a98aa}
@keyframes crm-boot-orbit{to{transform:rotate(360deg)}}
@keyframes crm-boot-progress{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@media(prefers-reduced-motion:reduce){.login-boot .login-boot-ring,.login-boot .login-boot-track span{animation:none}.login-boot .login-boot-track span{transform:translateX(60%)}}

/* Supplied two-line blue wordmark; transparent outer margins cropped. */
.crm-login .login-brand .login-brand-logo{display:block;flex:0 1 260px;width:260px;min-width:0;max-width:calc(100% - 50px);height:auto;max-height:140px;object-fit:contain}
.crm-login .login-brand .login-product-tag{flex:0 0 auto;align-self:flex-end;padding-bottom:8px;font-size:18px;font-weight:700;line-height:1.2;letter-spacing:.08em}
.crm-login h1{overflow-wrap:anywhere}
@media(max-width:700px){.crm-login .login-brand .login-brand-logo{width:200px;flex-basis:200px;max-height:108px}.crm-login .login-brand .login-product-tag{font-size:16px;padding-bottom:6px}}
