/* Production dashboard recipes. Breakpoints correspond to registered md/lg roles.
   Owner-approved desktop edge fade does not resolve native navigation material. */
[data-ui="v2"] .foyer-button[data-variant] { min-height:var(--component-button-min-height); border-radius:var(--component-button-radius); padding:var(--component-button-padding-y) var(--component-button-padding-x); }
[data-ui="v2"] .foyer-button[data-variant="primary"] { background:var(--bg-accent);color:var(--text-on-accent);border-color:transparent; }
[data-ui="v2"] .foyer-button[data-variant="secondary"] { background:transparent;color:var(--text-primary);border-color:var(--border-strong); }
[data-ui="v2"] .foyer-button[data-variant="tertiary"] { background:transparent;color:var(--text-primary);border-color:var(--border-subtle); }
[data-ui="v2"] .foyer-button[data-variant="destructive"] { background:transparent;color:var(--text-danger);border-color:var(--text-danger); }
[data-ui="v2"] .foyer-button[data-size="compact"] { min-height:var(--component-button-min-height-sm);padding:var(--component-button-padding-ysm) var(--component-button-padding-xsm);font-size:var(--type-label-lg-size); }
[data-ui="v2"] .foyer-button[data-variant="primary"]:is(:hover,:active) { background:var(--bg-accent-pressed); }
[data-ui="v2"] .foyer-button[data-variant]:is([aria-busy="true"],:disabled) { opacity:var(--component-button-disabled-opacity);cursor:default; }
[data-ui="v2"] #btn-google { background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-strong); }
[data-ui="v2"] .btn--auth:has(.apple) { background:var(--bg-inverse);color:var(--text-inverse); }
[data-ui="v2"] .foyer-field { width:100%;min-width:0;border-radius:var(--component-field-radius);background:var(--bg-subtle);color:var(--text-primary);font-size:var(--type-body-md-size);font-family:var(--font-family-text); }
[data-ui="v2"] .foyer-label { font-size:var(--type-heading-sm-size);font-weight:var(--type-heading-sm-weight);text-align:left; }
[data-ui="v2"] .foyer-label + .foyer-field { margin-top:var(--space-2); }
[data-ui="v2"] .foyer-error { color:var(--text-danger); }
[data-ui="v2"] .foyer-icon-button { display:inline-flex;align-items:center;justify-content:center;min-width:var(--target-ios);min-height:var(--target-ios);border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--radius-pill);background:transparent;color:var(--text-primary);font-size:var(--type-heading-sm-size); }
[data-ui="v2"] :is(button,a,input,select,textarea):focus-visible { outline:var(--component-field-focus-ring-width) solid var(--border-focus);outline-offset:var(--component-field-focus-ring-offset); }
[data-ui="v2"] .foyer-card { border-radius:var(--component-card-radius-ios);padding:var(--component-card-padding);background:var(--bg-raised);border-color:var(--border-subtle); }
[data-ui="v2"] .brand__word { font-weight:var(--font-weight-black);letter-spacing:var(--type-heading-lg-tracking); }
/* One full-viewport canvas across all routes; raised cards stay white. */
[data-ui="v2"] body,
[data-ui="v2"] :is(#app,.topbar,.shell,.shell--full,.content,.sectionhead) { background:var(--bg-grouped); }
/* Owner mockup, 2026-10-10: a broad, static fade beside every desktop sidebar.
   It is decorative and must never intercept content interactions. */
@media (min-width:761px) {
  /* Backdrop blur would extend into the decorative overflow. */
  [data-ui="v2"] .mainnav { -webkit-backdrop-filter:none;backdrop-filter:none; }
  [data-ui="v2"] .mainnav::after {
    content:"";
    position:absolute;
    inset:var(--space-0) auto var(--space-0) 100%;
    width:var(--component-layout-sidebar-web);
    background:linear-gradient(to right,var(--border-subtle),transparent);
    pointer-events:none;
  }
}
/* Compact desktop rail: wordmark and comfortable icon targets, matching the
   owner-approved overlay review. Derived width reserves room for the word. */
@media (min-width:761px) and (max-width:1100px) {
  [data-ui="v2"] .mainnav { width:calc(var(--component-layout-sidebar-collapsed-web) + var(--space-5)); }
  [data-ui="v2"] .mainnav__inner { padding-inline:var(--space-2);overflow-y:auto;overflow-x:hidden; }
  [data-ui="v2"] .sidebrand::before { display:none; }
  [data-ui="v2"] .sidebrand span { font-size:var(--type-heading-lg-size); }
  [data-ui="v2"] .mainnav .tab { width:var(--component-layout-sidebar-collapsed-web);min-height:var(--component-layout-sidebar-collapsed-web);align-self:center;gap:var(--space-0);padding-inline:var(--space-0); }
  [data-ui="v2"] .topbar { left:calc(var(--component-layout-sidebar-collapsed-web) + var(--space-5)); }
  [data-ui="v2"] :is(.shell,.shell--full) { margin-left:calc(var(--component-layout-sidebar-collapsed-web) + var(--space-5)); }
}
[data-ui="v2"] :is(.eyebrow,.sectionhead,.logfoot,.callbar__dates,.chips__cap,.sortctl > span,.callbar__field > span,.callbar__search > span) { color:var(--text-secondary); }
[data-ui="v2"] .settings { gap:var(--component-card-gap);min-width:0; }
[data-ui="v2"] .settings > * { min-width:0; }
[data-ui="v2"] .settings h3 { font-size:var(--type-heading-lg-size);font-family:var(--type-heading-lg-family);line-height:var(--type-heading-lg-leading); }
[data-ui="v2"] :is(.card__hint,.card__note,.detail__note) { font-size:var(--type-body-sm-size);font-weight:var(--font-weight-regular);line-height:var(--type-body-sm-leading);color:var(--text-secondary); }
/* Card copy and the next task are separate reading groups. Keep headings and
   their explanations close, then leave room before fields, choices or actions. */
[data-ui="v2"] .foyer-card > .card__hint + :not([hidden]) { margin-block-start:var(--space-5); }
[data-ui="v2"] .foyer-card > .card__hint + .card__hint { margin-block-start:var(--space-4); }
[data-ui="v2"] .foyer-card > .card__note + :is(.field,.toggle),
[data-ui="v2"] .foyer-card > .foyer-help:not([hidden]),
[data-ui="v2"] .sensitivity__selected { margin-block-start:var(--space-5); }
@media (max-width:760px) {
  [data-ui="v2"] .vnow { display:grid;grid-template-columns:var(--space-8) minmax(0,1fr);gap:var(--space-3); }
  [data-ui="v2"] .vnow .vstar { grid-column:1; }
  [data-ui="v2"] .vnow .seal { grid-column:2;justify-self:start; }
  [data-ui="v2"] .vspeed { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3); }
  [data-ui="v2"] .vspeed .fld-cap { grid-column:1/-1; }
  [data-ui="v2"] .vspeed input { min-width:0;width:100%; }
}
[data-ui="v2"] .toggle__box { background:var(--control-switch-off-track);border-color:var(--border-default); }
[data-ui="v2"] .toggle__box::after { background:var(--control-switch-knob-off);border-color:transparent; }
[data-ui="v2"] .toggle input:checked + .toggle__box { background:var(--control-switch-on-track);border-color:var(--control-switch-on-track); }
[data-ui="v2"] .toggle input:checked + .toggle__box::after { background:var(--control-switch-knob-on); }
[data-ui="v2"] .subnav-picker { display:none; }
[data-ui="v2"] .settings-group { grid-column:1/-1;font-size:var(--type-heading-md-size);font-family:var(--type-heading-md-family);margin:var(--space-5) 0 0;color:var(--text-primary); }
[data-ui="v2"] .sensitivity__options { display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);margin-top:var(--space-5); }
[data-ui="v2"] #sensitivity-card .seg__opt { display:grid;grid-template-columns:var(--component-avatar-sm) minmax(0,1fr) var(--space-5);align-items:start;gap:var(--space-3);min-height:var(--target-ios);padding:var(--space-3);border:var(--component-button-border-width) solid var(--border-subtle);border-radius:var(--component-field-radius);background:var(--bg-raised);color:var(--text-primary);opacity:1;box-shadow:none;outline:none;text-align:left; }
[data-ui="v2"] #sensitivity-card .seg__opt.is-on { border-color:var(--border-strong);background:var(--bg-raised); }
[data-ui="v2"] #sensitivity-card .seg__opt:focus-visible { outline:var(--component-field-focus-ring-width) solid var(--border-focus);outline-offset:var(--component-field-focus-ring-offset); }
[data-ui="v2"] #sensitivity-card .seg__opt:disabled { opacity:var(--component-button-disabled-opacity); }
[data-ui="v2"] .sensitivity__value { display:grid;place-items:center;width:var(--component-avatar-sm);height:var(--component-avatar-sm);border:var(--component-card-border-width) solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-subtle);font-size:var(--type-label-lg-size);font-weight:var(--type-label-lg-weight);font-variant-numeric:tabular-nums; }
[data-ui="v2"] .sensitivity__copy { display:grid;gap:var(--space-1);min-width:0;white-space:normal;overflow-wrap:anywhere; }
[data-ui="v2"] .sensitivity__label { display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);min-width:0;font-size:var(--type-heading-sm-size);line-height:var(--type-heading-sm-leading); }
[data-ui="v2"] :is(.sensitivity__description,.sensitivity__default) { color:var(--text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-leading);font-weight:var(--font-weight-regular); }
[data-ui="v2"] .sensitivity__default { margin-left:var(--space-0); }
@media (max-width:480px) {
  [data-ui="v2"] .sensitivity__copy { display:contents; }
  [data-ui="v2"] .sensitivity__label { grid-column:2;grid-row:1;overflow-wrap:anywhere; }
  [data-ui="v2"] .sensitivity__description { grid-column:1/-1;min-width:0;white-space:normal;overflow-wrap:anywhere; }
  [data-ui="v2"] .sensitivity__mark { grid-column:3;grid-row:1; }
}
[data-ui="v2"] .sensitivity__mark { display:grid;place-items:center;width:var(--space-5);height:var(--space-5);border:var(--component-card-border-width) solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-inverse); }
[data-ui="v2"] .sensitivity__mark svg { width:var(--space-4);height:var(--space-4);visibility:hidden; }
[data-ui="v2"] .seg__opt.is-on .sensitivity__mark { background:var(--status-success);border-color:var(--status-success); }
[data-ui="v2"] .seg__opt.is-on .sensitivity__mark svg { visibility:visible; }
/* Three screening levels (GitHub #257, owner 2026-10-19): Open / Balanced / Strict
   side by side; the selected step is volt with ink text and icon, the others
   neutral. Levels are a policy, never an outcome colour. */
[data-ui="v2"] .level3__options { grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3); }
[data-ui="v2"] #sensitivity-card .seg__opt.level3__opt { display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;gap:var(--space-2);padding:var(--space-4) var(--space-3);text-align:center;background:var(--bg-subtle);border-color:var(--border-default);color:var(--text-primary); }
[data-ui="v2"] #sensitivity-card .seg__opt.level3__opt { position:relative; }
/* Chosen tile: volt, ringed in ink and checked, so it reads as selected in monochrome too (owner revision 2). */
[data-ui="v2"] #sensitivity-card .seg__opt.level3__opt.is-on { background:var(--bg-accent);border-color:var(--text-on-accent);color:var(--text-on-accent);box-shadow:inset 0 0 0 var(--component-button-border-width) var(--text-on-accent); }
[data-ui="v2"] .level3__icon { display:grid;place-items:center;width:var(--component-avatar-lg);height:var(--component-avatar-lg);color:inherit; }
[data-ui="v2"] .level3__check { position:absolute;top:var(--space-2);right:var(--space-2);display:none;width:var(--space-5);height:var(--space-5);border-radius:var(--radius-pill);background:var(--text-on-accent);color:var(--bg-accent); }
[data-ui="v2"] .level3__check svg { width:var(--space-4);height:var(--space-4); }
[data-ui="v2"] .seg__opt.level3__opt.is-on .level3__check { display:grid;place-items:center; }
[data-ui="v2"] .level3__icon svg { width:100%;height:100%; }
[data-ui="v2"] .seg__opt.level3__opt.is-on .level3__icon .accent { fill:currentColor; }
[data-ui="v2"] .level3__title { font-size:var(--type-heading-sm-size);line-height:var(--type-heading-sm-leading);font-weight:var(--type-heading-sm-weight);overflow-wrap:anywhere; }
[data-ui="v2"] .level3__meaning { display:grid;gap:var(--space-2);margin-block-start:var(--space-4); }
/* The screening on/off control leads the three-level card (#257 follow-up). */
[data-ui="v2"] .level3__state { display:grid;gap:var(--space-2);margin-block-end:var(--space-5);padding-block-end:var(--space-5);border-block-end:var(--component-card-border-width) solid var(--border-subtle); }
[data-ui="v2"] .level3__state.is-paused { padding:var(--space-4);border:var(--component-card-border-width) solid var(--status-warning);border-radius:var(--component-field-radius);background:var(--bg-raised); }
[data-ui="v2"] .level3__state .paused-line,[data-ui="v2"] .level3__state .pause-presets { margin:0; }
[data-ui="v2"] .level3__state-line { display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--type-heading-sm-size);line-height:var(--type-heading-sm-leading); }
[data-ui="v2"] .level3__state-dot { width:var(--space-3);height:var(--space-3);border-radius:var(--radius-pill);background:var(--status-success);align-self:center; }
[data-ui="v2"] .level3__state-ask { margin:0;color:var(--text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-leading); }
[data-ui="v2"] .level3__paused-note { margin:var(--space-3) 0 0;color:var(--text-primary);font-size:var(--type-body-md-size);line-height:var(--type-body-md-leading);font-weight:var(--type-label-lg-weight); }
[data-ui="v2"] .level3--paused .level3__body { opacity:var(--component-button-disabled-opacity); }
[data-ui="v2"] .level3__more { margin-block-start:var(--space-2); }
[data-ui="v2"] .level3__more summary { display:flex;align-items:center;gap:var(--space-2);min-height:var(--target-ios);cursor:pointer;font-size:var(--type-label-lg-size);font-weight:var(--type-label-lg-weight);color:var(--text-primary);list-style:none; }
[data-ui="v2"] .level3__more summary::-webkit-details-marker { display:none; }
[data-ui="v2"] .level3__more summary::after { content:"";width:var(--space-3);height:var(--space-3);border-right:var(--component-button-border-width) solid currentColor;border-bottom:var(--component-button-border-width) solid currentColor;transform:rotate(45deg);margin-block-end:var(--space-1); }
[data-ui="v2"] .level3__more[open] summary::after { transform:rotate(225deg);margin-block-end:calc(-1 * var(--space-1)); }
[data-ui="v2"] .level3__compare { display:grid;gap:var(--space-3);margin:var(--space-3) 0 0; }
[data-ui="v2"] .level3__compare div { display:grid;gap:var(--space-1); }
[data-ui="v2"] .level3__compare dt { color:var(--text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-leading); }
[data-ui="v2"] .level3__compare dd { margin:0;color:var(--text-primary);font-size:var(--type-body-md-size);line-height:var(--type-body-md-leading); }
[data-ui="v2"] .level3__bullets { margin:0;padding-inline-start:var(--space-5);display:grid;gap:var(--space-1);color:var(--text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-leading); }
@media (max-width:420px) {
  [data-ui="v2"] .level3__options { grid-template-columns:minmax(0,1fr); }
  [data-ui="v2"] #sensitivity-card .seg__opt.level3__opt { grid-template-columns:var(--component-avatar-lg) minmax(0,1fr);justify-items:start;align-items:center;text-align:left;gap:var(--space-3); }
}
[data-ui="v2"] .choice-check { visibility:hidden; }
[data-ui="v2"] .is-on .choice-check { visibility:visible; }
[data-ui="v2"] .voice-filter-bar { display:flex;align-items:end;gap:var(--space-3);margin-top:var(--space-5); }
[data-ui="v2"] .voice-filter-search { flex:1;min-width:0; }
[data-ui="v2"] .voice-filter-bar .foyer-field { border-radius:var(--radius-pill);min-height:var(--component-button-min-height-sm);padding:var(--component-button-padding-ysm) var(--component-button-padding-xsm);font-size:var(--type-body-xs-size); }
[data-ui="v2"] .voice-active-filters { display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);margin-top:var(--space-3);border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--component-field-radius);background:var(--bg-subtle);font-size:var(--type-body-xs-size); }
[data-ui="v2"] .voice-filter-sheet { width:min(calc(100% - var(--space-8)),var(--component-layout-reading-max));max-height:calc(100svh - var(--space-8));padding:var(--component-sheet-padding);border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--component-sheet-radius);background:var(--bg-grouped);color:var(--text-primary); }
[data-ui="v2"] .voice-filter-sheet::backdrop { background:var(--scrim-modal); }
[data-ui="v2"] .voice-filter-sheet form { display:grid;gap:var(--space-5); }
[data-ui="v2"] .voice-filter-sheet header { display:flex;align-items:center;justify-content:space-between;gap:var(--space-5); }
[data-ui="v2"] .voice-filter-sheet h2 { font:var(--type-heading-lg-weight) var(--type-heading-lg-size)/var(--type-heading-lg-leading) var(--type-heading-lg-family); }
[data-ui="v2"] .voice-filter-sheet footer { position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-4);background:var(--bg-grouped); }
[data-ui="v2"] .voice-filter-sheet .foyer-label { padding:var(--space-4);border-radius:var(--component-field-radius);background:var(--bg-raised); }
[data-ui="v2"] .statcount { font-size:var(--type-body-xs-size);gap:var(--space-2); }
[data-ui="v2"] .statcount__icon b { position:static;background:transparent;color:var(--text-primary);border:0;font-size:var(--type-label-lg-size); }
[data-ui="v2"] .statcount__icon { display:flex;gap:var(--space-2);width:auto;border:0;background:transparent; }
[data-ui="v2"] .callbar__tiers--v2 { display:flex;flex-wrap:wrap;gap:var(--space-3);overflow:visible; }
[data-ui="v2"] .tbl__rail { display:grid;align-items:center;overflow:visible; }
[data-ui="v2"] .tbl__rail-symbol { position:absolute;left:calc(var(--space-3) * -1);width:var(--space-6);height:var(--space-6);display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--bg-raised);color:var(--text-secondary);font-size:var(--type-label-lg-size); }
[data-ui="v2"] .callpage__head h2 { font-size:var(--type-display-sm-size);line-height:var(--type-display-sm-leading); }
[data-ui="v2"] .callpage__body { display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5); }
[data-ui="v2"] .callpage__body > * { min-width:0;margin:0; }
[data-ui="v2"] .callpage__body .transcript { max-width:var(--component-transcript-max-width); }
[data-ui="v2"] .turn { display:grid;grid-template-columns:minmax(0,1fr);gap:var(--component-transcript-speaker-gap);margin-bottom:var(--component-transcript-gap); }
[data-ui="v2"] .turn__text { font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-leading); }
[data-ui="v2"] .turn__meta { font-size:var(--type-label-md-size);color:var(--text-tertiary); }
[data-ui="v2"] .turn__meta time { display:none; }
[data-ui="v2"] .screening-turns summary { min-height:var(--target-ios);display:flex;align-items:center;font-size:var(--type-label-lg-size);cursor:pointer; }
[data-ui="v2"] .contact-treatment { display:inline-flex;align-items:center;border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);font-size:var(--type-body-xs-size);background:var(--bg-subtle);color:var(--text-primary); }
[data-ui="v2"] .contact-treatment[data-treatment="through"] { background:var(--disposition-through-tint);color:var(--disposition-through); }
[data-ui="v2"] .contact__signals { display:flex;flex-wrap:wrap;gap:var(--space-2); }
[data-ui="v2"] .opening-review { padding:var(--space-5);border:var(--component-card-border-width) solid var(--border-default);border-radius:var(--component-card-radius-ios);background:var(--bg-subtle);margin-top:var(--space-5); }
@media (min-width:1101px) { [data-ui="v2"] .callpage__body { grid-template-columns:minmax(0,1fr) minmax(0,var(--component-layout-metadata-rail-web)); } }
@media (max-width:760px) { [data-ui="v2"] .subnav-picker { display:grid;gap:var(--space-2);width:100%; } [data-ui="v2"] .rail__nav { display:none; } [data-ui="v2"] .voice-filter-bar { flex-wrap:wrap; } [data-ui="v2"] .voice-filter-search { flex-basis:100%; } [data-ui="v2"] .contact__signals { grid-column:2; } [data-ui="v2"] .callbar__tiers--v2 { gap:var(--space-2); } }
@media (prefers-reduced-motion:reduce) { [data-ui="v2"] *,[data-ui="v2"] *::before,[data-ui="v2"] *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
[data-ui="v2"] .vtry__row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center; }
[data-ui="v2"] .vtry__row > .foyer-label { grid-column:1/-1; }
[data-ui="v2"] #verify-widget > div { display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3); }
[data-ui="v2"] .tune-compose { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3); }
[data-ui="v2"] .tune-compose > .foyer-label { grid-column:1/-1; }
[data-ui="v2"] .foyer-button svg { flex-shrink:0; }
[data-ui="v2"] .btn--auth .g { width:var(--type-body-lg-size);height:var(--type-body-lg-size); }
[data-ui="v2"] .flow-svg { font-family:var(--font-family-text); }
@media (max-width:760px) { [data-ui="v2"] .vtry__row,[data-ui="v2"] .tune-compose { grid-template-columns:minmax(0,1fr); } [data-ui="v2"] .vtry__row > .foyer-label,[data-ui="v2"] .tune-compose > .foyer-label { grid-column:auto; } }
[data-ui="v2"] .foyer-field { font-weight:var(--font-weight-regular); }
[data-ui="v2"] .choice-check svg { width:var(--space-5);height:var(--space-5); }
[data-ui="v2"] .voice-filter-sheet h2 { letter-spacing:normal; }
[data-ui="v2"] .tbl__rail-symbol svg { width:var(--space-4);height:var(--space-4); }
[data-ui="v2"] :is(.call-record-main,.call-record-meta) { display:flex;flex-direction:column;gap:var(--space-5);min-width:0; }
[data-ui="v2"] :is(.call-record-main,.call-record-meta) > * { margin:0;min-width:0; }
@media (min-width:1101px) { [data-ui="v2"] .callpage__body > .call-record-main { grid-column:1;grid-row:1; } [data-ui="v2"] .callpage__body > .call-record-meta { grid-column:2;grid-row:1; } [data-ui="v2"] .callpage__body:not(:has(.call-record-main)) { grid-template-columns:minmax(0,1fr); } }
.foyer-session-boundary { max-width:var(--component-layout-reading-max);margin:var(--space-14) auto;padding:var(--component-card-padding);font-family:var(--font-family-text);font-size:var(--type-body-md-size);line-height:var(--type-body-md-leading);color:var(--text-primary);background:var(--bg-raised); }
[data-ui="v2"] .tbl__row--v2 { grid-template-columns:var(--space-7) minmax(0,1fr) auto; }
[data-ui="v2"] .tbl__rail { position:relative;justify-self:center; }
[data-ui="v2"] .tbl__open { text-decoration:none; }
[data-ui="v2"] .turn__who { font-family:var(--type-label-md-family);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking); }
[data-ui="v2"] .callpage[data-disposition="through"] { --caller-transcript-label:var(--disposition-through); }
[data-ui="v2"] .callpage[data-disposition="review"] { --caller-transcript-label:var(--disposition-review); }
[data-ui="v2"] .callpage[data-disposition="voicemail"] { --caller-transcript-label:var(--disposition-voicemail); }
[data-ui="v2"] .callpage[data-disposition="blocked"] { --caller-transcript-label:var(--disposition-blocked); }
[data-ui="v2"] .turn--caller .turn__who { color:var(--caller-transcript-label,var(--text-primary)); }
/* Tertiary text is measured on white; grouped and selected surfaces need the
   stronger secondary role for small supporting copy (WCAG 4.5:1). */
[data-ui="v2"] :is(.login__foot,.login__foot a,.rail__mode-cap,.source__t,.vrow__blurb,.fact__k,.opening__main > span,.identity-choice > span) { color:var(--text-secondary); }
[data-ui="v2"] body:has(#view-settings:not([hidden])) .eyebrow { color:var(--text-secondary); }
[data-ui="v2"] .foyer-field::placeholder { color:var(--text-secondary); }
[data-ui="v2"] .callpage__title { font-family:var(--type-label-md-family);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);line-height:var(--type-label-md-leading);letter-spacing:var(--type-label-md-tracking);color:var(--text-secondary); }
[data-ui="v2"] .callpage__name { font-family:var(--type-display-sm-family);font-size:var(--type-display-sm-size);font-weight:var(--type-display-sm-weight);line-height:var(--type-display-sm-leading);letter-spacing:var(--type-display-sm-tracking); }
/* Refiling is a choice, not a destructive action. Keep selected text and its
   surface paired rather than inheriting a retired fill from the legacy theme. */
[data-ui="v2"] .refile { min-height:var(--component-button-min-height-sm);border:var(--component-field-border-width) solid var(--border-default);border-radius:var(--component-field-radius);background:var(--bg-raised);color:var(--text-primary); }
[data-ui="v2"] .refile.is-on { border-color:var(--border-focus);background:var(--bg-subtle);color:var(--text-primary);font-weight:var(--font-weight-bold);box-shadow:none; }
[data-ui="v2"] .mediation__activity small { color:var(--text-secondary); }
[data-ui="v2"] .sp-tier { background:var(--bg-subtle);color:var(--text-primary); }
[data-ui="v2"] .sp-tier--through { background:var(--disposition-through-tint);color:var(--disposition-through); }
[data-ui="v2"] .sp-tier--review { background:var(--disposition-review-tint);color:var(--disposition-review); }
[data-ui="v2"] .sp-tier--voicemail { background:var(--disposition-voicemail-tint);color:var(--disposition-voicemail); }
[data-ui="v2"] .sp-tier--blocked { background:var(--disposition-blocked-tint);color:var(--disposition-blocked); }
[data-ui="v2"] .sp-recdot { background:var(--bg-subtle);color:var(--text-secondary);border:var(--component-card-border-width) solid var(--border-subtle); }
[data-ui="v2"] :is(.vrow__name,.vrow__blurb) { white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;-webkit-line-clamp:unset;line-clamp:unset; }
[data-ui="v2"] .vrow__top { flex-wrap:wrap; }
[data-ui="v2"] .paused-line svg { width:var(--space-5);height:var(--space-5);flex-shrink:0; }
[data-ui="v2"] .spbtn.is-on { background:var(--bg-subtle);color:var(--text-primary);border-color:var(--border-focus); }
/* Owner-approved floating call card, 2026-10-10. No header or page displacement. */
[data-ui="v2"] #softphone {
  inset:auto var(--space-7) var(--space-7) auto;
  width:min(calc(100% - var(--space-8)),var(--component-layout-metadata-rail-web));
  max-height:calc(100svh - var(--component-nav-bar-height) - var(--space-8));
  overflow:auto;
  background:var(--bg-raised);color:var(--text-primary);
  border:var(--component-card-border-width) solid var(--border-subtle);
  border-radius:var(--component-card-radius-ios);box-shadow:var(--elevation-light-md);
}
[data-ui="v2"] #softphone[data-mode="idle"] { border-radius:var(--radius-pill); }
[data-ui="v2"] body.has-softbar .shell { padding-top:var(--component-nav-bar-height); }
[data-ui="v2"] body.has-softbar .rail { top:calc(var(--component-nav-bar-height) + var(--space-8)); }
[data-ui="v2"] body.has-softcall .content { padding-bottom:calc(var(--component-layout-metadata-rail-web) + var(--space-13)); }
[data-ui="v2"] body.has-softkeypad .content { padding-bottom:calc(var(--component-layout-metadata-rail-web) * 2); }
[data-ui="v2"] #softphone .softbar__slim { height:auto;min-height:var(--target-ios);padding:var(--space-3) var(--space-5);font-size:var(--type-body-xs-size); }
[data-ui="v2"] #softphone .softbar__panel { max-height:none;overflow:visible;transition:none; }
[data-ui="v2"] #softphone .softbar__panelin { display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);padding:var(--space-5);border:0;background:transparent; }
[data-ui="v2"] #softphone .softbar__header { display:flex;align-items:center;gap:var(--space-3); }
[data-ui="v2"] #softphone .softbar__identity { flex:1;min-width:0; }
[data-ui="v2"] #softphone .softbar__avatar { display:grid;place-items:center;flex:none;width:var(--component-avatar-md);height:var(--component-avatar-md);border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--component-avatar-radius);background:var(--bg-subtle);color:var(--text-secondary);font-size:var(--type-label-lg-size);font-weight:var(--type-label-lg-weight); }
[data-ui="v2"] #softphone .softbar__name { margin:0;font-size:var(--type-heading-md-size);font-family:var(--type-heading-md-family);font-weight:var(--type-heading-md-weight);line-height:var(--type-heading-md-leading);letter-spacing:normal;white-space:normal;overflow-wrap:anywhere; }
[data-ui="v2"] #softphone .softbar__num { margin-top:var(--space-1);font-size:var(--type-body-xs-size); }
[data-ui="v2"] #softphone .softbar__kicker { margin-top:var(--space-5);gap:var(--space-2);font-size:var(--type-body-xs-size);font-weight:var(--font-weight-regular);letter-spacing:normal;text-transform:none; }
[data-ui="v2"] #softphone .softbar__pulse { width:var(--space-2);height:var(--space-2); }
[data-ui="v2"] #softphone #sp-timer { letter-spacing:normal; }
[data-ui="v2"] #softphone .sp-recdot { margin-left:auto;padding:var(--space-1) var(--space-2);font-size:var(--type-label-md-size);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase; }
[data-ui="v2"] #softphone .softbar__hold-note { margin-top:var(--space-2);font-size:var(--type-body-xs-size);color:var(--text-secondary); }
[data-ui="v2"] #softphone .softbar__quote { font-family:var(--font-family-text);font-style:normal;font-size:var(--type-body-md-size);line-height:var(--type-body-md-leading); }
[data-ui="v2"] #softphone .softbar__actions { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);width:100%;margin:0; }
[data-ui="v2"] #softphone[data-mode="incoming"] .softbar__actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-ui="v2"] #softphone .spbtn { min-width:0;min-height:var(--target-ios);padding:var(--space-2);font-size:var(--type-label-lg-size);line-height:var(--type-label-lg-leading);transform:none; }
[data-ui="v2"] #softphone[data-mode="active"] .softbar__actions .spbtn { min-height:var(--space-11);flex-direction:column;gap:var(--space-1);border-radius:var(--component-field-radius); }
[data-ui="v2"] #softphone .spbtn svg,[data-ui="v2"] #softphone .softbar__key-icon { width:var(--space-5);height:var(--space-5);font-size:var(--type-heading-sm-size);line-height:var(--type-heading-sm-leading); }
[data-ui="v2"] #softphone .spbtn--hangup:hover { background:var(--status-danger);color:var(--text-inverse); }
[data-ui="v2"] #softphone .softbar__keypad { align-items:stretch;padding-top:var(--space-5);border-top:var(--component-card-border-width) solid var(--border-subtle);gap:var(--space-3); }
[data-ui="v2"] #softphone .softbar__keypad[hidden] { display:none; }
[data-ui="v2"] #softphone .spkeys { grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2); }
[data-ui="v2"] #softphone .spkey { height:auto;min-height:var(--target-ios);font-family:var(--font-family-text);font-size:var(--type-heading-md-size); }
[data-ui="v2"] #softphone .spdialed { min-width:0;text-align:center;overflow-wrap:anywhere;font-size:var(--type-body-sm-size);letter-spacing:normal; }
[data-ui="v2"] #softphone .softbar__queued { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-3);border-style:solid; }
[data-ui="v2"] #softphone :is(.softbar__qname,.softbar__qnum) { grid-column:1/-1;white-space:normal;overflow-wrap:anywhere; }
[data-ui="v2"] #softphone .softbar__queued .sp-qanswer { margin:0; }
[data-ui="v2"] #softphone .softbar__mini { display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3); }
[data-ui="v2"] #softphone .softbar__restore { display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;min-height:var(--target-ios);padding:0;border:0;background:transparent;color:var(--text-primary);font-family:var(--font-family-text);text-align:left; }
[data-ui="v2"] #softphone .softbar__restore > svg { flex:none;width:var(--space-4);height:var(--space-4); }
[data-ui="v2"] #softphone .softbar__mini-name { display:block;font-size:var(--type-heading-sm-size);font-weight:var(--type-heading-sm-weight);overflow-wrap:anywhere; }
[data-ui="v2"] #softphone .softbar__mini-status { display:block;margin-top:var(--space-1);font-size:var(--type-body-xs-size);color:var(--text-secondary); }
[data-ui="v2"] #softphone .softbar__mini-end { flex:none;width:var(--target-ios);padding:var(--space-3); }
@media (max-width:760px) {
  [data-ui="v2"] #softphone { inset:auto var(--space-5) calc(env(safe-area-inset-bottom) + var(--space-13)) auto;max-height:calc(100svh - var(--component-nav-bar-height) - var(--space-13) - var(--space-8) - env(safe-area-inset-bottom)); }
}
[data-ui="v2"] .mediation__compose { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end; }
[data-ui="v2"] .mediation__compose > .foyer-label { grid-column:1/-1; }
[data-ui="v2"] #live-reply { font-size:var(--type-body-md-size);font-family:var(--font-family-text);min-height:var(--component-field-min-height); }
/* Phone tab bar with six sections (Invite joined, owner round 4, 2026-10-18):
   iPhone-size labels so "Contacts" and "Settings" fit at 375px; icon-only
   (each tab keeps its aria-label) on the narrowest phones. */
@media (max-width:420px) {
  [data-ui="v2"] .mainnav .tab { padding-inline:var(--space-1);font-size:var(--type-label-sm-size);line-height:var(--type-label-sm-leading); }
}
@media (max-width:340px) {
  [data-ui="v2"] .mainnav .tab,
  [data-ui="v2"] .mainnav .tab:not(.is-active) > :not(.tab__ic) { font-size:var(--space-0); }
}
/* Email invite panel (owner round 5): address chips, a result per person. */
[data-ui="v2"] .invite-email { width:min(calc(100% - var(--space-8)),var(--component-layout-reading-max));max-height:calc(100svh - var(--space-8));padding:var(--component-sheet-padding);border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--component-sheet-radius);background:var(--bg-grouped);color:var(--text-primary); }
[data-ui="v2"] .invite-email::backdrop { background:var(--scrim-modal); }
[data-ui="v2"] .invite-email__form { display:grid;gap:var(--space-4); }
[data-ui="v2"] .invite-email__head { display:flex;align-items:center;justify-content:space-between;gap:var(--space-4); }
[data-ui="v2"] .invite-email__head h2 { margin:0;font:var(--type-heading-lg-weight) var(--type-heading-lg-size)/var(--type-heading-lg-leading) var(--type-heading-lg-family);letter-spacing:var(--type-heading-lg-tracking); }
[data-ui="v2"] .invite-email__lead,[data-ui="v2"] .invite-email__hint { margin:0;color:var(--text-secondary);font-size:var(--type-body-sm-size); }
[data-ui="v2"] .invite-email__label { display:grid;gap:var(--space-2); }
[data-ui="v2"] .invite-email__summary { margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--component-field-radius);background:var(--teal-tint);color:var(--teal-deep);font-weight:var(--font-weight-bold); }
[data-ui="v2"] .invite-email__error { margin:0;color:var(--text-danger);font-size:var(--type-body-sm-size); }
[data-ui="v2"] .invite-email__chips { display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none; }
[data-ui="v2"] .invite-chip { display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);max-width:100%;padding:var(--space-2) var(--space-3);border:var(--component-card-border-width) solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-raised);font-size:var(--type-body-sm-size); }
[data-ui="v2"] .invite-chip[data-state="sent"],[data-ui="v2"] .invite-chip[data-state="failed"] { width:100%;border-radius:var(--component-field-radius); }
[data-ui="v2"] .invite-chip[data-state="sent"] { border-color:transparent;background:var(--teal-tint); }
[data-ui="v2"] .invite-chip__addr { min-width:0;overflow-wrap:anywhere;color:var(--text-primary); }
[data-ui="v2"] .invite-chip__x { display:grid;place-items:center;width:var(--space-6);height:var(--space-6);padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-size:var(--type-body-md-size);cursor:pointer; }
[data-ui="v2"] .invite-chip__result { flex-basis:100%;color:var(--text-secondary);font-size:var(--type-body-xs-size); }
[data-ui="v2"] .invite-chip[data-state="sent"] .invite-chip__result { flex-basis:auto;margin-left:auto;color:var(--teal-deep);font-weight:var(--font-weight-bold); }
[data-ui="v2"] .invite-email__foot { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3); }
/* Invite to Foyer (owner round 6): Share invite and Email invite side by side at
   every width. Phones get tighter padding and type so "Share invite" stays on one
   line at 375px; below 360px the labels shorten to "Share" / "Email" (layout.css). */
[data-ui="v2"] .refer__actions .foyer-button[data-variant] { flex:1 1 var(--space-0);min-width:var(--space-0);max-width:var(--component-layout-sidebar-web);gap:var(--space-2);white-space:nowrap; }
[data-ui="v2"] .refer__actions .foyer-button svg { flex:none;width:var(--space-5);height:var(--space-5); }
@media (max-width:420px) {
  [data-ui="v2"] .refer__actions .foyer-button[data-variant] { padding-inline:var(--space-3);font-size:var(--type-body-sm-size); }
}
