@font-face{font-family:"Geist Sans";src:url("assets/geist-sans.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:100 900}
@font-face{font-family:"Geist Mono";src:url("assets/geist-mono.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:100 900}
:root{--font-sans:"Geist Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--bg-base:#fff;--bg-card:#f1f3f5;--bg-surface:#f7f8f9;--bg-elevated:#e6e8eb;--text-primary:#000a19;--text-secondary:#445160;--text-tertiary:#5f6870;--border:#e1e4e8;--border-control:#6e7883;--accent:#f0f9be;--accent-hover:#e6f0a3;--danger:#b3362a;--danger-bg:#fff2f0;--success:#177243;--radius:8px}
*{box-sizing:border-box}
html{background:var(--bg-base);color:var(--text-primary);font:400 15px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}
body{margin:0;min-width:280px}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.12}
h1{font-size:clamp(40px,4.2vw,64px)}
h2{font-size:36px}
h3{font-size:19px;letter-spacing:-.02em}
p,dd{overflow-wrap:anywhere}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--text-primary);outline-offset:4px}
h2:focus{outline:none}
.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:10px 14px;background:var(--text-primary);color:white;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--border);gap:24px}
.nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav-actions a{font-size:13px;min-height:44px;display:flex;align-items:center;padding:0 8px}
.brand,.brand-lockup{display:inline-flex;align-items:center;gap:.421053em;font:500 19px/22px var(--font-sans);letter-spacing:-.02em}
.brand{text-decoration:none}
.brand-symbol{position:relative;display:block;flex:0 0 1.368421em;width:1.368421em;height:1.368421em;overflow:hidden}
.brand-symbol img{position:absolute;inset:0;display:block;width:100%;height:100%}
main{max-width:1440px;min-height:calc(100vh - 153px);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.intro{background:var(--accent);margin:32px 0 32px 32px;padding:48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:16px}
.eyebrow,.step{font:500 11px/16px var(--font-mono);letter-spacing:.06em;color:var(--text-secondary);margin-bottom:24px}
.intro-copy{max-width:350px;font-size:17px;margin-top:24px}
.intro-illustration{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;margin:8px auto;mix-blend-mode:multiply}
.intro-foot{font-size:13px;color:var(--text-secondary)}
.content{display:flex;align-items:center;padding:56px 64px;min-width:0}
.view{width:100%;max-width:480px;margin:0 auto}
.lead{color:var(--text-secondary);margin:16px 0 32px;max-width:46ch;font-size:15px}
.strong-lead{color:var(--text-primary)}
form{display:flex;flex-direction:column;gap:12px}
.required-note{font-size:13px;color:var(--text-secondary);margin-bottom:4px}
label,.field-label{display:flex;flex-direction:column;gap:8px;font-weight:500;font-size:13px}
input,select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid var(--border-control);border-radius:4px;background:var(--bg-base);color:var(--text-primary);font-size:15px;font-weight:400}
input::placeholder{color:var(--text-tertiary)}
input:hover,select:hover{border-color:var(--text-secondary)}
input:focus,select:focus{border-color:var(--text-primary);outline:2px solid transparent}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--danger)}
.company-fields{display:flex;flex-direction:column;gap:12px}
.checkbox-field{flex-direction:row;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:14px}
.checkbox-field input{flex:none;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--text-primary)}
.checkbox-field input:focus-visible{outline:2px solid var(--text-primary);outline-offset:4px}
.fields-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.password-field{display:flex;position:relative}
.password-field input{padding-right:100px}
.show-password{position:absolute;right:4px;top:0;min-width:48px;min-height:48px;border:0;border-radius:4px;background:transparent;padding:8px;color:var(--text-secondary);font-size:13px}
.show-password:hover{background:var(--bg-card)}
.field-help,.privacy,.field-error{font-size:13px;line-height:1.55}
.field-help,.privacy{color:var(--text-secondary)}
.field-help{margin-top:-4px}
.field-error{color:var(--danger);margin-top:-2px}
.privacy{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;max-width:100%;padding:12px 20px;border:1px solid transparent;border-radius:4px;font-weight:500;font-size:14px;line-height:22px;text-align:center;text-decoration:none;background:var(--bg-elevated);color:var(--text-primary);transition:background-color 160ms ease,border-color 160ms ease}
.button.primary{background:var(--accent)}
.button.primary:hover{background:var(--accent-hover)}
.button.outline{background:var(--bg-base);border-color:var(--border-control)}
.button.outline:hover{background:var(--bg-card)}
form>.button{margin-top:12px;width:100%}
.button:disabled{color:var(--text-tertiary);background:var(--bg-elevated)}
.button.busy{cursor:wait}
.switch{font-size:13px;margin-top:24px}
.switch a{font-weight:500}
.forgot-link{align-self:flex-end;font-size:13px;min-height:44px;display:flex;align-items:center}
.secondary-link{display:flex;width:fit-content;min-height:44px;align-items:center;margin-top:14px;font-size:13px}
.actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.actions .button{width:100%;margin-top:8px}
.form-summary,.notice{padding:14px 16px;border-radius:8px;font-size:13px;margin-bottom:20px}
.form-summary{background:var(--danger-bg);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent)}
.notice{background:var(--bg-card);color:var(--text-secondary)}
.notice.success{color:var(--success)}
.identity{display:flex;gap:12px;align-items:center;padding:16px 0;margin-bottom:24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.identity>div{flex:1;min-width:0}
.identity strong{font-weight:500}
.identity p,.identity a{font-size:13px}
.identity p{color:var(--text-secondary)}
.avatar{width:40px;height:40px;flex:none;border-radius:50%;background:var(--bg-card);display:grid;place-items:center;font:500 12px var(--font-mono)}
.account-stack{display:flex;flex-direction:column;gap:20px}
.account-card{padding:20px;border-radius:8px;background:var(--bg-surface)}
.account-card.outlined{background:var(--bg-base);border:1px solid var(--border)}
.account-card h3{margin:4px 0 12px}
.account-card p{color:var(--text-secondary)}
.account-card .button{width:100%;margin-top:16px}
.account-card .secondary-link{margin-top:10px}
.account-heading{font-size:13px;color:var(--text-secondary);margin-bottom:4px}
.account-name{font-size:19px;color:var(--text-primary)!important;font-weight:500;margin-bottom:2px}
.account-company-label{font-size:13px;margin-top:10px}
.account-company{color:var(--text-primary)!important;margin-top:6px}
.badge{display:inline-flex;width:fit-content;padding:4px 8px;border-radius:4px;background:var(--bg-card);font-size:11px;line-height:18px;color:var(--text-secondary)}
.outlined .badge{padding:0;background:transparent;font-size:13px}
.metadata{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:13px}
.metadata span+span:before{content:"·";margin-right:12px;color:var(--text-tertiary)}
.account-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:2px}
.account-footer .secondary-link{margin:0}
.link-button{padding:0;border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.status-mark{display:grid;place-items:center;width:56px;height:56px;margin-bottom:32px;background:var(--accent);border-radius:12px;font:500 24px var(--font-mono)}
.status-text{font-size:13px;color:var(--text-secondary);min-height:20px;margin-top:12px}
.status-text.error{color:var(--danger)}
.mono{font-family:var(--font-mono);font-size:13px}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;row-gap:8px;gap:24px;padding:20px 48px;color:var(--text-secondary);font-size:11px;border-top:1px solid var(--border)}
.footer-brand{display:inline-flex;align-items:center;gap:8px}
.footer-brand .brand-lockup{color:var(--text-primary)}
.footer-legal{display:inline-flex;align-items:center;flex-wrap:wrap;gap:16px}
@media(max-width:1050px){.content{padding:40px 32px}.intro{padding:32px}.intro-illustration{max-height:260px}h2{font-size:32px}}
@media(max-width:760px){.nav{padding:0 20px;height:72px}.brand{font-size:17px;line-height:20px}main{display:block;min-height:auto}.intro{margin:20px 20px 0;padding:24px;min-height:220px}.intro h1{font-size:36px}.intro h1 br{display:none}.intro .eyebrow{margin-bottom:12px}.intro-copy{font-size:15px;margin-top:16px}.intro-illustration,.intro-foot{display:none}.content{padding:40px 20px 64px;align-items:flex-start}.view{max-width:none}h2{font-size:32px}.lead{margin-bottom:28px}.fields-row{grid-template-columns:1fr;gap:12px}.privacy{margin-top:28px}.account-card{padding:20px}.account-stack{gap:20px}footer{padding:20px;min-height:58px}}
@media(max-width:340px){.nav{padding-inline:16px}.nav-actions{gap:0}.nav-actions a{font-size:12px;padding-inline:5px}.brand{font-size:15px;line-height:18px}.intro{margin-inline:12px;padding:20px}.intro h1{font-size:32px}.content{padding:36px 16px 56px}h2{font-size:30px}.button{padding-inline:14px}.password-field input{padding-right:88px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
