/* All family color and typography come from static/brand. */
.family-shell { margin:0; background:var(--sam-color-canvas); color:var(--sam-color-text); font:400 1.125rem/1.6 var(--sam-font-sans); --family-nav-height:6rem; }
.family-shell * { box-sizing:border-box; }
.family-shell[data-text-size="larger"] { font-size:1.625rem; }
.family-shell[data-experience="standard"] { font-size:1.125rem; }
.family-shell[data-experience="senior"] { font-size:1.125rem; }
.family-shell main { max-width:1120px; padding:40px 32px 72px; margin:auto; min-height:72vh; }
.family-header { display:flex; flex-wrap:wrap; gap:24px; align-items:center; padding:22px max(24px,calc((100vw - 1056px)/2)); border-bottom:1px solid var(--sam-color-border); background:var(--sam-color-surface); }
.family-header>div { display:flex; align-items:center; gap:12px; }
.family-header #account-controls { margin-left:auto; }
.wordmark { flex-shrink:0; text-decoration:none; color:var(--sam-color-text); }
.wordmark img { display:block; width:144px; max-width:100%; height:auto; }
.wordmark .brand-mark-dark { display:none; }
.wordmark span { display:block; font-size:.8em; margin-top:8px; }
.family-shell h1 { font-size:clamp(2rem,5vw,3rem); font-weight:700; line-height:1.2; letter-spacing:-.025em; margin:12px 0 20px; }
.family-shell h2 { font-size:1.3em; line-height:1.35; margin:24px 0 16px; }
.family-shell h3 { font-size:1.1em; }
.family-shell p { max-width:68ch; overflow-wrap:anywhere; margin:0 0 20px; }
.family-shell button,.family-shell input,.family-shell select,.family-shell textarea { font:inherit; line-height:1.5; border-radius:12px; min-height:56px; }
.family-shell button { background:var(--sam-aubergine); color:var(--sam-warm-white); border:2px solid var(--sam-color-border-strong); padding:12px 22px; font-weight:700; display:inline-flex; justify-content:center; gap:12px; align-items:center; }
.family-shell button:hover { background:var(--sam-action-hover); }
.family-shell button.quiet,.family-shell .section-nav button { color:var(--sam-color-text); background:var(--sam-color-canvas); border:1px solid var(--sam-color-border-strong); }
.family-shell button.quiet:hover,.family-shell .section-nav button:hover { background:var(--sam-color-trust-soft); }
.family-shell button:disabled { color:var(--sam-color-text-secondary); background:var(--sam-color-surface-soft); border-color:var(--sam-color-border-strong); cursor:default; }
.family-shell :focus-visible { outline:3px solid var(--sam-color-focus); outline-offset:4px; }
.family-shell label { display:block; margin:18px 0; font-weight:700; }
.family-shell input:not([type="checkbox"]),.family-shell textarea,.family-shell select { display:block; width:100%; color:var(--sam-color-text); background:var(--sam-color-surface); border:1px solid var(--sam-color-border-strong); padding:12px 16px; margin-top:7px; }
.family-header label { font-size:.85em; }
.family-header select { min-width:0; max-width:300px; margin:0; }
.family-shell .hint { font-weight:400; font-size:.8em; color:var(--sam-color-text-secondary); }
.family-shell .record-context { color:var(--sam-color-text-secondary); font-size:.9em; margin-bottom:8px; }
.narrow { max-width:620px; padding:28px 0; margin:auto; }
.family-shell #record-fields,.family-shell #account-fields { border:0; margin:0; padding:0; min-width:0; }
.actions,.columns { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.columns>label { flex:1 1 210px; }
.family-shell .section-nav { display:flex; flex-wrap:wrap; gap:10px; padding:0 0 24px; margin:0 0 20px; border-bottom:1px solid var(--sam-color-border); }
.family-shell .section-nav button { white-space:normal; font-size:.85em; }
.family-shell .section-nav button[aria-current="page"] { background:var(--sam-aubergine); color:var(--sam-warm-white); }
.home-choices { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin:32px 0 46px; }
.family-shell .choice { color:var(--sam-color-text); background:var(--sam-color-surface); border:1px solid var(--sam-color-border-strong); min-height:140px; justify-content:flex-start; text-align:left; padding:26px; gap:22px; font-size:1.2em; }
.family-shell .choice:hover { background:var(--sam-color-trust-soft); }
.family-shell .choice.primary { color:var(--sam-warm-white); background:var(--sam-aubergine); border-color:var(--sam-aubergine); }
.family-shell .choice.primary:hover { background:var(--sam-action-hover); }
.choice svg { width:32px; height:32px; flex-shrink:0; }
.choice small { display:block; font-size:.72em; font-weight:400; margin-top:8px; }
.subheading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.stack { display:grid; gap:16px; margin:24px 0; }
.entry { padding:22px 24px; border:1px solid var(--sam-color-border); background:var(--sam-color-surface); border-radius:14px; overflow-wrap:anywhere; }
.entry p:last-child { margin-bottom:0; }
.entry p { white-space:pre-wrap; }
.source-kind { display:block; text-transform:none; font-size:.85em; color:var(--sam-color-text-secondary); margin-bottom:8px; }
.entry .actions { margin-top:16px; }
.entry button { font-size:.85em; }
.timeline { margin:28px 0; display:grid; gap:20px; }
.family-shell .checkbox { display:flex; gap:16px; align-items:flex-start; font-weight:400; }
.checkbox input { flex-shrink:0; width:28px; height:28px; margin-top:6px; accent-color:var(--sam-aubergine); }
.recording-box { border:1px solid var(--sam-color-border-strong); padding:24px; margin:32px 0; border-radius:14px; }
#recording-status { position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; background:var(--sam-apricot); color:var(--sam-aubergine); padding:12px 20px; }
.family-shell #record-indicator { margin:0; font-weight:600; }
.family-shell #record-stop { color:var(--sam-color-text); background:var(--sam-color-surface); border-color:var(--sam-color-surface); }
#notice:not(:empty),#undo-bar { padding:16px 20px; background:var(--sam-color-trust-soft); border:1px solid var(--sam-color-text-secondary); border-radius:12px; margin-bottom:24px; }
#undo-bar { display:flex; gap:24px; align-items:center; justify-content:space-between; position:fixed; bottom:16px; left:50%; transform:translateX(-50%); width:calc(100% - 40px); max-width:640px; margin:0; z-index:10;  }
#answers .entry { white-space:pre-wrap; }
#setup-secret { display:block; background:var(--sam-color-surface); padding:16px; font-family:var(--sam-font-sans); overflow-wrap:anywhere; user-select:all; }
#factor-panel .actions { margin-bottom:16px; }
#factor-back { margin-top:24px; }
.family-shell dialog { color:var(--sam-color-text); background:var(--sam-color-surface); border:1px solid var(--sam-color-border-strong); border-radius:16px; width:min(760px,94vw); max-height:90vh; padding:30px; }
.family-shell dialog::backdrop { background:var(--sam-color-backdrop); }
#source-content { white-space:pre-wrap; margin-top:24px; overflow-wrap:anywhere; }
.family-shell footer { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 24px; border-top:1px solid var(--sam-color-border); padding:24px; text-align:center; color:var(--sam-color-text-secondary); font-size:.85em; }
.family-shell footer span { text-wrap:balance; }
.skip { position:absolute; top:-100px; }.skip:focus { top:8px; background:var(--sam-color-surface); padding:12px; z-index:20; }
.family-shell audio { width:100%; margin-top:16px; }
@media(max-width:720px) { .family-header { flex-wrap:wrap; padding:16px 20px; gap:12px; }.family-header #record-controls { order:3; width:100%; }.family-header #account-controls { gap:8px; }.family-header button { padding:8px 12px; font-size:.85em; }.family-shell main { padding:24px 20px 48px; }.home-choices { grid-template-columns:1fr; gap:14px; }.family-shell .choice { min-height:116px; }.family-shell .subheading { align-items:flex-start; flex-direction:column; }.actions { align-items:stretch; }.actions>button { flex:1 1 auto; }.timeline { padding-left:14px; } }
.emergency-page { white-space:normal!important; }
@page { size:letter; margin:12mm; }
@media print { body.family-shell { font:10pt/1.25 var(--sam-font-sans)!important; background:var(--sam-color-surface); }.family-header,footer,.section-nav,#notice,#undo-bar,button,form,.family-shell main { display:none!important; }.family-shell dialog { position:static; border:0; width:100%; max-height:none; padding:0; margin:0; overflow:visible; }.family-shell dialog::backdrop { background:none; } #source-content { white-space:normal; margin:0; }.emergency-page h1 { font:700 17pt/1.15 var(--sam-font-heading); margin:0 0 8pt; }.emergency-page h2 { font:700 11pt/1.2 var(--sam-font-heading); margin:8pt 0 3pt; }.emergency-page p { max-width:none; margin:0 0 3pt; }.emergency-page { break-inside:avoid; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print { .family-shell main { display:block!important; padding:0; min-height:0; }.family-shell main>*:not(dialog) { display:none!important; } }

.family-shell [hidden] { display:none!important; }
.family-shell[data-text-size="larger"] { font-size:1.625rem; }
.family-shell :is(h1,h2,h3,h4,h5,h6) { font-family:var(--sam-font-heading); font-weight:700; text-wrap:balance; overflow-wrap:anywhere; }
.family-shell :is(button,input,select,textarea) { max-width:100%; min-width:0; }
.family-shell button { cursor:pointer; white-space:normal; overflow-wrap:anywhere; touch-action:manipulation; }
.family-shell a { color:var(--sam-color-trust-strong); text-underline-offset:.2em; display:inline-flex; align-items:center; min-height:52px; max-width:100%; overflow-wrap:anywhere; }
.family-shell .wordmark { flex-direction:column; align-items:flex-start; }
.family-shell .checkbox input { width:44px; height:44px; min-height:44px; }
.family-shell ::placeholder { color:var(--sam-color-text-secondary); opacity:1; }
.family-shell ::selection { color:var(--sam-aubergine); background:var(--sam-lilac-gray); }
.family-shell { caret-color:var(--sam-color-text); scrollbar-color:var(--sam-color-border-strong) var(--sam-color-canvas); font-variant-numeric:tabular-nums; }
.family-shell .source-heading { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:12px; white-space:normal; }
.family-shell .source-heading .source-kind { margin:0; }
.family-shell .brand-badge { font:700 .85em/1.5 var(--sam-font-sans); }
.family-shell .choice span,.family-shell .columns>label,.family-header>div { min-width:0; }
.family-shell .choice.primary { color:var(--sam-aubergine); background:var(--sam-periwinkle); border-color:var(--sam-aubergine); }
.family-shell .choice.primary:hover { background:var(--sam-lilac-gray); }
.family-shell .section-nav button[aria-current="page"] { color:var(--sam-aubergine); background:var(--sam-lilac-gray); border-color:var(--sam-aubergine); }
.family-shell summary { min-height:56px; padding-block:12px; cursor:pointer; }
.family-shell fieldset { min-width:0; border-color:var(--sam-color-border-strong); }
.family-shell input::file-selector-button { font:inherit; padding:8px 12px; margin:0 12px 8px 0; color:var(--sam-color-text); background:var(--sam-color-trust-soft); border:1px solid var(--sam-color-border-strong); border-radius:var(--sam-radius-control); }
/* Native Safari date fields must shrink with their containing form. */
.family-shell input[type="date"] { appearance:none; -webkit-appearance:none; min-width:0; text-align:left; }
.family-shell input[type="date"]::-webkit-date-and-time-value { min-height:1.5em; text-align:left; }
.family-shell :is(h1,h2)[tabindex="-1"]:focus { outline:none; }
.family-shell #password-hint { display:block; margin-top:8px; }
.family-shell :is(#signup-form,#login-form)>.actions { margin-top:24px; }

/* The public entry is a reading/form column; record-specific large type starts
   after sign-in. Rem units continue to respect browser text enlargement. */
.family-entry { display:flex; flex-direction:column; min-height:100svh; font-size:1.125rem; }
.family-entry main { flex:1; width:100%; min-height:0; padding:48px 24px 64px; }
.family-entry main:has(>#welcome:not([hidden])) { display:flex; flex-direction:column; justify-content:center; }
.family-entry .family-header { padding:20px max(24px,calc((100% - 576px)/2)); }
.family-entry .wordmark img { width:112px; }
.family-entry .wordmark span { font-size:.875rem; margin-top:4px; }
.family-entry .narrow { width:100%; max-width:576px; padding:0; }
.family-entry h1 { margin:0 0 28px; font-size:clamp(2rem,5vw,2.5rem); line-height:1.2; }
.family-entry h2 { margin:0 0 24px; font-size:1.375rem; }
.family-entry #welcome { padding-block:24px; }
.family-entry #welcome h1 { max-width:12ch; margin-bottom:24px; font-size:clamp(2.5rem,7vw,3.5rem); line-height:1.08; }
.family-entry #welcome p { max-width:40ch; color:var(--sam-color-text-secondary); }
.family-entry #welcome .welcome-lead { color:var(--sam-color-text); font-size:1.25rem; margin-bottom:12px; }
.family-entry #welcome .actions { margin-top:32px; }
.family-entry label { margin:0 0 24px; font-size:1rem; font-weight:600; }
.family-entry :is(input,select,textarea) { font-size:1.125rem; min-height:52px; padding:12px; margin-top:8px; }
.family-entry button { min-height:52px; padding:12px 20px; font-size:1rem; }
.family-entry button:not(.quiet) { color:var(--sam-color-canvas); background:var(--sam-color-text); border-color:var(--sam-color-text); }
.family-entry button:not(.quiet):hover { color:var(--sam-color-surface); background:var(--sam-color-trust-strong); border-color:var(--sam-color-trust-strong); }
.family-entry #record-fields:not([hidden])+#account-fields { border-top:1px solid var(--sam-color-border); padding-top:32px; margin-top:8px; }
.family-entry .hint { font-size:.875rem; }
.family-entry footer { font-size:.875rem; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
@media(max-width:600px) {
  .family-entry main { padding-top:32px; padding-bottom:48px; }
  .family-entry #welcome { padding-top:16px; }
  .family-entry .actions { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .family-entry footer { flex-direction:column; }
}
@media(max-width:720px) { .family-shell .section-nav button { flex:1 1 auto; }.family-shell .choice { gap:16px; padding:22px; }.family-shell dialog { padding:20px; }.family-shell #undo-bar { flex-wrap:wrap; gap:12px; } }
@media print { .family-shell,.family-shell dialog { color:var(--sam-aubergine); background:var(--sam-warm-white); } }

/* The family workspace keeps the established QI-A five-destination shell. */
.family-shell:not(.family-entry) main { max-width:960px; padding-top:32px; }
.family-shell:not(.family-entry) .family-header { padding:16px max(20px,calc((100% - 896px)/2)); gap:16px; }
.family-shell:not(.family-entry) .wordmark img { width:104px; }
.family-shell:not(.family-entry) .wordmark span { font-size:.875rem; margin-top:4px; }
.family-shell:not(.family-entry) h1 { font-size:clamp(1.75em,4vw,2.25em); max-width:24ch; margin-bottom:16px; }
.family-shell:not(.family-entry) :is(form,.narrow) { max-width:640px; }
.family-shell:not(.family-entry) button { min-height:48px; padding:10px 16px; }
.family-shell:not(.family-entry) :is(input,select,textarea) { min-height:48px; padding:10px 12px; }
.family-shell #home-empty { max-width:44ch; margin-block:32px 64px; }
.family-shell .section-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:0; gap:0; }
.family-shell .section-nav button { justify-content:flex-start; text-align:left; border:0; border-bottom:1px solid var(--sam-color-border); border-radius:0; padding:20px 12px; font-size:1em; background:transparent; }
.family-shell .primary-tab-bar { position:fixed; z-index:30; inset:auto 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:8px max(4px,calc((100% - 640px)/2)) max(8px,env(safe-area-inset-bottom)); background:var(--sam-aubergine); }
.family-shell #family-navigation .primary-tab { min-width:0; min-height:64px; padding:4px 2px; gap:5px; display:flex; flex-direction:column; justify-content:center; border:0; border-radius:8px; color:var(--sam-warm-white); background:transparent; font-size:.875rem; font-weight:500; line-height:1.3; overflow-wrap:normal; }
.family-shell .primary-tab svg { width:24px; height:24px; fill:currentColor; flex-shrink:0; }
.family-shell .primary-tab>span { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.family-shell #family-navigation .primary-tab:is(.is-active,:hover) { color:var(--sam-lilac-gray); background:var(--sam-action-hover); }
.family-shell .primary-tab:focus-visible { outline-color:var(--sam-warm-white); outline-offset:-3px; }
.family-shell .primary-tab-ask-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--sam-action); color:var(--sam-warm-white); }
.family-shell .primary-tab-ask { margin-top:-12px; }

.family-shell:not(.family-entry) footer { padding-bottom:calc(var(--family-nav-height) + 24px); font-size:.875rem; }
.family-shell:not(.family-entry) #undo-bar { bottom:calc(var(--family-nav-height) + 12px); }
@media(max-width:720px) {
  .family-shell:not(.family-entry) main { padding:28px 20px 32px; }
  .family-shell:not(.family-entry) .family-header { gap:12px; }
  .family-header #record-controls { align-items:center; flex-wrap:wrap; }
  .family-header #record-controls label { margin:0; }
  .family-header #record-controls select { flex:1 1 12em; width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
  .family-shell .section-nav { grid-template-columns:minmax(0,1fr); }
  .family-shell .choice { min-height:96px; font-size:1em; }
  .family-shell:not(.family-entry) footer { flex-direction:column; }
}
@media print { .family-shell .primary-tab-bar { display:none!important; } }

/* Restore the September 9 Experience frame; account pages extend that shell. */
.family-shell:not(.family-entry) { background:var(--sam-aubergine); font-size:1rem; }
.family-shell:not(.family-entry)[data-text-size="larger"] { font-size:1.25rem; }
.family-shell:not(.family-entry) .family-header { max-width:72rem; margin:auto; min-height:5.25rem; padding:1rem 1.25rem; background:var(--sam-aubergine); color:var(--sam-warm-white); border:0; flex-wrap:nowrap; }
.family-shell:not(.family-entry) .wordmark img { width:116px; }
.family-shell:not(.family-entry) .family-header .brand-mark-light { display:none; }
.family-shell:not(.family-entry) .family-header .brand-mark-dark { display:block; }
#family-subtitle { font-size:.75rem; line-height:1.5; margin:0; min-width:0; }
.family-shell #settings-button { width:44px; min-height:44px; padding:8px; border:0; border-radius:50%; background:var(--sam-lilac-gray); color:var(--sam-aubergine); }
.family-shell .family-header #account-controls { flex-shrink:0; }
.family-shell .skip { color:var(--sam-color-text); background:var(--sam-color-canvas); }
#settings-button svg { width:28px; height:28px; fill:currentColor; }
.family-shell:not(.family-entry) main { max-width:72rem; min-height:calc(100svh - 12rem); margin:6.75rem auto 0; padding:0 1.25rem 2rem; background:var(--sam-color-canvas); border-radius:24px 24px 0 0; display:flow-root; }
.family-shell:not(.family-entry) .view { display:flow-root; }
.family-shell:not(.family-entry) .view>h1 { color:var(--sam-warm-white); background:var(--sam-aubergine); margin:-6.75rem -1.25rem 2rem; padding:.5rem 1.25rem 1.5rem; min-height:6.75rem; max-width:none; font-size:clamp(2rem,7.8vw,2.75rem); }
.family-shell:not(.family-entry) footer { max-width:72rem; margin:auto; background:var(--sam-aubergine); color:var(--sam-lilac-gray); border:0; }
.family-shell #family-navigation .primary-tab { font-size:.68rem; min-height:4rem; gap:.4rem; }
.family-shell #family-navigation .primary-tab.is-active { background:transparent; color:var(--sam-periwinkle); }
.family-shell #family-navigation .primary-tab.is-active::after { content:""; width:4px; height:4px; border-radius:50%; background:currentColor; }
.family-shell #family-navigation .primary-tab-ask { margin-top:-.5rem; }
.family-shell .primary-tab-bar { padding:.4rem max(.3rem,calc((100% - 40rem)/2)) max(.5rem,env(safe-area-inset-bottom)); }
.family-shell #notice:not(:empty) { margin:16px 0 24px; }
.family-shell:not(.family-entry) main:has(#notice:not(:empty)) .view>h1 { margin-top:0; }
.family-entry:has(:is(#welcome,#login-panel):not([hidden]))>.family-header,
.family-entry:has(:is(#welcome,#login-panel):not([hidden]))>footer { display:none; }
.family-entry main:has(>:is(#welcome,#login-panel):not([hidden])) { padding:1rem; display:grid; align-content:center; }
.family-entry #welcome { max-width:30rem; padding:0; overflow:hidden; border-radius:24px; background:var(--sam-aubergine); }
.family-entry #welcome .brand-welcome-intro { padding:32px 24px 28px; background:var(--sam-color-canvas); text-align:center; }
.family-entry #welcome .brand-welcome-logo { width:10rem; margin:0 auto 1.5rem; }
.family-entry #welcome h1 { font-size:2rem; max-width:none; margin:0 0 1.25rem; line-height:1.15; }
.family-entry #welcome h1 span { display:block; }
.family-entry #welcome .brand-welcome-promise { margin:0; font-size:.75rem; line-height:1.8; letter-spacing:.15em; font-weight:700; }
.family-entry #welcome .brand-welcome-promise span { display:block; }
.family-entry #welcome .brand-welcome-photo { aspect-ratio:1.35; }
.family-entry #welcome .brand-welcome-actions { padding:20px 24px 24px; }
.family-entry #welcome .brand-welcome-actions button { width:100%; }
.family-entry #welcome #begin-login { background:var(--sam-action); color:var(--sam-warm-white); border-color:var(--sam-action); }
.family-entry #welcome #begin-login svg { fill:currentColor; }
.family-entry #welcome #begin-signup { color:var(--sam-warm-white); background:transparent; border:0; font-size:.85rem; text-decoration:underline; text-underline-offset:.2em; }
.family-entry #welcome .brand-welcome-privacy { margin:1.25rem 0 .5rem; color:var(--sam-warm-white); text-align:center; font-size:.8rem; }
.family-entry #login-panel { max-width:30rem; border-radius:24px; overflow:hidden; }
.family-entry #login-panel h1 { font-size:1.95rem; margin:0 0 .75rem; line-height:1.1; }
.family-entry #login-panel h1 span { display:block; color:var(--sam-color-trust-strong); }
.family-entry #login-panel .brand-login-masthead button { font-size:.75rem; border:0; padding:.5rem; background:transparent; }
.family-entry #login-panel label { font-size:.85rem; margin-bottom:1rem; }
.family-entry #login-panel input { font-size:1rem; min-height:48px; padding:.7rem .85rem; }
.family-entry #login-panel p { font-size:.85rem; }
.family-entry #login-panel .privacy-note { margin-top:1.25rem; font-size:.75rem; }
.family-entry #login-panel .actions button { width:100%; color:var(--sam-warm-white); background:var(--sam-action); border-color:var(--sam-action); }
@media(max-width:360px) { .family-shell:not(.family-entry) .family-header { padding-inline:1rem; gap:.6rem; } #family-subtitle { font-size:.65rem; } }

#record-role:empty { display:none; }
.recording-heading { display:flex; align-items:start; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.recording-heading h2 { flex:1 1 260px; }
#record-provider-picker { position:relative; flex:1 1 280px; max-width:420px; min-width:0; }
.record-provider-control { display:flex; gap:0; }
.record-provider-control input { min-width:0; margin:0; border-radius:10px 0 0 10px; }
.record-provider-control button { border-radius:0 10px 10px 0; margin:0; min-width:44px; }
#record-provider-options { position:absolute; inset:auto 0 auto 0; z-index:20; max-height:300px; overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--sam-action); border-radius:10px; background:var(--sam-color-surface); box-shadow:var(--sam-elevation-sheet); }
#record-provider-options [role=option] { padding:.7rem .9rem; min-height:44px; cursor:pointer; }
#record-provider-options [role=option] small { display:block; opacity:.8; }
#record-provider-options [role=option]:hover, #record-provider-options .is-highlighted { background:var(--sam-color-surface-soft); color:var(--sam-color-text); }
#record-provider-status { margin:.35rem 0 1rem; }
#record-provider-dialog { width:min(440px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; }

.family-shell #family-navigation .primary-tab { position:relative; }
.family-shell #family-navigation .primary-tab.is-active::after { position:absolute; bottom:.16rem; }

/* Shared centered welcome column, including copy constrained by global p rules. */
.family-entry #welcome :is(.brand-welcome-promise,.brand-welcome-privacy,#enrollment-availability) { width:100%; max-width:none; margin-inline:auto; text-align:center; }
.family-entry #welcome #begin-signup { margin-top:.75rem; border:1px solid var(--sam-warm-white); border-radius:12px; min-height:52px; font-size:1rem; text-decoration:none; }
.family-entry #welcome .brand-welcome-vault { display:flex; justify-content:center; align-items:center; min-height:44px; margin-top:.75rem; color:var(--sam-warm-white); font-size:.85rem; text-align:center; text-underline-offset:.2em; }
.family-entry #welcome #enrollment-availability:empty { display:none; }
