/* Hallmark · macrostructure: inset setup rail · tone: modern-minimal · source: local Popie onboarding */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4 */
html:has(.workspace-onboarding), body:has(.workspace-onboarding) { overflow-x: clip; }
.workspace-onboarding.centered-shell { display: grid; grid-template-columns: minmax(270px, 320px) minmax(0, 1fr); min-height: 100dvh; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); }
.workspace-onboarding .setup-rail { position: sticky; top: 20px; align-self: start; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; min-height: 620px; height: calc(100dvh - 40px); margin: 20px 0 20px 20px; padding: 28px 24px 24px; border-radius: 16px; background: var(--color-sidebar); }
.workspace-onboarding .setup-rail .wordmark { font-size: 24px; width: fit-content; }
.workspace-onboarding .setup-rail-intro { margin-top: 34px; }
.workspace-onboarding .setup-rail-intro h2 { font-size: 21px; font-weight: 500; line-height: 1.3; letter-spacing: -.5px; margin: 0; }
.workspace-onboarding .setup-rail-intro p { margin: 9px 0 0; color: var(--color-muted); font-size: 13px; line-height: 1.6; }
.workspace-onboarding .walkthrough { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 28px 0 0; max-width: none; }
.workspace-onboarding .walkthrough li { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 7px 10px; text-align: left; border: 1px solid transparent; border-radius: var(--radius-button); color: var(--color-muted); }
.workspace-onboarding .walkthrough li::after { display: none; }
.workspace-onboarding .walkthrough strong { font-size: 13px; font-weight: 500; }
.workspace-onboarding .walkthrough .step-number { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; margin: 0; border: 1px solid var(--color-rule); border-radius: 50%; background: transparent; color: inherit; font-size: 10px; }
.workspace-onboarding .walkthrough .is-current { background: var(--color-paper); border-color: var(--color-rule); color: var(--color-ink); }
.workspace-onboarding .walkthrough .is-current .step-number { border-color: var(--color-ink); }
.workspace-onboarding .walkthrough .is-complete .step-number { background: var(--color-accent-soft); border-color: var(--color-accent-soft); color: var(--color-accent); }
.workspace-onboarding .setup-step-arrow { display: none; margin-left: auto; }
.workspace-onboarding .is-current .setup-step-arrow { display: block; }
.workspace-onboarding .setup-rail-bottom { display: grid; gap: 12px; padding-top: 18px; border-top: 1px solid var(--color-rule); font-size: 12px; color: var(--color-muted); }
.workspace-onboarding .setup-rail-bottom a { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--color-ink); font-size: 13px; text-decoration: none; white-space: nowrap; }
.workspace-onboarding .auth-main { min-width: 0; min-height: 0; padding: clamp(36px, 5vw, 64px) 32px 44px; }
.workspace-onboarding .auth-content { width: 100%; max-width: 610px; margin: 0 auto; padding: 0; }
.workspace-onboarding.onboarding-pricing .auth-content { max-width: 820px; }
.workspace-onboarding .auth-content .step-note { margin: 0 0 9px; color: var(--color-accent); font-size: 12px; font-weight: 650; letter-spacing: .02em; }
.workspace-onboarding .auth-content h1 { min-width: 0; margin: 0 0 13px; font-family: var(--font-display); font-size: clamp(30px, 3vw, 38px); font-weight: 450; font-style: normal; letter-spacing: -1.15px; line-height: 1.18; overflow-wrap: anywhere; }
.workspace-onboarding .setup-description, .workspace-onboarding section > .intro { margin: 0 0 28px; padding-bottom: 28px; border-bottom: 1px solid var(--color-rule); color: var(--color-muted); font-size: 14px; line-height: 1.6; }
.workspace-onboarding label { font-size: 13px; font-weight: 550; }
.workspace-onboarding input:not([type=checkbox]):not([type=radio]):not([type=file]), .workspace-onboarding select { min-width: 0; height: 44px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-button); background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: 14px; box-shadow: none; }
.workspace-onboarding input:hover:not(:disabled), .workspace-onboarding select:hover:not(:disabled) { border-color: var(--color-muted); }
.workspace-onboarding :is(input, select, button, a):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.workspace-onboarding input:disabled { background: var(--color-sidebar); opacity: .7; }
.workspace-onboarding .field-help { font-size: 12px; line-height: 1.6; color: var(--color-muted); }
.workspace-onboarding .subdomain-field { min-width: 0; border-color: var(--color-border-strong); border-radius: var(--radius-button); }
.workspace-onboarding .subdomain-field input { width: 100%; border: 0 !important; }
.workspace-onboarding .subdomain-field > span { max-width: 55%; overflow-wrap: anywhere; font-size: 12px; }
.workspace-onboarding .primary, .workspace-onboarding .onboarding-pricing-cards button.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-height: 44px; max-width: 100%; padding: 11px 18px; border: 1px solid var(--color-primary-bottom); border-radius: var(--radius-button); background: linear-gradient(var(--color-primary-top), var(--color-primary-bottom)); color: var(--color-paper); font-size: 13px; font-weight: 550; white-space: nowrap; }
.workspace-onboarding .primary:hover:not(:disabled), .workspace-onboarding .onboarding-pricing-cards button.button:hover:not(:disabled) { background: var(--color-primary-bottom); }
.workspace-onboarding button:disabled { cursor: wait; opacity: .55; }
.workspace-onboarding .secondary { border: 1px solid var(--color-rule); border-radius: var(--radius-button); background: var(--color-paper); color: var(--color-ink); font-size: 13px; white-space: nowrap; }
.workspace-onboarding .secondary:hover { background: var(--color-hover); }
.workspace-onboarding .workspace-onboarding-nav { width: 100%; margin: 28px 0 0; padding: 20px 0 0; border-top: 1px solid var(--color-rule); }
.workspace-onboarding .workspace-onboarding-nav:has([hidden]) { display: none; }
.workspace-onboarding .onboarding-previous { width: auto; padding: 8px 0; border: 0; min-height: 44px; }
.workspace-onboarding .logo-upload { border: 1px dashed var(--color-border-strong); border-radius: var(--radius-card); background: var(--color-sidebar); box-shadow: none; }
.workspace-onboarding .logo-upload-preview { background: var(--color-paper); color: var(--color-muted); border-radius: var(--radius-button); }
.workspace-onboarding .onboarding-pricing-cards { color: var(--color-ink); }
.workspace-onboarding .onboarding-pricing-cards .pricing-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.workspace-onboarding .onboarding-pricing-cards :is(.free-plan, .additional-services) { padding: 24px; border: 1px solid var(--color-rule); border-radius: var(--radius-card); background: var(--color-sidebar); }
.workspace-onboarding .onboarding-pricing-cards .free-plan { background: var(--color-paper); }
.workspace-onboarding .onboarding-pricing-cards :is(p, .fee-row span, .plan-price > span), .workspace-onboarding .billing-continuing-consent { color: var(--color-muted); }
.workspace-onboarding .onboarding-pricing-cards .check-list { font-size: 13px; }
.workspace-onboarding .onboarding-pricing-cards .check-list li > span { color: var(--color-accent); }
.workspace-onboarding .onboarding-pricing-cards .fee-row { flex-direction: column; align-items: flex-start; gap: 6px; border-color: var(--color-rule); }
.workspace-onboarding .onboarding-pricing-cards .fee-row b { flex: auto; text-align: left; }
.workspace-onboarding .onboarding-pricing-cards h2 { font-size: 22px; font-weight: 500; }
@media (max-width: 1000px) { .workspace-onboarding .onboarding-pricing-cards .pricing-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .workspace-onboarding.centered-shell { grid-template-columns: minmax(0, 1fr); }
  .workspace-onboarding .setup-rail { position: static; height: auto; min-height: 0; margin: 12px; padding: 20px; }
  .workspace-onboarding .setup-rail-intro { margin-top: 20px; }
  .workspace-onboarding .setup-rail-intro h2 { font-size: 19px; }
  .workspace-onboarding .walkthrough { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 20px; }
  .workspace-onboarding .walkthrough li { justify-content: center; padding: 7px 0; }
  .workspace-onboarding .walkthrough strong, .workspace-onboarding .setup-step-arrow { display: none; }
  .workspace-onboarding .walkthrough strong { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); display: block; }
  .workspace-onboarding .setup-rail-bottom { margin-top: 16px; padding-top: 8px; gap: 0; }
  .workspace-onboarding .setup-rail-bottom > span { display: none; }
  .workspace-onboarding .auth-main { padding: 24px 24px 40px; }
  .workspace-onboarding .company-phone-fields, .workspace-onboarding .name-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .workspace-onboarding *, .workspace-onboarding *::before, .workspace-onboarding *::after { animation: none !important; transition: none !important; } }
.workspace-onboarding .setup-rail-bottom .profile-dropdown { width: 100%; margin: 0; }
.workspace-onboarding .setup-rail-bottom .profile-dropdown summary { min-height: 44px; font-size: 13px; }
.workspace-onboarding .setup-rail-bottom .profile-dropdown-menu { top: auto; bottom: calc(100% + 8px); left: 0; right: auto; width: 240px; max-width: calc(100vw - 64px); }
.workspace-onboarding .subdomain-field { gap: 0; border: 1px solid var(--color-border-strong); margin-bottom: 20px; padding-right: 12px; }
.workspace-onboarding .subdomain-field input { flex: 1 1 0; margin: 0; }
.workspace-onboarding .subdomain-field > span { flex: 0 0 auto; margin: 0; }
.workspace-onboarding .subdomain-field:focus-within { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.workspace-onboarding .subdomain-field input:focus-visible { outline: none; }
@media (max-width: 767px) { .workspace-onboarding .is-current .setup-step-arrow { display: none; } }

.workspace-onboarding .setup-section { margin-bottom: 28px; }
.workspace-onboarding .setup-section + .setup-section { padding-top: 24px; border-top: 1px solid var(--color-rule); }
.workspace-onboarding .setup-section h2 { margin: 0 0 18px; font-size: 20px; font-weight: 500; letter-spacing: -.45px; }
/* Registry-led business profile: the same narrow form and quiet result rows as Popie. */
.workspace-onboarding .registry-search { padding-bottom: 24px; }
.workspace-onboarding .registry-search.has-details { padding-bottom: 0; }
.workspace-onboarding .registry-results { display: grid; max-height: 300px; overflow-y: auto; border: 1px solid var(--color-rule); border-radius: var(--radius-button); }
.workspace-onboarding .registry-results:empty { display: none; }
.workspace-onboarding .registry-results button { display: grid; gap: 4px; width: 100%; min-height: 64px; margin: 0; padding: 12px 14px; text-align: left; border: 0; border-bottom: 1px solid var(--color-rule); border-radius: 0; background: var(--color-paper); color: var(--color-ink); }
.workspace-onboarding .registry-results button:last-child { border-bottom: 0; }
.workspace-onboarding .registry-results button:hover { background: var(--color-hover); }
.workspace-onboarding .registry-results strong { font-size: 13px; font-weight: 550; overflow-wrap: anywhere; }
.workspace-onboarding .registry-results span { font-size: 12px; color: var(--color-muted); }
.workspace-onboarding .registry-manual { color: var(--color-accent); font-size: 13px; text-align: left; }
.workspace-onboarding .onboarding-profile { min-width: 0; margin: 0; padding: 0; border: 0; }
.workspace-onboarding .registry-selection { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 28px; padding: 14px; border: 1px solid var(--color-rule); border-radius: var(--radius-button); color: var(--color-muted); font-size: 13px; line-height: 1.6; }
.workspace-onboarding .registry-selection button { flex: 0 0 auto; width: auto; margin: 0; color: var(--color-accent); white-space: nowrap; }
.workspace-onboarding .business-check { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; font-size: 13px; font-weight: 400; line-height: 1.6; }
.workspace-onboarding .business-check input { flex: 0 0 16px; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--color-accent); }
.workspace-onboarding textarea { width: 100%; min-height: 100px; padding: 12px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-button); background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: 14px; resize: vertical; }
.workspace-onboarding textarea:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.workspace-onboarding .payroll-year-package { min-width: 0; border: 0; margin: 24px 0 0; padding: 0; }
.workspace-onboarding .payroll-year-package legend { margin-bottom: 12px; font-size: 16px; font-weight: 500; }
.workspace-onboarding .onboarding-profile > .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 767px) {
  .workspace-onboarding .registry-selection { flex-direction: column; gap: 8px; }
  .workspace-onboarding .signatory-address-grid { grid-template-columns: minmax(0, 1fr); }
  .workspace-onboarding .registry-manual { font-size: 12px; }
}
.workspace-onboarding .registry-search select, .workspace-onboarding .onboarding-profile select { width: 100%; }
.workspace-onboarding .onboarding-profile .payroll-year-package .text-button { display: inline-flex; width: auto; margin-top: 10px; }
