/* Shared public login layout; no changes to workspace/onboarding. */
.login-shell{padding:0;background:#fff}.login-shell .auth-main{max-width:none;margin:0}.login-shell .message-stack{margin:0;padding:16px 24px;background:#f7faff}.login-layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(380px,1fr)}
.login-promo{position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 10%,#224e85 0,transparent 58%),linear-gradient(145deg,#0d203c,#132f52);color:#fff;padding:38px clamp(28px,3.8vw,64px) 24px;display:flex;flex-direction:column;justify-content:center}.promo-brand{font-size:23px;letter-spacing:-.6px;margin-bottom:34px;align-self:flex-start}.promo-brand small{font-size:11px;color:#a8c1e1;letter-spacing:0}.promo-brand .brand-mark{box-shadow:0 4px 18px #030d202b}.promo-heading{max-width:650px}.promo-eyebrow{color:#a8cdfd;font-size:10px;font-weight:700;letter-spacing:1.8px}.promo-heading h2{font-size:clamp(27px,2.65vw,42px);line-height:1.22;letter-spacing:-1.2px;margin:14px 0;color:#fff}.promo-heading h2 em{color:#8ebfff;font-style:normal}.promo-heading>p{font-size:13px;line-height:1.8;color:#b8cce5;max-width:510px;margin:0 0 28px}.promo-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);align-items:center;gap:26px}.promo-features{list-style:none;margin:0;padding:0;display:grid;gap:16px}.promo-features li{display:flex;gap:12px;align-items:flex-start}.feature-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;flex-shrink:0;background:#93c5fd18;color:#93c5fd;border:1px solid #93c5fd24}.feature-icon .icon{width:18px;height:18px}.feature-icon.violet{color:#c7b9fc;background:#c7b9fc14;border-color:#c7b9fc25}.feature-icon.cyan{color:#8ee1f1;background:#8ee1f114;border-color:#8ee1f125}.feature-icon.mint{color:#90dec5;background:#90dec514;border-color:#90dec525}.feature-icon.amber{color:#f5ce8f;background:#f5ce8f14;border-color:#f5ce8f25}.promo-features strong{display:block;font-size:12px;font-weight:650;line-height:1.5;color:#f1f6ff}.promo-features li span:not(.feature-icon){display:block;font-size:11px;line-height:1.6;color:#aec4df;margin-top:3px}.promo-art{margin:0;transform:rotate(2deg);min-width:0}.promo-art img{display:block;width:100%;height:auto;border:5px solid #ffffff14;border-radius:16px;box-shadow:0 20px 45px #020d2545}.promo-art figcaption{text-align:center;font-size:10px;color:#a9c2df;line-height:1.7;margin-top:16px;transform:rotate(-2deg)}.promo-footer{margin:30px 0 0;padding-top:18px;border-top:1px solid #ffffff16;color:#8fabce;font-size:11px;letter-spacing:.1px}
.login-entry{padding:48px clamp(28px,4vw,70px) 28px;display:flex;flex-direction:column;justify-content:center;min-width:0;background:#fff}.login-form-wrap{width:100%;max-width:390px;margin:auto}.login-kicker{font-size:10px;color:#3268b4;font-weight:700;letter-spacing:1.25px}.login-form-header h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:16px 0;color:#112a48}.login-form-header>p{color:#6e8097;font-size:13px;line-height:1.8;margin:0 0 32px}.login-role-label{display:flex;gap:8px;align-items:center;color:#4f6480;font-size:12px;margin-bottom:12px;font-weight:600}.login-role-label .icon{width:17px;height:17px;color:#758dad}.login-entry .google-button{border-color:#cfdcec;min-height:52px;border-radius:10px;font-size:14px;box-shadow:0 3px 7px #18335406}.login-entry .google-button:hover{border-color:#8aaef0;background:#f5f9ff}.login-entry .primary{min-height:50px;font-size:14px}.login-note{font-size:11px;line-height:1.85;color:#7a8ba0;margin:16px 0 0}.login-note strong{font-weight:600;overflow-wrap:anywhere}.login-entry .message{margin-top:18px;font-size:12px}.login-member-link{display:flex;gap:13px;border-top:1px solid #e7edf5;margin-top:30px;padding-top:24px}.login-member-icon{background:#eff5ff;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;color:#4778bb;flex-shrink:0}.login-member-link strong{font-size:13px;color:#253f5e}.login-member-link p{font-size:11px;line-height:1.6;color:#8291a5;margin:5px 0 9px}.login-member-link a{font-size:12px;font-weight:650;display:inline-block;line-height:1.7}.login-member-link a span{margin-left:4px}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#8999ac;margin:32px 0 0;line-height:1.6;text-align:center}.login-security .icon{width:14px;height:14px;color:#6e9b8d;flex-shrink:0}.login-mobile-brand{display:none}.login-entry .field{margin-bottom:20px}.login-entry .field input{min-height:48px}.login-entry .field .help{font-size:11px}
@media(min-width:1600px){.login-layout{grid-template-columns:minmax(0,1.3fr) minmax(440px,1fr)}.login-promo{padding-left:max(64px,calc((100vw - 1450px)/2));padding-right:64px}.promo-body{max-width:760px}.promo-features strong{font-size:14px}.promo-features li span:not(.feature-icon){font-size:12px}.promo-art{max-width:300px}.promo-heading>p{font-size:14px}}
@media(max-width:1100px) and (min-width:821px){.login-layout{grid-template-columns:minmax(0,1fr) minmax(350px,.8fr)}.login-promo{padding:32px 28px}.promo-body{grid-template-columns:1fr}.promo-art{display:none}.promo-features{gap:14px}.promo-heading h2{font-size:30px}.login-entry{padding:40px 32px}}
@media(max-width:820px){.login-layout{display:flex;flex-direction:column}.login-entry{order:-1;min-height:100svh;padding:28px 24px 22px}.login-mobile-brand{display:flex;align-self:center;color:#142d4e;font-size:21px;margin-bottom:42px}.login-form-wrap{margin:auto;max-width:400px}.login-form-header h1{font-size:32px}.login-entry .field input{font-size:16px}.login-promo{padding:38px 28px 28px}.promo-brand{display:none}.promo-heading h2{font-size:32px}.promo-body{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px}.promo-art{max-width:280px;justify-self:center}.promo-footer{margin-top:28px}.login-security{margin-top:36px}.promo-features strong{font-size:12px}}
@media(max-width:540px){.promo-body{grid-template-columns:1fr}.promo-features{gap:18px}.promo-art{width:min(100%,300px);margin-top:16px;transform:none}.promo-art figcaption{transform:none}.promo-heading h2{font-size:29px;letter-spacing:-.7px}.login-form-header h1{font-size:30px}.promo-features strong{font-size:13px}.promo-features li span:not(.feature-icon){font-size:12px}.login-kicker{font-size:9px}.login-entry{padding:24px 22px}.login-mobile-brand{margin-bottom:34px}.login-note{font-size:12px}.login-member-link p{font-size:12px}}
