/*! Lockbox CRM, Lightning look (Wave H, 10/14/2026).
 * Class names, structure and measurements follow the Salesforce Lightning Design System (SLDS) 2.24.5 and the
 * approved mockup (own-crm-data\mockups\lightning\). Values were taken from the public SLDS stylesheet
 * (@salesforce-ux/design-system 2.24.5, source code under this licence):
 *
 *   Copyright (c) 2015-present, Salesforce, Inc. All rights reserved.
 *   Redistribution and use in source and binary forms, with or without modification, are permitted provided that
 *   the following conditions are met: 1. Redistributions of source code must retain the above copyright notice,
 *   this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following disclaimer in the documentation and/or other
 *   materials provided with the distribution. 3. Neither the name of Salesforce.com nor the names of its
 *   contributors may be used to endorse or promote products derived from this software without specific prior
 *   written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
 *   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
 *   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 *   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 *   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 *   OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * No Salesforce Sans, no Salesforce logo or wording, no SLDS icon files (the glyphs are our own, in src/views/ui.ts).
 * Every colour is a token below. Light on :root; dark in the two blocks after it (keep them identical).
 * Converted screens load ONLY this file plus app.css inside a low-priority cascade layer ("legacy", see
 * src/views/frame.ts) for the widgets not converted yet; any rule here beats any legacy rule.
 */

/* ---------- fonts: one variable flips the whole look ---------- */
@font-face { font-family: 'Libre Franklin'; font-weight: 400; font-display: swap; src: url('/static/libre-franklin-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Libre Franklin'; font-weight: 600; font-display: swap; src: url('/static/libre-franklin-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Libre Franklin'; font-weight: 700; font-display: swap; src: url('/static/libre-franklin-latin-700-normal.woff2') format('woff2'); }

/* ---------- tokens ---------- */
:root {
  --font: 'Libre Franklin', -apple-system, 'Segoe UI', Arial, sans-serif;
  --ui-brand: #0176d3; --ui-brand-dark: #014486; --ui-brand-accent: #1b96ff; --ui-brand-btn: #0176d3; --ui-brand-btn-hover: #014486;
  --ui-text: #181818; --ui-text-weak: #444444; --ui-text-meta: #706e6b; --ui-placeholder: #747474;
  --ui-border: #c9c9c9; --ui-border-light: #e5e5e5; --ui-bg: #f3f3f3; --ui-surface: #ffffff; --ui-surface-alt: #f3f3f3; --ui-field: #ffffff;
  --ui-icon: #747474; --ui-icon-weak: #aeaeae; --ui-on-accent: #ffffff; --ui-tint: rgba(21, 137, 238, .1); --ui-sel: #f3f9ff;
  --ui-error: #ea001e; --ui-error-soft: #fef1ee; --ui-success: #2e844a; --ui-success-soft: #ebf7e6; --ui-warning: #8c4b02; --ui-warning-soft: #fef1d8;
  --ui-path-cur: #014486; --ui-path-cur-hover: #032d60; --ui-path-done: #2e844a; --ui-path-done-hover: #22683e;
  --ui-backdrop: rgba(8, 7, 7, .6);
  --ui-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1); --ui-shadow-gh: 0 2px 4px rgba(0, 0, 0, .07); --ui-shadow-nav: 0 1px 2px rgba(0, 0, 0, .05);
  --ui-shadow-ubar: 0 -2px 2px 0 rgba(0, 0, 0, .16); --ui-shadow-menu: 0 2px 3px 0 rgba(0, 0, 0, .16); --ui-shadow-modal: 0 2px 8px rgba(0, 0, 0, .25);
  --ui-ic-lead: #1b96ff; --ui-ic-task: #3ba755; --ui-ic-call: #06a59a; --ui-ic-sms: #3ba755; --ui-ic-note: #b60554; --ui-ic-contact: #9602c7;
  --ui-ic-deal: #ff5d2d; --ui-ic-home: #ff538a; --ui-ic-event: #cb65ff; --ui-ic-user: #107cad; --ui-ic-file: #939393; --ui-ic-team: #ff5d2d;
  --ui-ic-account: #5867e8; --ui-ic-offer: #2f2cb7; --ui-ic-email: #939393; --ui-ic-esign: #0b827c; --ui-ic-buyer: #7f8de1; --ui-ic-stage: #c23934;
  --ui-av-1: #107cad; --ui-av-2: #b60554; --ui-av-3: #06a59a; --ui-av-4: #5867e8; --ui-av-5: #ff5d2d;
  --ui-radius: .25rem; --ui-radius-pill: 15rem;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ui-brand: #57a3fd; --ui-brand-dark: #78b0fd; --ui-brand-accent: #1b96ff; --ui-brand-btn: #0176d3; --ui-brand-btn-hover: #0b5cab;
    --ui-text: #e5e5e5; --ui-text-weak: #c2c2c2; --ui-text-meta: #a0a0a0; --ui-placeholder: #8c8c8c;
    --ui-border: #4a4a4a; --ui-border-light: #363636; --ui-bg: #121212; --ui-surface: #212121; --ui-surface-alt: #2b2b2b; --ui-field: #1a1a1a;
    --ui-icon: #a8a8a8; --ui-icon-weak: #6e6e6e; --ui-on-accent: #ffffff; --ui-tint: rgba(27, 150, 255, .16); --ui-sel: #1d2a3a;
    --ui-error: #fe5c4c; --ui-error-soft: #3a2220; --ui-success: #45c65a; --ui-success-soft: #1d3322; --ui-warning: #fcc003; --ui-warning-soft: #3a3016;
    --ui-path-cur: #0b5cab; --ui-path-cur-hover: #0176d3; --ui-path-done: #2e844a; --ui-path-done-hover: #3ba755;
    --ui-backdrop: rgba(0, 0, 0, .7);
    --ui-shadow: 0 2px 2px 0 rgba(0, 0, 0, .4); --ui-shadow-gh: 0 2px 4px rgba(0, 0, 0, .45); --ui-shadow-nav: 0 1px 2px rgba(0, 0, 0, .4);
    --ui-shadow-ubar: 0 -2px 3px 0 rgba(0, 0, 0, .5); --ui-shadow-menu: 0 2px 4px 0 rgba(0, 0, 0, .5); --ui-shadow-modal: 0 2px 10px rgba(0, 0, 0, .7);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --ui-brand: #57a3fd; --ui-brand-dark: #78b0fd; --ui-brand-accent: #1b96ff; --ui-brand-btn: #0176d3; --ui-brand-btn-hover: #0b5cab;
  --ui-text: #e5e5e5; --ui-text-weak: #c2c2c2; --ui-text-meta: #a0a0a0; --ui-placeholder: #8c8c8c;
  --ui-border: #4a4a4a; --ui-border-light: #363636; --ui-bg: #121212; --ui-surface: #212121; --ui-surface-alt: #2b2b2b; --ui-field: #1a1a1a;
  --ui-icon: #a8a8a8; --ui-icon-weak: #6e6e6e; --ui-on-accent: #ffffff; --ui-tint: rgba(27, 150, 255, .16); --ui-sel: #1d2a3a;
  --ui-error: #fe5c4c; --ui-error-soft: #3a2220; --ui-success: #45c65a; --ui-success-soft: #1d3322; --ui-warning: #fcc003; --ui-warning-soft: #3a3016;
  --ui-path-cur: #0b5cab; --ui-path-cur-hover: #0176d3; --ui-path-done: #2e844a; --ui-path-done-hover: #3ba755;
  --ui-backdrop: rgba(0, 0, 0, .7);
  --ui-shadow: 0 2px 2px 0 rgba(0, 0, 0, .4); --ui-shadow-gh: 0 2px 4px rgba(0, 0, 0, .45); --ui-shadow-nav: 0 1px 2px rgba(0, 0, 0, .4);
  --ui-shadow-ubar: 0 -2px 3px 0 rgba(0, 0, 0, .5); --ui-shadow-menu: 0 2px 4px 0 rgba(0, 0, 0, .5); --ui-shadow-modal: 0 2px 10px rgba(0, 0, 0, .7);
  color-scheme: dark;
}

/* ---------- base (SLDS reset) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.ui { margin: 0; background: var(--ui-bg); color: var(--ui-text); font: 400 13px/1.5 var(--font); -webkit-font-smoothing: antialiased; }
:where(.ui) :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure) { margin: 0; }
:where(.ui) :where(h1, h2, h3, h4) { font-size: inherit; font-weight: inherit; line-height: inherit; }
:where(.ui) :where(ul, ol) { padding: 0; list-style: none; }
:where(.ui) :where(b, strong) { font-weight: 700; }
:where(.ui) a { color: var(--ui-brand); text-decoration: none; }
:where(.ui) a:hover { text-decoration: underline; color: var(--ui-brand-dark); }
:where(.ui) :where(button, input, select, textarea) { font: inherit; color: inherit; }
.ui > main { display: block; padding: 12px 12px 16px; max-width: none; margin: 0; min-height: calc(100vh - 130px); }
.ui svg.slds-icon, .ui svg.ui-g { fill: currentColor; flex: none; }
.ui .ic { width: 16px; height: 16px; } /* legacy line icons inside old widgets */
.slds-assistive-text { position: absolute !important; margin: -1px !important; border: 0 !important; padding: 0 !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }

/* ---------- layout utilities ---------- */
.slds-grid { display: flex; }
.slds-wrap { flex-wrap: wrap; }
.slds-grid_align-spread { justify-content: space-between; }
.slds-grid_vertical-align-center { align-items: center; }
.slds-col { flex: 1 1 auto; min-width: 0; }
.slds-no-flex { flex: none; }
.slds-has-flexi-truncate { flex: 1 1 0%; min-width: 0; }
.slds-truncate { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.slds-media { display: flex; align-items: flex-start; }
.slds-media_center { align-items: center; }
.slds-media__figure { flex-shrink: 0; margin-right: .75rem; }
.slds-media__body { flex: 1; min-width: 0; }
.ui-page-grid { display: grid; gap: 12px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; }
.ui-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ui-stack { display: flex; flex-direction: column; gap: 12px; }
.ui-narrow { max-width: 760px; margin: 0 auto; }
.slds-m-bottom_small { margin-bottom: 12px; }
.slds-text-color_weak { color: var(--ui-text-weak); }
.slds-text-color_error { color: var(--ui-error); }
.slds-text-color_success { color: var(--ui-success); }
.slds-text-body_small { font-size: 12px; }
.slds-text-title { font-size: 12px; color: var(--ui-text-weak); line-height: 1.25; }
.ui-meta { color: var(--ui-text-meta); font-size: 12px; }
.ui-num { text-align: right; font-variant-numeric: tabular-nums; }
.ui-nowrap { white-space: nowrap; }
.ui-phone-only { display: none !important; }

/* ---------- object icons (icon tiles) ---------- */
.slds-icon_container { display: inline-flex; align-items: center; justify-content: center; border-radius: var(--ui-radius); flex: none; color: var(--ui-on-accent); }
.slds-icon_container .slds-icon { width: 2rem; height: 2rem; padding: .375rem; fill: var(--ui-on-accent); }
.slds-icon_container .slds-icon.slds-icon_small { width: 1.5rem; height: 1.5rem; padding: .25rem; }
.slds-icon_container .slds-icon.slds-icon_large { width: 2.5rem; height: 2.5rem; padding: .45rem; }
.slds-icon_container.slds-icon_container_circle { border-radius: 50%; }
.slds-icon_container.slds-icon_container_circle .slds-icon { width: 1.5rem; height: 1.5rem; padding: .3rem; }
.ui-ic-lead { background: var(--ui-ic-lead); } .ui-ic-task { background: var(--ui-ic-task); } .ui-ic-call { background: var(--ui-ic-call); }
.ui-ic-sms { background: var(--ui-ic-sms); } .ui-ic-note { background: var(--ui-ic-note); } .ui-ic-contact { background: var(--ui-ic-contact); }
.ui-ic-deal { background: var(--ui-ic-deal); } .ui-ic-home { background: var(--ui-ic-home); } .ui-ic-event { background: var(--ui-ic-event); }
.ui-ic-user { background: var(--ui-ic-user); } .ui-ic-file { background: var(--ui-ic-file); } .ui-ic-team { background: var(--ui-ic-team); }
.ui-ic-account { background: var(--ui-ic-account); } .ui-ic-offer { background: var(--ui-ic-offer); } .ui-ic-email { background: var(--ui-ic-email); }
.ui-ic-esign { background: var(--ui-ic-esign); } .ui-ic-buyer { background: var(--ui-ic-buyer); } .ui-ic-stage { background: var(--ui-ic-stage); }
.slds-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--ui-av-1); color: var(--ui-on-accent); font-size: 12px; font-weight: 600; flex: none; }
.slds-avatar_small { width: 1.5rem; height: 1.5rem; font-size: 10px; }
.slds-avatar.ui-av-2 { background: var(--ui-av-2); } .slds-avatar.ui-av-3 { background: var(--ui-av-3); } .slds-avatar.ui-av-4 { background: var(--ui-av-4); } .slds-avatar.ui-av-5 { background: var(--ui-av-5); }

/* ---------- buttons ---------- */
.slds-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0; margin: 0; border: 1px solid transparent;
  border-radius: var(--ui-radius); background: none; background-clip: border-box; line-height: 1.875rem; min-height: 2rem; color: var(--ui-brand);
  font: inherit; font-weight: 400; white-space: nowrap; text-decoration: none; cursor: pointer; user-select: none; -webkit-appearance: none; appearance: none; }
.slds-button:hover, .slds-button:focus { text-decoration: none; color: var(--ui-brand-dark); }
.slds-button:focus-visible { outline: 0; box-shadow: 0 0 3px var(--ui-brand); }
.slds-button[disabled], .slds-button.is-off { color: var(--ui-icon-weak); cursor: default; }
.slds-button .slds-button__icon, .slds-button svg.ui-g { width: .875rem; height: .875rem; fill: currentColor; }
.slds-button_neutral, .slds-button_brand, .slds-button_destructive, .slds-button_outline-brand, .slds-button_success { padding: 0 1rem; }
.slds-button_neutral { border-color: var(--ui-border); background: var(--ui-surface); color: var(--ui-brand); }
.slds-button_neutral:hover, .slds-button_neutral:focus { background: var(--ui-surface-alt); color: var(--ui-brand-dark); }
.slds-button_outline-brand { border-color: var(--ui-border); background: var(--ui-surface); color: var(--ui-brand); }
.slds-button_brand { border-color: var(--ui-brand-btn); background: var(--ui-brand-btn); color: var(--ui-on-accent); }
.slds-button_brand:hover, .slds-button_brand:focus { background: var(--ui-brand-btn-hover); border-color: var(--ui-brand-btn-hover); color: var(--ui-on-accent); }
.slds-button_destructive { border-color: var(--ui-error); background: var(--ui-error); color: #fff; }
.slds-button_destructive:hover { filter: brightness(.9); color: #fff; }
.slds-button_text-destructive { padding: 0 1rem; border-color: var(--ui-border); background: var(--ui-surface); color: var(--ui-error); }
.slds-button_text-destructive:hover { background: var(--ui-surface-alt); color: var(--ui-error); }
.slds-button_brand[disabled], .slds-button_neutral[disabled] { background: var(--ui-surface-alt); border-color: var(--ui-border-light); color: var(--ui-icon-weak); }
.slds-button_small { min-height: 1.5rem; line-height: 1.375rem; padding: 0 .625rem; font-size: 12px; }
.slds-button_stretch { width: 100%; }
.slds-button_icon { width: 2rem; height: 2rem; min-height: 0; padding: 0; color: var(--ui-icon); }
.slds-button_icon .slds-button__icon { width: .875rem; height: .875rem; }
.slds-button_icon-border, .slds-button_icon-border-filled { border-color: var(--ui-border); background: var(--ui-surface); }
.slds-button_icon-border:hover, .slds-button_icon-border-filled:hover { background: var(--ui-surface-alt); color: var(--ui-brand); }
.slds-button_icon-x-small { width: 1.5rem; height: 1.5rem; }
.slds-button_icon-x-small .slds-button__icon { width: .75rem; height: .75rem; }
.slds-button_icon-bare { border: 0; background: none; }
.slds-button_reset { padding: 0; border: 0; background: none; line-height: inherit; min-height: 0; color: inherit; }
.slds-button_link { padding: 0; border: 0; min-height: 0; line-height: inherit; background: none; color: var(--ui-brand); }
.slds-button_link:hover { text-decoration: underline; }
.slds-button-group { display: inline-flex; }
.slds-button-group > .slds-button, .slds-button-group > form > .slds-button, .slds-button-group > .slds-dropdown-trigger > summary { border-radius: 0; margin-left: -1px; }
.slds-button-group > :first-child, .slds-button-group > :first-child > .slds-button, .slds-button-group > form:first-child > .slds-button { margin-left: 0; border-radius: var(--ui-radius) 0 0 var(--ui-radius); }
.slds-button-group > :last-child, .slds-button-group > :last-child > .slds-button, .slds-button-group > .slds-dropdown-trigger:last-child > summary, .slds-button-group > form:last-child > .slds-button { border-radius: 0 var(--ui-radius) var(--ui-radius) 0; }
.slds-button-group > :only-child, .slds-button-group > :only-child > summary { border-radius: var(--ui-radius); }
.slds-button-group > form { display: inline-flex; margin: 0; }
.slds-button-group > form + form > .slds-button, .slds-button-group > .slds-button + form > .slds-button, .slds-button-group > form + .slds-button { margin-left: -1px; }
.slds-button-group > .slds-button:hover, .slds-button-group > form > .slds-button:hover { z-index: 1; }

/* ---------- dropdown menus (details/summary, closed by lightning.js on an outside click) ---------- */
.slds-dropdown-trigger { position: relative; display: inline-flex; }
.slds-dropdown-trigger > summary { list-style: none; cursor: pointer; }
.slds-dropdown-trigger > summary::-webkit-details-marker { display: none; }
.slds-dropdown { position: absolute; z-index: 40; top: 100%; left: 0; margin-top: 2px; min-width: 12rem; max-width: 20rem; padding: .25rem 0;
  background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); color: var(--ui-text); }
.slds-dropdown_right { left: auto; right: 0; }
.slds-dropdown__header { padding: .5rem .75rem; font-size: 12px; color: var(--ui-text-meta); }
.slds-dropdown__item > a, .slds-dropdown__item > button, .slds-dropdown__item > form > button { display: flex; align-items: center; gap: .5rem; width: 100%; padding: .5rem .75rem;
  color: var(--ui-text); background: none; border: 0; text-align: left; white-space: nowrap; cursor: pointer; font: inherit; line-height: 1.5; }
.slds-dropdown__item > a:hover, .slds-dropdown__item > button:hover, .slds-dropdown__item > form > button:hover { background: var(--ui-surface-alt); text-decoration: none; color: var(--ui-text); }
.slds-dropdown__item .ui-g { width: .875rem; height: .875rem; fill: var(--ui-icon); }
.slds-dropdown__item_destructive > a, .slds-dropdown__item_destructive > button, .slds-dropdown__item_destructive > form > button { color: var(--ui-error); }
.slds-dropdown__item > form { margin: 0; }
.slds-has-divider_top-space { border-top: 1px solid var(--ui-border-light); margin-top: .25rem; padding-top: .25rem; }

/* ---------- badges and pills ---------- */
.slds-badge { display: inline-flex; align-items: center; gap: 4px; padding: .125rem .5rem; border-radius: var(--ui-radius-pill); background: var(--ui-surface-alt);
  border: 1px solid transparent; color: var(--ui-text); font-size: 12px; font-weight: 700; line-height: normal; white-space: nowrap; vertical-align: middle; }
.slds-badge_inverse { background: var(--ui-text-weak); color: var(--ui-surface); }
.slds-badge_lightest { background: var(--ui-surface); border-color: var(--ui-border); }
.slds-badge.slds-theme_success { background: var(--ui-success-soft); color: var(--ui-success); }
.slds-badge.slds-theme_error { background: var(--ui-error-soft); color: var(--ui-error); }
.slds-badge.slds-theme_warning { background: var(--ui-warning-soft); color: var(--ui-warning); }
.slds-badge.ui-badge_brand { background: var(--ui-tint); color: var(--ui-brand); }
.slds-pill { display: inline-flex; align-items: center; gap: 6px; height: 1.5rem; padding: 0 .25rem 0 .5rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius);
  background: var(--ui-surface); color: var(--ui-text); font-size: 12px; white-space: nowrap; }
.slds-pill:hover { background: var(--ui-surface-alt); text-decoration: none; color: var(--ui-text); }
.slds-pill .slds-pill__remove { color: var(--ui-icon); font-size: 14px; line-height: 1; padding: 0 2px; }
.slds-pill_container { display: flex; flex-wrap: wrap; gap: 4px; }
.ui-count { display: inline-block; min-width: 16px; padding: 0 4px; border-radius: 8px; background: var(--ui-error); color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; }

/* ---------- cards ---------- */
.slds-card { position: relative; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); min-width: 0; }
.slds-card + .slds-card { margin-top: 0; }
.slds-card__header { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem 0; margin: 0 0 .75rem; }
.slds-card__header .slds-media { flex: 1; min-width: 0; align-items: center; }
.slds-card__header-title { font-size: 16px; font-weight: 700; line-height: 1.25; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.slds-card__header-title a { color: var(--ui-text); }
.slds-card__header-title a:hover { color: var(--ui-text); text-decoration: underline; }
.slds-card__header .ui-card-meta { margin-left: .5rem; font-size: 12px; color: var(--ui-text-meta); font-weight: 400; }
.slds-card__header .slds-no-flex { display: flex; gap: .5rem; align-items: center; }
.slds-card__body { margin: 0 0 .75rem; }
.slds-card__body_inner { padding: 0 1rem; }
.slds-card__body:empty { display: none; }
.slds-card__footer { border-top: 1px solid var(--ui-border-light); padding: .625rem 1rem; text-align: center; font-size: 13px; }
.slds-card__footer a + a { margin-left: 1rem; }
.slds-card > .slds-card__body:last-child { margin-bottom: .75rem; }
.slds-card_flush > .slds-card__body { margin-bottom: 0; }
.ui-tab-cards { padding: 0 1rem .75rem; } /* cards inside a record tab (ui.ts tabCards) */

/* ---------- page header (list views, home pages, records) ---------- */
.slds-page-header { position: relative; padding: 1rem; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
.slds-page-header__row { display: flex; align-items: flex-start; gap: .75rem; }
.slds-page-header__col-title { flex: 1; min-width: 0; }
.slds-page-header__col-actions { flex: none; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.slds-page-header__name-meta, .slds-page-header__name-label { font-size: 12px; color: var(--ui-text-weak); line-height: 1.25; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.slds-page-header__title { font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
.slds-page-header__meta-text { font-size: 13px; color: var(--ui-text-weak); margin-top: 2px; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
.slds-page-header__row_gutters { margin: 1rem -1rem 0; padding: .75rem 1rem 0; border-top: 1px solid var(--ui-border-light); }
.slds-page-header__detail-row { display: flex; flex-wrap: wrap; gap: .5rem 2.5rem; }
.slds-page-header__detail-block { min-width: 0; }
.slds-page-header__detail-block .slds-text-title { margin-bottom: 2px; }
.slds-page-header__detail-block .ui-hl-value { font-size: 14px; line-height: 1.35; }
.slds-page-header__detail-block .ui-hl-value small { color: var(--ui-text-meta); font-size: 12px; margin-left: 4px; }
.slds-page-header__detail-block .ui-hl-value.is-big { font-size: 16px; }
.slds-page-header__detail-block .ui-hl-value a { color: inherit; }
.slds-page-header__detail-block .ui-hl-value.is-error, .slds-page-header__detail-block .ui-hl-value.is-error a { color: var(--ui-error); }
.slds-page-header_record-home { padding-bottom: .875rem; }
.slds-page-header_object-home .slds-page-header__title { display: flex; align-items: center; gap: 6px; }
.ui-mobile-actions { display: none; }
.ui-unset { color: var(--ui-text-meta); }

/* ---------- path ---------- */
.slds-path { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); padding: .75rem 1rem; }
.slds-path__track { display: flex; align-items: center; gap: .75rem; }
.slds-path__scroller { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.slds-path__scroller::-webkit-scrollbar { display: none; }
.slds-path__nav { display: flex; margin: 0; padding: 0; list-style: none; border-radius: 1rem; overflow: hidden; min-width: max-content; width: 100%; }
.slds-path__item { flex: 1 1 0; position: relative; min-width: 5rem; margin-left: -8px; }
.slds-path__item:first-child { margin-left: 0; }
.slds-path__link { display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%; height: 2rem; padding: 0 1.125rem 0 1.375rem; border: 0; margin: 0;
  background: var(--ui-surface-alt); color: var(--ui-text); font: inherit; font-size: 13px; white-space: nowrap; cursor: pointer; text-decoration: none;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%); }
.slds-path__item:first-child .slds-path__link { padding-left: 1rem; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%); }
.slds-path__item:last-child .slds-path__link { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.slds-path__item:only-child .slds-path__link { clip-path: none; }
.slds-path__link:hover { background: var(--ui-border-light); text-decoration: none; color: var(--ui-text); }
.slds-path__item.slds-is-complete .slds-path__link { background: var(--ui-path-done); color: #fff; }
.slds-path__item.slds-is-complete .slds-path__link:hover { background: var(--ui-path-done-hover); }
.slds-path__item.slds-is-current .slds-path__link { background: var(--ui-path-cur); color: #fff; font-weight: 600; cursor: default; }
.slds-path__stage { display: inline-flex; }
.slds-path__stage .ui-g { width: .75rem; height: .75rem; fill: currentColor; }
.slds-path__link { min-width: 0; overflow: hidden; }
.slds-path__title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.slds-path__item.slds-is-current { flex: 0 0 auto; }
.slds-path__action { flex: none; display: flex; gap: .5rem; align-items: center; }
.ui-path-more { margin-top: .5rem; }

/* ---------- tabs ---------- */
.slds-tabs_default__nav, .slds-tabs_scoped__nav { display: flex; margin: 0; padding: 0; list-style: none; }
.slds-tabs_default__nav { gap: 1.5rem; padding: 0 1rem; border-bottom: 1px solid var(--ui-border); overflow-x: auto; scrollbar-width: none; }
.slds-tabs_default__nav::-webkit-scrollbar { display: none; }
.slds-tabs_default__item { position: relative; flex: none; }
.slds-tabs_default__link { display: block; padding: .625rem 0; color: var(--ui-text-weak); font-size: 13px; white-space: nowrap; }
.slds-tabs_default__link:hover { color: var(--ui-brand); text-decoration: none; }
.slds-tabs_default__item.slds-is-active .slds-tabs_default__link, .slds-tabs_default__link.on { color: var(--ui-text); font-weight: 700; }
.slds-tabs_default__item.slds-is-active::after, .slds-tabs_default__item:has(.on)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--ui-brand-accent); }
.slds-tabs_default__link .ui-tab-n, .slds-tabs_scoped__link .ui-tab-n { font-weight: 400; color: var(--ui-text-meta); }
.slds-tabs_scoped__nav { border: 1px solid var(--ui-border); border-radius: var(--ui-radius) var(--ui-radius) 0 0; background: var(--ui-surface-alt); overflow-x: auto; scrollbar-width: none; }
.slds-tabs_scoped__nav::-webkit-scrollbar { display: none; }
.slds-tabs_scoped__item { flex: none; border-right: 1px solid var(--ui-border); margin-bottom: -1px; }
.slds-tabs_scoped__link { display: block; padding: 0 1rem; line-height: 2.5rem; color: var(--ui-text-weak); white-space: nowrap; }
.slds-tabs_scoped__link:hover { color: var(--ui-brand); text-decoration: none; }
.slds-tabs_scoped__item.slds-is-active { background: var(--ui-surface); border-bottom: 1px solid var(--ui-surface); }
.slds-tabs_scoped__item.slds-is-active .slds-tabs_scoped__link { color: var(--ui-brand); font-weight: 700; }
.ui-card-tabs { padding-top: 2px; }

/* ---------- list view header (inside the page header) ---------- */
.ui-lv-info { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; color: var(--ui-text-meta); font-size: 12px; padding: .5rem 1rem .625rem; }
.ui-lv-info .ui-lv-tools { margin-left: auto; display: flex; gap: 4px; }

/* ---------- forms ---------- */
.slds-form-element { display: block; position: relative; min-width: 0; margin: 0; }
.slds-form-element_stacked { margin-bottom: .5rem; }
.slds-form-element__label { display: inline-block; color: var(--ui-text-weak); font-size: 12px; line-height: 1.5; padding-right: .5rem; padding-top: .25rem; margin-bottom: .125rem; }
.slds-form-element__label abbr { color: var(--ui-error); text-decoration: none; border: 0; margin-right: 2px; }
.slds-form-element__control { display: block; }
.slds-form-element__help { font-size: 12px; margin-top: .25rem; color: var(--ui-text-meta); }
.slds-has-error .slds-form-element__help { color: var(--ui-error); }
.slds-input, .slds-select, .slds-textarea {
  width: 100%; min-height: 2rem; padding: 0 .75rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-field); color: var(--ui-text);
  font: inherit; font-size: 13px; line-height: 1.875rem; transition: border .1s linear; -webkit-appearance: none; appearance: none; }
.slds-select { padding-right: 2rem; background-image: linear-gradient(45deg, transparent 50%, var(--ui-icon) 50%), linear-gradient(135deg, var(--ui-icon) 50%, transparent 50%);
  background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.slds-select[multiple] { background-image: none; padding: .25rem .5rem; line-height: 1.5; }
.slds-textarea { min-height: 4rem; padding: .5rem .75rem; line-height: 1.5; resize: vertical; }
.slds-input:focus, .slds-select:focus, .slds-textarea:focus { outline: 0; border-color: var(--ui-brand-accent); box-shadow: 0 0 3px var(--ui-brand-accent); }
.slds-input::placeholder, .slds-textarea::placeholder { color: var(--ui-placeholder); }
.slds-has-error .slds-input, .slds-has-error .slds-select, .slds-has-error .slds-textarea { border-color: var(--ui-error); box-shadow: 0 0 0 1px var(--ui-error) inset; }
.slds-input_small { min-height: 1.5rem; line-height: 1.375rem; font-size: 12px; padding: 0 .5rem; }
.slds-checkbox, .slds-radio { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; line-height: 1.5; }
.slds-checkbox input, .slds-radio input, .ui-check { width: 1rem; height: 1rem; margin: 0; accent-color: var(--ui-brand-btn); flex: none; }
.ui-form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0 1rem; align-items: end; }
.ui-form-grid .ui-wide { grid-column: 1 / -1; }
.ui-form-grid > .slds-button, .ui-form-grid > .ui-form-actions { margin-bottom: .5rem; justify-self: start; }
.ui-form-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.ui-pw { position: relative; display: block; }
.ui-pw .slds-input { padding-right: 4rem; }
.ui-pw .pw-show { position: absolute; right: 1px; top: 1px; bottom: 1px; padding: 0 .75rem; border: 0; border-left: 1px solid var(--ui-border-light); border-radius: 0 var(--ui-radius) var(--ui-radius) 0;
  background: var(--ui-surface); color: var(--ui-brand); cursor: pointer; font-size: 12px; }
/* read-only record fields (Details tab) */
.slds-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; }
.slds-form-element_readonly { display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; border-bottom: 1px solid var(--ui-border-light); padding: .375rem 0 .25rem; min-height: 3rem; }
.slds-form-element_readonly .slds-form-element__label { padding-top: 0; margin: 0; display: block; }
.slds-form-element_readonly .slds-form-element__static { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.slds-form-element_readonly .ui-g { width: .75rem; height: .75rem; fill: var(--ui-icon-weak); margin-bottom: 4px; }
.slds-form-element_1-col { grid-column: 1 / -1; }
/* expandable sections */
.slds-section { margin: .5rem 0; }
.slds-section__title { display: flex; align-items: center; gap: .5rem; width: 100%; padding: .3125rem .5rem; margin: 0; border-radius: var(--ui-radius);
  background: var(--ui-surface-alt); font-size: 14px; font-weight: 700; color: var(--ui-text); cursor: pointer; list-style: none; }
.slds-section__title::-webkit-details-marker { display: none; }
.slds-section__title .ui-g { width: .625rem; height: .625rem; fill: var(--ui-icon); transition: transform .15s; }
details.slds-section:not([open]) > .slds-section__title .ui-g { transform: rotate(-90deg); }
.slds-section__content { padding: .5rem 0 0; }
.slds-section__title .ui-sec-meta { margin-left: auto; font-weight: 400; font-size: 12px; color: var(--ui-text-meta); }
/* the "Edit" folds that open a form in place */
details.ui-fold > summary { list-style: none; display: inline-flex; align-items: center; gap: 4px; color: var(--ui-brand); cursor: pointer; font-size: 13px; padding: .25rem 0; }
details.ui-fold > summary::-webkit-details-marker { display: none; }
details.ui-fold > summary:hover { text-decoration: underline; }
details.ui-fold[open] > summary { font-weight: 700; color: var(--ui-text); }
details.ui-fold > :not(summary) { margin-top: .5rem; }
details.ui-fold { display: block; }

/* ---------- messages ---------- */
.ui-msg { margin: 0 0 12px; padding: .5rem .75rem; border-radius: var(--ui-radius); font-size: 13px; display: flex; gap: .75rem; align-items: center; }
.ui-msg.is-error { color: var(--ui-error); background: var(--ui-error-soft); }
.ui-msg.is-success { color: var(--ui-success); background: var(--ui-success-soft); }
.ui-msg a { margin-left: auto; }
.slds-illustration, .ui-empty { padding: .25rem 0; color: var(--ui-text-meta); font-size: 13px; }
.ui-empty a { margin-left: .5rem; }

/* ---------- data tables ---------- */
.ui-table-wrap { overflow-x: auto; }
.slds-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--ui-surface); font-size: 13px; }
.slds-table th, .slds-table td { padding: .5rem; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--ui-border-light); }
.slds-table thead th { background: var(--ui-surface-alt); color: var(--ui-text-weak); font-weight: 700; font-size: 12px; padding: .375rem .5rem; white-space: nowrap;
  border-top: 1px solid var(--ui-border-light); border-bottom: 1px solid var(--ui-border); line-height: 1.25; }
.slds-table th:first-child, .slds-table td:first-child { padding-left: 1rem; }
.slds-table th:last-child, .slds-table td:last-child { padding-right: 1rem; }
.slds-table tbody tr:hover > td { background: var(--ui-surface-alt); }
.slds-table tbody tr.sel > td, .slds-table tbody tr.slds-is-selected > td { background: var(--ui-sel); }
.slds-table_compact th, .slds-table_compact td { padding-top: .25rem; padding-bottom: .25rem; }
.slds-table_compact td { padding-top: .375rem; padding-bottom: .375rem; }
.slds-table .ui-cell-check { width: 2.25rem; }
.slds-table .ui-cell-actions { width: 4.5rem; text-align: right; white-space: nowrap; }
.slds-table .ui-cell-actions > * + * { margin-left: 4px; }
.slds-table .ui-cell-actions .slds-dropdown-trigger { vertical-align: middle; }
.slds-table .ui-cell-sub { display: block; font-size: 12px; color: var(--ui-text-meta); }
.slds-table .is-error, .ui-overdue { color: var(--ui-error); }
.slds-table tr:last-child > td { border-bottom: 0; }
.slds-card .slds-table thead th:first-child { border-left: 0; }
.ui-rep { display: inline-flex; align-items: center; gap: 4px; color: var(--ui-text-meta); font-size: 12px; }
.ui-rep .ui-g { width: .75rem; height: .75rem; fill: var(--ui-icon); }
.ui-people { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.ui-person { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.ui-kind { display: inline-block; margin-left: 4px; font-size: 11px; color: var(--ui-text-meta); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); padding: 0 4px; line-height: 16px; vertical-align: 1px; }
.ui-pri-urgent, .ui-pri-high { color: var(--ui-error); border-color: currentColor; }
/* the bar for ticked rows (Salesforce shows the bulk actions in the list header; ours appear once something is ticked) */
.ui-bulk { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: .5rem 1rem; border-top: 1px solid var(--ui-border-light); background: var(--ui-surface); }
.ui-bulk.idle { display: none; }
.ui-bulk-n { font-weight: 700; margin-right: .25rem; }
.ui-bulk .slds-select, .ui-bulk .slds-input { width: auto; min-height: 1.5rem; line-height: 1.375rem; font-size: 12px; }
.ui-bulk-acts { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ui-pager { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; padding: .625rem 1rem; border-top: 1px solid var(--ui-border-light); font-size: 12px; color: var(--ui-text-meta); }
.ui-pager a.is-on { font-weight: 700; color: var(--ui-text); }
.ui-pager form { display: inline-flex; gap: 4px; align-items: center; margin-left: auto; }
.ui-pager .slds-input { width: 4rem; min-height: 1.5rem; line-height: 1.375rem; }

/* ---------- activity timeline ---------- */
.slds-timeline { list-style: none; margin: 0; padding: 0 1rem .5rem; }
.slds-timeline__item_expandable { position: relative; display: flex; gap: .5rem; padding: 0 0 1.125rem; }
.slds-timeline__item_expandable::before { content: ""; position: absolute; left: 2.1875rem; top: 1.75rem; bottom: 2px; width: 2px; background: var(--ui-border-light); }
.slds-timeline > li:last-child > .slds-timeline__item_expandable { padding-bottom: .375rem; }
.slds-timeline > li:last-child > .slds-timeline__item_expandable::before { display: none; }
.slds-timeline__item_expandable .ui-tl-tog { width: 1rem; height: 1.5rem; display: flex; align-items: center; justify-content: center; flex: none; color: var(--ui-icon); }
.slds-timeline__item_expandable .ui-tl-tog .ui-g { width: .625rem; height: .625rem; }
.slds-timeline__icon { width: 1.5rem; height: 1.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; }
.slds-timeline__icon .ui-g { width: .875rem; height: .875rem; fill: var(--ui-on-accent); }
.ui-tl-body { flex: 1; min-width: 0; padding-left: 4px; }
.ui-tl-head { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
.ui-tl-title { font-size: 13px; overflow-wrap: anywhere; }
.slds-timeline__date { margin-left: auto; font-size: 12px; color: var(--ui-text-weak); white-space: nowrap; }
.ui-tl-who { font-size: 12px; color: var(--ui-text-weak); margin-top: 1px; }
.ui-tl-detail { margin-top: .375rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .5rem .75rem; background: var(--ui-surface); white-space: pre-wrap; overflow-wrap: anywhere; }
.ui-tl-msg { margin-top: .25rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.ui-tl-fields { display: flex; flex-wrap: wrap; gap: .25rem 1.75rem; margin-top: .25rem; font-size: 12px; }
.ui-tl-fields .k { color: var(--ui-text-weak); margin-right: 4px; }
.ui-tl-extra { margin-top: .375rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ui-tl-extra audio { height: 32px; max-width: 100%; }
.ui-tl-thumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ui-tl-thumbs img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--ui-radius); border: 1px solid var(--ui-border-light); }
.slds-timeline__item_expandable.is-overdue .slds-timeline__date { color: var(--ui-error); }
details.slds-timeline__item_expandable { display: block; }
details.slds-timeline__item_expandable > summary { list-style: none; display: flex; gap: .5rem; cursor: pointer; }
details.slds-timeline__item_expandable > summary::-webkit-details-marker { display: none; }
details.slds-timeline__item_expandable:not([open]) .ui-tl-tog .ui-g { transform: rotate(-90deg); }
details.slds-timeline__item_expandable > .ui-tl-more { padding-left: 4.25rem; }
.ui-tl-bar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .75rem 1rem .25rem; font-size: 12px; color: var(--ui-text-weak); }
.ui-tl-bar .ui-tl-links a + a { margin-left: .875rem; }
.ui-tl-sec { margin: .625rem 1rem .5rem; }
.ui-tl-filters { display: flex; flex-wrap: wrap; gap: 4px; padding: .5rem 1rem 0; }
.ui-tl-filters .slds-pill.is-on { border-color: var(--ui-brand); color: var(--ui-brand); font-weight: 700; }
.ui-tl-filters .slds-pill.is-empty { color: var(--ui-text-meta); }
.ui-tl-list:not(.all) > li:nth-child(n+21) { display: none; }
.ui-tl-list.all > li { display: list-item; }

/* ---------- activity composer ---------- */
.ui-composer { padding: .875rem 1rem 0; }
.ui-composer-tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.ui-composer-tabs label { cursor: pointer; }
.ui-composer .cmp-r { position: absolute; opacity: 0; pointer-events: none; }
.ui-composer .cmp-pane { display: none; margin-top: .75rem; padding: .75rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface); }
#cmp-note:checked ~ .cmp-note, #cmp-call:checked ~ .cmp-call, #cmp-text:checked ~ .cmp-text { display: block; }
#cmp-note:checked ~ .ui-composer-tabs label[for=cmp-note], #cmp-call:checked ~ .ui-composer-tabs label[for=cmp-call], #cmp-text:checked ~ .ui-composer-tabs label[for=cmp-text] {
  border-color: var(--ui-brand); color: var(--ui-brand); box-shadow: inset 0 -2px 0 var(--ui-brand-accent); }
.ui-composer .cmp-call { display: none; }
#cmp-call:checked ~ .cmp-call { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0 1rem; }
#cmp-call:checked ~ .cmp-call .ui-wide { grid-column: 1 / -1; }
.ui-composer .cmp-call > label, .ui-composer .cmp-call .c3-book label { display: block; color: var(--ui-text-weak); font-size: 12px; margin-bottom: .5rem; }
.ui-composer .cmp-call select, .ui-composer .cmp-call input, .ui-composer .cmp-call textarea { display: block; width: 100%; margin-top: 2px; min-height: 2rem; padding: 0 .5rem; border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius); background: var(--ui-field); color: var(--ui-text); font: inherit; font-size: 13px; }
.ui-composer .cmp-call textarea { padding: .375rem .5rem; }
.ui-composer .cmp-call input[type=checkbox], .ui-composer .cmp-call input[type=radio] { display: inline-block; width: auto; min-height: 0; }
.ui-composer .ui-cmp-foot { display: flex; justify-content: flex-end; margin-top: .5rem; }

/* ---------- modal ---------- */
dialog.slds-modal { position: fixed; inset: 0; margin: auto; padding: 0; border: 0; background: none; width: min(40rem, calc(100% - 2rem)); max-height: calc(100% - 4rem); color: var(--ui-text); overflow: visible; }
dialog.slds-modal::backdrop { background: var(--ui-backdrop); }
.slds-modal__container { display: flex; flex-direction: column; max-height: calc(100vh - 4rem); }
.slds-modal__header { position: relative; padding: 1rem 3rem; background: var(--ui-surface); border-radius: var(--ui-radius) var(--ui-radius) 0 0; border-bottom: 2px solid var(--ui-border-light); text-align: center; }
.slds-modal__header h2 { font-size: 20px; font-weight: 400; line-height: 1.25; }
.slds-modal__close { position: absolute; top: .5rem; right: .5rem; }
.slds-modal__content { padding: 1rem; background: var(--ui-surface); overflow: auto; }
.slds-modal__footer { padding: .75rem 1rem; background: var(--ui-surface-alt); border-top: 2px solid var(--ui-border-light); border-radius: 0 0 var(--ui-radius) var(--ui-radius);
  display: flex; justify-content: flex-end; gap: .5rem; }
.slds-modal__footer form { margin: 0; }

/* ---------- global header ---------- */
/* iPhone app + Home Screen app: keep the bar below the clock / Dynamic Island (0 everywhere else). */
.slds-global-header_container { position: sticky; top: 0; z-index: 30; padding-top: env(safe-area-inset-top); background: var(--ui-surface); }
.slds-global-header { height: 50px; display: flex; align-items: center; gap: .5rem; padding: 0 .75rem 0 1rem; background: var(--ui-surface); box-shadow: var(--ui-shadow-gh); }
.slds-global-header__logo { display: flex; align-items: center; width: 12rem; flex: none; }
.ui-mark { display: inline-flex; align-items: center; gap: 8px; color: var(--ui-text); font-weight: 700; font-size: 14px; }
.ui-mark:hover { text-decoration: none; color: var(--ui-text); }
.ui-mark-tile { width: 30px; height: 30px; border-radius: 6px; background: var(--ui-brand-btn); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.ui-mark-tile svg { width: 20px; height: 20px; }
.slds-global-header__item_search { flex: 1; display: flex; justify-content: center; min-width: 0; }
.ui-search { position: relative; width: min(35rem, 100%); margin: 0; }
.ui-search > .ui-g { position: absolute; left: 10px; top: 8px; width: 16px; height: 16px; fill: var(--ui-icon); pointer-events: none; }
.ui-search input[type=search] { width: 100%; height: 2rem; padding: 0 .75rem 0 2rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-field); color: var(--ui-text); font: inherit; font-size: 13px; -webkit-appearance: none; appearance: none; }
.ui-search input[type=search]:focus { outline: 0; border-color: var(--ui-brand-accent); box-shadow: 0 0 3px var(--ui-brand-accent); }
.ui-search input::placeholder { color: var(--ui-placeholder); }
.ui-search .live-results { position: absolute; z-index: 45; left: 0; right: 0; top: calc(100% + 2px); max-height: 70vh; overflow: auto; padding: .25rem 0;
  background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); }
.ui-search .live-results a { display: flex; flex-direction: column; padding: .375rem .75rem; color: var(--ui-text); }
.ui-search .live-results a .muted { font-size: 12px; color: var(--ui-text-meta); }
.ui-search .live-results a:hover, .ui-search .live-results a.sel { background: var(--ui-surface-alt); text-decoration: none; }
.ui-search .live-results a.muted { color: var(--ui-brand); font-size: 12px; }
.ui-search .live-results .lr-head { padding: .375rem .75rem .125rem; font-size: 11px; font-weight: 700; letter-spacing: .02em; color: var(--ui-text-meta); text-transform: uppercase; }
.slds-global-actions { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; flex: none; }
.slds-global-actions__item { display: flex; align-items: center; position: relative; }
.slds-global-actions__item-action { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--ui-radius); color: var(--ui-icon); background: none; border: 0; cursor: pointer; position: relative; }
.slds-global-actions__item-action:hover { background: var(--ui-surface-alt); color: var(--ui-text); text-decoration: none; }
.slds-global-actions__item-action .ui-g { width: 1.25rem; height: 1.25rem; fill: currentColor; }
.slds-global-actions__item-action.ui-boxed { width: 1.5rem; height: 1.5rem; border: 1px solid var(--ui-border); margin: 0 4px; }
.slds-global-actions__item-action.ui-boxed .ui-g { width: .875rem; height: .875rem; }
.slds-global-actions__item-action .ui-count { position: absolute; top: 1px; right: 0; }
.slds-global-actions__avatar { margin-left: .5rem; }
.slds-global-actions__avatar > summary .slds-avatar { width: 2rem; height: 2rem; }
.ui-whoami { padding: .5rem .75rem; font-size: 12px; color: var(--ui-text-meta); border-bottom: 1px solid var(--ui-border-light); margin-bottom: .25rem; }
/* the old bell (alerts.ts) sitting in the new header */
.ui-bell .d2-bell > summary { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--ui-radius); color: var(--ui-icon); }
.ui-bell .d2-bell > summary:hover { background: var(--ui-surface-alt); }
.ui-bell .ic { width: 20px; height: 20px; }
.ui-gh-title, .ui-gh-back, .ui-gh-phone, .ui-sq-label { display: none; }
#ui-sq { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }

/* ---------- navigation bar (app name + menu items) ---------- */
.slds-context-bar { position: sticky; top: calc(50px + env(safe-area-inset-top)); z-index: 29; display: flex; align-items: stretch; height: 40px; padding: 0 0 0 .75rem; background: var(--ui-surface);
  border-bottom: 1px solid var(--ui-border-light); box-shadow: var(--ui-shadow-nav); }
.slds-context-bar__primary { display: flex; align-items: center; flex: none; }
.slds-context-bar__app-name { font-size: 18px; line-height: 1.25; padding: 0 1.5rem 0 .25rem; white-space: nowrap; color: var(--ui-text); }
.ui-waffle { width: 2.5rem; display: flex; align-items: center; justify-content: center; color: var(--ui-icon); }
.ui-waffle .ui-g { width: 1.25rem; height: 1.25rem; }
.slds-context-bar__secondary { display: flex; align-items: stretch; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.slds-context-bar__secondary::-webkit-scrollbar { display: none; }
.slds-context-bar__secondary > ul { display: flex; align-items: stretch; margin: 0; padding: 0; list-style: none; }
.slds-context-bar__item { position: relative; display: flex; align-items: stretch; }
.slds-context-bar__item > a, .slds-context-bar__item > .slds-dropdown-trigger > summary { display: flex; align-items: center; gap: 4px; height: 100%; padding: 0 .75rem; color: var(--ui-text); white-space: nowrap; }
.slds-context-bar__item > a:hover, .slds-context-bar__item > .slds-dropdown-trigger > summary:hover { background: var(--ui-tint); text-decoration: none; color: var(--ui-text); }
.slds-context-bar__item.slds-is-active { background: var(--ui-tint); }
.slds-context-bar__item.slds-is-active > a, .slds-context-bar__item.slds-is-active summary { font-weight: 700; }
.slds-context-bar__item.slds-is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--ui-brand); }
.slds-context-bar__item .ui-chev { width: .625rem; height: .625rem; fill: var(--ui-icon); margin-left: 2px; }
.slds-context-bar__item .ui-count, .slds-context-bar__item .nav-n { margin-left: 4px; }
.slds-context-bar__item .nav-n { display: inline-block; min-width: 16px; padding: 0 4px; border-radius: 8px; background: var(--ui-error); color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; }
.slds-context-bar__item .slds-dropdown-trigger { height: 100%; }
.slds-context-bar__item .slds-dropdown { position: fixed; top: 90px; left: auto; }

/* ---------- utility bar (softphone) ---------- */
.slds-utility-bar_container { position: sticky; left: 0; right: 0; bottom: 0; z-index: 25; }
.slds-utility-bar { display: flex; align-items: stretch; height: 40px; margin: 0; padding: 0 0 0 .75rem; list-style: none; background: var(--ui-surface); box-shadow: var(--ui-shadow-ubar); }
.slds-utility-bar__item { display: flex; }
.slds-utility-bar__action { display: flex; align-items: center; gap: 6px; padding: 0 .75rem; border: 0; background: none; color: var(--ui-text); font: inherit; font-size: 13px; cursor: pointer; }
.slds-utility-bar__action:hover { background: var(--ui-tint); text-decoration: none; color: var(--ui-text); }
.slds-utility-bar__action .ui-g { width: .875rem; height: .875rem; fill: var(--ui-icon); }
.slds-utility-bar__action .ui-ub-state { color: var(--ui-text-meta); }
.slds-utility-bar__action .ui-ub-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-icon-weak); }
.slds-utility-bar__action[data-state="ready"] .ui-ub-dot, .slds-utility-bar__action[data-state="on"] .ui-ub-dot { background: var(--ui-success); }
.slds-utility-bar__action[data-state="busy"] .ui-ub-dot, .slds-utility-bar__action[data-state="call"] .ui-ub-dot { background: var(--ui-error); }
.ui .phone-widget { bottom: 48px; }

/* ---------- phone tab bar (Salesforce mobile app pattern) ---------- */
.ui-tabbar { display: none; }

/* ---------- sign-in pages ---------- */
.ui main.ui-auth { min-height: 100vh; display: flex; flex-direction: column; align-items: center; padding: 3rem 1rem 2rem; background: var(--ui-bg); }
.ui-auth-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 1.5rem; font-size: 20px; font-weight: 700; color: var(--ui-text); }
.ui-auth-logo .ui-mark-tile { width: 40px; height: 40px; border-radius: 8px; }
.ui-auth-logo .ui-mark-tile svg { width: 26px; height: 26px; }
.ui-auth-card { width: min(24rem, 100%); padding: 1.5rem; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
.ui-auth-card h1 { font-size: 18px; font-weight: 700; margin-bottom: 1rem; }
.ui-auth-card .slds-button_brand { width: 100%; margin-top: .5rem; min-height: 2.5rem; }
.ui-auth-foot { margin-top: 1rem; font-size: 12px; color: var(--ui-text-meta); text-align: center; }
.ui-auth-card p + p { margin-top: .75rem; }

/* ---------- computer widths ---------- */
@media (max-width: 1100px) and (min-width: 641px) {
  .slds-global-header__logo { width: auto; }
  .ui-mark-name { display: none; }
}

/* ---------- phone (390 px): Salesforce mobile app pattern ---------- */
@media (max-width: 640px) {
  body.ui { font-size: 14px; }
  .ui-phone-only { display: revert !important; }
  .ui-desk-only { display: none !important; }
  .slds-input, .slds-select, .slds-textarea, .ui-search input[type=search], .ui input, .ui select, .ui textarea { font-size: 16px; }
  .slds-input, .slds-select { min-height: 2.5rem; line-height: 2.375rem; }
  .slds-button_neutral, .slds-button_brand, .slds-button_destructive, .slds-button_text-destructive, .slds-button_outline-brand { min-height: 2.5rem; line-height: 2.375rem; }
  .slds-button_small { min-height: 2rem; line-height: 1.875rem; font-size: 13px; }
  .slds-button_icon { width: 2.5rem; height: 2.5rem; }
  .slds-button_icon-x-small { width: 2rem; height: 2rem; }
  .ui > main { padding: 8px 0 16px; min-height: calc(100vh - 120px); }
  .slds-context-bar, .slds-utility-bar_container { display: none; }
  /* top bar: back or mark, the page title, phone status, search, bell, avatar */
  .slds-global-header { height: 52px; padding: 0 4px; gap: 0; box-shadow: none; border-bottom: 1px solid var(--ui-border-light); }
  .slds-global-header__logo { width: auto; }
  .slds-global-header__logo .ui-mark-name { display: none; }
  .slds-global-header__logo .ui-mark-tile { width: 28px; height: 28px; margin: 0 6px; }
  .ui-has-back .slds-global-header__logo { display: none; }
  .ui-gh-back { display: inline-flex; }
  .ui-gh-back a { width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; color: var(--ui-icon); }
  .ui-gh-back .ui-g { width: 1.375rem; height: 1.375rem; }
  .ui-gh-title { display: block; flex: 1; min-width: 0; text-align: center; font-size: 16px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ui-gh-phone, .ui-sq-label { display: flex; }
  .slds-global-actions__item-action { width: 2.5rem; height: 2.5rem; }
  .slds-global-actions__item-action .ui-g { width: 1.375rem; height: 1.375rem; }
  .slds-global-actions .ui-new { display: none; }
  .slds-global-actions__avatar { margin: 0 4px 0 2px; }
  .slds-global-actions__avatar > summary .slds-avatar { width: 28px; height: 28px; font-size: 11px; }
  .slds-global-header__item_search { display: none; position: absolute; left: 0; right: 0; top: calc(52px + env(safe-area-inset-top)); padding: 8px 12px; background: var(--ui-surface); border-bottom: 1px solid var(--ui-border-light); }
  #ui-sq:checked ~ .slds-global-header .slds-global-header__item_search, #ui-sq:checked ~ .slds-global-header__item_search { display: flex; }
  .ui-search { width: 100%; }
  .ui-search input[type=search] { height: 2.5rem; }
  .ui-search > .ui-g { top: 12px; }
  /* bottom tab bar */
  .ui-tabbar { display: flex; position: sticky; left: 0; right: 0; bottom: 0; z-index: 30; height: calc(64px + env(safe-area-inset-bottom)); padding-bottom: calc(8px + env(safe-area-inset-bottom));
    background: var(--ui-surface); border-top: 1px solid var(--ui-border-light); }
  .ui-tabbar > a, .ui-tabbar > details > summary { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--ui-icon); font-size: 11px; position: relative; height: 100%; }
  .ui-tabbar > details { flex: 1; display: flex; position: static; }
  .ui-tabbar > details > summary { width: 100%; list-style: none; cursor: pointer; }
  .ui-tabbar > details > summary::-webkit-details-marker { display: none; }
  .ui-tabbar .ui-g { width: 22px; height: 22px; fill: currentColor; }
  .ui-tabbar > a:hover { text-decoration: none; }
  .ui-tabbar .is-active, .ui-tabbar .is-active > summary { color: var(--ui-brand); font-weight: 600; }
  .ui-tabbar .ui-count { position: absolute; top: 4px; left: calc(50% + 6px); }
  .ui-tabbar .ui-more-sheet { position: fixed; left: 0; right: 0; bottom: calc(64px + env(safe-area-inset-bottom)); max-height: 70vh; overflow: auto; padding: .25rem 0;
    background: var(--ui-surface); border-top: 1px solid var(--ui-border-light); box-shadow: var(--ui-shadow-ubar); }
  .ui-tabbar .ui-more-sheet a { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; color: var(--ui-text); font-size: 15px; }
  .ui-tabbar .ui-more-sheet a .ui-g { width: 20px; height: 20px; fill: var(--ui-icon); }
  .ui-tabbar .ui-more-sheet a.is-active { color: var(--ui-brand); font-weight: 700; }
  .ui .phone-widget { bottom: calc(72px + env(safe-area-inset-bottom)); }
  /* The tab bar sits in the page flow, so the carried body padding only left a blank strip under it; the room for the
     phone bar goes at the end of the page instead. */
  body.ui { padding-bottom: 0; }
  body.ui:has(.phone-widget:not([hidden]):not([data-state="off"])) > main { padding-bottom: 72px; }
  /* cards go edge to edge, as in the mobile app */
  .ui-page-grid { display: flex; flex-direction: column; gap: 8px; }
  .ui-col, .ui-stack { gap: 8px; }
  .slds-card, .slds-page-header, .slds-path { border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
  .slds-card__header { padding: .75rem .75rem 0; }
  .slds-card__header-title { font-size: 15px; white-space: normal; }
  .slds-card__body_inner, .ui-tab-cards { padding-left: .75rem; padding-right: .75rem; }
  .slds-page-header { padding: .75rem; }
  .slds-page-header__row { flex-wrap: wrap; }
  .slds-page-header__col-actions { width: 100%; justify-content: flex-start; }
  .slds-page-header__row_gutters { margin: .75rem -.75rem 0; padding: .625rem .75rem 0; }
  .slds-page-header__detail-row { display: grid; grid-template-columns: 1fr 1fr; gap: .625rem 1rem; }
  .slds-page-header__title { font-size: 17px; }
  .slds-page-header_record-home .slds-page-header__col-actions { display: none; }
  .ui-mobile-actions { display: flex; justify-content: space-around; margin: .75rem -.75rem 0; padding: .625rem .25rem 0; border-top: 1px solid var(--ui-border-light); }
  .ui-mobile-actions > * { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 4rem; font-size: 12px; color: var(--ui-text); background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-size: 12px; }
  .ui-mobile-actions > *:hover { text-decoration: none; color: var(--ui-text); }
  .ui-mobile-actions .ui-ac { width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid var(--ui-border); display: flex; align-items: center; justify-content: center; background: var(--ui-surface); }
  .ui-mobile-actions .ui-ac .ui-g { width: 1.125rem; height: 1.125rem; fill: var(--ui-brand); }
  .ui-mobile-actions .slds-dropdown-trigger > summary { display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .ui-mobile-actions .slds-dropdown { left: auto; right: 0; bottom: 100%; top: auto; max-height: 60vh; overflow: auto; }
  .slds-path { padding: .75rem; }
  .slds-path__track { flex-direction: column; align-items: stretch; }
  .slds-path__scroller { margin: 0 -.75rem; padding: 0 .75rem; }
  .slds-path__item { min-width: 8.5rem; }
  .slds-path__action > * { width: 100%; }
  .slds-path__action { width: 100%; }
  .slds-tabs_default__nav { gap: 1.25rem; padding: 0 .75rem; }
  .slds-tabs_default__link { padding: .75rem 0; font-size: 14px; }
  .slds-form { grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  /* tables become stacked rows */
  .slds-table_stacked thead { display: none; }
  .slds-table_stacked, .slds-table_stacked tbody { display: block; }
  .slds-table_stacked tr { display: block; position: relative; padding: .625rem .75rem; border-bottom: 1px solid var(--ui-border-light); }
  .slds-table_stacked td { display: block; padding: 0 !important; border: 0; background: none !important; }
  .slds-table_stacked tbody tr:hover > td { background: none; }
  .slds-table_stacked td[data-label]:not(.ui-cell-title):not(.ui-cell-check):not(.ui-cell-actions)::before { content: attr(data-label) ": "; color: var(--ui-text-meta); font-size: 12px; }
  .slds-table_stacked td[data-label=""]::before { content: none !important; }
  .slds-table_stacked td.ui-cell-title { font-size: 14px; font-weight: 400; padding-right: 5.5rem !important; }
  .slds-table_stacked td.ui-hide-stacked { display: none; }
  .slds-table_stacked td:not(.ui-cell-title) { font-size: 13px; color: var(--ui-text-weak); }
  .slds-table_stacked.ui-has-check tr { padding-left: 2.75rem; }
  .slds-table_stacked td.ui-cell-check { position: absolute; left: .75rem; top: .75rem; width: auto; }
  .slds-table_stacked td.ui-cell-actions { position: absolute; right: .75rem; top: .5rem; width: auto; }
  .ui-tl-bar, .ui-tl-filters { padding-left: .75rem; padding-right: .75rem; }
  .slds-timeline { padding: 0 .75rem .5rem; }
  .ui-tl-sec { margin: .625rem .75rem .5rem; }
  .slds-timeline__date { margin-left: 0; width: 100%; }
  .ui-composer { padding: .75rem .75rem 0; }
  .ui-composer-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .ui-composer-tabs > * { width: 100%; }
  .ui-bulk { padding: .5rem .75rem; }
  .ui-lv-info { padding: .5rem .75rem; }
  .ui-lv-info .ui-hide-phone { display: none; }
  dialog.slds-modal { width: 100%; max-height: 100%; margin: auto 0 0; }
  .slds-modal__header { padding: 1rem 3rem; }
  .ui main.ui-auth { padding-top: 2rem; }
}

/* ---------- old widgets inside Lightning cards (legacy layer underneath) ---------- */
.slds-table .ui-group-row > th { background: var(--ui-surface); color: var(--ui-text); font-weight: 700; font-size: 13px; padding-top: .75rem; border-bottom: 1px solid var(--ui-border); }
.slds-table .ui-group-row.is-late > th { color: var(--ui-error); }
@media (max-width: 640px) { .slds-table_stacked tr.ui-group-row { padding: .75rem .75rem .375rem; background: var(--ui-surface-alt); } .slds-table_stacked tr.ui-group-row > th { display: block; padding: 0; border: 0; background: none; } }
/* folding cards (To-do lead lists) */
details.ui-fold-card > summary { list-style: none; cursor: pointer; margin-bottom: .75rem; }
details.ui-fold-card > summary::-webkit-details-marker { display: none; }
details.ui-fold-card:not([open]) > summary { margin-bottom: .75rem; }
.ui-fold-tog { width: 1.25rem; display: inline-flex; justify-content: center; color: var(--ui-icon); }
.ui-fold-tog .ui-g { width: .75rem; height: .75rem; transition: transform .15s; }
details.ui-fold-card[open] > summary .ui-fold-tog .ui-g { transform: rotate(90deg); }
details.ui-fold-card > .slds-card__body { margin-bottom: 0; }
/* feed item (Recent Activity) */
.ui-feed p { margin-top: 4px; }
/* list-view info line inside a card */
.slds-card > .ui-lv-info { border-bottom: 0; }
.slds-tabs_default + .ui-lv-info, .slds-tabs_scoped + .ui-lv-info { padding-top: .625rem; }
.slds-card > .slds-tabs_scoped .slds-tabs_scoped__nav { border-left: 0; border-right: 0; border-top: 0; border-radius: var(--ui-radius) var(--ui-radius) 0 0; }
.ui-lv-tools .slds-select { width: auto; }
.slds-page-header__col-actions .b3-lookat { margin: 0; }
.slds-page-header__col-actions .b3-lookat label { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ui-text-weak); }
.slds-page-header__col-actions .b3-lookat select { min-height: 2rem; padding: 0 2rem 0 .75rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background-color: var(--ui-field); color: var(--ui-text); font: inherit; font-size: 13px; }
/* the iPhone "Add to Home Screen" line (wave-m1.js) */
.ui .m1-notice { display: flex; gap: .75rem; align-items: center; margin: 0 0 12px; padding: .5rem .75rem; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); font-size: 13px; color: var(--ui-text); }
.ui .m1-notice .linkish { margin-left: auto; border: 0; background: none; color: var(--ui-brand); cursor: pointer; padding: 0; }
@media (max-width: 640px) {
  .ui .m1-notice { margin: 0 0 8px; border-radius: 0; border-left: 0; border-right: 0; }
  .slds-page-header__detail-block .slds-text-title.slds-truncate { white-space: normal; }
}
/* list view bits */
.ui-cell-badges { display: inline-flex; gap: 4px; margin-top: 2px; }
.ui-inline { display: inline; margin: 0; }
.ui-lv-filters { margin: 0 1rem .75rem; }
.ui-lv-filters > .slds-section__content { padding-top: .75rem; }
.ui-lv-bulk { display: block; }
.ui-lv-bulk > .slds-checkbox { margin-bottom: .25rem; }
.ui-lv-bulk .ui-form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0 .75rem; align-items: end; }
.ui-lv-bulk .ui-form-grid .slds-select, .ui-lv-bulk .ui-form-grid .slds-input { width: 100%; }
.ui-lv-bulk .ui-form-grid .ui-form-actions { grid-column: 1 / -1; margin-bottom: .5rem; }
.slds-page-header__title .slds-dropdown-trigger { margin-left: 4px; }
[hidden] { display: none !important; }

/* ---------- record page (lead) ---------- */
.ui-record { display: flex; flex-direction: column; gap: 12px; }
.ui-record #top { display: flex; flex-direction: column; gap: 12px; }
.ui-record .slds-page-header__name-label .slds-badge { font-size: 11px; padding: 0 .375rem; }
.ui-record .slds-page-header__meta-text .slds-dropdown-trigger > summary { color: var(--ui-brand); display: inline-flex; align-items: center; gap: 2px; }
.ui-record .rec-acts { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; }
.ui-record .rec-acts > .pf-why, .ui-record .rec-acts > .off-line, .ui-record .pf-msg { flex-basis: 100%; text-align: right; font-size: 12px; color: var(--ui-text-meta); }
.ui-path-form { margin: 0; }
.ui-path-more { margin-top: -6px; padding: 0 1rem; }
.lead-panes.js > .lead-pane:not(.on) { display: none; }
.lead-pane { padding-bottom: .75rem; }
.lead-pane > .ui-tab-cards { padding-top: .5rem; }
.lead-pane > .slds-card { margin: .75rem 1rem 0; box-shadow: none; }
.ui-related { gap: 12px; }
.ui-kv td.ui-k { color: var(--ui-text-weak); font-size: 12px; width: 45%; }
.ui-kv thead { display: none; }
.ui-gap { margin: 0 0 .5rem; }
.ui-prog { height: 6px; background: var(--ui-border-light); border-radius: 3px; margin: 0 1rem .625rem; overflow: hidden; }
.ui-prog i { display: block; height: 100%; background: var(--ui-brand-btn); }
.ui-contact { padding: .25rem 0 .5rem; border-bottom: 1px solid var(--ui-border-light); margin-bottom: .5rem; }
.ui-contact:last-of-type { border-bottom: 0; }
.ui-contact-name { font-size: 14px; }
.ui-contact-field { margin-top: .625rem; }
.ui-contact-field .slds-form-element__label { padding: 0; margin: 0; }
.ui-contact-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14px; }
.ui-contact-line .slds-button_link { font-size: 12px; }
.ui-contact-legacy:empty { display: none; }
.ui-contact-legacy { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.ui-contact-act { margin-bottom: .5rem; }
.ui-contact-act .slds-input, .ui-contact-act .slds-select { width: auto; flex: 1 1 8rem; }
.ui-stopped { margin-bottom: .5rem; }
.ui-upload { margin-bottom: .75rem; }
.ui-inline-field { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ui-text-weak); }
.ui-inline-field .slds-input { width: 9rem; }
.ui-details .slds-section { margin: .75rem 0; }
.ui-summary { padding-top: .5rem; }
.ui-record-tabs > .slds-tabs_default { padding-top: 2px; }
.ui-tl-wrap:not(.all) .ui-tl-late { display: none; }
.ui-record .ui-composer .cmp-text { font-size: 13px; }
.ui-record .b1-choice { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .5rem .75rem; margin: 0 0 .5rem; }
.ui-record .b1-choice legend { font-size: 12px; color: var(--ui-text-weak); padding: 0 4px; }
.ui-record .b1-choice .radio { display: flex; gap: 6px; align-items: center; margin: 2px 0; }
.ui-m-acts { display: contents; }
@media (max-width: 640px) {
  .ui-record { gap: 8px; }
  .ui-record #top { gap: 8px; }
  .ui-record-grid > .ui-col { display: contents; }
  .ui-record-grid { gap: 8px; }
  .ui-record-grid .ui-contact-card { order: 0; }
  .ui-record-grid .ui-record-tabs { order: 1; }
  .ui-record-grid .ui-related > .slds-card:not(.ui-contact-card) { order: 2; display: none; }
  .ui-record:has(.lead-pane[data-pane="related"].on) .ui-related > .slds-card:not(.ui-contact-card) { display: block; }
  .ui-record:has(.lead-pane[data-pane="related"].on) .ui-related > .ui-contact-card { order: 2; }
  .lead-pane > .slds-card { margin: .5rem 0 0; }
  .ui-path-more { padding: 0 .75rem; }
  .ui-record .rec-acts > .pf-why { text-align: left; }
}
.ui-pager label { display: inline-flex; gap: 4px; align-items: center; }
.slds-select.slds-input_small { padding-right: 1.75rem; }
.tl.ui-tl-wrap { padding: 0; margin: 0; }
/* the composer starts as its buttons (Lightning's activity composer); a button opens its form */
@media (max-width: 640px) {
  .ui-tl-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .ui-tl-filters::-webkit-scrollbar { display: none; }
}
@media (max-width: 640px) {
  .ui-page-grid { align-items: stretch; }
  .ui-tl-filters { min-width: 0; width: 100%; }
  .ui-mobile-actions .slds-dropdown { max-width: calc(100vw - 16px); }
}
.ui-bell .pop-sheet { max-width: calc(100vw - 16px); }
@media (max-width: 640px) { .ui-bell .d2-bell[open] .pop-sheet { position: fixed; left: 8px; right: 8px; top: calc(56px + env(safe-area-inset-top)); width: auto; max-width: none; } }

/* ---------- Wave H integration (10/15): the new pieces on converted screens ---------- */
.ui-msg[hidden] { display: none; }
/* Sign-in pages: the passkey button and the second choice under the main button */
.ui-auth-alt { margin-top: .75rem; display: grid; gap: .5rem; }
.ui-auth-alt .ui-msg { margin: 0; }
.ui-auth-card .slds-button_stretch, .ui-auth-card .ui-auth-alt .slds-button { min-height: 2.5rem; }
.ui-auth-card [data-passkey-add] { width: 100%; min-height: 2.5rem; margin-top: .5rem; }
.ui-auth-card form.ui-auth-alt { margin-top: .5rem; }
/* Global search listbox: Recent records (object icon, title, meta line), past searches, Clear */
.ui-search .live-results a.lr-rec { flex-direction: row; align-items: center; gap: .75rem; min-height: 2.75rem; }
.ui-search .live-results a.lr-rec > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.ui-search .live-results a.lr-rec b { font-weight: 400; color: var(--ui-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-search .live-results a.lr-rec .muted { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-search .live-results .lr-ic { width: 1.5rem; height: 1.5rem; }
.ui-search .live-results .lr-ic-plain { width: 1rem; height: 1rem; margin: 0 .25rem; fill: var(--ui-icon); }
.ui-search .live-results .lr-head { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--ui-border-light); margin-top: .25rem; padding-top: .5rem; }
.ui-search .live-results .lr-head:first-child { border-top: 0; margin-top: 0; padding-top: .375rem; }
.ui-search .live-results .lr-clear { border: 0; background: none; padding: 0; font: inherit; font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ui-brand); cursor: pointer; }
.ui-search .live-results .lr-clear:hover { text-decoration: underline; }
.ui-search .live-results .lr-empty { padding: .5rem .75rem; color: var(--ui-text-meta); font-size: 12px; }
/* Your account: passkey names edit in place; phone-alert devices */
.h-pk-name .slds-input { width: min(14rem, 100%); }
.ui-dev-meta { display: block; color: var(--ui-text-meta); font-size: 12px; margin-top: 2px; white-space: normal; }
.ui-dev-err { display: block; color: var(--ui-error); font-size: 12px; margin-top: 2px; white-space: normal; }
.ui-dev-kinds { margin-top: .25rem; }
.ui-dev-kinds .slds-checkbox { display: flex; padding: .125rem 0; }
.ui-dev-kinds form > .slds-button { margin-top: .5rem; }
.ui-push-state { color: var(--ui-text-meta); margin: .25rem 0 .5rem; }
.ui-push-btns { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.ui-push-btns [hidden] { display: none; }
.ui-push-intro { color: var(--ui-text-weak); margin-bottom: .25rem; }
.ui-push-devices .slds-table td { vertical-align: top; }
@media (max-width: 640px) {
  .h-pk-name { flex-wrap: wrap; }
  .h-pk-name .slds-input { width: 100%; }
  .ui-search .live-results a.lr-rec { min-height: 3rem; }
}
.ui-push-devices > li { padding: .5rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-push-devices > li:last-child { border-bottom: 0; }
.ui-dev-row { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: flex-start; justify-content: space-between; }
.ui-dev-main { min-width: 0; flex: 1 1 16rem; }
.ui-dev-name { font-weight: 700; margin-right: .25rem; }
.ui-dev-main .slds-badge[hidden] { display: none; }
/* Task editor pages: the error line keeps its old class (err-line) and looks like Lightning's error message */
.ui p.err-line { margin: 0 0 12px; padding: .5rem .75rem; border-radius: var(--ui-radius); font-size: 13px; color: var(--ui-error); background: var(--ui-error-soft); }
.ui-te-foot { justify-content: flex-end; margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--ui-border-light); }
.ui-te-form .ui-form-actions { margin-top: .75rem; }
.ui-stack.ui-narrow .te-full { max-width: none; }
/* A link to a part of the page (#look, #push, #tasks, #add-task) stops below the sticky header and navigation bar */
.ui main [id] { scroll-margin-top: calc(100px + env(safe-area-inset-top)); }
@media (max-width: 640px) { .ui main [id] { scroll-margin-top: calc(64px + env(safe-area-inset-top)); } }
/* The legacy layer's .pw-show centring (top 50% + translate) must not leak into the Lightning password field */
.ui-pw .pw-show { transform: none; min-height: 0; }
/* The legacy layer hides the old frame's .search form on phones; the Lightning search box opens with the search icon */
.slds-global-header .ui-search { display: block; height: auto; padding: 0; border: 0; border-radius: 0; background: none; flex: none; gap: 0; color: inherit; top: auto; }

/* === Rollout A (deals, money, houses, buyers, dispo) === */
/* Deals, money, houses, buyers, dispo. Only ui-ra-* helpers and Lightning classes; every colour is a token, so light
   and dark both follow the token blocks at the top. Kanban, calendar and the compact label/value rows are local
   helpers (listed for the planner in mockups\WAVEH-ROLL-A-NOTES.md). */
.ui-ra-views > .slds-tabs_default { margin-top: 2px; }
.ui-ra-gap { margin-top: .5rem; }
.ui-ra-fieldrow { margin-top: .75rem; }
.ui-hl-value a.ui-ra-on { font-weight: 700; text-decoration: underline; }
.slds-table tr.ui-ra-total > td { border-top: 1px solid var(--ui-border); background: var(--ui-surface-alt); }
.ui-ra-why { margin: 0; padding-left: 1rem !important; list-style: disc !important; }
.ui-ra-why li + li { margin-top: 2px; }
.ui-ra-pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.ui-ra-subh { font-size: 12px; font-weight: 700; color: var(--ui-text-weak); margin: .5rem 0 .25rem; }
/* Kanban (Lightning's opportunity board): grey columns, white tiles */
.ui-ra-kanban { display: flex; gap: .75rem; padding: .75rem 1rem 1rem; overflow-x: auto; align-items: flex-start; }
.ui-ra-kcol { flex: 1 0 14rem; min-width: 14rem; background: var(--ui-surface-alt); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); }
.ui-ra-kcol-h { display: flex; gap: 4px; align-items: baseline; padding: .5rem .75rem; font-size: 14px; font-weight: 700; border-bottom: 1px solid var(--ui-border-light); }
.ui-ra-kcol-h a { color: var(--ui-text); }
.ui-ra-kcol-b { display: flex; flex-direction: column; gap: .5rem; padding: .5rem; min-height: 3rem; max-height: 75vh; overflow-y: auto; }
.ui-ra-kcol-b > .ui-empty { padding: .25rem; }
.ui-ra-tile { display: block; padding: .625rem .75rem; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
.ui-ra-tile.is-hot { border-left: 3px solid var(--ui-error); }
.ui-ra-tile-t { font-weight: 700; font-size: 13px; overflow-wrap: anywhere; }
.ui-ra-tile-sub { font-size: 12px; color: var(--ui-text-meta); margin-bottom: .375rem; }
.ui-ra-tile-f { display: grid; grid-template-columns: auto 1fr; gap: 2px .75rem; margin: 0; font-size: 12px; }
.ui-ra-tile-f dt { color: var(--ui-text-weak); }
.ui-ra-tile-f dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.ui-ra-tile .ui-ra-bar { margin-top: .375rem; }
.ui-ra-tile-foot { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; justify-content: space-between; margin-top: .5rem; padding-top: .375rem; border-top: 1px solid var(--ui-border-light); font-size: 12px; color: var(--ui-text-weak); }
.ui-ra-tile-who { display: inline-flex; gap: 2px; }
/* phone list of stages (Lightning mobile list) */
.ui-ra-stagelist > li > a { display: flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 .75rem; border-bottom: 1px solid var(--ui-border-light); color: var(--ui-text); }
.ui-ra-stagelist > li > a > span:first-child { flex: 1; }
.ui-ra-stagelist > li > a.is-empty { color: var(--ui-text-meta); }
.ui-ra-stagelist .ui-g { width: .75rem; height: .75rem; fill: var(--ui-icon); }
/* closing calendar (month grid on computers, a dated list on phones) */
.ui-ra-months { padding: .75rem 1rem 1rem; display: flex; flex-direction: column; gap: 1rem; }
.ui-ra-month-h { font-size: 16px; font-weight: 700; margin-bottom: .5rem; }
.ui-ra-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--ui-border-light); border-left: 1px solid var(--ui-border-light); }
.ui-ra-wd { padding: .375rem .5rem; font-size: 12px; font-weight: 700; color: var(--ui-text-weak); background: var(--ui-surface-alt); border-right: 1px solid var(--ui-border-light); border-bottom: 1px solid var(--ui-border); }
.ui-ra-day { min-height: 6rem; padding: .25rem .375rem .375rem; border-right: 1px solid var(--ui-border-light); border-bottom: 1px solid var(--ui-border-light); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ui-ra-day.is-blank { background: var(--ui-surface-alt); }
.ui-ra-day.is-today { background: var(--ui-sel); }
.ui-ra-dnum { font-size: 12px; color: var(--ui-text-weak); }
.ui-ra-day.is-today .ui-ra-dnum { color: var(--ui-brand); font-weight: 700; }
.ui-ra-ev { display: block; padding: 2px 6px; border-left: 3px solid var(--ui-ic-event); border-radius: 2px; background: var(--ui-surface-alt); color: var(--ui-text); font-size: 12px; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-ra-ev:hover { text-decoration: none; background: var(--ui-tint); color: var(--ui-text); }
.ui-ra-ev.is-close { border-left-color: var(--ui-path-done); }
.ui-ra-ev.is-late { border-left-color: var(--ui-error); }
.ui-ra-ev b { font-weight: 700; }
/* lists inside cards (documents, contacts, buyers on a deal, rules) */
.ui-ra-list > li { display: flex; gap: .5rem 1rem; align-items: flex-start; justify-content: space-between; padding: .5rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-ra-list > li:last-child { border-bottom: 0; }
.ui-ra-li-main { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; overflow-wrap: anywhere; }
.ui-ra-li-main > details, .ui-ra-li-main > .ui-ra-meta, .ui-ra-li-main > .ui-ra-papers, .ui-ra-li-main > .ui-ra-comment, .ui-ra-li-main > .ui-ra-why { flex-basis: 100%; }
.ui-ra-k { font-size: 12px; color: var(--ui-text-weak); }
.ui-ra-meta { display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 12px; color: var(--ui-text-weak); }
.ui-ra-comment { font-size: 12px; padding: .375rem .5rem; border-left: 2px solid var(--ui-border); background: var(--ui-surface-alt); }
.ui-ra-plain > li { padding: 2px 0; }
/* the deal card */
.ui-ra-deal .slds-section { margin: .75rem 0 0; }
.ui-ra-outcome { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: .5rem; }
.ui-ra-daterow { display: flex; flex-wrap: wrap; gap: 0 .75rem; align-items: flex-end; }
.ui-ra-daterow > .slds-form-element { flex: 1 1 10rem; }
.ui-ra-daterow > .slds-checkbox { margin-bottom: .875rem; }
.ui-ra-docacts { gap: .5rem; padding: .5rem 0; }
.ui-ra-docact .slds-input, .ui-ra-docact .slds-select { width: auto; flex: 1 1 10rem; }
.ui-ra-close { display: flex; flex-direction: column; gap: .25rem; margin-top: .75rem; padding-top: .5rem; border-top: 1px solid var(--ui-border-light); }
.ui-tab-cards > .slds-card, .ui-tab-cards > div > .slds-card { box-shadow: none; }
#money > .slds-card + .slds-card, .ui-tab-cards > .slds-card + .slds-card { margin-top: 12px; }
.ui-ra-boxpage > .slds-card { margin: 0; }
/* compact label / value rows in side cards */
.ui-ra-kv { display: flex; justify-content: space-between; gap: .75rem; padding: .375rem 0; border-bottom: 1px solid var(--ui-border-light); font-size: 13px; }
.ui-ra-kv:last-child { border-bottom: 0; }
.ui-ra-kv-k { color: var(--ui-text-weak); min-width: 0; overflow-wrap: anywhere; }
.ui-ra-kv-v { text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ui-ra-kv-total { border-top: 1px solid var(--ui-border); }
.ui-ra-kvgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 1.5rem; margin-bottom: .5rem; }
.ui-ra-kvgrid > .ui-ra-kv:last-child { border-bottom: 1px solid var(--ui-border-light); }
/* money: the statement and the edit rows */
.ui-ra-is { align-self: center; font-variant-numeric: tabular-nums; color: var(--ui-text-weak); padding-top: .75rem; }
.ui-ra-editform { display: flex; flex-direction: column; }
.ui-ra-editrow { display: grid; grid-template-columns: minmax(8rem, 2fr) minmax(7rem, 1.4fr) minmax(5rem, 1fr) minmax(4rem, .8fr) minmax(8rem, 1.2fr) auto; gap: 0 .75rem; align-items: end; padding: .375rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-ra-editrow-4 { grid-template-columns: minmax(8rem, 2fr) minmax(5rem, 1fr) minmax(8rem, 1.2fr) auto; }
.ui-ra-editrow-3 { grid-template-columns: minmax(8rem, 2fr) auto auto; }
.ui-ra-editrow > .slds-checkbox, .ui-ra-editrow > .slds-radio { margin-bottom: .875rem; }
.ui-ra-formfoot { justify-content: flex-end; margin-top: .75rem; }
.ui-ra-bar { display: block; height: 6px; min-width: 4rem; border-radius: 3px; background: var(--ui-border-light); overflow: hidden; }
.ui-ra-bar > i { display: block; height: 100%; background: var(--ui-brand-btn); }
.ui-ra-barcol { width: 22%; }
/* company money */
.ui-ra-monthbar { gap: .5rem 1rem; }
.ui-ra-monthbar .slds-input_small { width: 9rem; }
.ui-ra-linehead { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; margin-bottom: .25rem; }
.ui-ra-linehead b { flex: 1 1 12rem; overflow-wrap: anywhere; }
.ui-ra-amt { font-variant-numeric: tabular-nums; font-weight: 700; }
.ui-ra-list > li.ui-ra-sortline, .ui-ra-list > li > .ui-ra-sortline { display: block; width: 100%; }
.ui-ra-sort { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 0 .75rem; align-items: end; }
.ui-ra-sort > .ui-form-actions { margin-bottom: .5rem; }
.ui-ra-catrow { flex-wrap: nowrap; }
.ui-ra-catrow .slds-input { flex: 1; min-width: 0; }
.ui-ra-file { padding: .25rem .5rem; line-height: 1.5; }
.ui-ra-file::file-selector-button { margin-right: .75rem; padding: .25rem .75rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface); color: var(--ui-brand); font: inherit; cursor: pointer; }
/* property record page: tabs card holding the tab's cards */
.ui-ra-tabcard > .slds-tabs_default { padding-top: 2px; }
.ui-ra-pane { padding: 0 0 .75rem; }
.ui-ra-pane > .slds-card { margin: .75rem 1rem 0; box-shadow: none; }
/* assignment deadlines */
.ui-ra-cardlist { display: flex; flex-direction: column; gap: .75rem; padding: .75rem 1rem 1rem; }
.ui-ra-cardlist > .slds-card { box-shadow: none; }
.ui-ra-stcols { display: grid; grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); gap: .5rem; margin: .25rem 0 .5rem; }
.ui-ra-stcol { padding: .375rem .5rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface-alt); font-size: 12px; min-width: 0; }
.ui-ra-stcol .ui-ra-subh { margin-top: 0; }
.ui-ra-stcol.is-empty { color: var(--ui-text-meta); }
.ui-ra-stcol li { padding: 2px 0; overflow-wrap: anywhere; }
/* papers, website, publish preview */
.ui-ra-filelist > li, .ui-ra-file-li { display: flex; gap: .5rem; align-items: flex-start; padding: .25rem 0; }
.ui-ra-file-li > .ui-g { width: 1rem; height: 1rem; fill: var(--ui-ic-file); margin-top: 2px; }
.ui-ra-addpaper .ui-ra-file { flex: 1 1 12rem; width: auto; }
.ui-ra-addpaper .slds-select { width: auto; }
.ui-ra-web { margin-top: .75rem; }
.ui-ra-copy { font-family: ui-monospace, Consolas, monospace; font-size: 12px; }
.ui-ra-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); gap: 6px; margin-bottom: .75rem; }
.ui-ra-ph { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--ui-radius); background: var(--ui-surface-alt); border: 1px solid var(--ui-border-light); }
.ui-ra-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ui-ra-noph { display: flex; align-items: center; justify-content: center; }
.ui-ra-noph .ui-g { width: 2rem; height: 2rem; fill: var(--ui-icon-weak); }
.ui-ra-site-t { font-size: 18px; font-weight: 700; margin-bottom: 2px; }
.ui-ra-site-f { margin: .75rem 0; }
.ui-ra-blank { background: var(--ui-warning-soft); color: var(--ui-warning); padding: 0 2px; border-radius: 2px; }
/* buyers list */
.ui-ra-bsearch .slds-input { width: 16rem; }
.ui-ra-quick, .ui-ra-chips { padding-top: 0; padding-bottom: .5rem; }
.slds-pill_container .slds-pill.is-on, .ui-ra-quick .slds-pill.is-on { border-color: var(--ui-brand); color: var(--ui-brand); font-weight: 700; }
.ui-ra-bfilter .ui-lv-filters .ui-form-grid { margin-top: .5rem; }
.ui-ra-tagbox { max-height: 18rem; overflow: auto; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); margin-top: .5rem; }
.ui-ra-tagfind { margin-top: .5rem; max-width: 20rem; }
.ui-ra-bulk { display: block; }
.ui-ra-fieldset { border: 0; padding: 0; margin: 0 0 .5rem; min-width: 0; display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.ui-ra-fieldset > legend { width: 100%; padding: 0; }
.ui-ra-email { overflow-wrap: anywhere; }
.ui-ra-buyers td { vertical-align: top; }
/* buyer page */
.ui-ra-pof { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; padding: .5rem 0; border-top: 1px solid var(--ui-border-light); margin-top: .25rem; }
.ui-ra-pof > details { flex-basis: 100%; }
.ui-ra-composer { padding-bottom: .5rem; margin-bottom: .5rem; border-bottom: 1px solid var(--ui-border-light); }
.ui-ra-dupes ul { margin-top: .25rem; }
.ui-ra-buyer .call-link { display: inline-flex; align-items: center; gap: 4px; }
.ui-ra-buyer .call-link .ui-g { width: .875rem; height: .875rem; fill: var(--ui-icon); }
/* dispo card */
.ui-ra-counts { margin: 0 0 .5rem; }
.ui-ra-best { margin: 0 0 .25rem; }
.ui-ra-brow.has-check { position: relative; padding-left: 1.75rem; }
.ui-ra-rowcheck { position: absolute; left: 0; top: .625rem; }
.ui-ra-pick { position: relative; }
.ui-ra-pick .live-results { position: absolute; z-index: 45; left: 0; right: 0; top: 100%; max-height: 50vh; overflow: auto; padding: .25rem 0; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); }
.ui-ra-pick .live-results a { display: flex; flex-direction: column; padding: .375rem .75rem; color: var(--ui-text); }
.ui-ra-pick .live-results a .muted { font-size: 12px; color: var(--ui-text-meta); }
.ui-ra-pick .live-results a:hover, .ui-ra-pick .live-results a.sel { background: var(--ui-surface-alt); text-decoration: none; }
.ui-ra-sugform { margin: .5rem 0; padding: .5rem .75rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface-alt); }
.ui-ra-sugacts { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .5rem 1rem; margin-top: .5rem; }
.ui-ra-sugacts .slds-input, .ui-ra-sugacts .slds-select { width: auto; flex: 1 1 6rem; min-width: 0; }
.ui-ra-photogrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr)); gap: 6px; width: 100%; }
.ui-ra-photo { position: relative; display: block; cursor: pointer; }
.ui-ra-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ui-radius); border: 1px solid var(--ui-border-light); display: block; }
.ui-ra-photo input { position: absolute; left: 6px; top: 6px; }
.ui-ra-code { font-family: ui-monospace, Consolas, monospace; font-size: 16px; letter-spacing: .1em; }
/* phone (390 px) */
@media (max-width: 640px) {
  .ui-ra-kanban-stack { flex-direction: column; overflow: visible; padding: .5rem .75rem .75rem; }
  .ui-ra-kanban-stack > .ui-ra-kcol { flex: none; width: 100%; min-width: 0; }
  .ui-ra-months { padding: .5rem 0 .75rem; }
  .ui-ra-month-h { padding: 0 .75rem; }
  .ui-ra-kvgrid { grid-template-columns: 1fr 1fr; }
  .ui-ra-editrow, .ui-ra-editrow-4, .ui-ra-editrow-3 { grid-template-columns: 1fr 1fr; }
  .ui-ra-editrow > .slds-form-element:first-of-type { grid-column: 1 / -1; }
  .ui-ra-is { padding-top: 0; }
  .ui-ra-pane > .slds-card { margin: .5rem 0 0; }
  .ui-ra-cardlist { padding: .5rem 0 .75rem; }
  .ui-ra-cardlist > .slds-card { border-left: 0; border-right: 0; }
  .ui-ra-bsearch { width: 100%; margin-left: 0; }
  .ui-ra-bsearch .slds-input { width: auto; flex: 1; min-width: 0; }
  .ui-ra-quick { flex-wrap: wrap; overflow: visible; }
  .ui-ra-monthbar .ui-lv-tools { margin-left: 0; }
  .ui-ra-docact .slds-input, .ui-ra-docact .slds-select { flex-basis: 100%; }
  .ui-ra-catrow { flex-wrap: wrap; }
  .ui-ra-sugacts { grid-template-columns: 1fr; }
  .ui-ra-barcol { display: none; }
  .ui-ra-tile-f dd { text-align: left; }
  .ui-ra-kanban-stack .ui-ra-kcol-b { max-height: none; }
  :is(.ui-ra-views, .ui-ra-buyers, .ui-ra-deal, .ui-ra-money, .ui-ra-prop, .ui-ra-buyer, .ui-ra-dispo, .ui-ra-mpage) .slds-table_stacked td:empty { display: none; }
}

/* === Rollout B (phones, inbox, calendar, follow-ups, after-call, alerts) === */
/* Shared bits for B's screens (ui-rb-*): small layout helpers, stacked lists, form groups */
.ui-rb-gap { margin-top: .5rem; }
.ui-rb-grow { flex: 1 1 12rem; min-width: 0; }
.ui-rb-short { width: 7rem !important; }
.ui-rb-inline { display: inline-flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ui-rb-status { margin: .25rem 0 .5rem; color: var(--ui-text-meta); font-size: 13px; }
.ui-rb-danger-link, .ui .ui-rb-danger-link { color: var(--ui-error); }
.ui-rb-act { white-space: nowrap; text-align: right; }
.ui-rb-act form { display: inline-flex; margin: 0 0 0 4px; }
.slds-table .ui-cell-btn { white-space: nowrap; text-align: right; }
.ui-pre, .ui-rb-quote { white-space: pre-wrap; overflow-wrap: anywhere; }
.ui-rb-quote { margin: .5rem 0; padding: .5rem .75rem; border-left: 3px solid var(--ui-border); background: var(--ui-surface-alt); border-radius: 0 var(--ui-radius) var(--ui-radius) 0; }
.ui-rb-note { margin: .5rem 0; padding: .5rem .75rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface-alt); white-space: pre-wrap; font-size: 13px; }
.ui-rb-lines { margin: 0; padding: 0; list-style: none; }
.ui-rb-lines > li { padding: .375rem 0; border-bottom: 1px solid var(--ui-border-light); display: flex; flex-wrap: wrap; gap: .25rem .5rem; align-items: center; }
.ui-rb-lines > li:last-child { border-bottom: 0; }
.ui-rb-merge { display: block; margin-top: .5rem; }
.ui-rb-merge code, .ui-rb-quote code { font-size: 12px; background: var(--ui-surface-alt); border-radius: 3px; padding: 0 3px; }
.ui-rb-checks { border: 0; padding: 0; margin: 0 0 .5rem; min-width: 0; }
.ui-rb-checks > legend { padding: 0; float: left; width: 100%; }
.ui-rb-checks > .slds-form-element__control, .ui-rb-checkrow { display: flex; flex-wrap: wrap; gap: .375rem 1.25rem; clear: both; }
.ui-rb-checks .slds-form-element__help { display: block; clear: both; }
.ui-rb-checkrow { margin: 0; }
.ui-rb-audio { display: block; width: 100%; max-width: 26rem; height: 36px; margin-top: .5rem; }
.ui-rb-file { padding: .375rem .5rem; line-height: 1.4; }
.ui-rb-email { overflow: auto; max-width: 100%; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: #fff; color: #181818; }
.ui-rb-pills { padding: .25rem 1rem .5rem; align-items: center; }
.slds-pill .slds-pill__remove .ui-g { width: .625rem; height: .625rem; fill: currentColor; }
.ui-page-grid.ui-rb-half { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ui-rb-two { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; }
.ui-rb-two.is-even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.slds-table tr.ui-done > td a, .slds-table tr.ui-done > td { color: var(--ui-text-meta); }
.slds-table tr.ui-rb-bad > td { color: var(--ui-error); }
.slds-table tr.is-off > td { color: var(--ui-text-meta); }
.slds-table .ui-rb-empty-row > th { font-weight: 400; background: var(--ui-surface); border-bottom: 1px solid var(--ui-border-light); padding-top: .375rem; }
.slds-text-heading_small { font-size: 14px; font-weight: 700; line-height: 1.25; margin: .25rem 0 .5rem; }
.slds-text-title_caps { font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--ui-text-weak); margin: .75rem 0 .5rem; }
.slds-text-title_caps:first-child { margin-top: 0; }
/* the inside of a card that a caller already wrapped in <article class="slds-card"> (appointments, follow-ups, scheduled texts, calls and alerts) */
.ui .c3-box, .ui .c3-todo, .ui .d3-box, .ui .f-sched, .ui .d3-boxpreview > .d3-box { padding: 0; margin: 0; border: 0; background: none; box-shadow: none; border-radius: 0; }
.ui-tab-cards > .slds-card { box-shadow: none; }
.lead-pane > .ui-tab-cards:has(> .slds-card) { padding: .75rem 1rem 0; }
/* related-list tiles (appointments, follow-ups, scheduled texts, search hits) */
.ui-rb-tiles { margin: 0; padding: 0; list-style: none; }
.ui-rb-tiles > .slds-tile { padding: .5rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-rb-tiles > .slds-tile:last-child { border-bottom: 0; }
.ui-rb-tile-h { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; justify-content: space-between; }
.ui-rb-tile-h > form { margin: 0; }
.ui-rb-tile-t { font-weight: 700; margin-top: 2px; }
.slds-tile__detail { font-size: 13px; }
.slds-tile.is-off { opacity: .65; }
.ui-rb-quick { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem .75rem; margin: .375rem 0 0; }
.slds-table .ui-rb-quick { margin: 0; justify-content: flex-end; }
.ui-rb-snip { margin-top: .25rem; font-size: 13px; color: var(--ui-text-weak); }
.ui-rb-snip mark, .ui-rb-tiles mark { background: var(--ui-warning-soft); color: var(--ui-text); border-radius: 2px; padding: 0 1px; }
.ui-rb-hits { margin-top: 12px; }
.ui-rb-person { padding: .5rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-rb-person:last-child { border-bottom: 0; }

/* Alerts: Lightning's notifications panel under the bell, and the full list */
.ui-bell .d2-bell { position: relative; }
.ui-bell .d2-bell > summary .ui-g { width: 1.25rem; height: 1.25rem; }
.ui-bell .ui-notif-panel { position: absolute; right: 0; left: auto; top: calc(100% + 6px); z-index: 45; width: 25rem; max-width: calc(100vw - 16px); max-height: min(70vh, 34rem); overflow: auto; display: block; min-width: 0;
  background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); color: var(--ui-text); padding: 0; }
.ui-notif-panel > .slds-popover__header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .625rem 1rem; border-bottom: 1px solid var(--ui-border-light); }
.ui-notif-panel > .slds-popover__header h2 { font-size: 16px; font-weight: 700; }
.ui-notif-panel > .slds-popover__header form { margin: 0; border: 0; }
.ui-notif-panel .slds-button_link { width: auto; padding: 0; font-weight: 400; display: inline-flex; }
.ui-notif-panel > .slds-popover__footer { border-top: 1px solid var(--ui-border-light); padding: .625rem 1rem; text-align: center; }
.ui-notif-panel > .slds-popover__footer a { display: inline; padding: 0; font-weight: 400; color: var(--ui-brand); }
.ui-notif-empty { padding: .75rem 1rem; }
.ui-notif-list { margin: 0; padding: 0; list-style: none; }
.ui-notif { position: relative; display: flex; gap: .75rem; align-items: flex-start; padding: .75rem 2rem .75rem 1rem; border-bottom: 1px solid var(--ui-border-light); }
.ui-notif:last-child { border-bottom: 0; }
.ui-notif.is-unread { background: var(--ui-sel); }
.ui-notif-ic { flex: none; padding-top: 2px; }
.ui-notif-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; color: var(--ui-text); text-decoration: none; padding: 0 !important; font-weight: 400 !important; }
.ui-notif-body:hover { text-decoration: none; }
.ui-notif-body:hover .ui-notif-title { text-decoration: underline; }
.ui-notif-title { font-size: 13px; overflow-wrap: anywhere; }
.ui-notif.is-unread .ui-notif-title { font-weight: 700; }
.ui-notif-detail { font-size: 12px; color: var(--ui-text-weak); overflow-wrap: anywhere; }
.ui-notif-when { font-size: 12px; color: var(--ui-text-meta); }
.ui-notif-dot { position: absolute; right: 1rem; top: 1.1rem; width: 8px; height: 8px; border-radius: 50%; background: var(--ui-brand-accent); }
.ui-notif-page .ui-notif { padding-left: 1rem; }

/* Calendar: grouped agenda, the red "now" line, the datepicker-style month */
.slds-table .ui-cal-today > th { color: var(--ui-brand); }
.slds-table .ui-cal-now > th { padding: 0 !important; height: 0; border-bottom: 2px solid var(--ui-error); background: none; }
.ui-cal-pick { display: inline-flex; gap: 4px; align-items: center; margin: 0; }
.ui-cal-pick .slds-select { width: auto; min-height: 1.75rem; line-height: 1.625rem; font-size: 12px; }
html.d2-js .d2-nojs { display: none !important; }
.ui-cal-show > div { margin-bottom: .375rem; }
.ui-cal-find { display: flex; gap: .5rem; align-items: flex-end; flex-wrap: wrap; margin-bottom: .75rem; }
.ui-cal-find > .slds-form-element { flex: 1 1 14rem; margin: 0; }
.slds-datepicker { padding: 0 .25rem; }
.slds-datepicker__month { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; text-align: center; }
.slds-datepicker__month th { color: var(--ui-text-meta); font-weight: 400; padding: .25rem 0; }
.slds-datepicker__month td { padding: 1px 0; }
.slds-datepicker .slds-day { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; color: var(--ui-text); text-decoration: none; }
.slds-datepicker .slds-day:hover { background: var(--ui-surface-alt); text-decoration: none; }
.slds-datepicker .slds-day_adjacent-month .slds-day { color: var(--ui-icon-weak); }
.slds-datepicker .ui-has .slds-day { font-weight: 700; }
.slds-datepicker .ui-has .slds-day::after, .slds-datepicker .ui-late .slds-day::after { content: ""; position: absolute; bottom: 3px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--ui-brand); }
.slds-datepicker .ui-late .slds-day::after { background: var(--ui-error); }
.slds-datepicker .slds-is-today .slds-day { box-shadow: inset 0 0 0 1px var(--ui-brand); }
.slds-datepicker .slds-is-selected .slds-day { background: var(--ui-brand-btn); color: var(--ui-on-accent); }
.slds-datepicker .slds-is-selected .slds-day::after { background: var(--ui-on-accent); }

/* Booking fields inside the lead's Log a Call (shown when the result is Appointment set) */
.ui .c3-callbook { display: none; grid-column: 1 / -1; margin: 0 0 .5rem; padding: .75rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface-alt); min-width: 0; }
.ui .cmp-call:has(select[name="result"] option[value="Appointment set"]:checked) .c3-callbook, .ui .c3-callbook.c3-show { display: block; }
.ui .c3-callbook > legend { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--ui-text); padding: 0 4px; font-size: 13px; }
.ui .c3-callbook > legend .ui-g { width: .875rem; height: .875rem; fill: var(--ui-icon); }

/* Texting: the thread as Lightning's chat list; the inbox as a feed */
.slds-chat-list { display: flex; flex-direction: column; gap: .5rem; margin: 0 0 .75rem; padding: 0; list-style: none; max-height: 32rem; overflow-y: auto; }
.slds-chat-listitem { display: flex; flex-direction: column; max-width: min(85%, 34rem); margin: 0; padding: 0; background: none; border: 0; }
.slds-chat-listitem_inbound { align-self: flex-start; align-items: flex-start; }
.slds-chat-listitem_outbound { align-self: flex-end; align-items: flex-end; }
.slds-chat-listitem_event { align-self: center; align-items: center; max-width: 100%; text-align: center; color: var(--ui-text-weak); font-size: 12px; gap: 4px; }
.slds-chat-message__text { padding: .5rem .75rem; border-radius: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.4; }
.slds-chat-listitem_inbound .slds-chat-message__text { background: var(--ui-surface-alt); color: var(--ui-text); border-bottom-left-radius: 2px; }
.slds-chat-listitem_outbound .slds-chat-message__text { background: var(--ui-brand-btn); color: var(--ui-on-accent); border-bottom-right-radius: 2px; }
.slds-chat-message__meta { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin-top: 2px; font-size: 11px; color: var(--ui-text-meta); }
.slds-chat-listitem .f-why { font-size: 12px; margin-top: 2px; }
.ui-rb-event { display: inline-flex; align-items: center; gap: 6px; }
.ui-rb-event .ui-g, .ui-rb-feed-last .ui-g { width: .875rem; height: .875rem; fill: var(--ui-icon); flex: none; }
.slds-chat-listitem_event audio { height: 32px; max-width: 100%; }
.ui-rb-feed { margin: 0; padding: 0; list-style: none; }
.ui-rb-feed > li { border-top: 1px solid var(--ui-border-light); }
.ui-rb-feed > li > a { padding: .75rem 1rem; color: var(--ui-text); align-items: flex-start; }
.ui-rb-feed > li > a:hover { background: var(--ui-surface-alt); text-decoration: none; color: var(--ui-text); }
.ui-rb-feed .slds-media__body { display: flex; flex-direction: column; gap: 2px; }
.ui-rb-feed-top { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.ui-rb-feed-top time { margin-left: auto; }
.ui-rb-feed-last { display: flex; gap: 6px; align-items: center; color: var(--ui-text-weak); min-width: 0; }
.ui-rb-feed-last > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-rb-feed > li.is-unread .ui-rb-feed-last { color: var(--ui-text); font-weight: 600; }
.ui .f-send textarea { width: 100%; }
.ui .f-pick { margin-left: .5rem; font-weight: 400; }
.ui .f-picker > summary { list-style: none; cursor: pointer; margin: .125rem 0 .375rem; }
.ui .f-picker > summary::-webkit-details-marker { display: none; }
.ui .f-toast { position: fixed; left: 50%; bottom: 56px; transform: translateX(-50%); z-index: 60; max-width: calc(100vw - 32px); padding: .5rem 1rem; border-radius: var(--ui-radius); background: var(--ui-text-weak); color: var(--ui-surface); font-size: 13px; box-shadow: var(--ui-shadow-menu); }

/* Follow-ups: the on/off toggle, the step list, the step form */
.ui-rb-toggle { display: inline-flex; align-items: center; gap: .5rem; padding: 0; border: 0; background: none; color: var(--ui-text-weak); font: inherit; font-size: 12px; cursor: pointer; min-height: 2rem; }
.ui-rb-faux { position: relative; display: inline-block; width: 3rem; height: 1.5rem; border-radius: 15rem; background: var(--ui-icon-weak); border: 1px solid transparent; transition: background .15s; flex: none; }
.ui-rb-faux::after { content: ""; position: absolute; top: 2px; left: 2px; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .3); transition: transform .15s; }
.ui-rb-toggle.is-on .ui-rb-faux { background: var(--ui-brand-btn); }
.ui-rb-toggle.is-on .ui-rb-faux::after { transform: translateX(1.5rem); }
.ui-rb-toggle.is-on { color: var(--ui-text); }
.ui-rb-steps { margin: .75rem 0; padding: 0; list-style: none; }
.ui-rb-step { display: flex; align-items: center; gap: .75rem; padding: .625rem .75rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface); }
.ui-rb-step.is-off { opacity: .7; }
.ui-rb-no { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--ui-surface-alt); border: 1px solid var(--ui-border); font-size: 12px; font-weight: 700; flex: none; }
.ui-rb-step-what { display: flex; flex-direction: column; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ui-rb-wait { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; padding: .375rem 0 .375rem 1.5rem; margin-left: 1.25rem; border-left: 2px dashed var(--ui-border); font-size: 12px; color: var(--ui-text-meta); }
.ui-rb-wait.end { border-left: 0; margin-left: 0; padding-left: 0; margin-top: .5rem; }
.ui-rb-stepform { padding: .75rem; border: 1px solid var(--ui-brand-accent); border-radius: var(--ui-radius); background: var(--ui-surface); }
.ui-rb-formhead { font-size: 14px; font-weight: 700; margin-bottom: .5rem; }
.ui .d3-formrow { list-style: none; margin: .5rem 0; }

/* After-call pop-up: Lightning's modal over a backdrop, the results as big buttons */
.ui .slds-backdrop.d1-scrim { position: fixed; inset: 0; z-index: 9000; background: var(--ui-backdrop); }
.ui .ui-rb-d1 { position: fixed; inset: 0; z-index: 9001; margin: auto; width: min(42rem, calc(100% - 2rem)); height: fit-content; max-height: calc(100% - 3rem); overflow: auto; padding: 0;
  background: var(--ui-surface); color: var(--ui-text); border: 0; border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-modal); outline: 0; transform: none; }
.ui .ui-rb-d1 > form { display: flex; flex-direction: column; margin: 0; }
.ui .ui-rb-d1 .slds-modal__header { padding: 1rem 1.25rem .75rem; text-align: left; border-bottom: 2px solid var(--ui-border-light); border-radius: var(--ui-radius) var(--ui-radius) 0 0; }
.ui .ui-rb-d1 .slds-modal__title { font-size: 18px; font-weight: 700; line-height: 1.3; margin: 2px 0; }
.ui .ui-rb-d1 .slds-modal__content { padding: 1rem 1.25rem; overflow: visible; }
.ui .ui-rb-d1 .slds-modal__footer { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .75rem 1.25rem; border-radius: 0 0 var(--ui-radius) var(--ui-radius); }
.ui .ui-rb-d1 .slds-modal__footer[hidden], .ui .ui-rb-d1 .slds-modal__content[hidden] { display: none; }
.ui .ui-rb-picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-bottom: .5rem; }
.ui .ui-rb-pick { min-height: 3rem; white-space: normal; line-height: 1.25; padding: .5rem .75rem; color: var(--ui-text); font-weight: 600; }
.ui .ui-rb-pick:hover { border-color: var(--ui-brand); color: var(--ui-brand); }
.ui .ui-rb-pick.on { border-color: var(--ui-brand); background: var(--ui-tint); color: var(--ui-brand); box-shadow: inset 0 0 0 1px var(--ui-brand); }
.ui .ui-rb-chosen { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; padding-bottom: .5rem; border-bottom: 1px solid var(--ui-border-light); }
.ui .ui-rb-chosen b { font-size: 15px; }
.ui .ui-rb-d1-next, .ui .ui-rb-d1-tasks { border: 0; padding: 0; margin: 0 0 .75rem; min-width: 0; }
.ui .ui-rb-d1-tasks.off [data-te] { opacity: .55; }
.ui .ui-rb-d1-tasks .te-extra { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .5rem .75rem; margin: .5rem 0; }
.ui .ui-rb-d1-tasks .te-extra-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .25rem; }
.ui .ui-rb-d1-tasks .d1-taskon { margin-bottom: .5rem; }
.ui .ui-rb-segs { display: inline-flex; margin: 0 0 .75rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); overflow: hidden; }
.ui .ui-rb-segs > .slds-radio_button { display: inline-flex; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.ui .ui-rb-segs > .slds-radio_button + .slds-radio_button { border-left: 1px solid var(--ui-border); }
.ui .ui-rb-segs input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ui .ui-rb-segs .slds-radio_button__label { display: inline-flex; align-items: center; padding: 0 1rem; min-height: 2rem; color: var(--ui-brand); background: var(--ui-surface); font-size: 13px; }
.ui .ui-rb-segs .slds-radio_button.on .slds-radio_button__label { background: var(--ui-brand-btn); color: var(--ui-on-accent); }
.ui .ui-rb-segs input:focus-visible + .slds-radio_button__label { box-shadow: inset 0 0 0 2px var(--ui-brand-accent); }
.ui .ui-rb-d1 .d1-sub { margin: 0 0 .5rem; }
.ui .ui-rb-d1 .d1-reason { margin: 0 0 .5rem; }
.ui .ui-rb-toast { position: fixed; top: 64px; left: 50%; transform: translateX(-50%); z-index: 9002; margin: 0; max-width: calc(100vw - 32px); box-shadow: var(--ui-shadow-menu); }
body.ui.d1-open { overflow: hidden; }

/* The softphone: Lightning's utility-bar panel (header bar, body), docked above the utility bar */
.ui .ui-rb-softphone { position: fixed; right: 1rem; left: auto; bottom: 48px; z-index: 40; width: 21rem; max-width: calc(100vw - 16px); margin: 0; padding: 0;
  background: var(--ui-surface); color: var(--ui-text); border: 1px solid var(--ui-border); border-radius: var(--ui-radius) var(--ui-radius) 0 0; box-shadow: var(--ui-shadow-menu); font-size: 13px; }
.ui .ui-rb-softphone:not([hidden]) { display: flex; flex-direction: column; }
.ui .ui-rb-softphone[hidden] { display: none; }
.ui .ui-rb-softphone .pw-bar { order: 0; }
.ui .ui-rb-softphone .pw-panel { order: 1; }
.ui .ui-rb-softphone .pw-bar { display: flex; align-items: center; gap: .5rem; width: 100%; min-height: 2.5rem; padding: 0 .75rem; border: 0; border-bottom: 1px solid var(--ui-border-light); border-radius: var(--ui-radius) var(--ui-radius) 0 0;
  background: var(--ui-surface); color: var(--ui-text); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.ui .ui-rb-softphone .pw-bar:hover { background: var(--ui-surface-alt); }
.ui .ui-rb-softphone .pw-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-icon-weak); flex: none; }
.ui .ui-rb-softphone[data-state="idle"] .pw-dot { background: var(--ui-success); }
.ui .ui-rb-softphone[data-state="calling"] .pw-dot, .ui .ui-rb-softphone[data-state="ringing"] .pw-dot, .ui .ui-rb-softphone[data-state="connected"] .pw-dot, .ui .ui-rb-softphone[data-state="incoming"] .pw-dot { background: var(--ui-error); }
.ui .ui-rb-softphone .pw-panel { display: block; padding: .75rem; max-height: 60vh; overflow: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }
.ui .ui-rb-softphone .pw-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.ui .ui-rb-softphone .pw-dial { display: flex; gap: .5rem; align-items: center; margin: 0; }
.ui .ui-rb-softphone .pw-dial .slds-input { flex: 1; min-width: 0; }
.ui .ui-rb-softphone .pw-who { font-size: 15px; font-weight: 700; display: flex; flex-direction: column; gap: 2px; }
.ui .ui-rb-softphone .pw-sub { display: block; color: var(--ui-text-meta); font-size: 12px; font-weight: 400; margin: 0 0 .5rem; }
.ui .ui-rb-softphone .pw-note { margin: .5rem 0 0; color: var(--ui-text-weak); font-size: 12px; }
.ui .ui-rb-softphone .pw-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: .375rem; margin-top: .5rem; }
.ui .ui-rb-softphone .pw-keys .slds-button { width: 100%; font-size: 15px; }
.ui .pf-why, .ui .pf-msg { display: block; font-size: 12px; color: var(--ui-text-meta); margin-top: 2px; }
.ui .pf-msg { padding: .375rem .5rem; border-radius: var(--ui-radius); background: var(--ui-surface-alt); color: var(--ui-text); }

/* Dialer, transcripts, property data */
.ui-rb-dial { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: .75rem 0 .25rem; }
.ui-rb-big { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ui-rb-lines-t { margin: 0; padding: 0; list-style: none; }
.ui-rb-lines-t > li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .125rem .5rem; padding: .375rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-rb-lines-t.two > li { grid-template-columns: 3.5rem 4.5rem minmax(0, 1fr); }
.ui-rb-lines-t > li:last-child { border-bottom: 0; }
.ui-rb-lines-t .c2-t { font-variant-numeric: tabular-nums; font-size: 12px; padding-top: 1px; }
.ui-rb-lines-t .c2-who { font-size: 12px; font-weight: 700; color: var(--ui-text-weak); padding-top: 1px; }
.ui-rb-lines-t .c2-rep .c2-who { color: var(--ui-brand); }
.ui-rb-lines-t .c2-text { overflow-wrap: anywhere; }
.ui-rb-lines-t > li.on, .ui-rb-lines-t > li.c2-on { background: var(--ui-sel); }
.ui .c2-tform { display: inline-flex; margin: 0; }
.slds-table.e2-live .slds-button-group { flex-wrap: nowrap; }

@media (max-width: 640px) {
  .ui-page-grid.ui-rb-half, .ui-rb-two, .ui-rb-two.is-even { display: flex; flex-direction: column; gap: 8px; }
  .ui-rb-pills { padding: .25rem .75rem .5rem; }
  .ui-bell .ui-notif-panel { width: auto; }
  .ui .ui-rb-d1 { width: 100%; max-height: calc(100% - 1rem); margin: auto 0 0; border-radius: var(--ui-radius) var(--ui-radius) 0 0; }
  .ui .ui-rb-d1 .slds-modal__header, .ui .ui-rb-d1 .slds-modal__content, .ui .ui-rb-d1 .slds-modal__footer { padding-left: .75rem; padding-right: .75rem; }
  .ui .ui-rb-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui .ui-rb-pick { min-height: 2.75rem; }
  .ui .ui-rb-segs { display: flex; }
  .ui .ui-rb-segs > .slds-radio_button { flex: 1; }
  .ui .ui-rb-segs .slds-radio_button__label { justify-content: center; width: 100%; min-height: 2.75rem; }
  .ui .ui-rb-softphone { right: 8px; left: 8px; width: auto; max-width: none; bottom: calc(72px + env(safe-area-inset-bottom)); border-radius: var(--ui-radius); }
  .ui .ui-rb-softphone .slds-button_small { min-height: 2.75rem; }
  .ui-rb-toggle { min-height: 2.75rem; }
  .ui-rb-lines-t.two > li { grid-template-columns: 3.25rem minmax(0, 1fr); }
  .ui-rb-lines-t.two .c2-text { grid-column: 1 / -1; }
  .slds-chat-listitem { max-width: 92%; }
  .ui-cal-pick .slds-select { min-height: 2.5rem; font-size: 16px; }
  .ui-rb-feed > li > a { padding: .75rem; }
  .slds-datepicker .slds-day { width: 2.5rem; height: 2.5rem; }
  .ui-rb-step { padding: .5rem; }
  .ui-rb-wait { margin-left: .75rem; padding-left: 1rem; }
  .slds-table_stacked td.ui-rb-act { position: static; text-align: left; margin-top: .375rem; }
  .slds-table_stacked td.ui-rb-act form { margin: 0 4px 0 0; }
  .slds-table_stacked tr.ui-cal-now { padding: 0; border-bottom: 2px solid var(--ui-error); }
  .slds-table_stacked tr.ui-cal-now > th { display: none; }
  .slds-table_stacked tr.ui-rb-empty-row { padding: .5rem .75rem; }
  .slds-table_stacked td .slds-select { width: 100%; margin-top: 2px; }
}

/* === Rollout C (e-sign, email, reports, settings, admin, leads extras) === */
/* Shared helpers (local parts; the planner may promote them): read-only field grid, checkbox rows, row forms. */
.ui-c-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 1rem; }
.ui-c-fields > .slds-form-element_1-col { grid-column: 1 / -1; }
.ui-c-checks { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; padding: .25rem 0 .5rem; }
.ui-c-rowform { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.ui-c-rowform .slds-input { width: auto; flex: 1 1 10rem; min-width: 8rem; }
.ui-c-wrap { white-space: normal; overflow-wrap: anywhere; }
.ui-c-mono, .ui-c-pre { font-family: ui-monospace, Consolas, monospace; font-size: 12px; }
.ui-c-pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ui-text); background: var(--ui-surface-alt); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .75rem; }
.ui-c-list { margin: 0; padding-left: 1.25rem; }
.ui-c-list li { margin: .125rem 0; }
.ui-c-foot-actions { justify-content: flex-end; }
.slds-table tr.ui-c-flag > td { background: var(--ui-warning-soft, var(--ui-tint)); }
.ui-c-legacy-card { padding-top: .25rem; }
fieldset.slds-form-element { border: 0; padding: 0; margin: 0 0 .5rem; min-width: 0; }
fieldset.slds-form-element > legend { padding: 0; }

/* Settings (Setup) page: one card per area. */
.ui-c-setup { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 12px; align-items: start; }

/* Pipeline board (Kanban columns of lead tiles). */
.ui-c-board { display: flex; gap: 12px; overflow-x: auto; align-items: flex-start; padding-bottom: .5rem; }
.ui-c-col { flex: 0 0 272px; background: var(--ui-surface-alt); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); display: flex; flex-direction: column; max-height: calc(100vh - 180px); }
.ui-c-col-h { margin: 0; padding: .625rem .75rem; font-size: 14px; font-weight: 700; border-bottom: 1px solid var(--ui-border-light); }
.ui-c-col-h a { color: var(--ui-text); }
.ui-c-col-b { padding: .5rem; display: flex; flex-direction: column; gap: .5rem; overflow-y: auto; }
.slds-tile.ui-c-tile { background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); padding: .5rem .75rem; }
.ui-c-tile.is-hot { border-left: 3px solid var(--ui-error); }
.slds-tile__title { margin: 0 0 .125rem; font-size: 14px; font-weight: 700; line-height: 1.3; }
.slds-tile__detail p { margin: .125rem 0; font-size: 12px; color: var(--ui-text-weak); }
.slds-tile__detail .ui-cell-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.ui-c-tile-team { margin-top: .25rem !important; }
.ui-c-stagelist ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ui-c-stagelist a { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 .75rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-pill); background: var(--ui-surface); color: var(--ui-text); font-size: 13px; }
.ui-c-stagelist a.is-on { background: var(--ui-brand-btn); border-color: var(--ui-brand-btn); color: var(--ui-on-accent); }
.ui-c-stagelist a.is-on .ui-tab-n { color: inherit; }
.ui-c-stagelist a.is-empty { color: var(--ui-text-meta); }

/* Search results: the matched words. */
.ui-c-snip mark { background: var(--ui-tint); color: inherit; font-weight: 700; padding: 0 1px; }

/* Access: the roles grid and the permission lists. */
.ui-c-grid th.ui-c-ck, .ui-c-grid td.ui-c-ck { text-align: center; width: 1%; white-space: nowrap; }
.ui-c-grid td:first-child { white-space: normal; }
.ui-c-perm { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .375rem 0; border-bottom: 1px solid var(--ui-border-light); }
.ui-c-perm .slds-checkbox { flex: 1; min-height: 2rem; }
.ui-c-perm .ui-cell-sub { display: block; font-size: 12px; color: var(--ui-text-meta); }
.ui-c-permcols { columns: 2 320px; column-gap: 1.5rem; }
.ui-c-permcols > .slds-section { break-inside: avoid; }
.ui-c-forms > .ui-fold { margin-bottom: .5rem; }

/* Compare and merge: the leads side by side. */
.ui-c-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; align-items: start; }
.ui-c-side .ui-c-fields { grid-template-columns: 1fr; }

/* Phone lines. */
.ui-c-line.is-off { opacity: .8; }
.ui-c-num { font-weight: 400; margin-left: .5rem; font-size: 13px; }
.ui-c-line-out { display: block; }

@media (max-width: 640px) {
  .ui-c-setup { grid-template-columns: 1fr; gap: 8px; }
  .ui-c-fields { grid-template-columns: 1fr; }
  .ui-c-stagelist a { min-height: 2.75rem; }
  .ui-c-perm .slds-checkbox { min-height: 2.75rem; }
  .ui-c-rowform .slds-input { flex-basis: 100%; }
  .ui-c-permcols { columns: 1; }
}

/* Reports: tab row + period picker card, sortable headings, bars behind numbers, funnel, totals. */
.ui-c-rp-nav { overflow: hidden; }
.ui-c-rp-nav > .slds-tabs_scoped .slds-tabs_scoped__nav { border-width: 0 0 1px; border-radius: 0; }
.ui-c-picker { padding-top: .75rem; padding-bottom: .25rem; }
.ui-c-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: .5rem; }
.ui-c-picker-row { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.ui-c-latest { margin: 0; padding: .5rem .75rem; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); font-size: 13px; }
.ui-c-latest .ui-meta { margin-right: .5rem; text-transform: uppercase; letter-spacing: .03em; }
.ui-c-sort { color: inherit; white-space: nowrap; }
.ui-c-sort.is-on { color: var(--ui-text); }
.ui-c-sortdir { font-weight: 400; color: var(--ui-text-meta); font-size: 11px; }
.ui-c-rp td.ui-num .ui-c-v { display: block; }
.ui-c-bar { display: block; height: 4px; margin-top: 3px; background: var(--ui-border-light); border-radius: 2px; overflow: hidden; min-width: 3rem; }
.ui-c-bar i { display: block; height: 100%; background: var(--ui-brand-accent); border-radius: 2px; }
.ui-c-barcol { width: 30%; min-width: 6rem; }
.ui-c-barcol .ui-c-bar { height: 8px; margin: 0; }
.slds-table tr.ui-c-auto > td, .slds-table tr.ui-c-auto > th { color: var(--ui-text-meta); background: var(--ui-surface-alt); }
.slds-table tr.ui-c-total > td { font-weight: 700; border-top: 2px solid var(--ui-border); }
.slds-table tr.ui-c-late > td, .ui-c-neg { color: var(--ui-error); }
.ui-c-basis { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ui-c-basis .slds-tabs_default { flex: 1 1 auto; }
.ui-c-funnel { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.ui-c-funnel li { display: grid; grid-template-columns: 9rem minmax(0, 1fr) minmax(0, 16rem); gap: .75rem; align-items: center; font-size: 13px; }
.ui-c-funnel li.is-weak .ui-c-step { color: var(--ui-error); font-weight: 700; }
.ui-c-fbar { height: 14px; background: var(--ui-surface-alt); border-radius: 2px; overflow: hidden; }
.ui-c-fbar i { display: block; height: 100%; background: var(--ui-brand-btn); }
.ui-c-funnel li.is-weak .ui-c-fbar i { background: var(--ui-error); }
.slds-input.ui-c-money { width: 8rem; text-align: right; margin-left: auto; }

/* Report builder: the choices card beside the answer; on phones the choices fold into one line. */
.ui-c-build-grid { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 12px; align-items: start; }
.ui-c-build { display: block; }
.ui-c-build > summary { list-style: none; cursor: pointer; display: none; }
.ui-c-build > summary::-webkit-details-marker { display: none; }
.ui-c-build-sum { padding: .75rem 1rem; gap: .75rem; align-items: center; justify-content: space-between; font-size: 13px; }
.ui-c-build-edit { color: var(--ui-brand); white-space: nowrap; }
.ui-c-build-h { display: flex; align-items: center; justify-content: space-between; }
.ui-c-fieldstack > .slds-form-element, .ui-c-fieldstack > .ui-fold { margin-bottom: .5rem; }
.ui-c-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .75rem; }
.ui-c-cond { display: grid; grid-template-columns: minmax(0, 1fr) 5.5rem; gap: 6px; margin-bottom: 6px; align-items: center; }
.ui-c-cond .rb-wv { grid-column: 1; }
.ui-c-cond .slds-button_icon { grid-column: 2; justify-self: start; }
.slds-radio_button-group { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); overflow: hidden; }
.slds-radio_button { position: relative; display: inline-flex; }
.slds-radio_button + .slds-radio_button { border-left: 1px solid var(--ui-border); }
.slds-radio_button input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.slds-radio_button__label { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 .75rem; font-size: 13px; color: var(--ui-brand); background: var(--ui-surface); cursor: pointer; }
.slds-radio_button.is-on .slds-radio_button__label, .slds-radio_button input:checked + .slds-radio_button__label { background: var(--ui-brand-btn); color: var(--ui-on-accent); }
.slds-radio_button input:focus-visible + .slds-radio_button__label { box-shadow: inset 0 0 0 2px var(--ui-brand-accent); }
.slds-radio_button.is-off .slds-radio_button__label { color: var(--ui-text-meta); cursor: not-allowed; }
.ui-c-ask { display: flex; gap: .5rem; align-items: flex-start; }
.ui-c-ask .slds-textarea { flex: 1; min-height: 2rem; }
.ui-c-how { margin: 0 0 .75rem; }
.ui-c-popf { display: flex; flex-direction: column; gap: .25rem; padding: .5rem .75rem; min-width: 14rem; }
.ui-c-rowacts { display: flex; gap: .5rem; align-items: flex-start; flex-wrap: wrap; }

/* Charts (local part): bars and a line in the object icon colours. */
.ui-c-chart { margin: 0 0 .5rem; position: relative; }
.ui-c-plot { display: flex; align-items: flex-end; gap: 8px; height: 200px; border-bottom: 1px solid var(--ui-border); }
.ui-c-chart.is-small .ui-c-plot { height: 150px; }
.ui-c-chart.is-dense .ui-c-plot, .ui-c-chart.is-dense .ui-c-xs { gap: 3px; }
.ui-c-ccol { flex: 1; min-width: 0; height: 100%; display: flex; align-items: flex-end; gap: 2px; color: var(--ui-text); text-decoration: none; }
.ui-c-ccol:hover .ui-c-stack { opacity: .8; }
.ui-c-cbar { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.ui-c-cv { font-size: 11px; font-weight: 700; text-align: center; line-height: 16px; min-height: 16px; white-space: nowrap; overflow: hidden; }
.ui-c-stack { display: flex; flex-direction: column-reverse; border-radius: 2px 2px 0 0; overflow: hidden; }
.ui-c-stack i { display: block; min-height: 2px; }
.ui-c-xs { display: flex; gap: 8px; }
.ui-c-xs span { flex: 1; min-width: 0; text-align: center; font-size: 11px; color: var(--ui-text-meta); padding-top: 4px; white-space: nowrap; overflow: hidden; }
.ui-c-chart.is-dense .ui-c-xs span:nth-child(even) { visibility: hidden; }
.ui-c-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: .5rem; font-size: 12px; color: var(--ui-text-weak); }
.ui-c-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.ui-c-c0 { background: var(--ui-ic-lead); stroke: var(--ui-ic-lead); } .ui-c-c1 { background: var(--ui-ic-deal); stroke: var(--ui-ic-deal); }
.ui-c-c2 { background: var(--ui-ic-call); stroke: var(--ui-ic-call); } .ui-c-c3 { background: var(--ui-ic-event); stroke: var(--ui-ic-event); }
.ui-c-c4 { background: var(--ui-ic-task); stroke: var(--ui-ic-task); } .ui-c-c5 { background: var(--ui-ic-note); stroke: var(--ui-ic-note); }
.ui-c-c6 { background: var(--ui-ic-account); stroke: var(--ui-ic-account); } .ui-c-c7 { background: var(--ui-ic-file); stroke: var(--ui-ic-file); }
.ui-c-linechart { padding-top: 6px; }
.ui-c-svg { display: block; width: 100%; height: 200px; overflow: visible; }
.ui-c-linechart.is-small .ui-c-svg { height: 150px; }
.ui-c-axis { stroke: var(--ui-border); stroke-width: 1; }
polyline.ui-c-ln { fill: none; stroke-width: 2.5; background: none; }
.ui-c-pts { position: absolute; left: 0; right: 0; top: 6px; height: 200px; pointer-events: none; }
.ui-c-linechart.is-small .ui-c-pts { height: 150px; }
.ui-c-pt { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; border: 2px solid var(--ui-surface); pointer-events: auto; }

/* Metric tiles (dashboard six, one-number reports) and weekly targets. */
.ui-c-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.ui-c-kpi { display: flex; flex-direction: column; gap: 2px; padding: .75rem 1rem; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); color: var(--ui-text); text-decoration: none; min-width: 0; }
a.ui-c-kpi:hover { border-color: var(--ui-brand-accent); }
.ui-c-kpi-l { font-size: 12px; color: var(--ui-text-weak); }
.ui-c-kpi-v { font-size: 24px; font-weight: 700; line-height: 1.2; }
.ui-c-kpi-s { font-size: 12px; color: var(--ui-text-meta); }
.ui-c-result .ui-c-kpis { margin-bottom: .5rem; }
.ui-c-targets { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
.ui-c-tg { padding: 0 1rem .75rem; min-width: 0; }
.ui-c-tg + .ui-c-tg { border-left: 1px solid var(--ui-border-light); }
.ui-c-tg h3 { margin: 0 0 .25rem; }
.ui-c-tr { padding: .5rem 0; border-top: 1px solid var(--ui-border-light); }
.ui-c-tg h3 + .ui-c-tr { border-top: 0; }
.ui-c-tr-top { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; }
.slds-progress-bar { display: block; height: 6px; margin-top: 6px; background: var(--ui-border-light); border-radius: 3px; overflow: hidden; }
.slds-progress-bar__value { display: block; height: 100%; background: var(--ui-brand-btn); }
.ui-c-tr.is-met .slds-progress-bar__value { background: var(--ui-success); }
.ui-c-dash2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }

/* TV view: full screen, large type, no frame. */
.ui-c-tvb { margin: 0; background: var(--ui-bg); color: var(--ui-text); font-family: var(--font); }
.ui-c-tv { min-height: 100vh; padding: 32px 40px; box-sizing: border-box; display: flex; flex-direction: column; gap: 22px; }
.ui-c-tv-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.ui-c-tv-head h1 { margin: 0; font-size: 34px; }
.ui-c-tv-head .ui-meta { font-size: 22px; margin-left: .5rem; }
.ui-c-tv-time { font-size: 22px; color: var(--ui-text-meta); font-weight: 700; }
.ui-c-tv .ui-c-six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ui-c-tv .ui-c-kpi { padding: 22px 26px; }
.ui-c-tv .ui-c-kpi-v { font-size: 64px; line-height: 70px; }
.ui-c-tv .ui-c-kpi-l { font-size: 18px; }
.ui-c-tv .ui-c-kpi-s { font-size: 19px; }
.ui-c-tv-row { display: grid; grid-template-columns: minmax(0, .75fr) repeat(var(--r, 1), minmax(0, 1.1fr)); gap: 22px; flex: 1; align-items: start; }
.ui-c-tv .ui-c-targets { grid-template-columns: 1fr; }
.ui-c-tv .slds-card__header-title { font-size: 22px; }

@media (max-width: 1000px) {
  .ui-c-build-grid, .ui-c-dash2, .ui-c-targets { grid-template-columns: 1fr; }
  .ui-c-tg + .ui-c-tg { border-left: 0; border-top: 1px solid var(--ui-border-light); padding-top: .75rem; }
}
@media (max-width: 640px) {
  .ui-c-build > summary { display: flex; }
  .ui-c-build:not([open]) > .slds-card__header, .ui-c-build:not([open]) > .slds-card__body { display: none; }
  .ui-c-build[open] > summary { border-bottom: 1px solid var(--ui-border-light); }
  .ui-c-funnel li { grid-template-columns: 1fr; gap: 2px; }
  .ui-c-two { grid-template-columns: 1fr; }
  .ui-c-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ui-c-kpi-v { font-size: 20px; }
  .slds-table_stacked .ui-c-bar { display: none; }
  .ui-c-presets .slds-button { min-height: 2.75rem; }
  .slds-radio_button__label { min-height: 2.75rem; }
  .ui-c-ask { flex-direction: column; align-items: stretch; }
  .slds-input.ui-c-money { width: 100%; }
  .ui-c-tv { padding: 16px; }
  .ui-c-tv .ui-c-six, .ui-c-tv-row { grid-template-columns: 1fr; }
}

.slds-table th.ui-num, .slds-table td.ui-num { text-align: right; }
.ui-c-rp .slds-dropdown-trigger summary { white-space: nowrap; }
/* E-sign pieces drawn by public/esign-*.js (fields on the PDF, signature sheet, signer rows): carried from app.css so they keep working once the legacy layer is removed. */
.es-person { display: inline-block; border-radius: var(--ui-radius); padding: 0 .4rem; font-size: .78rem; font-weight: 700; color: #fff; background: var(--c); }
/* field placer */ .es-builder { display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .es-builder { grid-template-columns: 260px minmax(0, 1fr); align-items: start; } }
@media (min-width: 900px) { .es-tools { position: sticky; top: 70px; max-height: calc(100vh - 84px); overflow-y: auto; } }
@media (min-width: 900px) { .es-phone-note { display: none; } }
.es-tools { display: grid; gap: .6rem; }
.es-tool-label { display: block; font-size: .8rem; font-weight: 700; color: var(--ui-text-meta); margin-bottom: .25rem; }
.es-types { display: flex; flex-wrap: wrap; gap: .3rem; }
.es-types .ui-c-toggle { cursor: pointer; font: inherit; font-size: .85rem; }
.es-props { display: grid; gap: .45rem; border-top: 1px solid var(--ui-border-light); padding-top: .5rem; }
.es-props[hidden], .es-props label[hidden] { display: none; }
.es-props .radio { display: flex; gap: .4rem; align-items: center; color: var(--ui-text); }
.es-props .radio input { width: auto; }
.es-pages { display: grid; gap: .3rem; min-width: 0; }
.es-pages.placing .es-layer { cursor: crosshair; }
.es-page-no { font-size: .8rem; color: var(--ui-text-meta); margin-top: .4rem; }
.es-page { position: relative; width: 100%; max-width: 900px; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.es-page canvas { display: block; width: 100%; height: 100%; }
.es-layer { position: absolute; inset: 0; }
.es-field { position: absolute; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1.5px solid var(--c, var(--es-me, #1f6feb)); background: color-mix(in srgb, var(--c, var(--es-me, #1f6feb)) 16%, transparent); color: #0b1a4a; font: inherit; font-size: 11px; line-height: 1.1; border-radius: var(--ui-radius); cursor: move; user-select: none; touch-action: none; padding: 0; }
.es-field span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 2px; }
.es-field i { position: absolute; top: 0; left: 0; font-style: normal; font-size: 9px; font-weight: 700; color: #fff; background: var(--c); padding: 0 3px; border-bottom-right-radius: 3px; }
.es-field.sel { outline: 2px solid var(--c); outline-offset: 1px; z-index: 2; }
.es-handle { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; background: var(--c); cursor: nwse-resize; }
/* signer pages */ .es-sign-main { max-width: 900px; margin: 0 auto; padding: 0 12px 6rem; }
.es-tick { display: flex; gap: .6rem; align-items: flex-start; color: var(--ui-text); font-size: .95rem; }
.es-tick input { width: 1.4rem; height: 1.4rem; flex: none; margin-top: .1rem; }
.btn.es-big { width: 100%; padding: .85rem 1rem; font-size: 1.05rem; }
.btn.es-big:disabled { opacity: .45; cursor: not-allowed; }
.es-decline { margin-top: 1rem; }
.es-decline summary { color: var(--ui-text-meta); }
.es-sign-bar { position: sticky; top: 0; z-index: 15; display: flex; gap: .6rem; align-items: center; background: var(--ui-surface); border-bottom: 1px solid var(--ui-border-light); padding: .5rem 4px; margin: 0 -4px .5rem; }
.es-signer-body .top { position: static; }
.es-sign-title { flex: 1; min-width: 0; display: grid; }
.es-sign-title b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-doc { display: grid; gap: .6rem; }
.es-field.mine { cursor: pointer; border-width: 2px; font-weight: 600; }
.es-field.mine.req { animation: es-glow 1.6s ease-in-out infinite; }
.es-field.mine.filled { background: color-mix(in srgb, var(--es-me) 6%, transparent); border-style: dashed; }
.es-field.mine img { max-width: 100%; max-height: 100%; }
.es-field.pulse { animation: es-pulse .9s ease-out 2; }
.es-tick-mark { font-size: 1.1em; font-weight: 700; }
.es-finish-wrap { max-width: 560px; margin: 1rem auto; }
.es-sheet { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.45); display: flex; align-items: flex-end; justify-content: center; }
.es-sheet[hidden], .es-sheet [hidden] { display: none; }
.es-sheet-card { background: var(--ui-surface); width: 100%; max-width: 620px; border-radius: 4px 4px 0 0; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); display: grid; gap: .6rem; }
@media (min-width: 700px) { .es-sheet { align-items: center; } }
@media (min-width: 700px) { .es-sheet-card { border-radius: 4px; } }
.es-sheet-tabs { display: flex; gap: .35rem; }
.es-sheet-tabs .ui-c-toggle { cursor: pointer; font: inherit; }
.es-pad { width: 100%; aspect-ratio: 3 / 1; height: auto; background: #fff; border: 1px dashed var(--ui-text-meta); border-radius: var(--ui-radius); touch-action: none; display: block; }
.es-styles { display: grid; gap: .35rem; margin-top: .5rem; }
.es-style { font-size: 1.7rem; background: #fff; color: #0b1a4a; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .3rem .6rem; text-align: left; cursor: pointer; overflow: hidden; white-space: nowrap; }
.es-style.on { border: 2px solid var(--ui-brand); }
.es-sheet-buttons { display: flex; gap: .5rem; justify-content: flex-end; }
body.es-sheet-open { overflow: hidden; }
/* Dialogs never taller than the screen. */ dialog, .modal, .es-sheet-card, [role=dialog] { max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; }
/* ---------- E-sign v2 (10/14/2026): role chips in the template builder, show-password, Settings > E-sign ---------- */ .es-who { border-bottom: 1px solid var(--ui-border-light); padding-bottom: .6rem; }
.es-step { font-size: .85rem; color: var(--ui-text); }
.es-roles { display: grid; gap: .3rem; }
.es-role { display: flex; align-items: center; gap: .45rem; min-height: 32px; padding: .3rem .55rem; font: inherit; font-size: .88rem; text-align: left; background: var(--ui-surface); color: var(--ui-text); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); cursor: pointer; }
.es-role i { width: 12px; height: 12px; border-radius: 3px; background: var(--c); flex: none; }
.es-role small { margin-left: auto; color: var(--ui-text-meta); font-size: .75rem; }
.es-role.on { border-color: var(--c); box-shadow: inset 3px 0 0 var(--c); font-weight: 700; }
.es-role-edit { display: grid; gap: .3rem; margin-top: .4rem; font-size: .85rem; }
.es-role-edit .check { display: flex; gap: .4rem; align-items: center; font-weight: 400; }
.es-field i { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 900px) { .hint.es-phone-note { display: none; } }
/* E-sign send form: a Yes / No contract term (Point of Sale inspection, 10/14) */ .es-yesno { border: 0; margin: 0; padding: 0; min-width: 0; }
.es-yesno legend { padding: 0; margin-bottom: .2rem; font-size: .85rem; color: var(--ui-text-meta); }
.es-yesno-opts { display: flex; gap: 1.25rem; align-items: center; min-height: 32px; }
.es-yesno-opts label.check { font-size: .9rem; }
.es-yesno-opts input { width: 16px; height: 16px; margin: 0; }
@media (max-width: 640px) { .es-yesno-opts { min-height: 44px; } }
@media (max-width: 640px) { .es-yesno-opts label.check { font-size: 15px; } }
@media (max-width: 640px) { .es-yesno-opts input { width: 20px; height: 20px; } }
/* ==== end Wave G3 ==== */ /* ---------- E-sign send screen, one page (Andrew's pick A, Wave G4 10/14/2026) ---------- */ .es-a { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1100px) { .es-a { grid-template-columns: minmax(0, 560px) minmax(0, 1fr); } }
@media (min-width: 1100px) { .es-prev { position: sticky; top: 70px; } }
.es-a-form { display: grid; gap: 14px; min-width: 0; }
.es-a .panel + .panel { margin-top: 0; }
.es-a [hidden] { display: none !important; }
.es-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.es-grid .wide { grid-column: 1 / -1; }
.es-grid > label { align-content: end; }
.es-a label { font-size: 13px; font-weight: 600; }
.es-a label.check { font-weight: 500; font-size: 14px; }
.es-typed { color: var(--ui-error); font-size: 11.5px; font-weight: 600; }
.es-from { color: var(--ui-text-meta); font-weight: 500; }
.es-yesno { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: .2rem; }
.es-yesno legend { font-size: 13px; font-weight: 600; color: var(--ui-text-meta); padding: 0; margin-bottom: .2rem; }
.es-yesno-opts { display: flex; gap: 18px; padding: 4px 0 2px; }
.es-textbtn { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; font-weight: 600; color: var(--ui-brand); cursor: pointer; }
.es-who-row { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--ui-border-light); font-size: 13.5px; }
.es-who-row:first-child { border-top: 0; }
.es-dot { width: 12px; height: 12px; border-radius: 3px; background: var(--c); }
.es-who-name { min-width: 0; color: var(--ui-text); }
.es-who-name select { font-weight: 600; }
.es-who-sub { grid-column: 2 / -1; color: var(--ui-text-meta); font-size: 12.5px; overflow-wrap: anywhere; }
.es-who-sub .es-textbtn { font-size: 12.5px; margin-left: 4px; }
.es-who-edit, .es-who-row .es-order { grid-column: 2 / -1; }
.es-who-edit { padding-top: 6px; }
.es-who-row .es-order { max-width: 140px; }
.es-order-box { padding: 0 0 8px; }
.es-more { margin-top: 10px; border-top: 1px solid var(--ui-border-light); padding-top: 10px; }
.es-foot { display: flex; flex-direction: row-reverse; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--ui-border-light); }
.es-prev .es-prev-pages { display: grid; gap: 8px; background: var(--ui-surface-alt); padding: 10px; margin: 0 10px 10px; border-radius: var(--ui-radius); }
@media (min-width: 1100px) { .es-prev .es-prev-pages { max-height: calc(100vh - 150px); overflow: auto; } }
.es-prev-page { width: 100%; height: auto; display: block; border: 1px solid var(--ui-border-light); background: #fff; }
@media (max-width: 640px) { .es-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .es-foot .btn { flex: 1; min-height: 44px; } }
@media (max-width: 640px) { .es-textbtn { min-height: 32px; } }
@media (max-width: 640px) { .es-prev .es-prev-pages { margin: 0 8px 8px; padding: 8px; } }

/* Email: the designer beside its preview, blocks, photo pickers, recipients. */
.ui-c-em-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 640px); gap: 12px; align-items: start; }
.ui-c-em-default { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ui-c-em-fs { border: 0; padding: 0; margin: 0; min-width: 0; }
.ui-c-em-preview { position: sticky; top: 104px; }
.ui-c-em-seg .slds-button.is-on { background: var(--ui-brand-btn); color: var(--ui-on-accent); border-color: var(--ui-brand-btn); }
.ui-c-pv-subject { margin: 0 0 .5rem; }
.ui-c-frame-wrap { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); overflow: hidden; background: #fff; margin: 0 auto; }
.em-frame { display: block; width: 100%; min-height: 400px; border: 0; background: #fff; }
.ui-c-frame-tall { min-height: 640px; }
.ui-c-blocks { list-style: none; margin: 0 0 .75rem; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.ui-c-block { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .5rem .75rem .75rem; background: var(--ui-surface); scroll-margin-top: 110px; }
.ui-c-block-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .25rem; }
.ui-c-block-tools { display: flex; gap: 4px; flex-wrap: wrap; }
.ui-c-missing { color: var(--ui-error); }
.ui-c-cur { display: block; max-width: 220px; border-radius: var(--ui-radius); margin: 0 0 .5rem; }
.ui-c-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 6px; padding: .5rem 0; }
.ui-c-thumb { position: relative; display: block; border: 2px solid transparent; border-radius: var(--ui-radius); overflow: hidden; cursor: pointer; }
.ui-c-thumb input { position: absolute; top: 4px; left: 4px; }
.ui-c-thumb img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ui-c-thumb:has(input:checked) { border-color: var(--ui-brand-btn); }
.ui-c-thumb.is-auto { display: flex; align-items: center; justify-content: center; padding: .5rem 1.5rem; min-height: 72px; background: var(--ui-surface-alt); font-size: 12px; }
.ui-c-checklist { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .25rem 1rem; }
.ui-c-results { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: .5rem; }
.ui-c-deal { margin: 0 0 .5rem; }
.ui-c-savebar { padding: .5rem .75rem; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
.ui-c-radios-list { display: flex; flex-direction: column; gap: .5rem; }
.ui-c-indent { margin-left: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.ui-c-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ui-c-problems ul { margin: .25rem 0 0; }
.ui-c-subhead { margin: .75rem 0 .25rem; }
.ui-c-auth-h { font-size: 20px; margin: 0 0 .5rem; }

/* E-sign: lists, document page, the send screen beside its preview, the builder tools, the signer pages. */
.ui-c-people { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.es-person { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; padding: 0 .5rem; border-radius: var(--ui-radius-pill); border: 1px solid var(--c, var(--ui-border)); color: var(--ui-text); background: var(--ui-surface); }
.es-person::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--ui-icon)); }
.ui-c-link { padding: .5rem 0; border-top: 1px solid var(--ui-border-light); display: flex; flex-direction: column; gap: .25rem; }
.ui-c-link:first-child { border-top: 0; }
.ui-c-trail { margin: 0; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .375rem; font-size: 13px; }
.ui-c-hash { overflow-wrap: anywhere; margin-top: .5rem; }
.ui-c-gap-top { margin-top: .75rem; }
.ui-c-side-fields { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.slds-button.ui-c-toggle.on { background: var(--ui-brand-btn); border-color: var(--ui-brand-btn); color: var(--ui-on-accent); }
.es-types { display: flex; flex-wrap: wrap; gap: 4px; }
.ui-c-es-tools { padding: .75rem; display: flex; flex-direction: column; gap: .5rem; }
.es-phone-note { display: none; }
.ui-c-signer { background: var(--ui-bg); min-height: 100vh; }
.ui-c-signer-head { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .75rem 1rem; background: var(--ui-surface); border-bottom: 1px solid var(--ui-border-light); box-shadow: var(--ui-shadow-gh); position: sticky; top: 0; z-index: 5; }
.ui-c-signer-brand { font-weight: 700; font-size: 16px; color: var(--ui-text); }
.ui-c-sign-main { max-width: 980px; margin: 0 auto; padding: 1rem; box-sizing: border-box; }
.ui-c-sign-card { max-width: 640px; margin: 1rem auto; }
.ui-c-sign-card.is-ok { border-top: 3px solid var(--ui-success); }
.ui-c-sign-h { font-size: 20px; line-height: 1.25; margin: .25rem 0 .5rem; }
.ui-c-sign-h2 { margin: 1rem 0 .25rem; font-size: 16px; }
.ui-c-consent li { margin: .375rem 0; }
.ui-c-consent-form { display: flex; flex-direction: column; gap: .75rem; margin: 1rem 0; }
.ui-c-tick .slds-checkbox { align-items: flex-start; }
.ui-c-tick .slds-checkbox input { margin-top: .2rem; }
.ui-c-decline { display: flex; flex-direction: column; gap: .5rem; padding: .5rem 0; }
.ui-c-sign-bar { background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: .5rem .75rem; }
.ui-c-finish { display: flex; flex-direction: column; gap: .5rem; max-width: 640px; margin: 1rem auto; }

@media (max-width: 1000px) {
  .ui-c-em-layout { grid-template-columns: 1fr; }
  .ui-c-em-preview { position: static; }
}
@media (max-width: 640px) {
  .es-phone-note { display: flex; }
  .ui-c-indent { margin-left: 0; }
  .ui-c-block-tools .slds-button { min-height: 2.75rem; }
  .ui-c-sign-main { padding: .5rem; }
  .ui-c-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* === Carried from the old app.css (Wave H final, 10/15/2026) ===
   Only the rules that still matched something on a Lightning page in the whole-app crawl, plus the script-drawn
   widgets (softphone, alerts bell, after-call pop-up, live search), with the old token names pointed at the Lightning
   tokens. They sit in a low-priority layer: any rule above wins, exactly as when app.css was layered underneath. */
@layer carried {
:root { --note: #fdf8f0; --note-line: #f1e2cb; --in: #f3f5f5; --out: #e7efef; --red-dot: #fc605f; --hot: #b76f1e; --hot-soft: #f8f0e7; --blue: #2f6fae; --blue-soft: #ecf3fb; --on-stage: #ffffff; --path-ink: #3d4042; --band: #0e3436; --band-border: #0e3436; --band-line: rgba(255, 255, 255, .13); --band-hover: #134244; --band-k: #9fc3c1; --band-v: #ffffff; --band-orange: #f2a65a; --band-red: #ff7b7a; --band-teal: #7dd3cc; --band-green: #8fd6a0; --av-bg: #2b2d2f; --av-ink: #ffffff; --chip: #f0f0f0; --purple: #8a4fc0; --purple-soft: #f6eefd; --mark: #ffe58a; --mark-ink: #01010b; --pill: 60px; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --note: #34200a; --note-line: #432607; --in: #2a2a2a; --out: #0f3030; --red-dot: #fc605f; --hot: #e0954a; --hot-soft: #3a2a1a; --blue: #8cbcf0; --blue-soft: #1f2e3f; --on-stage: rgba(255, 255, 255, .95); --path-ink: #c5c5c7; --band: #245254; --band-border: #2f6466; --band-line: rgba(255, 255, 255, .12); --band-hover: #2a5d5f; --band-k: #a9d3d0; --band-v: rgba(255, 255, 255, .92); --band-orange: #f0a65c; --band-red: #ff7b7a; --band-teal: #5fc9c1; --band-green: #8fd6a0; --av-bg: #3d3d3d; --av-ink: #e0e0e0; --chip: #323232; --purple: #d29be6; --purple-soft: #3a2a45; --mark: #7a6516; --mark-ink: #ffffff; }
}
:root[data-theme="dark"] { --note: #34200a; --note-line: #432607; --in: #2a2a2a; --out: #0f3030; --red-dot: #fc605f; --hot: #e0954a; --hot-soft: #3a2a1a; --blue: #8cbcf0; --blue-soft: #1f2e3f; --on-stage: rgba(255, 255, 255, .95); --path-ink: #c5c5c7; --band: #245254; --band-border: #2f6466; --band-line: rgba(255, 255, 255, .12); --band-hover: #2a5d5f; --band-k: #a9d3d0; --band-v: rgba(255, 255, 255, .92); --band-orange: #f0a65c; --band-red: #ff7b7a; --band-teal: #5fc9c1; --band-green: #8fd6a0; --av-bg: #3d3d3d; --av-ink: #e0e0e0; --chip: #323232; --purple: #d29be6; --purple-soft: #3a2a45; --mark: #7a6516; --mark-ink: #ffffff; }
* { box-sizing: border-box; }
html { text-size-adjust: 100%; }
body { margin: 0px; background: var(--ui-bg); color: var(--ui-text); font: 500 14px / 1.45 var(--font); -webkit-font-smoothing: antialiased; }
a { color: var(--ui-brand); text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 20px; line-height: 1.25; font-weight: 600; margin: 0px; }
h2 { font-size: 16px; font-weight: 600; margin: 0px 0px 0.5rem; }
h3 { font-size: 14.5px; font-weight: 600; margin: 0.75rem 0px 0.25rem; }
b { font-weight: 600; }
.muted { color: var(--ui-text-meta); }
.small { font-size: 0.85em; }
.n { color: var(--ui-placeholder); font-weight: 500; font-size: 0.9em; }
.pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.ic { width: 18px; height: 18px; fill: none; stroke: currentcolor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.nav-n { margin-left: auto; font-size: 11px; font-weight: 600; color: var(--ui-error); }
.search { position: relative; flex: 0 1 380px; min-width: 0px; margin: 0px auto; display: flex; align-items: center; gap: 8px; height: 34px; padding: 0px 12px; border-radius: var(--ui-radius); background: var(--ui-surface); border: 1px solid var(--ui-border-light); color: var(--ui-placeholder); }
.search input { flex: 1 1 0%; min-width: 0px; border: 0px; background: transparent; padding: 0px; height: 100%; font-size: 13.5px; outline: none; box-shadow: none; }
.icon-btn { width: 32px; height: 32px; border-radius: 50%; display: inline-grid; place-items: center; color: var(--ui-icon); cursor: pointer; background: none; border: 0px; padding: 0px; font: inherit; }
.icon-btn:hover { background: var(--ui-border-light); }
.pop { position: relative; }
.pop > summary { list-style: none; cursor: pointer; }
.pop > summary::-webkit-details-marker { display: none; }
.pop-sheet { position: absolute; right: 0px; top: calc(100% + 6px); z-index: 30; min-width: 12rem; display: grid; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); overflow: hidden; }
.pop-sheet button { display: block; width: 100%; text-align: left; padding: 0.6rem 0.9rem; color: var(--ui-text); background: none; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; cursor: pointer; }
.pop-sheet button:hover { background: var(--ui-surface-alt); text-decoration: none; }
.pop-sheet form { margin: 0px; border-top: 1px solid var(--ui-border-light); }
@media (max-width: 640px) {
  .search { display: none; position: absolute; left: 0px; right: 0px; top: 100%; margin: 0px; height: auto; padding: 8px 12px; border-radius: 0px; border-width: 0px 0px 1px; }
  .search input { font-size: 16px; height: 36px; }
  body { padding-bottom: 68px; }
}
.live-results { position: absolute; left: 0px; right: 0px; top: calc(100% + 4px); z-index: 30; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); overflow: hidden; }
.live-results a { display: block; padding: 0.55rem 0.8rem; color: var(--ui-text); border-top: 1px solid var(--ui-border-light); font-weight: 600; }
.live-results a:first-child { border-top: 0px; }
.live-results a.sel, .live-results a:hover { background: var(--ui-tint); text-decoration: none; }
.live-results .muted { display: block; font-size: 0.8rem; font-weight: 500; }
main { padding: 4px 20px 32px; max-width: 1600px; width: 100%; margin: 0px auto; }
@media (max-width: 640px) {
  main { padding: 10px 10px 24px; }
}
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; border: 1px solid var(--ui-brand-btn); border-radius: var(--pill); padding: 0.3rem 16px; background: var(--ui-brand-btn); color: var(--ui-on-accent); font-style: inherit; font-variant: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 13.5px; font-weight: 600; line-height: 1.25; text-align: center; cursor: pointer; }
.btn:hover { background: var(--ui-brand-btn-hover); border-color: var(--ui-brand-btn-hover); text-decoration: none; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.btn.ghost { background: var(--ui-surface); color: var(--ui-text); border-color: var(--ui-border-light); border-radius: var(--ui-radius); }
.btn.ghost:hover { background: var(--ui-surface-alt); }
.box { background: var(--ui-surface); border: 1px solid transparent; border-radius: var(--ui-radius); padding: 0.9rem 1.1rem; box-shadow: var(--ui-shadow); min-width: 0px; }
.call-link { font-weight: 600; }
.call-link.dnc { color: var(--ui-error); }
.facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.5rem 0.9rem; margin: 0px; }
.facts dt { color: var(--ui-text-meta); font-size: 0.78rem; }
.facts dd { margin: 0px; font-weight: 600; overflow-wrap: anywhere; }
.facts dd { font-weight: 500; }
details summary { cursor: pointer; }
.form-grid { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); margin-top: 0.5rem; align-items: end; }
.form-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); max-width: 760px; }
.form-grid .wide { grid-column: 1 / -1; }
label { display: grid; gap: 0.2rem; font-size: 0.85rem; color: var(--ui-text-meta); min-width: 0px; }
input[type="date"], input[type="time"] { min-width: 0px; }
input, select, textarea { font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; color: var(--ui-text); background: var(--ui-field); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 0.5rem 0.65rem; width: 100%; accent-color: var(--ui-brand-btn); }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--ui-tint); border-color: var(--ui-brand); }
@media (max-width: 640px) {
  input, select, textarea { font-size: 16px; }
}
textarea { resize: vertical; }
.stack { display: grid; gap: 0.6rem; max-width: 420px; }
.radio { display: flex; gap: 0.5rem; align-items: center; font-size: 1rem; color: var(--ui-text); }
.radio input { width: auto; }
mark { background: var(--mark); color: var(--mark-ink); border-radius: 2px; padding: 0px 1px; }
.stack > .btn { padding: 0.7rem 1rem; font-size: 1rem; }
.btn.small { padding: 0.32rem 0.65rem; font-size: 0.85rem; }
.lead-pick { position: relative; }
.lead-pick .live-results { z-index: 6; }
details.edit { margin-top: 0.4rem; }
details.edit > summary { display: inline-block; list-style: none; cursor: pointer; color: var(--ui-brand); font-size: 0.85rem; }
details.edit > summary::-webkit-details-marker { display: none; }
.form-grid.compact { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); max-width: none; margin-top: 0.25rem; }
.small-form { gap: 0.45rem; max-width: none; }
.small-form input, .small-form select { padding: 0.35rem 0.5rem; }
form.inline { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; margin: 0px; }
form.inline input { flex: 1 1 8rem; width: auto; }
.btn.small { padding: 0.35rem 0.7rem; font-size: 0.85rem; }
.linkish.danger { color: var(--ui-error); }
.linkish { background: none; border: 0px; padding: 0px; color: var(--ui-text-meta); cursor: pointer; font: inherit; text-decoration: underline; }
label.check { display: flex; flex-direction: row; align-items: center; gap: 0.4rem; color: var(--ui-text); }
label.check input { width: auto; }
.es-person { display: inline-block; border-radius: var(--ui-radius); padding: 0px 0.4rem; font-size: 0.78rem; font-weight: 700; color: rgb(255, 255, 255); background: var(--c); }
.es-pick { max-width: 480px; }
.es-builder { display: grid; gap: 0.75rem; grid-template-columns: minmax(0px, 1fr); }
@media (min-width: 900px) {
  .es-builder { grid-template-columns: 260px minmax(0px, 1fr); align-items: start; }
  .es-tools { position: sticky; top: 70px; max-height: calc(-84px + 100vh); overflow-y: auto; }
  .es-phone-note { display: none; }
}
.es-tools { display: grid; gap: 0.6rem; }
.es-tool-label { display: block; font-size: 0.8rem; font-weight: 700; color: var(--ui-text-meta); margin-bottom: 0.25rem; }
.es-types { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.es-props { display: grid; gap: 0.45rem; border-top: 1px solid var(--ui-border-light); padding-top: 0.5rem; }
.es-props[hidden] { display: none; }
.es-pages { display: grid; gap: 0.3rem; min-width: 0px; }
.es-page-no { font-size: 0.8rem; color: var(--ui-text-meta); margin-top: 0.4rem; }
.es-page { position: relative; width: 100%; max-width: 900px; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.18) 0px 1px 4px; }
.es-page canvas { display: block; width: 100%; height: 100%; }
.es-layer { position: absolute; inset: 0px; }
.es-field { position: absolute; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1.5px solid var(--c, var(--es-me, #1f6feb)); background: color-mix(in srgb, var(--c, var(--es-me, #1f6feb)) 16%, transparent); color: rgb(11, 26, 74); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 11px; line-height: 1.1; border-radius: var(--ui-radius); cursor: move; user-select: none; touch-action: none; padding: 0px; }
.es-field span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0px 2px; }
.es-field i { position: absolute; top: 0px; left: 0px; font-style: normal; font-size: 9px; font-weight: 700; color: rgb(255, 255, 255); background: var(--c); padding: 0px 3px; border-bottom-right-radius: 3px; }
.es-handle { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; background: var(--c); cursor: nwse-resize; }
@keyframes es-glow { 
  50% { background: color-mix(in srgb, var(--es-me) 32%, transparent); }
}
@keyframes es-pulse { 
  0% { box-shadow: 0 0 0 0 var(--es-me); }
  100% { box-shadow: transparent 0px 0px 0px 12px; }
}
.em-frame { display: block; width: 100%; height: 900px; border: 0px; background: rgb(242, 244, 247); margin: 0px auto; }
.phone-widget { position: fixed; right: 12px; bottom: 12px; z-index: 40; width: min(320px, -24px + 100vw); display: grid; justify-items: end; gap: 0.4rem; }
@media (max-width: 640px) {
  .phone-widget { bottom: calc(76px + env(safe-area-inset-bottom)); }
}
.pw-bar { display: inline-flex; align-items: center; gap: 0.45rem; border: 1px solid var(--ui-border-light); background: var(--ui-surface); color: var(--ui-text); border-radius: var(--pill); padding: 0.45rem 0.85rem; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; font-size: 0.9rem; cursor: pointer; box-shadow: var(--ui-shadow-menu); order: 2; }
.pw-dot { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--ui-text-meta); }
.phone-widget[data-state="idle"] .pw-dot { background: var(--ui-success); }
.phone-widget[data-state="calling"] .pw-dot, .phone-widget[data-state="ringing"] .pw-dot, .phone-widget[data-state="connected"] .pw-dot { background: var(--ui-brand); }
.phone-widget[data-state="incoming"] .pw-dot { background: var(--hot); animation: 1s ease 0s infinite normal none running pw-pulse; }
.phone-widget[data-state="incoming"] .pw-bar, .phone-widget[data-state="connected"] .pw-bar { border-color: var(--ui-brand); }
@keyframes pw-pulse { 
  50% { opacity: 0.3; }
}
.pw-panel { order: 1; width: 100%; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 0.75rem; box-shadow: var(--ui-shadow-menu); display: grid; gap: 0.5rem; }
.pw-who { font-weight: 700; font-size: 1.05rem; display: grid; gap: 0.1rem; }
.pw-sub { display: block; color: var(--ui-text-meta); font-size: 0.82rem; font-weight: 400; }
.pw-row { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pw-dial { display: flex; gap: 0.4rem; }
.pw-dial input { flex: 1 1 0%; min-width: 0px; padding: 0.45rem 0.6rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-bg); color: var(--ui-text); font-size: 16px; }
.pw-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.3rem; }
.pw-keys .btn { font-size: 1.05rem; padding: 0.45rem 0px; }
.pw-note { margin: 0px; font-size: 0.85rem; color: var(--ui-text-meta); }
.call-btn { margin-left: 0.35rem; }
.call-btn:disabled { opacity: 0.65; cursor: not-allowed; font-weight: 400; }
.panel { background: var(--ui-surface); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); min-width: 0px; }
.panel-h { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 0px 18px; }
.panel-h h2 { font-size: 16px; margin: 0px; }
.panel-h h2 .n { font-size: 16px; }
.panel-h .right { margin-left: auto; font-size: 13px; font-weight: 600; }
.panel-b { padding: 4px 18px 16px; }
@media (max-width: 640px) {
  .panel-h { padding: 0px 14px; min-height: 48px; }
  .panel-h h2 { font-size: 15px; }
}
.lr-head { padding: 6px 12px 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ui-placeholder); background: var(--ui-surface-alt); border-top: 1px solid var(--ui-border-light); }
.lr-head:first-child { border-top: 0px; }
.lr-head + a { border-top: 0px; }
.live-results a.lr-rec { display: flex; align-items: center; gap: 10px; }
.live-results a.lr-rec .ic { color: var(--ui-placeholder); }
.live-results a.lr-rec span { min-width: 0px; }
.live-results a.lr-rec b { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-results .lr-head .lr-clear { float: right; border: 0px; background: none; padding: 0px; font: inherit; letter-spacing: 0px; text-transform: none; color: var(--ui-brand); cursor: pointer; }
.live-results .lr-empty { padding: 0.55rem 0.8rem; color: var(--ui-placeholder); font-size: 0.85rem; }
.lead [id] { scroll-margin-top: calc(64px + env(safe-area-inset-top)); }
.rec-acts { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.m-acts { display: none; }
.lead-pane + .lead-pane { margin-top: 14px; }
.lead-panes.js .lead-pane { display: none; }
.lead-panes.js .lead-pane.on { display: block; }
.lead-panes.js .lead-pane + .lead-pane { margin-top: 0px; }
.pane-foot { margin: 10px 0px 0px; }
.cmp-tab { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; height: 28px; padding: 0px 10px; border-radius: var(--ui-radius); border: 1px solid var(--ui-border-light); background: var(--ui-surface); color: var(--ui-text); font-size: 12.5px; font-weight: 600; cursor: pointer; }
.cmp-pane { display: none; margin: 0px; }
#cmp-note:checked ~ .cmp-note { display: grid; gap: 8px; }
#cmp-call:checked ~ .cmp-call { display: grid; gap: 8px 10px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); align-items: end; }
#cmp-text:checked ~ .cmp-text { display: block; }
.cmp-call .wide { grid-column: 1 / -1; }
.cmp-text p { margin: 0px; padding: 10px 12px; border-radius: var(--ui-radius); background: var(--ui-surface); border: 1px dashed var(--ui-border); color: var(--ui-text-meta); font-size: 13px; }
.tl { list-style: none; margin: 0px; padding: 6px 18px; }
.tl audio { width: 100%; max-width: 460px; height: 36px; }
.panel details.edit { margin-top: 8px; }
.crow { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; padding: 8px 0px; border-top: 1px solid var(--ui-border-light); font-size: 13px; }
.crow .call-btn { margin: 4px 0px 0px; display: flex; }
.crow .call-btn[hidden] { display: none; }
.crow form.inline { margin: 0px; }
p.panel-b { margin: 0px; }
.panel .facts { margin-top: 2px; }
.ai-sum > summary { list-style: none; cursor: pointer; }
.ai-sum > summary::-webkit-details-marker { display: none; }
.ai-sum > summary h2 { margin: 0px; }
.ai-sum .panel-b h3:first-child { margin-top: 0px; }
@media (max-width: 640px) {
  .rec-acts { display: none; }
  .m-acts { display: flex; gap: 8px; width: 100%; align-items: center; }
  .cmp-tab { flex: 1 1 0%; justify-content: center; height: 34px; }
  .tl { padding: 4px 14px; }
}
.crow .call-btn { min-height: 26px; padding: 0px 10px; font-size: 12px; white-space: nowrap; }
@media (min-width: 641px) {
  .phone-widget[data-state="off"]:not(:has(.pw-panel)) { display: none; }
}
@media (max-width: 640px) {
  .phone-widget[data-state="off"] { position: static; width: auto; margin: 0px 10px 24px; justify-items: center; }
  body:has(.phone-widget:not([hidden]):not([data-state="off"])) { padding-bottom: 132px; }
}
.pf-why { display: block; flex-basis: 100%; margin: 4px 0px 0px; color: var(--ui-text-meta); font-size: 12.5px; line-height: 1.4; font-weight: 500; }
.rec-acts > .pf-why, .m-acts > .pf-why { text-align: right; }
.m-acts > .pf-why { text-align: left; }
.b1-choice { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 0.6rem 0.8rem 0.7rem; margin: 0px; display: grid; gap: 0.35rem; min-width: 0px; }
.b1-choice legend { padding: 0px 0.3rem; font-weight: 600; color: var(--ui-text); font-size: 13.5px; }
.b1-choice .radio { font-size: 14px; }
.b1-upload { display: flex; flex-wrap: wrap; align-items: end; gap: 0.5rem; border-bottom: 1px solid var(--ui-border-light); }
.b1-upload .b1-picked { flex-basis: 100%; }
.bulk-form [data-for][hidden] { display: none; }
.f-pane { display: block; }
.f-send { display: grid; gap: 0.45rem; margin: 0.4rem 0px; }
.f-send textarea { width: 100%; }
.f-tpl select { max-width: 260px; }
fieldset { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 0.5rem 0.75rem; margin: 0px; min-width: 0px; }
legend { font-size: 13px; color: var(--ui-text-meta); padding: 0px 0.3rem; }
.f-thread { list-style: none; margin: 0.3rem 0px 0.6rem; padding: 0px; display: flex; flex-direction: column; gap: 0.5rem; max-height: 440px; overflow-y: auto; }
.f-msg { max-width: min(560px, 88%); }
.f-msg.out { align-self: flex-end; text-align: right; }
.f-b { white-space: pre-wrap; overflow-wrap: anywhere; padding: 9px 12px; border-radius: var(--ui-radius); background: var(--in); border: 1px solid var(--ui-border-light); text-align: left; }
.f-msg.out .f-b { background: var(--ui-tint); border-color: var(--ui-tint); }
.f-meta { display: flex; gap: 0.4rem; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--ui-text-meta); margin-top: 0.2rem; }
.f-msg.out .f-meta { justify-content: flex-end; }
.f-filters { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; margin-bottom: 0.4rem; }
.f-inbox { list-style: none; margin: 0px; padding: 0px; background: var(--ui-surface); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); overflow: hidden; }
.f-inbox li { border-bottom: 1px solid var(--ui-border-light); }
.f-inbox li:last-child { border-bottom: 0px; }
.f-inbox a { display: block; padding: 0.65rem 0.9rem; color: var(--ui-text); text-decoration: none; }
.f-inbox a:hover { background: var(--ui-surface-alt); }
.f-dial { display: grid; gap: 1rem; grid-template-columns: minmax(0px, 1fr); }
@media (min-width: 1000px) {
  .f-dial { grid-template-columns: minmax(0px, 3fr) minmax(300px, 2fr); align-items: start; }
}
.f-stop { margin-top: 0.6rem; }
.f-script-body { font-size: 14px; line-height: 1.55; max-height: 60vh; overflow-y: auto; }
.f-cell-btn { margin-left: 0.25rem; }
@media (max-width: 640px) {
  .f-thread { max-height: none; }
  .f-msg { max-width: 94%; }
}
.cmp-text.f-pane p { margin: 0.3rem 0px; padding: 0px; border: 0px; background: none; border-radius: 0px; }
.f-cell-btn { background: none; border: 0px; padding: 0px 0.35rem; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; color: var(--ui-brand); text-decoration: underline; cursor: pointer; white-space: nowrap; }
.f-cell-btn:disabled { color: var(--ui-placeholder); cursor: not-allowed; text-decoration: none; }
[data-f-next-form][hidden] { display: none !important; }
.tag-src { display: inline-block; font-size: 11px; font-weight: 600; line-height: 16px; color: var(--ui-placeholder); border: 1px solid var(--ui-border-light); border-radius: 4px; padding: 0px 5px; margin-left: 4px; vertical-align: 1px; }
.off-line { color: var(--ui-text-meta); font-size: 13px; margin: 0.35rem 0px; }
.off-line a { font-weight: 600; }
[data-lead-call].is-off { opacity: 0.45; cursor: not-allowed; }
.lead .linkish { text-decoration: none; color: var(--ui-brand); font-weight: 600; }
.lead .linkish.danger { color: var(--ui-error); }
.tl-foot { display: flex; gap: 18px; }
@media (max-width: 640px) {
  .cmp-tab { height: 40px; }
}
.f-filters label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ui-text-meta); font-weight: 600; }
.f-filters select { width: auto; }
@media (max-width: 640px) {
  .f-filters { flex-direction: column; align-items: stretch; }
  .f-inbox a { padding: 0.7rem 0.9rem; }
}
.f-rules { display: grid; gap: 14px; max-width: 780px; }
.f-rules label:not(.check) { display: grid; gap: 5px; font-size: 13px; font-weight: 600; color: var(--ui-text); align-content: start; }
.f-rules label:not(.check) input, .f-rules label:not(.check) select { width: 100%; }
.f-group { border-top: 1px solid var(--ui-border-light); padding-top: 12px; }
.f-pick { color: var(--ui-text-meta); font-weight: 600; }
.f-picker > summary { list-style: none; cursor: pointer; }
.f-picker > summary::-webkit-details-marker { display: none; }
.f-tpl-body { margin-top: 2px; overflow-wrap: anywhere; }
@media (min-width: 641px) {
  .f-picker > summary { display: none; }
}
@media (max-width: 640px) {
  .f-picker > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0px 12px; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--in); font-size: 16px; }
  .f-picker[open] > summary { margin-bottom: 6px; }
}
#cmp-note:checked ~ .cmp-text.f-pane, #cmp-call:checked ~ .cmp-text.f-pane { display: none; }
.f-page { min-width: 0px; max-width: 100%; }
.f-filters { min-width: 0px; max-width: 100%; }
.c2-find { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: flex-end; margin-bottom: 0.75rem; }
.c2-find label { flex: 1 1 16rem; display: flex; flex-direction: column; gap: 0.25rem; }
form.inline.c2-tform { display: inline-flex; margin-top: 0.35rem; }
@media print {
  .c2-find { display: none; }
}
.d2-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.d2-tbl th { text-align: left; font-weight: 600; font-size: 12.5px; color: var(--ui-text); white-space: nowrap; border-top: 1px solid var(--ui-border-light); }
.d2-tbl th, .d2-tbl td { padding: 10px 12px; border-bottom: 1px solid var(--ui-border-light); vertical-align: middle; }
.d2-tbl th + th, .d2-tbl td + td { border-left: 1px solid var(--ui-border-light); }
.d2-tbl tr:last-child td { border-bottom: 0px; }
.d2-tbl tbody tr:hover td { background: var(--ui-surface-alt); }
.d2-tbl td.t { white-space: nowrap; color: var(--ui-text-meta); width: 1%; }
.d2-tbl td.t b { color: var(--ui-text); }
.d2-tbl .sub { display: block; color: var(--ui-text-meta); font-size: 12px; font-weight: 500; margin-top: 1px; }
.d2-tbl a.ink { color: var(--ui-text); font-weight: 600; }
.d2-tbl td.num { text-align: right; white-space: nowrap; width: 1%; }
.d2-tbl tr.day td { background: var(--ui-surface-alt); font-weight: 600; font-size: 12.5px; padding: 8px 12px; border-left: 0px; }
.d2-tbl tr.day td .muted { font-weight: 500; }
.d2-tbl tr.day.today td { color: var(--ui-brand); }
.d2-tbl tr.now td { padding: 0px; height: 0px; border-bottom: 2px solid var(--ui-error); }
.d2-tbl tr.now:hover td { background: none; }
.d2-tbl tr.done a.ink, .d2-tbl tr.done td.t b { color: var(--ui-text-meta); font-weight: 500; }
.d2-calbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1 1 0%; }
.d2-calbar .icon-btn { width: 32px; height: 32px; border-radius: var(--ui-radius); border: 1px solid var(--ui-border-light); background: var(--ui-surface); }
.d2-calbar .icon-btn:hover { background: var(--ui-surface-alt); text-decoration: none; }
.d2-calbar .icon-btn .ic { width: 16px; height: 16px; }
.d2-calbar select { width: auto; padding: 0.35rem 0.6rem; font-size: 13px; }
.d2-calbar select.on { border-color: var(--ui-brand); color: var(--ui-brand); font-weight: 600; }
.d2-range { font-size: 15px; font-weight: 600; margin-left: 4px; }
.d2-grow { flex: 1 1 0%; }
.d2-pick { display: flex; gap: 6px; align-items: center; margin: 0px; }
.d2-who { font-size: 12px; font-weight: 600; color: var(--ui-brand); background: var(--ui-tint); border-radius: var(--ui-radius); padding: 1px 7px; }
.d2-kind { display: inline-block; font-size: 11px; font-weight: 600; border-radius: var(--ui-radius); padding: 0px 6px; background: var(--chip); color: var(--ui-text-meta); white-space: nowrap; }
.d2-kind.ap { background: var(--ui-brand-btn); color: var(--ui-on-accent); }
.d2-mini { padding: 0px 14px 14px; }
.d2-mini table { width: 100%; border-collapse: collapse; font-size: 12.5px; text-align: center; table-layout: fixed; }
.d2-mini th { color: var(--ui-placeholder); font-weight: 600; font-size: 11px; padding: 4px 0px; }
.d2-mini td { padding: 2px 0px; }
.d2-mini td a { display: inline-block; color: inherit; text-decoration: none; }
.d2-mini td span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--ui-text); font-weight: 500; position: relative; }
.d2-mini td a:hover span { background: var(--ui-surface-alt); }
.d2-mini td.out span { color: var(--ui-placeholder); }
.d2-mini td.has span { font-weight: 700; }
.d2-mini td.has span::after, .d2-mini td.late span::after { content: ""; position: absolute; bottom: 3px; width: 4px; height: 4px; border-radius: 50%; background: var(--ui-brand); }
.d2-mini td.late span::after { background: var(--ui-error); }
.d2-mini td.today span, .d2-mini td.today a:hover span { background: var(--ui-brand-btn); color: var(--ui-on-accent); }
.d2-mini td.today span::after { background: var(--ui-on-accent); }
.d2-mini-h { display: flex; align-items: center; gap: 6px; padding: 0px 14px; min-height: 48px; }
.d2-mini-h b { font-size: 15px; flex: 1 1 0%; }
.d2-mini-h .icon-btn .ic { width: 16px; height: 16px; }
.d2-show { display: grid; gap: 8px; }
.d2-show .n { color: var(--ui-placeholder); font-size: 12.5px; }
.d2-show p { margin: 4px 0px 0px; }
.d2-show .btn { justify-self: start; }
.d2-find { display: flex; gap: 8px; align-items: center; }
.d2-find input { flex: 1 1 0%; min-width: 0px; }
html.d2-js .d2-nojs { display: none; }
@media (max-width: 640px) {
  .d2-grow { display: none; }
  .d2-calbar .seg { flex: 0 0 auto; }
  .d2-tbl th, .d2-tbl td { padding: 9px 10px; }
  .d2-tbl .hide-ph, .d2-note { display: none; }
}
@media (min-width: 641px) {
  .d2-tbl .sub.ph { display: none; }
}
.d2-bell > summary { position: relative; }
.d2-bell > summary .ic { width: 20px; height: 20px; }
.d2-count { position: absolute; top: -1px; right: -7px; min-width: 15px; height: 15px; padding: 0px 3px; border-radius: 8px; background: var(--red-dot); color: rgb(255, 255, 255); font-size: 10px; font-weight: 700; line-height: 15px; text-align: center; border: 2px solid var(--ui-bg); box-sizing: content-box; }
.pop-sheet.d2-alerts { width: 420px; right: -40px; padding: 0px; display: block; }
.d2-al-h { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--ui-border-light); }
.d2-al-h b { font-size: 15px; }
.d2-al-h .n { color: var(--ui-placeholder); font-size: 13px; }
.d2-al-h form { margin: 0px 0px 0px auto; border: 0px; }
.pop-sheet .d2-al-h button.d2-link { display: inline; width: auto; padding: 0px; background: none; border: 0px; color: var(--ui-brand); font-size: 13px; font-weight: 600; cursor: pointer; }
.pop-sheet .d2-al-h button.d2-link:hover { background: none; text-decoration: underline; }
.d2-al { list-style: none; margin: 0px; padding: 0px; max-height: 520px; overflow-y: auto; }
.d2-al li { display: grid; grid-template-columns: 30px minmax(0px, 1fr) auto; gap: 0px 10px; padding: 10px 16px; border-top: 1px solid var(--ui-border-light); align-items: start; }
.d2-al li:first-child { border-top: 0px; }
.d2-al li.new { background: var(--ui-tint); }
.d2-al li:hover { background: var(--ui-surface-alt); }
.d2-al .ico { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--chip); color: var(--ui-icon); }
.d2-al .ico .ic { width: 15px; height: 15px; }
.d2-al .ico.red { background: var(--ui-error-soft); color: var(--ui-error); }
.d2-al .ico.teal { background: var(--ui-tint); color: var(--ui-brand); }
.d2-al .ico.green { background: var(--ui-success-soft); color: var(--ui-success); }
.d2-al .ico.orange { background: var(--hot-soft); color: var(--hot); }
.d2-al a.txt { display: block; font-size: 13px; line-height: 18px; color: var(--ui-text); font-weight: 500; min-width: 0px; text-decoration: none; }
.d2-al a.txt:hover > span:first-child { text-decoration: underline; }
.d2-al li.new .txt > span:first-child { font-weight: 700; }
.d2-al .txt small { display: block; color: var(--ui-text-meta); font-size: 12px; }
.d2-al .when { font-size: 11.5px; color: var(--ui-placeholder); white-space: nowrap; display: flex; align-items: center; gap: 6px; }
.d2-al li.new .when::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ui-brand); }
.d2-al-f { padding: 10px 16px; border-top: 1px solid var(--ui-border-light); font-size: 12px; color: var(--ui-text-meta); }
.d2-al-f a { font-weight: 600; }
.d2-al-empty { margin: 0px; padding: 16px; font-size: 13px; color: var(--ui-text-meta); }
.d2-al-page { max-height: none; }
.d2-head-form { margin: 0px 0px 0px auto; }
@media (max-width: 640px) {
  .d2-bell { position: static; }
  .pop-sheet.d2-alerts { position: fixed; left: 8px; right: 8px; top: calc(58px + env(safe-area-inset-top)); width: auto; }
  .d2-al { max-height: calc(-220px + 100vh); }
  .d2-al-page { max-height: none; }
  .d2-al li { padding: 10px 12px; }
  .d2-count { border-color: var(--ui-surface); }
}
.e2-off { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: baseline; color: var(--ui-text-meta); font-size: 13px; margin: 0.25rem 0px 0.5rem; }
.e2-email { background: rgb(255, 255, 255); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 16px; overflow-x: auto; }
.m1-push p { margin: 0px; }
.m1-push [hidden] { display: none !important; }
@media (max-width: 640px) {
  main { padding-left: calc(10px + env(safe-area-inset-left)); padding-right: calc(10px + env(safe-area-inset-right)); }
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  .pop-sheet.d2-alerts { top: calc(58px + env(safe-area-inset-top)); max-height: calc(100dvh - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; }
  .btn, .btn.small { min-height: 44px; }
  .pop-sheet button { min-height: 44px; display: flex; align-items: center; }
  .pop-sheet button.d2-link { width: auto; min-height: 44px; }
  .linkish, main details > summary { min-height: 44px; }
  .linkish { display: inline-flex; align-items: center; }
  main details > summary { display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; }
  label.check, label.radio { min-height: 44px; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]), select, textarea { font-size: 16px !important; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]), select { min-height: 44px; }
  .search input { height: 44px; }
  input[type="checkbox"], input[type="radio"] { width: 20px; height: 20px; }
  table.m1-cards, table.m1-cards tbody, table.m1-cards tr, table.m1-cards td { display: block; width: auto; }
  table.m1-cards tr.m1-headrow { display: none; }
  table.m1-cards tr { border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 0.45rem 0.7rem; margin: 0px 0px 0.5rem; background: var(--ui-surface); }
  table.m1-cards td { border: 0px !important; padding: 0.2rem 0px !important; text-align: left !important; white-space: normal !important; }
  table.m1-cards td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; font-size: 11.5px; font-weight: 600; color: var(--ui-text-meta); }
  dialog, [role="dialog"] { max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; }
  .phone-widget { right: calc(12px + env(safe-area-inset-right)); }
  html.m1-typing .phone-widget { display: none !important; }
}
@media (max-width: 640px) {
  .btn, .btn.small { height: auto; min-height: 44px !important; }
  .d3-swbtn { min-height: 44px; padding: 0px 6px; }
  input[type="date"], input[type="time"], input[type="datetime-local"] { height: auto; }
  main select, main input, main textarea { max-width: 100%; }
  main form.inline { flex-wrap: wrap; max-width: 100%; }
  main details[open] { max-width: 100%; }
}
body:has(.m1-callsheet) .phone-widget { display: none; }
@media (max-width: 640px) {
  main .stack > *, main .small-form > *, main .form-grid > *, main form.inline > * { min-width: 0px; }
  main details[open], main .form-grid, main .small-form { min-width: 0px; max-width: 100%; }
  main details[open] select { width: 100%; }
}
body.d1-open { overflow: hidden; }
.d1-scrim { position: fixed; inset: 0px; z-index: 60; background: rgba(0, 0, 0, 0.38); }
.d1-modal { position: fixed; z-index: 61; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 640px; max-width: calc(100% - 24px); max-height: calc(100% - 24px); overflow-y: auto; background: var(--ui-surface); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); color: var(--ui-text); }
body.d1-open .phone-widget[data-state="incoming"], body.d1-open .phone-widget[data-state="connected"], body.d1-open .phone-widget[data-state="calling"], body.d1-open .phone-widget[data-state="ringing"] { z-index: 62; }
.d1-modal:focus { outline: none; }
.d1-modal [hidden] { display: none !important; }
.d1-mb[hidden], .d1-mf[hidden] { display: none; }
.d1-mh { padding: 20px 24px 14px; border-bottom: 1px solid var(--ui-border-light); }
.d1-mh h2 { font-size: 19px; margin: 2px 0px 4px; }
.d1-stepno { font-size: 12px; font-weight: 600; color: var(--ui-brand); letter-spacing: 0.02em; }
.d1-mb { padding: 8px 24px 18px; }
.d1-mf { display: flex; align-items: center; gap: 12px; padding: 14px 24px; border-top: 1px solid var(--ui-border-light); background: var(--ui-surface-alt); border-radius: 0 0 var(--ui-radius) var(--ui-radius); }
.d1-mf .btn { margin-left: auto; min-width: 110px; }
.d1-backlink { text-decoration: none; font-size: 13px; }
.d1-backlink:hover { text-decoration: underline; }
.d1-group { font-size: 12px; font-weight: 600; color: var(--ui-text-meta); margin: 12px 0px 8px; text-transform: uppercase; letter-spacing: 0.05em; }
.d1-grid { display: grid; gap: 6px; }
.d1-grid.three { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.d1-grid.two { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.d1-opt { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0px 12px; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-surface); color: var(--ui-text); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; position: relative; }
.d1-opt:hover { background: var(--ui-surface-alt); }
.d1-opt.on, .d1-opt:has(input:checked) { background: var(--ui-tint); border-color: var(--ui-brand); color: var(--ui-brand); }
.d1-opt input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.d1-opt:has(input:focus-visible) { outline: 2px solid var(--ui-brand); outline-offset: 1px; }
.d1-big .d1-opt { min-height: 58px; font-size: 15px; white-space: normal; text-align: center; line-height: 1.2; }
.d1-chosen { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--ui-radius); background: var(--ui-tint); border: 1px solid var(--ui-tint); margin-top: 12px; }
.d1-chosen b { color: var(--ui-brand); font-size: 15px; }
.d1-change { margin-left: auto; background: none; border: 0px; padding: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 13px; font-weight: 600; color: var(--ui-brand); cursor: pointer; }
.d1-change:hover { text-decoration: underline; }
.d1-suggest { margin-top: 14px; display: grid; gap: 12px; }
.d1-suggest textarea { min-height: 84px; }
.d1-next { border: 0px; padding: 0px; margin: 0px; min-width: 0px; display: grid; gap: 12px; }
.d1-next[hidden] { display: none; }
.d1-next h3 { margin: 0px; font-size: 14px; }
.d1-lbl { font-size: 0.85rem; color: var(--ui-text-meta); margin: 0px 0px 0.2rem; }
.d1-inline { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.d1-inline > label { flex: 1 1 140px; }
.d1-inline > .d1-wide { flex: 2 1 260px; }
.d1-task, .d1-taskbody, .d1-sub { display: grid; gap: 12px; min-width: 0px; }
.d1-sub[hidden] { display: none; }
.d1-task.off .d1-taskbody { opacity: 0.5; }
.d1-reason { margin: 0px; padding: 8px 12px; border-radius: var(--ui-radius); background: var(--ui-surface-alt); border: 1px solid var(--ui-border-light); }
.d1-hint { margin: 0px; }
.d1-ask { display: grid; gap: 6px; padding: 10px 12px; border-radius: var(--ui-radius); border: 1px solid var(--ui-border-light); }
.d1-ask .d1-lbl { color: var(--ui-text); font-weight: 600; }
.d1-err { margin: 0px; padding: 8px 12px; border-radius: var(--ui-radius); background: var(--ui-error-soft); border: 1px solid var(--ui-error); color: var(--ui-text); font-size: 13.5px; }
.d1-err[hidden] { display: none; }
.d1-done { position: fixed; z-index: 45; left: 50%; top: 64px; transform: translateX(-50%); width: min(560px, 100% - 24px); margin: 0px; box-shadow: var(--ui-shadow-menu); }
@media (max-width: 640px) {
  .d1-grid.three { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .d1-mh { padding: 16px 16px 12px; }
  .d1-mh h2 { font-size: 18px; }
  .d1-mb { padding: 4px 16px 14px; }
  .d1-mf { padding: 12px 16px; }
  .d1-big .d1-opt { min-height: 50px; font-size: 14.5px; }
  .d1-done { top: 60px; }
}
.b3-lookat { margin-left: auto; }
.b3-lookat label { display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--ui-text-meta); }
.b3-lookat select { font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; padding: 5px 8px; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-field); color: var(--ui-text); max-width: 14rem; }
@media (max-width: 640px) {
  .b3-lookat { margin-left: 0px; width: 100%; }
  .b3-lookat select { max-width: none; flex: 1 1 0%; }
}
@media print {
  body { background: rgb(255, 255, 255) !important; color: rgb(0, 0, 0) !important; }
  .btn, .b3-lookat { display: none !important; }
  .box, .panel { break-inside: avoid; box-shadow: none !important; border: 1px solid rgb(187, 187, 187) !important; }
  a { color: rgb(0, 0, 0); text-decoration: none; }
}
.c3-page h2, .c3-todo h2, .c3-callbook legend { display: inline-flex; align-items: center; gap: 6px; }
.c3-callbook { display: none; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); padding: 0.6rem 0.8rem 0.8rem; margin: 0px; background: var(--ui-tint); }
.c3-callbook legend { font-weight: 600; font-size: 13px; padding: 0px 4px; }
.c3-todo { margin-bottom: 14px; }
.c3-page { max-width: 880px; }
.d3-swbtn { background: none; border: 0px; padding: 4px 0px; font: inherit; cursor: pointer; color: inherit; }
.d3-note { color: var(--ui-text-meta); font-size: 12.5px; }
.d3-steps { list-style: none; margin: 0px; padding: 0px 18px 4px; }
.d3-step { display: grid; grid-template-columns: 30px 30px minmax(0px, 1fr) auto; gap: 0px 12px; align-items: center; padding: 10px 0px; }
.d3-wait { display: flex; align-items: center; gap: 8px; padding: 2px 0px 2px 42px; font-size: 12px; color: var(--ui-text-meta); }
.d3-wait::before { content: ""; width: 1px; height: 22px; background: var(--ui-border); margin-left: -27px; margin-right: 18px; }
.d3-wait a { margin-left: auto; font-weight: 600; font-size: 12.5px; }
.d3-wait.end { padding: 2px 0px 10px 42px; gap: 18px; }
.d3-wait.end::before { display: none; }
.d3-wait.end a { margin-left: 0px; }
.d3-startform { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.d3-startform select { font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; padding: 0.35rem 0.5rem; border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); background: var(--ui-field); color: var(--ui-text); max-width: 100%; }
.d3-boxpreview { max-width: 380px; }
@media (max-width: 640px) {
  .d3-step { grid-template-columns: 26px minmax(0px, 1fr) auto; gap: 0px 10px; }
  .d3-wait { padding-left: 36px; }
  .d3-wait::before { margin-left: -23px; margin-right: 14px; }
  .d3-wait.end { padding-left: 0px; flex-wrap: wrap; gap: 6px 18px; }
  .d3-steps { padding: 0px 14px 4px; }
  .d3-boxpreview { max-width: none; }
}
.c1-calls td { vertical-align: middle; }
.c1-calls audio { width: 210px; height: 32px; display: block; }
.c1-block { display: inline; }
.c1-audio-form { display: grid; gap: 0.45rem; margin: 0.5rem 0px; }
.c1-audio-form input[type="file"] { max-width: 100%; }
@media (max-width: 600px) {
  .c1-calls audio { width: 170px; }
}
.c1-calls td:nth-child(4) { min-width: 90px; }
.linkish { color: var(--ui-brand); text-decoration: none; font-weight: 600; }
.linkish.danger { color: var(--ui-error); }
.f-cell-btn { text-decoration: none; }
@media (min-width: 641px) {
  .btn.ghost { min-height: 32px; }
  .btn.small { min-height: 30px; }
}
.notice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0px 0px 12px; font-size: 13px; color: var(--ui-text-meta); }
.notice b { color: var(--ui-text); }
@media (max-width: 640px) {
  table.m1-cards tr { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--ui-border-light); border-radius: 0px; padding: 10px 0px; margin: 0px; background: none; }
  table.m1-cards td { display: inline; color: var(--ui-text-meta); font-size: 13px; padding: 0px !important; }
  table.m1-cards td + td::after { content: ""; margin-right: 12px; }
  table.m1-cards td:first-child { display: block; color: var(--ui-text); font-weight: 600; font-size: 14px; margin-bottom: 2px; }
  table.m1-cards td[data-label]:not([data-label=""])::before { display: inline; font-size: 12px; font-weight: 500; color: var(--ui-placeholder); margin-right: 4px; }
  table.m1-cards td:first-child::before { display: none !important; }
  table.m1-cards td + td::after { content: none; }
  table.m1-cards td + td { margin-right: 12px; }
}
.d1-mf:empty { display: none; }
.p-incoming input[type="number"] { max-width: 8rem; }
.p-alerts select { min-width: 9rem; }
@media (max-width: 640px) {
  .p-alerts thead { display: none; }
  .p-alerts, .p-alerts tbody, .p-alerts tr { display: block; }
  .p-alerts tr { display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem 0.6rem; padding: 0.55rem 0px; border-top: 1px solid var(--ui-border-light); }
  .p-alerts tr th { grid-column: 1 / -1; border: 0px; padding: 0px; }
  .p-alerts td { border: 0px; padding: 0px; }
  .p-alerts td::before { content: attr(data-label); display: block; font-size: 0.72rem; color: var(--ui-text-meta); }
  .p-alerts select { min-width: 0px; width: 100%; }
}
.es-who { border-bottom: 1px solid var(--ui-border-light); padding-bottom: 0.6rem; }
.es-step { font-size: 0.85rem; color: var(--text); }
.es-roles { display: grid; gap: 0.3rem; }
.es-role { display: flex; align-items: center; gap: 0.45rem; min-height: 32px; padding: 0.3rem 0.55rem; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.88rem; text-align: left; background: var(--ui-surface); color: var(--text); border: 1px solid var(--ui-border-light); border-radius: var(--ui-radius); cursor: pointer; }
.es-role i { width: 12px; height: 12px; border-radius: 3px; background: var(--c); flex: 0 0 auto; }
.es-role small { margin-left: auto; color: var(--ui-text-meta); font-size: 0.75rem; }
.es-role.on { border-color: var(--c); box-shadow: inset 3px 0 0 var(--c); font-weight: 700; }
.es-role-edit { display: grid; gap: 0.3rem; margin-top: 0.4rem; font-size: 0.85rem; }
.es-field i { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pw-wrap { position: relative; display: block; }
.pw-wrap input { width: 100%; padding-right: 4.2rem; }
.pw-show { position: absolute; right: 0.35rem; top: 50%; transform: translateY(-50%); background: none; border: 0px; color: var(--ui-brand); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer; padding: 0.3rem 0.4rem; min-height: 32px; }
.d2-tbl tr.rb-total td { font-weight: 700; border-top: 1px solid var(--ui-border); }
.rb-tv .d2-tbl td, .rb-tv .d2-tbl th { font-size: 18px; }
.d2-tbl th.num, .d2-tbl td.num { text-align: right; white-space: nowrap; }
.d2-tbl tr.g3-total td { font-weight: 700; border-top: 1px solid var(--ui-border); }
.es-a { display: grid; gap: 16px; grid-template-columns: minmax(0px, 1fr); align-items: start; }
@media (min-width: 1100px) {
  .es-a { grid-template-columns: minmax(0px, 560px) minmax(0px, 1fr); }
}
.es-a-form { display: grid; gap: 14px; min-width: 0px; }
.es-a .es-pick { max-width: none; }
.es-a label { font-size: 13px; font-weight: 600; }
}
