:root{color:#172033;background:#f6f8fa;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:#172033;background:#f6f8fa}button,a,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(31,41,55,.26);outline-offset:2px}.shell{min-height:100vh;background:#f6f8fa}.topbar{height:72px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e7f0;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-logo{display:block;width:32px;height:32px}.brand strong{color:#111827;font-size:20px;font-weight:750}.account{display:flex;align-items:center;gap:16px;color:#667085;font-size:13px}.account button,.link-button{border:0;background:transparent;color:#374151;cursor:pointer;font-weight:650}.account button:disabled,.link-button:disabled{opacity:.55;cursor:wait}.content{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:56px 0 52px}.hero,.login-copy{max-width:680px;margin-bottom:32px}.eyebrow{margin:0 0 10px;color:#4b5563;font-size:12px;font-weight:750;text-transform:uppercase}.hero h1,.login-copy h1{margin:0;font-size:clamp(32px,5vw,46px);line-height:1.08}.hero>p:last-child,.login-copy>p:last-child{margin:16px 0 0;max-width:620px;color:#667085;font-size:16px;line-height:1.6}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(28px,6vw,72px);align-items:start}.login-panel,.workspace-list,.state-card{border:1px solid #e2e7f0;border-radius:8px;background:#fff;box-shadow:0 12px 32px #202b480f}.login-panel{padding:24px}.login-form{display:grid;gap:16px}.otp-form{gap:24px}.login-form label{display:grid;gap:8px;color:#344054;font-size:14px;font-weight:650}.login-form input{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:8px;padding:9px 12px;color:#172033;background:#fff}.login-form input:disabled{color:#667085;background:#f2f4f7}.login-form button,.state-card>button{min-height:40px;border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#1f2937;cursor:pointer;font-weight:700}.login-form button:disabled,.state-card>button:disabled{opacity:.58;cursor:not-allowed}.login-form .secondary-button{color:#374151;border:1px solid #d1d5db;background:#fff}.login-form .forgot-password-link{justify-self:center;min-height:auto;border:0;padding:2px 0;color:#374151;background:transparent;font-size:13px;font-weight:650}.login-form .forgot-password-link:hover:not(:disabled){text-decoration:underline}.login-step-copy{display:grid;gap:6px}.otp-form .login-step-copy{gap:10px}.login-step-copy strong,.login-step-copy p,.login-error{margin:0}.login-step-copy strong{font-size:16px}.otp-form .login-step-copy strong{font-size:22px;line-height:1.2}.login-step-copy p,.login-error,.login-notice{color:#667085;font-size:13px;line-height:1.5}.login-notice{margin:-4px 0 0;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;background:#f9fafb}.otp-form .login-step-copy p{color:#667085;font-size:20px;line-height:1.35}.login-error{margin-top:16px;color:#b42318}.login-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.login-actions button{white-space:nowrap}.otp-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.otp-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.otp-actions button{white-space:nowrap}.otp-actions .secondary-button{min-width:92px}.otp-actions button[type=submit]{min-width:130px}.workspace-list{display:grid;gap:28px;overflow:hidden}.workspace-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:8px;font-weight:750}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;padding:16px}.workspace-card{min-height:88px;display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #e5e9f1;border-radius:8px;text-align:left;color:inherit;background:#fff;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.workspace-card:hover:not(:disabled){border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 10px 26px #202b4817}.workspace-card:disabled{cursor:not-allowed}.workspace-card.stale{background:#fafbfc;color:#98a2b3}.workspace-icon{width:42px;height:42px;color:#fff;background:#4b5563}.stale .workspace-icon{background:#c9ced8}.workspace-copy{min-width:0;flex:1}.workspace-copy strong,.workspace-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-copy strong{font-size:14px}.workspace-copy span{margin-top:5px;color:#98a2b3;font-size:12px}.workspace-status{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750}.workspace-status.available{color:#374151;background:#eef0f3}.workspace-status.unavailable{color:#7b8495;background:#eceff3}.state-card{display:flex;align-items:center;gap:15px;padding:22px}.state-card strong,.state-card p{display:block;margin:0}.state-card p{margin-top:5px;color:#667085;font-size:13px}.state-card.error{border-color:#f4c6c6}.state-card>button{margin-left:auto}.state-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#a62f2f;background:#fff0f0;font-weight:800}.state-copy{flex:1}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#4b5563;border-radius:50%;animation:spin .7s linear infinite}.session-actions{padding:28px 0 0;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.login-layout{grid-template-columns:1fr;gap:24px}}@media(max-width:640px){.topbar{height:66px;padding:0 18px}.account>span{display:none}.content{width:min(100% - 28px,1080px);padding-top:36px}.workspace-grid{grid-template-columns:1fr}.workspace-status{display:none}.state-card{align-items:flex-start;flex-wrap:wrap}.state-card>button,.login-actions,.login-actions button{width:100%}.login-actions,.otp-code-row{grid-template-columns:1fr}.otp-actions{display:grid;grid-template-columns:1fr}.otp-actions button{width:100%;min-width:0}}
