/* BZ-S2 — auth + registration styles. BV's look carried on the shared
   tokens (tokens.css is the single source of visual truth); BV shipped
   these form styles inline in its single style block — BZ keeps the same
   class names the extracted BV markup carries. */
.acct-hero{padding:32px 0 8px}
.acct-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:20px}
.acct-type-card{display:flex;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;color:var(--ink);cursor:pointer}
.acct-type-card[aria-pressed="true"]{border-color:var(--teal-2);background:var(--surface-2)}
.acct-type-body strong{display:block}
.acct-type-sub{color:var(--ink-soft);font-size:14px}
.acct-form-sec{padding:16px 0 40px}
.acct-form{display:grid;gap:14px}
.acct-form label{display:grid;gap:6px;font-weight:600}
.acct-form input,.acct-form select,.acct-form textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit;font-weight:400}
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.acct-grid .span2{grid-column:span 2}
.acct-checks{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:8px}
.acct-checks label{font-weight:400;display:flex;gap:8px;align-items:flex-start}
.acct-legend-note{color:var(--ink-soft);font-size:14px}
.acct-terms{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.acct-submit{justify-self:start}
.acct-note{color:var(--ink-soft);font-size:14px}
.acct-receipt{border:2px solid var(--amber);border-radius:12px;padding:24px;text-align:center;background:var(--surface)}
.contractor-box{border:1px solid var(--line);border-radius:12px;padding:16px}
.legal-dialog{max-width:720px;width:calc(100% - 32px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:24px}
.legal-doc{max-height:40vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0}
.consent-row{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-weight:400}
.signin-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.app-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;flex-wrap:wrap}
.app-frame-wrap iframe{width:100%;min-height:70vh;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.reconsent-bar{border:1px solid var(--amber);border-radius:12px;padding:14px;margin:0 0 14px;display:grid;gap:10px}
#accountMenu{display:inline-flex;gap:10px;align-items:center}
#accountMenu[hidden]{display:none}
.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.dash-muted{color:var(--ink-soft)}
.journey-bar ol{display:flex;gap:18px;list-style:none;padding:0;margin:0 0 8px}

/* ---- Oct 14, 2026 — create-account formatting pass (presentation only).
   Root causes found in audit: checkbox/radio inputs inherit the global
   input{width:100%} rule and tear away from their labels; .acct-tip /
   .acct-tip-pop / .avail-days / .journey-bar shipped with no styles, so
   tooltip text dumped inline and the progress strip rendered as raw text.
   No markup, JS, or wiring changes. */
input[type="checkbox"],input[type="radio"]{width:20px;height:20px;min-width:20px;flex:none;margin:0;padding:0;accent-color:var(--teal-2);cursor:pointer}
.acct-form label:has(> input[type="checkbox"]),.acct-form label:has(> input[type="radio"]){display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.45;cursor:pointer}
.acct-checks{gap:10px}
.acct-checks label{align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);line-height:1.4}
.acct-checks label:hover{border-color:var(--teal-2)}
.avail-days{display:flex;flex-wrap:wrap;gap:8px}
.avail-days label{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-weight:400;cursor:pointer}
.avail-days label:hover{border-color:var(--teal-2)}
.acct-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);font-size:11px;font-weight:700;cursor:help;vertical-align:middle;margin:0 2px;flex:none}
.acct-tip-pop{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:260px;max-width:70vw;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.45;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .15s ease;z-index:30;pointer-events:none;text-align:left}
.acct-tip:hover .acct-tip-pop,.acct-tip:focus .acct-tip-pop,.acct-tip:focus-within .acct-tip-pop{opacity:1;visibility:visible}
.journey-bar{width:min(calc(100% - 40px),1180px);margin:18px auto 0}
.journey-bar li{display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-weight:600}
.journey-bar li a{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.journey-bar .j-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:13px;flex:none}
.journey-bar li.j-current{color:var(--ink)}
.journey-bar li.j-current .j-step{background:var(--teal-2);border-color:var(--teal-2);color:#0b1513}
@media (max-width:640px){.journey-bar{width:calc(100% - 28px)}}
/* Oct 14, 2026 v3 — nurse row: the note (<small>) stacked under its label line, muted. */
.acct-checks-nurse span{display:grid;gap:2px}
.acct-checks-nurse small{color:var(--ink-soft);font-weight:400;line-height:1.45}
