:root{--ground: #fff;--ink: #0b0b0c;--ink-2: #4b4f56;--ink-3: #6b6f76;--hairline: #e4e6eb;--control: #d0d4da;--state: #f2f3f5;--accent: #1766dc;--on-accent: #fff;--danger: #c62828;--success: #1b7f3b;--warn: #8a5a00;--success-weak: #E6F4EA;--danger-weak: #FDECEC;--warn-weak: #FFF4E0;--info: #005580;--info-weak: #E6F4FB;--accent-text: color-mix(in srgb, var(--accent) 80%, #000);--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root{--ground: #000;--ink: #f2f3f5;--ink-2: #b0b3b8;--ink-3: #8a8d93;--hairline: #26272a;--control: #3a3b3e;--state: #17181a;--danger: #ff6b6b;--success: #4ade80;--warn: #fbbf24;--success-weak: #14301F;--danger-weak: #3A1F22;--warn-weak: #3A2D17;--info: #7FD6FF;--info-weak: #0E2B3E;--accent-text: color-mix(in srgb, var(--accent) 65%, #fff)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}body.v2-auth-shell{min-height:100vh}.auth-wrap{position:relative;isolation:isolate}.auth-wrap:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--accent) 8%,transparent);-webkit-mask:url(/images/v2/pattern-mask.svg) repeat top left;mask:url(/images/v2/pattern-mask.svg) repeat top left}@media(prefers-color-scheme:dark){.auth-wrap:before{background:color-mix(in srgb,var(--accent) 13%,transparent)}}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.form-panel{width:100%;max-width:440px}.form-inner{width:100%;padding:28px;border:1px solid var(--hairline);border-radius:8px;background:var(--ground)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:32px;min-width:0}.auth-brand__mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:6px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;letter-spacing:.02em}.auth-brand__name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-title{margin:0;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.form-sub{margin:8px 0 24px;color:var(--ink-2)}.form-sub a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;color:var(--ink-2);font-size:13px;text-decoration:none}.back-link svg{width:14px;height:14px}.back-link:hover{color:var(--ink)}.auth-form{display:flex;flex-direction:column}.field{margin-bottom:16px}.field-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.field-label span{color:var(--danger)}.input-wrap{position:relative}.input-icon{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.field-input{width:100%;height:36px;padding:0 12px;border:1px solid var(--control);border-radius:6px;background:var(--ground);color:var(--ink);font:inherit;font-size:14px}.input-wrap:has(.input-icon) .field-input{padding-left:36px}.field-input.has-toggle{padding-right:40px}.field-input::placeholder{color:var(--ink-3)}.field-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--ink-3);cursor:pointer}.pw-toggle:hover{background:var(--state);color:var(--ink)}.pw-toggle svg{width:16px;height:16px}.pw-toggle .icon-eye-off,.pw-toggle.visible .icon-eye{display:none}.pw-toggle.visible .icon-eye-off{display:block}.field-error{display:none;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:var(--danger)}.field-error.show{display:flex}.field-error svg{width:14px;height:14px;flex:none}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 16px}.forgot-link{color:var(--accent-text);font-size:13px;text-decoration:none}.forgot-link:hover{text-decoration:underline;text-underline-offset:2px}.check-wrap{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check-wrap input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent)}.check-box{display:none}.check-label{font-size:13px;color:var(--ink-2)}.btn-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:36px;padding:0 16px;border:0;border-radius:6px;background:var(--accent);color:var(--on-accent);font:500 14px/1 var(--font);cursor:pointer}.btn-submit:hover{filter:brightness(.92)}.btn-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-submit svg{width:16px;height:16px}.btn-submit .spinner{display:none;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--on-accent) 35%,transparent);border-top-color:var(--on-accent);border-radius:50%;animation:auth-spin .7s linear infinite}.btn-submit.loading .btn-label{display:none!important}.btn-submit.loading .spinner{display:block}.btn-submit.loading{pointer-events:none}@keyframes auth-spin{to{transform:rotate(360deg)}}.method-toggle{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;margin-bottom:16px;border:1px solid var(--control);border-radius:6px}.method-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;border:0;border-radius:4px;background:transparent;color:var(--ink-2);font:500 13px/1 var(--font);cursor:pointer}.method-btn svg{width:14px;height:14px}.method-btn:hover{background:var(--state)}.method-btn.active{background:var(--state);color:var(--ink);font-weight:600}.divider-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ink-3);font-size:12px}.divider-or:before,.divider-or:after{content:"";flex:1;height:1px;background:var(--hairline)}.sso-row{display:grid;gap:8px}.sso-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border:1px solid var(--control);border-radius:6px;background:var(--ground);color:var(--ink);font:500 14px/1 var(--font);cursor:pointer;text-decoration:none}.sso-btn:hover{background:var(--state)}.sso-btn svg{width:16px;height:16px}.portal-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding:12px;border:1px solid var(--hairline);border-radius:8px;color:var(--ink);text-decoration:none}.portal-cta:hover{background:var(--state)}.portal-cta-left{display:flex;align-items:center;gap:12px;min-width:0}.portal-cta-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:6px;background:var(--state);color:var(--accent-text)}.portal-cta-icon svg{width:16px;height:16px}.portal-cta-t{display:block;font-weight:600}.portal-cta-s{display:block;font-size:13px;color:var(--ink-3)}.portal-cta svg.arrow{width:16px;height:16px;color:var(--ink-3)}.secure-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px;font-size:12px;color:var(--ink-3)}.secure-row svg{width:12px;height:12px}.secure-row .sep{opacity:.5}.form-footer{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--hairline);font-size:13px;color:var(--ink-3)}.form-footer a{color:var(--accent-text);text-decoration:none}.form-footer a:hover{text-decoration:underline;text-underline-offset:2px}.workspace-field{display:flex;align-items:center;height:36px;border:1px solid var(--control);border-radius:6px;background:var(--ground);overflow:hidden}.workspace-field:focus-within{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.workspace-field input{flex:1;min-width:0;height:100%;padding:0 12px;border:0;background:transparent;color:var(--ink);font:inherit;outline:none}.workspace-field input::placeholder{color:var(--ink-3)}.workspace-suffix{padding:0 12px;height:100%;display:flex;align-items:center;border-left:1px solid var(--hairline);background:var(--state);color:var(--ink-3);font-size:13px;white-space:nowrap}.workspace-suffix b{color:var(--ink);font-weight:600}.toast{position:fixed;left:50%;bottom:24px;z-index:50;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid var(--hairline);border-radius:8px;background:var(--ground);color:var(--ink);font-size:13px;opacity:0;transform:translate(-50%) translateY(8px);transition:opacity .15s,transform .15s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.success{border-color:var(--success);color:var(--success)}.toast.error{border-color:var(--danger);color:var(--danger)}@media(max-width:480px){.auth-wrap{align-items:flex-start;padding-top:40px}}.btn-label{display:inline-flex;align-items:center;gap:8px}.field-row--end{justify-content:flex-end}.btn-submit--outline{margin-bottom:24px;border:1px solid var(--control);background:var(--ground);color:var(--ink)}.btn-submit--outline:hover{background:var(--state);filter:none}.btn-submit--outline .spinner{border-color:var(--hairline);border-top-color:var(--ink)}.auth-eyebrow{margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.otp-input{text-align:center;height:48px;font-size:24px;font-weight:600;letter-spacing:.5em;font-variant-numeric:tabular-nums}.auth-chip{display:inline-block;margin-bottom:12px;padding:2px 8px;border-radius:4px;background:var(--state);color:var(--ink-2);font-size:12px;font-weight:600}.sso-btn--option{justify-content:flex-start;gap:12px;height:auto;padding:12px;text-align:left}.sso-btn__copy{display:flex;flex-direction:column;gap:2px}.sso-btn__copy small{color:var(--ink-3);font-size:13px;font-weight:400}.sso-btn--option strong{font-weight:600}.hero-panel,.hero-logo,.hero-figure{display:none}@media(min-width:701px){body.v2-auth-shell{overflow:hidden}.auth-wrap{position:relative;display:block;height:100vh;padding:0;overflow:hidden}.hero-panel{display:block;position:absolute;left:0;top:0;bottom:0;width:520px;z-index:1;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,#000) 0%,color-mix(in srgb,var(--accent) 52%,#000) 45%,color-mix(in srgb,var(--accent) 78%,#000) 75%,var(--accent) 100%);clip-path:polygon(0 0,100% 0,72% 100%,0 100%)}.hero-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 90% 90% at 35% 50%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 90% 90% at 35% 50%,#000 20%,transparent 75%)}.hero-panel:after{content:"";position:absolute;width:420px;height:420px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:60px solid rgba(255,255,255,.04);box-shadow:0 0 0 90px #ffffff06,0 0 0 170px #ffffff03}.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 25% 35%,color-mix(in srgb,var(--accent) 34%,transparent) 0%,transparent 65%),radial-gradient(ellipse 60% 60% at 60% 75%,color-mix(in srgb,var(--accent) 40%,#000) 0%,transparent 60%)}.hero-logo{display:block;position:absolute;top:32px;left:32px;z-index:10;pointer-events:none}.hero-logo img{height:52px;width:auto;filter:brightness(0) invert(1)}.hero-figure{display:flex;align-items:flex-end;justify-content:center;position:absolute;left:0;bottom:0;width:520px;height:100%;z-index:3;pointer-events:none}.hero-figure img{height:90%;width:auto;max-width:100%;display:block;object-fit:contain;object-position:bottom center}.form-panel{position:relative;z-index:2;width:auto;max-width:none;height:100%;margin-left:520px;padding:48px 40px;display:flex;align-items:center;justify-content:center;overflow-y:auto}.form-inner{max-width:440px}.auth-brand{display:none}}@media(min-width:701px)and (max-width:1100px){.hero-panel,.hero-figure{width:420px}.form-panel{margin-left:420px}}@media(min-width:701px)and (max-width:900px){.hero-panel,.hero-figure{width:340px}.hero-panel{clip-path:polygon(0 0,100% 0,65% 100%,0 100%)}.hero-logo{top:24px;left:24px}.hero-logo img{height:40px}.form-panel{margin-left:340px;padding:36px 28px}}
