.auth-page{min-height:100vh;background:#f3f3f5}.auth-page :is(button,a,select,input):focus-visible{outline:3px solid #7826dd;outline-offset:2px}.auth-page .skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:12px 18px;border-radius:0 0 8px 0;background:#0d0d10;color:#fff;text-decoration:none}.auth-page .skip-link:focus{left:0}.auth-main{display:flex;justify-content:center;width:min(calc(100% - 48px),1408px);margin:0 auto;padding:48px 0 72px}.auth-loading{padding:80px 0;text-align:center;color:#66666d}.auth-card{width:100%;max-width:440px;padding:34px 32px 30px;border:1px solid #e6e6ea;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(17,17,26,.08)}.auth-card--wide{max-width:620px}.auth-h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.4px}.auth-subtitle{margin:8px 0 22px;color:#55555c;font-size:15px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;margin-bottom:22px;border:1px solid var(--border);border-radius:11px;background:#f6f6f8}.auth-tab{display:inline-flex;align-items:center;justify-content:center;height:40px;border-radius:8px;color:#55555c;font-size:15px;font-weight:600;text-decoration:none}.auth-tab.is-active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(17,17,26,.08)}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-field{display:grid;grid-gap:6px;gap:6px}.auth-field label{font-size:13px;font-weight:600;color:#3a3a41}.auth-field input,.auth-field select{height:46px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);font-size:15px}.auth-field input:focus,.auth-field select:focus{border-color:#7826dd;outline:none}.auth-field-error{margin:0;color:#b3261e;font-size:13px}.auth-password{position:relative;display:flex}.auth-password input{flex:1 1 auto;min-width:0;padding-right:84px}.auth-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:34px;padding:0 10px;border:0;border-radius:7px;background:#f0f0f3;color:#3a3a41;font-size:12px;font-weight:600}.auth-password-toggle:hover{background:#e7e7ec}.auth-consent-gate{margin:0;color:#55555c;font-size:12.5px;line-height:1.55}.auth-consent-gate code{color:#6a4bd0;font-family:inherit}.auth-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;height:50px;border:0;border-radius:10px;background:var(--gradient);color:#fff;font-size:16px;font-weight:600;box-shadow:0 9px 30px rgba(110,40,201,.14)}.auth-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auth-submit--sm{width:auto;height:44px;padding:0 20px}.auth-secondary{height:48px;padding:0 18px;border:1px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-size:15px}.auth-ghost,.auth-secondary{display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-decoration:none}.auth-ghost{height:44px;padding:0 14px;border:0;background:transparent;color:#55555c;font-size:14px}.auth-ghost:hover{color:var(--ink)}.auth-forgot{justify-self:start;padding:0;border:0;background:transparent;color:#6a4bd0;font-size:13px;font-weight:600}.auth-forgot-panel{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:11px;background:#faf9fb}.auth-forgot-title{margin:0 0 12px;font-size:16px;font-weight:700}.auth-forgot-form{display:grid;grid-gap:12px;gap:12px}.auth-forgot-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.auth-forgot-confirm{margin:0;color:#2f6d33;font-size:14px;line-height:1.5}.auth-divider{position:relative;margin:22px 0 16px;text-align:center}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.auth-divider span{position:relative;padding:0 12px;background:#fff;color:#86868d;font-size:13px}.auth-providers{display:grid;grid-gap:10px;gap:10px}.auth-provider{height:48px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);font-size:15px;font-weight:600}.auth-provider:hover:not(:disabled){background:#f6f6f8}.auth-provider:disabled{opacity:.55;cursor:not-allowed}.auth-provider-note{margin:10px 0 0;color:#86868d;font-size:12px;text-align:center}.auth-switch{margin:20px 0 0;color:#55555c;font-size:14px;text-align:center}.auth-inline-link{color:#6a4bd0;font-weight:600;text-decoration:none}.auth-guest,.auth-inline-link:hover{text-decoration:underline}.auth-guest{display:block;margin-top:14px;color:#55555c;font-size:14px;text-align:center}.flow-progress{margin-bottom:24px}.flow-progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#ececef}.flow-progress-fill{height:100%;background:var(--gradient);transition:width .2s ease}.flow-progress-steps{display:flex;gap:8px;margin:12px 0 0;padding:0;list-style:none}.flow-progress-step{display:flex;align-items:center;gap:7px;color:#9a9aa1;font-size:13px;font-weight:600}.flow-progress-step:not(:last-child):after{content:"›";margin-left:4px;color:#c9c9d0}.flow-progress-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ececef;color:#86868d;font-size:12px}.flow-progress-step.is-current{color:var(--ink)}.flow-progress-step.is-current .flow-progress-num{background:var(--gradient);color:#fff}.flow-progress-step.is-done .flow-progress-num{background:#2f6d33;color:#fff}.consent-group{margin:0 0 22px;padding:18px;border:1px solid var(--border);border-radius:12px}.consent-legend{padding:0 6px;font-size:16px;font-weight:700}.consent-hint{margin:0 0 14px;color:#55555c;font-size:13px}.consent-item{padding:12px 0;border-top:1px solid #f0f0f2}.consent-item:first-of-type{border-top:0}.consent-check,.consent-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.consent-check input,.consent-toggle input{margin-top:2px;width:18px;height:18px;flex:0 0 auto;accent-color:#7826dd}.consent-placeholder{color:#6a4bd0;font-family:inherit;font-size:14px;line-height:1.5}.consent-viewfull{margin-top:8px;padding:0;border:0;background:transparent;color:#6a4bd0;font-size:13px;font-weight:600}.consent-fulltext{margin:10px 0 0;padding:12px;border-radius:9px;background:#f6f6f8;color:#55555c;font-size:13px;line-height:1.55}.consent-fulltext code{font-family:inherit}.consent-toggle-label{font-size:14px;font-weight:600}.consent-degrade{margin:6px 0 0 28px;color:#6f6f76;font-size:13px;line-height:1.5}.consent-note{margin:0 0 18px;padding:16px;border:1px solid #e3dcf5;border-radius:12px;background:#f7f4fd}.consent-note-title{margin:0 0 8px;font-size:15px;font-weight:700}.consent-note p{margin:0}.consent-record{margin:0 0 18px;color:#6f6f76;font-size:13px}.consent-blocked{margin:0 0 14px;color:#8a5a00;font-size:13px;font-weight:600}.consent-actions,.onb-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.consent-actions .auth-submit,.onb-actions .auth-submit{width:auto;padding:0 26px}.onb-section{padding:20px 0;border-top:1px solid #f0f0f2}.onb-section:first-of-type{border-top:0;padding-top:4px}.onb-heading{margin:0 0 12px;font-size:17px;font-weight:700}.onb-req{color:#b3261e;font-size:13px;font-weight:600}.onb-opt{color:#9a9aa1;font-size:13px;font-weight:500}.onb-note{margin:0 0 12px;color:#6f6f76;font-size:13px;line-height:1.5}.onb-chips{display:flex;flex-wrap:wrap;gap:9px}.onb-chip{height:40px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600}.onb-chip.is-selected{border-color:transparent;background:var(--gradient);color:#fff}.onb-sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px;gap:14px}.onb-budget{display:flex;align-items:flex-end;gap:12px}.onb-budget .auth-field{flex:1 1}.onb-budget-sep{padding-bottom:12px;color:#9a9aa1}.onb-skip-note{margin:12px 0 0;color:#86868d;font-size:13px}@media (max-width:560px){.auth-main{width:calc(100% - 32px);padding:28px 0 56px}.auth-card{padding:26px 20px 24px}.onb-budget{flex-direction:column;align-items:stretch}.onb-budget-sep{display:none}}.auth-hint{margin:4px 0 0;color:#7a7a82;font-size:13px;line-height:1.5}.auth-mfa-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px}.auth-mfa-expired{display:grid;grid-gap:12px;gap:12px;margin-top:8px;padding:14px 16px;border:1px solid #f0d9b8;border-radius:10px;background:#fdf8f0;color:#6b4a12;font-size:14px;line-height:1.5}.auth-mfa-expired p{margin:0}.auth-mfa-expired .auth-submit--sm{justify-self:start}