.workspace-login{margin:0;min-height:100vh;background:#fff!important}
.workspace-login *{box-sizing:border-box}
.workspace-login a{color:inherit;text-decoration:none}
.workspace-login button,.workspace-login input{font:inherit}
.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:16px}
.login-panel{display:flex;flex-direction:column;padding:26px clamp(24px,5vw,90px) 18px;min-width:0}
.login-content{width:100%;max-width:420px;margin:auto;padding:64px 0 48px}
.login-eyebrow{display:flex;align-items:center;gap:9px;color:#5c759a;font-size:.65rem;font-weight:700;letter-spacing:1.6px}
.login-eyebrow>span{width:6px;height:6px;background:#5088e7;border-radius:50%;flex-shrink:0}
.login-content h1{font-size:clamp(2.5rem,3.6vw,3.5rem);line-height:1.12;font-weight:650;margin:21px 0 20px;letter-spacing:-2.5px;color:#173968}
.login-content h1>span{color:#568ae4}
.login-intro{font-size:.9rem;line-height:1.8;color:#7a8aa1;margin:0 0 33px}
.login-form{display:grid;gap:23px}
.login-field{display:grid;gap:9px}
.login-field label{font-size:.8rem;font-weight:600;color:#2c4566}
.login-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.login-label-row a{font-size:.73rem;color:#5576a6}
.login-label-row a:hover{color:#2563eb;text-decoration:underline}
.login-field input{width:100%;min-width:0;height:54px;border:1px solid #dfe6ef;border-radius:9px;background:#fbfcfe;padding:14px 16px;font-size:.85rem;color:#203858;transition:border-color .18s,box-shadow .18s}
.login-field input::placeholder{color:#a0adbf;opacity:1}
.login-field input:focus{outline:none;border-color:#6e9be6;box-shadow:0 0 0 4px #2563eb12;background:#fff}
.login-password-wrap{position:relative}
.login-password-wrap input{padding-right:70px}
.login-password-toggle{position:absolute;top:0;bottom:0;right:6px;margin:auto 0;height:40px;min-width:54px;border:0;border-radius:6px;background:transparent;color:#5576a6;font-size:.72rem!important;font-weight:600!important;cursor:pointer}
.login-password-toggle:hover{background:#edf3ff}
.login-password-toggle[hidden]{display:none}
.login-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:54px;margin-top:5px;padding:15px 19px;border:1px solid #2563eb;border-radius:9px;background:#2563eb;color:#fff;font-size:.85rem!important;font-weight:600!important;box-shadow:0 6px 14px #2563eb20;cursor:pointer;transition:background .18s,box-shadow .18s}
.login-submit:hover{background:#1d4ed8;box-shadow:0 8px 20px #2563eb30}
.login-submit>span{font-size:1.3rem;line-height:1}
.login-help{font-size:.72rem;text-align:center;color:#8c9bb0;margin:23px 0 0}
.login-passkeys{margin-top:22px}
.login-passkey-divider{display:flex;align-items:center;gap:12px;color:#8c9bb0;font-size:.65rem;margin-bottom:16px}
.login-passkey-divider::before,.login-passkey-divider::after{content:'';height:1px;background:#e2e9f4;flex:1}
.login-passkey-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;border:1px solid #d9e4f3;border-radius:9px;color:#173968;background:#f8faff;font-size:.82rem!important;font-weight:600!important;cursor:pointer}
.login-passkey-button:hover{background:#edf3ff}
.login-passkey-button[hidden],.login-passkey-message[hidden]{display:none}
.login-passkey-hint,.login-passkey-message{font-size:.68rem;color:#73839a;line-height:1.65;margin:12px 0 0}
.login-passkey-message{color:#a44c3d}
.login-passkey-button:disabled{opacity:.6;cursor:wait}
.login-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#96a3b5;font-size:.64rem;line-height:1.5}
.login-notice{padding:12px 15px;margin:0 0 22px;border:1px solid;border-radius:8px;font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}
.login-notice-error{background:#fff4f1;color:#a44c3d;border-color:#f1d6cf}
.login-notice-success{background:#eff8f2;color:#35694a;border-color:#cfe5d6}
.login-visual{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 90% 15%,#2b5184 0,transparent 55%),linear-gradient(155deg,#1c4072,#122f59);color:#fff;padding:36px clamp(30px,4vw,68px) 25px}
.visual-topline{display:flex;align-items:center;gap:9px;color:#b2c8e8;font-size:.6rem;letter-spacing:1.6px;font-weight:500;position:relative;z-index:1}
.visual-dot{width:6px;height:6px;background:#a7c8fc;border-radius:50%;box-shadow:0 0 0 4px #a7c8fc12;flex-shrink:0}
.visual-art{position:relative;flex:1;min-height:330px;margin:20px -15px 18px;perspective:1000px;--globe-x:0px;--globe-y:0px;--globe-rx:0deg;--globe-ry:0deg;--orbit-rx:0deg;--orbit-ry:0deg;--card-x:0px;--card-y:0px}
.visual-sphere{position:absolute;width:clamp(220px,25vw,390px);aspect-ratio:1;top:48%;left:50%;transform:translate(-50%,-50%) translate3d(var(--globe-x),var(--globe-y),25px);border-radius:50%;background:radial-gradient(circle at 28% 25%,#8cb5ee,#38659c 45%,#15365f 76%);box-shadow:inset -24px -25px 45px #081d4066,0 28px 65px #081a3a40;isolation:isolate}
.visual-sphere::after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 28% 25%,#daebff24,transparent 45%,#061a394d 85%);box-shadow:inset 0 0 1px 1px #c4ddff33}
.globe-grid{position:absolute;inset:1px;transform-style:preserve-3d;transform:rotateX(calc(-18deg + var(--globe-rx))) rotateY(calc(-24deg + var(--globe-ry)))}
.globe-meridian,.globe-latitude{position:absolute;inset:0;border:1px solid #c9e0ff55;border-radius:50%;backface-visibility:visible}
.globe-meridian{transform:rotateY(var(--longitude))}
.globe-latitude{inset:auto;left:50%;width:86.6%;height:86.6%;transform:translate(-50%,-50%) rotateX(90deg)}
.latitude-north{top:25%}.latitude-equator{top:50%;width:100%;height:100%}.latitude-south{top:75%}
.visual-orbit{position:absolute;top:48%;left:50%;width:115%;height:68%;border:1px solid #b6d2f522;border-radius:50%;transform:translate(-50%,-50%) rotateX(var(--orbit-rx)) rotateY(var(--orbit-ry)) rotate(-28deg)}
.orbit-two{width:98%;height:88%;transform:translate(-50%,-50%) rotateX(var(--orbit-rx)) rotateY(var(--orbit-ry)) rotate(38deg);border-color:#b6d2f510}
.visual-spark{position:absolute;color:#9abbeb;font-size:26px;font-weight:300}
.spark-one{top:10%;left:16%}.spark-two{bottom:15%;right:12%;font-size:18px}
.visual-note{position:absolute;z-index:1;display:flex;align-items:center;gap:11px;padding:15px 18px;border:1px solid #d5e5ff30;border-radius:12px;background:#335782c9;backdrop-filter:blur(14px);box-shadow:0 15px 30px #0c254522;font-size:.78rem;font-weight:500;white-space:nowrap}
.visual-note small{display:block;font-size:.6rem;font-weight:400;color:#bed0e9;margin-top:5px}
.note-focus{top:24%;right:-5px;transform:translate3d(var(--card-x),var(--card-y),45px) rotate(5deg)}
.note-together{bottom:19%;left:-5px;transform:translate3d(calc(-1 * var(--card-x)),calc(-1 * var(--card-y)),60px) rotate(-5deg)}
.note-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#8db8f52b;color:#d4e6ff;font-size:20px}
.note-together .note-icon{background:#b9c6f12b}
.visual-copy{position:relative;z-index:1;padding:0 0 32px}
.visual-eyebrow{font-size:.6rem;letter-spacing:2px;color:#94b1d9;font-weight:600}
.visual-copy h2{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:500;line-height:1.17;letter-spacing:-1.6px;margin:17px 0 18px;color:#f0f5ff}
.visual-copy p{font-size:.82rem;line-height:1.85;color:#abc1df;margin:0}
.visual-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b4cff01f;padding-top:20px;color:#8da9ce;font-size:.55rem;letter-spacing:2px}
.visual-footer>span:last-child{font-size:24px;line-height:1;color:#acc8ee}
@media(min-width:1600px){.login-layout{max-width:1800px;margin:auto}.visual-art{max-height:550px}}
@media(max-width:1050px){.login-panel{padding-inline:28px}.login-visual{padding-inline:30px}.visual-note{padding:12px;gap:8px}.visual-note small{font-size:.55rem}.note-focus{right:-12px}.note-together{left:-12px}}
@media(max-width:760px){.login-layout{display:block;padding:0}.login-panel{min-height:100vh;min-height:100svh;padding:30px 26px 22px}.login-content{padding:55px 0 44px}.login-content h1{font-size:2.8rem}.login-visual{display:none}.login-footer{width:100%;max-width:420px;margin:0 auto;font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.workspace-login input,.workspace-login button{transition:none}}
