:root {
    color-scheme: light;

    /* Brand + semantic colors */
    --od-primary: #002B55;
    --od-primary-hover: #00213F;
    --od-primary-soft: #EAF2F8;
    --od-primary-border: #B9CAD8;
    --od-navy: #002B55;
    --od-topbar-navy: #0D3358;
    --od-blue-700: #002B55;
    --od-blue-600: #0D5E9C;
    --od-blue-500: #2D79B7;
    --od-blue-100: #D8E8F3;
    --od-blue-50: #EAF2F8;
    --od-text: #102033;
    --od-muted: #5E6B78;
    --od-border: #DDE5EC;
    --od-surface: #FFFFFF;
    --od-surface-soft: #F8FAFC;
    --od-success: #2F8F5B;
    --od-warning: #B7791F;
    --od-warning-soft: #FFF7E6;
    --od-warning-border: #E8C77A;
    --od-success-border: #BFE3CF;
    --od-danger: #B42318;
    --od-danger-soft: #FEF2F2;
    --od-danger-border: #FECACA;

    /* July 2026 public marketing kit */
    --od-deep-ink: #0D1B2A;
    --od-steel-blue: #214E6F;
    --od-ocean-blue: #4F7FA3;
    --od-mist-blue: #D9E6EF;
    --od-shell-white: #FAFAFA;
    --od-sand: #E9DCC5;

    --od-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --od-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
    --od-shadow-lg: 0 16px 40px rgba(15, 23, 42, 0.10);
    --od-shadow-primary: 0 10px 24px rgba(0, 43, 85, 0.16);

    --color-primary: var(--od-primary);
    --color-primary-hover: var(--od-primary-hover);
    --color-primary-soft: var(--od-primary-soft);
    --color-success: var(--od-success);
    --color-success-soft: #ECF7F1;
    --color-warning: var(--od-warning);
    --color-warning-soft: var(--od-warning-soft);
    --color-error: var(--od-danger);
    --color-error-soft: #FEF2F2;
    --color-info: #0D5E9C;
    --color-info-soft: var(--od-blue-50);

    /* Surfaces */
    --color-bg-app: #F7F9FB;
    --color-bg-canvas: var(--od-surface);
    --color-surface: var(--od-surface);
    --color-surface-muted: var(--od-surface-soft);
    --color-surface-subtle: #EEF3F7;
    --color-surface-inverse: var(--od-text);

    /* Text */
    --color-text: #102033;
    --color-text-strong: var(--od-text);
    --color-text-muted: #5E6B78;
    --color-text-faint: #7D8996;
    --color-text-inverse: #F8FAFC;

    /* Borders */
    --color-border: var(--od-border);
    --color-border-strong: #B8C8D6;
    --color-border-focus: rgba(0, 43, 85, 0.20);

    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(24, 34, 48, 0.04);
    --shadow-md: 0 10px 28px rgba(24, 34, 48, 0.06);
    --shadow-lg: 0 18px 44px rgba(24, 34, 48, 0.08);
    --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.72);

    /* Radius */
    --radius-sm: 5px;
    --radius-md: 5px;
    --radius-lg: 5px;
    --radius-pill: 5px;

    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 2rem;
    --space-8: 2.5rem;
    --space-9: 3rem;

    /* Focus */
    --focus-ring: 0 0 0 4px var(--color-border-focus);

    /* Typography */
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;
    --line-height-base: 1.5;
}

/* LAUNCH-POLISH-008: domains and hosted-site workflow clarity only. */
.domains-sites-launch-polish-008 .top-level-v2__metric strong,
.domains-sites-launch-polish-008 .website-builder-media-shell strong,
.domains-sites-launch-polish-008 .helper-text { overflow-wrap: anywhere; }
.domains-sites-journey {
  margin: 1rem 0 1.5rem;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid var(--od-border, #dce5e2);
  border-radius: 16px;
  background: linear-gradient(135deg, #f4faf8, #fff);
}
.domains-sites-journey__intro { max-width: 760px; }
.domains-sites-journey__intro h3 { margin: .2rem 0 .45rem; }
.domains-sites-journey__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.domains-sites-journey__steps li { display: flex; gap: .65rem; min-width: 0; padding: .85rem; border: 1px solid #dce5e2; border-radius: 12px; background: #fff; }
.domains-sites-journey__steps li > span { display: grid; place-items: center; flex: 0 0 1.75rem; height: 1.75rem; border-radius: 50%; background: #e8efed; font-weight: 800; }
.domains-sites-journey__steps li.is-current { border-color: #d7a836; background: #fffbeb; }
.domains-sites-journey__steps li.is-complete { border-color: #83b9aa; background: #f1faf7; }
.domains-sites-journey__steps li.is-complete > span { background: #176b59; color: #fff; }
.domains-sites-journey__steps strong,
.domains-sites-journey__steps small { display: block; overflow-wrap: anywhere; }
.domains-sites-journey__steps small { margin-top: .2rem; color: var(--od-muted, #526864); }
.domains-sites-journey__actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.domains-sites-support-state { padding: 1rem; border: 1px solid #dce5e2; border-radius: 12px; background: #f8faf9; }
.domains-sites-launch-polish-008 input[type="text"] { min-width: 0; max-width: 100%; }
.domains-sites-launch-polish-008 a:focus-visible,
.domains-sites-launch-polish-008 button:focus-visible,
.domains-sites-launch-polish-008 input:focus-visible { outline: 3px solid #2b7a68; outline-offset: 2px; }
@media (max-width: 860px) {
  .domains-sites-journey__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .domains-sites-journey__steps { grid-template-columns: minmax(0, 1fr); }
  .domains-sites-journey__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .domains-sites-journey__actions .button,
  .domains-sites-launch-polish-008 .website-builder-media-form__footer .button,
  .domains-sites-support-state .button { width: 100%; min-height: 44px; white-space: normal; }
  .domains-sites-launch-polish-008 .website-builder-media-shell__header,
  .domains-sites-launch-polish-008 .dashboard-list__row { align-items: flex-start; }
}

/* Platform Support Cockpit V1 */
.support-cockpit {
    display: grid;
    gap: 1.25rem;
}

.support-cockpit__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.support-cockpit__metrics .od-v2-stat-card {
    color: inherit;
    text-decoration: none;
}

.support-cockpit__metrics .od-v2-stat-card span {
    display: grid;
    gap: 0.25rem;
}

.support-cockpit__metrics small,
.support-cockpit__metrics em {
    color: var(--color-text-muted, #64748b);
    font-style: normal;
}

.support-cockpit__metrics strong {
    font-size: 1.8rem;
}

.support-cockpit__filters {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(170px, 1fr)) auto;
    gap: 1rem;
    align-items: end;
    padding: 1.25rem;
}

.support-cockpit__filters label {
    display: block;
    margin-bottom: 0.4rem;
    font-weight: 700;
}

.support-cockpit__filter-actions,
.support-tenant-card__footer {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.support-cockpit__tenant-list {
    display: grid;
    gap: 1rem;
}

.support-tenant-card {
    border: 1px solid var(--color-border, #dbe4ea);
    border-radius: 18px;
    background: var(--color-surface, #fff);
    padding: 1.25rem;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.support-tenant-card__header,
.support-tenant-card__work {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(250px, 0.8fr);
    gap: 1rem;
}

.support-tenant-card__header {
    align-items: start;
}

.support-tenant-card__header h4 {
    margin: 0.15rem 0 0.25rem;
    font-size: 1.35rem;
}

.support-tenant-card__header p,
.support-next-action p,
.support-tenant-card__notes p {
    margin: 0;
    color: var(--color-text-muted, #64748b);
}

.support-tenant-card__badges {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.support-health-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.support-health-grid > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.85rem;
    border-radius: 12px;
    background: var(--color-surface-muted, #f7fafc);
}

.support-health-grid span,
.support-health-grid small {
    color: var(--color-text-muted, #64748b);
}

.support-health-grid span {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.support-next-actions,
.support-tenant-card__notes {
    padding: 1rem;
    border-radius: 14px;
    background: var(--color-surface-muted, #f7fafc);
}

.support-next-actions h5,
.support-tenant-card__notes h5 {
    margin: 0 0 0.75rem;
}

.support-next-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--color-border, #dbe4ea);
}

.support-next-action:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.support-cockpit__issue-line {
    display: grid;
    gap: 0.15rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--color-border, #dbe4ea);
}

.support-cockpit__issue-line span {
    color: var(--color-text-muted, #64748b);
    font-size: 0.85rem;
}

.support-tenant-card__footer {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border, #dbe4ea);
}

.support-view-boundary {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 1.5rem;
    padding: 1.35rem;
    border-left: 5px solid #f59e0b;
}

.support-view-boundary h3 {
    margin: 0.2rem 0 0.5rem;
}

.support-view-boundary ul {
    margin: 0;
    padding-left: 1.2rem;
}

.support-cockpit__lower-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 980px) {
    .support-cockpit__metrics,
    .support-health-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .support-cockpit__filters,
    .support-tenant-card__header,
    .support-tenant-card__work,
    .support-view-boundary,
    .support-cockpit__lower-grid {
        grid-template-columns: 1fr;
    }

    .support-tenant-card__badges {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .support-cockpit__metrics,
    .support-health-grid {
        grid-template-columns: 1fr;
    }

    .support-next-action {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* PRODUCT-THEATER-002: literal operations composition from the current product reference. */
@media (min-width: 1100px) {
    .tenant-app-page--dashboard {
        display: grid;
        grid-template-columns: minmax(230px, .78fr) minmax(440px, 1.55fr) minmax(260px, .9fr);
        gap: 14px;
        align-items: start;
    }

    .tenant-app-page--dashboard > .dashboard-v2__hero,
    .tenant-app-page--dashboard > .dashboard-v2__stats {
        grid-column: 1 / -1;
    }

    .tenant-app-page--dashboard > .dashboard-v2__stats {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .tenant-app-page--dashboard > .dashboard-v2__section--setup,
    .tenant-app-page--dashboard > .dashboard-v2__section--next-steps,
    .tenant-app-page--dashboard > .tenant-section--actions {
        grid-column: 3;
    }

    .tenant-app-page--dashboard > .dashboard-v2__section--priority {
        grid-column: 1;
        grid-row: 3 / span 2;
    }

    .tenant-app-page--dashboard > .dashboard-v2__operations-theater {
        display: contents;
    }

    .dashboard-v2__operations-theater > .dashboard-v2__column:first-child {
        display: contents;
    }

    .dashboard-v2__operations-theater .dashboard-v2__section--field-command {
        grid-column: 2;
        grid-row: 3 / span 3;
        min-height: 650px;
    }

    .dashboard-v2__operations-theater > .dashboard-v2__column:last-child {
        grid-column: 3;
        grid-row: 4 / span 3;
    }

    .dashboard-v2__operations-theater > .dashboard-v2__column:first-child > :not(.dashboard-v2__section--field-command) {
        grid-column: 1 / -1;
    }

    .dashboard-v2__section--field-command .product-theater-route {
        min-height: 430px;
        grid-template-columns: minmax(0, 1.7fr) minmax(210px, .75fr);
    }

    .dashboard-v2__section--field-command .product-theater-route__canvas {
        min-height: 430px;
    }

    .dispatch-v2--operations-theater {
        display: grid;
        grid-template-columns: minmax(260px, .78fr) minmax(480px, 1.55fr) minmax(280px, .9fr);
        gap: 14px;
        align-items: start;
    }

    .dispatch-v2--operations-theater > .dispatch-v2__hero {
        grid-column: 1 / -1;
    }

    .dispatch-v2--operations-theater > .dispatch-v2__readiness {
        grid-column: 1;
        grid-row: 2 / span 2;
        min-height: 570px;
    }

    .dispatch-v2--operations-theater > .dispatch-v2__map {
        grid-column: 2;
        grid-row: 2;
        min-height: 570px;
    }

    .dispatch-v2--operations-theater .dispatch-map-stage,
    .dispatch-v2--operations-theater .dispatch-v2__map-canvas {
        min-height: 430px;
    }

    .dispatch-v2--operations-theater > .dispatch-v2__distance-preview {
        grid-column: 3;
        grid-row: 2 / span 2;
        min-height: 570px;
    }

    .dispatch-v2--operations-theater > :not(.dispatch-v2__hero):not(.dispatch-v2__readiness):not(.dispatch-v2__map):not(.dispatch-v2__distance-preview) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1099px) {
    .tenant-app-page--dashboard,
    .dispatch-v2--operations-theater {
        min-width: 0;
    }

    .tenant-app-page--dashboard > *,
    .dispatch-v2--operations-theater > * {
        min-width: 0;
        max-width: 100%;
    }
}

html {
    box-sizing: border-box;
    background: var(--color-bg-app);
}

*, *::before, *::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    font-family: var(--font-sans);
    color: var(--color-text);
    background: var(--color-bg-app);
    line-height: var(--line-height-base);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--color-primary);
}

a:hover {
    color: var(--color-primary-hover);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.wrap {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
}

.app-shell {
    min-height: 100vh;
}

.app-shell--authenticated {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    align-items: start;
}

.side-rail {
    position: sticky;
    top: 0;
    align-self: start;
    min-height: 100vh;
    border-right: 1px solid var(--color-border);
    background: #F8FAFC;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.82);
}

.side-rail__inner {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 1.05rem;
    padding: 0.9rem 0.85rem 1.1rem;
}

.side-rail__brand {
    display: grid;
    gap: 0.42rem;
    padding: 0.15rem 0.15rem 0.85rem;
    border-bottom: 1px solid var(--color-border);
}

.side-rail__brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.side-rail__product {
    font-size: 0.98rem;
    font-weight: 780;
    letter-spacing: -0.02em;
    color: var(--color-text-strong);
}

.side-rail__workspace-tag {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: 0.12rem 0.42rem;
    border: 1px solid rgba(29, 78, 216, 0.18);
    border-radius: var(--radius-sm);
    background: var(--color-primary-soft);
    color: var(--color-primary);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.side-rail__role {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
}

.shell-eyebrow {
    margin: 0;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.09em;
    font-size: 0.7rem;
    font-weight: 800;
}

.side-nav {
    display: grid;
    gap: 0.95rem;
}

.side-rail__account-actions {
    display: grid;
    gap: 0.45rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(100, 116, 139, 0.18);
}

.shell-logout-form {
    margin: 0;
}

.shell-logout {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.62rem;
    width: 100%;
    min-height: 2.32rem;
    padding: 0.48rem 0.58rem;
    border: 1px solid transparent;
    border-radius: 5px;
    background: transparent;
    color: #334155;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: pointer;
}

.shell-logout:hover {
    border-color: rgba(100, 116, 139, 0.22);
    background: #ffffff;
    color: #0f172a;
}

.shell-logout--header {
    width: auto;
    min-height: 2rem;
    padding: 0.36rem 0.64rem;
    border-color: var(--color-border);
    background: #ffffff;
    font-size: 0.76rem;
}

.top-nav__account-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0 0 0.8rem;
    border-bottom: 1px solid rgba(100, 116, 139, 0.18);
}

.top-nav__account-actions strong {
    display: block;
    max-width: 12rem;
    overflow: hidden;
    color: var(--color-text-strong);
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shell-logout--mobile {
    width: auto;
    min-width: 7.2rem;
    border-color: var(--color-border);
    background: #ffffff;
}

.side-nav__section {
    display: grid;
    gap: 0.45rem;
}

.side-nav__label {
    margin: 0;
    padding: 0 0.15rem;
    color: var(--color-text-faint);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.64rem;
    font-weight: 800;
}

.side-nav__group {
    display: grid;
    gap: 0.24rem;
}

.side-nav__link {
    display: flex;
    align-items: center;
    gap: 0.62rem;
    min-height: 2.22rem;
    padding: 0.42rem 0.56rem;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #334155;
    text-decoration: none;
    font-size: 0.86rem;
    font-weight: 680;
    line-height: 1.2;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.side-nav__link:hover {
    background: #ffffff;
    border-color: var(--color-border);
    color: var(--color-text-strong);
    text-decoration: none;
}

.side-nav__icon,
.top-nav__icon,
.nav-link__icon,
.sidebar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 5px;
    background: #ffffff;
    color: #64748B;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.side-nav__text,
.top-nav__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.side-nav__link:hover .side-nav__icon,
.top-nav__link:hover .top-nav__icon {
    border-color: rgba(29, 78, 216, 0.24);
    color: var(--color-primary);
}

.side-nav__link.is-active {
    background: #F4F8FB;
    border-color: #BBD0E3;
    color: var(--color-primary);
    box-shadow: var(--od-shadow-soft);
}

.side-nav__link.is-active .side-nav__icon,
.top-nav__link.is-active .top-nav__icon {
    border-color: var(--color-primary-border);
    background: var(--color-primary-soft);
    color: var(--color-primary);
}

.side-nav__link--secondary {
    color: var(--color-text-muted);
}

.workspace-shell {
    min-width: 0;
}

.workspace-shell--authenticated {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    gap: 0;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--color-border);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.site-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-5);
    min-height: 5.25rem;
    padding: 1rem 1.5rem;
}

.site-header--authenticated {
    background: rgba(255, 255, 255, 0.96);
}

.site-header__inner--authenticated {
    min-height: 3rem;
    padding: 0.48rem 1rem;
    gap: 0.75rem;
}

.shell-brand {
    min-width: 0;
    display: grid;
    gap: 0.35rem;
}

.shell-context {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

.shell-context__row {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    min-width: 0;
}

.shell-context__title {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-text-strong);
    font-size: 0.92rem;
    font-weight: 780;
    line-height: 1.05;
    letter-spacing: -0.02em;
}

.shell-brand__title-row {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.shell-brand__title-stack {
    min-width: 0;
}

.shell-brand h1 {
    margin: 0;
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--color-text-strong);
}

.shell-subtitle {
    margin: 0.25rem 0 0;
    max-width: 52rem;
    color: var(--color-text-muted);
    font-size: 0.94rem;
}

.workspace-bar {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.workspace-bar--authenticated {
    gap: 0.4rem;
}

.shell-workspace {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.34rem 0.42rem 0.34rem 0.56rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-surface-muted);
}

.site-header--authenticated .shell-workspace {
    max-width: min(36vw, 15rem);
    padding: 0.2rem 0.28rem 0.2rem 0.42rem;
    background: rgba(255, 255, 255, 0.92);
}

.shell-workspace--authenticated .shell-workspace__label {
    overflow: hidden;
    text-overflow: ellipsis;
}

.shell-workspace__label,
.shell-workspace__role {
    line-height: 1;
    white-space: nowrap;
}

.shell-workspace__label {
    color: var(--color-text-strong);
    font-size: 0.72rem;
    font-weight: 750;
}

.shell-workspace__role {
    padding: 0.18rem 0.4rem;
    border-radius: var(--radius-sm);
    background: rgba(29, 78, 216, 0.12);
    color: var(--color-primary);
    font-size: 0.63rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.mobile-menu-toggle {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    border: 1px solid var(--color-border);
    background: #ffffff;
    color: var(--color-text-strong);
    border-radius: var(--radius-md);
    min-height: 2.1rem;
    padding: 0.42rem 0.72rem;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: pointer;
}

.mobile-menu-toggle__icon {
    display: grid;
    gap: 0.18rem;
    width: 1rem;
}

.mobile-menu-toggle__icon span {
    display: block;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
}

.top-nav {
    display: none;
}

.top-nav--mobile {
    display: none;
}

.top-nav__inner {
    display: grid;
    gap: 0.85rem;
}

.top-nav__section {
    display: grid;
    gap: 0.5rem;
}

.top-nav__label {
    margin: 0;
    color: var(--color-text-faint);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.top-nav__group {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.top-nav__group--secondary {
    justify-content: stretch;
}

.top-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 0.58rem;
    min-height: 2.42rem;
    padding: 0.5rem 0.72rem;
    border-radius: 5px;
    border: 1px solid var(--color-border);
    background: #ffffff;
    color: var(--color-text);
    text-decoration: none;
    font-weight: 650;
    font-size: 0.88rem;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.top-nav__link:hover {
    border-color: var(--color-border-strong);
    color: var(--color-text-strong);
    text-decoration: none;
}

.top-nav__link.is-active {
    color: var(--color-primary);
    background: var(--color-primary-soft);
    border-color: rgba(29, 78, 216, 0.18);
}

.top-nav__link--secondary {
    color: var(--color-text-muted);
}

.app-main {
    padding: 1.5rem;
}

.app-shell--authenticated .app-main {
    padding: 0.45rem 1rem 1.1rem;
}

.content-shell {
    display: grid;
    gap: var(--space-6);
}

.flash,
.alert {
    position: relative;
    margin-bottom: var(--space-6);
    padding: 1rem 1.1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.flash::before,
.alert::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    background: var(--color-primary);
}

.flash-error,
.alert-error {
    background: linear-gradient(180deg, #fff8f8 0%, var(--color-error-soft) 100%);
    border-color: rgba(220, 38, 38, 0.18);
    color: #991b1b;
}

.flash-error::before,
.alert-error::before {
    background: var(--color-error);
}

.flash-success,
.alert-success {
    background: linear-gradient(180deg, #f4fffa 0%, var(--color-success-soft) 100%);
    border-color: rgba(5, 150, 105, 0.18);
    color: #065f46;
}

.flash-success::before,
.alert-success::before {
    background: var(--color-success);
}

.alert-warning {
    background: linear-gradient(180deg, #f8fbff 0%, var(--color-warning-soft) 100%);
    border-color: rgba(29, 78, 216, 0.18);
    color: #0f4c81;
}

.alert-warning::before {
    background: var(--color-warning);
}

.panel,
.info-card {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 100%);
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin-bottom: var(--space-6);
    box-shadow: var(--shadow-md), var(--shadow-inset);
}

.panel:last-child,
.info-card:last-child {
    margin-bottom: 0;
}

.surface-muted {
    background: linear-gradient(180deg, #f8fbfe 0%, var(--color-surface-muted) 100%);
    border: 1px solid rgba(219, 229, 240, 0.85);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.surface-default {
    background-color: var(--color-surface);
}

.page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.page-header__content {
    min-width: 0;
    display: grid;
    gap: var(--space-2);
}

.page-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.page-header__eyebrow {
    margin: 0;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--color-primary);
}

.page-header__title {
    margin: 0;
    color: var(--color-text-strong);
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.08;
    letter-spacing: -0.028em;
}

.page-header__meta {
    margin: 0;
    max-width: 60rem;
    color: var(--color-text-muted);
    font-size: 0.97rem;
}

.app-shell--authenticated .page-header {
    gap: 0.55rem;
    margin-bottom: 0.7rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(203, 213, 225, 0.68);
}

.app-shell--authenticated .page-header__content {
    gap: 0.22rem;
}

.app-shell--authenticated .page-header__eyebrow {
    font-size: 0.62rem;
}

.app-shell--authenticated .page-header__title {
    font-size: clamp(1rem, 1.25vw, 1.22rem);
    line-height: 1.1;
}

.app-shell--authenticated .page-header__meta {
    max-width: 48rem;
    font-size: 0.83rem;
}

.info-card {
    padding: var(--space-5);
}

.info-card__title {
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    margin: 0 0 var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.info-label {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--color-text-faint);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.2rem;
}

.info-value {
    font-size: 1.02rem;
    color: var(--color-text-strong);
    font-weight: 650;
}

.dashboard-list,
.stack-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
}

.dashboard-list__item,
.stack-list__item {
    border: 1px solid rgba(219, 229, 240, 0.9);
    border-radius: var(--radius-md);
    padding: 1rem 1.1rem;
    background: linear-gradient(180deg, #fbfdff 0%, var(--color-surface-muted) 100%);
    box-shadow: var(--shadow-sm);
}

.dashboard-list__title {
    margin: 0;
    color: var(--color-text-strong);
    font-weight: 700;
}

.dashboard-list__meta {
    margin: 0.25rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.form-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.form-group {
    margin-bottom: var(--space-5);
}

.form-label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--color-text-strong);
    font-size: 0.95rem;
    font-weight: 700;
}

.form-control {
    width: 100%;
    min-height: 48px;
    padding: 0.78rem 0.9rem;
    font: inherit;
    color: var(--color-text-strong);
    background: #ffffff;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.form-control:hover {
    border-color: #aebed0;
}

.form-control::placeholder {
    color: var(--color-text-faint);
}

.form-control:focus {
    border-color: rgba(37, 99, 235, 0.55);
    background: #ffffff;
}

textarea.form-control {
    min-height: 120px;
    resize: vertical;
}

select.form-control {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 2px),
        calc(100% - 12px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 2.5rem;
}

.required-mark {
    color: var(--color-error);
    margin-left: 2px;
}

.helper-text {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-top: 0.35rem;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 46px;
    padding: 0.78rem 1.15rem;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
    background: var(--color-surface);
    color: var(--color-text-strong);
    cursor: pointer;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 750;
    line-height: 1.1;
    box-shadow: var(--shadow-sm);
    transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.button:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    text-decoration: none;
}

.button:disabled,
.button[disabled] {
    opacity: 0.58;
    cursor: not-allowed;
    transform: none;
    box-shadow: var(--shadow-sm);
}

.button-primary {
    background: var(--od-primary);
    color: #ffffff;
    border-color: rgba(29, 78, 216, 0.18);
}

.button-primary:hover {
    background: var(--color-primary-hover);
    color: #ffffff;
}

.button-secondary {
    background: #ffffff;
    border-color: var(--color-border-strong);
    color: var(--color-text);
}

.button-secondary:hover {
    background: var(--color-surface-muted);
}

.public-entry-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.public-entry-nav a {
    color: var(--color-text-muted);
    font-size: 0.9rem;
    font-weight: 750;
    text-decoration: none;
}

.public-entry-nav a:hover,
.public-entry-nav a:focus {
    color: var(--color-text-strong);
    text-decoration: none;
}

.button-field {
    min-height: 54px;
    width: 100%;
    border-radius: var(--radius-md);
    padding-inline: 1rem;
}

.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 28px;
    padding: 0.25rem 0.7rem;
    border-radius: var(--radius-pill);
    background: #e8eef6;
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.2);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-success {
    background: var(--color-success-soft);
    color: #166534;
    border-color: rgba(5, 150, 105, 0.18);
}

.table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: var(--radius-md);
    background: #ffffff;
    box-shadow: var(--shadow-sm);
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 0.95rem 1rem;
    text-align: left;
    border-bottom: 1px solid rgba(219, 229, 240, 0.8);
    vertical-align: top;
}

th {
    color: var(--color-text-strong);
    font-size: 0.84rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--color-surface-muted);
}

tr:last-child td {
    border-bottom: 0;
}

.empty-state {
    padding: 1.25rem;
    border-radius: var(--radius-md);
}

.touch-target {
    min-height: 48px;
}


.button--compact {
    min-height: 36px;
    padding: 0.48rem 0.72rem;
    border-radius: var(--radius-sm);
    font-size: 0.83rem;
    font-weight: 700;
}

.button--warning-soft {
    background: #eff6ff;
    border-color: rgba(59, 130, 246, 0.24);
    color: #1d4ed8;
}

.button--warning-soft:hover {
    background: #dbeafe;
    color: #1e3a8a;
}

.badge--warning {
    background: #eff6ff;
    color: #0369a1;
    border-color: rgba(59, 130, 246, 0.22);
}

.badge--muted,
.badge--subtle {
    background: #f8fafc;
    color: #475569;
    border-color: rgba(148, 163, 184, 0.2);
}

.badge--info {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: rgba(59, 130, 246, 0.2);
}

.badge--danger {
    background: #fee2e2;
    color: #991b1b;
    border-color: rgba(239, 68, 68, 0.2);
}

.feature-readiness-strip {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: var(--radius-md);
}

.feature-readiness-strip__header h3 {
    margin: 0.2rem 0 0.35rem;
    color: var(--color-text-strong);
}

.feature-readiness-strip__header p:last-child {
    margin: 0;
    color: var(--color-text-muted);
}

.feature-readiness-strip__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.75rem;
}

.feature-readiness-strip__item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.78);
}

.feature-readiness-strip__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
}

.feature-readiness-strip__category {
    color: var(--color-text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.feature-readiness-strip__item strong {
    color: var(--color-text-strong);
}

.feature-readiness-strip__item p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.daily-ops-shell {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.daily-ops-header,
.daily-ops-section,
.daily-ops-sidebar-card,
.field-cockpit-card {
    border-radius: var(--radius-md);
}

.daily-ops-header,
.daily-ops-section,
.daily-ops-sidebar-card {
    padding: 1rem;
}

.daily-ops-header__top,
.daily-ops-section__header,
.daily-ops-list__top,
.schedule-card__title-row,
.schedule-card__header {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.daily-ops-summary-grid,
.daily-ops-shell__grid,
.daily-ops-flags,
.daily-ops-status-grid,
.daily-ops-followup-grid,
.daily-ops-route-grid,
.field-cockpit-grid,
.field-cockpit-meta,
.field-cockpit-actions,
.field-cockpit-notes,
.schedule-cards {
    display: grid;
    gap: 0.85rem;
}

.daily-ops-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    margin-top: 0.8rem;
}

.daily-ops-shell__grid {
    grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.95fr);
    align-items: start;
}

.daily-ops-flags,
.daily-ops-status-grid,
.daily-ops-followup-grid,
.daily-ops-route-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.daily-ops-kpi,
.daily-ops-note,
.daily-ops-callout,
.field-cockpit-note,
.schedule-card,
.daily-ops-list__item--exception {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: var(--shadow-sm);
}

.daily-ops-kpi,
.daily-ops-note,
.daily-ops-callout {
    padding: 0.85rem 0.95rem;
}

.daily-ops-kpi__label,
.daily-ops-note__eyebrow,
.daily-ops-callout__eyebrow,
.schedule-card__eyebrow {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--color-text-faint);
}

.daily-ops-kpi__value {
    font-size: 1.25rem;
    line-height: 1.05;
    font-weight: 800;
    color: var(--color-text-strong);
}

.daily-ops-note__meta,
.daily-ops-callout__meta,
.daily-ops-list__meta,
.schedule-note,
.field-cockpit-note__service {
    margin: 0.3rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.84rem;
}

.daily-ops-flags-bar {
    display: flex;
    gap: 0.55rem;
    align-items: center;
    flex-wrap: wrap;
    padding: 0.75rem 0.9rem;
    border-radius: var(--radius-md);
}

.daily-ops-flags-bar__label {
    margin-right: 0.15rem;
    font-weight: 700;
    color: var(--color-text-strong);
}

.daily-ops-callout--next {
    min-width: 220px;
    max-width: 320px;
    border-color: rgba(191, 219, 254, 0.95);
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

.daily-ops-list {
    display: grid;
    gap: 0.7rem;
}

.daily-ops-list__item {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--color-border);
}

.daily-ops-list__item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.daily-ops-list__item--exception {
    padding: 0.9rem 0.95rem;
    border-bottom: none;
}

.daily-ops-list__meta--strong {
    margin-bottom: 0.65rem;
    color: var(--color-text-strong);
}

.daily-ops-inline-actions,
.schedule-inline-actions,
.action-row,
.schedule-card__actions {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    align-items: center;
}

.schedule-card__actions {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(219, 229, 240, 0.95);
}

.schedule-card__actions .button,
.schedule-card__actions .schedule-card__action-form {
    margin: 0;
}

.schedule-card__action-form {
    display: inline-block;
}

.schedule-groups {
    display: grid;
    gap: 0.9rem;
}

.schedule-group {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.schedule-group__time {
    margin: 0;
    position: sticky;
    top: 0.25rem;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--color-text-strong);
}

.schedule-card {
    padding: 1rem;
}

.schedule-card--attention {
    border-color: rgba(59, 130, 246, 0.28);
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.schedule-card__header {
    display: grid;
    grid-template-columns: minmax(96px, 118px) auto minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: start;
}

.schedule-card__time-block {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.schedule-card__time {
    font-size: 1.05rem;
    line-height: 1.05;
    color: var(--color-text-strong);
}

.schedule-card__time-range {
    color: var(--color-text-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.schedule-card__title-block {
    min-width: 0;
    flex: 1;
}

.schedule-card__kicker {
    margin: 0 0 0.2rem;
    color: var(--color-text-faint);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.schedule-card__title {
    display: inline-block;
    color: var(--color-text-strong);
    font-size: 0.98rem;
    font-weight: 800;
    text-decoration: none;
}

.schedule-card__title:hover,
.schedule-card__location:hover {
    text-decoration: underline;
}

.schedule-card__subtitle,
.field-cockpit-note__title {
    margin: 0.2rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.84rem;
    font-weight: 600;
}

.schedule-card__status-stack {
    display: grid;
    gap: 0.4rem;
    justify-items: end;
}

.schedule-card__stop-order {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.22rem;
    min-width: 60px;
}

.schedule-card__route-input {
    width: 60px;
    min-height: 38px;
    padding: 0.4rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    text-align: center;
    font: inherit;
    font-weight: 700;
    color: var(--color-text-strong);
}

.schedule-card__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0.28rem 0.65rem;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #f8fafc;
    color: #475569;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.schedule-card__status--scheduled {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: rgba(59, 130, 246, 0.25);
}

.schedule-card__status--confirmed,
.schedule-card__status--ok {
    background: #ecfdf5;
    color: #166534;
    border-color: rgba(16, 185, 129, 0.22);
}

.schedule-card__status--progress {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: rgba(59, 130, 246, 0.22);
}

.schedule-card__status--cancelled {
    background: #f8fafc;
    color: #64748b;
    border-color: rgba(148, 163, 184, 0.24);
}

.schedule-card__highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.6rem;
    margin-top: 0.8rem;
}

.schedule-card__highlight,
.schedule-card__note {
    padding: 0.7rem 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
    min-width: 0;
}

.schedule-card__highlight strong,
.schedule-card__highlight a {
    display: block;
    margin-top: 0.22rem;
}

.schedule-card__highlight-label {
    display: block;
    color: var(--color-text-faint);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.schedule-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1rem;
    margin: 0.8rem 0 0;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(219, 229, 240, 0.95);
}

.schedule-card__meta dt {
    margin: 0 0 0.18rem;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--color-text-faint);
}

.schedule-card__meta dd {
    margin: 0;
    color: var(--color-text-strong);
    font-size: 0.9rem;
    line-height: 1.35;
}

.schedule-card__location,
.schedule-card__window {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 600;
}

.schedule-card__note {
    margin-top: 0.8rem;
    background: #fdfefe;
}

.schedule-card__note p {
    margin: 0.28rem 0 0;
    color: var(--color-text-strong);
    font-size: 0.88rem;
    line-height: 1.45;
}

.schedule-note {
    font-weight: 600;
}

.schedule-note--success { color: #166534; }
.schedule-note--warning { color: var(--od-warning); }
.schedule-note--muted { color: #475569; }

.schedule-note__subtle {
    font-weight: 500;
    color: var(--color-text-muted);
}

.schedule-card__footer-actions {
    margin-top: 0.9rem;
}

.field-cockpit-shell {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.9rem;
}

.field-cockpit-grid {
    grid-template-columns: 1.15fr 0.85fr;
}

.field-cockpit-card {
    padding: 0.95rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.field-cockpit-card--primary {
    border-color: rgba(191, 219, 254, 0.95);
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}

.field-cockpit-meta {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.field-cockpit-actions {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.field-cockpit-note {
    padding: 0.85rem 0.9rem;
}

.field-cockpit-note--focus {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border-color: rgba(191, 219, 254, 0.9);
}

.field-cockpit-note strong {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-primary);
}

.field-cockpit-note__badges {
    margin-top: 0.55rem;
}

.daily-ops-route-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.schedule-v2 {
    gap: 0.8rem;
    min-width: 0;
    overflow-x: clip;
}

.schedule-v2 .panel,
.schedule-v2 .daily-ops-kpi,
.schedule-v2 .daily-ops-note,
.schedule-v2 .daily-ops-callout,
.schedule-v2 .field-cockpit-card,
.schedule-v2 .field-cockpit-note,
.schedule-v2 .schedule-card,
.schedule-v2__soft-card {
    border-radius: 5px;
    background: #ffffff;
    border: 1px solid rgba(219, 229, 240, 0.95);
    box-shadow: var(--shadow-sm);
}

.schedule-v2__hero {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    margin-bottom: 0;
}

.schedule-v2__hero-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: flex-start;
    min-width: 0;
}

.schedule-v2__hero-icon {
    margin-top: 0.1rem;
}

.schedule-v2__filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 0.7rem;
    align-items: end;
    min-width: 0;
}

.schedule-v2__filters .form-label {
    margin-bottom: 0;
}

.schedule-v2 .form-control {
    min-height: 42px;
    padding: 0.62rem 0.72rem;
    border-radius: 5px;
}

.schedule-v2__readonly-control {
    display: flex;
    align-items: center;
    min-height: 42px;
    background: var(--color-surface-muted);
}

.schedule-v2 .od-v2-button,
.schedule-v2 .button {
    border-radius: 5px;
}

.schedule-v2 .schedule-nav {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.schedule-v2 .schedule-nav__link {
    min-height: 2.15rem;
    padding: 0.55rem 0.72rem;
    border: 1px solid var(--color-border-strong);
    background: #ffffff;
    color: var(--color-text-strong);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 750;
}

.schedule-v2 .empty-state {
    padding: 1rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.schedule-v2 .empty-state__title {
    color: var(--color-text-strong);
}

.schedule-v2 .empty-state__meta {
    max-width: 58ch;
}

.schedule-v2 .daily-ops-shell__grid,
.schedule-v2 .daily-ops-section,
.schedule-v2 .daily-ops-sidebar,
.schedule-v2 .daily-ops-sidebar-card,
.schedule-v2 .schedule-groups,
.schedule-v2 .schedule-cards,
.schedule-v2 .schedule-card,
.schedule-v2 .schedule-card__title-block,
.schedule-v2 .schedule-card__meta,
.schedule-v2 .daily-ops-list__item {
    min-width: 0;
}

.schedule-v2 .daily-ops-shell__grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.9fr);
}

.schedule-v2 .daily-ops-section,
.schedule-v2 .daily-ops-sidebar-card {
    padding: 0.95rem;
}

.schedule-v2__section-header {
    margin-bottom: 0.75rem;
}

.schedule-v2__section-title {
    font-size: 1.1rem;
}

.schedule-v2 .schedule-card {
    padding: 0.85rem 0.9rem;
}

.schedule-v2 .schedule-card--attention {
    border-color: rgba(29, 78, 216, 0.24);
    background: #ffffff;
}


.schedule-v2 .schedule-card__highlight,
.schedule-v2 .schedule-card__note {
    background: #f8fafc;
}

.schedule-v2 .schedule-card__actions .button {
    min-height: 36px;
    font-weight: 700;
}

.daily-ops-kpi__value--compact {
    font-size: 1rem;
}

.schedule-v2__stack-top {
    margin-top: 0.75rem;
}

.schedule-v2__stack-bottom {
    margin-bottom: 1rem;
}

.schedule-v2__stack-bottom-small {
    margin-bottom: 0.75rem;
}

.schedule-v2__inline-form {
    margin: 0;
}

.schedule-v2__soft-card {
    padding: 1rem;
}

.schedule-v2__minor-title {
    margin: 0 0 1rem;
    color: var(--color-text-strong);
    font-size: 1rem;
    font-weight: 750;
}

.schedule-v2__minor-title--spaced {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.schedule-v2__minor-title--tight {
    margin-bottom: 0.5rem;
}

.schedule-v2__minor-title--compact {
    margin-bottom: 0.75rem;
}

.schedule-v2__label-gap {
    margin-bottom: 0.5rem;
}

.schedule-v2__label-bottom {
    margin-bottom: 1rem;
}

.schedule-v2__flex-label {
    flex: 1;
    margin-bottom: 0;
}

.schedule-v2__full-button {
    width: 100%;
}

.schedule-v2__drive-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
    padding-left: 1.25rem;
}

.schedule-v2__drive-item {
    color: var(--color-text-strong);
    font-size: 0.9rem;
}

.schedule-v2__trip-total {
    margin-top: 0.5rem;
    color: var(--color-primary);
    font-weight: 650;
}

.schedule-v2__simple-list {
    padding-left: 1rem;
}

.schedule-v2__scroll-list {
    max-height: 220px;
    overflow-y: auto;
}

.schedule-v2__compact-client {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0;
    border: 0;
    border-bottom: 1px solid var(--color-border);
    box-shadow: none;
}

.schedule-v2__compact-client:last-child {
    border-bottom: 0;
}

.schedule-v2__flex-fill {
    flex: 1;
}

.schedule-v2__client-name {
    font-size: 0.875rem;
}

.schedule-v2__small-meta {
    font-size: 0.75rem;
}

.schedule-v2__small-button {
    min-height: 32px;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

@media (max-width: 900px) {
    .daily-ops-shell__grid,
    .schedule-v2 .daily-ops-shell__grid,
    .field-cockpit-grid,
    .schedule-group,
    .schedule-v2__hero-main,
    .schedule-v2__filters,
    .schedule-card__header {
        grid-template-columns: 1fr;
    }

    .schedule-card__status-stack {
        justify-items: start;
    }

    .schedule-group__time {
        position: static;
    }
}

@media (max-width: 640px) {
    .schedule-toolbar__top,
    .daily-ops-header__top,
    .schedule-day-header,
    .daily-ops-section__header {
        flex-direction: column;
        align-items: stretch;
        gap: 0.8rem;
    }

    .schedule-nav {
        width: 100%;
        display: flex;
        justify-content: space-between;
        gap: 0.5rem;
    }

    .schedule-toolbar__form,
    .daily-ops-inline-actions,
    .schedule-inline-actions,
    .action-row,
    .schedule-card__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .schedule-toolbar__form .form-label,
    .schedule-toolbar__form button,
    .schedule-card__actions .button,
    .schedule-card__actions .schedule-card__action-form,
    .schedule-card__actions .schedule-card__action-form .button,
    .schedule-inline-actions .button,
    .daily-ops-inline-actions .button,
    .action-row .button,
    .field-cockpit-actions .button {
        width: 100%;
    }

    .schedule-card__meta,
    .schedule-card__highlights {
        grid-template-columns: 1fr;
    }

    .schedule-card__stop-order,
    .schedule-card__time-block {
        align-items: flex-start;
    }

    .daily-ops-callout--next {
        min-width: 0;
        max-width: none;
    }
}

/* OPENDOG PUBLIC MARKETING SITE 001 */
.marketing-body {
    margin: 0;
    --marketing-ink: var(--od-deep-ink);
    --marketing-steel: var(--od-steel-blue);
    --marketing-ocean: var(--od-ocean-blue);
    --marketing-mist: var(--od-mist-blue);
    --marketing-shell: var(--od-shell-white);
    --marketing-sand: var(--od-sand);
    --marketing-muted: #405266;
    --marketing-border: #cbd9e4;
    --marketing-card-border: #d8e4ed;
    --marketing-surface: #ffffff;
    --marketing-shadow: 0 18px 44px rgba(13, 27, 42, 0.1);
    background: var(--marketing-shell);
    color: var(--marketing-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: clip;
}

.marketing-body *,
.marketing-body *::before,
.marketing-body *::after {
    box-sizing: border-box;
}

.marketing-nav,
.marketing-footer,
.marketing-main {
    width: min(100% - 2rem, 1180px);
    margin: 0 auto;
}

.marketing-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.72rem 1rem;
    border: 1px solid rgba(79, 127, 163, 0.2);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 30px rgba(13, 27, 42, 0.07);
    backdrop-filter: blur(12px);
    transition: padding 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.marketing-nav.is-scrolled {
    padding-top: 0.46rem;
    padding-bottom: 0.46rem;
    border-color: rgba(79, 127, 163, 0.26);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 34px rgba(13, 27, 42, 0.12);
}

.marketing-brand,
.marketing-nav a,
.marketing-nav summary,
.marketing-footer a,
.marketing-primary-button,
.marketing-secondary-button,
.marketing-link-button,
.marketing-inline-cta {
    color: inherit;
    text-decoration: none;
}

.marketing-brand {
    display: grid;
    gap: 0.05rem;
    min-width: max-content;
    flex: 0 0 auto;
}

.marketing-brand__logo {
    display: block;
    width: clamp(14.375rem, 20vw, 16.875rem);
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left center;
    transition: width 180ms ease;
}

.marketing-nav.is-scrolled .marketing-brand__logo {
    width: clamp(10.95rem, 15vw, 12.8rem);
}

.marketing-brand__mark {
    color: var(--marketing-ink);
    font-size: 1.1rem;
    font-weight: 900;
}

.marketing-brand__tag {
    color: var(--marketing-steel);
    font-size: 0.76rem;
    font-weight: 750;
}

.marketing-nav__links,
.marketing-nav__actions,
.marketing-actions,
.marketing-footer nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.marketing-nav__links {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.28rem;
    min-width: 0;
}

.marketing-nav__actions {
    flex-wrap: nowrap;
}

.marketing-mobile-menu {
    position: relative;
    display: none;
}

.marketing-mobile-menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.55rem;
    border: 1px solid var(--marketing-border);
    border-radius: 5px;
    padding: 0.62rem 0.76rem;
    background: #ffffff;
    color: var(--marketing-steel);
    font-size: 0.88rem;
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
    list-style: none;
}

.marketing-mobile-menu summary::-webkit-details-marker {
    display: none;
}

.marketing-mobile-menu[open] summary,
.marketing-mobile-menu summary:hover {
    border-color: var(--marketing-mist);
    color: var(--marketing-ink);
}

.marketing-mobile-menu__icon {
    position: relative;
    width: 0.92rem;
    height: 0.62rem;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}

.marketing-mobile-menu__icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    border-top: 2px solid currentColor;
    transform: translateY(-50%);
}

.marketing-mobile-menu__panel {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    display: grid;
    width: min(18rem, calc(100vw - 1.5rem));
    padding: 0.45rem;
    border: 1px solid var(--marketing-mist);
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(13, 27, 42, 0.16);
}

.marketing-mobile-menu:not([open]) .marketing-mobile-menu__panel {
    display: none;
}

.marketing-mobile-menu__panel a {
    border-radius: 4px;
    padding: 0.72rem 0.78rem;
    color: var(--marketing-steel);
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.1;
}

.marketing-mobile-menu__panel a:hover,
.marketing-mobile-menu__panel a[aria-current="page"] {
    background: var(--marketing-mist);
    color: var(--marketing-ink);
}

.marketing-nav__links > a,
.marketing-nav summary,
.marketing-link-button {
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 0.56rem 0.66rem;
    color: var(--marketing-ink);
    font-size: 0.91rem;
    font-weight: 850;
    line-height: 1;
}

@media (max-width: 1120px) and (min-width: 1101px) {
    .marketing-nav {
        width: min(calc(100vw - 0.75rem), 1180px);
        gap: 0.45rem;
        padding-right: 0.62rem;
        padding-left: 0.62rem;
    }

    .marketing-nav__links {
        gap: 0.14rem;
    }

    .marketing-nav__links > a,
    .marketing-nav summary,
    .marketing-link-button {
        padding-right: 0.48rem;
        padding-left: 0.48rem;
        font-size: 0.86rem;
    }
}

.marketing-nav__links > a:hover,
.marketing-nav summary:hover,
.marketing-link-button:hover,
.marketing-nav a[aria-current="page"] {
    border-color: rgba(79, 127, 163, 0.28);
    background: var(--marketing-mist);
    color: var(--marketing-ink);
}

.marketing-nav__links > a:focus-visible,
.marketing-nav summary:focus-visible,
.marketing-link-button:focus-visible,
.marketing-mobile-menu summary:focus-visible {
    outline: 3px solid rgba(79, 127, 163, 0.28);
    outline-offset: 2px;
}

.marketing-nav__menu {
    position: relative;
}

.marketing-nav__menu summary {
    cursor: pointer;
    list-style: none;
}

.marketing-nav__menu summary::-webkit-details-marker {
    display: none;
}

.marketing-nav__dropdown {
    position: absolute;
    top: calc(100% + 0.4rem);
    left: 0;
    display: grid;
    min-width: 15rem;
    max-width: min(20rem, calc(100vw - 2rem));
    padding: 0.45rem;
    border: 1px solid var(--marketing-mist);
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(13, 27, 42, 0.12);
}

.marketing-nav__menu:not([open]) .marketing-nav__dropdown {
    display: none;
}

.marketing-nav__dropdown a {
    border-radius: 4px;
    padding: 0.55rem 0.65rem;
    color: var(--marketing-steel);
    font-size: 0.9rem;
    font-weight: 750;
}

.marketing-nav__dropdown a:hover,
.marketing-nav__dropdown a[aria-current="page"] {
    background: var(--marketing-mist);
    color: var(--marketing-ink);
}

.marketing-primary-button,
.marketing-secondary-button,
.marketing-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.55rem;
    border-radius: 5px;
    padding: 0.68rem 0.9rem;
    font-weight: 850;
    line-height: 1.1;
    text-align: center;
    overflow-wrap: anywhere;
}

.marketing-primary-button {
    border: 1px solid var(--marketing-steel);
    background: var(--marketing-steel);
    color: #ffffff;
}

.marketing-nav .marketing-primary-button {
    box-shadow: 0 8px 18px rgba(33, 78, 111, 0.18);
    color: #ffffff;
}

.marketing-primary-button:hover {
    background: var(--marketing-ink);
}

.marketing-secondary-button {
    border: 1px solid var(--marketing-border);
    background: #ffffff;
    color: var(--marketing-ink);
}

.marketing-main {
    padding: clamp(0.5rem, 2vw, 1.25rem) 0 3rem;
}

.marketing-main [id] {
    scroll-margin-top: 7rem;
}

@media (prefers-reduced-motion: reduce) {
    .marketing-nav,
    .marketing-brand__logo {
        transition: none;
    }
}

.marketing-page {
    display: grid;
    gap: clamp(1.75rem, 4vw, 3.4rem);
}

.marketing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.84fr);
    gap: clamp(1.25rem, 4vw, 3rem);
    align-items: center;
    min-height: calc(100svh - 8rem);
    padding: clamp(1.5rem, 4vw, 3rem) 0;
}

.marketing-hero__copy,
.marketing-section__copy {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.marketing-hero > *,
.marketing-section > *,
.marketing-actions > * {
    min-width: 0;
    max-width: 100%;
}

.marketing-eyebrow {
    margin: 0;
    color: var(--marketing-ocean);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.marketing-hero h1 {
    max-width: 15ch;
    margin: 0;
    color: var(--marketing-ink);
    font-size: clamp(2.65rem, 5.45vw, 5rem);
    line-height: 1;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.marketing-hero__lead {
    max-width: 43rem;
    margin: 0;
    color: var(--marketing-muted);
    font-size: clamp(1.05rem, 1.65vw, 1.28rem);
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.marketing-visual,
.marketing-visual-preview,
.marketing-image-placeholder {
    display: grid;
    align-content: stretch;
    gap: 1rem;
    margin: 0;
    aspect-ratio: 5 / 4;
    min-height: 0;
    border: 1px solid var(--marketing-border);
    border-radius: 8px;
    padding: clamp(1rem, 3vw, 1.5rem);
    background:
        radial-gradient(circle at 18% 16%, rgba(79, 127, 163, 0.14), transparent 28%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(217, 230, 239, 0.72)),
        repeating-linear-gradient(135deg, rgba(33, 78, 111, 0.052) 0, rgba(33, 78, 111, 0.052) 1px, transparent 1px, transparent 20px);
    box-shadow: var(--marketing-shadow);
}

.marketing-visual {
    overflow: hidden;
    padding: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.marketing-visual__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    object-fit: cover;
}

.marketing-proof-shot {
    display: grid;
    gap: clamp(1rem, 2.6vw, 1.7rem);
    padding: clamp(0.75rem, 2vw, 1rem) 0;
}

.marketing-proof-shot__copy {
    max-width: 48rem;
}

.marketing-proof-shot__frame {
    margin: 0;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: var(--marketing-shadow);
}

.marketing-proof-shot__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.marketing-proof-blocks {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
    padding: clamp(0.75rem, 2vw, 1rem) 0;
}

.marketing-proof-blocks__grid {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
}

.marketing-proof-block {
    display: grid;
    grid-template-columns: minmax(13rem, 0.34fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1rem, 2.6vw, 1.75rem);
    min-width: 0;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    padding: clamp(1rem, 2.4vw, 1.35rem);
    background: #ffffff;
    box-shadow: var(--marketing-shadow);
}

.marketing-proof-block__copy {
    min-width: 0;
}

.marketing-proof-block__copy h3 {
    margin: 0;
    color: var(--marketing-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.marketing-proof-block__copy p {
    margin: 0.65rem 0 0;
    color: var(--marketing-muted);
    line-height: 1.58;
}

.marketing-proof-block__frame {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--marketing-border);
    border-radius: 8px;
    background: #ffffff;
}

.marketing-proof-block__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.marketing-visual-preview__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.marketing-visual-preview__top span,
.marketing-image-placeholder span {
    justify-self: start;
    border: 1px solid var(--marketing-mist);
    border-radius: 999px;
    padding: 0.32rem 0.55rem;
    background: #ffffff;
    color: var(--marketing-ocean);
    font-size: 0.75rem;
    font-weight: 900;
}

.marketing-visual-preview__top small {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.marketing-visual-preview__rows {
    display: grid;
    gap: 0.65rem;
    align-content: center;
}

.marketing-visual-preview__row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    border: 1px solid var(--marketing-mist);
    border-radius: 8px;
    padding: 0.72rem 0.78rem;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 8px 22px rgba(13, 27, 42, 0.06);
}

.marketing-visual-preview__row span {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    background: var(--marketing-ocean);
    box-shadow: 0 0 0 4px rgba(79, 127, 163, 0.14);
}

.marketing-visual-preview__row strong,
.marketing-image-placeholder strong {
    color: var(--marketing-ink);
    font-size: clamp(0.95rem, 1.4vw, 1.08rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.marketing-visual-preview__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-content: end;
    margin-top: auto;
}

.marketing-visual-preview__chips span {
    border: 1px solid var(--marketing-border);
    border-radius: 999px;
    padding: 0.38rem 0.58rem;
    background: #ffffff;
    color: var(--marketing-steel);
    font-size: 0.78rem;
    font-weight: 900;
}

.marketing-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.25rem 0 0;
    padding: 0;
    list-style: none;
}

.marketing-hero-proof li {
    border: 1px solid var(--marketing-mist);
    border-radius: 999px;
    max-width: 100%;
    padding: 0.36rem 0.62rem;
    background: #ffffff;
    color: var(--marketing-steel);
    font-size: 0.82rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.marketing-page--hosted-websites {
    gap: clamp(2.25rem, 4.8vw, 4.5rem);
}

.marketing-page--hosted-websites .marketing-hero h1 {
    max-width: 17ch;
}

.marketing-page--hosted-websites .marketing-hero {
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3rem);
    padding-top: clamp(1.4rem, 3vw, 2.2rem);
    padding-bottom: clamp(1.7rem, 4vw, 3rem);
}

.marketing-page--hosted-websites .marketing-hero-proof li {
    background: #f8fbfd;
}

.marketing-page--hosted-websites .marketing-hero__copy {
    gap: 1rem;
}

.marketing-hosted-hero-visual {
    display: grid;
    grid-template-columns: minmax(13rem, 0.82fr) minmax(10rem, 0.64fr);
    align-items: center;
    gap: clamp(0.85rem, 2.6vw, 1.25rem);
    min-width: 0;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    padding: clamp(0.95rem, 2.4vw, 1.35rem);
    background:
        linear-gradient(140deg, rgba(233, 220, 197, 0.34), rgba(217, 230, 239, 0.72)),
        linear-gradient(180deg, #ffffff, #f5f8fb);
    box-shadow: 0 18px 44px rgba(13, 27, 42, 0.12);
}

.marketing-hosted-hero-visual--real {
    grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 0.38fr);
    gap: clamp(0.85rem, 2vw, 1.1rem);
    align-items: end;
    padding: clamp(0.85rem, 2.2vw, 1.15rem);
    background:
        radial-gradient(circle at 86% 15%, rgba(79, 127, 163, 0.14), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 253, 0.98)),
        linear-gradient(135deg, rgba(33, 78, 111, 0.08), transparent 42%);
    box-shadow: 0 24px 54px rgba(13, 27, 42, 0.14);
}

.marketing-device {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #ffffff;
    box-shadow: 0 18px 36px rgba(16, 32, 51, 0.12);
}

.marketing-device::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
    z-index: 1;
}

.marketing-device img {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    object-fit: cover;
    object-position: top center;
}

.marketing-device--laptop {
    aspect-ratio: 16 / 11;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(16, 32, 51, 0.14);
}

.marketing-device--phone {
    align-self: end;
    aspect-ratio: 9 / 17;
    border: 7px solid #0f172a;
    border-radius: 26px;
    box-shadow: 0 22px 42px rgba(15, 23, 42, 0.22);
}

.marketing-device--demo {
    aspect-ratio: 16 / 11;
    border-radius: 8px;
}

.marketing-phone-preview {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.18);
    border-radius: 22px;
    padding: 0.72rem;
    background: #0f172a;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
}

.marketing-phone-preview__bar {
    display: flex;
    justify-content: center;
    gap: 0.18rem;
}

.marketing-phone-preview__bar span {
    width: 0.28rem;
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

.marketing-phone-preview__hero,
.marketing-phone-preview__services,
.marketing-phone-preview__button,
.marketing-phone-preview__gallery span {
    border-radius: 8px;
    background: #ffffff;
}

.marketing-phone-preview__hero {
    display: grid;
    gap: 0.5rem;
    padding: 1rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.96)),
        linear-gradient(135deg, var(--marketing-steel), var(--marketing-sand));
}

.marketing-phone-preview__hero small {
    color: var(--marketing-steel);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.marketing-phone-preview__hero strong {
    color: var(--marketing-ink);
    font-size: clamp(1rem, 1.7vw, 1.28rem);
    line-height: 1.08;
}

.marketing-phone-preview__services {
    display: grid;
    gap: 0.4rem;
    padding: 0.65rem;
}

.marketing-phone-preview__services span {
    display: block;
    border: 1px solid var(--marketing-mist);
    border-radius: 8px;
    padding: 0.42rem 0.5rem;
    color: var(--marketing-steel);
    font-size: 0.72rem;
    font-weight: 850;
}

.marketing-phone-preview__gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
}

.marketing-phone-preview__gallery span {
    aspect-ratio: 1;
    background: linear-gradient(135deg, var(--marketing-mist), var(--marketing-sand));
}

.marketing-phone-preview__button {
    padding: 0.62rem;
    background: var(--marketing-steel);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 900;
    text-align: center;
}

.marketing-template-mini-grid {
    display: grid;
    gap: 0.62rem;
    min-width: 0;
}

.marketing-template-mini-card {
    display: grid;
    gap: 0.25rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    padding: 0.7rem;
    background: #ffffff;
}

.marketing-template-mini-card strong,
.marketing-template-card h3,
.marketing-flow-steps strong,
.marketing-brand-feature-card strong,
.marketing-brand-swatch-card strong {
    color: var(--marketing-ink);
}

.marketing-template-mini-card span,
.marketing-template-card span,
.marketing-brand-feature-card span {
    color: var(--marketing-muted);
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.25;
}

.marketing-template-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.marketing-template-card,
.marketing-brand-feature-card,
.marketing-brand-swatch-card,
.marketing-flow-steps article {
    display: grid;
    gap: 0.62rem;
    align-content: start;
    min-width: 0;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    padding: 1rem;
    background: #ffffff;
}

.marketing-template-card {
    gap: 0.72rem;
    padding: 0.72rem;
    background: linear-gradient(180deg, #ffffff, #f8fbfd);
}

.marketing-template-card__preview {
    display: block;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 16 / 10.5;
    min-height: 0;
    border-radius: 8px;
    background: var(--marketing-shell);
    border: 1px solid var(--marketing-mist);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7), 0 10px 22px rgba(13, 27, 42, 0.08);
}

.marketing-template-card__preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.marketing-template-card__preview span {
    width: 46%;
    height: 0.65rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.2);
}

.marketing-template-card__preview strong {
    display: block;
    width: 82%;
    height: 2.1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.14);
}

.marketing-template-card__preview em,
.marketing-template-card__preview i {
    display: block;
    height: 1.15rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.1);
}

.marketing-template-card__kicker {
    color: var(--marketing-ocean) !important;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    margin-top: 0.1rem;
}

.marketing-template-card--classic .marketing-template-card__preview {
    background: linear-gradient(135deg, var(--marketing-mist), #ffffff);
}

.marketing-template-card--fast .marketing-template-card__preview {
    background: linear-gradient(135deg, rgba(79, 127, 163, 0.2), #ffffff);
}

.marketing-template-card--friendly .marketing-template-card__preview {
    background: linear-gradient(135deg, rgba(233, 220, 197, 0.56), #ffffff);
}

.marketing-template-card--premium .marketing-template-card__preview {
    background: linear-gradient(135deg, var(--marketing-shell), rgba(13, 27, 42, 0.08));
}

.marketing-template-card {
    box-shadow: 0 14px 30px rgba(13, 27, 42, 0.08);
}

.marketing-page--hosted-websites .marketing-template-card h3 {
    font-size: 1rem;
    line-height: 1.16;
}

.marketing-page--hosted-websites .marketing-template-card p:not(.marketing-template-card__kicker) {
    color: var(--marketing-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.marketing-page--hosted-websites .marketing-template-card span {
    order: 3;
    border-top: 1px solid var(--marketing-mist);
    padding-top: 0.52rem;
}

.marketing-hosted-brand__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.marketing-brand-swatch-card {
    grid-template-columns: repeat(3, 1.7rem) minmax(0, 1fr);
    align-items: center;
}

.marketing-brand-swatch-card span {
    width: 1.7rem;
    height: 1.7rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 999px;
}

.marketing-flow-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.marketing-flow-steps article > span {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--marketing-steel);
    color: #ffffff;
    font-weight: 900;
}

.marketing-hosted-demo {
    display: grid;
    grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: center;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    padding: clamp(1rem, 3vw, 1.6rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 249, 253, 0.98)),
        linear-gradient(135deg, rgba(33, 78, 111, 0.08), transparent 50%);
    box-shadow: 0 18px 42px rgba(13, 27, 42, 0.08);
}

.marketing-demo-preview {
    max-width: 34rem;
}

.marketing-section {
    display: grid;
    gap: 1.25rem;
    padding: clamp(0.5rem, 2vw, 1rem) 0;
}

.marketing-section h2,
.marketing-final-cta h2 {
    max-width: 42rem;
    margin: 0;
    color: var(--marketing-ink);
    font-size: clamp(1.65rem, 3.4vw, 2.7rem);
    line-height: 1.08;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.marketing-section h3,
.marketing-plan h3 {
    margin: 0;
    color: var(--marketing-ink);
    font-size: 1.1rem;
    letter-spacing: 0;
}

.marketing-section p,
.marketing-card p,
.marketing-plan p,
.marketing-plan li,
.marketing-final-cta p,
.marketing-footer p,
.marketing-check-list li,
.marketing-faq p {
    color: var(--marketing-muted);
    line-height: 1.62;
}

.marketing-section p,
.marketing-card p,
.marketing-plan p,
.marketing-final-cta p,
.marketing-footer p {
    margin: 0;
}

.marketing-check-list {
    display: grid;
    gap: 0.55rem;
    margin: 0.25rem 0 0;
    padding-left: 1.2rem;
}

.marketing-inline-cta {
    justify-self: start;
    color: var(--marketing-ocean);
    font-weight: 850;
}

.marketing-card-grid,
.marketing-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.marketing-card-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.marketing-card,
.marketing-plan,
.marketing-faq details,
.marketing-form {
    display: grid;
    gap: 0.7rem;
    align-content: start;
    min-width: 0;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    padding: 1rem;
    background: #ffffff;
}

.marketing-card {
    min-height: 10rem;
}

.marketing-card .marketing-inline-cta {
    margin-top: auto;
}

.marketing-related .marketing-card {
    min-height: 8rem;
}

.marketing-plan--featured {
    border-color: var(--marketing-ocean);
    background: #f4f9fd;
}

.marketing-plan--featured > span {
    justify-self: start;
    border-radius: 999px;
    padding: 0.28rem 0.55rem;
    background: var(--marketing-mist);
    color: var(--marketing-steel);
    font-size: 0.72rem;
    font-weight: 900;
}

.marketing-plan__price {
    color: var(--marketing-ink) !important;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.marketing-plan__price span {
    color: #64748b;
    font-size: 0.95rem;
}

.marketing-plan ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding-left: 1.1rem;
}

.marketing-faq__list {
    display: grid;
    gap: 0.65rem;
}

.marketing-faq-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.marketing-faq-group {
    display: grid;
    gap: 0.7rem;
    align-content: start;
    border: 1px solid var(--marketing-card-border);
    border-radius: 8px;
    padding: 1rem;
    background: #ffffff;
}

.marketing-faq-group h3 {
    margin: 0;
}

.marketing-faq summary {
    cursor: pointer;
    color: var(--marketing-ink);
    font-weight: 850;
}

.marketing-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.marketing-form label {
    display: grid;
    gap: 0.35rem;
    color: var(--marketing-steel);
    font-weight: 800;
}

.marketing-form__consent {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
}

.marketing-final-cta {
    display: grid;
    gap: 1rem;
    justify-items: start;
    border: 1px solid var(--marketing-mist);
    border-radius: 8px;
    padding: clamp(1.25rem, 4vw, 2rem);
    background:
        linear-gradient(135deg, rgba(217, 230, 239, 0.96), rgba(250, 250, 250, 0.98)),
        var(--marketing-mist);
}

.marketing-page--hosted-websites .marketing-card,
.marketing-page--hosted-websites .marketing-faq details,
.marketing-page--hosted-websites .marketing-brand-feature-card,
.marketing-page--hosted-websites .marketing-brand-swatch-card,
.marketing-page--hosted-websites .marketing-flow-steps article {
    box-shadow: 0 10px 24px rgba(16, 32, 51, 0.05);
}

.marketing-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid var(--marketing-mist);
    padding: 1.5rem 0 2rem;
}

.marketing-footer div {
    max-width: 34rem;
}

.marketing-footer--expanded {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.4fr);
    align-items: start;
}

.marketing-footer__brand {
    display: grid;
    gap: 0.35rem;
}

.marketing-footer__logo {
    display: block;
    width: clamp(10.5rem, 18vw, 13.5rem);
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left center;
}

.marketing-footer__groups {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: 1rem;
}

.marketing-footer__groups section {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.marketing-footer__groups h2 {
    margin: 0;
    color: var(--marketing-ink);
    font-size: 0.85rem;
    font-weight: 900;
}

.marketing-footer__groups a {
    color: var(--marketing-muted);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.3;
}

.marketing-legal {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
    padding: clamp(2rem, 6vw, 5rem) 0;
}

.marketing-legal__hero,
.marketing-legal__body,
.marketing-legal__contact {
    width: min(100%, 54rem);
    margin-inline: auto;
}

.marketing-legal__hero {
    display: grid;
    gap: 0.85rem;
    padding: clamp(1.5rem, 5vw, 3rem);
    border: 1px solid var(--marketing-card-border);
    border-radius: 24px;
    background: linear-gradient(135deg, #eef8f4, #fff);
    box-shadow: var(--marketing-shadow);
}

.marketing-legal__hero h1,
.marketing-legal__section h2,
.marketing-legal__contact h2 {
    margin: 0;
    color: var(--marketing-ink);
}

.marketing-legal__hero h1 {
    font-size: clamp(2.25rem, 7vw, 4.5rem);
    line-height: 0.98;
}

.marketing-legal__lead,
.marketing-legal__effective,
.marketing-legal__section p,
.marketing-legal__section li,
.marketing-legal__contact p {
    color: var(--marketing-muted);
    line-height: 1.75;
}

.marketing-legal__lead {
    max-width: 46rem;
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.2rem);
}

.marketing-legal__effective {
    margin: 0;
    font-size: 0.92rem;
}

.marketing-legal__body {
    display: grid;
    gap: 0.9rem;
}

.marketing-legal__section {
    padding: clamp(1.25rem, 4vw, 2rem);
    border: 1px solid var(--marketing-card-border);
    border-radius: 18px;
    background: #fff;
}

.marketing-legal__section h2 {
    font-size: clamp(1.25rem, 3vw, 1.65rem);
}

.marketing-legal__section p {
    margin: 0.65rem 0 0;
}

.marketing-legal__section ul {
    display: grid;
    gap: 0.55rem;
    margin: 0.85rem 0 0;
    padding-left: 1.25rem;
}

.marketing-legal__contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(1.25rem, 4vw, 2rem);
    border-radius: 18px;
    background: var(--marketing-ink);
}

.marketing-legal__contact h2,
.marketing-legal__contact p,
.marketing-legal__contact .marketing-eyebrow {
    color: #fff;
}

.marketing-legal__contact p {
    margin: 0.4rem 0 0;
}

.auth-v2__legal {
    margin: 0;
    line-height: 1.55;
}

.marketing-form__legal {
    margin: 0;
    color: var(--marketing-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.marketing-form__legal a {
    color: var(--marketing-ocean);
    font-weight: 800;
}

@media (max-width: 680px) {
    .marketing-legal {
        padding-top: 1.25rem;
    }

    .marketing-legal__hero,
    .marketing-legal__section,
    .marketing-legal__contact {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .marketing-legal__contact {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 1100px) {
    .marketing-nav {
        align-items: center;
        flex-wrap: nowrap;
    }

    .marketing-nav__links {
        display: none;
    }

    .marketing-brand__logo {
        width: clamp(9.4rem, 46vw, 12.2rem);
    }

    .marketing-nav.is-scrolled .marketing-brand__logo {
        width: clamp(7.75rem, 38vw, 9.7rem);
    }

    .marketing-mobile-menu {
        display: block;
    }

    .marketing-hero,
    .marketing-card-grid,
    .marketing-card-grid--compact,
    .marketing-plan-grid,
    .marketing-faq-groups,
    .marketing-template-card-grid,
    .marketing-hosted-brand__grid,
    .marketing-flow-steps,
    .marketing-hosted-demo {
        grid-template-columns: 1fr;
    }

    .marketing-hosted-hero-visual {
        grid-template-columns: minmax(0, 1fr);
    }

    .marketing-hosted-hero-visual--real {
        grid-template-columns: minmax(0, 1fr) minmax(7rem, 0.34fr);
    }

    .marketing-template-mini-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .marketing-hosted-brand__grid,
    .marketing-flow-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .marketing-footer--expanded,
    .marketing-footer__groups {
        grid-template-columns: 1fr 1fr;
    }

    .marketing-hero {
        min-height: auto;
    }
}

@media (max-width: 680px) {
    .marketing-nav,
    .marketing-footer,
    .marketing-main {
        width: min(calc(100vw - 1.5rem), 1180px);
    }

    .marketing-actions,
    .marketing-main .marketing-primary-button,
    .marketing-main .marketing-secondary-button,
    .marketing-main .marketing-link-button,
    .marketing-footer .marketing-primary-button,
    .marketing-footer .marketing-secondary-button,
    .marketing-footer .marketing-link-button {
        width: 100%;
        max-width: 100%;
    }

    .marketing-brand__logo {
        width: clamp(9.15rem, 46vw, 11.85rem);
    }

    .marketing-nav {
        gap: 0.65rem;
        padding: 0.64rem 0.35rem;
    }

    .marketing-nav.is-scrolled {
        padding-top: 0.42rem;
        padding-bottom: 0.42rem;
    }

    .marketing-nav__links {
        display: none;
    }

    .marketing-nav__actions {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
        gap: 0.35rem;
        flex-wrap: nowrap;
    }

    .marketing-nav__actions > .marketing-link-button {
        display: none;
    }

    .marketing-nav .marketing-primary-button,
    .marketing-nav .marketing-link-button,
    .marketing-mobile-menu summary {
        width: auto;
        min-height: 2.18rem;
        padding: 0.5rem 0.62rem;
        font-size: 0.84rem;
    }

    .marketing-nav__dropdown {
        position: static;
        margin-top: 0.4rem;
        min-width: 0;
    }

    .marketing-hero h1 {
        max-width: 18ch;
        font-size: clamp(2rem, 9.1vw, 2.85rem);
        line-height: 1.02;
    }

    .marketing-hero {
        gap: 1.15rem;
        padding-top: 1rem;
    }

    .marketing-page--hosted-websites .marketing-hero {
        gap: 1.35rem;
        padding-top: 0.8rem;
    }

    .marketing-visual,
    .marketing-visual-preview,
    .marketing-image-placeholder {
        aspect-ratio: 4 / 3;
        margin-right: 0;
        margin-left: 0;
    }

    .marketing-card {
        min-height: auto;
    }

    .marketing-template-mini-grid,
    .marketing-template-card-grid,
    .marketing-hosted-brand__grid,
    .marketing-flow-steps {
        grid-template-columns: 1fr;
    }

    .marketing-hosted-hero-visual,
    .marketing-hosted-demo {
        padding: 0.78rem;
    }

    .marketing-hosted-hero-visual--real {
        grid-template-columns: minmax(0, 1fr);
    }

    .marketing-device--phone {
        display: none;
    }

    .marketing-template-card {
        padding: 0.7rem;
    }

    .marketing-template-card__preview {
        aspect-ratio: 16 / 9.6;
    }

    .marketing-page--hosted-websites .marketing-template-card p:not(.marketing-template-card__kicker) {
        font-size: 0.88rem;
    }

    .marketing-phone-preview {
        border-radius: 18px;
    }

    .marketing-form__grid,
    .marketing-footer {
        grid-template-columns: 1fr;
        display: grid;
    }

    .marketing-footer__groups {
        grid-template-columns: 1fr;
    }

    .marketing-page--hosted-websites + .marketing-footer,
    .marketing-footer--expanded {
        gap: 1rem;
    }

    .marketing-footer__groups section {
        gap: 0.32rem;
    }
}

@media (max-width: 360px) {
    .marketing-nav,
    .marketing-footer,
    .marketing-main {
        width: min(calc(100vw - 0.75rem), 1180px);
    }

    .marketing-nav {
        gap: 0.35rem;
        padding-right: 0.25rem;
        padding-left: 0.25rem;
    }

    .marketing-brand__logo {
        width: clamp(9rem, 45vw, 10.25rem);
    }

    .marketing-nav.is-scrolled .marketing-brand__logo {
        width: clamp(8rem, 40vw, 8.75rem);
    }

    .marketing-nav__actions {
        gap: 0.2rem;
        min-width: 0;
    }

    .marketing-nav .marketing-primary-button,
    .marketing-mobile-menu summary {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .marketing-mobile-menu summary {
        gap: 0.32rem;
    }

    .marketing-mobile-menu__icon {
        width: 0.78rem;
    }
}


.appointment-detail-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.appointment-detail-hero,
.appointment-detail-card,
.appointment-detail-reminder-bar,
.appointment-detail-history-item,
.appointment-detail-modal {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: var(--shadow-sm);
}

.appointment-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr);
    gap: 1rem;
    padding: 1rem;
}

.appointment-detail-hero__title-row,
.appointment-detail-card__header,
.appointment-detail-history-item__top,
.appointment-detail-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.appointment-detail-hero__title {
    margin-bottom: 0.2rem;
}

.appointment-detail-hero__subtitle {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.95rem;
    font-weight: 600;
}

.appointment-detail-hero__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.appointment-detail-hero__meta-card {
    padding: 0.85rem 0.9rem;
    border-radius: var(--radius-md);
    border: 1px solid rgba(219, 229, 240, 0.95);
    background: #f8fbff;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.appointment-detail-hero__meta-card strong {
    color: var(--color-text-strong);
    font-size: 0.94rem;
}

.appointment-detail-hero__meta-card span {
    color: var(--color-text-muted);
    font-size: 0.84rem;
}

.appointment-detail-hero__meta-label {
    font-size: 0.7rem !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-faint) !important;
}

.appointment-detail-hero__actions {
    display: flex;
    align-items: stretch;
}

.appointment-detail-actions,
.appointment-detail-upsell__actions,
.appointment-detail-review-box__form,
.appointment-detail-reminder-bar__form {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: stretch;
}

.appointment-detail-actions {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    display: grid;
}

.appointment-detail-actions__form {
    margin: 0;
}

.field-actions {
    margin-bottom: 0;
}

.button-field {
    width: 100%;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 0.9rem;
    font-weight: 700;
    font-size: 0.95rem;
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    text-decoration: none;
    text-align: center;
    background: #fff;
}

.button-field:hover {
    box-shadow: var(--shadow-sm);
}

.button-field:active {
    transform: scale(0.98);
}

.button-field--omw {
    background: #eff6ff;
    border-color: rgba(59, 130, 246, 0.24);
    color: #1d4ed8;
}

.button-field--start {
    background: #eff6ff;
    border-color: rgba(59, 130, 246, 0.28);
    color: #1d4ed8;
}

.button-field--complete,
.button-field--invoice {
    background: #ecfdf5;
    border-color: rgba(16, 185, 129, 0.25);
    color: #166534;
}

.button-field--neutral {
    background: #f8fafc;
    border-color: rgba(148, 163, 184, 0.25);
    color: #475569;
}

.button-field--info {
    background: #f0f9ff;
    border-color: rgba(14, 165, 233, 0.24);
    color: #0369a1;
}

.button-field--accent {
    background: #fdf2f8;
    border-color: rgba(236, 72, 153, 0.22);
    color: #9d174d;
}

.workflow-grid.appointment-detail-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.95fr);
    gap: 1rem;
}

.appointment-detail-main,
.appointment-detail-sidebar,
.appointment-detail-side-stack,
.appointment-detail-upsells,
.appointment-detail-list {
    display: grid;
    gap: 0.9rem;
}

.appointment-detail-card {
    padding: 1rem;
}

.appointment-detail-card__title,
.appointment-detail-modal__title,
.appointment-detail-history-title {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    color: var(--color-text-strong);
}

.appointment-detail-card--upsells {
    border-top: 3px solid var(--od-theme-info, #0D5E9C);
}

.appointment-detail-card--alert {
    background: linear-gradient(180deg, #fff7f7 0%, #ffffff 100%);
    border-color: rgba(248, 113, 113, 0.3);
}

.appointment-detail-card--info {
    background: linear-gradient(180deg, #f5fbff 0%, #ffffff 100%);
    border-color: rgba(56, 189, 248, 0.25);
}

.appointment-detail-card--accent {
    background: linear-gradient(180deg, #f7f5ff 0%, #ffffff 100%);
    border-color: rgba(139, 92, 246, 0.22);
}

.appointment-detail-card--pet-alert {
    border-color: rgba(248, 113, 113, 0.25);
}

.appointment-detail-upsell {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
    padding: 0.85rem 0.9rem;
    border-radius: var(--radius-sm);
    background: #f5f3ff;
}

.appointment-detail-upsell__title,
.appointment-detail-review-box__title,
.appointment-detail-side-item strong {
    display: block;
    color: var(--color-text-strong);
}

.appointment-detail-upsell__price,
.appointment-detail-side-item__subtle,
.appointment-detail-list__meta,
.appointment-detail-review-box__meta,
.appointment-detail-side-copy,
.appointment-detail-history-item__meta {
    color: var(--color-text-muted);
    font-size: 0.85rem;
}

.appointment-detail-notes__input {
    min-height: 140px;
}

.appointment-detail-notes__submit {
    width: 100%;
}

.appointment-detail-meta-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

.appointment-detail-service-area,
.appointment-detail-review-box__form,
.appointment-detail-modal__actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    align-items: center;
}

.appointment-detail-service-area__name {
    color: var(--color-text-strong);
    font-weight: 600;
}

.appointment-detail__service-area-note,
.appointment-detail-review-box,
.appointment-detail-next-visit,
.appointment-detail-history-empty {
    margin: 0.6rem 0 0;
    padding: 0.8rem 0.9rem;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(219, 229, 240, 0.95);
    background: #fff;
}

.appointment-detail__service-area-note--success {
    background: #f0fdf4;
    border-color: rgba(134, 239, 172, 0.55);
    color: #166534;
}

.appointment-detail__service-area-note--warning {
    background: var(--od-ui-card-bg-soft);
    border-color: rgba(253, 224, 71, 0.55);
    color: var(--od-warning);
}

.appointment-detail__service-area-note--muted {
    background: #f8fafc;
    color: #475569;
}

.appointment-detail-review-box {
    margin-top: 0.75rem;
}

.appointment-detail-list {
    margin: 0;
    padding-left: 1.1rem;
}

.appointment-detail-list li,
.appointment-detail-side-item p {
    color: var(--color-text-strong);
    font-size: 0.9rem;
}

.appointment-detail-side-item p,
.appointment-detail-side-copy,
.appointment-detail-history-item__body {
    margin: 0.25rem 0 0;
}

.appointment-detail-next-visit {
    margin-top: 0.8rem;
    border-top-style: dashed;
}

.appointment-detail-next-visit__label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #7c3aed;
}

.appointment-detail-pet-alert__flag {
    display: block;
    margin-bottom: 0.8rem;
    text-align: center;
    padding: 0.55rem;
}

.appointment-detail-flash {
    margin-bottom: 1rem;
}

.appointment-detail-flash--success {
    padding: 1rem;
    border-radius: var(--radius-sm);
    border: 1px solid #bbf7d0;
    background: #dcfce7;
    color: #166534;
}

.appointment-detail-reminder-bar {
    padding: 0.9rem 1rem;
    margin-bottom: 1rem;
}

.appointment-detail-reminder-bar__form {
    width: 100%;
    justify-content: space-between;
}

.appointment-detail-reminder-bar__label {
    margin: 0;
    min-width: 220px;
    flex: 1;
}

.appointment-detail-communication-form {
    gap: 1rem;
}

.appointment-detail-history-title {
    margin-top: 1.75rem;
}

.appointment-detail-history-empty {
    text-align: center;
}

.appointment-detail-history-list {
    margin-top: 0.9rem;
    display: grid;
    gap: 0.8rem;
}

.appointment-detail-history-item {
    flex-direction: column;
    align-items: stretch;
    padding: 0.95rem;
}

.appointment-detail-history-item__top {
    width: 100%;
    margin-bottom: 0.45rem;
}

.appointment-detail-history-item__cap {
    text-transform: capitalize;
}

.appointment-detail-history-item__body {
    width: 100%;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(219, 229, 240, 0.95);
}

.appointment-detail-modal {
    max-width: 500px;
    width: min(500px, 90vw);
    padding: 1.25rem;
}

.appointment-detail-modal::backdrop {
    background: rgba(15, 23, 42, 0.42);
}

.appointment-detail-modal__checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.9rem;
}

.appointment-detail-modal__actions {
    margin-top: 1.25rem;
    justify-content: flex-end;
}

@media (max-width: 960px) {
    .appointment-detail-hero,
    .workflow-grid.appointment-detail-layout {
        grid-template-columns: 1fr;
    }

    .appointment-detail-hero__meta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .appointment-detail-actions,
    .appointment-detail-upsell,
    .appointment-detail-upsell__actions,
    .appointment-detail-reminder-bar__form,
    .appointment-detail-modal__actions,
    .appointment-detail-service-area {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .appointment-detail-meta-list {
        grid-template-columns: 1fr;
    }

    .appointment-detail-actions__form,
    .appointment-detail-actions .button-field,
    .appointment-detail-upsell__actions .button,
    .appointment-detail-reminder-bar__form .button,
    .appointment-detail-modal__actions .button {
        width: 100%;
    }
}

.layout-responsive {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
}

.layout-responsive,
.layout-responsive > *,
.profile-header,
.profile-header .page-header,
.profile-header .page-header__content,
.profile-main,
.profile-sidebar,
.profile-sidebar .form-stack,
.profile-sidebar .info-card,
.profile-sidebar .dashboard-list,
.profile-sidebar .surface-muted,
.profile-sidebar form,
.profile-main .panel,
.profile-main .info-card,
.profile-main .surface-muted,
.profile-main .dashboard-list {
    min-width: 0;
    max-width: 100%;
}

.profile-main .info-value,
.profile-main .dashboard-list__meta,
.profile-sidebar .dashboard-list__meta,
.profile-sidebar strong,
.record-workflow-guide__copy {
    overflow-wrap: anywhere;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-5);
}

.form-grid > *,
.top-level-v2 *,
.ui2-adminops-page * {
    min-width: 0;
}

@media (min-width: 1024px) {
    
.layout-responsive {
        grid-template-columns: 2fr 1fr;
    }
}

@media (max-width: 860px) {
    .app-shell--authenticated {
        grid-template-columns: 1fr;
    }

    .side-rail {
        display: none;
    }

    .site-header {
        position: sticky;
        top: 0;
    }

    .site-header__inner {
        align-items: flex-start;
        padding: 0.9rem 1rem;
    }

    .site-header__inner--authenticated {
        align-items: center;
        flex-wrap: wrap;
        row-gap: 0.75rem;
        padding: 0.8rem 1rem;
    }

    .shell-brand__title-row {
        align-items: flex-start;
    }

    .shell-context {
        min-width: 0;
        flex: 1 1 auto;
    }

    .shell-context__row {
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .shell-context__title {
        font-size: 0.96rem;
    }

    .workspace-bar {
        align-items: flex-start;
    }

    .workspace-bar--authenticated {
        margin-left: auto;
    }

    .shell-workspace {
        display: none;
    }

    .shell-logout-form--header {
        display: none;
    }

    .top-nav {
        display: none;
        margin: 0 1rem 0.9rem;
        padding: 0.9rem;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: var(--shadow-sm);
    }

    .top-nav.is-open {
        display: block;
    }

    .top-nav__link {
        width: 100%;
        justify-content: flex-start;
    }

    .app-main,
    .app-shell--authenticated .app-main {
        padding: 1rem;
    }
}

@media (min-width: 861px) {
    .mobile-menu-toggle {
        display: none;
    }

    .top-nav,
    .top-nav--mobile {
        display: none !important;
    }
}

/* UI-1C — Today Command Center card polish */
.command-center {
    display: grid;
    gap: var(--space-6);
}

.command-center__hero {
    margin-bottom: 0;
    align-items: stretch;
}

.command-center__hero .page-header__content {
    gap: var(--space-3);
}

.app-shell--authenticated .command-center__hero {
    padding-bottom: 0.45rem;
}

.app-shell--authenticated .command-center__hero .page-header__content {
    gap: 0.25rem;
}

.command-center__hero-meta,
.command-center__hero-actions,
.command-card__actions,
.inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.command-center__hero-actions {
    align-items: center;
    justify-content: flex-end;
}

.command-center__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2rem;
    padding: 0.4rem 0.8rem;
    border-radius: var(--radius-pill);
    background: rgba(226, 232, 240, 0.8);
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #334155;
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.02em;
}

.command-center__badge--live {
    background: linear-gradient(180deg, #effdf5 0%, var(--color-success-soft) 100%);
    border-color: rgba(5, 150, 105, 0.18);
    color: #166534;
}

.command-center__badge--alert {
    background: linear-gradient(180deg, #fff5f5 0%, var(--color-error-soft) 100%);
    border-color: rgba(220, 38, 38, 0.18);
    color: #991b1b;
}

.command-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
    gap: var(--space-6);
}

.command-stack,
.overview-grid,
.summary-grid,
.quick-actions,
.support-grid {
    display: grid;
    gap: var(--space-4);
}

.overview-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.summary-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.quick-actions {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.support-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.command-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 251, 255, 0.98) 100%);
    padding: var(--space-6);
    box-shadow: var(--shadow-md), var(--shadow-inset);
}

.command-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent 34%);
}

.command-card--priority {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 32%),
        linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    border-color: rgba(191, 219, 254, 0.75);
}

.command-card__header {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
}

.command-card__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-primary);
}

.command-card__title {
    margin: 0;
    color: var(--color-text-strong);
    font-size: clamp(1.12rem, 1.6vw, 1.35rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.command-card__meta {
    margin: 0.4rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.94rem;
    max-width: 52rem;
}

.command-card__value,
.metric-card__value {
    margin: 0;
    color: var(--color-text-strong);
    font-size: clamp(1.85rem, 2vw, 2.3rem);
    font-weight: 850;
    letter-spacing: -0.04em;
    line-height: 1;
}

.command-card__metrics {
    margin-bottom: var(--space-4);
}

.metric-card {
    padding: 1rem 1.05rem;
    border-radius: var(--radius-md);
    border: 1px solid rgba(219, 229, 240, 0.95);
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: var(--shadow-sm);
}

.metric-card__label {
    margin: 0 0 0.45rem;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-faint);
    font-weight: 800;
}

.metric-card__meta {
    margin: 0.45rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.86rem;
}

.attention-list,
.signal-list,
.compact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.9rem;
}

.attention-item,
.signal-row,
.signal-list li,
.compact-list li {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: var(--radius-md);
    padding: 1rem 1.05rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: var(--shadow-sm);
}

.attention-item {
    border-left: 5px solid #cbd5e1;
}

.attention-item--critical { border-left-color: var(--color-error); }
.attention-item--high { border-left-color: #2563eb; }
.attention-item--medium { border-left-color: #0369a1; }
.attention-item--low { border-left-color: var(--color-primary); }

.attention-item__top,
.split-stat {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

.attention-item__title,
.signal-list__title {
    margin: 0;
    color: var(--color-text-strong);
    font-size: 1rem;
    font-weight: 800;
}

.attention-item__meta,
.signal-list__meta,
.compact-list__meta {
    margin: 0.4rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.attention-item__actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
}

.priority-pill,
.severity-pill,
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.7rem;
    padding: 0.18rem 0.58rem;
    border-radius: var(--radius-pill);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.status-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 2px;
    background: currentColor;
    flex: 0 0 auto;
}

.severity-pill--critical { background: #fee2e2; color: #991b1b; }
.severity-pill--high { background: #dbeafe; color: #1e3a8a; }
.severity-pill--medium { background: #eff6ff; color: #0369a1; }
.severity-pill--low { background: #dbeafe; color: #1d4ed8; }
.status--scheduled { background: #eff6ff; color: #1d4ed8; }
.status--confirmed { background: #dcfce7; color: #166534; }
.status--in_progress { background: #dbeafe; color: #1e40af; }
.status--completed { background: #dcfce7; color: #166534; }
.status--cancelled,
.status--failed { background: #fee2e2; color: #991b1b; }
.status--draft { background: #f1f5f9; color: #334155; }
.status--sent { background: #ede9fe; color: #6d28d9; }
.status--ok { background: #dcfce7; color: #166534; }
.status--warning { background: #eff6ff; color: #0369a1; }
.status--neutral { background: #e2e8f0; color: #475569; }

.signal-row__link {
    color: var(--color-primary);
    font-weight: 800;
    text-decoration: none;
}

.signal-row__link:hover {
    text-decoration: underline;
}

.button--full {
    width: 100%;
    justify-content: center;
}

.mini-progress {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 5px;
    overflow: hidden;
    margin-top: 0.55rem;
}

.mini-progress > span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

@media (max-width: 960px) {
    .command-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .wrap {
        width: min(100% - 1rem, 100%);
    }

    .shell-workspace {
        width: 100%;
        justify-content: space-between;
    }

    .panel,
    .info-card,
    .command-card {
        padding: 1rem;
        border-radius: var(--radius-md);
    }

    .layout-responsive,
    .layout-responsive > *,
    .profile-header,
    .profile-header .page-header,
    .profile-header .page-header__content,
    .record-workflow-guide,
    .record-workflow-guide > *,
    .record-workflow-guide__actions {
        min-width: 0;
        max-width: 100%;
    }

    .profile-sidebar .button,
    .profile-sidebar textarea,
    .profile-sidebar select,
    .profile-sidebar input,
    .profile-main .button {
        max-width: 100%;
    }

    .profile-main [style*="display: flex"],
    .profile-sidebar [style*="display: flex"] {
        flex-wrap: wrap !important;
    }

    .page-header {
        margin-bottom: var(--space-5);
    }

    .page-header__title {
        font-size: 1.4rem;
    }

    .command-center__hero-actions,
    .command-card__actions,
    .inline-actions,
    .form-actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .form-actions .button,
    .button-field,
    .page-header__actions .button,
    .command-center__hero-actions .button,
    .command-card__actions .button,
    .inline-actions .button {
        width: 100%;
    }

    th,
    td {
        padding: 0.8rem 0.85rem;
    }
}

/* OpenDog operations UI simplification */
:root {
    --od-radius-control: 5px;
    --od-radius-card: 5px;
    --od-radius-panel: 5px;
    --od-app-bg-strong: #E5E7EB;
    --od-border-strong: rgba(51, 65, 85, 0.26);
    --od-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
    --od-shadow-md: 0 6px 16px rgba(15, 23, 42, 0.07);
    --od-shadow-command: 0 6px 16px rgba(15, 23, 42, 0.08);
}

body,
.app-shell,
.app-shell--authenticated {
    background: var(--od-app-bg-strong);
}

.page-header {
    background: transparent;
    border: 0;
    border-left: 4px solid var(--od-primary);
    border-radius: 0;
    box-shadow: none;
    padding: 0.25rem 0 0.95rem 1rem;
    margin-bottom: 1.1rem;
}

.page-header__eyebrow {
    color: #64748B;
    letter-spacing: 0.1em;
}

.page-header__title {
    color: #0F172A;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.page-header__meta {
    color: #475569;
}

.panel,
.surface-muted,
.dashboard-card,
.summary-card,
.hero-card,
.appointment-detail__card,
.quick-note-section,
.stack-list__item.surface-muted,
.kpi-grid .surface-muted,
.alert.surface-muted {
    border-radius: var(--od-radius-panel);
    box-shadow: none;
}

.panel {
    background: #FFFFFF;
    border-color: var(--od-border-strong);
}

.surface-muted {
    background: #F8FAFC;
    border-color: rgba(51, 65, 85, 0.18);
}

.hero-card,
.summary-card,
.dashboard-card,
.appointment-detail__card,
.kpi-grid .surface-muted {
    background: #FFFFFF;
    border-color: rgba(51, 65, 85, 0.20);
    border-top: 2px solid rgba(29, 78, 216, 0.20);
    box-shadow: var(--od-shadow-sm);
}

.panel:hover,
.dashboard-card:hover,
.appointment-detail__card:hover,
.quick-note-section:hover,
.stack-list__item.surface-muted:hover {
    box-shadow: none;
    transform: none;
}

.alert.surface-muted,
.od-card-warning {
    background: #FFFFFF !important;
    border-color: rgba(29, 78, 216, 0.30) !important;
    border-left: 4px solid var(--od-primary) !important;
    box-shadow: var(--od-shadow-sm);
}

.button,
button.button,
a.button,
input[type="submit"].button,
.form-control,
input.form-control,
select.form-control,
textarea.form-control,
input[type="date"],
input[type="datetime-local"],
input[type="search"],
input[type="email"],
input[type="text"],
input[type="number"],
select,
textarea {
    border-radius: var(--od-radius-control);
}

.button,
button.button,
a.button,
input[type="submit"].button {
    box-shadow: none;
    transform: none;
}

.button:hover,
button.button:hover,
a.button:hover,
input[type="submit"].button:hover {
    transform: none;
    box-shadow: none;
}

.button-primary,
button.button-primary,
a.button-primary {
    background: var(--od-primary);
    border-color: var(--od-primary-hover);
    color: #FFFFFF;
    box-shadow: 0 4px 10px rgba(29, 78, 216, 0.16);
}

.button-primary:hover,
button.button-primary:hover,
a.button-primary:hover {
    background: var(--od-primary-hover);
    border-color: var(--od-primary-hover);
}

.button-secondary,
button.button-secondary,
a.button-secondary,
.schedule-nav__link {
    background: #FFFFFF;
    border-color: rgba(51, 65, 85, 0.28);
    color: #1E293B;
    box-shadow: none;
}

.button-secondary:hover,
button.button-secondary:hover,
a.button-secondary:hover,
.schedule-nav__link:hover {
    background: #F1F5F9;
    border-color: rgba(29, 78, 216, 0.36);
    color: var(--od-primary-hover);
}

.form-inline,
.schedule-filters,
.filter-bar {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    gap: 0.75rem;
}

.form-control,
input.form-control,
select.form-control,
textarea.form-control,
input[type="date"],
input[type="datetime-local"],
input[type="search"],
input[type="email"],
input[type="text"],
input[type="number"],
select,
textarea {
    background: #FFFFFF;
    border-color: rgba(51, 65, 85, 0.30);
    color: #0F172A;
    box-shadow: none;
}

.sidebar,
.app-sidebar {
    background: #F8FAFC;
    border-right: 1px solid rgba(51, 65, 85, 0.16);
}

.sidebar a,
.sidebar-nav a,
.app-sidebar a,
.nav-link {
    border-radius: 5px;
    color: #334155;
}

.sidebar a.is-active,
.sidebar-nav a.is-active,
.app-sidebar a.is-active,
.nav-link.is-active,
.sidebar a[aria-current="page"],
.sidebar-nav a[aria-current="page"],
.app-sidebar a[aria-current="page"] {
    background: #FFFFFF;
    color: var(--od-primary);
    box-shadow: var(--od-shadow-soft);
    font-weight: 800;
}

.badge {
    border-radius: 5px;
}
/* End OpenDog operations UI simplification */

/* UI-R1 reference-driven component foundation */
:root {
    --od-ui-radius-xs: 4px;
    --od-ui-radius-sm: 5px;
    --od-ui-radius-md: 5px;
    --od-ui-radius-lg: 5px;
    --od-ui-radius-pill: 5px;
    --od-ui-card-bg: #FFFFFF;
    --od-ui-card-bg-soft: #F8FAFC;
    --od-ui-card-border: rgba(15, 23, 42, 0.10);
    --od-ui-card-border-strong: rgba(15, 23, 42, 0.16);
    --od-ui-text: #0F172A;
    --od-ui-text-muted: #64748B;
    --od-ui-text-faint: #94A3B8;
    --od-ui-blue: #002B55;
    --od-ui-blue-strong: #00213F;
    --od-ui-blue-soft: #EFF6FF;
    --od-ui-teal: #0F766E;
    --od-ui-teal-soft: #ECFDF5;
    --od-ui-purple: #0D5E9C;
    --od-ui-purple-soft: #F5F3FF;
    --od-ui-red: #B91C1C;
    --od-ui-red-soft: #FEF2F2;
    --od-ui-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.07);
    --od-ui-shadow-card-hover: 0 2px 6px rgba(15, 23, 42, 0.06), 0 18px 40px rgba(15, 23, 42, 0.10);
    --od-ui-shadow-action: 0 10px 22px rgba(29, 78, 216, 0.16);
}

.od-section {
    display: grid;
    gap: 1rem;
}

.od-section + .od-section {
    margin-top: 1.25rem;
}

.od-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.25rem;
}

.od-page-heading__content {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.od-page-heading__eyebrow {
    margin: 0;
    color: var(--od-ui-blue);
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.od-page-heading__title {
    margin: 0;
    color: var(--od-ui-text);
    font-size: clamp(1.6rem, 2vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    font-weight: 900;
}

.od-page-heading__meta {
    margin: 0;
    max-width: 70ch;
    color: var(--od-ui-text-muted);
    font-size: 0.96rem;
}

.od-app-card,
.od-stat-tile,
.od-action-tile {
    position: relative;
    background: var(--od-ui-card-bg);
    border: 1px solid var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    box-shadow: var(--od-ui-shadow-card);
    color: var(--od-ui-text);
}

.od-app-card {
    padding: 1.15rem;
}

.od-app-card--flat {
    box-shadow: none;
}

.od-app-card--blue {
    border-color: rgba(29, 78, 216, 0.22);
    background: var(--od-ui-blue-soft);
}

.od-app-card--success {
    border-color: rgba(15, 118, 110, 0.24);
    background: var(--od-ui-teal-soft);
}

.od-app-card--workflow {
    border-color: rgba(124, 58, 237, 0.22);
    background: var(--od-ui-purple-soft);
}

.od-app-card--revenue {
    border-color: rgba(124, 58, 237, 0.22);
    background: var(--od-ui-purple-soft);
}

.od-app-card--danger {
    border-color: rgba(185, 28, 28, 0.24);
    background: var(--od-ui-red-soft);
}

.od-stat-tile {
    display: grid;
    gap: 0.35rem;
    padding: 0.95rem;
    min-width: 0;
}

.od-stat-tile__label {
    margin: 0;
    color: var(--od-ui-text-muted);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.od-stat-tile__value {
    margin: 0;
    color: var(--od-ui-text);
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    line-height: 1;
    letter-spacing: -0.045em;
    font-weight: 900;
}

.od-stat-tile__meta {
    margin: 0;
    color: var(--od-ui-text-muted);
    font-size: 0.86rem;
}

.od-action-tile {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem;
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.od-action-tile:hover {
    border-color: rgba(29, 78, 216, 0.34);
    box-shadow: var(--od-ui-shadow-card-hover);
    transform: translateY(-1px);
}

.od-action-tile:focus-visible {
    box-shadow: var(--focus-ring), var(--od-ui-shadow-card-hover);
}

.od-action-tile__content {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.od-action-tile__title {
    margin: 0;
    color: var(--od-ui-text);
    font-size: 0.98rem;
    font-weight: 850;
    letter-spacing: -0.02em;
}

.od-action-tile__meta {
    margin: 0;
    color: var(--od-ui-text-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.od-icon-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue);
    border: 1px solid rgba(29, 78, 216, 0.18);
    font-weight: 900;
}

.od-icon-badge--success {
    background: var(--od-ui-teal-soft);
    color: var(--od-ui-teal);
    border-color: rgba(15, 118, 110, 0.22);
}

.od-icon-badge--workflow {
    background: var(--od-ui-purple-soft);
    color: var(--od-ui-purple);
    border-color: rgba(124, 58, 237, 0.20);
}

.od-icon-badge--revenue {
    background: var(--od-ui-purple-soft);
    color: var(--od-ui-purple);
    border-color: rgba(124, 58, 237, 0.20);
}

.od-icon-badge--danger {
    background: var(--od-ui-red-soft);
    color: var(--od-ui-red);
    border-color: rgba(185, 28, 28, 0.22);
}

.od-status-success,
.od-status-healthy,
.od-status-complete,
.od-status-completed,
.od-status-active,
.od-status-primary,
.od-status-workflow,
.od-status-revenue,
.od-status-danger,
.od-status-error,
.od-status-muted {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    border-radius: var(--od-ui-radius-pill);
    border: 1px solid transparent;
    padding: 0.25rem 0.55rem;
    font-size: 0.75rem;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.od-status-primary,
.od-status-active {
    background: var(--od-ui-blue-soft);
    border-color: rgba(29, 78, 216, 0.18);
    color: var(--od-ui-blue-strong);
}

.od-status-success,
.od-status-healthy,
.od-status-complete,
.od-status-completed {
    background: var(--od-ui-teal-soft);
    border-color: rgba(15, 118, 110, 0.20);
    color: var(--od-ui-teal);
}

.od-status-workflow {
    background: var(--od-ui-purple-soft);
    border-color: rgba(124, 58, 237, 0.18);
    color: var(--od-ui-purple);
}

.od-status-revenue {
    background: var(--od-ui-purple-soft);
    border-color: rgba(124, 58, 237, 0.18);
    color: var(--od-ui-purple);
}

.od-status-danger,
.od-status-error {
    background: var(--od-ui-red-soft);
    border-color: rgba(185, 28, 28, 0.20);
    color: var(--od-ui-red);
}

.od-status-muted {
    background: #F8FAFC;
    border-color: var(--od-ui-card-border);
    color: var(--od-ui-text-muted);
}

.od-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.od-dashboard-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.75rem;
}

@media (max-width: 720px) {
    .od-page-heading {
        display: grid;
        gap: 0.85rem;
    }

    .od-app-card,
    .od-stat-tile,
    .od-action-tile {
        border-radius: var(--od-ui-radius-sm);
    }

    .od-dashboard-grid,
    .od-dashboard-grid--compact {
        grid-template-columns: 1fr;
    }
}

/* DESIGN-SYSTEM-002 appointment workflow visual polish. */
.appointment-workflow-page {
    max-width: 1180px;
    margin-inline: auto;
}

.appointment-workflow-page--form {
    padding: clamp(1rem, 2.2vw, 2rem);
}

.appointment-workflow-header,
.appointment-workflow-page--detail > .appointment-detail-hero {
    border-radius: 14px;
    border: 1px solid var(--od-border);
    background: linear-gradient(110deg, #fff 0%, #fff 68%, #f4f7fb 100%);
    box-shadow: var(--od-shadow-panel);
}

.appointment-workflow-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.appointment-stage-rail {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 1rem 0 1.25rem;
}

.appointment-stage-rail span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.7rem;
    border: 1px solid rgba(15, 64, 67, 0.12);
    border-radius: 10px;
    background: #fff;
    color: #315b5c;
    font-size: 0.76rem;
    font-weight: 750;
    box-shadow: 0 7px 20px rgba(6, 63, 67, 0.05);
}

.appointment-stage-rail b {
    display: grid;
    flex: 0 0 1.6rem;
    width: 1.6rem;
    height: 1.6rem;
    place-items: center;
    border-radius: 999px;
    background: #dff7ed;
    color: #075e4b;
}

.appointment-workflow-page .button-primary,
.appointment-completion-modal .button-primary {
    border-color: #17986d !important;
    background: #26b887 !important;
    color: #062f2d !important;
}

.appointment-workflow-page .button-primary:hover,
.appointment-completion-modal .button-primary:hover {
    border-color: #12825d !important;
    background: #43c99a !important;
}

.appointment-workflow-section,
.appointment-workflow-form > .form-grid,
.appointment-workflow-form > .form-group,
.appointment-workflow-form > .quick-note-section {
    min-width: 0;
}

.appointment-workflow-section {
    position: relative;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid var(--od-border);
    border-radius: 12px;
    background: var(--od-surface);
    box-shadow: var(--od-shadow-soft);
}

.appointment-workflow-section[data-stage] {
    padding-top: 3.15rem;
}

.appointment-workflow-section[data-stage]::after {
    position: absolute;
    top: 1rem;
    left: 1.15rem;
    color: #075e4b;
    content: "Stage " attr(data-stage) " · " attr(data-stage-title);
    font-size: 0.73rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.appointment-workflow-section[data-stage]::before { display: none; }

.appointment-workflow-section--customer { order: 2; }
.appointment-workflow-section--pets-services { order: 3; }
.appointment-workflow-section--service-items { order: 4; }
.appointment-workflow-section--team { order: 5; }
.appointment-workflow-section--time { order: 6; }
.appointment-workflow-section--notes { order: 7; }
.appointment-advanced-controls { order: 8; }
.appointment-warning-override { order: 9; }
.appointment-workflow-actions { order: 10; }

.appointment-workflow-section--customer,
.appointment-workflow-section--service-items {
    position: relative;
}

.appointment-workflow-section--customer::before,
.appointment-workflow-section--service-items::before,
.appointment-workflow-section--time::before,
.appointment-workflow-section--team::before {
    display: block;
    margin-bottom: 0.7rem;
    color: var(--od-primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.appointment-workflow-section--customer::before { content: "Customer"; }
.appointment-workflow-section--service-items::before { content: "Services"; }
.appointment-workflow-section--time::before { content: "Visit time"; grid-column: 1 / -1; }
.appointment-workflow-section--team::before { content: "Team and status"; grid-column: 1 / -1; }

.appointment-advanced-controls {
    overflow: clip;
    border: 1px solid var(--od-border);
    border-radius: 12px;
    background: #f8fbfa;
}

.appointment-advanced-controls > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    cursor: pointer;
    list-style: none;
}

.appointment-advanced-controls > summary::-webkit-details-marker { display: none; }
.appointment-advanced-controls > summary small { display: block; margin-top: 0.2rem; color: var(--od-muted); font-weight: 500; }
.appointment-advanced-controls__body { display: grid; gap: 1rem; padding: 0 1.15rem 1.15rem; }

.appointment-identity-chips .appointment-detail-hero__meta-card {
    border-color: rgba(15, 64, 67, 0.13);
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(6, 63, 67, 0.06);
}

.appointment-completion-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.8rem;
}

.appointment-completion-steps span {
    padding: 0.4rem 0.55rem;
    border-radius: 999px;
    background: #dff7ed;
    color: #075e4b;
    font-size: 0.72rem;
    font-weight: 750;
}

.appointment-hours-callout {
    display: grid;
    gap: 0.2rem;
    border-radius: 12px !important;
    box-shadow: var(--od-shadow-soft);
}

.appointment-hours-callout--configured {
    background: #f3faf7 !important;
}

.appointment-hours-callout--warning {
    background: #fff9ed !important;
}

.appointment-workflow-actions {
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
    padding: 0.85rem;
    border: 1px solid var(--od-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--od-shadow-panel);
    backdrop-filter: blur(10px);
}

.appointment-handoff-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.appointment-handoff-links a {
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--od-border);
    border-radius: 8px;
    background: var(--od-surface);
    color: var(--od-primary);
    font-size: 0.82rem;
    font-weight: 750;
    text-decoration: none;
}

.appointment-handoff-links a:hover {
    border-color: var(--od-nav-active-border);
    background: var(--od-primary-soft);
}

.appointment-next-action-panel {
    align-self: stretch;
    min-width: min(100%, 230px);
    padding: 1rem;
    border: 1px solid var(--od-border);
    border-radius: 12px;
    background: var(--od-surface);
    box-shadow: var(--od-shadow-card);
}

.appointment-schedule-change-panel > .form-grid > form {
    padding: 1rem;
    border: 1px solid var(--od-border);
    border-radius: 10px;
    background: var(--od-surface-soft);
}

.appointment-completion-modal {
    width: min(620px, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    padding: 0;
    overflow: auto;
    border: 1px solid var(--od-border);
    border-radius: 16px;
    box-shadow: var(--od-shadow-lift);
}

.appointment-completion-modal::backdrop {
    background: rgba(16, 32, 51, 0.58);
    backdrop-filter: blur(3px);
}

.appointment-completion-modal__header {
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid var(--od-border);
    background: linear-gradient(110deg, #fff 0%, #f4f7fb 100%);
}

.appointment-completion-modal > form {
    padding: 1.35rem;
}

.appointment-completion-modal__invoice-expectation {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--od-nav-active-border);
    border-radius: 10px;
    background: var(--od-primary-soft);
}

.appointment-completion-modal__invoice-expectation span,
.appointment-completion-modal__invoice-expectation small {
    display: block;
}

.appointment-completion-modal__invoice-expectation small {
    margin-top: 0.25rem;
    color: var(--od-muted);
    font-weight: 500;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .appointment-workflow-page--form {
        padding: 0.75rem;
    }

    .appointment-workflow-section,
    .appointment-workflow-form > .form-grid,
    .appointment-schedule-change-panel > .form-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .appointment-stage-rail {
        display: flex;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        scroll-snap-type: x proximity;
    }

    .appointment-stage-rail span {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .appointment-workflow-section[data-stage] {
        padding: 3rem 0.9rem 0.9rem;
    }

    .appointment-workflow-section[data-stage]::after {
        left: 0.9rem;
    }

    .appointment-advanced-controls > summary {
        align-items: flex-start;
    }

    .appointment-workflow-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .appointment-workflow-actions .button-primary {
        order: -1;
        width: 100%;
    }

    .appointment-workflow-actions .button-secondary {
        width: 100%;
    }

    .appointment-detail-hero__actions,
    .appointment-detail-actions,
    .appointment-detail-actions__form,
    .appointment-detail-actions :is(.button-field, button, a) {
        width: 100%;
        min-width: 0;
    }

    .appointment-handoff-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .appointment-handoff-links a {
        text-align: center;
    }

    .appointment-completion-modal__header,
    .appointment-completion-modal > form {
        padding: 1rem;
    }
}

.od-pill-warning {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    border-radius: var(--od-ui-radius-pill, 5px);
    border: 1px solid var(--od-warning-border, rgba(29, 78, 216, 0.18));
    background: var(--od-warning-soft, var(--od-ui-blue-soft, #EFF6FF));
    color: var(--od-warning, var(--od-ui-blue-strong, #00213F));
    padding: 0.25rem 0.55rem;
    font-size: 0.75rem;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.stack-list__meta {
    margin: 0;
    color: var(--od-ui-text-muted, #64748B);
    font-size: 0.88rem;
    line-height: 1.45;
}

/* End UI-R1 reference-driven component foundation */

/* UI-R2 assistant operations page */
.assistant-workspace {
    display: grid;
    gap: 1.25rem;
}

.assistant-heading {
    margin-bottom: 0;
}

.assistant-heading__status {
    display: flex;
    justify-content: flex-end;
    min-width: max-content;
}

.assistant-hero {
    gap: 1.15rem;
    overflow: hidden;
}

.assistant-hero__intro,
.assistant-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.assistant-hero__intro {
    justify-content: flex-start;
}

.assistant-card-header--compact {
    margin-bottom: -0.25rem;
}

.assistant-card-eyebrow {
    margin: 0 0 0.25rem;
    color: var(--od-ui-blue);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.assistant-card-eyebrow--danger {
    color: var(--od-ui-red);
}

.assistant-card-title {
    margin: 0;
    color: var(--od-ui-text);
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
    font-weight: 900;
}

.assistant-card-title--small {
    font-size: 1rem;
    letter-spacing: -0.02em;
}

.assistant-card-meta {
    margin: 0.35rem 0 0;
    color: var(--od-ui-text-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.assistant-stats,
.assistant-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.assistant-detail-grid {
    grid-template-columns: 2fr 1fr;
}

.assistant-stat-time {
    font-size: clamp(1.1rem, 1.6vw, 1.45rem);
}

.assistant-next-up {
    border-color: rgba(29, 78, 216, 0.18);
}

.assistant-detail-item {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

.assistant-detail-label {
    color: var(--od-ui-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.assistant-detail-item strong {
    overflow-wrap: anywhere;
    color: var(--od-ui-text);
    font-size: 0.95rem;
}

.assistant-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.assistant-exceptions {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.assistant-exception-card {
    display: grid;
    gap: 1rem;
}

.assistant-route-list {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.assistant-route-item {
    display: grid;
    grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

.assistant-route-time {
    color: var(--od-ui-blue-strong);
    font-size: 0.86rem;
    font-weight: 900;
    white-space: nowrap;
}

.assistant-route-main {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.assistant-route-main strong {
    overflow: hidden;
    color: var(--od-ui-text);
    font-size: 0.96rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assistant-route-main span {
    overflow: hidden;
    color: var(--od-ui-text-muted);
    font-size: 0.86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assistant-route-status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
}

.assistant-empty-state {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px dashed var(--od-ui-card-border-strong);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

.assistant-empty-state h4,
.assistant-empty-state p {
    margin: 0;
}

.assistant-empty-state h4 {
    color: var(--od-ui-text);
    font-size: 1rem;
}

.assistant-empty-state p {
    margin-top: 0.25rem;
    color: var(--od-ui-text-muted);
    font-size: 0.9rem;
}

.assistant-quick-actions {
    display: grid;
}

@media (max-width: 840px) {
    .assistant-stats,
    .assistant-detail-grid {
        grid-template-columns: 1fr;
    }

    .assistant-route-item {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .assistant-route-status {
        justify-content: space-between;
    }
}

@media (max-width: 560px) {
    .assistant-hero__intro,
    .assistant-card-header,
    .assistant-actions,
    .assistant-route-status {
        display: grid;
        justify-content: stretch;
    }

    .assistant-heading__status {
        justify-content: flex-start;
    }

    .assistant-actions .button,
    .assistant-route-status .button {
        width: 100%;
        justify-content: center;
    }
}
/* End UI-R2 assistant operations page */

/* UI-R3 dashboard operations view */
.dashboard-ops {
    gap: 1.25rem;
}

.dashboard-ops.command-center {
    gap: 1.25rem;
}

.dashboard-hero {
    margin-bottom: 0;
    padding: 0;
}

.dashboard-hero .od-page-heading__content {
    gap: 0.35rem;
}

.dashboard-hero .command-center__hero-meta {
    margin-top: 0.85rem;
}

.dashboard-ops .command-card {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.dashboard-ops .command-card::after {
    display: none;
}

.dashboard-ops .command-card--priority {
    border-color: rgba(29, 78, 216, 0.22);
    background: var(--od-ui-blue-soft);
}

.dashboard-ops .command-card__eyebrow,
.dashboard-ops .metric-card__label {
    color: var(--od-ui-blue);
    font-weight: 850;
}

.dashboard-ops .command-card__title,
.dashboard-ops .attention-item__title,
.dashboard-ops .metric-card__value,
.dashboard-ops .command-card__value {
    color: var(--od-ui-text);
}

.dashboard-ops .command-card__meta,
.dashboard-ops .metric-card__meta,
.dashboard-ops .attention-item__meta,
.dashboard-ops .signal-list__meta,
.dashboard-ops .compact-list__meta {
    color: var(--od-ui-text-muted);
}

.dashboard-ops .metric-card,
.dashboard-ops .attention-item,
.dashboard-ops .signal-row,
.dashboard-ops .signal-list li,
.dashboard-ops .compact-list li {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
    box-shadow: none;
}

.dashboard-ops .overview-grid .metric-card {
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.dashboard-action-tiles {
    align-items: stretch;
}

.dashboard-action-tiles .od-action-tile {
    height: 100%;
}

.dashboard-action-tile--primary {
    border-color: rgba(29, 78, 216, 0.28);
    background: var(--od-ui-blue-soft);
}

.dashboard-progress {
    display: block;
    width: 100%;
    height: 0.45rem;
    margin-top: 0.8rem;
    overflow: hidden;
    border: 0;
    border-radius: var(--od-ui-radius-pill);
    background: var(--od-ui-card-border);
}

.dashboard-progress::-webkit-progress-bar {
    border-radius: var(--od-ui-radius-pill);
    background: var(--od-ui-card-border);
}

.dashboard-progress::-webkit-progress-value {
    border-radius: var(--od-ui-radius-pill);
    background: var(--od-ui-blue);
}

.dashboard-progress::-moz-progress-bar {
    border-radius: var(--od-ui-radius-pill);
    background: var(--od-ui-blue);
}

@media (max-width: 720px) {
    .dashboard-ops .command-card {
        padding: 1rem;
    }

    .dashboard-hero .command-center__hero-actions,
    .dashboard-ops .command-card__actions,
    .dashboard-ops .inline-actions {
        display: grid;
        justify-content: stretch;
    }
}
/* End UI-R3 dashboard operations view */

/* UI-R4 schedule operations workspace polish */
.daily-ops-shell {
    display: grid;
    gap: 1.25rem;
}

.daily-ops-header,
.daily-ops-section,
.daily-ops-sidebar-card,
.schedule-group,
.schedule-card {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.daily-ops-header {
    padding: 1.15rem;
}

.daily-ops-header .page-header,
.daily-ops-header__top {
    margin-bottom: 0;
}

.daily-ops-header .page-header__eyebrow,
.daily-ops-section .page-header__eyebrow,
.schedule-card__eyebrow,
.daily-ops-kpi__label,
.daily-ops-note__eyebrow,
.daily-ops-callout__eyebrow {
    color: var(--od-ui-blue);
    font-weight: 850;
    letter-spacing: 0.1em;
}

.daily-ops-header .page-header__title,
.daily-ops-section .page-header__title,
.schedule-card__title,
.daily-ops-kpi__value {
    color: var(--od-ui-text);
    letter-spacing: -0.035em;
}

.schedule-toolbar__form,
.schedule-filters,
.filter-bar {
    align-items: end;
    padding: 0.85rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

.schedule-toolbar__form .form-label,
.schedule-filters .form-label,
.filter-bar .form-label {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 0;
}

.schedule-toolbar__form .form-label > span,
.schedule-filters .form-label > span,
.filter-bar .form-label > span {
    color: var(--od-ui-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.schedule-toolbar__form .form-control,
.schedule-filters .form-control,
.filter-bar .form-control {
    min-height: 2.65rem;
    border-color: var(--od-ui-card-border-strong);
    border-radius: var(--od-ui-radius-sm);
    background-color: var(--od-ui-card-bg);
    color: var(--od-ui-text);
    box-shadow: none;
}

.schedule-toolbar__form .button,
.schedule-filters .button,
.filter-bar .button {
    min-height: 2.65rem;
    border-radius: var(--od-ui-radius-sm);
}

.schedule-nav__link {
    border-color: rgba(29, 78, 216, 0.18);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue-strong);
    font-weight: 850;
}

.schedule-nav__link:hover {
    border-color: rgba(29, 78, 216, 0.32);
    background: var(--od-ui-card-bg);
}

.daily-ops-summary-grid .daily-ops-kpi,
.daily-ops-status-grid .daily-ops-kpi,
.daily-ops-followup-grid .daily-ops-kpi,
.daily-ops-route-grid .daily-ops-kpi {
    border-color: var(--od-ui-card-border);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.schedule-group {
    overflow: hidden;
    padding: 0;
}

.schedule-group__time {
    border-bottom: 1px solid var(--od-ui-card-border);
    background: var(--od-ui-card-bg-soft);
    color: var(--od-ui-blue-strong);
    font-weight: 900;
}

.schedule-cards {
    padding: 0.85rem;
}

.schedule-card {
    border-left: 0;
    padding: 1rem;
}

.schedule-card--attention {
    border-color: rgba(185, 28, 28, 0.22);
    background: var(--od-ui-red-soft);
}

.schedule-card__title-row,
.schedule-card__footer-actions,
.daily-ops-inline-actions,
.schedule-inline-actions {
    gap: 0.65rem;
}

.schedule-card__status,
.badge {
    border-radius: var(--od-ui-radius-sm);
    font-weight: 850;
}

.daily-ops-callout--next {
    border-color: rgba(29, 78, 216, 0.22);
    background: var(--od-ui-blue-soft);
}

.daily-ops-list__item,
.daily-ops-note,
.daily-ops-callout,
.empty-state.surface-muted {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

@media (max-width: 720px) {
    .daily-ops-header,
    .daily-ops-section,
    .daily-ops-sidebar-card {
        padding: 1rem;
    }

    .schedule-toolbar__form,
    .schedule-filters,
    .filter-bar {
        display: grid;
        align-items: stretch;
    }

    .schedule-nav,
    .schedule-card__footer-actions,
    .daily-ops-inline-actions,
    .schedule-inline-actions {
        display: grid;
    }
}
/* End UI-R4 schedule operations workspace polish */


/* UI2-5C populated schedule density refinement */
.schedule-v2 .daily-ops-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.schedule-v2 .daily-ops-kpi {
    padding: 0.72rem 0.8rem;
}

.schedule-v2 .daily-ops-flags {
    gap: 0.65rem;
}

.schedule-v2 .daily-ops-flags-bar {
    padding: 0.62rem 0.72rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    background: #f8fafc;
}

.schedule-v2 .daily-ops-flags-bar .od-v2-status {
    text-transform: none;
    letter-spacing: 0.02em;
}

.schedule-v2 .daily-ops-flags-bar .od-v2-status--attention,
.schedule-v2 .schedule-card__status-stack .od-v2-status--attention {
    border-color: rgba(29, 78, 216, 0.24);
    background: #eff6ff;
    color: #1d4ed8;
}

.schedule-v2 .daily-ops-shell__grid {
    grid-template-columns: minmax(0, 1.72fr) minmax(250px, 0.78fr);
    gap: 0.9rem;
}

.schedule-v2 .schedule-groups {
    gap: 0.55rem;
}

.schedule-v2 .schedule-group {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.55rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    background: #ffffff;
    box-shadow: none;
}

.schedule-v2 .schedule-group__time {
    position: sticky;
    top: 0.45rem;
    padding: 0.72rem 0.5rem;
    border-bottom: 0;
    background: #f8fafc;
    color: #0f172a;
    font-size: 0.82rem;
    line-height: 1.15;
    text-align: center;
}

.schedule-v2 .schedule-cards {
    gap: 0;
    padding: 0;
}

.schedule-v2 .schedule-card {
    padding: 0.72rem 0.8rem;
    border: 0;
    border-bottom: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 0;
    box-shadow: none;
}

.schedule-v2 .schedule-card:last-child {
    border-bottom: 0;
}

.schedule-v2 .schedule-card--attention {
    border-color: rgba(219, 229, 240, 0.95);
    background: #ffffff;
    box-shadow: inset 3px 0 0 rgba(29, 78, 216, 0.42);
}

.schedule-v2 .schedule-card__header {
    grid-template-columns: minmax(96px, 128px) minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
}

.schedule-v2 .schedule-card__header:has(.schedule-card__stop-order) {
    grid-template-columns: minmax(96px, 128px) auto minmax(0, 1fr) auto;
}

.schedule-v2 .schedule-card__time {
    font-size: 0.98rem;
    line-height: 1.15;
}

.schedule-v2 .schedule-card__time-range,
.schedule-v2 .schedule-card__subtitle,
.schedule-v2 .schedule-card__highlight-detail {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 650;
}

.schedule-v2 .schedule-card__kicker {
    margin-bottom: 0.12rem;
    color: #475569;
    font-size: 0.68rem;
    letter-spacing: 0.06em;
}

.schedule-v2 .schedule-card__title {
    font-size: 0.95rem;
    line-height: 1.25;
}

.schedule-v2 .schedule-card__status-stack {
    gap: 0.28rem;
    align-self: start;
}

.schedule-v2 .schedule-card__highlights {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.45rem;
    margin-top: 0.55rem;
}

.schedule-v2 .schedule-card__highlight--primary {
    background: #ffffff;
    border-color: rgba(147, 197, 253, 0.75);
}

.schedule-v2 .schedule-card__highlight,
.schedule-v2 .schedule-card__note {
    padding: 0.5rem 0.58rem;
    background: #f8fafc;
    border-color: rgba(226, 232, 240, 0.95);
}

.schedule-v2 .schedule-card__highlight strong,
.schedule-v2 .schedule-card__highlight a,
.schedule-v2 .schedule-card__highlight-detail {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.schedule-v2 .schedule-card__highlight-detail {
    margin-top: 0.12rem;
}

.schedule-v2 .schedule-card__meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem 0.7rem;
    margin-top: 0.55rem;
    padding-top: 0.55rem;
}

.schedule-v2 .schedule-card__meta dd {
    font-size: 0.82rem;
}

.schedule-v2 .schedule-note--warning {
    color: #1d4ed8;
}

.schedule-v2 .schedule-card__actions {
    margin-top: 0.58rem;
    padding-top: 0.58rem;
}

.schedule-v2 .schedule-card__actions .button {
    min-height: 32px;
    padding: 0.42rem 0.58rem;
    font-size: 0.82rem;
}

@media (max-width: 1080px) {
    .schedule-v2 .daily-ops-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .schedule-v2 .daily-ops-shell__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-v2 .schedule-card__meta,
    .schedule-v2 .schedule-card__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .schedule-v2 .daily-ops-summary-grid,
    .schedule-v2 .schedule-card__meta,
    .schedule-v2 .schedule-card__highlights {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-v2 .schedule-group {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-v2 .schedule-group__time {
        position: static;
        text-align: left;
        border-bottom: 1px solid rgba(219, 229, 240, 0.95);
    }

    .schedule-v2 .schedule-card__header {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .schedule-v2 .schedule-card__status-stack {
        justify-items: start;
        grid-template-columns: repeat(2, minmax(0, max-content));
    }

    .schedule-v2 .schedule-card__actions .button,
    .schedule-v2 .schedule-card__actions .schedule-card__action-form,
    .schedule-v2 .schedule-card__actions .schedule-card__action-form .button {
        width: 100%;
    }
}
/* End UI2-5C populated schedule density refinement */

/* UI-R5 dispatch and appointment detail polish */
.appointment-detail-shell.panel,
.appointment-detail-shell.form-section,
.dispatch-board-shell {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.appointment-detail-hero,
.appointment-detail-card,
.appointment-detail-reminder-bar,
.appointment-detail-history-item,
.appointment-detail-modal {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.appointment-detail-hero {
    padding: 1.15rem;
    background: var(--od-ui-blue-soft);
    border-color: rgba(29, 78, 216, 0.18);
}

.appointment-detail-hero__meta-card,
.appointment-detail-review-box,
.appointment-detail-next-visit,
.appointment-detail-history-empty {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

.appointment-detail-card__title,
.appointment-detail-modal__title,
.appointment-detail-history-title,
.appointment-detail-hero__title {
    color: var(--od-ui-text);
    letter-spacing: -0.035em;
}

.appointment-detail-hero__subtitle,
.appointment-detail-list__meta,
.appointment-detail-review-box__meta,
.appointment-detail-side-copy,
.appointment-detail-history-item__meta {
    color: var(--od-ui-text-muted);
}

.appointment-detail-actions .button-field,
.button-field {
    border-radius: var(--od-ui-radius-sm);
    font-weight: 850;
    box-shadow: none;
}

.appointment-detail-actions .button-field:hover,
.button-field:hover {
    box-shadow: var(--od-ui-shadow-card-hover);
    transform: translateY(-1px);
}

.button-field--omw,
.button-field--start {
    border-color: rgba(29, 78, 216, 0.24);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue-strong);
}

.button-field--complete,
.button-field--invoice {
    border-color: rgba(15, 118, 110, 0.24);
    background: var(--od-ui-teal-soft);
    color: var(--od-ui-teal);
}

.button-field--neutral {
    border-color: var(--od-ui-card-border-strong);
    background: var(--od-ui-card-bg-soft);
    color: var(--od-ui-text-muted);
}

.button-field--info {
    border-color: rgba(29, 78, 216, 0.20);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue);
}

.button-field--accent {
    border-color: rgba(124, 58, 237, 0.20);
    background: var(--od-ui-purple-soft);
    color: var(--od-ui-purple);
}

.appointment-detail-card--upsells,
.appointment-detail-card--info {
    border-color: rgba(29, 78, 216, 0.18);
}

.appointment-detail-card--accent {
    border-color: rgba(124, 58, 237, 0.20);
    background: var(--od-ui-purple-soft);
}

.appointment-detail-card--alert,
.appointment-detail-card--pet-alert {
    border-color: rgba(185, 28, 28, 0.22);
    background: var(--od-ui-red-soft);
}

.appointment-detail-card--notes,
.quick-note-section.appointment-detail-card--notes {
    border-color: rgba(29, 78, 216, 0.18);
    background: var(--od-ui-card-bg);
}

.form-section:has(+ .layout-responsive) {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.form-section:has(+ .layout-responsive) .page-header {
    margin-bottom: 0.85rem;
}

.form-section:has(+ .layout-responsive) .form-inline {
    align-items: end;
    padding: 0.85rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-sm);
    background: var(--od-ui-card-bg-soft);
}

.layout-responsive:has(.dashboard-column) {
    gap: 1rem !important;
    padding-bottom: 2rem;
}

.dashboard-column {
    overflow: hidden;
    border: 1px solid var(--od-ui-card-border) !important;
    border-radius: var(--od-ui-radius-md) !important;
    background: var(--od-ui-card-bg) !important;
    box-shadow: var(--od-ui-shadow-card) !important;
}

.dashboard-column > .od-table-row-divider {
    margin: -1rem -1rem 1rem !important;
    padding: 1rem !important;
    border-bottom: 1px solid var(--od-ui-card-border) !important;
    background: var(--od-ui-card-bg-soft);
}

.dashboard-column > .od-table-row-divider strong {
    color: var(--od-ui-text);
    letter-spacing: -0.02em;
}

.dashboard-column article.surface-muted {
    border: 1px solid var(--od-ui-card-border) !important;
    border-radius: var(--od-ui-radius-sm) !important;
    background: var(--od-ui-card-bg-soft) !important;
    box-shadow: none !important;
}

.dashboard-column article.surface-muted strong {
    color: var(--od-ui-text);
}

.dashboard-column .appointment-actions {
    gap: 0.6rem !important;
}

.dashboard-column .appointment-actions .button,
.dashboard-column .appointment-actions a,
.dashboard-column .button.button-secondary {
    min-height: 2.5rem;
    border-radius: var(--od-ui-radius-sm) !important;
    font-weight: 850 !important;
    text-decoration: none;
}

.dashboard-column .appointment-actions .button {
    border-color: rgba(29, 78, 216, 0.22);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue-strong);
}

.dashboard-column .appointment-actions a {
    border: 1px solid var(--od-ui-card-border);
    background: var(--od-ui-card-bg);
    color: var(--od-ui-blue);
}

.dashboard-column .od-border-dashed-top {
    border-top-color: var(--od-ui-card-border-strong) !important;
}

.dashboard-column .od-surface-white,
.dashboard-column .od-card-outline {
    border-color: var(--od-ui-card-border) !important;
    border-radius: var(--od-ui-radius-sm) !important;
    background: var(--od-ui-card-bg) !important;
}

@media (max-width: 720px) {
    .appointment-detail-hero,
    .workflow-grid.appointment-detail-layout {
        grid-template-columns: 1fr;
    }

    .appointment-detail-hero__meta,
    .appointment-detail-actions {
        grid-template-columns: 1fr;
    }

    .layout-responsive:has(.dashboard-column) {
        display: grid !important;
    }

    .dashboard-column {
        min-width: 0 !important;
        min-height: auto !important;
    }
}
/* End UI-R5 dispatch and appointment detail polish */

/* UI-R6 admin utility screen alignment */
.utility-workspace.panel {
    border-color: var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-md);
    background: var(--od-ui-card-bg);
    box-shadow: var(--od-ui-shadow-card);
}

.utility-workspace .page-header {
    margin-bottom: 1.15rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--od-ui-card-border);
}

.utility-workspace .page-header__title,
.utility-section-title,
.utility-card-title {
    color: var(--od-ui-text);
    letter-spacing: -0.035em;
}

.utility-workspace .page-header__meta,
.utility-workspace .dashboard-list__meta,
.utility-help-text,
.utility-muted-line,
.utility-kicker {
    color: var(--od-ui-text-muted);
}

.utility-alert,
.utility-workspace .alert {
    margin-bottom: 1rem !important;
    padding: 1rem !important;
    border-radius: var(--od-ui-radius-sm) !important;
}

.utility-grid,
.utility-workspace .layout-responsive {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 1rem !important;
    align-items: start !important;
}

.utility-grid--sidebar,
.utility-workspace--settings .layout-responsive,
.utility-workspace--subscription .layout-responsive,
.utility-workspace--upsells .layout-responsive {
    grid-template-columns: minmax(280px, 0.8fr) minmax(420px, 1.4fr) !important;
}

.utility-card,
.utility-table-card,
.utility-list-card,
.utility-workspace .surface-muted,
.utility-workspace .empty-state,
.utility-workspace .table-responsive {
    border: 1px solid var(--od-ui-card-border) !important;
    border-radius: var(--od-ui-radius-md) !important;
    background: var(--od-ui-card-bg-soft) !important;
    box-shadow: none !important;
}

.utility-card,
.utility-list-card,
.utility-workspace .surface-muted {
    padding: 1.25rem !important;
}

.utility-workspace form.surface-muted,
.utility-workspace .surface-muted:has(.form-control),
.utility-workspace--settings form,
.utility-workspace--subscription form,
.utility-workspace--import form[action="/import/upload"] {
    background: var(--od-ui-card-bg) !important;
    box-shadow: var(--od-ui-shadow-card) !important;
}

.utility-table-card,
.utility-workspace .table-responsive {
    overflow: hidden;
    background: var(--od-ui-card-bg) !important;
}

.utility-table,
.utility-workspace table.table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.utility-table th,
.utility-table td,
.utility-workspace table.table th,
.utility-workspace table.table td {
    padding: 0.85rem 1rem !important;
    vertical-align: top;
}

.utility-table thead tr,
.utility-workspace table.table thead tr {
    background: var(--od-ui-card-bg-soft) !important;
    text-align: left;
}

.utility-workspace table.table tbody tr:hover {
    background: rgba(29, 78, 216, 0.035);
}

.utility-section-title {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 900;
}

.utility-card-title {
    margin: 0 0 1rem;
    font-weight: 850;
}

.utility-form-stack,
.utility-workspace .form-stack {
    gap: 1rem;
}

.utility-form-grid,
.utility-workspace .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 1rem !important;
}

.utility-form-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

.utility-workspace .form-control,
.utility-workspace input[type="file"] {
    border-color: var(--od-ui-card-border-strong);
    border-radius: var(--od-ui-radius-sm);
    background: #FFFFFF;
}

.utility-workspace .form-control:focus {
    border-color: rgba(29, 78, 216, 0.55);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

.utility-submit {
    margin-top: 0.5rem !important;
}

.utility-submit--full {
    width: 100%;
}

.button-small,
.utility-workspace .button-small {
    min-height: 2rem;
    padding: 0.3rem 0.65rem !important;
    font-size: 0.78rem !important;
    border-radius: var(--od-ui-radius-sm);
}

.utility-help-text {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.82rem;
}

.utility-muted-line {
    margin: 0.25rem 0 0;
    font-size: 0.85rem;
}

.utility-empty {
    padding: 2.5rem 1.5rem !important;
    text-align: center;
}

.utility-inline-form {
    margin: 0;
}

.utility-split-row,
.utility-workspace .page-header__actions,
.utility-workspace--qa-users .stack-list__item > div:first-child {
    display: flex !important;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.utility-checkline {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    font-weight: 800;
    color: var(--od-ui-text);
}

.utility-form-actions {
    margin-top: 1rem !important;
}

.utility-rule-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.utility-rule-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--od-ui-card-border);
}

.utility-rule-item:last-child {
    border-bottom: 0;
}

.utility-checkbox {
    margin-top: 0.2rem;
    width: 1rem;
    height: 1rem;
    accent-color: var(--od-ui-blue);
}

.utility-rule-body {
    flex: 1;
}

.utility-rule-title {
    display: block;
    font-size: 0.95rem;
    color: var(--od-ui-text);
}

.utility-trigger-label {
    display: block;
    margin-top: 0.55rem;
}

.utility-trigger-caption {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8rem;
}

.utility-card--stacked {
    margin-top: 1rem;
}

.utility-card--accent {
    margin-bottom: 1rem;
    border-left: 4px solid var(--od-ui-blue) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, var(--od-ui-blue-soft) 100%) !important;
}

.utility-kicker {
    margin: 0 0 1rem;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.utility-token-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.utility-token {
    padding: 0.18rem 0.45rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: var(--od-ui-radius-xs);
    background: #FFFFFF;
    color: var(--od-ui-text-muted);
    font-size: 0.75rem;
}

.utility-template-column {
    min-width: 0;
}

.utility-workspace .kpi-grid,
.utility-workspace--import-preview > div[style*="display: flex"],
.utility-workspace--import-detail .kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 1rem !important;
    margin-bottom: 1rem !important;
}

.utility-workspace .kpi-grid .surface-muted,
.utility-workspace--import-preview > div[style*="display: flex"] .surface-muted {
    min-width: 0;
    background: #FFFFFF !important;
    box-shadow: var(--od-ui-shadow-card) !important;
}

@media (max-width: 720px) {
    .utility-grid,
    .utility-grid--sidebar,
    .utility-workspace .layout-responsive,
    .utility-workspace--settings .layout-responsive,
    .utility-workspace--subscription .layout-responsive,
    .utility-workspace--upsells .layout-responsive {
        grid-template-columns: 1fr !important;
    }

    .utility-workspace table.table th,
    .utility-workspace table.table td {
        padding: 0.75rem !important;
    }
}
/* End UI-R6 admin utility screen alignment */

/* UI2-3 dashboard V2 command surface */
.od-v2-page,
.dashboard-v2 {
    display: grid;
    gap: 1.25rem;
}

.od-v2-card {
    border: 1px solid var(--od-ui-card-border);
    border-radius: 5px;
    background: #FFFFFF;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    color: var(--od-ui-text);
}

.od-v2-card--hero {
    box-shadow: none;
}

.od-v2-page-header,
.dashboard-v2__hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
}

.dashboard-v2__hero-main,
.dashboard-v2__section-header,
.dashboard-v2__section-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    min-width: 0;
}

.dashboard-v2__hero-actions,
.dashboard-v2-actions,
.dashboard-v2__status-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.dashboard-v2__hero-actions {
    justify-content: flex-end;
}

.od-v2-page-header__content,
.dashboard-v2__section-header > div,
.dashboard-v2__section-heading > div {
    min-width: 0;
}

.od-v2-eyebrow {
    margin: 0 0 0.3rem;
    color: var(--od-ui-blue);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.od-v2-page-title,
.dashboard-v2__section-title {
    margin: 0;
    color: var(--od-ui-text);
    letter-spacing: -0.04em;
    line-height: 1.05;
    font-weight: 900;
}

.od-v2-page-title {
    font-size: clamp(1.65rem, 2.2vw, 2.35rem);
}

.dashboard-v2__section-title {
    font-size: clamp(1.08rem, 1.45vw, 1.32rem);
}

.od-v2-page-meta,
.dashboard-v2__section-meta,
.dashboard-v2-empty,
.dashboard-v2-row p,
.od-v2-stat-card__meta,
.od-v2-action-card small {
    color: var(--od-ui-text-muted);
}

.od-v2-page-meta,
.dashboard-v2__section-meta,
.dashboard-v2-empty,
.dashboard-v2-row p {
    margin: 0.38rem 0 0;
    font-size: 0.92rem;
    line-height: 1.45;
}

.od-v2-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--od-ui-card-border-strong);
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--od-ui-blue);
    flex: 0 0 auto;
}

.od-v2-icon-box svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-v2__hero-icon {
    width: 2.4rem;
    height: 2.4rem;
}

.od-v2-icon-box--primary {
    border-color: rgba(29, 78, 216, 0.28);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue);
}

.od-v2-icon-box--success {
    border-color: rgba(15, 118, 110, 0.24);
    background: var(--od-ui-teal-soft);
    color: var(--od-ui-teal);
}

.od-v2-icon-box--workflow {
    border-color: rgba(124, 58, 237, 0.22);
    background: var(--od-ui-purple-soft);
    color: var(--od-ui-purple);
}

.od-v2-icon-box--revenue {
    border-color: rgba(161, 98, 7, 0.22);
    background: #FDF6E3;
    color: #7C5A12;
}

.od-v2-icon-box--danger,
.od-v2-icon-box--attention {
    border-color: rgba(185, 28, 28, 0.22);
    background: var(--od-ui-red-soft);
    color: var(--od-ui-red);
}

.od-v2-icon-box--neutral {
    border-color: rgba(100, 116, 139, 0.24);
    background: #F8FAFC;
    color: #475569;
}

.od-v2-status {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: 0.18rem 0.52rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: 5px;
    background: #F8FAFC;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.od-v2-status--primary,
.od-v2-status--active {
    border-color: rgba(29, 78, 216, 0.24);
    background: var(--od-ui-blue-soft);
    color: var(--od-ui-blue-strong);
}

.od-v2-status--success {
    border-color: rgba(15, 118, 110, 0.24);
    background: var(--od-ui-teal-soft);
    color: var(--od-ui-teal);
}

.od-v2-status--workflow {
    border-color: rgba(124, 58, 237, 0.22);
    background: var(--od-ui-purple-soft);
    color: var(--od-ui-purple);
}

.od-v2-status--revenue {
    border-color: rgba(161, 98, 7, 0.22);
    background: #FDF6E3;
    color: #7C5A12;
}

.od-v2-status--danger,
.od-v2-status--attention {
    border-color: rgba(185, 28, 28, 0.22);
    background: var(--od-ui-red-soft);
    color: var(--od-ui-red);
}

.od-v2-status--neutral {
    border-color: rgba(100, 116, 139, 0.22);
    background: #F8FAFC;
    color: #475569;
}

.dashboard-v2__stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.85rem;
}

.od-v2-stat-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--od-ui-card-border);
    border-radius: 5px;
    background: #FFFFFF;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.od-v2-stat-card__label {
    margin: 0;
    color: var(--od-ui-text-muted);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.od-v2-stat-card__value {
    margin: 0.28rem 0 0;
    color: var(--od-ui-text);
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1;
}

.od-v2-stat-card__meta {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.82rem;
    line-height: 1.35;
}

.dashboard-v2__section {
    padding: 1rem;
}

.dashboard-v2__section--priority {
    border-color: rgba(29, 78, 216, 0.22);
    background: #F8FAFC;
}

.dashboard-v2__section-header--split {
    justify-content: space-between;
    flex-wrap: wrap;
}

.dashboard-v2-action-grid,
.dashboard-v2-mini-stats,
.dashboard-v2__main-grid,
.dashboard-v2__support-grid,
.dashboard-v2__column,
.dashboard-v2-list {
    display: grid;
    gap: 0.85rem;
}

.dashboard-v2-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-top: 0.9rem;
}

.dashboard-v2__main-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.9fr);
    gap: 1rem;
}

.dashboard-v2__support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.od-v2-action-card,
.dashboard-v2-alert,
.dashboard-v2-row,
.dashboard-v2-mini-stats > div {
    border: 1px solid var(--od-ui-card-border);
    border-radius: 5px;
    background: #FFFFFF;
}

.od-v2-action-card {
    display: flex;
    align-items: flex-start;
    gap: 0.72rem;
    padding: 0.78rem;
    color: var(--od-ui-text);
    text-decoration: none;
    min-width: 0;
}

.od-v2-action-card:hover {
    border-color: rgba(29, 78, 216, 0.3);
    color: var(--od-ui-blue-strong);
    text-decoration: none;
}

.od-v2-action-card--primary {
    border-color: rgba(29, 78, 216, 0.24);
    background: var(--od-ui-blue-soft);
}

.od-v2-action-card strong,
.dashboard-v2-row strong,
.dashboard-v2-alert h4 {
    color: var(--od-ui-text);
}

.od-v2-action-card strong,
.od-v2-action-card small {
    display: block;
}

.od-v2-action-card small {
    margin-top: 0.2rem;
    font-size: 0.82rem;
}

.dashboard-v2-mini-stats {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    margin-top: 0.9rem;
}

.dashboard-v2-mini-stats > div {
    padding: 0.75rem;
    background: #F8FAFC;
}

.dashboard-v2-mini-stats span {
    display: block;
    color: var(--od-ui-text-muted);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-v2-mini-stats strong {
    display: block;
    margin-top: 0.25rem;
    color: var(--od-ui-text);
    font-size: 1.35rem;
    letter-spacing: -0.035em;
}

.dashboard-v2-list {
    list-style: none;
    margin: 0.9rem 0 0;
    padding: 0;
}

.dashboard-v2-row,
.dashboard-v2-alert {
    padding: 0.85rem;
}

.dashboard-v2-alert {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
    border-left: 4px solid var(--od-ui-blue);
}

.dashboard-v2-alert--critical,
.dashboard-v2-alert--high {
    border-left-color: var(--od-ui-red);
}

.dashboard-v2-alert--stable,
.dashboard-v2-alert--low {
    border-left-color: var(--od-ui-teal);
}

.dashboard-v2-alert__top,
.dashboard-v2-row__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.dashboard-v2-alert h4,
.dashboard-v2-alert p,
.dashboard-v2-row p {
    margin: 0;
}

.dashboard-v2-alert p,
.dashboard-v2-row p {
    margin-top: 0.35rem;
}

.dashboard-v2-link {
    color: var(--od-ui-blue);
    font-weight: 850;
    text-decoration: none;
}

.dashboard-v2-link:hover {
    text-decoration: underline;
}

.dashboard-v2-progress {
    display: block;
    width: 100%;
    height: 0.42rem;
    margin-top: 0.72rem;
    overflow: hidden;
    border: 0;
    border-radius: 5px;
    background: var(--od-ui-card-border);
}

.dashboard-v2-progress::-webkit-progress-bar {
    border-radius: 5px;
    background: var(--od-ui-card-border);
}

.dashboard-v2-progress::-webkit-progress-value {
    border-radius: 5px;
    background: var(--od-ui-blue);
}

.dashboard-v2-progress::-moz-progress-bar {
    border-radius: 5px;
    background: var(--od-ui-blue);
}

@media (max-width: 1120px) {
    .dashboard-v2__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-v2__main-grid,
    .dashboard-v2__support-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .od-v2-page,
    .dashboard-v2 {
        gap: 1rem;
    }

    .od-v2-page-header,
    .dashboard-v2__hero,
    .dashboard-v2__hero-main,
    .dashboard-v2__section-header,
    .dashboard-v2__section-heading,
    .dashboard-v2-alert {
        display: grid;
    }

    .dashboard-v2__stats,
    .dashboard-v2-action-grid,
    .dashboard-v2-mini-stats {
        grid-template-columns: 1fr;
    }

    .dashboard-v2__hero-actions,
    .dashboard-v2-actions {
        display: grid;
        justify-content: stretch;
    }

    .dashboard-v2__hero-actions .button,
    .dashboard-v2-actions .button {
        width: 100%;
    }
}
/* End UI2-3 dashboard V2 command surface */

/* DESIGN-SYSTEM-001 tenant application foundation */
.tenant-app-page {
    --tenant-ink: #122235;
    --tenant-navy: #17324d;
    --tenant-blue: #2563eb;
    --tenant-blue-dark: #1749b7;
    --tenant-warm: #faf7f2;
    --tenant-sand: #eadbc7;
    --tenant-line: #d9e2ea;
    --tenant-muted: #627083;
    display: grid;
    gap: 1.15rem;
    color: var(--tenant-ink);
}

body:has(.tenant-app-page) .app-shell,
body:has(.tenant-app-page) .app-shell--authenticated {
    background: #f5f4f1;
}

body:has(.tenant-app-page) .app-main {
    padding-top: 1rem;
}

.tenant-page-header {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(23, 50, 77, 0.14) !important;
    border-radius: 14px !important;
    background: linear-gradient(110deg, #fff 0%, #fff 68%, #f4f7fb 100%) !important;
    box-shadow: 0 10px 28px rgba(18, 34, 53, 0.06) !important;
}

.tenant-page-header::after {
    content: "";
    position: absolute;
    right: 1.2rem;
    bottom: -0.55rem;
    width: 74px;
    height: 24px;
    border-bottom: 1px dashed rgba(37, 99, 235, 0.28);
    border-radius: 50%;
    pointer-events: none;
}

.tenant-app-page .od-v2-eyebrow,
.tenant-app-page .page-header__eyebrow {
    color: var(--tenant-blue-dark);
    letter-spacing: 0.075em;
}

.tenant-app-page .od-v2-page-title,
.tenant-app-page .page-header__title,
.tenant-app-page .dashboard-v2__section-title {
    color: var(--tenant-ink);
    letter-spacing: -0.035em;
}

.tenant-app-page .button-primary,
.tenant-app-page .od-v2-action-card--primary {
    border-color: var(--tenant-blue);
    background: var(--tenant-blue);
    color: #fff;
}

.tenant-app-page .button-primary:hover,
.tenant-app-page .button-primary:focus-visible {
    border-color: var(--tenant-blue-dark);
    background: var(--tenant-blue-dark);
    color: #fff;
}

.tenant-app-page .od-v2-card,
.tenant-app-page .tenant-section,
.tenant-app-page .schedule-group,
.tenant-app-page .daily-ops-sidebar-card {
    border-color: var(--tenant-line);
    border-radius: 12px;
}

.tenant-app-page .od-v2-status {
    border-radius: 999px;
    text-transform: none;
    letter-spacing: 0.015em;
}

.tenant-section-header,
.tenant-app-page .dashboard-v2__section-header {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(217, 226, 234, 0.8);
}

.tenant-app-page .empty-state,
.tenant-app-page .dashboard-v2-empty {
    border: 1px dashed #c8d4df;
    border-radius: 10px;
    background: var(--tenant-warm);
}

.tenant-app-page .alert,
.tenant-app-page .dashboard-v2-alert,
.tenant-app-page .daily-ops-note {
    border-radius: 10px;
}

.tenant-app-page--dashboard .dashboard-v2__hero-actions {
    align-self: stretch;
    align-content: center;
}

.tenant-app-page--dashboard .tenant-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tenant-app-page--dashboard .tenant-stat-grid .od-v2-stat-card {
    min-height: 126px;
    border-radius: 12px;
    box-shadow: none;
}

.tenant-app-page--dashboard .tenant-stat-grid .od-v2-stat-card:first-child {
    grid-column: span 2;
    border-color: rgba(37, 99, 235, 0.25);
    background: linear-gradient(135deg, #17324d, #244b70);
}

.tenant-app-page--dashboard .tenant-stat-grid .od-v2-stat-card:first-child :is(.od-v2-stat-card__label, .od-v2-stat-card__value, .od-v2-stat-card__meta) {
    color: #fff;
}

.tenant-app-page--dashboard .tenant-stat-grid .od-v2-stat-card:nth-child(n + 3) {
    background: #fbfcfd;
}

.tenant-app-page--dashboard .tenant-section--support {
    background: var(--tenant-warm);
}

.tenant-app-page--dashboard .tenant-section--priority {
    border-left: 4px solid var(--tenant-blue);
    background: #fff;
}

.tenant-app-page--dashboard .od-v2-action-card {
    border-radius: 10px;
    transition: border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.tenant-app-page--dashboard .od-v2-action-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(18, 34, 53, 0.07);
}

.tenant-app-page--schedule .schedule-v2__hero {
    display: grid;
    gap: 1rem;
}

.tenant-app-page--schedule .schedule-nav {
    margin-left: auto;
}

.tenant-app-page--schedule .schedule-v2__primary-action {
    margin-left: 0.35rem;
}

.tenant-app-page--schedule .schedule-v2__filters {
    padding: 0.85rem;
    border: 1px solid var(--tenant-line);
    border-radius: 10px;
    background: var(--tenant-warm);
}

.tenant-app-page--schedule .schedule-day-header {
    align-items: center;
}

.tenant-app-page--schedule .daily-ops-callout--next {
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-left: 4px solid var(--tenant-blue);
    border-radius: 10px;
    background: #f3f7ff;
}

.tenant-app-page--schedule .schedule-group {
    overflow: hidden;
    box-shadow: 0 5px 16px rgba(18, 34, 53, 0.045);
}

.tenant-app-page--schedule .schedule-group__time {
    background: #eef3f7;
    color: var(--tenant-navy);
}

.tenant-app-page--schedule .schedule-card {
    border-left: 3px solid transparent;
}

.tenant-app-page--schedule .schedule-card:hover {
    border-left-color: var(--tenant-blue);
    background: #fbfdff;
}

.tenant-app-page--schedule .schedule-card__title {
    color: var(--tenant-ink);
    font-size: 1.02rem;
}

.tenant-app-page--schedule .schedule-card__highlight,
.tenant-app-page--schedule .schedule-card__note {
    border-radius: 8px;
    background: #f7f8f9;
}

.tenant-app-page--schedule .schedule-card__actions {
    position: sticky;
    bottom: 0;
    z-index: 1;
    background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 980px) {
    .tenant-app-page--dashboard .tenant-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    body:has(.tenant-app-page) .app-main {
        padding-top: 0.65rem;
    }

    .tenant-app-page {
        gap: 0.85rem;
    }

    .tenant-page-header {
        border-radius: 10px !important;
    }

    .tenant-page-header::after {
        display: none;
    }

    .tenant-app-page--dashboard .tenant-stat-grid,
    .tenant-app-page--dashboard .tenant-stat-grid .od-v2-stat-card:first-child {
        grid-template-columns: minmax(0, 1fr);
        grid-column: auto;
    }

    .tenant-app-page--dashboard .tenant-stat-grid .od-v2-stat-card {
        min-height: auto;
    }

    .tenant-app-page--dashboard .dashboard-v2__hero-actions,
    .tenant-app-page--schedule .schedule-nav,
    .tenant-app-page--schedule .schedule-v2__filters,
    .tenant-app-page--schedule .schedule-card__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .tenant-app-page--schedule .schedule-v2__primary-action {
        margin-left: 0;
    }

    .tenant-app-page--schedule .schedule-nav > *,
    .tenant-app-page--schedule .schedule-card__actions > *,
    .tenant-app-page--schedule .schedule-card__actions .button {
        width: 100%;
    }
}
/* End DESIGN-SYSTEM-001 tenant application foundation */

/* DESIGN-SYSTEM-003 customer and pet workflow polish */
.customer-pet-workflow {
    --customer-pet-accent: var(--tenant-blue, #2563eb);
    --customer-pet-ink: var(--tenant-ink, #122235);
    --customer-pet-line: var(--tenant-line, #d9e2ea);
    --customer-pet-warm: var(--tenant-warm, #faf7f2);
}

.customer-pet-identity-header {
    padding: 1.25rem 1.35rem;
    border-left: 4px solid var(--customer-pet-accent) !important;
}

.customer-pet-identity-header .page-header__title {
    color: var(--customer-pet-ink);
    letter-spacing: -0.035em;
}

.customer-pet-identity-header .page-header__subtitle {
    max-width: 70ch;
}

.customer-pet-context-bar {
    border: 1px solid var(--customer-pet-line);
    border-left: 4px solid var(--customer-pet-accent);
    background: linear-gradient(100deg, #f4f7fb, #fff);
}

.customer-pet-detail-layout {
    align-items: start;
}

.customer-pet-detail-layout .info-card {
    border-color: var(--customer-pet-line);
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(18, 34, 53, 0.045);
}

.customer-pet-detail-layout .info-card__title {
    color: var(--customer-pet-ink);
}

.customer-pet-form {
    gap: 0;
}

.customer-pet-form-section {
    padding: 1.05rem;
    border: 1px solid var(--customer-pet-line);
    border-radius: 10px;
    background: #fff;
}

.customer-pet-form-section + .customer-pet-form-section,
.customer-pet-section-heading + .helper-text + .customer-pet-form-section {
    margin-top: 0.85rem;
}

.customer-pet-form-section--contact,
.customer-pet-form-section--pet-identity {
    border-top: 3px solid var(--customer-pet-accent);
    background: linear-gradient(180deg, #fbfdff, #fff);
}

.customer-pet-section-heading {
    padding-top: 1.1rem;
    border-top: 1px solid var(--customer-pet-line);
    color: var(--customer-pet-ink);
}

.customer-pet-form-section--communication {
    background: var(--customer-pet-warm);
}

.customer-pet-form-section--grooming-notes {
    border-left: 3px solid #d7b98d;
    background: var(--customer-pet-warm);
}

.customer-pet-primary-actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    margin-top: 1rem;
    padding: 0.85rem;
    border: 1px solid var(--customer-pet-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -5px 18px rgba(18, 34, 53, 0.07);
    backdrop-filter: blur(8px);
}

.customer-pet-empty-state {
    padding: 2rem 1.25rem;
    border-color: #becddd !important;
}

.customer-pet-handling-alert {
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(138, 34, 34, 0.08);
}

@media (max-width: 720px) {
    .customer-pet-workflow,
    .customer-pet-workflow > *,
    .customer-pet-detail-layout,
    .customer-pet-detail-layout > *,
    .customer-pet-form,
    .customer-pet-form-section {
        min-width: 0;
        max-width: 100%;
    }

    .customer-pet-identity-header {
        padding: 1rem;
    }

    .customer-pet-identity-header,
    .customer-pet-context-bar,
    .customer-pet-context-bar__actions,
    .customer-pet-context-bar .record-workflow-guide__actions,
    .customer-pet-primary-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .customer-pet-identity-header .page-header__actions,
    .customer-pet-identity-header .button,
    .customer-pet-context-bar .button,
    .customer-pet-primary-actions .button {
        width: 100%;
    }

    .customer-pet-form-section {
        padding: 0.9rem;
    }

    .customer-pet-primary-actions {
        gap: 0.6rem;
        padding: 0.7rem;
    }

    .customer-pet-detail-layout :is(table, .table-responsive, .stack-list, .info-card) {
        max-width: 100%;
    }
}
/* End DESIGN-SYSTEM-003 customer and pet workflow polish */

/* DESIGN-SYSTEM-004 invoice, manual payment, and receipt polish */
.billing-workflow {
    --billing-accent: var(--tenant-blue, #2563eb);
    --billing-ink: var(--tenant-ink, #122235);
    --billing-navy: var(--tenant-navy, #17324d);
    --billing-line: var(--tenant-line, #d9e2ea);
    --billing-warm: var(--tenant-warm, #faf7f2);
    color: var(--billing-ink);
}

.billing-identity-header {
    padding: 1.25rem 1.35rem;
    border-left: 4px solid var(--billing-accent) !important;
}

.billing-identity-header .page-header__title {
    color: var(--billing-ink);
    letter-spacing: -0.035em;
}

.billing-header-actions {
    align-items: center;
}

.billing-summary-strip,
.billing-payment-balance {
    border: 1px solid var(--billing-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(18, 34, 53, 0.045);
}

.billing-summary-strip .top-level-v2__metric:last-child,
.billing-payment-balance .top-level-v2__metric:last-child {
    border-color: rgba(37, 99, 235, 0.24);
    background: #f3f7ff;
}

.billing-summary-strip .top-level-v2__metric:last-child strong,
.billing-payment-balance .top-level-v2__metric:last-child strong {
    color: var(--billing-navy);
}

.billing-empty-state {
    border: 1px dashed #becddd;
    border-radius: 12px;
    background: var(--billing-warm);
}

.billing-invoice-list {
    gap: 0.7rem;
}

.billing-invoice-row {
    border: 1px solid var(--billing-line);
    border-left: 3px solid transparent;
    border-radius: 10px;
    background: #fff;
    transition: border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.billing-invoice-row:hover {
    transform: translateY(-1px);
    border-left-color: var(--billing-accent);
    box-shadow: 0 8px 18px rgba(18, 34, 53, 0.07);
}

.billing-invoice-row .ui2-sensitive-money {
    color: var(--billing-ink);
    font-size: 1.08rem;
}

.billing-context-grid .ui2-sensitive-card,
.billing-section {
    border-color: var(--billing-line);
    border-radius: 12px;
}

.billing-context-grid .ui2-sensitive-card {
    border-top: 3px solid var(--billing-accent);
    background: linear-gradient(180deg, #fbfdff, #fff);
}

.billing-section {
    box-shadow: 0 5px 16px rgba(18, 34, 53, 0.04);
}

.billing-section--line-items,
.billing-section--history {
    background: #fff;
}

.billing-section--share {
    border-left: 4px solid #d7b98d;
    background: var(--billing-warm);
}

.billing-share-actions {
    align-items: center;
}

.billing-section--manual-payment {
    border-left: 4px solid var(--billing-accent);
    background: linear-gradient(120deg, #f4f7fb, #fff 72%);
}

.billing-manual-payment-form {
    max-width: 760px;
    padding: 1rem;
    border: 1px solid var(--billing-line);
    border-radius: 10px;
    background: #fff;
}

.billing-manual-payment-primary-fields {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--billing-line);
}

.billing-manual-payment-primary-fields .form-label:first-child .form-control {
    color: var(--billing-ink);
    font-size: 1.1rem;
    font-weight: 750;
}

.billing-safe-confirmation {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 1rem;
    border: 1px solid #d9c7a9;
    border-radius: 9px;
    background: #fffaf1;
    color: #57462f;
}

.billing-safe-confirmation span {
    font-size: 0.88rem;
    line-height: 1.5;
}

.billing-primary-actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    padding: 0.75rem;
    border: 1px solid var(--billing-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -5px 18px rgba(18, 34, 53, 0.07);
    backdrop-filter: blur(8px);
}

.billing-receipt-sheet {
    border-top: 5px solid var(--billing-accent);
    box-shadow: 0 18px 48px rgba(18, 34, 53, 0.12);
}

.billing-receipt-header {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--billing-line);
}

.billing-receipt-header h1 {
    color: var(--billing-ink);
    letter-spacing: -0.035em;
}

.billing-receipt-summary > div {
    border-top: 3px solid var(--billing-accent);
    background: #fbfdff;
}

.billing-receipt-context > div,
.billing-receipt-payment {
    border-radius: 10px;
}

@media (max-width: 720px) {
    .billing-workflow,
    .billing-workflow > *,
    .billing-section,
    .billing-manual-payment-form,
    .billing-receipt-sheet {
        min-width: 0;
        max-width: 100%;
    }

    .billing-identity-header {
        padding: 1rem;
    }

    .billing-header-actions,
    .billing-share-actions,
    .billing-receipt-actions,
    .billing-primary-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .billing-header-actions > *,
    .billing-share-actions > *,
    .billing-receipt-actions > *,
    .billing-primary-actions > *,
    .billing-header-actions .button,
    .billing-share-actions .button,
    .billing-receipt-actions .button,
    .billing-primary-actions .button {
        width: 100%;
    }

    .billing-invoice-row,
    .billing-invoice-row .ui2-sensitive-row-side {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
        width: 100%;
    }

    .billing-manual-payment-form {
        padding: 0.85rem;
    }

    .billing-receipt-sheet {
        padding: 1rem;
        box-shadow: none;
    }

    .billing-workflow--invoice-print .invoice-print-line-items {
        max-width: 100%;
        overflow-x: auto;
    }

    .billing-workflow--invoice-print .invoice-print-line-items table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
        font-size: 0.72rem;
    }

    .billing-workflow--invoice-print .invoice-print-line-items :is(th, td) {
        padding: 0.45rem 0.25rem;
        overflow-wrap: anywhere;
    }
}

@media print {
    .billing-receipt-sheet {
        border-top-color: #17324d;
        box-shadow: none;
    }
}

/* LAUNCH-POLISH-006: authenticated tenant settings hierarchy and responsive clarity. */
.owner-setup-workflow--settings { max-width:1440px; margin-inline:auto; display:grid; gap:1rem; }
.owner-setup-workflow--settings .owner-setup-settings-nav { margin:0; }
.settings-launch-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.settings-launch-map__card { display:grid; align-content:start; gap:.3rem; min-width:0; min-height:150px; padding:1rem; border:1px solid var(--od-border); border-radius:14px; background:#fff; color:var(--od-text)!important; text-decoration:none; box-shadow:var(--od-shadow-sm); }
.settings-launch-map__card:hover { border-color:#789790; transform:translateY(-1px); }
.settings-launch-map__card span { color:var(--od-primary); font-size:.7rem; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.settings-launch-map__card strong { color:var(--od-text); font-size:1rem; line-height:1.25; }
.settings-launch-map__card small { color:var(--od-text-muted); font-size:.82rem; line-height:1.45; }
.settings-launch-help { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0!important; }
.settings-launch-help p { margin:.25rem 0 0; max-width:820px; }
.owner-setup-settings-form { scroll-margin-top:1rem; }
.owner-setup-workflow--settings :is(.owner-setup-settings-form,.owner-setup-business-hours) { border-color:var(--od-border)!important; background:#fff!important; }
.owner-setup-workflow--settings .owner-setup-business-hours { margin-top:0!important; }
.owner-setup-workflow--settings .settings-hours-table { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.owner-setup-workflow--settings .settings-hours-table table { width:100%; min-width:560px; }
.owner-setup-workflow--settings .settings-hours-table :is(th,td) { padding:.7rem; text-align:left; }
@media(max-width:980px) {
  .settings-launch-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .settings-launch-help { align-items:start; }
}
@media(max-width:720px) {
  .owner-setup-workflow--settings { gap:.8rem; }
  .settings-launch-map { grid-template-columns:minmax(0,1fr); }
  .settings-launch-map__card { min-height:0; }
  .settings-launch-help { display:grid; }
  .settings-launch-help .button { width:100%; min-height:44px; }
  .owner-setup-workflow--settings .record-workflow-guide__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .owner-setup-workflow--settings .record-workflow-guide__actions .button { width:100%; min-height:44px; }
  .owner-setup-workflow--settings :is(.owner-setup-primary-actions,.owner-setup-business-hours .form-actions) { display:grid; grid-template-columns:minmax(0,1fr); }
  .owner-setup-workflow--settings :is(.owner-setup-primary-actions,.owner-setup-business-hours .form-actions) .button { width:100%; min-height:44px; }
}
@media(max-width:430px) {
  .owner-setup-workflow--settings .record-workflow-guide__actions { grid-template-columns:minmax(0,1fr); }
  .owner-setup-workflow--settings .owner-setup-settings-summary { position:static!important; }
}
/* End DESIGN-SYSTEM-004 invoice, manual payment, and receipt polish */

/* DESIGN-SYSTEM-005 owner setup workflow polish */
.owner-setup-workflow {
    --owner-setup-accent: var(--tenant-blue, #2563eb);
    --owner-setup-ink: var(--tenant-ink, #122235);
    --owner-setup-navy: var(--tenant-navy, #17324d);
    --owner-setup-line: var(--tenant-line, #d9e2ea);
    --owner-setup-warm: var(--tenant-warm, #faf7f2);
    color: var(--owner-setup-ink);
}

.owner-setup-identity-header {
    padding: 1.25rem 1.35rem;
    border-left: 4px solid var(--owner-setup-accent) !important;
}

.owner-setup-identity-header .page-header__title {
    color: var(--owner-setup-ink);
    letter-spacing: -0.035em;
}

.owner-setup-summary {
    border: 1px solid var(--owner-setup-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(18, 34, 53, 0.045);
}

.owner-setup-summary .top-level-v2__metric:last-child {
    border-color: rgba(37, 99, 235, 0.24);
    background: #f3f7ff;
}

.owner-setup-empty-state {
    padding: 2rem 1.25rem;
    border: 1px dashed #becddd;
    border-radius: 12px;
    background: var(--owner-setup-warm);
}

.owner-setup-card-list {
    gap: 0.7rem;
}

.owner-setup-record-card {
    border: 1px solid var(--owner-setup-line);
    border-left: 3px solid transparent;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(18, 34, 53, 0.035);
    transition: border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.owner-setup-record-card:hover {
    transform: translateY(-1px);
    border-left-color: var(--owner-setup-accent);
    box-shadow: 0 8px 18px rgba(18, 34, 53, 0.07);
}

.owner-setup-record-card--service .top-level-v2__service-meta strong,
.owner-setup-record-card--area strong {
    color: var(--owner-setup-navy);
}

.owner-setup-record-card--area.is-active {
    border-left-color: #2f855a;
}

.owner-setup-form {
    gap: 0.9rem;
}

.owner-setup-form-section {
    padding: 1rem;
    border: 1px solid var(--owner-setup-line);
    border-radius: 10px;
    background: #fff;
}

.owner-setup-form-section--identity,
.owner-setup-form-section--service-values,
.owner-setup-form-section--coverage,
.owner-setup-form-section--staff-invite {
    border-top: 3px solid var(--owner-setup-accent);
    background: linear-gradient(180deg, #fbfdff, #fff);
}

.owner-setup-form-section--availability {
    background: var(--owner-setup-warm);
}

.owner-setup-primary-actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    padding: 0.75rem;
    border: 1px solid var(--owner-setup-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -5px 18px rgba(18, 34, 53, 0.07);
    backdrop-filter: blur(8px);
}

.owner-setup-guidance,
.owner-setup-pending-access,
.owner-setup-staff-directory,
.owner-setup-settings-nav,
.owner-setup-settings-summary,
.owner-setup-settings-form,
.owner-setup-business-hours {
    border-color: var(--owner-setup-line);
    border-radius: 12px;
}

.owner-setup-guidance {
    border-left: 4px solid #d7b98d;
    background: var(--owner-setup-warm);
}

.owner-setup-settings-nav {
    border-left: 4px solid var(--owner-setup-accent);
    background: linear-gradient(100deg, #f4f7fb, #fff);
}

.owner-setup-pending-access {
    border-left: 4px solid var(--owner-setup-accent);
}

.owner-setup-staff-directory .staff-directory-row {
    margin-top: 0.65rem;
}

.owner-setup-settings-layout {
    align-items: start;
}

.owner-setup-settings-summary {
    position: sticky;
    top: 1rem;
    border-top: 3px solid var(--owner-setup-accent);
    background: linear-gradient(180deg, #fbfdff, #fff);
}

.owner-setup-settings-form {
    background: #fff;
}

.owner-setup-settings-form > h3 {
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--owner-setup-line);
    color: var(--owner-setup-navy);
}

.owner-setup-settings-form .form-grid {
    padding: 0.9rem;
    border: 1px solid var(--owner-setup-line);
    border-radius: 10px;
    background: #fbfcfd;
}

.owner-setup-business-hours {
    border-left: 4px solid var(--owner-setup-accent);
    background: #fff;
}

.owner-setup-business-hours .page-header {
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--owner-setup-line);
}

.owner-setup-business-hours table {
    width: 100%;
}

@media (max-width: 720px) {
    .owner-setup-workflow,
    .owner-setup-workflow > *,
    .owner-setup-form,
    .owner-setup-form-section,
    .owner-setup-record-card,
    .owner-setup-settings-layout,
    .owner-setup-settings-layout > * {
        min-width: 0;
        max-width: 100%;
    }

    .owner-setup-identity-header {
        padding: 1rem;
    }

    .owner-setup-identity-header,
    .owner-setup-identity-header .page-header__actions,
    .owner-setup-primary-actions,
    .owner-setup-record-card .action-row,
    .owner-setup-record-card .utility-split-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .owner-setup-identity-header .button,
    .owner-setup-primary-actions .button,
    .owner-setup-record-card .button,
    .owner-setup-record-card form {
        width: 100%;
    }

    .owner-setup-form-section {
        padding: 0.85rem;
    }

    .owner-setup-record-card,
    .owner-setup-record-card .top-level-v2__area-row-inner,
    .owner-setup-record-card .top-level-v2__service-meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.6rem;
        width: 100%;
    }

    .owner-setup-settings-summary {
        position: static;
    }

    .owner-setup-settings-form .form-grid {
        padding: 0.75rem;
    }

    .owner-setup-business-hours .table-responsive {
        max-width: 100%;
        overflow: visible;
    }

    .owner-setup-business-hours table,
    .owner-setup-business-hours thead,
    .owner-setup-business-hours tbody,
    .owner-setup-business-hours tr,
    .owner-setup-business-hours td {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .owner-setup-business-hours thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .owner-setup-business-hours tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
        margin-bottom: 0.7rem;
        padding: 0.8rem;
        border: 1px solid var(--owner-setup-line);
        border-radius: 9px;
        background: #fbfcfd;
    }

    .owner-setup-business-hours td {
        display: grid;
        gap: 0.3rem;
        padding: 0;
        border: 0;
    }

    .owner-setup-business-hours td:first-child {
        grid-column: 1 / -1;
        padding-bottom: 0.45rem;
        border-bottom: 1px solid var(--owner-setup-line);
    }

    .owner-setup-business-hours td:nth-child(2)::before,
    .owner-setup-business-hours td:nth-child(3)::before,
    .owner-setup-business-hours td:nth-child(4)::before {
        color: #627083;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .owner-setup-business-hours td:nth-child(2)::before {
        content: "Open";
    }

    .owner-setup-business-hours td:nth-child(3)::before {
        content: "Start";
    }

    .owner-setup-business-hours td:nth-child(4)::before {
        content: "End";
    }
}
/* End DESIGN-SYSTEM-005 owner setup workflow polish */


/* UI2-3A focused dashboard refinement */
body:has(.dashboard-v2),
body:has(.dashboard-v2) .app-shell,
body:has(.dashboard-v2) .app-shell--authenticated {
    background: #F4F7FB;
}

body:has(.dashboard-v2) .app-shell--authenticated .app-main {
    padding-top: 0.65rem;
}

.dashboard-v2 {
    gap: 1rem;
    padding-bottom: 0.35rem;
}

.dashboard-v2 .od-v2-card {
    border-color: rgba(148, 163, 184, 0.24);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.dashboard-v2__hero {
    align-items: center;
    padding: 0.82rem 0.9rem;
    border-color: rgba(29, 78, 216, 0.20);
    background: #FFFFFF;
}

.dashboard-v2__hero-main {
    align-items: center;
    gap: 0.72rem;
}

.dashboard-v2 .od-v2-page-title {
    font-size: clamp(1.42rem, 1.75vw, 1.9rem);
    letter-spacing: -0.035em;
}

.dashboard-v2 .od-v2-page-meta {
    max-width: 58rem;
    font-size: 0.9rem;
}

.dashboard-v2__status-row {
    margin-top: 0.62rem;
}

.dashboard-v2 .od-v2-status {
    min-height: 1.5rem;
    padding: 0.16rem 0.48rem;
    font-size: 0.68rem;
    letter-spacing: 0.045em;
}

.dashboard-v2 .od-v2-icon-box {
    width: 1.88rem;
    height: 1.88rem;
    border-color: rgba(100, 116, 139, 0.22);
}

.dashboard-v2 .od-v2-icon-box svg {
    width: 1rem;
    height: 1rem;
    stroke-width: 1.9;
}

.dashboard-v2 .dashboard-v2__hero-icon {
    width: 2.18rem;
    height: 2.18rem;
    border-color: rgba(29, 78, 216, 0.34);
    background: #EAF2FF;
}

.dashboard-v2 .od-v2-icon-box--primary {
    border-color: rgba(29, 78, 216, 0.34);
    background: #EAF2FF;
    color: var(--od-theme-primary, #002B55);
}

.dashboard-v2 .od-v2-icon-box--success {
    border-color: rgba(15, 118, 110, 0.30);
    background: #E7F8F4;
}

.dashboard-v2 .od-v2-icon-box--workflow {
    border-color: rgba(124, 58, 237, 0.28);
    background: #F0EAFF;
}

.dashboard-v2 .od-v2-icon-box--danger,
.dashboard-v2 .od-v2-icon-box--attention {
    border-color: rgba(185, 28, 28, 0.28);
    background: #FFF1F2;
}

.dashboard-v2__stats {
    gap: 0.72rem;
}

.dashboard-v2 .od-v2-stat-card {
    padding: 0.78rem;
    gap: 0.65rem;
    border-color: rgba(148, 163, 184, 0.22);
}

.dashboard-v2 .od-v2-stat-card__value {
    font-size: clamp(1.45rem, 1.75vw, 1.95rem);
}

.dashboard-v2__section {
    padding: 0.9rem;
}

.dashboard-v2__section--priority {
    border-color: rgba(29, 78, 216, 0.22);
    background: #FFFFFF;
}

.dashboard-v2__section-header {
    gap: 0.68rem;
}

.dashboard-v2__section-meta {
    font-size: 0.88rem;
}

.dashboard-v2-list--attention {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.72rem;
}

.dashboard-v2-list--attention .dashboard-v2-alert {
    display: grid;
    min-height: 100%;
    border-left: 1px solid rgba(148, 163, 184, 0.24);
    border-top: 3px solid var(--od-ui-blue);
    background: #FFFFFF;
}

.dashboard-v2-list--attention .dashboard-v2-alert--critical,
.dashboard-v2-list--attention .dashboard-v2-alert--high {
    border-top-color: var(--od-ui-red);
}

.dashboard-v2-list--attention .dashboard-v2-alert--stable,
.dashboard-v2-list--attention .dashboard-v2-alert--low {
    border-top-color: var(--od-ui-teal);
}

.dashboard-v2-alert,
.dashboard-v2-row,
.dashboard-v2-mini-stats > div,
.od-v2-action-card {
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: none;
}

.dashboard-v2-alert h4 {
    font-size: 0.98rem;
    line-height: 1.22;
}

.dashboard-v2-alert p {
    font-size: 0.88rem;
}

.dashboard-v2-list--attention .dashboard-v2-actions {
    align-self: end;
    margin-top: 0.2rem;
}

.dashboard-v2 .button-primary.od-v2-button {
    background: var(--od-theme-primary, #002B55);
    border-color: var(--od-theme-primary-hover, #00213F);
    box-shadow: 0 4px 10px rgba(29, 78, 216, 0.14);
}

.dashboard-v2 .button-primary.od-v2-button:hover {
    background: var(--od-theme-primary-hover, #00213F);
}

.dashboard-v2 .button-secondary.od-v2-button {
    border-color: rgba(100, 116, 139, 0.30);
}

@media (max-width: 720px) {
    body:has(.dashboard-v2) .app-shell--authenticated .app-main {
        padding-top: 0.85rem;
    }

    .dashboard-v2__hero {
        align-items: start;
        padding: 0.85rem;
    }

    .dashboard-v2 .od-v2-page-title {
        font-size: 1.32rem;
    }

    .dashboard-v2-list--attention {
        grid-template-columns: 1fr;
    }
}
/* End UI2-3A focused dashboard refinement */


/* UI2-3B dashboard premium component refinement */
body:has(.dashboard-v2),
body:has(.dashboard-v2) .app-shell,
body:has(.dashboard-v2) .app-shell--authenticated {
    background: #F7FAFD;
}

body:has(.dashboard-v2) .content-shell {
    gap: 1rem;
}

.dashboard-v2 {
    gap: 0.95rem;
}

.dashboard-v2__hero {
    position: relative;
    overflow: hidden;
    border-color: rgba(29, 78, 216, 0.24);
    background: linear-gradient(135deg, #FFFFFF 0%, #F8FBFF 100%);
}

.dashboard-v2__hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--od-theme-primary, #002B55);
}

.dashboard-v2__hero > * {
    position: relative;
}

.dashboard-v2 .od-v2-page-title {
    color: #0B1220;
    font-weight: 880;
}

.dashboard-v2 .od-v2-page-meta {
    color: #526174;
}

.dashboard-v2__status-row {
    gap: 0.42rem;
}

.dashboard-v2 .od-v2-status {
    border-color: rgba(100, 116, 139, 0.20);
    background: #FFFFFF;
    color: #334155;
}

.dashboard-v2 .od-v2-status--primary {
    border-color: rgba(29, 78, 216, 0.30);
    background: #EAF2FF;
    color: var(--od-theme-primary-hover, #00213F);
}

.dashboard-v2 .od-v2-status--success {
    border-color: rgba(15, 118, 110, 0.30);
    background: #E7F8F4;
}

.dashboard-v2 .od-v2-status--workflow {
    border-color: rgba(124, 58, 237, 0.28);
    background: #F0EAFF;
}

.dashboard-v2 .od-v2-status--danger,
.dashboard-v2 .od-v2-status--attention {
    border-color: rgba(185, 28, 28, 0.28);
    background: #FFF1F2;
}

.dashboard-v2 .od-v2-card,
.dashboard-v2 .od-v2-stat-card,
.dashboard-v2-alert,
.dashboard-v2-row,
.dashboard-v2-mini-stats > div,
.dashboard-v2 .od-v2-action-card {
    border-color: rgba(125, 140, 160, 0.22);
}

.dashboard-v2 .od-v2-stat-card {
    position: relative;
    align-items: center;
    min-height: 7rem;
    background: linear-gradient(180deg, #FFFFFF 0%, #FCFDFF 100%);
}

.dashboard-v2 .od-v2-stat-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: #CBD5E1;
}

.dashboard-v2 .od-v2-stat-card--primary::before { background: var(--od-theme-primary, #002B55); }
.dashboard-v2 .od-v2-stat-card--success::before { background: #0F766E; }
.dashboard-v2 .od-v2-stat-card--attention::before { background: #B91C1C; }
.dashboard-v2 .od-v2-stat-card--workflow::before { background: var(--od-theme-info, #0D5E9C); }
.dashboard-v2 .od-v2-stat-card--revenue::before { background: #7C5A12; }

.dashboard-v2 .od-v2-stat-card__label {
    color: #64748B;
    font-size: 0.66rem;
    letter-spacing: 0.07em;
}

.dashboard-v2 .od-v2-stat-card__value {
    color: #0B1220;
    font-weight: 880;
}

.dashboard-v2 .od-v2-stat-card__meta {
    color: #5B697A;
}

.dashboard-v2__section--priority {
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FBFE 100%);
}

.dashboard-v2-list--attention {
    grid-template-columns: repeat(auto-fit, minmax(285px, 1fr));
}

.dashboard-v2-list--attention .dashboard-v2-alert {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.72rem;
    padding: 0.82rem;
    border-top-width: 4px;
}

.dashboard-v2-alert__body {
    display: grid;
    gap: 0.44rem;
    min-width: 0;
}

.dashboard-v2-list--attention .dashboard-v2-alert p {
    margin-top: 0;
}

.dashboard-v2-alert__icon {
    margin-top: 0.05rem;
}

.dashboard-v2-list--attention .dashboard-v2-actions {
    display: flex;
    align-items: center;
}

.dashboard-v2 .od-v2-action-card {
    position: relative;
    align-items: center;
    padding: 0.82rem 2.45rem 0.82rem 0.82rem;
    background: #FFFFFF;
    transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.dashboard-v2 .od-v2-action-card::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 0.85rem;
    transform: translateY(-50%);
    color: var(--od-theme-primary, #002B55);
    font-weight: 900;
}

.dashboard-v2 .od-v2-action-card:hover {
    background: #F8FBFF;
    transform: translateY(-1px);
}

.dashboard-v2 .od-v2-action-card--primary {
    border-color: rgba(29, 78, 216, 0.32);
    background: #EAF2FF;
}

.dashboard-v2 .od-v2-action-card strong {
    color: #0B1220;
    font-weight: 820;
}

.dashboard-v2 .od-v2-action-card small {
    color: #5B697A;
}

.dashboard-v2__section-title {
    color: #0B1220;
    font-weight: 820;
    letter-spacing: -0.03em;
}

.dashboard-v2-row__top strong,
.dashboard-v2-alert h4 {
    color: #0B1220;
    font-weight: 820;
}

@media (max-width: 720px) {
    .dashboard-v2-list--attention .dashboard-v2-alert {
        grid-template-columns: 1fr;
    }

    .dashboard-v2 .od-v2-stat-card {
        min-height: auto;
    }
}
/* End UI2-3B dashboard premium component refinement */

/* UI2-3C dashboard reference-match correction */
body:has(.dashboard-v2),
body:has(.dashboard-v2) .app-shell,
body:has(.dashboard-v2) .app-shell--authenticated {
    background: #FAFCFE;
}

body:has(.dashboard-v2) .app-shell--authenticated .app-main {
    padding-top: 0.72rem;
}

.dashboard-v2 {
    gap: 0.9rem;
}

.dashboard-v2__hero,
.dashboard-v2 .od-v2-card,
.dashboard-v2 .od-v2-stat-card,
.dashboard-v2 .od-v2-action-card,
.dashboard-v2-alert,
.dashboard-v2-row,
.dashboard-v2-mini-stats > div {
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

.dashboard-v2__hero {
    padding: 0.78rem 0.88rem;
    background: #FFFFFF;
}

.dashboard-v2__hero::before,
.dashboard-v2 .od-v2-stat-card::before {
    display: none;
}

.dashboard-v2__hero-main {
    gap: 0.68rem;
}

.dashboard-v2 .od-v2-page-title {
    font-size: clamp(1.34rem, 1.6vw, 1.72rem);
    font-weight: 820;
    letter-spacing: -0.03em;
}

.dashboard-v2 .od-v2-page-meta {
    max-width: 54rem;
    color: #64748B;
    font-size: 0.88rem;
}

.dashboard-v2 .od-v2-eyebrow,
.dashboard-v2 .od-v2-stat-card__label {
    letter-spacing: 0.055em;
    font-weight: 760;
}

.dashboard-v2__status-row {
    margin-top: 0.52rem;
}

.dashboard-v2 .od-v2-status {
    min-height: 1.42rem;
    padding: 0.14rem 0.45rem;
    border-color: rgba(148, 163, 184, 0.22);
    background: #F8FAFC;
    font-size: 0.66rem;
    font-weight: 780;
    letter-spacing: 0.035em;
}

.dashboard-v2 .od-v2-status--primary {
    border-color: rgba(29, 78, 216, 0.22);
    background: #F0F6FF;
}

.dashboard-v2 .od-v2-status--success {
    border-color: rgba(15, 118, 110, 0.22);
    background: #EEFDF8;
}

.dashboard-v2 .od-v2-status--workflow {
    border-color: rgba(124, 58, 237, 0.20);
    background: #F6F2FF;
}

.dashboard-v2 .od-v2-status--danger,
.dashboard-v2 .od-v2-status--attention {
    border-color: rgba(185, 28, 28, 0.20);
    background: #FFF5F5;
}

.dashboard-v2 .od-v2-icon-box {
    width: 1.82rem;
    height: 1.82rem;
    border-color: rgba(148, 163, 184, 0.20);
    background: #FFFFFF;
}

.dashboard-v2 .od-v2-icon-box svg {
    width: 0.98rem;
    height: 0.98rem;
    stroke-width: 1.85;
}

.dashboard-v2 .dashboard-v2__hero-icon {
    width: 2.05rem;
    height: 2.05rem;
}

.dashboard-v2 .od-v2-icon-box--primary {
    border-color: rgba(29, 78, 216, 0.24);
    background: #F0F6FF;
}

.dashboard-v2 .od-v2-icon-box--success {
    border-color: rgba(15, 118, 110, 0.22);
    background: #EEFDF8;
}

.dashboard-v2 .od-v2-icon-box--workflow {
    border-color: rgba(124, 58, 237, 0.20);
    background: #F6F2FF;
}

.dashboard-v2 .od-v2-icon-box--revenue {
    border-color: rgba(124, 90, 18, 0.20);
    background: #FFF9E8;
}

.dashboard-v2 .od-v2-icon-box--danger,
.dashboard-v2 .od-v2-icon-box--attention {
    border-color: rgba(185, 28, 28, 0.20);
    background: #FFF5F5;
}

.dashboard-v2__stats {
    gap: 0.68rem;
}

.dashboard-v2 .od-v2-stat-card {
    min-height: 6.45rem;
    align-items: flex-start;
    padding: 0.82rem;
    background: #FFFFFF;
}

.dashboard-v2 .od-v2-stat-card--primary { background: linear-gradient(180deg, #FFFFFF 0%, #F9FBFF 100%); }
.dashboard-v2 .od-v2-stat-card--success { background: linear-gradient(180deg, #FFFFFF 0%, #F8FFFC 100%); }
.dashboard-v2 .od-v2-stat-card--workflow { background: linear-gradient(180deg, #FFFFFF 0%, #FCFAFF 100%); }
.dashboard-v2 .od-v2-stat-card--revenue { background: linear-gradient(180deg, #FFFFFF 0%, #FFFCF3 100%); }

.dashboard-v2 .od-v2-stat-card__label {
    color: #64748B;
    font-size: 0.64rem;
}

.dashboard-v2 .od-v2-stat-card__value {
    margin-top: 0.22rem;
    font-size: clamp(1.38rem, 1.6vw, 1.82rem);
    font-weight: 820;
}

.dashboard-v2 .od-v2-stat-card__meta {
    margin-top: 0.28rem;
    color: #64748B;
    font-size: 0.8rem;
}

.dashboard-v2__section {
    padding: 0.85rem;
}

.dashboard-v2__section--priority {
    background: #FFFFFF;
}

.dashboard-v2__section-header {
    gap: 0.62rem;
}

.dashboard-v2__section-title {
    font-weight: 780;
}

.dashboard-v2__section-meta {
    color: #64748B;
    font-size: 0.86rem;
}

.dashboard-v2-list--attention {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 0.68rem;
}

.dashboard-v2-list--attention .dashboard-v2-alert {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.68rem;
    padding: 0.8rem;
    border-top: 0;
    border-left: 1px solid rgba(148, 163, 184, 0.18);
    background: #FFFFFF;
}

.dashboard-v2-list--attention .dashboard-v2-alert--critical,
.dashboard-v2-list--attention .dashboard-v2-alert--high {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFF8F8 100%);
}

.dashboard-v2-list--attention .dashboard-v2-alert--stable,
.dashboard-v2-list--attention .dashboard-v2-alert--low {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FFFC 100%);
}

.dashboard-v2-alert__body {
    gap: 0.36rem;
}

.dashboard-v2-alert h4,
.dashboard-v2-row__top strong {
    font-size: 0.96rem;
    font-weight: 760;
}

.dashboard-v2-alert p,
.dashboard-v2-row p,
.dashboard-v2-empty {
    color: #64748B;
    font-size: 0.85rem;
}

.dashboard-v2-list--attention .dashboard-v2-actions {
    margin-top: 0.08rem;
}

.dashboard-v2 .od-v2-action-card {
    min-height: 4.4rem;
    padding: 0.78rem 2.3rem 0.78rem 0.78rem;
    border-color: rgba(148, 163, 184, 0.18);
    background: #FFFFFF;
}

.dashboard-v2 .od-v2-action-card::after {
    right: 0.78rem;
    color: var(--od-theme-primary, #002B55);
}

.dashboard-v2 .od-v2-action-card:hover {
    border-color: rgba(29, 78, 216, 0.24);
    background: #FAFCFF;
    transform: none;
}

.dashboard-v2 .od-v2-action-card--primary {
    border-color: rgba(29, 78, 216, 0.24);
    background: #F0F6FF;
}

.dashboard-v2 .od-v2-action-card strong {
    font-weight: 760;
}

.dashboard-v2 .od-v2-action-card small {
    color: #64748B;
    font-size: 0.8rem;
}

.dashboard-v2-mini-stats > div,
.dashboard-v2-row {
    background: #FFFFFF;
}

.dashboard-v2-mini-stats strong {
    font-weight: 780;
}

@media (max-width: 720px) {
    .dashboard-v2__hero,
    .dashboard-v2__section,
    .dashboard-v2 .od-v2-stat-card,
    .dashboard-v2 .od-v2-action-card,
    .dashboard-v2-alert,
    .dashboard-v2-row {
        padding: 0.78rem;
    }

    .dashboard-v2-list--attention {
        grid-template-columns: 1fr;
    }

    .dashboard-v2-list--attention .dashboard-v2-alert {
        grid-template-columns: 1fr;
    }
}
/* End UI2-3C dashboard reference-match correction */

/* UI2-2A shell/card contrast trial */
.app-shell--authenticated {
    background: #FAFCFE;
}

.side-rail {
    border-right-color: rgba(100, 116, 139, 0.24);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFD 100%);
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.9), 1px 0 2px rgba(15, 23, 42, 0.025);
}

.side-rail__inner {
    gap: 1rem;
    padding: 0.92rem 0.78rem 1.05rem;
}

.side-rail__brand {
    gap: 0.36rem;
    padding: 0.18rem 0.22rem 0.82rem;
    border-bottom-color: rgba(100, 116, 139, 0.18);
}

.side-rail__product {
    font-weight: 820;
    letter-spacing: -0.025em;
}

.side-rail__workspace-tag {
    border-color: rgba(29, 78, 216, 0.22);
    background: #F0F6FF;
    font-weight: 780;
    letter-spacing: 0.055em;
}

.side-rail__role {
    color: #64748B;
}

.shell-eyebrow,
.side-nav__label,
.top-nav__label {
    color: #718096;
    font-weight: 780;
    letter-spacing: 0.065em;
}

.side-nav {
    gap: 0.88rem;
}

.side-nav__section {
    gap: 0.42rem;
}

.side-nav__group {
    gap: 0.2rem;
}

.side-nav__link,
.top-nav__link {
    gap: 0.64rem;
    min-height: 2.28rem;
    border-color: transparent;
    color: #334155;
    font-weight: 690;
}

.side-nav__link:hover,
.top-nav__link:hover {
    border-color: rgba(100, 116, 139, 0.20);
    background: #FFFFFF;
    color: #0F172A;
}

.side-nav__icon,
.top-nav__icon,
.nav-link__icon,
.sidebar__icon {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: #475569;
    stroke-width: 1.95;
}

.side-nav__link:hover .side-nav__icon,
.top-nav__link:hover .top-nav__icon {
    border-color: rgba(29, 78, 216, 0.30);
    background: #F8FBFF;
    color: var(--od-theme-primary, #002B55);
}

.side-nav__link.is-active,
.top-nav__link.is-active {
    position: relative;
    border-color: rgba(29, 78, 216, 0.26);
    background: #F0F6FF;
    color: var(--od-theme-primary, #002B55);
    box-shadow: 0 1px 1px rgba(15, 23, 42, 0.025);
}

.side-nav__link.is-active .side-nav__icon,
.top-nav__link.is-active .top-nav__icon {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: var(--od-theme-primary, #002B55);
}

.side-nav__link--secondary {
    color: #526174;
}

.app-shell--authenticated .site-header,
.top-nav {
    border-color: rgba(100, 116, 139, 0.20);
}

.od-v2-card,
.dashboard-v2 .od-v2-card,
.dashboard-v2 .od-v2-stat-card,
.dashboard-v2 .od-v2-action-card,
.dashboard-v2-alert,
.dashboard-v2-row,
.dashboard-v2-mini-stats > div {
    border-color: rgba(100, 116, 139, 0.22);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.dashboard-v2__hero,
.dashboard-v2__section {
    border-color: rgba(100, 116, 139, 0.22);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.dashboard-v2 .od-v2-icon-box {
    border-color: rgba(100, 116, 139, 0.25);
    color: #475569;
    stroke-width: 1.95;
}

.dashboard-v2 .od-v2-icon-box--primary {
    border-color: rgba(0, 43, 85, 0.24);
    background: #EAF2F8;
    color: #002B55;
}

.dashboard-v2 .od-v2-icon-box--success {
    border-color: rgba(15, 118, 110, 0.28);
    background: #ECFDF8;
    color: #0F766E;
}

.dashboard-v2 .od-v2-icon-box--workflow {
    border-color: rgba(124, 58, 237, 0.26);
    background: #F5F0FF;
    color: var(--od-theme-info, #0D5E9C);
}

.dashboard-v2 .od-v2-icon-box--revenue {
    border-color: rgba(124, 90, 18, 0.25);
    background: #FFF8E6;
    color: #7C5A12;
}

.dashboard-v2 .od-v2-icon-box--danger,
.dashboard-v2 .od-v2-icon-box--attention {
    border-color: rgba(185, 28, 28, 0.26);
    background: #FFF5F5;
    color: #B91C1C;
}

.dashboard-v2 .od-v2-action-card:hover {
    border-color: rgba(29, 78, 216, 0.30);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.045);
}

.dashboard-v2 .od-v2-stat-card::before,
.dashboard-v2__hero::before {
    display: none;
}

@media (max-width: 900px) {
    .top-nav.is-open {
        border-color: rgba(100, 116, 139, 0.22);
        background: #FFFFFF;
    }
}
/* End UI2-2A shell/card contrast trial */

/* NAV-ROLE-MENU-001 role-grouped navigation scroll containment */
.side-rail {
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
}

.side-rail__inner {
    max-height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.side-nav__section + .side-nav__section {
    padding-top: 0.28rem;
    border-top: 1px solid rgba(100, 116, 139, 0.12);
}

@media (max-width: 860px) {
    .top-nav.is-open {
        max-height: min(72vh, 34rem);
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    .top-nav__inner {
        padding-bottom: 0.2rem;
    }
}
/* End NAV-ROLE-MENU-001 */

/* UI2-4 assistant rebuild/alignment */
body:has(.assistant-v2),
body:has(.assistant-v2) .app-shell,
body:has(.assistant-v2) .app-shell--authenticated {
    background: #FAFCFE;
}

body:has(.assistant-v2) .app-shell--authenticated .app-main {
    padding-top: 0.72rem;
}

.assistant-v2 {
    display: grid;
    gap: 0.9rem;
    padding-bottom: 0.35rem;
}

.assistant-v2__hero,
.assistant-v2 .od-v2-card,
.assistant-v2 .od-v2-stat-card,
.assistant-v2 .od-v2-action-card,
.assistant-v2__feature-card,
.assistant-v2__exception-card,
.assistant-v2__route-item {
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

.assistant-v2__hero {
    padding: 0.78rem 0.88rem;
    background: #FFFFFF;
}

.assistant-v2__hero-main,
.assistant-v2__section-header,
.assistant-v2__section-heading,
.assistant-v2__feature-top,
.assistant-v2__exception-top,
.assistant-v2__actions,
.assistant-v2__route-item,
.assistant-v2__route-side,
.assistant-v2__empty-state {
    display: flex;
}

.assistant-v2__hero-main,
.assistant-v2__section-header,
.assistant-v2__section-heading {
    gap: 0.68rem;
}

.assistant-v2__hero-icon {
    width: 2.05rem;
    height: 2.05rem;
}

.assistant-v2 .od-v2-page-title {
    font-size: clamp(1.34rem, 1.6vw, 1.72rem);
    font-weight: 820;
    letter-spacing: -0.03em;
}

.assistant-v2 .od-v2-page-meta,
.assistant-v2__section-meta,
.assistant-v2__feature-card p,
.assistant-v2__exception-card p,
.assistant-v2__route-main span,
.assistant-v2__detail-item span {
    color: #64748B;
}

.assistant-v2 .od-v2-page-meta {
    max-width: 54rem;
    font-size: 0.88rem;
}

.assistant-v2__status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-top: 0.52rem;
}

.assistant-v2 .od-v2-status {
    min-height: 1.42rem;
    padding: 0.14rem 0.45rem;
    border-color: rgba(148, 163, 184, 0.22);
    background: #F8FAFC;
    font-size: 0.66rem;
    font-weight: 780;
    letter-spacing: 0.035em;
}

.assistant-v2 .od-v2-status--primary {
    border-color: rgba(29, 78, 216, 0.22);
    background: #F0F6FF;
}

.assistant-v2 .od-v2-status--success {
    border-color: rgba(15, 118, 110, 0.22);
    background: #EEFDF8;
}

.assistant-v2 .od-v2-status--workflow {
    border-color: rgba(124, 58, 237, 0.2);
    background: #F6F2FF;
}

.assistant-v2 .od-v2-status--danger,
.assistant-v2 .od-v2-status--attention {
    border-color: rgba(185, 28, 28, 0.2);
    background: #FFF5F5;
}

.assistant-v2 .od-v2-icon-box {
    width: 1.82rem;
    height: 1.82rem;
    border-color: rgba(148, 163, 184, 0.2);
    background: #FFFFFF;
}

.assistant-v2 .od-v2-icon-box svg {
    width: 0.98rem;
    height: 0.98rem;
    stroke-width: 1.85;
}

.assistant-v2 .od-v2-icon-box--primary {
    border-color: rgba(29, 78, 216, 0.24);
    background: #F0F6FF;
}

.assistant-v2 .od-v2-icon-box--success {
    border-color: rgba(15, 118, 110, 0.22);
    background: #EEFDF8;
}

.assistant-v2 .od-v2-icon-box--workflow {
    border-color: rgba(124, 58, 237, 0.2);
    background: #F6F2FF;
}

.assistant-v2 .od-v2-icon-box--revenue {
    border-color: rgba(124, 90, 18, 0.2);
    background: #FFF9E8;
}

.assistant-v2 .od-v2-icon-box--danger,
.assistant-v2 .od-v2-icon-box--attention {
    border-color: rgba(185, 28, 28, 0.2);
    background: #FFF5F5;
}

.assistant-v2__stats,
.assistant-v2__main-grid,
.assistant-v2__detail-grid,
.assistant-v2__exception-list,
.assistant-v2__action-grid {
    display: grid;
    gap: 0.68rem;
}

.assistant-v2__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.assistant-v2 .od-v2-stat-card {
    min-height: 6.45rem;
    align-items: flex-start;
    padding: 0.82rem;
    background: #FFFFFF;
}

.assistant-v2 .od-v2-stat-card--primary { background: linear-gradient(180deg, #FFFFFF 0%, #F9FBFF 100%); }
.assistant-v2 .od-v2-stat-card--success { background: linear-gradient(180deg, #FFFFFF 0%, #F8FFFC 100%); }
.assistant-v2 .od-v2-stat-card--workflow { background: linear-gradient(180deg, #FFFFFF 0%, #FCFAFF 100%); }
.assistant-v2 .od-v2-stat-card--danger { background: linear-gradient(180deg, #FFFFFF 0%, #FFF8F8 100%); }

.assistant-v2 .od-v2-stat-card__label {
    color: #64748B;
    font-size: 0.64rem;
    font-weight: 760;
    letter-spacing: 0.055em;
}

.assistant-v2 .od-v2-stat-card__value {
    margin-top: 0.22rem;
    font-size: clamp(1.38rem, 1.6vw, 1.82rem);
    font-weight: 820;
}

.assistant-v2 .od-v2-stat-card__meta {
    margin-top: 0.28rem;
    color: #64748B;
    font-size: 0.8rem;
}

.assistant-v2__main-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

.assistant-v2__section {
    padding: 0.85rem;
    background: #FFFFFF;
}

.assistant-v2__section--priority {
    background: #FFFFFF;
}

.assistant-v2__section-header {
    align-items: flex-start;
}

.assistant-v2__section-header--split {
    justify-content: space-between;
    flex-wrap: wrap;
}

.assistant-v2__section-title,
.assistant-v2__feature-card h4,
.assistant-v2__exception-card h4,
.assistant-v2__empty-state h4,
.assistant-v2__route-main strong {
    margin: 0;
    color: #0B1220;
    font-weight: 760;
    letter-spacing: -0.03em;
}

.assistant-v2__section-meta,
.assistant-v2__feature-card p,
.assistant-v2__exception-card p,
.assistant-v2__empty-state p,
.assistant-v2__route-main span {
    margin: 0.18rem 0 0;
    font-size: 0.85rem;
}

.assistant-v2__feature-card,
.assistant-v2__exception-card,
.assistant-v2__route-item,
.assistant-v2__empty-state {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 5px;
    background: #FFFFFF;
}

.assistant-v2__feature-card {
    margin-top: 0.82rem;
    padding: 0.8rem;
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FBFF 100%);
}

.assistant-v2__feature-top,
.assistant-v2__exception-top,
.assistant-v2__route-item {
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.68rem;
}

.assistant-v2__feature-eyebrow {
    margin: 0 0 0.18rem;
    color: var(--od-theme-primary, #002B55);
    font-size: 0.68rem;
    font-weight: 760;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.assistant-v2__feature-eyebrow--danger {
    color: #B91C1C;
}

.assistant-v2__detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.72rem;
}

.assistant-v2__detail-item {
    padding: 0.72rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 5px;
    background: #F8FAFC;
}

.assistant-v2__detail-item span {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.68rem;
    font-weight: 760;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.assistant-v2__detail-item strong {
    color: #0B1220;
    font-size: 0.92rem;
}

.assistant-v2__actions {
    gap: 0.52rem;
    flex-wrap: wrap;
    margin-top: 0.72rem;
}

.assistant-v2__actions--inline {
    margin-top: 0.56rem;
}

.assistant-v2 .od-v2-button {
    min-height: 2.15rem;
}

.assistant-v2__exception-list {
    margin-top: 0.82rem;
}

.assistant-v2__exception-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.68rem;
    padding: 0.8rem;
    background: linear-gradient(180deg, #FFFFFF 0%, #FFF8F8 100%);
}

.assistant-v2__exception-body {
    min-width: 0;
}

.assistant-v2__route-list {
    list-style: none;
    margin: 0.82rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.68rem;
}

.assistant-v2__route-item {
    padding: 0.8rem;
    gap: 0.8rem;
}

.assistant-v2__route-time {
    min-width: 4.9rem;
    color: #0B1220;
    font-size: 0.92rem;
    font-weight: 760;
}

.assistant-v2__route-main {
    min-width: 0;
    flex: 1 1 auto;
}

.assistant-v2__route-side {
    align-items: center;
    gap: 0.52rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.assistant-v2__empty-state {
    gap: 0.68rem;
    align-items: flex-start;
    padding: 0.82rem;
    margin-top: 0.82rem;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FFFC 100%);
}

.assistant-v2__quick-actions {
    display: grid;
    gap: 0.72rem;
}

.assistant-v2__action-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.assistant-v2 .od-v2-action-card {
    position: relative;
    align-items: center;
    padding: 0.78rem 2.3rem 0.78rem 0.78rem;
    border-color: rgba(148, 163, 184, 0.18);
    background: #FFFFFF;
    transition: border-color 160ms ease, background-color 160ms ease;
}

.assistant-v2 .od-v2-action-card::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 0.78rem;
    transform: translateY(-50%);
    color: var(--od-theme-primary, #002B55);
    font-weight: 900;
}

.assistant-v2 .od-v2-action-card:hover {
    border-color: rgba(29, 78, 216, 0.24);
    background: #FAFCFF;
    text-decoration: none;
}

.assistant-v2 .od-v2-action-card--primary {
    border-color: rgba(29, 78, 216, 0.24);
    background: #F0F6FF;
}

.assistant-v2 .od-v2-action-card strong {
    color: #0B1220;
    font-weight: 760;
}

.assistant-v2 .od-v2-action-card small {
    color: #64748B;
    font-size: 0.8rem;
}

@media (max-width: 980px) {
    .assistant-v2__stats,
    .assistant-v2__main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body:has(.assistant-v2) .app-shell--authenticated .app-main {
        padding-top: 0.85rem;
    }

    .assistant-v2__hero,
    .assistant-v2__section,
    .assistant-v2 .od-v2-stat-card,
    .assistant-v2 .od-v2-action-card,
    .assistant-v2__feature-card,
    .assistant-v2__exception-card,
    .assistant-v2__route-item,
    .assistant-v2__empty-state {
        padding: 0.78rem;
    }

    .assistant-v2__hero-main,
    .assistant-v2__feature-top,
    .assistant-v2__exception-card,
    .assistant-v2__route-item,
    .assistant-v2__route-side,
    .assistant-v2__actions,
    .assistant-v2__empty-state {
        display: grid;
    }

    .assistant-v2__detail-grid,
    .assistant-v2__action-grid {
        grid-template-columns: 1fr;
    }

    .assistant-v2__route-time {
        min-width: 0;
    }
}
/* End UI2-4 assistant rebuild/alignment */

/* UI2-6 dispatch V2 multi-van operations board */
.dispatch-v2 {
    display: grid;
    gap: 1rem;
    min-width: 0;
    overflow-x: clip;
}

.dispatch-v2__hero,
.dispatch-v2__lane,
.dispatch-v2__stop,
.dispatch-v2__gap-list,
.dispatch-v2__gap-item,
.dispatch-v2__metric,
.dispatch-v2__empty {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
    box-shadow: var(--shadow-sm);
}

.dispatch-v2__hero { padding: 1rem; }

.dispatch-v2__hero-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: start;
}

.dispatch-v2__nav {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dispatch-v2__nav .schedule-nav__link {
    min-height: 2.15rem;
    padding: 0.55rem 0.72rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 5px;
    background: #ffffff;
    color: var(--color-text-strong);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 750;
}

.dispatch-v2__filters {
    display: grid;
    grid-template-columns: minmax(220px, 320px);
    gap: 0.7rem;
    align-items: end;
    margin-top: 0.85rem;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.dispatch-v2__filters .form-label {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 0;
}

.dispatch-v2__filters .form-label > span,
.dispatch-v2__lane-kicker,
.dispatch-v2__metric span,
.dispatch-v2__stop-order span {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dispatch-v2__filters .form-control {
    min-height: 2.65rem;
    border-color: rgba(203, 213, 225, 0.95);
    border-radius: 5px;
    background-color: #ffffff;
    color: #0f172a;
    box-shadow: none;
}

.dispatch-v2__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.dispatch-v2__metric {
    display: grid;
    gap: 0.18rem;
    padding: 0.72rem 0.8rem;
    background: #f8fafc;
    box-shadow: none;
}

.dispatch-v2__metric strong {
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1;
}

.dispatch-v2__metric em {
    color: #64748b;
    font-size: 0.8rem;
    font-style: normal;
}

.dispatch-v2__metric--attention {
    border-color: rgba(29, 78, 216, 0.24);
    background: #eff6ff;
}

.dispatch-v2__board {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 0.85rem !important;
    align-items: start;
    padding-bottom: 2rem;
}

.dispatch-v2__readiness {
    display: grid;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
    border-left: 3px solid #2563eb;
}

.dispatch-v2__map { overflow: hidden; }
.dispatch-v2__map-canvas {
    width: 100%;
    min-height: 24rem;
    border-top: 1px solid #dbe5f0;
    background: #eef3f8;
}

@media (max-width: 640px) {
    .dispatch-v2__map-canvas { min-height: 19rem; }
}

.dispatch-v2__distance-preview {
    display: grid;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
    border-left: 3px solid #0f766e;
}

.dispatch-v2__distance-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #dbe5f0;
    background: #f8fafc;
}

.dispatch-v2__distance-metrics > div {
    display: grid;
    gap: 0.12rem;
    padding: 0.7rem 0.8rem;
    border-right: 1px solid #dbe5f0;
}

.dispatch-v2__distance-metrics > div:last-child { border-right: 0; }
.dispatch-v2__distance-metrics span {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.dispatch-v2__distance-metrics strong { color: #0f172a; font-size: 1.2rem; }
.dispatch-v2__distance-routes { display: grid; border-top: 1px solid #e2e8f0; }
.dispatch-v2__distance-routes > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #e2e8f0;
}
.dispatch-v2__distance-routes span,
.dispatch-v2__distance-routes em { display: block; }
.dispatch-v2__distance-routes em,
.dispatch-v2__distance-value { color: #64748b; font-size: 0.8rem; font-style: normal; }
.dispatch-v2__distance-value { text-align: right; font-weight: 700; }
.dispatch-v2__distance-warnings {
    margin: 0;
    padding: 0 0 0.7rem 1.1rem;
    color: #9a3412;
    font-size: 0.8rem;
}
.dispatch-v2__distance-warnings li + li { margin-top: 0.25rem; }

.dispatch-v2__route-plan-actions,
.dispatch-v2__apply-plan {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.dispatch-v2__route-plan-actions { justify-items: start; }
.dispatch-v2__route-plan-actions small { color: #64748b; }

.dispatch-v2__saved-plan {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #cbd5e1;
    border-left: 4px solid #2563eb;
    border-radius: 0.75rem;
    background: #f8fafc;
}

.dispatch-v2__saved-plan h4 { margin: 0.2rem 0 0.55rem; }
.dispatch-v2__apply-plan label { display: grid; gap: 0.35rem; font-weight: 700; }
.dispatch-v2__apply-confirm {
    grid-template-columns: auto 1fr !important;
    align-items: start;
    font-weight: 500 !important;
}
.dispatch-v2__apply-confirm input { margin-top: 0.2rem; }

.dispatch-v2__readiness-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.dispatch-v2__readiness-heading h3,
.dispatch-v2__readiness-heading p {
    margin: 0;
}

.dispatch-v2__readiness-heading h3 {
    color: #0f172a;
    font-size: 1.1rem;
}

.dispatch-v2__readiness-heading h3 + p {
    margin-top: 0.28rem;
    color: #64748b;
    font-size: 0.86rem;
}

.dispatch-v2__readiness-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #dbe5f0;
    background: #f8fafc;
}

.dispatch-v2__readiness-metrics > div {
    display: grid;
    gap: 0.12rem;
    padding: 0.7rem 0.8rem;
    border-right: 1px solid #dbe5f0;
}

.dispatch-v2__readiness-metrics > div:last-child {
    border-right: 0;
}

.dispatch-v2__readiness-metrics span {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dispatch-v2__readiness-metrics strong {
    color: #0f172a;
    font-size: 1.2rem;
}

.dispatch-v2__readiness-list {
    display: grid;
    border-top: 1px solid #e2e8f0;
}

.dispatch-v2__readiness-list > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 0.62rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.dispatch-v2__readiness-list span,
.dispatch-v2__readiness-list em {
    display: block;
}

.dispatch-v2__readiness-list em,
.dispatch-v2__readiness-footnote,
.dispatch-v2__readiness-empty {
    color: #64748b;
    font-size: 0.8rem;
    font-style: normal;
}

.dispatch-v2__readiness-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.dispatch-v2__readiness-actions form { margin: 0; }
.dispatch-v2__readiness-actions .button { min-height: 2.25rem; padding: 0.45rem 0.75rem; }

.dispatch-v2__readiness-footnote,
.dispatch-v2__readiness-empty {
    margin: 0;
}

@media (max-width: 720px) {
    .dispatch-v2__readiness-heading,
    .dispatch-v2__readiness-list > div {
        align-items: flex-start;
        flex-direction: column;
    }
    .dispatch-v2__readiness-actions { justify-content: flex-start; }

    .dispatch-v2__readiness-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dispatch-v2__distance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dispatch-v2__distance-metrics > div:nth-child(2) { border-right: 0; }
    .dispatch-v2__distance-metrics > div:nth-child(-n + 2) { border-bottom: 1px solid #dbe5f0; }
    .dispatch-v2__distance-routes > div { align-items: flex-start; flex-direction: column; }
    .dispatch-v2__distance-value { text-align: left; }

    .dispatch-v2__readiness-metrics > div:nth-child(2) {
        border-right: 0;
    }

    .dispatch-v2__readiness-metrics > div:nth-child(-n + 2) {
        border-bottom: 1px solid #dbe5f0;
    }
}

.dispatch-v2__lane {
    display: flex;
    flex-direction: column;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden;
    box-shadow: none;
}

.dispatch-v2__lane--active { border-color: rgba(29, 78, 216, 0.22); }

.dispatch-v2__lane--quiet {
    background: #f8fafc;
    box-shadow: none;
    opacity: 0.82;
}

.dispatch-v2__lane-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: start;
    padding: 0.85rem;
    border-bottom: 1px solid rgba(219, 229, 240, 0.95);
    background: #f8fafc;
}

.dispatch-v2__lane-title {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

.dispatch-v2__lane-title strong {
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.22;
    overflow-wrap: anywhere;
}

.dispatch-v2__lane-title span:last-child,
.dispatch-v2__route-meta,
.dispatch-v2__empty-lane,
.dispatch-v2__gap-meta,
.dispatch-v2__gap-more {
    color: #64748b;
    font-size: 0.82rem;
}

.dispatch-v2__lane-stats {
    display: grid;
    gap: 0.35rem;
    justify-items: end;
    text-align: right;
}

.dispatch-v2__lane-stats strong {
    color: #0f172a;
    font-size: 0.92rem;
}

.dispatch-v2__route-meta {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: #ffffff;
}

.dispatch-v2__route-meta span {
    padding-right: 0.55rem;
    border-right: 1px solid rgba(203, 213, 225, 0.8);
}

.dispatch-v2__route-meta span:last-child { border-right: 0; }

.dispatch-v2__stops {
    display: grid;
    gap: 0;
    min-width: 0;
}

.dispatch-v2__stop {
    padding: 0.75rem 0.85rem;
    border: 0;
    border-bottom: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

.dispatch-v2__stop:last-child { border-bottom: 0; }

.dispatch-v2__stop--attention { box-shadow: inset 3px 0 0 rgba(29, 78, 216, 0.42); }

.dispatch-v2__stop-top {
    display: grid;
    grid-template-columns: minmax(76px, auto) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
}

.dispatch-v2__stop-order {
    display: grid;
    gap: 0.15rem;
}

.dispatch-v2__stop-order strong {
    color: #0f172a;
    font-size: 0.98rem;
    line-height: 1.15;
}

.dispatch-v2__stop-status {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dispatch-v2__status {
    border-radius: 5px;
    text-transform: none;
    letter-spacing: 0.02em;
}

.dispatch-v2__stop-main {
    display: grid;
    gap: 0.22rem;
    margin-top: 0.55rem;
}

.dispatch-v2__stop-main strong {
    color: #0f172a;
    font-size: 0.95rem;
    line-height: 1.25;
}

.dispatch-v2__stop-main strong span {
    color: #475569;
    font-weight: 700;
}

.dispatch-v2__stop-main p,
.dispatch-v2__note {
    margin: 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.35;
}

.dispatch-v2__address { overflow-wrap: anywhere; }

.dispatch-v2__stop-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0.7rem 0 0;
}

.dispatch-v2__stop-details div,
.dispatch-v2__notes {
    min-width: 0;
    padding: 0.58rem 0.65rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.dispatch-v2__stop-details dt,
.dispatch-v2__notes span {
    margin: 0 0 0.2rem;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.dispatch-v2__stop-details dd,
.dispatch-v2__notes p {
    margin: 0;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 720;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dispatch-v2__stop-details a {
    color: #1d4ed8;
    text-decoration: none;
}

.dispatch-v2__stop-details a:hover { text-decoration: underline; }

.dispatch-v2__notes {
    display: grid;
    gap: 0.18rem;
    margin-top: 0.6rem;
    background: #ffffff;
}

.dispatch-v2__attention-row {
    display: grid;
    gap: 0.2rem;
    margin-top: 0.5rem;
    padding: 0.5rem 0.58rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.dispatch-v2__note--success { color: #166534; }
.dispatch-v2__note--attention { color: #1d4ed8; font-weight: 650; }
.dispatch-v2__note--muted { color: #64748b; }

.dispatch-v2__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 0.65rem;
}

.dispatch-v2__actions .button,
.dispatch-v2__actions a,
.dispatch-v2__gap-item .button {
    min-height: 2.25rem;
    padding: 0.45rem 0.62rem;
    border-radius: 5px !important;
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
}

.dispatch-v2__actions .button {
    border-color: rgba(29, 78, 216, 0.22);
    background: #eff6ff;
    color: #1d4ed8;
}

.dispatch-v2__actions a,
.dispatch-v2__gap-item .button {
    border: 1px solid rgba(203, 213, 225, 0.95);
    background: #ffffff;
    color: #1d4ed8;
}

.dispatch-v2__empty-lane {
    display: grid;
    gap: 0.18rem;
    margin: 0;
    padding: 1.3rem 0.85rem;
    text-align: center;
}

.dispatch-v2__empty-lane strong {
    color: #0f172a;
    font-size: 0.92rem;
}

.dispatch-v2__empty-lane span {
    color: #64748b;
    font-size: 0.82rem;
}

.dispatch-v2__gap-list {
    margin: 0.75rem;
    padding: 0.7rem;
    background: #f8fafc;
    box-shadow: none;
}

.dispatch-v2__gap-list h4 {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: center;
    margin: 0 0 0.65rem;
    color: #475569;
    font-size: 0.84rem;
}

.dispatch-v2__gap-items {
    display: grid;
    gap: 0.5rem;
}

.dispatch-v2__gap-item {
    display: flex;
    gap: 0.6rem;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem;
    background: #ffffff;
    box-shadow: none;
}

.dispatch-v2__gap-item a:not(.button) { font-weight: 800; }

.dispatch-v2__gap-more {
    margin: 0.15rem 0 0;
    text-align: center;
}

.dispatch-v2__empty {
    width: 100%;
    padding: 1rem;
}

@media (max-width: 900px) {
    .dispatch-v2__hero-main,
    .dispatch-v2__summary { grid-template-columns: minmax(0, 1fr); }
    .dispatch-v2__nav { justify-content: stretch; }
    .dispatch-v2__nav .schedule-nav__link { flex: 1 1 140px; text-align: center; }
}

@media (max-width: 640px) {
    .dispatch-v2__hero { padding: 0.85rem; }
    .dispatch-v2__filters,
    .dispatch-v2__board { grid-template-columns: minmax(0, 1fr); }
    .dispatch-v2__lane-header,
    .dispatch-v2__stop-top { grid-template-columns: minmax(0, 1fr); }
    .dispatch-v2__lane-stats,
    .dispatch-v2__stop-status {
        justify-items: start;
        justify-content: flex-start;
        text-align: left;
    }
    .dispatch-v2__actions,
    .dispatch-v2__gap-item { display: grid; }
    .dispatch-v2__stop-details { grid-template-columns: minmax(0, 1fr); }
    .dispatch-v2__actions .button,
    .dispatch-v2__actions a,
    .dispatch-v2__gap-item .button { width: 100%; }
}
/* End UI2-6 dispatch V2 multi-van operations board */

/* UI2-7 appointment detail V2 operational job view */
.appointment-detail-shell {
    gap: 0.9rem;
    min-width: 0;
    overflow-x: clip;
}

.appointment-detail-shell.panel,
.appointment-detail-shell.form-section,
.appointment-detail-hero,
.appointment-detail-card,
.appointment-detail-reminder-bar,
.appointment-detail-history-item,
.appointment-detail-modal {
    border-radius: 5px;
    background: #ffffff;
    border: 1px solid rgba(219, 229, 240, 0.95);
    box-shadow: var(--shadow-sm);
}

.appointment-detail-hero {
    grid-template-columns: minmax(0, 1.58fr) minmax(280px, 0.82fr);
    gap: 0.9rem;
    padding: 1rem;
    background: #ffffff;
}

.appointment-detail-hero__title-row {
    align-items: center;
}

.appointment-detail-hero__title {
    color: #0f172a;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    letter-spacing: -0.04em;
}

.appointment-detail-hero__subtitle {
    color: #475569;
    font-size: 0.98rem;
}

.appointment-detail-v2__status,
.appointment-detail-service-area .od-v2-status,
.appointment-detail-history-item .od-v2-status {
    border-radius: 5px;
    text-transform: none;
    letter-spacing: 0.02em;
}

.appointment-detail-hero__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.appointment-detail-hero__meta-card {
    padding: 0.72rem 0.8rem;
    border-radius: 5px;
    background: #f8fafc;
    box-shadow: none;
}

.appointment-detail-hero__meta-card strong {
    color: #0f172a;
    font-size: 0.98rem;
}

.appointment-detail-actions {
    grid-template-columns: 1fr;
    gap: 0.55rem;
}

.appointment-detail-actions .button-field,
.button-field {
    min-height: 42px;
    padding: 0.62rem 0.75rem;
    border-radius: 5px;
    box-shadow: none;
    font-weight: 850;
}

.appointment-detail-actions .button-field:hover,
.button-field:hover {
    box-shadow: var(--shadow-sm);
    transform: none;
}

.button-field--omw,
.button-field--start,
.button-field--info {
    border-color: rgba(29, 78, 216, 0.24);
    background: #eff6ff;
    color: #1d4ed8;
}

.button-field--complete,
.button-field--invoice {
    border-color: rgba(15, 118, 110, 0.24);
    background: #ecfdf5;
    color: #166534;
}

.button-field--neutral {
    border-color: rgba(203, 213, 225, 0.95);
    background: #ffffff;
    color: #475569;
}

.button-field--accent {
    border-color: rgba(124, 58, 237, 0.22);
    background: #f5f3ff;
    color: #6d28d9;
}

.workflow-grid.appointment-detail-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(290px, 0.88fr);
    gap: 0.9rem;
}

.appointment-detail-main,
.appointment-detail-sidebar,
.appointment-detail-side-stack,
.appointment-detail-upsells,
.appointment-detail-list {
    gap: 0.75rem;
}

.appointment-detail-card {
    padding: 0.9rem;
}

.appointment-detail-card__title,
.appointment-detail-history-title,
.appointment-detail-modal__title {
    color: #0f172a;
    font-size: 1rem;
    letter-spacing: -0.025em;
}

.appointment-detail-card--upsells,
.appointment-detail-card--info,
.appointment-detail-card--accent,
.appointment-detail-card--notes,
.quick-note-section.appointment-detail-card--notes {
    border-color: rgba(29, 78, 216, 0.18);
    background: #ffffff;
}

.appointment-detail-card--alert,
.appointment-detail-card--pet-alert {
    border-color: rgba(185, 28, 28, 0.22);
    background: #fffafa;
}

.appointment-detail-upsell,
.appointment-detail-side-item,
.appointment-detail-review-box,
.appointment-detail-next-visit,
.appointment-detail-history-empty {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
    box-shadow: none;
}

.appointment-detail-upsell {
    padding: 0.65rem 0.7rem;
}

.appointment-detail-meta-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 0.8rem;
}

.appointment-detail-meta-list > div {
    min-width: 0;
}

.appointment-detail-meta-list dd,
.appointment-detail-side-item p,
.appointment-detail-side-copy,
.appointment-detail-history-item__body,
.appointment-detail__service-area-note {
    overflow-wrap: anywhere;
}

.appointment-detail__service-area-note,
.appointment-detail-review-box,
.appointment-detail-next-visit {
    border-radius: 5px;
    box-shadow: none;
}

.appointment-detail__service-area-note--warning {
    border-color: rgba(29, 78, 216, 0.22);
    background: #eff6ff;
    color: #1d4ed8;
}

.appointment-detail__service-area-note--success {
    border-color: rgba(15, 118, 110, 0.24);
    background: #ecfdf5;
    color: #166534;
}

.appointment-detail-reminder-bar,
.appointment-detail-communication-form,
.appointment-detail-history-item {
    border-radius: 5px;
    box-shadow: none;
}

.appointment-detail-reminder-bar__form,
.appointment-detail-communication-form .form-grid {
    gap: 0.7rem;
}

.appointment-detail-shell .form-control,
.appointment-detail-shell .button,
.appointment-detail-shell--communications .form-control,
.appointment-detail-shell--communications .button {
    border-radius: 5px;
}

.appointment-detail-pet-alert__flag {
    display: inline-flex;
    margin-bottom: 0.7rem;
    text-align: left;
    padding: 0.35rem 0.55rem;
}

.appointment-detail-modal {
    border-radius: 5px;
}

@media (max-width: 960px) {
    .appointment-detail-hero,
    .workflow-grid.appointment-detail-layout,
    .appointment-detail-hero__meta {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .appointment-detail-hero,
    .appointment-detail-card,
    .appointment-detail-shell.panel,
    .appointment-detail-shell.form-section {
        padding: 0.85rem;
    }

    .appointment-detail-actions,
    .appointment-detail-upsell,
    .appointment-detail-upsell__actions,
    .appointment-detail-reminder-bar__form,
    .appointment-detail-modal__actions,
    .appointment-detail-service-area,
    .appointment-detail-communication-form .form-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .appointment-detail-meta-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .appointment-detail-actions__form,
    .appointment-detail-actions .button-field,
    .appointment-detail-upsell__actions .button,
    .appointment-detail-reminder-bar__form .button,
    .appointment-detail-modal__actions .button {
        width: 100%;
    }
}
/* End UI2-7 appointment detail V2 operational job view */

/* UI2-8 imports V2 utility workflow */
.import-v2 {
    display: grid;
    gap: 1rem;
    min-width: 0;
    overflow-x: clip;
}

.import-v2.panel,
.import-v2 .surface-muted,
.import-v2 .empty-state,
.import-v2 .table-responsive,
.import-v2 .alert,
.import-v2 form[action="/import/upload"],
.import-v2 .kpi-grid .surface-muted,
.import-v2--preview > div[style*="display: flex"] .surface-muted {
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: var(--shadow-sm) !important;
}

.import-v2 .page-header {
    margin-bottom: 0.25rem !important;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(219, 229, 240, 0.95);
}

.import-v2 .page-header__title {
    color: #0f172a;
    letter-spacing: -0.035em;
}

.import-v2 .page-header__meta,
.import-v2 .stack-list__meta,
.import-v2 .dashboard-list__meta {
    color: #64748b !important;
}

.import-v2 form[action="/import/upload"] {
    display: grid;
    gap: 0.85rem;
    padding: 1rem !important;
}

.import-v2 label,
.import-v2 .form-label {
    color: #334155;
    font-weight: 750 !important;
}

.import-v2 .form-control,
.import-v2 input[type="file"],
.import-v2 select,
.import-v2 textarea {
    min-height: 42px;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff;
    color: #0f172a;
    box-shadow: none;
}

.import-v2 .button,
.import-v2 button,
.import-v2 .od-v2-button {
    border-radius: 5px !important;
    font-weight: 850;
    box-shadow: none;
}

.import-v2__status,
.import-v2 .od-v2-status {
    border-radius: 5px;
    text-transform: none;
    letter-spacing: 0.02em;
}

.import-v2__section-title {
    margin: 1.35rem 0 0.75rem;
    color: #0f172a;
    font-size: 1.05rem;
    letter-spacing: -0.025em;
}

.import-v2 .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: #ffffff !important;
}

.import-v2 table.table {
    width: 100% !important;
    min-width: 760px;
    border-collapse: collapse !important;
}

.import-v2 table.table th,
.import-v2 table.table td {
    padding: 0.78rem 0.85rem !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    vertical-align: top;
}

.import-v2 table.table th {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #f8fafc;
}

.import-v2 table.table td {
    color: #0f172a;
    font-size: 0.86rem;
}

.import-v2 .alert {
    padding: 0.85rem 1rem !important;
    box-shadow: none !important;
}

.import-v2 .alert-error,
.import-v2 .od-card-danger {
    border-color: rgba(185, 28, 28, 0.24) !important;
    background: #fffafa !important;
    color: #991b1b;
}

.import-v2 .od-card-warning,
.import-v2 .od-card-info,
.import-v2 .od-border-left-primary,
.import-v2 .od-border-left-warning {
    border-color: rgba(29, 78, 216, 0.22) !important;
    background: #eff6ff !important;
    color: #1d4ed8;
}

.import-v2 .od-card-success,
.import-v2 .od-border-left-success {
    border-color: rgba(15, 118, 110, 0.24) !important;
    background: #ecfdf5 !important;
    color: #166534;
}

.import-v2 .kpi-grid,
.import-v2--preview > div[style*="display: flex"] {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 0.75rem !important;
    margin-bottom: 1rem !important;
}

.import-v2 .kpi-grid .surface-muted,
.import-v2--preview > div[style*="display: flex"] .surface-muted {
    padding: 0.8rem !important;
    box-shadow: none !important;
}

.import-v2 .kpi-grid p,
.import-v2--preview > div[style*="display: flex"] p {
    margin-bottom: 0.2rem !important;
}

.import-v2 .page-header__actions {
    display: flex !important;
    gap: 0.55rem !important;
    flex-wrap: wrap;
    align-items: center;
}

.import-v2 .od-radius-8,
.import-v2 .od-radius-6,
.import-v2 .od-radius-4 {
    border-radius: 5px !important;
}

@media (max-width: 720px) {
    .import-v2 .page-header,
    .import-v2 .page-header__actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .import-v2 .page-header__actions .button,
    .import-v2 .page-header__actions form,
    .import-v2 .page-header__actions button,
    .import-v2 form[action="/import/upload"] .button {
        width: 100%;
    }

    .import-v2 table.table {
        min-width: 680px;
    }
}
/* End UI2-8 imports V2 utility workflow */

/* UI2-9 top-level V2 consistency pass */
.top-level-v2 {
    display: grid;
    gap: 1rem;
    min-width: 0;
    overflow-x: clip;
}

.top-level-v2.panel,
.auth-v2.panel {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
    box-shadow: var(--shadow-sm);
}

.top-level-v2 .page-header {
    margin-bottom: 0.35rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(219, 229, 240, 0.95);
}

.top-level-v2 .page-header__title,
.auth-v2 .page-header__title {
    color: #0f172a;
    letter-spacing: -0.035em;
}

.top-level-v2 .page-header__meta,
.auth-v2 .page-header__meta,
.top-level-v2 .stack-list__meta,
.top-level-v2 .empty-state__meta {
    color: #64748b;
}

.auth-v2 {
    max-width: 920px;
    margin: 3rem auto;
    padding: 0;
}

.auth-v2__frame {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.8fr);
    gap: 1rem;
    align-items: stretch;
    padding: 1rem;
}

.auth-v2__brand,
.auth-v2__card {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
    box-shadow: none;
}

.auth-v2__brand {
    display: grid;
    align-content: center;
    gap: 0.45rem;
    padding: 1.4rem;
    background: #f8fafc;
}

.auth-v2__next-steps {
    margin-top: 0.85rem;
    padding: 1rem;
}

.auth-v2__next-steps strong {
    display: block;
    margin-bottom: 0.5rem;
}

.auth-v2__next-steps .stack-list {
    margin: 0;
}

.auth-v2__card {
    padding: 1.15rem;
}

.auth-v2__oauth { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--od-border); }
.auth-v2__oauth-button { width:100%; justify-content:center; }
.auth-v2__oauth .page-header__meta { margin:.6rem 0 0; }
.auth-state { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.75rem; padding:1rem; margin-bottom:1rem; border:1px solid #cbd5e1; border-radius:8px; background:#f8fafc; }
.auth-state h3 { margin:0 0 .35rem; color:#0f172a; font-size:1rem; line-height:1.35; }
.auth-state p { margin:0; color:#475569; line-height:1.55; }
.auth-state__icon { display:grid; place-items:center; width:1.6rem; height:1.6rem; border-radius:50%; background:#e2e8f0; color:#0f172a; font-weight:900; }
.auth-state--success { border-color:#86efac; background:#f0fdf4; }
.auth-state--success .auth-state__icon { background:#15803d; color:#fff; }
.auth-state--error { border-color:#fecaca; background:#fef2f2; }
.auth-state--error .auth-state__icon { background:#b91c1c; color:#fff; }
.auth-state__actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.25rem; }
.auth-state__foot, .auth-state__workspace { grid-column:1/-1; font-size:.9rem; }

.top-level-v2__form,
.top-level-v2__filters,
.top-level-v2__workflow-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
}

.top-level-v2__form {
    display: grid;
    align-items: stretch;
}

.top-level-v2__filters {
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.top-level-v2__search .form-control {
    min-width: min(360px, 100%);
}

.top-level-v2 .form-control,
.auth-v2 .form-control,
.top-level-v2 input[type="checkbox"] {
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 5px;
    background: #ffffff;
    color: #0f172a;
    box-shadow: none;
}

.top-level-v2 .button,
.auth-v2 .button,
.top-level-v2 button {
    border-radius: 5px;
    font-weight: 850;
    box-shadow: none;
}

.top-level-v2__flag-summary,
.top-level-v2__empty,
.top-level-v2__inner,
.top-level-v2__table-wrap,
.top-level-v2 .stack-list__item.surface-muted {
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: var(--shadow-sm) !important;
}

.top-level-v2__flag-summary {
    margin: 1rem 0 1.5rem;
    padding: 0.75rem 0.85rem;
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    align-items: center;
}

.top-level-v2__inner {
    padding: 1rem;
}

.top-level-v2__list {
    gap: 0.72rem;
}

.top-level-v2 .stack-list__item.surface-muted {
    align-items: flex-start;
    padding: 0.85rem;
}

.top-level-v2 .stack-list__title {
    color: #0f172a;
    font-weight: 850;
    letter-spacing: -0.015em;
}

.top-level-v2 .action-row {
    gap: 0.45rem;
    align-items: center;
}

.top-level-v2__status,
.top-level-v2 .od-v2-status {
    border-radius: 5px;
    text-transform: none;
    letter-spacing: 0.02em;
}

.top-level-v2__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.top-level-v2 table.table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
}

.top-level-v2 table.table th,
.top-level-v2 table.table td {
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    text-align: left;
    vertical-align: top;
}

.top-level-v2 table.table th {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #f8fafc;
}

.top-level-v2__inline-form {
    margin: 0;
}

.top-level-v2__danger-action {
    border-color: rgba(185, 28, 28, 0.24) !important;
    color: #991b1b !important;
}

.top-level-v2__danger-action:hover {
    background: #fffafa !important;
    border-color: rgba(185, 28, 28, 0.35) !important;
}

.top-level-v2--services .stack-list__meta {
    font-weight: 650;
}

@media (max-width: 760px) {
    .marketing-proof-block {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .marketing-proof-block {
        padding: 0.75rem;
    }
}

@media (max-width: 760px) {
    .auth-v2 {
        margin: 1rem auto;
    }

    .auth-v2__frame,
    .top-level-v2 .page-header,
    .top-level-v2__filters,
    .top-level-v2__form,
    .top-level-v2__workflow-form {
        grid-template-columns: minmax(0, 1fr);
        display: grid;
    }

    .top-level-v2 .page-header__actions,
    .top-level-v2 .action-row,
    .top-level-v2 .button,
    .top-level-v2 button,
    .auth-v2 .button {
        width: 100%;
    }

    .auth-v2__frame { padding:.65rem; gap:.65rem; }
    .auth-v2__brand, .auth-v2__card { padding:1rem; }
    .auth-state { grid-template-columns:minmax(0,1fr); padding:.85rem; }
    .auth-state__actions { display:grid; grid-template-columns:minmax(0,1fr); }

    .top-level-v2 .action-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
    }

    .top-level-v2 table.table {
        min-width: 640px;
    }

    .top-level-v2 .form-grid,
    .ui2-adminops-page .form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .top-level-v2 .form-control,
    .ui2-adminops-page .form-control,
    .top-level-v2 textarea,
    .ui2-adminops-page textarea,
    .top-level-v2 select,
    .ui2-adminops-page select {
        width: 100%;
        max-width: 100%;
    }
}
/* End UI2-9 top-level V2 consistency pass */

/* UI2-9R visual shipability repair */
.schedule-v2.od-v2-page {
    gap: 0.8rem;
}

.schedule-v2__hero.daily-ops-header {
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 5px;
    box-shadow: var(--shadow-sm);
}

.schedule-v2__hero-main.daily-ops-header__top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
}

.schedule-v2__hero .od-v2-page-title {
    font-size: clamp(1.28rem, 1.8vw, 1.72rem);
    line-height: 1.05;
}

.schedule-v2__hero .od-v2-page-meta {
    max-width: 72ch;
    font-size: 0.91rem;
    line-height: 1.45;
}

.schedule-v2__filters.schedule-toolbar__form {
    display: grid;
    grid-template-columns: minmax(150px, 0.7fr) minmax(260px, 1.35fr) minmax(170px, 0.85fr) auto;
    gap: 0.65rem;
    align-items: end;
    padding: 0.7rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.schedule-v2__filters .form-label,
.schedule-v2__filters .form-control {
    min-width: 0;
    margin: 0;
}

.daily-ops-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.daily-ops-kpi {
    min-height: 0;
    padding: 0.62rem 0.7rem;
    border-radius: 5px;
}

.daily-ops-kpi__value {
    font-size: clamp(1.05rem, 1.5vw, 1.45rem);
    line-height: 1.05;
}

.daily-ops-kpi__value--compact {
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}

.daily-ops-kpi__meta {
    font-size: 0.76rem;
    line-height: 1.25;
}

.daily-ops-flags {
    gap: 0.65rem;
    margin-top: 0;
}

.daily-ops-note,
.daily-ops-flags-bar {
    padding: 0.68rem 0.75rem;
    border-radius: 5px;
}

.daily-ops-shell__grid {
    margin-top: 0.65rem;
    gap: 0.85rem;
}

.daily-ops-section {
    padding-top: 0.85rem;
}

.schedule-day-header {
    margin-bottom: 0.65rem;
}

.schedule-card {
    border-radius: 5px;
}

.top-level-v2.panel {
    padding: 1rem;
}

.top-level-v2 .page-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.9rem;
    margin-bottom: 0.45rem;
}

.top-level-v2 .page-header__title,
.auth-v2 .page-header__title {
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
}

.top-level-v2__summary-strip,
.top-level-v2__campaign-hero {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 0.65rem;
}

.top-level-v2__metric {
    padding: 0.72rem 0.8rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.top-level-v2__metric span {
    display: block;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.top-level-v2__metric strong {
    display: block;
    margin-top: 0.18rem;
    color: #0f172a;
    font-size: 1.25rem;
    line-height: 1.05;
}

.top-level-v2__appointment-row,
.top-level-v2__customer-row,
.top-level-v2__service-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    border-left: 3px solid rgba(29, 78, 216, 0.42) !important;
}

.top-level-v2__row-heading {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.top-level-v2__record-id {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 800;
}

.top-level-v2__primary-meta {
    margin: 0.24rem 0 0;
    color: #334155;
    font-size: 0.95rem;
    font-weight: 800;
}

.top-level-v2__service-meta {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-top: 0.35rem;
    color: #475569;
}

.top-level-v2__service-meta span,
.top-level-v2__service-meta strong {
    display: inline-flex;
    padding: 0.3rem 0.45rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 5px;
    background: #ffffff;
}

.top-level-v2__service-meta strong {
    color: #0f766e;
}

.top-level-v2__search-field {
    flex: 1 1 360px;
    margin: 0;
}

.top-level-v2__send-panel {
    margin-top: 1rem !important;
    padding: 0.85rem !important;
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px;
    background: #f8fafc;
}

.auth-v2 {
    min-height: min(680px, calc(100vh - 3rem));
    display: grid;
    align-items: center;
    box-shadow: none;
}

.auth-v2__frame {
    box-shadow: var(--shadow-md);
}

.auth-v2__brand {
    background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
}

@media (max-width: 980px) {
    .schedule-v2__hero-main.daily-ops-header__top,
    .schedule-v2__filters.schedule-toolbar__form,
    .daily-ops-summary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-nav {
        width: 100%;
        justify-content: stretch;
    }

    .schedule-nav .schedule-nav__link {
        flex: 1 1 0;
        text-align: center;
    }
}

@media (max-width: 760px) {
    .top-level-v2 .page-header,
    .top-level-v2__appointment-row,
    .top-level-v2__customer-row,
    .top-level-v2__service-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .top-level-v2__summary-strip,
    .top-level-v2__campaign-hero {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .auth-v2__frame {
        padding: 0.75rem;
    }
}
/* End UI2-9R visual shipability repair */

/* UI2-9R follow-up: bring schedule timeline into first-screen range */
.schedule-v2__hero.daily-ops-header {
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
}

.schedule-v2__hero-main.daily-ops-header__top {
    gap: 0.6rem;
}

.schedule-v2__hero .od-v2-page-meta {
    margin-top: 0.12rem;
}

.schedule-v2__filters.schedule-toolbar__form {
    padding: 0.55rem;
}

.daily-ops-summary-grid {
    gap: 0.45rem;
}

.daily-ops-flags {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 0.55rem;
}

.daily-ops-flags .daily-ops-note,
.daily-ops-flags .daily-ops-flags-bar {
    min-height: 0;
    padding: 0.55rem 0.65rem;
}

.daily-ops-flags .daily-ops-note__meta {
    display: none;
}

.daily-ops-flags .daily-ops-inline-actions,
.daily-ops-flags-bar {
    gap: 0.4rem;
}

.daily-ops-flags .button {
    min-height: 34px;
    padding: 0.42rem 0.55rem;
    font-size: 0.8rem;
}

.daily-ops-flags-bar .od-v2-status {
    padding: 0.28rem 0.45rem;
    font-size: 0.73rem;
}

.daily-ops-shell__grid {
    margin-top: 0.45rem;
}

@media (max-width: 980px) {
    .daily-ops-flags {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* End UI2-9R schedule timeline follow-up */

/* UI2-9R2 flatten list and utility pages */
.ui2-flat-page.panel,
.import-v2.ui2-flat-page.panel {
    padding: 0.9rem 1rem 1rem;
    border: 0;
    border-radius: 5px;
    background: #ffffff;
    box-shadow: none;
}

.ui2-flat-page .page-header,
.import-v2.ui2-flat-page .page-header {
    margin-bottom: 0.25rem !important;
    padding-bottom: 0.7rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
    background: transparent;
    box-shadow: none;
}

.ui2-flat-page .page-header__eyebrow {
    color: #2563eb;
}

.ui2-flat-page .page-header__title {
    font-size: clamp(1.3rem, 1.7vw, 1.72rem);
    line-height: 1.05;
}

.ui2-flat-page .page-header__meta {
    max-width: 72ch;
    font-size: 0.9rem;
    line-height: 1.45;
}

.ui2-flat-page .button,
.ui2-flat-page button,
.import-v2.ui2-flat-page .button,
.import-v2.ui2-flat-page button {
    min-height: 38px;
    border-radius: 5px !important;
    box-shadow: none !important;
}

.ui2-flat-page .form-control,
.ui2-flat-page input[type="file"],
.ui2-flat-page select,
.import-v2.ui2-flat-page .form-control,
.import-v2.ui2-flat-page input[type="file"],
.import-v2.ui2-flat-page select {
    min-height: 40px;
    border-radius: 5px !important;
    border-color: rgba(203, 213, 225, 0.95) !important;
    background: #ffffff;
    box-shadow: none !important;
}

.ui2-flat-page .top-level-v2__filters,
.ui2-flat-page .top-level-v2__form,
.import-v2.ui2-flat-page form[action="/import/upload"] {
    padding: 0.72rem 0;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ui2-flat-page .top-level-v2__form h3 {
    margin: 0;
    color: #0f172a;
    font-size: 0.95rem;
    letter-spacing: -0.015em;
}

.ui2-flat-page .top-level-v2__form-grid {
    display: grid;
    grid-template-columns: minmax(140px, 0.7fr) minmax(160px, 0.85fr) minmax(180px, 1fr) auto;
    gap: 0.65rem;
    align-items: end;
}

.ui2-flat-page .top-level-v2__summary-strip {
    gap: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.ui2-flat-page .top-level-v2__metric {
    padding: 0.65rem 0.8rem;
    border: 0;
    border-right: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 0;
    background: transparent;
}

.ui2-flat-page .top-level-v2__metric:last-child {
    border-right: 0;
}

.ui2-flat-page .top-level-v2__metric strong {
    font-size: 1.1rem;
}

.ui2-flat-page .top-level-v2__flag-summary,
.import-v2.ui2-flat-page .alert {
    margin: 0.6rem 0 0.8rem;
    padding: 0.62rem 0;
    border: 0 !important;
    border-top: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ui2-flat-page .top-level-v2__list,
.ui2-flat-page.stack-list,
.import-v2.ui2-flat-page .stack-list {
    gap: 0;
}

.ui2-flat-page .stack-list__item.surface-muted,
.ui2-flat-page .area-card.surface-muted,
.import-v2.ui2-flat-page .surface-muted:not(.empty-state) {
    padding: 0.78rem 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ui2-flat-page .top-level-v2__appointment-row,
.ui2-flat-page .top-level-v2__customer-row,
.ui2-flat-page .top-level-v2__service-row,
.ui2-flat-page .top-level-v2__service-area-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
}

.ui2-flat-page .top-level-v2__area-row-inner {
    display: contents;
}

.ui2-flat-page .top-level-v2__service-area-row strong {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 850;
}

.ui2-flat-page .top-level-v2__service-area-row.is-active strong {
    color: #0f766e;
}

.ui2-flat-page .top-level-v2__service-meta span,
.ui2-flat-page .top-level-v2__service-meta strong {
    padding: 0;
    border: 0;
    background: transparent;
}

.ui2-flat-page .od-v2-status,
.import-v2.ui2-flat-page .od-v2-status,
.import-v2.ui2-flat-page .badge {
    border-radius: 5px !important;
}

.import-v2.ui2-flat-page .table-responsive {
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.import-v2.ui2-flat-page table.table th {
    background: #f8fafc;
}

.import-v2.ui2-flat-page table.table th,
.import-v2.ui2-flat-page table.table td {
    padding: 0.7rem 0.75rem !important;
}

.import-v2.ui2-flat-page .kpi-grid .surface-muted,
.import-v2.ui2-flat-page.import-v2--preview > div[style*="display: flex"] .surface-muted {
    padding: 0.65rem 0.75rem !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #f8fafc !important;
}

.import-v2.ui2-flat-page .import-v2__section-title {
    margin: 1.1rem 0 0.5rem;
}

@media (max-width: 820px) {
    .ui2-flat-page .top-level-v2__form-grid,
    .ui2-flat-page .top-level-v2__appointment-row,
    .ui2-flat-page .top-level-v2__customer-row,
    .ui2-flat-page .top-level-v2__service-row,
    .ui2-flat-page .top-level-v2__service-area-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .ui2-flat-page .top-level-v2__summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ui2-flat-page .top-level-v2__metric:nth-child(2n) {
        border-right: 0;
    }
}
/* End UI2-9R2 flatten list and utility pages */

/* UI2-9R2B balanced recovery for stripped list pages */
.top-level-v2--appointments.ui2-flat-page,
.top-level-v2--customers.ui2-flat-page,
.top-level-v2--services.ui2-flat-page,
.top-level-v2--service-areas.ui2-flat-page {
    gap: 0.9rem;
    padding: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__filters,
.top-level-v2--customers.ui2-flat-page .top-level-v2__filters,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__form {
    padding: 0.8rem;
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important;
}

.top-level-v2--service-areas.ui2-flat-page .top-level-v2__form {
    gap: 0.7rem;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__summary-strip,
.top-level-v2--customers.ui2-flat-page .top-level-v2__summary-strip,
.top-level-v2--services.ui2-flat-page .top-level-v2__summary-strip {
    gap: 0.65rem;
    border: 0;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__metric,
.top-level-v2--customers.ui2-flat-page .top-level-v2__metric,
.top-level-v2--services.ui2-flat-page .top-level-v2__metric {
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__flag-summary {
    padding: 0.72rem 0.8rem;
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035) !important;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__item.surface-muted,
.top-level-v2--customers.ui2-flat-page .stack-list__item.surface-muted,
.top-level-v2--services.ui2-flat-page .stack-list__item.surface-muted,
.top-level-v2--service-areas.ui2-flat-page .area-card.surface-muted {
    position: relative;
    padding: 0.95rem 1rem !important;
    border: 1px solid rgba(219, 229, 240, 0.98) !important;
    border-left: 3px solid rgba(37, 99, 235, 0.45) !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045) !important;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--customers.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--services.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--service-areas.ui2-flat-page .area-card.surface-muted:hover {
    border-color: rgba(37, 99, 235, 0.28) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.065) !important;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__appointment-row,
.top-level-v2--customers.ui2-flat-page .top-level-v2__customer-row,
.top-level-v2--services.ui2-flat-page .top-level-v2__service-row,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row {
    grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
    align-items: center;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__content,
.top-level-v2--customers.ui2-flat-page .stack-list__content,
.top-level-v2--services.ui2-flat-page .stack-list__content,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row > div:first-child {
    min-width: 0;
    display: grid;
    gap: 0.24rem;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__row-heading,
.top-level-v2--customers.ui2-flat-page .top-level-v2__row-heading,
.top-level-v2--services.ui2-flat-page .top-level-v2__row-heading {
    gap: 0.55rem;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__title,
.top-level-v2--customers.ui2-flat-page .stack-list__title,
.top-level-v2--services.ui2-flat-page .stack-list__title,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row strong {
    color: #0f172a;
    font-size: 1.01rem;
    line-height: 1.25;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__primary-meta,
.top-level-v2--customers.ui2-flat-page .stack-list__meta,
.top-level-v2--services.ui2-flat-page .top-level-v2__service-meta,
.top-level-v2--service-areas.ui2-flat-page .dashboard-list__meta {
    color: #475569;
    line-height: 1.42;
}

.top-level-v2--appointments.ui2-flat-page .action-row,
.top-level-v2--customers.ui2-flat-page .action-row,
.top-level-v2--services.ui2-flat-page .action-row,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__inline-form {
    justify-content: flex-end;
}

.top-level-v2--appointments.ui2-flat-page .action-row,
.top-level-v2--services.ui2-flat-page .action-row {
    display: flex;
    flex-wrap: wrap;
}

.top-level-v2--services.ui2-flat-page .top-level-v2__service-meta {
    gap: 0.7rem;
}

.top-level-v2--services.ui2-flat-page .top-level-v2__service-meta span,
.top-level-v2--services.ui2-flat-page .top-level-v2__service-meta strong {
    padding: 0.32rem 0.46rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.top-level-v2--services.ui2-flat-page .top-level-v2__service-meta strong {
    color: #0f766e;
    background: #ecfdf5;
    border-color: rgba(15, 118, 110, 0.2);
}

.top-level-v2--appointments.ui2-flat-page .od-v2-status,
.top-level-v2--services.ui2-flat-page .od-v2-status {
    min-height: 30px;
    align-items: center;
}

.top-level-v2--customers.ui2-flat-page .top-level-v2__customer-row {
    border-left-color: rgba(15, 118, 110, 0.42) !important;
}

.top-level-v2--services.ui2-flat-page .top-level-v2__service-row {
    border-left-color: rgba(14, 116, 144, 0.44) !important;
}

.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row.is-active {
    border-left-color: rgba(15, 118, 110, 0.5) !important;
}

.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row.is-inactive {
    border-left-color: rgba(100, 116, 139, 0.32) !important;
}

.top-level-v2--service-areas.ui2-flat-page .top-level-v2__area-row-inner {
    display: contents;
}

.top-level-v2--appointments.ui2-flat-page .button-secondary,
.top-level-v2--customers.ui2-flat-page .button-secondary,
.top-level-v2--services.ui2-flat-page .button-secondary,
.top-level-v2--service-areas.ui2-flat-page .button-secondary {
    background: #ffffff;
}

.top-level-v2--services.ui2-flat-page .top-level-v2__danger-action,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__danger-action {
    border-color: rgba(185, 28, 28, 0.26) !important;
    background: #fffafa !important;
    color: #991b1b !important;
}

@media (max-width: 820px) {
    .top-level-v2--appointments.ui2-flat-page .top-level-v2__appointment-row,
    .top-level-v2--customers.ui2-flat-page .top-level-v2__customer-row,
    .top-level-v2--services.ui2-flat-page .top-level-v2__service-row,
    .top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .top-level-v2--appointments.ui2-flat-page .action-row,
    .top-level-v2--customers.ui2-flat-page .action-row,
    .top-level-v2--services.ui2-flat-page .action-row,
    .top-level-v2--service-areas.ui2-flat-page .top-level-v2__inline-form {
        justify-content: stretch;
    }
}
/* End UI2-9R2B balanced recovery for stripped list pages */

/* UI2-9R2C top containers and rail removal */
.top-level-v2--appointments.ui2-flat-page,
.top-level-v2--customers.ui2-flat-page,
.top-level-v2--services.ui2-flat-page {
    background: #ffffff;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container,
.top-level-v2--customers.ui2-flat-page .top-level-v2__top-container,
.top-level-v2--services.ui2-flat-page .top-level-v2__top-container {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container .page-header,
.top-level-v2--customers.ui2-flat-page .top-level-v2__top-container .page-header,
.top-level-v2--services.ui2-flat-page .top-level-v2__top-container .page-header {
    margin: 0 !important;
    padding: 0 0 0.72rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92) !important;
    background: transparent;
    box-shadow: none;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container .top-level-v2__filters,
.top-level-v2--customers.ui2-flat-page .top-level-v2__top-container .top-level-v2__filters {
    padding: 0 0 0.72rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container .top-level-v2__summary-strip,
.top-level-v2--customers.ui2-flat-page .top-level-v2__top-container .top-level-v2__summary-strip,
.top-level-v2--services.ui2-flat-page .top-level-v2__top-container .top-level-v2__summary-strip {
    gap: 0.55rem;
    border: 0;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container .top-level-v2__metric,
.top-level-v2--customers.ui2-flat-page .top-level-v2__top-container .top-level-v2__metric,
.top-level-v2--services.ui2-flat-page .top-level-v2__top-container .top-level-v2__metric {
    padding: 0.62rem 0.72rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: none;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container .top-level-v2__flag-summary {
    margin: 0;
    padding: 0.62rem 0 0;
    border: 0 !important;
    border-top: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.top-level-v2--appointments.ui2-flat-page .top-level-v2__appointment-row,
.top-level-v2--customers.ui2-flat-page .top-level-v2__customer-row,
.top-level-v2--services.ui2-flat-page .top-level-v2__service-row {
    border-left: 1px solid rgba(219, 229, 240, 0.98) !important;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--customers.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--services.ui2-flat-page .stack-list__item.surface-muted:hover {
    border-left-color: rgba(219, 229, 240, 0.98) !important;
}

@media (max-width: 820px) {
    .top-level-v2--appointments.ui2-flat-page .top-level-v2__top-container,
    .top-level-v2--customers.ui2-flat-page .top-level-v2__top-container,
    .top-level-v2--services.ui2-flat-page .top-level-v2__top-container {
        padding: 0.8rem;
    }
}
/* End UI2-9R2C top containers and rail removal */

/* P0 pre-manual-review mobile containment */
.top-level-v2--security {
    max-width: 100%;
}

.security-overview-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr);
    gap: 2rem;
    align-items: start;
    margin-top: 2rem;
    min-width: 0;
}

.security-summary-card {
    padding: 1.5rem;
    border-radius: 8px;
    min-width: 0;
}

.security-activity-card {
    min-width: 0;
}

.security-activity-list {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.security-activity-item {
    display: grid;
    grid-template-columns: minmax(110px, 0.75fr) minmax(140px, 1.1fr) minmax(150px, 1fr) minmax(120px, 0.75fr);
    gap: 0.75rem;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
    min-width: 0;
}

.security-activity-item strong {
    display: block;
    overflow-wrap: anywhere;
}

.security-activity-label {
    display: block;
    margin-bottom: 0.2rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.security-empty-state {
    padding: 2rem;
    text-align: center;
}

@media (max-width: 860px) {
    .security-overview-grid,
    .security-activity-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .security-overview-grid {
        gap: 1rem;
    }
}

@media (max-width: 430px) {
    .top-level-v2.panel,
    .panel.form-section {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .top-level-v2__summary-strip,
    .top-level-v2__campaign-hero {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* End P0 pre-manual-review mobile containment */

/* UI2-9R2D remove list row rails and shadows */
.top-level-v2--appointments.ui2-flat-page .top-level-v2__list,
.top-level-v2--customers.ui2-flat-page .top-level-v2__list,
.top-level-v2--services.ui2-flat-page .top-level-v2__list,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__list {
    gap: 0.5rem;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__item.surface-muted,
.top-level-v2--customers.ui2-flat-page .stack-list__item.surface-muted,
.top-level-v2--services.ui2-flat-page .stack-list__item.surface-muted,
.top-level-v2--service-areas.ui2-flat-page .area-card.surface-muted {
    border-left-width: 1px !important;
    border-left-style: solid !important;
    border-left-color: rgba(219, 229, 240, 0.98) !important;
    box-shadow: none !important;
}

.top-level-v2--appointments.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--customers.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--services.ui2-flat-page .stack-list__item.surface-muted:hover,
.top-level-v2--service-areas.ui2-flat-page .area-card.surface-muted:hover {
    border-left-color: rgba(219, 229, 240, 0.98) !important;
    box-shadow: none !important;
}

.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row.is-active,
.top-level-v2--service-areas.ui2-flat-page .top-level-v2__service-area-row.is-inactive {
    border-left-color: rgba(219, 229, 240, 0.98) !important;
}
/* End UI2-9R2D remove list row rails and shadows */

/* UI2-10A dashboard-style admin ops pages */
.ui2-adminops-page.panel {
    display: grid;
    gap: 1rem;
    border-color: rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
    box-shadow: none;
}

.ui2-adminops-top,
.utility-workspace .ui2-adminops-top {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.ui2-adminops-top .page-header,
.utility-workspace .ui2-adminops-top .page-header {
    margin: 0 !important;
    padding: 0 0 0.72rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ui2-adminops-metrics {
    gap: 0.55rem;
}

.ui2-adminops-metrics .top-level-v2__metric {
    padding: 0.62rem 0.72rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: none;
}

.ui2-adminops-filters,
.utility-workspace .ui2-adminops-filters {
    margin: 0 !important;
    padding: 0.72rem 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ui2-adminops-number {
    width: 8rem;
}

.ui2-adminops-section,
.ui2-adminops-card,
.utility-workspace .ui2-adminops-card {
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.ui2-adminops-card,
.utility-workspace .ui2-adminops-card {
    padding: 1rem !important;
}

.ui2-adminops-section {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.ui2-adminops-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
}

.ui2-adminops-section-head .page-header__eyebrow,
.ui2-adminops-section-head .utility-section-title {
    margin: 0;
}

.ui2-adminops-form-card {
    display: grid;
    gap: 0.85rem;
}

.ui2-adminops-list,
.utility-workspace .ui2-adminops-list {
    display: grid;
    gap: 0.5rem;
}

.ui2-adminops-row,
.utility-workspace .ui2-adminops-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem !important;
    border: 1px solid rgba(219, 229, 240, 0.98) !important;
    border-left-width: 1px !important;
    border-left-color: rgba(219, 229, 240, 0.98) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.ui2-adminops-row:hover,
.utility-workspace .ui2-adminops-row:hover {
    border-left-color: rgba(219, 229, 240, 0.98) !important;
    box-shadow: none !important;
}

.ui2-adminops-row--form,
.utility-workspace .ui2-adminops-row--form {
    display: block;
}

.ui2-adminops-row--form > form,
.utility-workspace .ui2-adminops-row--form > form {
    display: grid;
    gap: 0.85rem;
}

.ui2-adminops-row__main {
    min-width: 0;
}

.ui2-adminops-record-head {
    margin-bottom: 0.85rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
}

.ui2-adminops-row .dashboard-list__meta,
.utility-workspace .ui2-adminops-row .dashboard-list__meta {
    margin: 0.24rem 0 0;
}

.staff-identity-summary {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.staff-identity-summary__line {
    color: #475569;
    font-weight: 700;
}

.staff-login-note {
    max-width: 42rem;
    color: #64748b;
    font-size: 0.82rem;
}

.ui2-adminops-select {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 5px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.ui2-adminops-send-panel,
.utility-workspace .ui2-adminops-send-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.9rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.ui2-adminops-note ul {
    margin: 0.75rem 0 0;
    padding-left: 1.2rem;
}

.ui2-adminops-credentials {
    margin-bottom: 0;
}

.ui2-adminops-credentials p {
    margin: 0 0 0.5rem;
    font-weight: 800;
}

.ui2-adminops-credentials dl {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.5rem 1rem;
    margin: 0;
}

.ui2-adminops-current-account {
    margin-bottom: 0.85rem !important;
}

.ui2-adminops-caption-form {
    width: 100%;
}

.ui2-adminops-caption-form textarea.form-control {
    width: 100%;
    resize: vertical;
}

.ui2-adminops-action-row,
.utility-workspace .ui2-adminops-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    margin-top: 0.85rem;
}

.ui2-adminops-page .form-control,
.ui2-adminops-page textarea,
.ui2-adminops-page select,
.ui2-adminops-page input[type="checkbox"] {
    border-color: rgba(203, 213, 225, 0.95);
    border-radius: 5px;
    background: #ffffff;
    box-shadow: none;
}

.ui2-adminops-page .button,
.ui2-adminops-page button,
.ui2-adminops-page .badge,
.ui2-adminops-page .od-v2-status {
    border-radius: 5px !important;
    box-shadow: none !important;
}

.ui2-adminops-page .button {
    font-weight: 850;
}

.ui2-adminops-empty {
    padding: 2rem 1rem !important;
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .ui2-adminops-top,
    .utility-workspace .ui2-adminops-top,
    .ui2-adminops-section,
    .ui2-adminops-card,
    .utility-workspace .ui2-adminops-card {
        padding: 0.8rem !important;
    }

    .ui2-adminops-row,
    .utility-workspace .ui2-adminops-row,
    .ui2-adminops-row--selectable {
        display: grid;
        gap: 0.75rem;
    }

    .ui2-adminops-send-panel,
    .utility-workspace .ui2-adminops-send-panel,
    .ui2-adminops-action-row,
    .utility-workspace .ui2-adminops-action-row {
        align-items: stretch;
    }

    .ui2-adminops-action-row form,
    .ui2-adminops-action-row .button,
    .ui2-adminops-send-panel .button {
        width: 100%;
    }

    .ui2-adminops-credentials dl {
        grid-template-columns: 1fr;
    }
}
/* End UI2-10A dashboard-style admin ops pages */

/* UI2-10A checkbox finish */
.ui2-adminops-page input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    border-radius: 4px !important;
    background: #ffffff;
    box-shadow: none !important;
    accent-color: #1d4ed8;
}
/* End UI2-10A checkbox finish */

/* UI2-10A native checkbox reset */
.ui2-adminops-page input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-grid;
    place-content: center;
}

.ui2-adminops-page input[type="checkbox"]::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 2px;
    background: #1d4ed8;
    transform: scale(0);
}

.ui2-adminops-page input[type="checkbox"]:checked::before {
    transform: scale(1);
}
/* End UI2-10A native checkbox reset */

/* UI2-10B sensitive admin/revenue/settings pages */
.ui2-sensitive-page.panel {
    gap: 1rem;
}

.ui2-sensitive-top {
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.ui2-sensitive-layout,
.utility-workspace .ui2-sensitive-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(420px, 1.5fr);
    gap: 1rem;
    align-items: start;
}

.ui2-sensitive-card,
.utility-workspace .ui2-sensitive-card,
.ui2-sensitive-section {
    border-color: rgba(219, 229, 240, 0.98) !important;
}

.ui2-sensitive-card,
.utility-workspace .ui2-sensitive-card {
    padding: 1rem !important;
}

.ui2-sensitive-section {
    margin-top: 0.25rem;
}

.ui2-sensitive-grid {
    gap: 1rem;
}

.ui2-sensitive-page .dashboard-grid.ui2-sensitive-grid {
    margin-top: 0;
}

.ui2-sensitive-provider-card {
    gap: 0.85rem;
}

.ui2-sensitive-provider-card .badge {
    white-space: nowrap;
}

.ui2-sensitive-link {
    color: #1d4ed8;
    font-weight: 800;
    text-decoration: none;
}

.ui2-sensitive-link:hover {
    text-decoration: underline;
}

.ui2-sensitive-row-side {
    display: grid;
    gap: 0.35rem;
    justify-items: end;
    text-align: right;
}

.ui2-sensitive-money {
    color: #0f172a;
    font-weight: 850;
}

.ui2-sensitive-status {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ui2-sensitive-narrow-form {
    max-width: 540px;
}

.ui2-sensitive-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.ui2-sensitive-table-wrap table {
    margin: 0;
}

.ui2-sensitive-break {
    overflow-wrap: anywhere;
}

.ui2-sensitive-form,
.utility-workspace .ui2-sensitive-form {
    padding: 1rem !important;
}

.ui2-sensitive-page .form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}

.ui2-sensitive-page .button-primary {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.ui2-sensitive-page .button-primary:hover {
    background: #1e40af;
    border-color: #1e40af;
}

@media (max-width: 480px) {
    .connect-onboarding-cta .page-header {
        align-items: stretch !important;
        flex-direction: column;
    }

    .connect-onboarding-cta form,
    .connect-onboarding-cta .button {
        max-width: 100%;
        width: 100%;
    }
}

.ui2-sensitive-page table,
.ui2-sensitive-page th,
.ui2-sensitive-page td {
    border-color: rgba(226, 232, 240, 0.95) !important;
}

@media (max-width: 900px) {
    .ui2-sensitive-layout,
    .utility-workspace .ui2-sensitive-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ui2-sensitive-row-side {
        justify-items: start;
        text-align: left;
    }

    .ui2-sensitive-provider-card .utility-split-row {
        display: grid;
        gap: 0.6rem;
    }
}
/* End UI2-10B sensitive admin/revenue/settings pages */

/* UI2-10B sensitive page containment finish */
.ui2-sensitive-page,
.ui2-sensitive-page * {
    min-width: 0;
}

.ui2-sensitive-page .surface-muted,
.ui2-sensitive-page .dashboard-grid > *,
.ui2-sensitive-page .utility-table-card,
.ui2-sensitive-page .form-control,
.ui2-sensitive-page input,
.ui2-sensitive-page select,
.ui2-sensitive-page textarea,
.ui2-sensitive-page .button,
.ui2-sensitive-page .badge,
.ui2-sensitive-page code {
    border-radius: 5px !important;
}

.ui2-sensitive-page .form-control,
.ui2-sensitive-page input,
.ui2-sensitive-page textarea,
.ui2-sensitive-break {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.ui2-sensitive-provider-card,
.ui2-sensitive-provider-card * {
    min-width: 0;
}
/* End UI2-10B sensitive page containment finish */

/* UI2-FINAL global spacing and alignment consistency */
:root {
    --ui2-final-page-gutter: clamp(0.9rem, 1.35vw, 1.25rem);
    --ui2-final-page-top: 0.75rem;
    --ui2-final-section-gap: 1rem;
    --ui2-final-row-gap: 0.62rem;
    --ui2-final-card-pad: 0.95rem;
}

.app-shell--authenticated .app-main {
    padding: var(--ui2-final-page-top) var(--ui2-final-page-gutter) 1.25rem;
}

.app-shell--authenticated .content-shell {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    gap: var(--ui2-final-section-gap);
}

.app-shell--authenticated .panel,
.app-shell--authenticated .info-card {
    margin-bottom: var(--ui2-final-section-gap);
}

.app-shell--authenticated .panel:last-child,
.app-shell--authenticated .info-card:last-child {
    margin-bottom: 0;
}

.app-shell--authenticated .page-header {
    gap: 0.65rem 1rem;
    margin-bottom: 0.82rem;
    padding-bottom: 0.68rem;
}

.app-shell--authenticated .page-header__content {
    gap: 0.26rem;
}

.app-shell--authenticated .page-header__actions,
.dashboard-v2__hero-actions,
.dashboard-v2-actions,
.ui2-adminops-action-row,
.utility-workspace .page-header__actions {
    gap: 0.62rem;
}

.od-v2-page,
.dashboard-v2,
.top-level-v2,
.utility-workspace.panel,
.ui2-adminops-page.panel,
.ui2-sensitive-page.panel,
.schedule-v2,
.assistant-workspace,
.appointment-detail-shell,
.appointment-detail-main {
    gap: var(--ui2-final-section-gap) !important;
}

.od-v2-page-header,
.dashboard-v2__hero,
.top-level-v2__top-container,
.ui2-adminops-top,
.utility-workspace .ui2-adminops-top,
.daily-ops-header,
.dispatch-v2__hero,
.assistant-workspace__hero,
.appointment-detail-hero,
.schedule-v2__hero {
    padding: var(--ui2-final-card-pad) 1rem !important;
}

.dashboard-v2__section,
.od-v2-card,
.top-level-v2__section,
.ui2-adminops-section,
.ui2-adminops-card,
.utility-card,
.utility-table-card,
.utility-list-card,
.ui2-sensitive-card,
.utility-workspace .surface-muted,
.utility-workspace .empty-state,
.utility-workspace .table-responsive {
    border-radius: 5px !important;
}

.dashboard-v2__section,
.ui2-adminops-section,
.utility-card,
.utility-list-card,
.ui2-sensitive-card,
.utility-workspace .surface-muted {
    padding: var(--ui2-final-card-pad) !important;
}

.dashboard-v2__stats,
.dashboard-v2-action-grid,
.dashboard-v2-mini-stats,
.dashboard-v2__main-grid,
.dashboard-v2__support-grid,
.dashboard-v2__column,
.dashboard-v2-list,
.top-level-v2__list,
.ui2-adminops-list,
.utility-workspace .layout-responsive,
.utility-grid,
.ui2-sensitive-grid,
.form-grid,
.kpi-grid {
    gap: var(--ui2-final-row-gap) !important;
}

.dashboard-v2-alert,
.dashboard-v2-row,
.od-v2-stat-card,
.od-v2-action-card,
.ui2-adminops-row,
.utility-workspace .ui2-adminops-row,
.stack-list__item.surface-muted,
.dashboard-list__item.surface-muted,
.area-card.surface-muted {
    border-radius: 5px !important;
    box-shadow: none !important;
}

.dashboard-v2__hero::before,
.command-center__hero::before,
.utility-card--accent::before {
    display: none !important;
}

.dashboard-v2-list--attention .dashboard-v2-alert {
    border-left-width: 1px !important;
    border-top-width: 1px !important;
}

.top-level-v2__top-container .top-level-v2__filters,
.ui2-adminops-filters,
.utility-workspace .ui2-adminops-filters {
    margin-top: 0 !important;
    padding-top: 0.68rem !important;
}

.top-level-v2__summary-strip,
.ui2-adminops-metrics,
.dashboard-v2__status-row {
    gap: var(--ui2-final-row-gap) !important;
}

.table-responsive,
.top-level-v2__table-wrap,
.ui2-sensitive-table-wrap,
.utility-table-card {
    margin-top: 0 !important;
}

@media (max-width: 860px) {
    :root {
        --ui2-final-page-gutter: 0.85rem;
        --ui2-final-page-top: 0.85rem;
        --ui2-final-section-gap: 0.85rem;
        --ui2-final-row-gap: 0.55rem;
        --ui2-final-card-pad: 0.82rem;
    }

    .app-main,
    .app-shell--authenticated .app-main {
        padding: var(--ui2-final-page-top) var(--ui2-final-page-gutter) 1rem;
    }

    .od-v2-page-header,
    .dashboard-v2__hero,
    .top-level-v2__top-container,
    .ui2-adminops-top,
    .utility-workspace .ui2-adminops-top,
    .daily-ops-header,
    .dispatch-v2__hero,
    .assistant-workspace__hero,
    .appointment-detail-hero,
    .schedule-v2__hero {
        padding: var(--ui2-final-card-pad) !important;
    }

    .app-shell--authenticated .page-header {
        margin-bottom: 0.68rem;
        padding-bottom: 0.58rem;
    }
}
/* End UI2-FINAL global spacing and alignment consistency */

/* UI2-10C admin utility containment and header consistency */
:root {
    --ui2-10c-contained-max: 1200px;
    --ui2-10c-narrow-form-max: 760px;
    --ui2-10c-header-gap: 0.72rem;
}

.ui2-adminops-page.panel {
    width: 100%;
    max-width: var(--ui2-10c-contained-max);
    margin-inline: auto;
    padding: 1rem !important;
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    background: #ffffff !important;
}

.top-level-v2--social.ui2-adminops-page,
.top-level-v2--reactivation.ui2-adminops-page,
.top-level-v2--fleet.ui2-adminops-page,
.top-level-v2--billing.ui2-adminops-page,
.top-level-v2--invoice-detail.ui2-adminops-page,
.top-level-v2--integrations.ui2-adminops-page,
.utility-workspace.ui2-adminops-page {
    justify-self: center;
}

.ui2-adminops-top,
.utility-workspace .ui2-adminops-top,
.ui2-sensitive-top {
    gap: var(--ui2-10c-header-gap) !important;
    padding: 0 0 0.85rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ui2-adminops-top .page-header,
.utility-workspace .ui2-adminops-top .page-header,
.ui2-sensitive-top .page-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start !important;
    gap: 0.65rem 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.ui2-adminops-top .page-header__content,
.utility-workspace .ui2-adminops-top .page-header__content,
.ui2-sensitive-top .page-header__content {
    gap: 0.22rem !important;
}

.ui2-adminops-top .page-header__eyebrow,
.utility-workspace .ui2-adminops-top .page-header__eyebrow,
.ui2-sensitive-top .page-header__eyebrow {
    color: #1d4ed8 !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.09em !important;
}

.ui2-adminops-top .page-header__title,
.utility-workspace .ui2-adminops-top .page-header__title,
.ui2-sensitive-top .page-header__title {
    color: #0b1220 !important;
    font-size: clamp(1.28rem, 1.65vw, 1.72rem) !important;
    font-weight: 880 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

.ui2-adminops-top .page-header__meta,
.utility-workspace .ui2-adminops-top .page-header__meta,
.ui2-sensitive-top .page-header__meta {
    max-width: 68ch !important;
    color: #64748b !important;
    font-size: 0.9rem !important;
    line-height: 1.45 !important;
}

.ui2-adminops-metrics {
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 0.6rem !important;
}

.ui2-adminops-metrics .top-level-v2__metric,
.ui2-sensitive-page .top-level-v2__metric {
    padding: 0.68rem 0.75rem !important;
    border: 1px solid rgba(226, 232, 240, 0.98) !important;
    border-radius: 5px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

.ui2-adminops-page .alert::before,
.ui2-adminops-page .flash::before,
.ui2-sensitive-page .alert::before,
.ui2-sensitive-page .flash::before {
    display: none !important;
}

.ui2-adminops-page .alert,
.ui2-adminops-page .flash,
.ui2-sensitive-page .alert,
.ui2-sensitive-page .flash {
    border-left-width: 1px !important;
    padding-left: 1rem !important;
}

.ui2-adminops-row,
.utility-workspace .ui2-adminops-row,
.ui2-sensitive-page .dashboard-list__item.surface-muted,
.ui2-sensitive-page .stack-list__item.surface-muted,
.ui2-sensitive-page .utility-table-card,
.ui2-sensitive-page .ui2-adminops-card,
.ui2-sensitive-page .ui2-sensitive-card,
.ui2-sensitive-section,
.utility-card,
.utility-list-card,
.utility-table-card {
    border-left-width: 1px !important;
    border-left-style: solid !important;
    border-left-color: rgba(219, 229, 240, 0.98) !important;
    box-shadow: none !important;
}

.ui2-adminops-row:hover,
.utility-workspace .ui2-adminops-row:hover,
.ui2-sensitive-page .dashboard-list__item.surface-muted:hover,
.ui2-sensitive-page .stack-list__item.surface-muted:hover {
    border-left-color: rgba(219, 229, 240, 0.98) !important;
}

.utility-card--accent,
.ui2-adminops-card.utility-card--accent,
.ui2-sensitive-card.utility-card--accent {
    border-left-width: 1px !important;
    border-left-color: rgba(219, 229, 240, 0.98) !important;
    border-top: 1px solid rgba(29, 78, 216, 0.22) !important;
}

.utility-grid--sidebar,
.utility-workspace--settings .layout-responsive,
.utility-workspace--subscription .layout-responsive,
.utility-workspace--upsells .layout-responsive,
.ui2-sensitive-layout,
.utility-workspace .ui2-sensitive-layout {
    grid-template-columns: minmax(250px, 360px) minmax(0, 1fr) !important;
    max-width: 100%;
    align-items: start !important;
}

.ui2-adminops-form-card,
.ui2-sensitive-form,
.utility-workspace .ui2-sensitive-form,
.utility-workspace--settings form.ui2-sensitive-form,
.utility-workspace--subscription form.ui2-sensitive-form,
.top-level-v2--integrations .dashboard-grid.ui2-sensitive-grid > .ui2-sensitive-card,
.top-level-v2--fleet .ui2-adminops-form-card {
    max-width: var(--ui2-10c-narrow-form-max);
}

.top-level-v2--integrations .dashboard-grid.ui2-sensitive-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    max-width: 980px;
}

.top-level-v2--social .ui2-adminops-caption-form,
.top-level-v2--reactivation .ui2-adminops-send-panel {
    max-width: 820px;
}

.ui2-adminops-page .form-grid,
.ui2-sensitive-page .form-grid,
.utility-workspace .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 0.85rem !important;
}

.ui2-adminops-page .form-control,
.ui2-sensitive-page .form-control,
.utility-workspace .form-control,
.ui2-adminops-page textarea,
.ui2-sensitive-page textarea {
    max-width: 100%;
}

.ui2-adminops-page .stack-list,
.ui2-sensitive-page .stack-list,
.utility-workspace .stack-list {
    gap: 0.58rem !important;
}

.ui2-adminops-section-head {
    padding-bottom: 0.62rem !important;
}

.ui2-adminops-page .badge,
.ui2-sensitive-page .badge,
.utility-workspace .badge {
    border-radius: 5px !important;
}

.platform-terminology-note {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
}

.platform-terminology-note h3 {
    margin: 0.2rem 0 0.4rem;
}

.platform-terminology-note p:last-child {
    margin: 0;
    color: var(--color-text-muted);
}

.platform-customer-mobile-list {
    display: none;
}

.platform-review-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1.25rem 0;
}

.platform-review-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.72rem;
    border: 1px solid var(--color-border, #dbe5f0);
    border-radius: 999px;
    background: #fff;
    color: var(--color-text, #334155);
    font-size: 0.82rem;
    font-weight: 750;
    text-decoration: none;
}

.platform-review-filter span {
    min-width: 1.35rem;
    padding: 0.08rem 0.34rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.07);
    text-align: center;
}

.platform-review-filter:hover,
.platform-review-filter.is-active {
    border-color: var(--color-primary, #2563eb);
    background: rgba(37, 99, 235, 0.08);
    color: var(--color-primary, #1d4ed8);
}

.platform-review-search {
    margin-bottom: 1.25rem;
    padding: 0.9rem;
}

.platform-review-search__controls,
.platform-review-secondary-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.platform-review-search__controls .form-control {
    flex: 1 1 280px;
    min-width: 0;
}

.platform-review-table td {
    min-width: 130px;
    vertical-align: top;
}

.platform-review-table td:first-child {
    min-width: 190px;
}

.platform-review-table td:last-child {
    min-width: 185px;
}

.platform-review-action {
    white-space: normal;
    text-align: center;
}

.platform-review-action--danger {
    border-color: #ef4444;
    color: #b91c1c;
}

.platform-review-action--warning {
    border-color: #f59e0b;
    color: #92400e;
}

.platform-launch-signals,
.platform-launch-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.38rem;
}

.platform-launch-signal {
    display: inline-flex;
    padding: 0.28rem 0.48rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 750;
}

.platform-launch-signal--ready { background: #dcfce7; color: #166534; }
.platform-launch-signal--attention { background: #fef3c7; color: #92400e; }
.platform-launch-signal--optional { background: #e2e8f0; color: #475569; }

.platform-launch-links { margin-top: 0.55rem; }
.platform-launch-links a { font-size: 0.76rem; font-weight: 750; }

.platform-review-mobile {
    display: none;
}

.platform-review-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1rem;
}

.platform-review-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.platform-review-card h3 {
    margin: 0.2rem 0 0;
    overflow-wrap: anywhere;
}

.platform-review-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0;
}

.platform-review-card__facts div {
    min-width: 0;
    padding: 0.65rem;
    border: 1px solid var(--color-border, #dbe5f0);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.75);
}

.platform-review-card__facts dt {
    color: var(--color-text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.platform-review-card__facts dd {
    margin: 0.2rem 0 0;
    overflow-wrap: anywhere;
    color: var(--color-text-strong);
    font-size: 0.88rem;
    font-weight: 700;
}

.platform-customer-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding: 1rem;
}

.platform-customer-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.platform-customer-card__header h3 {
    margin: 0.18rem 0;
    color: var(--color-text-strong);
    font-size: 1.05rem;
    line-height: 1.2;
}

.platform-customer-card__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.platform-customer-card__metrics div {
    min-width: 0;
    padding: 0.65rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.78);
}

.platform-customer-card__metrics span {
    display: block;
    color: var(--color-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.platform-customer-card__metrics strong {
    display: block;
    margin-top: 0.22rem;
    color: var(--color-text-strong);
    font-size: 0.9rem;
    line-height: 1.3;
}

.platform-customer-card__badges,
.platform-customer-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (min-width: 1500px) {
    .top-level-v2--social.ui2-adminops-page,
    .top-level-v2--reactivation.ui2-adminops-page,
    .top-level-v2--fleet.ui2-adminops-page,
    .top-level-v2--billing.ui2-adminops-page,
    .top-level-v2--invoice-detail.ui2-adminops-page,
    .top-level-v2--integrations.ui2-adminops-page,
    .utility-workspace.ui2-adminops-page {
        max-width: 1180px;
    }
}

@media (max-width: 900px) {
    .utility-grid--sidebar,
    .utility-workspace--settings .layout-responsive,
    .utility-workspace--subscription .layout-responsive,
    .utility-workspace--upsells .layout-responsive,
    .ui2-sensitive-layout,
    .utility-workspace .ui2-sensitive-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 760px) {
    .ui2-adminops-page.panel {
        padding: 0.82rem !important;
    }

    .ui2-adminops-top .page-header,
    .utility-workspace .ui2-adminops-top .page-header,
    .ui2-sensitive-top .page-header {
        grid-template-columns: minmax(0, 1fr);
    }

    .ui2-adminops-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-terminology-note,
    .platform-customer-card__header {
        flex-direction: column;
    }

    .platform-terminology-note .button,
    .platform-customer-card__actions .button {
        width: 100%;
        justify-content: center;
    }

    .platform-customer-mobile-list {
        display: block;
    }

    .platform-review-desktop {
        display: none;
    }

    .platform-review-mobile {
        display: grid;
        gap: 0.9rem;
    }

    .platform-review-secondary-links .button,
    .platform-review-search__controls .button,
    .platform-review-card .platform-review-action {
        width: 100%;
        justify-content: center;
    }

    .platform-review-card__facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .platform-customer-desktop-table {
        display: none;
    }

    .platform-customer-card__metrics {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* End UI2-10C admin utility containment and header consistency */

/* PRODUCT-THEATER-001 authenticated operations shell */
:root {
    --od-theater-teal: #063f43;
    --od-theater-teal-deep: #042f33;
    --od-theater-mint: #26b887;
    --od-theater-mint-soft: #e8f8f2;
    --od-theater-canvas: #f5f8f7;
    --od-theater-border: rgba(15, 64, 67, 0.13);
    --od-theater-shadow: 0 12px 32px rgba(6, 63, 67, 0.08);
}

body:has(.tenant-app-page) .side-rail,
body:has(.dispatch-v2) .side-rail {
    border-right-color: rgba(255,255,255,.09);
    background: linear-gradient(180deg, var(--od-theater-teal) 0%, var(--od-theater-teal-deep) 100%);
    color: #fff;
}

body:has(.tenant-app-page) .side-rail__brand,
body:has(.dispatch-v2) .side-rail__brand { border-color: rgba(255,255,255,.14); }
body:has(.tenant-app-page) .side-rail .shell-eyebrow,
body:has(.tenant-app-page) .side-rail__product,
body:has(.dispatch-v2) .side-rail .shell-eyebrow,
body:has(.dispatch-v2) .side-rail__product { color: #fff; }
body:has(.tenant-app-page) .side-rail__role,
body:has(.tenant-app-page) .side-nav__label,
body:has(.dispatch-v2) .side-rail__role,
body:has(.dispatch-v2) .side-nav__label { color: rgba(224,255,246,.68); }
body:has(.tenant-app-page) .side-rail__workspace-tag,
body:has(.dispatch-v2) .side-rail__workspace-tag { border-color: rgba(144,238,207,.35); background: rgba(38,184,135,.18); color: #c8f7e6; }
body:has(.tenant-app-page) .side-nav__link,
body:has(.dispatch-v2) .side-nav__link { border-color: transparent; color: rgba(245,255,252,.82); background: transparent; }
body:has(.tenant-app-page) .side-nav__link:hover,
body:has(.dispatch-v2) .side-nav__link:hover { background: rgba(255,255,255,.08); color: #fff; }
body:has(.tenant-app-page) .side-nav__link.is-active,
body:has(.dispatch-v2) .side-nav__link.is-active { background: rgba(38,184,135,.25); color: #fff; box-shadow: inset 3px 0 0 #71e0ba; }

body:has(.tenant-app-page), body:has(.dispatch-v2),
body:has(.tenant-app-page) .app-shell, body:has(.dispatch-v2) .app-shell { background: var(--od-theater-canvas); }
.tenant-app-page .button-primary,
.dispatch-v2 .button-primary { border-color: #17986d; background: var(--od-theater-mint); color: #062f2d; box-shadow: 0 8px 18px rgba(38,184,135,.18); }
.tenant-app-page .button-primary:hover,
.dispatch-v2 .button-primary:hover { border-color: #12825d; background: #43c99a; color: #052a29; }
.tenant-app-page .od-v2-card,
.dispatch-v2 .od-v2-card,
.dispatch-v2__lane { border: 1px solid var(--od-theater-border); border-radius: 12px; box-shadow: var(--od-theater-shadow); }
.tenant-app-page .od-v2-status,
.dispatch-v2 .od-v2-status { border-radius: 999px; }

.tenant-app-page--dashboard { display: flex; flex-direction: column; gap: 1rem; }
.tenant-app-page--dashboard .dashboard-v2__hero { order: 1; }
.tenant-app-page--dashboard .dashboard-v2__stats { order: 2; }
.tenant-app-page--dashboard .dashboard-v2__main-grid { order: 3; }
.tenant-app-page--dashboard .dashboard-v2__section--priority { order: 4; }
.tenant-app-page--dashboard .tenant-section--actions { order: 5; }
.tenant-app-page--dashboard .tenant-section--setup { order: 8; }
.tenant-app-page--dashboard .dashboard-v2__section--next-steps { order: 9; }
.tenant-app-page--dashboard > :not(.dashboard-v2__hero):not(.dashboard-v2__stats):not(.dashboard-v2__main-grid):not(.dashboard-v2__section--priority):not(.tenant-section--actions):not(.tenant-section--setup):not(.dashboard-v2__section--next-steps) { order: 7; }
.tenant-app-page--dashboard .dashboard-v2__stats { grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; }
.tenant-app-page--dashboard .od-v2-stat-card { min-height: 96px; padding: .8rem; }
.tenant-app-page--dashboard .dashboard-v2__main-grid { grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr); align-items: start; }
.dashboard-v2__section--field-command { overflow: hidden; }

.product-theater-route { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(230px,.65fr); min-height: 250px; margin: 1rem 0; overflow: hidden; border: 1px solid var(--od-theater-border); border-radius: 12px; background: #eef4f1; }
.product-theater-route__canvas,
.dispatch-map-stage__canvas { position: relative; min-height: 250px; overflow: hidden; background-color: #e7f0ec; background-image: linear-gradient(rgba(6,63,67,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(6,63,67,.055) 1px,transparent 1px),radial-gradient(circle at 25% 28%,#d4e7df 0 9%,transparent 10%),radial-gradient(circle at 74% 70%,#d7e9e2 0 11%,transparent 12%); background-size: 28px 28px,28px 28px,100% 100%,100% 100%; }
.product-theater-route__path,
.dispatch-map-stage__canvas span { position:absolute; inset: 20% 14%; border: 3px solid var(--od-theater-mint); border-top-color: transparent; border-radius: 45% 30% 55% 25%; transform: rotate(-8deg); }
.product-theater-route__canvas i { position:absolute; left:var(--stop-x); top:var(--stop-y); }
.product-theater-route__canvas i,
.dispatch-map-stage__canvas i { display:grid; place-items:center; width:28px; height:28px; margin:-14px; border:3px solid #fff; border-radius:50%; background:var(--od-theater-mint); color:#063f43; box-shadow:0 5px 12px rgba(6,63,67,.2); font:800 .72rem/1 sans-serif; }
.dispatch-map-stage__canvas i:nth-of-type(1){left:18%;top:67%}.dispatch-map-stage__canvas i:nth-of-type(2){left:48%;top:27%}.dispatch-map-stage__canvas i:nth-of-type(3){left:76%;top:57%}
.product-theater-route__summary { display:flex; flex-direction:column; justify-content:center; gap:.65rem; padding:1.25rem; background:rgba(255,255,255,.9); }
.product-theater-route__summary h4,.product-theater-route__summary p{margin:0}.product-theater-route__summary .button{align-self:flex-start}

.dispatch-v2 { display:flex; flex-direction:column; gap:1rem; }
.dispatch-v2__hero{order:1}.dispatch-v2__map{order:2}.dispatch-v2__board{order:3}.dispatch-v2__readiness{order:4}.dispatch-v2__distance-preview{order:5}
.dispatch-v2__hero { border-top: 4px solid var(--od-theater-mint); }
.dispatch-v2__summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dispatch-map-stage { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr); min-height:320px; overflow:hidden; border:1px solid var(--od-theater-border); border-radius:12px; background:#fff; }
.dispatch-map-stage__canvas { min-height:320px; filter:saturate(.8); }
.dispatch-map-stage__message { display:flex; flex-direction:column; justify-content:center; gap:.7rem; padding:1.5rem; }
.dispatch-map-stage__message h4,.dispatch-map-stage__message p{margin:0}.dispatch-map-stage__message h4{font-size:1.15rem;color:#063f43}
.dispatch-v2__map-canvas { min-height: 420px; border-radius: 10px; }
.dispatch-v2__board { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.dispatch-v2__lane--active { border-top:4px solid var(--od-theater-mint); }
.dispatch-v2__lane-header { padding-bottom:1rem; border-bottom:1px solid var(--od-theater-border); }
.dispatch-v2__lane-title strong { color:var(--od-theater-teal); font-size:1.08rem; }

@media (max-width: 1100px) {
  .tenant-app-page--dashboard .dashboard-v2__stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tenant-app-page--dashboard .dashboard-v2__main-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .tenant-app-page--dashboard .dashboard-v2__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-theater-route,.dispatch-map-stage { grid-template-columns:1fr; }
  .product-theater-route__canvas { min-height:190px; }
  .dispatch-map-stage__canvas { min-height:230px; }
  .dispatch-v2__summary { grid-template-columns:1fr; }
  .dispatch-v2__board { grid-template-columns:1fr; }
}
/* End PRODUCT-THEATER-001 */

/* WEBSITE-BUILDER-POLISH-001 staged builder */
.website-builder-polish {
    scroll-behavior: smooth;
}

.website-builder-stage-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 1.15rem 0;
}

.website-builder-stage-nav a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.72rem;
    border: 1px solid var(--color-border, #dbe5f0);
    border-radius: 8px;
    background: #fff;
    color: var(--color-text-strong);
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
}

.website-builder-stage-nav a:hover {
    border-color: var(--color-primary, #2563eb);
    color: var(--color-primary, #1d4ed8);
}

.website-builder-stage-nav span,
.website-builder-stage-heading > span {
    display: grid;
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border-radius: 50%;
    background: var(--color-primary, #0b3b67);
    color: #fff;
    font-size: 0.75rem;
}

.website-builder-status-rail {
    position: sticky;
    z-index: 8;
    top: 0.7rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 0.8fr)) minmax(190px, 1.25fr) auto;
    gap: 0.7rem;
    align-items: center;
    margin: 0 0 1.2rem;
    padding: 0.8rem;
    border: 1px solid rgba(186, 202, 220, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 28px rgba(31, 51, 73, 0.12);
    backdrop-filter: blur(12px);
}

.website-builder-status-rail div {
    min-width: 0;
}

.website-builder-status-rail span {
    display: block;
    color: var(--color-text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.website-builder-status-rail strong {
    display: block;
    overflow: hidden;
    margin-top: 0.15rem;
    color: var(--color-text-strong);
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-builder-status-rail__blocker strong {
    color: #92400e;
}

.website-builder-details {
    margin: 1rem 0 1.5rem;
    border: 1px solid var(--color-border, #dbe5f0);
    border-radius: 9px;
    background: rgba(247, 250, 252, 0.8);
}

.website-builder-details > summary,
.public-site-form-optional > summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    cursor: pointer;
    color: var(--color-text-strong);
    font-weight: 800;
}

.website-builder-details > summary span,
.public-site-form-optional > summary span {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.website-builder-details .website-admin-guide,
.website-builder-details--internal > :not(summary) {
    margin: 0.8rem;
}

.website-builder-stage-heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 2rem 0 0.9rem;
    padding-top: 0.25rem;
    scroll-margin-top: 7rem;
}

.website-builder-stage-heading p,
.website-builder-stage-heading h3 {
    margin: 0;
}

.website-builder-stage-heading p {
    color: var(--color-primary, #1d4ed8);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.website-builder-stage-heading h3 {
    margin-top: 0.12rem;
    font-size: 1.05rem;
}

.website-builder-stage-heading--compact {
    margin-top: 1.5rem;
}

.public-site-form-optional {
    grid-column: 1 / -1;
    border: 1px solid rgba(176, 154, 124, 0.42);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.58);
}

.public-site-form-optional[open] {
    padding-bottom: 1rem;
}

.public-site-form-optional > :not(summary) {
    margin-right: 1rem;
    margin-left: 1rem;
}

.public-site-premium-hero__media:empty {
    position: relative;
    overflow: hidden;
    min-height: clamp(360px, 54vw, 720px);
    background:
        radial-gradient(circle at 68% 30%, rgba(255, 255, 255, 0.72) 0 8%, transparent 8.5%),
        radial-gradient(circle at 78% 40%, rgba(255, 255, 255, 0.54) 0 5%, transparent 5.5%),
        linear-gradient(145deg, #dfe8e3 0%, #c9d8cf 42%, #9fb8aa 100%);
}

.public-site-premium-hero__media:empty::before {
    position: absolute;
    right: 8%;
    bottom: 9%;
    left: 8%;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 16px 40px rgba(24, 53, 45, 0.16);
    color: #173b32;
    content: "Private grooming, right at your door";
    font-size: clamp(1rem, 2vw, 1.35rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-align: center;
    backdrop-filter: blur(10px);
}

@media (max-width: 900px) {
    .website-builder-stage-nav {
        display: flex;
        overflow-x: auto;
        padding-bottom: 0.3rem;
        scroll-snap-type: x proximity;
    }

    .website-builder-stage-nav a {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .website-builder-status-rail {
        position: relative;
        top: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-builder-status-rail .button,
    .website-builder-status-rail__blocker {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .website-builder-polish.panel {
        padding: 0.7rem !important;
    }

    .website-builder-status-rail {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-builder-status-rail .button,
    .website-builder-status-rail__blocker {
        grid-column: auto;
        width: 100%;
        justify-content: center;
    }

    .website-builder-details > summary,
    .public-site-form-optional > summary {
        flex-direction: column;
        gap: 0.25rem;
    }
}
/* End WEBSITE-BUILDER-POLISH-001 */

/* UI2-10C low-density form width refinement */
.utility-workspace--staff .ui2-adminops-row--form .form-grid,
.utility-workspace--qa-users .ui2-adminops-row--form .form-grid,
.top-level-v2--integrations .ui2-sensitive-provider-card .utility-form-grid,
.top-level-v2--reactivation .ui2-adminops-filters,
.top-level-v2--fleet .ui2-adminops-form-card .form-grid {
    max-width: 900px;
}

.top-level-v2--integrations .ui2-sensitive-provider-card form,
.utility-workspace--staff .ui2-adminops-row--form > form,
.utility-workspace--qa-users .ui2-adminops-row--form > form {
    align-content: start;
}
/* End UI2-10C low-density form width refinement */

/* INVOICE-001 print-ready invoice view */
.invoice-print-page {
    width: min(100%, 980px);
    margin: 0 auto;
    color: #0f172a;
}

.invoice-print-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.invoice-print-sheet {
    padding: 2rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.invoice-print-header,
.invoice-print-grid,
.invoice-print-summary {
    display: grid;
    gap: 1rem;
}

.invoice-print-header {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.42fr);
    align-items: start;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.invoice-print-eyebrow {
    margin: 0 0 0.35rem;
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.invoice-print-header h1,
.invoice-print-line-items h2,
.invoice-print-block h2,
.invoice-print-notes h2 {
    margin: 0;
    letter-spacing: 0;
}

.invoice-print-header h1 {
    font-size: 2rem;
    line-height: 1.1;
}

.invoice-print-muted,
.invoice-print-block p,
.invoice-print-business span {
    color: #475569;
}

.invoice-print-muted {
    margin: 0.5rem 0 0;
}

.invoice-print-business {
    display: grid;
    gap: 0.25rem;
    text-align: right;
}

.invoice-print-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1.25rem 0;
}

.invoice-print-summary > div,
.invoice-print-block,
.invoice-print-notes {
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 6px;
    background: #f8fafc;
}

.invoice-print-summary span {
    display: block;
    margin-bottom: 0.25rem;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 750;
    text-transform: uppercase;
}

.invoice-print-summary strong {
    font-size: 1.05rem;
}

.invoice-print-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1.35rem;
}

.invoice-print-block h2,
.invoice-print-line-items h2,
.invoice-print-notes h2 {
    margin-bottom: 0.65rem;
    font-size: 0.95rem;
    text-transform: uppercase;
}

.invoice-print-block p,
.invoice-print-notes p {
    margin: 0.2rem 0;
}

.invoice-print-line-items table {
    width: 100%;
    border-collapse: collapse;
}

.invoice-print-line-items th,
.invoice-print-line-items td {
    padding: 0.78rem 0.5rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    text-align: left;
}

.invoice-print-line-items th:nth-child(n+2),
.invoice-print-line-items td:nth-child(n+2) {
    text-align: right;
}

.invoice-print-line-items tfoot th {
    border-bottom: 0;
    font-size: 1.05rem;
}

.invoice-print-notes {
    margin-top: 1.25rem;
}

@media (max-width: 720px) {
    .invoice-print-sheet {
        padding: 1.2rem;
    }

    .invoice-print-header,
    .invoice-print-grid,
    .invoice-print-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .invoice-print-business {
        text-align: left;
    }

    .invoice-print-line-items--receipt table,
    .invoice-print-line-items--receipt thead,
    .invoice-print-line-items--receipt tbody,
    .invoice-print-line-items--receipt tr,
    .invoice-print-line-items--receipt td {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .invoice-print-line-items--receipt table {
        border-collapse: separate;
        border-spacing: 0;
    }

    .invoice-print-line-items--receipt thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .invoice-print-line-items--receipt tr {
        padding: 0.85rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 6px;
        background: #f8fafc;
    }

    .invoice-print-line-items--receipt td {
        display: grid;
        grid-template-columns: minmax(0, 7.5rem) minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.45rem 0;
        border-bottom: 0;
        text-align: left !important;
        overflow-wrap: anywhere;
    }

    .invoice-print-line-items--receipt td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
}

@media print {
    body {
        background: #ffffff !important;
    }

    .side-rail,
    .site-header,
    .top-nav,
    .mobile-menu-toggle,
    .mobile-topbar,
    .invoice-print-actions {
        display: none !important;
    }

    .app-main,
    .app-shell--authenticated .app-main,
    .content-shell {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .invoice-print-page {
        width: 100%;
        margin: 0;
    }

    .invoice-print-sheet {
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
}
/* End INVOICE-001 print-ready invoice view */

/* UI2-ROLE-FIX customer portal and permission state polish */
.portal-v2.panel,
.permission-v2.panel {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    padding: 1rem !important;
    border: 1px solid rgba(219, 229, 240, 0.95) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.portal-v2 .page-header,
.permission-v2 .page-header {
    margin: 0 0 0.95rem !important;
    padding: 0 0 0.78rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
}

.portal-v2 .page-header__title,
.permission-v2 .page-header__title {
    color: #0b1220;
    font-size: clamp(1.3rem, 1.65vw, 1.75rem) !important;
    font-weight: 880;
    letter-spacing: -0.035em;
}

.portal-v2 .page-header__meta,
.permission-v2 .page-header__meta {
    max-width: 68ch;
    color: #64748b;
    font-size: 0.92rem !important;
    line-height: 1.45;
}

.portal-v2__section-title {
    margin: 1rem 0 0.62rem;
    color: #0f172a;
    font-size: 0.98rem;
    font-weight: 880;
    letter-spacing: -0.02em;
}

.portal-v2__section-title--billing,
.portal-v2__amount {
    color: #7c2d12;
}

.portal-v2 .dashboard-list {
    gap: 0.58rem;
}

.portal-v2 .dashboard-list__item,
.portal-v2__empty-line,
.portal-v2__empty-state .empty-state__meta,
.permission-v2__body {
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-left-width: 1px !important;
    border-radius: 5px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

.portal-v2__empty-line,
.portal-v2__empty-state .empty-state__meta {
    padding: 1rem !important;
    text-align: center;
}

.portal-v2__empty-state {
    padding: 0 !important;
    text-align: center;
}

.portal-v2__appointment-row {
    flex-direction: column;
    align-items: flex-start;
}

.portal-v2__appointment-head,
.portal-v2__history-row,
.portal-v2__invoice-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
}

.portal-v2__appointment-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.portal-v2__danger-action {
    min-height: 2rem !important;
    padding: 0.28rem 0.58rem !important;
    border-color: rgba(185, 28, 28, 0.24) !important;
    color: #991b1b !important;
    font-size: 0.76rem !important;
}

.portal-v2__invoice-row {
    background: #fff7ed !important;
    border-color: rgba(217, 119, 6, 0.24) !important;
}

.portal-v2__amount-cell {
    text-align: right;
}

.portal-v2 .badge,
.permission-v2 .button,
.portal-v2 .button {
    border-radius: 5px !important;
}

.portal-v2 .alert::before,
.permission-v2 .alert::before,
.portal-v2 .flash::before,
.permission-v2 .flash::before {
    display: none !important;
}

.permission-v2 {
    max-width: 860px;
}

.permission-v2__body {
    padding: 1rem !important;
}

.permission-v2__title {
    margin: 0 0 0.35rem;
    color: #0f172a;
    font-weight: 850;
}

.permission-v2__meta {
    margin: 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .portal-v2.panel,
    .permission-v2.panel {
        padding: 0.82rem !important;
    }

    .portal-v2__appointment-head,
    .portal-v2__history-row,
    .portal-v2__invoice-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-v2__amount-cell {
        text-align: left;
    }
}
/* End UI2-ROLE-FIX customer portal and permission state polish */

/* UI2-ROLE-FIX predeploy portal fallback selectors */
.app-shell--authenticated .form-section > .page-header {
    border-left: 0 !important;
}

.app-shell--authenticated .form-section .dashboard-list__item {
    border-left-width: 1px !important;
    border-left-style: solid !important;
    border-left-color: rgba(226, 232, 240, 0.95) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}
/* End UI2-ROLE-FIX predeploy portal fallback selectors */

/* DESIGN-SYSTEM-006 customer portal visual polish */
.customer-portal-shell {
    --portal-ink: #17241d;
    --portal-muted: #66736b;
    --portal-green: #315f47;
    --portal-green-dark: #244a36;
    --portal-sage: #e7efe9;
    --portal-cream: #f6f3ec;
    --portal-line: #dfe6df;
    background: #f4f6f3;
}

.customer-portal-shell .side-rail__brand-mark,
.customer-portal-shell .mobile-topbar__mark {
    background: var(--portal-green);
}

.customer-portal-shell .side-rail__brand-copy strong {
    color: var(--portal-ink);
}

.customer-portal-shell .side-rail__role,
.customer-portal-shell .mobile-topbar__label {
    color: var(--portal-green);
}

.customer-portal-shell .app-main {
    background:
        radial-gradient(circle at top right, rgba(219, 232, 222, 0.64), transparent 24rem),
        #f4f6f3;
}

.customer-portal-shell .content-shell {
    max-width: 1220px;
}

.portal-home {
    width: 100%;
    color: var(--portal-ink, #17241d);
}

.portal-home__hero {
    overflow: hidden;
    padding: clamp(1.25rem, 3vw, 2.4rem);
    border: 1px solid rgba(38, 77, 55, 0.32);
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 10%, rgba(255, 255, 255, 0.14), transparent 14rem),
        linear-gradient(135deg, #244a36, #37694f);
    color: #fff;
    box-shadow: 0 18px 42px rgba(31, 64, 45, 0.16);
}

.portal-home__identity,
.portal-setup__brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.portal-home__shop-mark,
.portal-setup__mark {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.portal-home__shop-name,
.portal-home__powered-by {
    margin: 0;
}

.portal-home__shop-name {
    font-weight: 800;
}

.portal-home__powered-by {
    margin-top: 0.08rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.76rem;
}

.portal-home__hero-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    margin-top: clamp(2.4rem, 6vw, 4.4rem);
}

.portal-home__eyebrow,
.portal-section__eyebrow {
    margin: 0 0 0.4rem;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.portal-home__eyebrow {
    color: #cce0d2;
}

.portal-home__hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 820;
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.portal-home__hero-grid > div > p:last-child {
    max-width: 650px;
    margin: 0.9rem 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(0.95rem, 1.7vw, 1.08rem);
    line-height: 1.6;
}

.portal-home__logout {
    flex: 0 0 auto;
    border-color: rgba(255, 255, 255, 0.38) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

.portal-home__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: -1px;
    padding: 1rem 1.2rem 0;
}

.portal-summary-card {
    display: grid;
    min-width: 0;
    padding: 1.15rem;
    border: 1px solid var(--portal-line, #dfe6df);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(35, 57, 43, 0.06);
}

.portal-summary-card--visit {
    border-color: #c6d8cb;
    background: #f1f7f2;
}

.portal-summary-card__label {
    color: var(--portal-muted, #66736b);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.portal-summary-card strong {
    margin-top: 0.42rem;
    color: var(--portal-ink, #17241d);
    font-size: 1.2rem;
}

.portal-summary-card > span:last-child {
    margin-top: 0.2rem;
    color: var(--portal-muted, #66736b);
    font-size: 0.8rem;
}

.portal-home__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(260px, 0.72fr);
    gap: 1rem;
    margin-top: 1rem;
}

.portal-home__main,
.portal-home__sidebar {
    display: grid;
    align-content: start;
    gap: 1rem;
    min-width: 0;
}

.portal-section,
.portal-help-card {
    padding: clamp(1rem, 2.2vw, 1.5rem);
    border: 1px solid var(--portal-line, #dfe6df);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(35, 57, 43, 0.045);
}

.portal-section__heading,
.portal-card__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.portal-section__heading {
    margin-bottom: 1rem;
}

.portal-section__eyebrow {
    color: var(--portal-green, #315f47);
}

.portal-section h2,
.portal-help-card h2 {
    margin: 0;
    color: var(--portal-ink, #17241d);
    font-size: 1.15rem;
    letter-spacing: -0.025em;
}

.portal-section__count {
    display: grid;
    min-width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border-radius: 999px;
    background: var(--portal-sage, #e7efe9);
    color: var(--portal-green-dark, #244a36);
    font-size: 0.78rem;
    font-weight: 850;
}

.portal-card-list {
    display: grid;
    gap: 0.75rem;
}

.portal-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #e1e7e1;
    border-radius: 12px;
    background: #fbfcfa;
}

.portal-appointment-card {
    display: grid;
    grid-template-columns: 3.65rem minmax(0, 1fr);
    gap: 1rem;
}

.portal-appointment-card__date {
    display: flex;
    height: 4.25rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--portal-green, #315f47);
    color: #fff;
}

.portal-appointment-card__date span {
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.portal-appointment-card__date strong {
    margin-top: 0.08rem;
    font-size: 1.55rem;
    line-height: 1;
}

.portal-card__heading h3,
.portal-empty-state h3,
.portal-setup__invalid h2 {
    margin: 0;
    color: var(--portal-ink, #17241d);
    font-size: 0.98rem;
}

.portal-card__heading p,
.portal-card__detail,
.portal-card__actions p,
.portal-empty-state p,
.portal-help-card p,
.portal-setup__invalid p {
    color: var(--portal-muted, #66736b);
    font-size: 0.84rem;
    line-height: 1.5;
}

.portal-card__heading p {
    margin: 0.22rem 0 0;
}

.portal-card__detail {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.7rem 0 0;
}

.portal-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 1.65rem;
    padding: 0.22rem 0.58rem;
    border: 1px solid #cdd9d0;
    border-radius: 999px;
    background: #eef4ef;
    color: #315f47;
    font-size: 0.69rem;
    font-weight: 850;
    line-height: 1.1;
}

.portal-status--cancelled,
.portal-status--no-show {
    border-color: #ead4d0;
    background: #fbefed;
    color: #934a3e;
}

.portal-status--invoice {
    border-color: #dfd3b4;
    background: #faf4e7;
    color: #765d21;
}

.portal-card__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 0.9rem;
    padding-top: 0.8rem;
    border-top: 1px solid #e4e9e4;
}

.portal-card__actions p {
    margin: 0;
}

.portal-home__cancel {
    min-height: 2.25rem !important;
    white-space: nowrap;
    color: #7a3d35 !important;
}

.portal-empty-state {
    display: grid;
    justify-items: center;
    padding: 1.8rem 1rem;
    border: 1px dashed #ced9d0;
    border-radius: 12px;
    background: #fafcf9;
    text-align: center;
}

.portal-empty-state__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.7rem;
    place-items: center;
    border-radius: 50%;
    background: var(--portal-sage, #e7efe9);
    color: var(--portal-green, #315f47);
    font-size: 1rem;
    font-weight: 900;
}

.portal-empty-state p {
    max-width: 48ch;
    margin: 0.35rem 0 0;
}

.portal-empty-state--compact {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem;
    text-align: left;
}

.portal-empty-state--compact .portal-empty-state__icon {
    margin: 0;
}

.portal-empty-state--small {
    padding: 1.2rem 0.8rem;
}

.portal-invoice-card__items {
    display: grid;
    gap: 0.45rem;
    margin: 0.9rem 0 0;
    padding: 0.8rem 0;
    border-top: 1px solid #e4e9e4;
    border-bottom: 1px solid #e4e9e4;
    list-style: none;
}

.portal-invoice-card__items li,
.portal-invoice-card__total > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: var(--portal-muted, #66736b);
    font-size: 0.82rem;
}

.portal-invoice-card__items strong,
.portal-invoice-card__total strong {
    color: var(--portal-ink, #17241d);
}

.portal-invoice-card__total {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.8rem;
}

.portal-invoice-card__balance {
    padding-top: 0.55rem;
    border-top: 1px solid #e4e9e4;
    font-size: 0.9rem !important;
}

.portal-history-list,
.portal-pet-list {
    display: grid;
    gap: 0.55rem;
}

.portal-history-row,
.portal-pet-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem;
    border-radius: 10px;
    background: #f7f9f6;
}

.portal-history-row > div,
.portal-pet-card > div {
    display: grid;
    gap: 0.2rem;
}

.portal-history-row strong,
.portal-pet-card strong {
    color: var(--portal-ink, #17241d);
    font-size: 0.86rem;
}

.portal-history-row span,
.portal-pet-card span {
    color: var(--portal-muted, #66736b);
    font-size: 0.78rem;
}

.portal-pet-card {
    justify-content: flex-start;
}

.portal-pet-card__avatar {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--portal-sage, #e7efe9);
    color: var(--portal-green, #315f47) !important;
    font-weight: 900;
}

.portal-help-card {
    border-color: #dddbc9;
    background: var(--portal-cream, #f6f3ec);
}

.portal-help-card p {
    margin: 0.6rem 0 0;
}

.portal-help-card__note {
    padding-top: 0.7rem;
    border-top: 1px solid rgba(112, 108, 83, 0.18);
    font-size: 0.75rem !important;
}

.portal-setup {
    width: min(100%, 620px);
    max-width: 100%;
    min-width: 0;
    margin: clamp(1rem, 5vw, 4rem) auto;
    color: #17241d;
}

.portal-setup,
.portal-setup * {
    box-sizing: border-box;
}

.portal-setup__brand {
    justify-content: center;
    margin-bottom: 1rem;
}

.portal-setup__mark {
    border-color: #315f47;
    background: #315f47;
}

.portal-setup__brand > div {
    display: grid;
    min-width: 0;
}

.portal-setup__brand strong {
    color: #17241d;
    font-size: 0.92rem;
}

.portal-setup__brand span:not(.portal-setup__mark) {
    color: #66736b;
    font-size: 0.72rem;
}

.portal-setup__card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: clamp(1.25rem, 4vw, 2.3rem);
    border: 1px solid #dfe6df;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(35, 57, 43, 0.1);
}

.portal-setup__intro {
    text-align: center;
}

.portal-setup__intro h1 {
    margin: 0;
    color: #17241d;
    font-size: clamp(1.65rem, 5vw, 2.25rem);
    letter-spacing: -0.04em;
    overflow-wrap: anywhere;
}

.portal-setup__intro > p:last-child {
    max-width: 48ch;
    margin: 0.75rem auto 0;
    color: #66736b;
    font-size: 0.92rem;
    line-height: 1.6;
}

.portal-setup__alert {
    max-width: 100%;
    margin-top: 1.2rem;
    overflow-wrap: anywhere;
}

.portal-setup__invalid,
.portal-setup__customer {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 1.2rem;
    padding: 1rem;
    border: 1px solid #e4ddd2;
    border-radius: 12px;
    background: #faf7f1;
}

.portal-setup__invalid > div,
.portal-setup__customer > div {
    min-width: 0;
}

.portal-setup__invalid h2,
.portal-setup__invalid p {
    overflow-wrap: anywhere;
}

.portal-setup__invalid-icon,
.portal-setup__customer > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #efe5d7;
    color: #765d39;
    font-weight: 900;
}

.portal-setup__invalid p {
    margin: 0.25rem 0 0;
}

.portal-setup__customer {
    border-color: #dbe6dd;
    background: #f4f8f4;
}

.portal-setup__customer > span {
    background: #dce9df;
    color: #315f47;
}

.portal-setup__customer > div {
    display: grid;
    gap: 0.1rem;
}

.portal-setup__customer small,
.portal-setup__form small {
    color: #66736b;
}

.portal-setup__form {
    display: grid;
    gap: 1rem;
    margin-top: 1.2rem;
}

.portal-setup__form .form-label {
    display: grid;
    gap: 0.45rem;
}

.portal-setup__form .form-control {
    min-height: 3rem;
    border-color: #cfdacf;
    border-radius: 10px;
}

.portal-setup__form .form-control:focus {
    border-color: #315f47;
    box-shadow: 0 0 0 3px rgba(49, 95, 71, 0.14);
}

.portal-setup__button {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    min-height: 3rem !important;
    margin-top: 1rem;
    border-radius: 10px !important;
}

.portal-setup__form .portal-setup__button {
    margin-top: 0.15rem;
    background: #315f47 !important;
}

.portal-setup__footer {
    margin: 1.25rem 0 0;
    color: #7b867f;
    font-size: 0.72rem;
    text-align: center;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .portal-home__layout {
        grid-template-columns: 1fr;
    }

    .portal-home__sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .customer-portal-shell .content-shell {
        padding-inline: 0.7rem !important;
    }

    .portal-home__hero {
        border-radius: 14px;
    }

    .portal-home__hero-grid {
        align-items: stretch;
        flex-direction: column;
        gap: 1.2rem;
        margin-top: 2.3rem;
    }

    .portal-home__logout {
        width: 100%;
    }

    .portal-home__summary {
        grid-template-columns: 1fr;
        padding-inline: 0;
    }

    .portal-home__sidebar {
        grid-template-columns: 1fr;
    }

    .portal-section,
    .portal-help-card {
        border-radius: 12px;
    }

    .portal-appointment-card {
        grid-template-columns: 3rem minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.8rem;
    }

    .portal-appointment-card__date {
        height: 3.55rem;
    }

    .portal-appointment-card__date strong {
        font-size: 1.25rem;
    }

    .portal-card__heading,
    .portal-card__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-card__actions form,
    .portal-home__cancel {
        width: 100%;
    }

    .portal-invoice-card__items li {
        align-items: flex-start;
    }

    .portal-history-row {
        align-items: flex-start;
    }

    .portal-setup {
        width: 100%;
        margin-block: 0.75rem;
    }

    .portal-setup__card {
        padding: 1.15rem;
        border-radius: 14px;
    }

    .portal-setup__invalid,
    .portal-setup__customer {
        align-items: flex-start;
        padding: 0.9rem;
    }
}
/* End DESIGN-SYSTEM-006 customer portal visual polish */

/* LAUNCH-POLISH-007: customer-first portal hierarchy, status, money, and recovery clarity. */
.portal-home { display:grid; gap:1rem; }
.portal-attention { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border:1px solid #d8d3b8; border-radius:14px; background:#fffaf0; }
.portal-attention h2 { margin:0; color:var(--portal-ink,#17241d); font-size:1.05rem; }
.portal-attention p:not(.portal-section__eyebrow) { margin:.3rem 0 0; color:var(--portal-muted,#66736b); font-size:.84rem; line-height:1.45; }
.portal-attention .button { flex:0 0 auto; min-height:44px; }
.portal-status--request { border-color:#dfd3b4; background:#faf4e7; color:#765d21; }
.portal-status--confirmed { border-color:#bfd8c7; background:#edf6ef; color:#285d3d; }
.portal-appointment-card__state-help { margin:.65rem 0 0; color:var(--portal-green-dark,#244a36); font-size:.8rem; font-weight:750; line-height:1.4; }
.portal-payment-history { display:grid; gap:.45rem; margin-top:.85rem; padding-top:.8rem; border-top:1px solid #e4e9e4; }
.portal-payment-history h4 { margin:0; color:var(--portal-ink,#17241d); font-size:.84rem; }
.portal-payment-history > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.2rem .8rem; padding:.65rem; border-radius:9px; background:#f5f8f4; font-size:.8rem; }
.portal-payment-history small { grid-column:1/-1; color:var(--portal-muted,#66736b); }
.portal-profile__details { display:grid; gap:.65rem; margin:0; }
.portal-profile__details > div { display:grid; gap:.12rem; padding-bottom:.55rem; border-bottom:1px solid #e4e9e4; }
.portal-profile__details dt { color:var(--portal-muted,#66736b); font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.portal-profile__details dd { margin:0; color:var(--portal-ink,#17241d); font-size:.84rem; font-weight:700; overflow-wrap:anywhere; }
.portal-help-card__actions { display:grid; gap:.55rem; margin-top:1rem; }
.portal-help-card__actions .button { width:100%; min-height:44px; }
.portal-setup__recovery-actions { display:grid; gap:.55rem; margin-top:1rem; }
.portal-setup__recovery-actions .portal-setup__button { margin-top:0; }
.portal-home :is(a,button,input,select,textarea):focus-visible,
.portal-setup :is(a,button,input):focus-visible { outline:3px solid #d4a72c; outline-offset:2px; }
@media(max-width:640px) {
  .portal-attention { display:grid; }
  .portal-attention .button { width:100%; }
  .portal-invoice-card__total > div,
  .portal-invoice-card__balance { align-items:flex-start; }
  .portal-payment-history > div { grid-template-columns:minmax(0,1fr) auto; }
  .portal-home__cancel { min-height:44px!important; }
}
@media(max-width:430px) {
  .portal-home__hero,
  .portal-section,
  .portal-help-card,
  .portal-attention { padding:1rem; }
  .portal-card__heading .portal-status { max-width:100%; white-space:normal; }
  .portal-invoice-card__items li,
  .portal-invoice-card__total > div,
  .portal-invoice-card__balance { display:grid; grid-template-columns:minmax(0,1fr) auto; }
}

/* AIO-2R onboarding cognitive-load reduction */
.onboarding-simplified,
.onboarding-simplified__layout,
.onboarding-simplified__sidebar,
.onboarding-focus-card__exchange,
.onboarding-answer-card,
.onboarding-answer-card__form,
.onboarding-answer-card__quick-actions,
.onboarding-roadmap,
.onboarding-roadmap__grid,
.onboarding-go-live,
.onboarding-go-live__list,
.onboarding-launch-readiness,
.onboarding-launch-readiness__grid,
.onboarding-launch-final,
.onboarding-launch-item,
.onboarding-launch-item__actions,
.onboarding-prepared-list,
.onboarding-draft-card__payload,
.onboarding-draft-card__actions,
.onboarding-roadmap-card,
.onboarding-roadmap-card__actions,
.onboarding-go-live-item__body,
.onboarding-go-live-item__actions,
.onboarding-chip-group__chips,
.onboarding-suggestion-card__list,
.onboarding-collapsible__body--messages {
    display: grid;
    gap: 1rem;
}

.onboarding-simplified {
    gap: 1.1rem;
}

.onboarding-simplified__layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.9fr);
    align-items: start;
}

.onboarding-simplified__hero,
.onboarding-roadmap,
.onboarding-go-live,
.onboarding-launch-readiness,
.onboarding-focus-card,
.onboarding-suggestion-card,
.onboarding-service-helper,
.onboarding-collapsible--panel,
.onboarding-answer-card,
.onboarding-roadmap-card,
.onboarding-draft-card,
.onboarding-message,
.onboarding-quick-action,
.onboarding-chip-group {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 5px;
    background: #ffffff;
}

.onboarding-simplified__hero {
    padding: 1.15rem;
    border-color: rgba(29, 78, 216, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.onboarding-simplified__hero .page-header {
    margin-bottom: 0;
}

.onboarding-simplified__hero-note {
    margin: 0.35rem 0 0;
    color: #1d4ed8;
    font-size: 0.95rem;
    font-weight: 800;
}

.onboarding-focus-card,
.onboarding-roadmap,
.onboarding-go-live,
.onboarding-launch-readiness,
.onboarding-suggestion-card,
.onboarding-service-helper,
.onboarding-collapsible--panel {
    padding: 1rem;
}

.onboarding-focus-card {
    gap: 1rem;
    border-color: rgba(29, 78, 216, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.onboarding-focus-card__header,
.onboarding-roadmap__header,
.onboarding-go-live__header,
.onboarding-suggestion-card__header,
.onboarding-draft-card__top,
.onboarding-message__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
}

.onboarding-roadmap {
    border-color: rgba(15, 23, 42, 0.12);
    background: #ffffff;
}

.onboarding-roadmap--dashboard {
    scroll-margin-top: 5rem;
}

.onboarding-roadmap__grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.85rem;
}

.onboarding-roadmap__grid--status {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.onboarding-next-action {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 5px;
    background: #eff6ff;
}

.onboarding-next-action strong,
.onboarding-next-action p {
    display: block;
    margin: 0;
}

.onboarding-next-action p {
    margin-top: 0.25rem;
    color: #475569;
}

.onboarding-next-action__eyebrow {
    display: block;
    margin-bottom: 0.25rem;
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-roadmap-card {
    align-content: start;
    gap: 0.55rem;
    min-height: 18rem;
    padding: 0.95rem;
    background: #fbfdff;
}

.onboarding-roadmap-card--ready {
    border-color: rgba(22, 163, 74, 0.22);
    background: #f7fdf9;
}

.onboarding-roadmap-card--progress {
    border-color: rgba(37, 99, 235, 0.2);
    background: #f8fbff;
}

.onboarding-roadmap-card--needs {
    border-color: rgba(249, 115, 22, 0.24);
    background: #fffaf5;
}

.onboarding-roadmap-card--empty {
    border-color: rgba(148, 163, 184, 0.28);
    background: #fbfdff;
}

.onboarding-roadmap-card__top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
}

.onboarding-roadmap-card__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: #0f172a;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 850;
}

.onboarding-roadmap-card__status {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-roadmap-card h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
}

.onboarding-roadmap-card p {
    margin: 0;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.45;
}

.onboarding-roadmap-card__metric {
    color: #0f172a !important;
    font-size: 0.82rem !important;
    font-weight: 800;
}

.onboarding-roadmap-card__helper {
    display: grid;
    gap: 0.2rem;
    padding: 0.7rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.72);
}

.onboarding-roadmap-card__helper strong {
    color: #0f172a;
    font-size: 0.78rem;
}

.onboarding-roadmap-card__helper span {
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.4;
}

.onboarding-roadmap-card__actions {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin-top: auto;
}

.onboarding-roadmap-card__actions .button {
    width: 100%;
}

.onboarding-later-steps {
    margin-top: 1rem;
    border-top: 1px solid rgba(219, 229, 240, 0.95);
    padding-top: 0.9rem;
}

.onboarding-later-steps > summary {
    cursor: pointer;
    color: #334155;
    font-weight: 750;
}

.onboarding-later-steps > .onboarding-roadmap__grid {
    margin-top: 0.85rem;
}

.onboarding-go-live {
    border-color: rgba(15, 23, 42, 0.12);
    background: #ffffff;
}

.onboarding-launch-readiness {
    scroll-margin-top: 5rem;
    border-color: rgba(37, 99, 235, 0.16);
    background: #ffffff;
}

.onboarding-launch-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.onboarding-launch-summary > div,
.onboarding-launch-final > section {
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.onboarding-launch-summary span {
    display: block;
    margin-bottom: 0.25rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-launch-summary strong {
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1;
}

.onboarding-next-action--launch {
    background: #f8fbff;
}

.onboarding-launch-readiness__grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.85rem;
}

.onboarding-launch-item {
    align-content: start;
    gap: 0.6rem;
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #fbfdff;
}

.onboarding-launch-item--ready {
    border-color: rgba(22, 163, 74, 0.22);
    background: #f7fdf9;
}

.onboarding-launch-item--review {
    border-color: rgba(37, 99, 235, 0.2);
    background: #f8fbff;
}

.onboarding-launch-item--missing {
    border-color: rgba(249, 115, 22, 0.24);
    background: #fffaf5;
}

.onboarding-launch-item--blocked {
    border-color: rgba(220, 38, 38, 0.24);
    background: #fff7f7;
}

.onboarding-launch-item--optional {
    border-color: rgba(148, 163, 184, 0.28);
    background: #fbfdff;
}

.onboarding-launch-item__top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
}

.onboarding-launch-item h4,
.onboarding-launch-final h4,
.onboarding-launch-item p,
.onboarding-launch-final p {
    margin: 0;
}

.onboarding-launch-item h4,
.onboarding-launch-final h4 {
    color: #0f172a;
    font-size: 0.98rem;
}

.onboarding-launch-item__top span {
    flex: 0 0 auto;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-launch-item p,
.onboarding-launch-final p,
.onboarding-launch-item__details {
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.45;
}

.onboarding-launch-item__details {
    margin: 0;
    padding-left: 1.1rem;
}

.onboarding-launch-item__details li + li {
    margin-top: 0.28rem;
}

.onboarding-launch-item__actions {
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin-top: auto;
}

.onboarding-launch-item__actions .button {
    width: 100%;
}

.onboarding-launch-final {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.onboarding-go-live__list {
    gap: 0.7rem;
}

.onboarding-go-live-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) max-content;
    gap: 0.75rem;
    align-items: center;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #fbfdff;
}

.onboarding-go-live-item__status {
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    background: #cbd5e1;
}

.onboarding-go-live-item--done .onboarding-go-live-item__status {
    background: #16a34a;
}

.onboarding-go-live-item--needs .onboarding-go-live-item__status {
    background: #f97316;
}

.onboarding-go-live-item--optional .onboarding-go-live-item__status {
    background: #64748b;
}

.onboarding-go-live-item--review .onboarding-go-live-item__status {
    background: #2563eb;
}

.onboarding-go-live-item__top {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
}

.onboarding-go-live-item h4,
.onboarding-go-live-item p {
    margin: 0;
}

.onboarding-go-live-item h4 {
    color: #0f172a;
    font-size: 0.98rem;
}

.onboarding-go-live-item p,
.onboarding-go-live-item small {
    color: #64748b;
}

.onboarding-go-live-item small {
    font-size: 0.78rem;
    font-weight: 700;
}

.onboarding-go-live-item__badge {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-go-live-item__actions {
    align-items: stretch;
    gap: 0.45rem;
}

.onboarding-focus-card__exchange {
    gap: 0.85rem;
}

.onboarding-message {
    padding: 0.95rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.onboarding-message p,
.onboarding-draft-card p,
.onboarding-suggestion-card__footnote,
.onboarding-prepared-count,
.onboarding-quick-action span,
.onboarding-draft-card__helper {
    margin: 0.35rem 0 0;
    color: #64748b;
}

.onboarding-message__meta {
    color: #94a3b8;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.onboarding-message--assistant {
    background: linear-gradient(180deg, #f8fbff 0%, #f8fafc 100%);
    border-color: rgba(59, 130, 246, 0.14);
}

.onboarding-message--user {
    background: #eff6ff;
    border-color: rgba(59, 130, 246, 0.22);
}

.onboarding-message--latest {
    scroll-margin-top: 5rem;
}

.onboarding-answer-card {
    padding: 1rem;
    background: #f8fbff;
    border-color: rgba(59, 130, 246, 0.18);
}

.onboarding-answer-card__textarea {
    min-height: 6.4rem;
}

.onboarding-answer-card__actions,
.onboarding-answer-card__actions .button {
    width: 100%;
}

.onboarding-answer-card__quick-actions {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.onboarding-service-helper {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    border-color: rgba(59, 130, 246, 0.18);
}

.onboarding-service-helper__form {
    display: grid;
    gap: 0.9rem;
}

.onboarding-progress-panel {
    display: grid;
    gap: 0.55rem;
    margin-top: 1rem;
    padding: 0.95rem;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 5px;
    background: #fbfdff;
}

.onboarding-progress-panel__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    color: #0f172a;
}

.onboarding-progress-panel__top span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-progress-panel__bar {
    height: 0.6rem;
    overflow: hidden;
    border-radius: 999px;
    background: #dbeafe;
}

.onboarding-progress-panel__bar span {
    display: block;
    height: 100%;
    min-width: 0.45rem;
    border-radius: inherit;
    background: #1d4ed8;
}

.onboarding-progress-panel p {
    margin: 0;
    color: #475569;
    font-size: 0.9rem;
}

.onboarding-automation-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
    gap: 1rem;
    align-items: center;
    border-color: rgba(14, 165, 233, 0.18);
}

.onboarding-automation-panel__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.onboarding-automation-panel__grid > div {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.onboarding-automation-panel__grid span {
    display: block;
    margin-bottom: 0.25rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-automation-panel__grid strong {
    display: block;
    color: #0f172a;
    font-size: 0.92rem;
    overflow-wrap: anywhere;
}

.onboarding-helper-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}

.onboarding-helper-grid label {
    min-width: 0;
}

.onboarding-helper-grid__wide,
.onboarding-helper-grid__actions {
    grid-column: 1 / -1;
}

.onboarding-guided-helper {
    border-color: rgba(14, 165, 233, 0.18);
}

.onboarding-service-helper__templates {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.onboarding-service-template {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
    cursor: pointer;
}

.onboarding-service-template:has(input:checked) {
    border-color: rgba(13, 94, 156, 0.45);
    background: #eef7ff;
}

.onboarding-service-template input {
    margin-top: 0.2rem;
}

.onboarding-service-template strong,
.onboarding-service-template small {
    display: block;
}

.onboarding-service-template small {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.4;
}

.onboarding-quick-action-form,
.onboarding-chip-group__chips form,
.onboarding-draft-card__actions form {
    margin: 0;
}

.onboarding-quick-action {
    width: 100%;
    display: grid;
    gap: 0.25rem;
    padding: 0.9rem;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, background-color 0.16s ease;
}

.onboarding-quick-action:hover,
.onboarding-prompt-chip:hover {
    background: #dbeafe;
    border-color: rgba(59, 130, 246, 0.26);
}

.onboarding-quick-action strong,
.onboarding-draft-card h4,
.onboarding-suggestion-card__item span:last-child {
    color: #0f172a;
}

.onboarding-collapsible {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.onboarding-collapsible summary {
    cursor: pointer;
    list-style: none;
    color: #0f172a;
    font-weight: 800;
}

.onboarding-collapsible summary::-webkit-details-marker {
    display: none;
}

.onboarding-collapsible summary::after {
    content: '+';
    float: right;
    color: #1d4ed8;
}

.onboarding-collapsible[open] summary::after {
    content: '–';
}

.onboarding-collapsible__body {
    margin-top: 0.85rem;
}

.onboarding-collapsible--panel {
    padding: 0.95rem 1rem;
}

.onboarding-collapsible--inline {
    border: 0;
    padding: 0;
    background: transparent;
}

.onboarding-collapsible--inline .onboarding-collapsible__body {
    margin-top: 0.6rem;
}

.onboarding-collapsible__body--messages {
    max-height: 18rem;
    overflow-y: auto;
}

.onboarding-chip-group {
    padding: 0.9rem;
    gap: 0.75rem;
    background: #fbfdff;
}

.onboarding-chip-group__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.65rem;
    padding: 0.2rem 0.55rem;
    border-radius: 5px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-chip-group__chips {
    grid-template-columns: repeat(auto-fit, minmax(180px, max-content));
    gap: 0.65rem;
}

.onboarding-prompt-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.55rem;
    padding: 0.65rem 0.95rem;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 5px;
    background: #ffffff;
    color: #1d4ed8;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 760;
    cursor: pointer;
}

.onboarding-suggestion-card {
    background: #fcfdff;
}

.onboarding-suggestion-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.65rem;
}

.onboarding-suggestion-status {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #fbfdff;
}

.onboarding-suggestion-status span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-suggestion-status strong {
    color: #0f172a;
    font-size: 1.3rem;
    line-height: 1;
}

.onboarding-suggestion-card__list--checklist {
    gap: 0.7rem;
}

.onboarding-suggestion-card__item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.onboarding-suggestion-card__check {
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(59, 130, 246, 0.25);
    border-radius: 3px;
    background: #eff6ff;
    position: relative;
    flex: 0 0 auto;
}

.onboarding-suggestion-card__check::after {
    content: '';
    position: absolute;
    inset: 0.18rem 0.24rem 0.28rem 0.22rem;
    border-right: 2px solid #1d4ed8;
    border-bottom: 2px solid #1d4ed8;
    transform: rotate(45deg);
}

.onboarding-summary-list {
    margin: 0;
    padding-left: 1.1rem;
    color: #475569;
}

.onboarding-summary-list li + li {
    margin-top: 0.45rem;
}

.onboarding-prepared-list {
    gap: 0.85rem;
}

.onboarding-draft-card {
    padding: 0.95rem;
}

.onboarding-draft-card__payload {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin-top: 0.8rem;
}

.onboarding-draft-card__payload > div {
    padding: 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.onboarding-draft-card__payload span {
    display: block;
    margin-bottom: 0.2rem;
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.onboarding-draft-card__actions {
    grid-template-columns: repeat(auto-fit, minmax(130px, max-content));
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.onboarding-service-suggestions {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.onboarding-service-suggestion {
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.onboarding-service-suggestion strong,
.onboarding-service-suggestion span,
.onboarding-service-suggestion p,
.onboarding-service-suggestion small {
    display: block;
}

.onboarding-service-suggestion span {
    margin-top: 0.1rem;
    color: #475569;
    font-size: 0.9rem;
    font-weight: 700;
}

.onboarding-service-suggestion p,
.onboarding-service-suggestion small {
    margin: 0.25rem 0 0;
    color: #64748b;
    font-size: 0.86rem;
}

.onboarding-service-suggestion dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.5rem;
    margin: 0;
}

.onboarding-service-suggestion dt,
.onboarding-service-suggestion dd {
    margin: 0;
}

.onboarding-service-suggestion dt {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.onboarding-service-suggestion dd {
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 750;
}

.onboarding-import-mapping {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.85rem;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.onboarding-guided-suggestion {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.85rem;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.onboarding-guided-suggestion h5 {
    margin: 0 0 0.45rem;
    color: #0f172a;
    font-size: 0.88rem;
}

.onboarding-import-mapping__notice {
    padding: 0.7rem 0.75rem;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 5px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.88rem;
    font-weight: 760;
}

.onboarding-import-mapping h5 {
    margin: 0 0 0.45rem;
    color: #0f172a;
    font-size: 0.88rem;
}

.onboarding-import-mapping__summary,
.onboarding-import-mapping__columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.65rem;
}

.onboarding-import-mapping__summary > div,
.onboarding-import-mapping__columns > section {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.onboarding-import-mapping__summary span,
.onboarding-import-mapping__summary strong,
.onboarding-import-mapping__sample span {
    display: block;
}

.onboarding-import-mapping__summary span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-import-mapping__summary strong {
    margin-top: 0.2rem;
    color: #0f172a;
}

.onboarding-import-mapping__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.onboarding-import-mapping__chips span {
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 5px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 760;
}

.onboarding-import-mapping__list {
    display: grid;
    gap: 0.5rem;
    margin: 0;
}

.onboarding-import-mapping__list div {
    min-width: 0;
}

.onboarding-import-mapping__list dt,
.onboarding-import-mapping__list dd {
    margin: 0;
}

.onboarding-import-mapping__list dt {
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.onboarding-import-mapping__list dd,
.onboarding-import-mapping__warnings,
.onboarding-import-mapping__sample {
    color: #64748b;
    font-size: 0.84rem;
}

.onboarding-import-mapping__warnings {
    margin: 0;
    padding-left: 1.1rem;
}

.onboarding-import-mapping__sample {
    display: grid;
    gap: 0.5rem;
}

.onboarding-import-mapping__sample > div {
    min-width: 0;
    padding: 0.65rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 5px;
    background: #fbfdff;
}

.onboarding-import-mapping__sample span {
    overflow-wrap: anywhere;
}

.onboarding-draft-card--empty {
    background: #f8fafc;
    border-style: dashed;
}

#setup-current,
#setup-input,
#prepared-changes {
    scroll-margin-top: 5rem;
}

@media (max-width: 980px) {
    .onboarding-simplified__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .onboarding-focus-card__header,
    .onboarding-roadmap__header,
    .onboarding-go-live__header,
    .onboarding-suggestion-card__header,
    .onboarding-draft-card__top,
    .onboarding-message__meta {
        display: grid;
    }

    .onboarding-next-action {
        align-items: stretch;
        flex-direction: column;
    }

    .onboarding-next-action .button {
        width: 100%;
    }

    .onboarding-simplified__hero,
    .onboarding-roadmap,
    .onboarding-go-live,
    .onboarding-launch-readiness,
    .onboarding-focus-card,
    .onboarding-suggestion-card,
    .onboarding-service-helper,
    .onboarding-collapsible--panel,
    .onboarding-answer-card,
    .onboarding-roadmap-card,
    .onboarding-draft-card {
        padding: 0.95rem;
    }
}

@media (max-width: 760px) {
    .onboarding-automation-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .onboarding-automation-panel__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .onboarding-go-live-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .onboarding-go-live-item__actions {
        grid-column: 1 / -1;
    }

    .onboarding-go-live-item .button {
        width: 100%;
    }

    .onboarding-launch-summary,
    .onboarding-launch-final {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .onboarding-answer-card__quick-actions,
    .onboarding-chip-group__chips,
    .onboarding-service-helper__templates,
    .onboarding-helper-grid,
    .onboarding-draft-card__actions {
        grid-template-columns: 1fr;
    }

    .onboarding-quick-action,
    .onboarding-prompt-chip,
    .onboarding-draft-card__actions .button {
        width: 100%;
    }
}
/* End AIO-2R onboarding cognitive-load reduction */

.appointment-readiness {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.appointment-form-guide {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    padding: 1rem;
}

.appointment-form-guide__title {
    color: var(--text);
    font-weight: 700;
    margin: 0 0 0.25rem;
}

.appointment-form-guide__copy {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
    max-width: 64rem;
}

.appointment-form-guide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.record-workflow-guide {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    padding: 1rem;
}

.record-workflow-guide__title {
    color: var(--text);
    font-weight: 700;
    margin: 0 0 0.25rem;
}

.record-workflow-guide__copy {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
    max-width: 64rem;
}

.record-workflow-guide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.appointment-readiness--needs {
    border-color: rgba(249, 115, 22, 0.35);
    background: #fff7ed;
}

.appointment-readiness__header,
.appointment-readiness-item__top {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    justify-content: space-between;
}

.appointment-readiness__grid {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.appointment-readiness-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.75rem;
    align-items: center;
    padding: 0.85rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-left-width: 4px;
    border-radius: 5px;
    background: #ffffff;
}

.appointment-readiness-item--ready {
    border-left-color: #16a34a;
}

.appointment-readiness-item--needed {
    border-left-color: #f97316;
}

.appointment-readiness-item--optional {
    border-left-color: #64748b;
}

.appointment-readiness-item h4,
.appointment-readiness-item p {
    margin: 0;
}

.appointment-readiness-item h4 {
    color: #0f172a;
    font-size: 0.95rem;
}

.appointment-readiness-item p {
    color: #64748b;
    font-size: 0.9rem;
}

.appointment-readiness-item__top span {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (max-width: 720px) {
    .appointment-readiness__header,
    .appointment-readiness-item,
    .appointment-readiness-item__top,
    .appointment-form-guide,
    .record-workflow-guide {
        display: grid;
    }

    .appointment-form-guide__actions,
    .record-workflow-guide__actions {
        justify-content: stretch;
    }

    .appointment-readiness-item .button,
    .appointment-form-guide__actions .button,
    .record-workflow-guide__actions .button {
        width: 100%;
    }
}

/* Tenant website draft preview */
.website-builder-steps {
    display: grid;
    gap: 0.7rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.website-builder-step {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 8px;
    background: #ffffff;
}

.website-builder-step strong {
    color: #1f2937;
}

.website-builder-step span {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 750;
}

.website-builder-step--done {
    border-color: rgba(22, 101, 52, 0.2);
    background: #f0fdf4;
}

.website-builder-step--done span {
    color: #166534;
}

.website-builder-step--current {
    border-color: rgba(29, 78, 216, 0.24);
    background: #eff6ff;
}

.website-builder-step--current span {
    color: #1d4ed8;
}

.website-builder-status-note,
.website-builder-media-placeholder,
.website-builder-media-callout {
    padding: 1rem;
    border: 1px solid rgba(29, 78, 216, 0.16);
    border-radius: 8px;
    background: #eff6ff;
}

.website-builder-media-shell__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.website-builder-media-shell__header strong {
    display: block;
    color: #0f172a;
}

.website-builder-media-shell__header p {
    margin: 0.35rem 0 0;
    color: #475569;
    line-height: 1.55;
}

.website-builder-media-status {
    flex: 0 0 auto;
    padding: 0.3rem 0.55rem;
    border: 1px solid rgba(29, 78, 216, 0.2);
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.74rem;
    font-weight: 850;
    text-transform: uppercase;
}

.website-builder-media-dropzone {
    display: grid;
    gap: 0.35rem;
    min-height: 6rem;
    padding: 1rem;
    border: 1px dashed rgba(23, 107, 85, 0.38);
    border-radius: 8px;
    background: #f0fdf4;
    color: #176b55;
}

.website-builder-media-dropzone strong {
    color: #14532d;
}

.website-builder-media-dropzone span {
    max-width: 22rem;
    color: #166534;
    font-size: 0.9rem;
    line-height: 1.45;
}

.website-builder-media-dropzone input {
    margin-top: 0.4rem;
    max-width: 100%;
}

.website-builder-media-form {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid rgba(23, 107, 85, 0.16);
    border-radius: 8px;
    background: #ffffff;
}

.website-admin-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 1.25rem;
}

.website-admin-guide__card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    border: 1px solid var(--od-border, #D8DEE6);
    border-radius: 8px;
    padding: 1rem;
    background: var(--od-surface, #fff);
    box-shadow: var(--od-shadow-card, 0 10px 24px rgba(15, 23, 42, 0.08));
}

.website-admin-guide__card--primary {
    grid-column: span 2;
    background:
        linear-gradient(135deg, rgba(20, 97, 90, 0.08), rgba(255, 247, 236, 0.92)),
        var(--od-surface, #fff);
}

.website-admin-guide__card h3 {
    margin: 0;
    color: var(--od-text, #0f172a);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.website-admin-guide__card p {
    margin: 0;
    color: var(--od-muted, #64748b);
    line-height: 1.5;
}

.website-admin-guide__disabled {
    display: inline-flex;
    border: 1px solid var(--od-border, #D8DEE6);
    border-radius: 999px;
    padding: 0.5rem 0.7rem;
    color: var(--od-muted, #64748b);
    font-size: 0.86rem;
    font-weight: 800;
}

.website-admin-checklist {
    display: grid;
    gap: 0.55rem;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-admin-checklist li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.55rem;
    align-items: start;
    min-width: 0;
    color: var(--od-text, #0f172a);
    font-size: 0.92rem;
    line-height: 1.35;
}

.website-admin-checklist span {
    width: 0.75rem;
    height: 0.75rem;
    margin-top: 0.22rem;
    border: 2px solid var(--od-border-strong, #C8D0DA);
    border-radius: 999px;
    background: #fff;
}

.website-admin-checklist .is-done span {
    border-color: #14615A;
    background: #14615A;
    box-shadow: inset 0 0 0 2px #fff;
}

.website-admin-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.website-theme-preview {
    display: grid;
    gap: 1rem;
    margin: 0 0 1.25rem;
    padding: 1rem;
    border: 1px solid var(--od-border, #D8DEE6);
    border-radius: 8px;
    background: var(--od-surface, #fff);
    box-shadow: var(--od-shadow-card, 0 10px 24px rgba(15, 23, 42, 0.08));
}

.website-theme-preview__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.website-theme-preview__header h3,
.website-theme-preview__card h4,
.website-theme-preview__header p,
.website-theme-preview__card p {
    margin: 0;
}

.website-theme-preview__header h3 {
    color: var(--od-text, #0f172a);
    font-size: 1.2rem;
}

.website-theme-preview__header p,
.website-theme-preview__card p {
    color: var(--od-muted, #64748b);
    line-height: 1.5;
}

.website-theme-preview__header > span {
    flex: 0 0 auto;
    border: 1px solid rgba(29, 78, 216, 0.2);
    border-radius: 999px;
    padding: 0.35rem 0.6rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.74rem;
    font-weight: 850;
    text-transform: uppercase;
}

.website-theme-preview__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.website-theme-preview__form {
    display: grid;
    gap: 1rem;
}

.website-theme-preview__card {
    position: relative;
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.website-theme-preview__card:hover,
.website-theme-preview__card:focus-within {
    border-color: rgba(20, 97, 90, 0.42);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.website-theme-preview__card.is-selected {
    border-color: #14615A;
    box-shadow: 0 0 0 2px rgba(20, 97, 90, 0.14), 0 12px 28px rgba(15, 23, 42, 0.1);
}

.website-theme-preview__card input[type="radio"] {
    position: absolute;
    right: 0.7rem;
    top: 0.7rem;
    width: 1rem;
    height: 1rem;
    accent-color: #14615A;
}

.website-theme-preview__card h4 {
    color: #0f172a;
    font-size: 0.95rem;
    line-height: 1.2;
}

.website-theme-preview__card p {
    font-size: 0.84rem;
}

.website-theme-preview__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.website-theme-preview__footer .helper-text {
    flex: 1 1 16rem;
    margin: 0;
}

.website-theme-preview__swatch {
    position: relative;
    overflow: hidden;
    min-height: 5.5rem;
    border-radius: 6px;
    background: linear-gradient(135deg, #fffdfc, #dcedea);
}

.website-theme-preview__swatch span,
.website-theme-preview__swatch strong {
    position: absolute;
    display: block;
    border-radius: 999px;
    content: "";
}

.website-theme-preview__swatch span {
    left: 0.75rem;
    bottom: 0.8rem;
    width: 2.8rem;
    height: 2.8rem;
    background: rgba(255, 255, 255, 0.82);
}

.website-theme-preview__swatch strong {
    right: 0.7rem;
    top: 0.8rem;
    width: 3rem;
    height: 0.7rem;
    background: #c75b4a;
    transform: rotate(-12deg);
}

.website-theme-preview__swatch--boutique-salon {
    background: linear-gradient(135deg, #fffbfd, #f7dde8 60%, #e6c46e);
}

.website-theme-preview__swatch--boutique-salon strong {
    background: #a23a63;
}

.website-theme-preview__swatch--clean-mobile-groomer {
    background: linear-gradient(135deg, #fbfeff, #d9f1f5 60%, #f2c469);
}

.website-theme-preview__swatch--clean-mobile-groomer strong {
    background: #097083;
}

.website-theme-preview__swatch--luxury-spa {
    background: linear-gradient(135deg, #fffdf8, #eee5cf 60%, #b78b2d);
}

.website-theme-preview__swatch--luxury-spa strong {
    background: #6c5a2e;
}

.website-theme-preview__swatch--practical-utility {
    background: linear-gradient(135deg, #ffffff, #e4eef4 62%, #b8872b);
}

.website-theme-preview__swatch--practical-utility strong {
    background: #2f5e7a;
}

@media (max-width: 900px) {
    .website-admin-guide {
        grid-template-columns: 1fr;
    }

    .website-admin-guide__card--primary {
        grid-column: auto;
    }

    .website-theme-preview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 430px) {
    .website-admin-guide__card {
        padding: 0.85rem;
    }

    .website-admin-preview-actions,
    .website-admin-preview-actions .button,
    .website-admin-guide__card > .button {
        width: 100%;
    }

    .website-theme-preview__header {
        display: grid;
    }

    .website-theme-preview__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .website-layout-picker__grid {
        grid-template-columns: 1fr;
    }
}

.website-builder-media-form__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem;
}

.website-builder-media-form__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.website-builder-media-form__footer .helper-text {
    flex: 1 1 14rem;
    margin: 0;
}

.website-builder-media-permission {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.6rem;
    align-items: start;
    padding: 0.75rem;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 8px;
    background: #fffbeb;
    color: #5f4b1b;
    font-size: 0.9rem;
    line-height: 1.45;
}

.website-builder-media-slots {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
    gap: 0.65rem;
}

.website-builder-media-slot {
    display: flex;
    min-height: 4.5rem;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 8px;
    background: #ffffff;
}

.website-builder-media-slot span {
    color: #111827;
    font-size: 0.9rem;
    font-weight: 800;
}

.website-builder-media-slot small {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 750;
    text-transform: uppercase;
}

.website-builder-media-rules {
    padding: 0.85rem;
    border: 1px solid rgba(245, 158, 11, 0.24);
    border-radius: 8px;
    background: #fffbeb;
}

.website-builder-media-rules strong {
    display: block;
    margin-bottom: 0.4rem;
    color: #92400e;
}

.website-builder-media-rules ul {
    margin: 0;
    padding-left: 1.1rem;
    color: #5f4b1b;
    line-height: 1.55;
}

.website-builder-media-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.website-builder-media-actions .button[disabled] {
    cursor: not-allowed;
    opacity: 0.62;
}

.website-builder-media-list {
    display: grid;
    gap: 0.65rem;
}

.website-builder-media-list__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.website-builder-media-list__header span,
.website-builder-media-empty {
    color: #64748b;
    font-size: 0.86rem;
}

.website-builder-media-empty {
    margin: 0;
    padding: 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: #ffffff;
}

.website-builder-media-item {
    display: grid;
    gap: 0.7rem;
    padding: 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: #ffffff;
}

.website-builder-media-item strong {
    display: block;
    color: #0f172a;
    word-break: break-word;
}

.website-builder-media-item p {
    margin: 0.25rem 0 0;
    color: #64748b;
    font-size: 0.86rem;
}

.website-builder-media-item dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(6.5rem, 1fr));
    gap: 0.55rem;
    margin: 0;
}

.website-builder-media-item div,
.website-builder-media-item dt,
.website-builder-media-item dd {
    min-width: 0;
}

.website-builder-media-item dt {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.website-builder-media-item dd {
    margin: 0.15rem 0 0;
    color: #111827;
    font-size: 0.84rem;
    font-weight: 760;
}

.website-builder-media-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(29, 78, 216, 0.16);
    border-radius: 8px;
    background: #f8fafc;
}

.website-layout-picker {
    margin-bottom: 1rem;
}

.website-layout-picker__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.website-layout-picker__card {
    position: relative;
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    min-height: 16.5rem;
    padding: 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.website-layout-picker__card:hover,
.website-layout-picker__card:focus-within {
    border-color: rgba(20, 97, 90, 0.42);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.website-layout-picker__card.is-selected {
    border-color: #14615A;
    box-shadow: 0 0 0 2px rgba(20, 97, 90, 0.14), 0 12px 28px rgba(15, 23, 42, 0.1);
}

.website-layout-picker__card input[type="radio"] {
    position: absolute;
    right: 0.8rem;
    top: 0.8rem;
    width: 1rem;
    height: 1rem;
    accent-color: #14615A;
}

.website-layout-picker__selected {
    justify-self: start;
    width: fit-content;
    border: 1px solid rgba(20, 97, 90, 0.18);
    border-radius: 999px;
    padding: 0.22rem 0.55rem;
    background: #effaf6;
    color: #14615A;
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.website-layout-picker__preview {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    grid-template-rows: 2.6rem 1.6rem 1.6rem;
    gap: 0.38rem;
    min-height: 6.35rem;
    padding: 0.55rem;
    border-radius: 8px;
    background: #eef9f6;
}

.website-layout-picker__preview i {
    display: block;
    border-radius: 6px;
    background: rgba(20, 97, 90, 0.32);
}

.website-layout-picker__preview i:first-child {
    grid-row: span 2;
    background: #2F7D6B;
}

.website-layout-picker__preview--mobile-groomer-fast-booking {
    grid-template-columns: 0.9fr 1.1fr;
    background: #eef6ff;
}

.website-layout-picker__preview--mobile-groomer-fast-booking i:first-child {
    grid-row: span 3;
    background: #1d4ed8;
}

.website-layout-picker__preview--mobile-groomer-fast-booking i:nth-child(2) {
    background: #f59e0b;
}

.website-layout-picker__preview--mobile-groomer-friendly {
    grid-template-columns: 1fr 1fr;
    background: #fff7ed;
}

.website-layout-picker__preview--mobile-groomer-friendly i {
    border-radius: 999px;
    background: rgba(244, 162, 97, 0.55);
}

.website-layout-picker__preview--mobile-groomer-friendly i:first-child {
    grid-column: span 2;
    grid-row: span 1;
    background: #2F7D6B;
}

.website-layout-picker__preview--mobile-groomer-premium {
    grid-template-columns: 1.25fr 0.75fr;
    grid-template-rows: 3rem 1.35rem 1.35rem;
    background: #f8fafc;
}

.website-layout-picker__preview--mobile-groomer-premium i {
    border-radius: 3px;
    background: rgba(31, 41, 51, 0.24);
}

.website-layout-picker__preview--mobile-groomer-premium i:first-child {
    grid-row: span 3;
    background: #1F2933;
}

.website-layout-picker__preview--mobile-groomer-premium i:nth-child(2) {
    background: #2F7D6B;
}

.website-layout-picker__card strong {
    color: #0f172a;
    font-size: 0.98rem;
    line-height: 1.22;
}

.website-layout-picker__card p,
.website-layout-picker__card small {
    margin: 0;
    color: #64748b;
    font-size: 0.85rem;
    line-height: 1.48;
}

.website-layout-picker__card small {
    color: #475569;
}

.website-builder-status-note strong,
.website-builder-media-placeholder strong,
.website-builder-media-callout strong {
    display: block;
    margin-bottom: 0.35rem;
    color: #1e3a8a;
}

.website-builder-status-note p,
.website-builder-media-placeholder p,
.website-builder-media-callout p,
.website-builder-form-intro p {
    margin: 0.35rem 0 0;
    color: #475569;
    line-height: 1.55;
}

.website-builder-form-intro {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid rgba(23, 107, 85, 0.16);
    border-radius: 8px;
    background: #f0fdf4;
}

.website-builder-form-intro h3 {
    margin: 0;
    color: #14532d;
}

.website-builder-media-callout {
    margin-top: 1rem;
    background: #f8fafc;
    border-color: rgba(148, 163, 184, 0.22);
}

.website-preview-review-strip {
    display: grid;
    grid-template-columns: minmax(180px, 260px) 1fr;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid #f0d38a;
    border-radius: 8px;
    background: #fff8e6;
    color: #5f4511;
}

.website-preview-review-strip ul {
    margin: 0;
    padding-left: 1.25rem;
}

.website-preview-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.website-preview-status-grid > div {
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.website-preview-status-grid span {
    display: block;
    margin-bottom: 0.3rem;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 850;
    text-transform: uppercase;
}

.website-preview-status-grid strong {
    display: block;
    color: #0f172a;
}

.website-preview-status-grid p {
    margin: 0.45rem 0 0;
    color: #475569;
    line-height: 1.5;
}

.website-preview-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 1.5rem;
    align-items: start;
}

.website-preview-shell {
    overflow: hidden;
    border: 1px solid rgba(45, 55, 72, 0.14);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(31, 41, 55, 0.12);
}

.website-preview-browserbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(45, 55, 72, 0.12);
    background: #f4f6f8;
    color: #667085;
    font-size: 0.82rem;
}

.website-preview-browserbar span {
    width: 0.72rem;
    height: 0.72rem;
    border-radius: 999px;
    background: #d0d5dd;
}

.website-preview-browserbar strong {
    margin-left: 0.5rem;
    font-weight: 700;
}

.website-preview-site {
    background: #fffdf8;
    color: #1f2933;
}

.website-preview-nav {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem clamp(1.25rem, 4vw, 3rem);
    border-bottom: 1px solid rgba(31, 41, 51, 0.08);
    background: #ffffff;
}

.website-preview-nav nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    color: #52606d;
    font-size: 0.9rem;
}

.website-preview-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    padding: clamp(2rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
    background: linear-gradient(135deg, #fffdf8 0%, #ecf7f1 58%, #eef4ff 100%);
}

.website-preview-hero h1 {
    max-width: 12ch;
    margin: 0 0 1rem;
    color: #111827;
    font-size: 3.4rem;
    line-height: 1;
}

.website-preview-hero p,
.website-preview-band p,
.website-preview-feature p,
.website-preview-trust p {
    color: #394150;
    font-size: 1rem;
    line-height: 1.7;
}

.website-preview-kicker {
    margin: 0 0 0.5rem;
    color: #197056;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.website-preview-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    margin-top: 1rem;
    padding: 0.75rem 1.1rem;
    border-radius: 6px;
    background: #176b55;
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
}

.website-preview-cta--secondary {
    background: #1d4ed8;
}

.website-preview-hero-card {
    padding: 1.25rem;
    border: 1px solid rgba(23, 107, 85, 0.2);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 14px 30px rgba(23, 107, 85, 0.12);
}

.website-preview-hero-card span,
.website-preview-footer span {
    display: block;
    color: #667085;
    font-size: 0.82rem;
    font-weight: 700;
}

.website-preview-hero-card strong {
    display: block;
    margin: 0.25rem 0 0.5rem;
    color: #176b55;
    font-size: 1.5rem;
}

.website-preview-band,
.website-preview-grid-section,
.website-preview-trust {
    padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3rem);
}

.website-preview-about {
    display: grid;
    grid-template-columns: minmax(160px, 0.35fr) minmax(0, 1fr);
    gap: 1.5rem;
    background: #ffffff;
}

.website-preview-band h2,
.website-preview-grid-section h2,
.website-preview-trust h2,
.website-preview-feature h3 {
    margin: 0 0 0.75rem;
    color: #111827;
    line-height: 1.15;
}

.website-preview-grid-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    background: #f8faf8;
}

.website-preview-section-heading {
    grid-column: 1 / -1;
}

.website-preview-feature {
    min-height: 11rem;
    padding: 1.25rem;
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
    background: #ffffff;
}

.website-preview-trust {
    background: #102a43;
    color: #ffffff;
}

.website-preview-trust h2,
.website-preview-trust p {
    color: #ffffff;
}

.website-preview-trust .website-preview-kicker {
    color: #9ee6c8;
}

.website-preview-contact {
    border-color: rgba(29, 78, 216, 0.18);
    background: #eef4ff;
}

.website-preview-media-slot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.5fr);
    gap: 1rem;
    align-items: center;
    padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3rem);
    border-top: 1px solid rgba(45, 55, 72, 0.08);
    border-bottom: 1px solid rgba(45, 55, 72, 0.08);
    background: #ffffff;
}

.website-preview-media-slot h2 {
    margin: 0 0 0.75rem;
    color: #111827;
}

.website-preview-media-slot p {
    color: #394150;
    line-height: 1.7;
}

.website-preview-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.website-preview-media-grid span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.25rem;
    border: 1px dashed rgba(23, 107, 85, 0.35);
    border-radius: 8px;
    background: #f0fdf4;
    color: #176b55;
    font-size: 0.82rem;
    font-weight: 850;
}

.website-preview-media-grid span:first-child {
    grid-row: span 2;
}

.website-preview-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1.25rem, 4vw, 3rem);
    border-top: 1px solid rgba(45, 55, 72, 0.1);
    background: #ffffff;
}

.website-preview-controls {
    display: grid;
    gap: 1rem;
}

.website-preview-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.website-preview-revisions {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding-left: 1rem;
}

.website-preview-revisions span {
    display: block;
    color: #52606d;
    line-height: 1.45;
}

.website-preview-search-title {
    margin: 0 0 0.25rem;
    color: #1a0dab;
    font-weight: 700;
}

.website-preview-search-url {
    margin: 0 0 0.5rem;
    color: #0f9d58;
    font-size: 0.9rem;
}

.website-preview-safety,
.website-preview-debug {
    margin-top: 1.5rem;
}

.website-preview-debug summary {
    cursor: pointer;
    font-weight: 800;
}

.website-preview-debug pre {
    overflow: auto;
    max-height: 28rem;
    margin: 1rem 0 0;
    padding: 1rem;
    border-radius: 6px;
    background: #111827;
    color: #f9fafb;
    font-size: 0.82rem;
    line-height: 1.55;
}

.reports-dashboard {
    display: grid;
    gap: 1.5rem;
}

.reports-dashboard__intro,
.reports-policy-panel {
    padding: clamp(1rem, 3vw, 1.35rem);
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
}

.reports-dashboard__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.reports-dashboard__intro h3,
.reports-policy-panel h3,
.reports-card h3 {
    margin: 0;
    color: #111827;
    line-height: 1.2;
}

.reports-dashboard__intro p,
.reports-policy-panel p,
.reports-card p {
    color: #475569;
    line-height: 1.55;
}

.reports-dashboard__status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.reports-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.reports-ux-guide,
.reports-catalog-heading {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.35rem);
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
    background: #ffffff;
}

.reports-catalog-heading {
    background: #f8fafc;
}

.reports-catalog-heading h3,
.reports-ux-guide h3 {
    margin: 0;
    color: #111827;
}

.reports-catalog-heading p,
.reports-ux-guide p {
    color: #475569;
    line-height: 1.55;
}

.reports-ux-guide__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.reports-ux-card {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.95rem;
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
    background: #f8fafc;
}

.reports-ux-card--caution {
    border-color: rgba(180, 83, 9, 0.22);
    background: #fffaf0;
}

.reports-ux-card span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.reports-ux-card strong {
    color: #111827;
    line-height: 1.2;
}

.reports-ux-card p {
    margin: 0;
    font-size: 0.9rem;
}

.reports-card {
    display: grid;
    gap: 1rem;
    min-height: 15rem;
    padding: 1.15rem;
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.reports-card--caution {
    border-color: rgba(180, 83, 9, 0.22);
    background: #fffaf0;
}

.reports-card__header,
.reports-policy-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.reports-card__status {
    flex: 0 0 auto;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #eef4ff;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 850;
}

.reports-card__footer {
    align-self: end;
}

.reports-card__footer--stacked {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.reports-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.reports-pill-list li {
    padding: 0.32rem 0.55rem;
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 750;
}

.reports-dashboard__policy-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: 1rem;
    align-items: start;
}

.reports-payment-summary {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.35rem);
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
}

.reports-payment-summary--caution {
    border-color: rgba(180, 83, 9, 0.2);
    background: #fffaf0;
}

.reports-export-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.reports-export-grid .button {
    justify-content: center;
}

.reports-payment-summary__stats,
.reports-payment-summary__detail-grid {
    display: grid;
    gap: 1rem;
}

.reports-payment-summary__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reports-payment-summary__stats article,
.reports-payment-panel {
    border: 1px solid rgba(45, 55, 72, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.reports-payment-summary__stats article {
    display: grid;
    gap: 0.25rem;
    padding: 0.95rem;
}

.reports-payment-summary__stats span,
.reports-payment-summary__stats small,
.reports-payment-list small {
    color: #64748b;
}

.reports-payment-summary__stats span {
    font-size: 0.76rem;
    font-weight: 850;
    text-transform: uppercase;
}

.reports-payment-summary__stats strong {
    color: #111827;
    font-size: clamp(1.25rem, 1.8vw, 1.75rem);
    line-height: 1.1;
}

.reports-payment-summary__detail-grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.reports-payment-panel {
    padding: 1rem;
}

.reports-payment-panel h4 {
    margin: 0;
    color: #111827;
}

.reports-payment-list {
    display: grid;
    gap: 0.65rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.reports-payment-list li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem;
    border: 1px solid rgba(45, 55, 72, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.reports-payment-list span {
    display: grid;
    gap: 0.18rem;
}

.reports-payment-list strong,
.reports-payment-list b {
    color: #111827;
}

.reports-payment-list b {
    white-space: nowrap;
}

.reports-access-list,
.reports-check-list {
    display: grid;
    gap: 0.75rem;
    margin: 1rem 0 0;
}

.reports-filter-panel {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 1rem;
    align-items: end;
    padding: clamp(1rem, 3vw, 1.35rem);
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
}

.reports-filter-panel__check {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    min-height: 2.7rem;
    color: #334155;
    font-weight: 750;
}

.reports-filter-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.reports-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(45, 55, 72, 0.1);
    border-radius: 8px;
}

.reports-table {
    width: 100%;
    min-width: 880px;
    border-collapse: collapse;
    background: #ffffff;
}

.reports-table th,
.reports-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(45, 55, 72, 0.08);
    color: #334155;
    text-align: left;
    vertical-align: top;
}

.reports-table th {
    background: #f8fafc;
    color: #111827;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.reports-table tbody tr:last-child td {
    border-bottom: 0;
}

.reports-access-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 0.36fr);
    gap: 1rem;
    align-items: center;
    padding: 0.85rem;
    border: 1px solid rgba(45, 55, 72, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.reports-access-row strong,
.reports-access-row span {
    color: #111827;
}

.reports-access-row p {
    margin: 0.35rem 0 0;
}

.reports-access-row span {
    justify-self: end;
    font-size: 0.86rem;
    font-weight: 850;
    text-align: right;
}

.reports-check-list {
    padding-left: 1.2rem;
    color: #475569;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .website-preview-layout,
    .website-preview-hero,
    .website-preview-about,
    .website-preview-grid-section,
    .website-preview-status-grid,
    .website-preview-media-slot,
    .website-preview-review-strip {
        grid-template-columns: 1fr;
    }

    .reports-dashboard__intro,
    .reports-dashboard__grid,
    .reports-dashboard__policy-grid,
    .reports-ux-guide__grid,
    .reports-payment-summary__stats,
    .reports-payment-summary__detail-grid,
    .reports-access-row,
    .reports-filter-panel {
        grid-template-columns: 1fr;
    }

    .reports-dashboard__status,
    .reports-access-row span {
        justify-content: flex-start;
        justify-self: start;
        text-align: left;
    }

    .website-preview-nav {
        align-items: flex-start;
        flex-direction: column;
    }

    .website-preview-hero h1 {
        max-width: none;
        font-size: 2.35rem;
    }
}

@media (max-width: 640px) {
    .reports-export-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .reports-export-grid .button {
        width: 100%;
    }

    .website-preview-footer {
        flex-direction: column;
    }

    .website-preview-browserbar strong {
        display: none;
    }
}

/* Public pricing sales page */
.pricing-page {
    display: grid;
    gap: 1.25rem;
}

.pricing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: stretch;
    padding: clamp(0.25rem, 2vw, 1rem) 0 clamp(1rem, 3vw, 1.75rem);
}

.pricing-hero__copy,
.pricing-hero__panel,
.pricing-section,
.pricing-start {
    min-width: 0;
}

.pricing-hero__copy {
    display: grid;
    align-content: center;
    gap: 1rem;
}

.pricing-eyebrow {
    margin: 0;
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pricing-hero h2,
.pricing-section h3,
.pricing-start h3 {
    margin: 0;
    color: #0f172a;
    line-height: 1.08;
    letter-spacing: 0;
}

.pricing-hero h2 {
    max-width: 760px;
    font-size: clamp(2.2rem, 5vw, 4.6rem);
}

.pricing-hero__lead {
    max-width: 780px;
    margin: 0;
    color: #334155;
    font-size: 1.08rem;
    line-height: 1.6;
}

.pricing-hero__actions,
.pricing-start__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.pricing-hero__panel {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 118, 110, 0.22);
    border-radius: 5px;
    background: #f6fffc;
}

.pricing-hero__panel h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1.2;
    letter-spacing: 0;
}

.pricing-hero__panel p,
.pricing-section p,
.pricing-start p,
.pricing-feature span,
.pricing-plan p,
.pricing-plan li,
.pricing-exclusion-list li {
    color: #475569;
    line-height: 1.55;
}

.pricing-hero__panel p,
.pricing-section p,
.pricing-start p {
    margin: 0;
}

.pricing-section,
.pricing-start {
    display: grid;
    gap: 1rem;
    padding: clamp(0.75rem, 2vw, 1.25rem) 0;
}

.pricing-section__header {
    display: grid;
    gap: 0.45rem;
}

.pricing-section h3,
.pricing-start h3 {
    font-size: clamp(1.45rem, 3vw, 2.05rem);
}

.pricing-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.pricing-feature,
.pricing-plan {
    display: grid;
    gap: 0.65rem;
    padding: 1rem;
    border: 1px solid rgba(51, 65, 85, 0.16);
    border-radius: 5px;
    background: #f8fafc;
}

.pricing-feature strong {
    color: #0f172a;
}

.pricing-feature span {
    display: block;
}

.pricing-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.pricing-plan {
    position: relative;
    align-content: start;
    background: #ffffff;
}

.pricing-plan--recommended {
    border-color: rgba(29, 78, 216, 0.42);
    background: #f8fbff;
}

.pricing-plan h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
}

.pricing-plan__price {
    margin: 0.35rem 0;
    color: #0f172a !important;
    font-size: 2rem;
    font-weight: 850;
    line-height: 1.05;
}

.pricing-plan__price span {
    color: #64748b;
    font-size: 0.95rem;
    font-weight: 700;
}

.pricing-plan__rate {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    margin: 0;
    padding: 0.32rem 0.55rem;
    border: 1px solid rgba(15, 118, 110, 0.2);
    border-radius: 5px;
    background: #f0fdfa;
    color: #115e59 !important;
    font-size: 0.82rem;
    font-weight: 800;
}

.pricing-faq__list {
    display: grid;
    gap: 0.7rem;
}

.pricing-faq details {
    border: 1px solid rgba(51, 65, 85, 0.16);
    border-radius: 5px;
    padding: 0.9rem 1rem;
    background: #ffffff;
}

.pricing-faq summary {
    cursor: pointer;
    color: #0f172a;
    font-weight: 850;
}

.pricing-faq details p {
    margin-top: 0.6rem;
}

.pricing-plan ul,
.pricing-exclusion-list {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding-left: 1.1rem;
}

.pricing-plan__badge {
    justify-self: start;
    padding: 0.28rem 0.55rem;
    border: 1px solid rgba(29, 78, 216, 0.24);
    border-radius: 5px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.73rem;
    font-weight: 850;
    text-transform: uppercase;
}

.pricing-section--split,
.pricing-start {
    grid-template-columns: minmax(0, 0.9fr) minmax(300px, 1.1fr);
    align-items: start;
}

.pricing-exclusion-list {
    padding: 1rem 1rem 1rem 2rem;
    border: 1px solid rgba(185, 28, 28, 0.18);
    border-radius: 5px;
    background: #fffafa;
}

.pricing-start {
    padding: clamp(1rem, 3vw, 1.35rem);
    border-left: 4px solid #0f766e;
    background: #f6fffc;
}

.pricing-start__actions {
    justify-content: flex-end;
}

.pricing-start__form,
.pricing-start__fallback {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.pricing-start__form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.pricing-start__consent {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.55rem;
    color: #334155;
    font-weight: 700;
}

.pricing-start__consent input {
    margin-top: 0.2rem;
}

.assisted-setup-list {
    display: grid;
    gap: 0.8rem;
}

.assisted-setup-request {
    display: grid;
    gap: 0.85rem;
    padding: 0.9rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #ffffff;
}

.assisted-setup-request__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
}

.assisted-setup-request__top h4,
.assisted-setup-request__top p,
.assisted-setup-request__details,
.assisted-setup-request__details dd,
.assisted-setup-request__notes p {
    margin: 0;
}

.assisted-setup-request__top h4 {
    color: #0f172a;
    font-size: 1rem;
}

.assisted-setup-request__top p,
.assisted-setup-request__details dd,
.assisted-setup-request__notes p {
    color: #475569;
}

.assisted-setup-request__details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.assisted-setup-request__details div,
.assisted-setup-request__notes {
    display: grid;
    gap: 0.18rem;
    padding: 0.62rem;
    border-radius: 5px;
    background: #f8fafc;
}

.assisted-setup-request__details dt,
.assisted-setup-request__notes strong {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

@media (max-width: 980px) {
    .pricing-hero,
    .pricing-section--split,
    .pricing-start,
    .pricing-feature-grid,
    .pricing-plan-grid {
        grid-template-columns: 1fr;
    }

    .pricing-start__actions {
        justify-content: flex-start;
    }

    .assisted-setup-request__details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .pricing-hero h2 {
        font-size: 2.15rem;
    }

    .pricing-hero__actions .button,
    .pricing-start__actions .button {
        width: 100%;
    }

    .pricing-start__form-grid,
    .assisted-setup-request__details {
        grid-template-columns: 1fr;
    }

    .assisted-setup-request__top {
        display: grid;
    }
}

/* THEME-PASS-001 - professional navy/white polish */
:root {
    --od-theme-primary: #002B55;
    --od-theme-primary-hover: #00213F;
    --od-theme-topbar: #0D3358;
    --od-theme-primary-soft: #EAF2F8;
    --od-theme-page: #F3F5F7;
    --od-theme-card: #FFFFFF;
    --od-theme-border: #DDE5EC;
    --od-theme-text: #102033;
    --od-theme-muted: #5E6B78;
    --od-theme-success: #2F8F5B;
    --od-theme-warning: #B7791F;
    --od-theme-danger: #B42318;
    --od-theme-info: #0D5E9C;
    --od-theme-focus: rgba(0, 43, 85, 0.22);

    --od-ui-blue: var(--od-theme-primary);
    --od-ui-blue-strong: var(--od-theme-primary-hover);
    --od-ui-blue-soft: var(--od-theme-primary-soft);
    --od-ui-teal: var(--od-theme-success);
    --od-ui-teal-soft: #ECF7F1;
    --od-ui-purple: var(--od-theme-info);
    --od-ui-purple-soft: var(--od-theme-primary-soft);
    --od-ui-red: var(--od-theme-danger);
    --od-ui-text: var(--od-theme-text);
    --od-ui-text-muted: var(--od-theme-muted);
    --od-ui-card-border: rgba(0, 43, 85, 0.12);
    --od-ui-card-border-strong: rgba(0, 43, 85, 0.18);
    --od-ui-shadow-action: 0 8px 18px rgba(0, 43, 85, 0.16);
}

body,
.app-shell,
.app-shell--authenticated {
    background: var(--od-theme-page);
}

.side-rail,
.site-header--authenticated {
    background: #FFFFFF;
}

.side-rail {
    border-right-color: var(--od-theme-border);
}

.side-rail__workspace-tag,
.shell-workspace__role,
.side-nav__link.is-active,
.top-nav__link.is-active,
.side-nav__link.is-active .side-nav__icon,
.top-nav__link.is-active .top-nav__icon {
    background: var(--od-theme-primary-soft);
    border-color: rgba(0, 43, 85, 0.18);
    color: var(--od-theme-primary);
}

.shell-eyebrow,
.page-header__eyebrow,
.command-card__eyebrow,
.assistant-card-eyebrow,
.od-page-heading__eyebrow {
    color: var(--od-theme-primary);
}

.side-nav__link,
.top-nav__link,
.mobile-menu-toggle,
.shell-workspace,
.form-control,
input.form-control,
select.form-control,
textarea.form-control,
.table-wrap,
.dashboard-list__item,
.stack-list__item,
.metric-card,
.command-card,
.attention-item,
.signal-row,
.signal-list li,
.compact-list li,
.appointment-detail-hero,
.appointment-detail-card,
.appointment-detail-reminder-bar,
.appointment-detail-history-item,
.appointment-detail-modal,
.daily-ops-kpi,
.daily-ops-note,
.daily-ops-callout,
.field-cockpit-note,
.schedule-card,
.daily-ops-list__item--exception,
.od-app-card,
.od-stat-tile,
.od-action-tile,
.assisted-setup-request {
    border-color: var(--od-theme-border);
}

.panel,
.surface-muted,
.dashboard-card,
.summary-card,
.hero-card,
.command-card,
.metric-card,
.dashboard-list__item,
.stack-list__item,
.appointment-detail-hero,
.appointment-detail-card,
.daily-ops-kpi,
.daily-ops-note,
.daily-ops-callout,
.schedule-card,
.field-cockpit-card,
.od-app-card,
.od-stat-tile,
.od-action-tile,
.assisted-setup-request {
    background: var(--od-theme-card);
}

.surface-muted,
.feature-readiness-strip,
.feature-readiness-strip__item,
.schedule-card__highlight,
.schedule-card__note,
.assistant-detail-item,
.assistant-empty-state,
.assisted-setup-request__details div,
.assisted-setup-request__notes {
    background: #FAFCFE;
}

.side-nav__icon,
.top-nav__icon,
.nav-link__icon,
.sidebar__icon,
.od-icon-badge {
    width: 1.4rem;
    height: 1.4rem;
    border-color: rgba(0, 43, 85, 0.14);
    background: var(--od-theme-primary-soft);
    color: var(--od-theme-primary);
    stroke-width: 1.85;
}

.button-primary,
button.button-primary,
a.button-primary {
    background: var(--od-theme-primary);
    border-color: var(--od-theme-primary-hover);
    color: #FFFFFF;
    box-shadow: 0 4px 10px rgba(0, 43, 85, 0.16);
}

.button-primary:hover,
button.button-primary:hover,
a.button-primary:hover {
    background: var(--od-theme-primary-hover);
    border-color: var(--od-theme-primary-hover);
}

.button-secondary,
button.button-secondary,
a.button-secondary,
.schedule-nav__link {
    background: #FFFFFF;
    border-color: #C8D5DF;
    color: var(--od-theme-text);
}

.button-secondary:hover,
button.button-secondary:hover,
a.button-secondary:hover,
.schedule-nav__link:hover {
    background: var(--od-theme-primary-soft);
    border-color: rgba(0, 43, 85, 0.28);
    color: var(--od-theme-primary);
}

.badge,
.status-pill,
.priority-pill,
.severity-pill,
.schedule-card__status,
.od-status-muted {
    background: #EEF3F7;
    border-color: rgba(0, 43, 85, 0.12);
    color: #405266;
}

.badge-success,
.status--confirmed,
.status--completed,
.status--ok,
.severity-pill--low,
.od-status-success,
.od-status-healthy,
.od-status-complete,
.od-status-completed {
    background: #ECF7F1;
    border-color: rgba(47, 143, 91, 0.22);
    color: var(--od-theme-success);
}

.badge--warning,
.od-badge-warning,
.alert-warning,
.status--warning,
.severity-pill--medium {
    background: #FFF7E6;
    border-color: rgba(183, 121, 31, 0.24);
    color: var(--od-theme-warning);
}

.badge--info,
.status--scheduled,
.status--in_progress,
.severity-pill--high,
.button--warning-soft,
.button-field--omw,
.button-field--start,
.button-field--info,
.od-status-primary,
.od-status-active,
.od-status-workflow,
.od-status-revenue {
    background: var(--od-theme-primary-soft);
    border-color: rgba(0, 43, 85, 0.18);
    color: var(--od-theme-primary);
}

.badge--danger,
.alert-error,
.flash-error,
.status--cancelled,
.status--failed,
.severity-pill--critical,
.od-status-danger,
.od-status-error {
    background: #FEF2F2;
    border-color: rgba(180, 35, 24, 0.22);
    color: var(--od-theme-danger);
}

.command-card--priority,
.field-cockpit-card--primary,
.schedule-card--attention,
.appointment-detail-card--info,
.od-app-card--blue,
.dashboard-ops .command-card--priority {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--od-theme-primary-soft) 100%);
    border-color: rgba(0, 43, 85, 0.18);
}

.appointment-detail-card--accent,
.appointment-detail-upsell,
.od-app-card--workflow,
.od-app-card--revenue {
    background: #F4F8FB;
    border-color: rgba(13, 94, 156, 0.18);
}

.appointment-detail-card--upsells {
    border-top-color: var(--od-theme-info);
}

.form-control:focus,
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus {
    border-color: var(--od-theme-primary);
    box-shadow: 0 0 0 3px var(--od-theme-focus);
}

.table-wrap th,
th {
    background: #F3F7FA;
    color: var(--od-theme-text);
}

.page-header {
    border-left-color: var(--od-theme-primary);
}

.site-header {
    border-bottom-color: var(--od-theme-border);
}

.top-nav.is-open {
    max-height: calc(100vh - 5.5rem);
    overflow-y: auto;
}

@media (min-width: 861px) {
    .side-rail {
        height: 100vh;
        overflow: hidden;
    }

    .side-rail__inner {
        height: 100vh;
        overflow-y: auto;
    }
}
/* End THEME-PASS-001 */

/* OPENDOG THEME DEPTH 003 START
   Stronger premium SaaS depth pass after visual review.
   Goal: less flat, richer card separation, darker soft background, stronger shadows.
*/

:root {
  --od-page-bg: #F3F5F7;
  --od-surface: #FFFFFF;
  --od-surface-soft: #F8FBFD;
  --od-border: #D8DEE6;
  --od-border-strong: #C8D0DA;

  --od-primary: #002B55;
  --od-primary-hover: #00213F;
  --od-topbar: #0D3358;
  --od-primary-soft: #EAF0F6;

  --od-text: #102033;
  --od-muted: #5E6B78;

  --od-shadow-soft: 0 5px 16px rgba(16, 32, 51, 0.09);
  --od-shadow-card: 0 10px 26px rgba(16, 32, 51, 0.12);
  --od-shadow-panel: 0 14px 36px rgba(16, 32, 51, 0.14);
  --od-shadow-lift: 0 18px 44px rgba(16, 32, 51, 0.16);
}

html,
body,
.app-shell,
.app-main,
.main-content,
.page-shell,
.page-content,
.admin-page,
.platform-page,
.content,
.main,
.dashboard-page,
.dispatch-board,
.calendar-board,
.daily-operations,
.schedule-workspace {
  background: var(--od-page-bg) !important;
}

.app-content,
.workspace,
.workspace-body,
.admin-content,
.platform-content {
  background: transparent !important;
}

.page-card,
.page-panel,
.content-panel,
.section-panel,
.dashboard-panel,
.report-panel,
.reports-panel,
.operations-panel,
.daily-operations-card,
.dispatch-review-card,
.calendar-workspace,
.schedule-workspace-card,
.payment-panel,
.website-panel,
.platform-panel,
.tenant-panel,
.business-panel,
.customer-panel,
.invoice-panel,
.appointment-panel {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-panel) !important;
}

.card,
.panel,
.box,
.tile,
.stat-card,
.metric-card,
.summary-card,
.dashboard-card,
.readiness-card,
.feature-card,
.report-card,
.export-card,
.quickbooks-card,
.payment-card,
.route-card,
.dispatch-card,
.dispatch-lane,
.lane-card,
.visit-card,
.appointment-card,
.customer-card,
.pet-card,
.service-card,
.invoice-card,
.website-card,
.domain-card,
.platform-card,
.business-card,
.tenant-card,
.settings-card,
.form-card,
.table-card,
.empty-state,
.feature-readiness-strip,
.admin-card,
.admin-section,
.report-section,
.export-section,
.quickbooks-section,
.accounting-section,
.payment-section,
.messaging-section,
.website-section,
.custom-domain-section,
.route-section,
.dispatch-section,
.calendar-section,
.customer-section,
.service-section,
.invoice-section,
.appointment-section,
.setup-section {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-card) !important;
}

.page-hero,
.hero-card,
.operations-hero,
.report-summary,
.platform-summary,
.payment-summary,
.website-summary,
.dispatch-summary,
.calendar-summary,
.dashboard-summary,
.owner-snapshot,
.summary-strip {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-lift) !important;
}

.card,
.panel,
.box,
.tile,
.stat-card,
.metric-card,
.summary-card,
.dashboard-card,
.readiness-card,
.report-card,
.export-card,
.route-card,
.dispatch-card,
.dispatch-lane,
.lane-card,
.visit-card,
.appointment-card,
.customer-card,
.pet-card,
.service-card,
.invoice-card,
.website-card,
.platform-card,
.business-card,
.tenant-card,
.settings-card,
.form-card,
.table-card,
.empty-state,
.page-card,
.page-panel,
.content-panel,
.section-panel {
  border-radius: var(--radius, 8px);
}

a.card:hover,
a.panel:hover,
.clickable-card:hover,
.dispatch-lane:hover,
.business-card:hover,
.customer-card:hover,
.appointment-card:hover,
.service-card:hover,
.report-card:hover,
.export-card:hover {
  box-shadow: var(--od-shadow-lift) !important;
  transform: translateY(-1px);
}

input,
select,
textarea,
.filter-control,
.form-control {
  background: #FFFFFF !important;
  border: 1px solid var(--od-border-strong) !important;
  color: var(--od-text) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  border-color: var(--od-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 43, 85, 0.14) !important;
  outline: none !important;
}

.table-wrap,
.table-wrapper,
.responsive-table,
.data-table-wrap {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-card) !important;
}

thead,
.table thead {
  background: #F2F7FB !important;
}

.nav-link.active,
.sidebar a.active,
.side-nav a.active,
.menu-link.active {
  background: var(--od-primary-soft) !important;
  border-color: #AFC7DC !important;
  color: var(--od-primary) !important;
  box-shadow: var(--od-shadow-soft) !important;
}

.dispatch-lane,
.lane-card,
.daily-lane,
.route-lane,
.calendar-card,
.visit-card,
.appointment-row {
  background: #FFFFFF !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-card) !important;
}

.public-site,
.public-site-page {
  background: var(--od-page-bg) !important;
}

.public-site .card,
.public-site .section,
.public-site .panel,
.public-site .service-card,
.public-site .hero,
.public-site .request-card,
.public-site .trust-card {
  background: #FFFFFF !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-card) !important;
}

/* OPENDOG THEME DEPTH COVERAGE 004 START
   Apply the existing depth tokens to actual page/view class families.
   This is coverage only; shadow strengths and color direction stay unchanged.
*/

.dashboard-v2__hero,
.dashboard-v2__section,
.dispatch-v2__hero,
.dispatch-v2__lane,
.daily-ops-section,
.daily-ops-sidebar-card,
.field-cockpit-card,
.reports-dashboard__intro,
.reports-policy-panel,
.reports-payment-summary,
.reports-filter-panel,
.website-builder-media-shell,
.website-preview-shell,
.platform-terminology-note {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-panel) !important;
}

.od-v2-card,
.dashboard-v2 .od-v2-card,
.dashboard-v2 .od-v2-stat-card,
.dashboard-v2 .od-v2-action-card,
.dashboard-v2-alert,
.dashboard-v2-row,
.dashboard-v2-mini-stats > div,
.dispatch-v2__filters,
.dispatch-v2__metric,
.dispatch-v2__stop,
.dispatch-v2__gap-list,
.dispatch-v2__gap-item,
.daily-ops-kpi,
.daily-ops-note,
.daily-ops-callout,
.daily-ops-list__item,
.schedule-card,
.schedule-v2__soft-card,
.field-cockpit-note,
.top-level-v2__summary-strip,
.top-level-v2__metric,
.stack-list__item,
.utility-card,
.utility-list-card,
.ui2-adminops-card,
.ui2-adminops-form-card,
.ui2-sensitive-card,
.utility-table,
.reports-ux-guide,
.reports-catalog-heading,
.reports-ux-card,
.reports-card,
.reports-payment-summary__stats article,
.reports-payment-panel,
.reports-table-wrap,
.reports-access-row,
.appointment-readiness,
.appointment-form-guide,
.record-workflow-guide,
.appointment-readiness-item,
.appointment-search-results__item,
.quick-note-section,
.info-card,
.od-selected-customer,
.website-builder-step,
.website-builder-media-form,
.website-builder-media-slot,
.website-builder-media-empty,
.website-builder-media-item,
.website-builder-form-intro,
.website-builder-media-callout,
.website-preview-status-grid > div,
.website-preview-feature,
.website-preview-hero-card,
.platform-customer-card,
.platform-customer-card__metrics div {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-card) !important;
}

.top-level-v2__table-wrap,
.ui2-sensitive-table-wrap,
.table-responsive {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  box-shadow: var(--od-shadow-card) !important;
}

.dashboard-v2 .od-v2-action-card:hover,
.dispatch-v2__stop:hover,
.stack-list__item:hover,
.platform-customer-card:hover {
  box-shadow: var(--od-shadow-lift) !important;
}

/* OPENDOG THEME DEPTH COVERAGE 004 END */

/* OPENDOG PROFESSIONAL COLOR HEADER 005 START
   Neutral gray background plus restrained navy/header polish.
   Keeps depth tokens and existing layout behavior intact.
*/

:root {
  --od-page-bg: #F3F5F7;
  --od-theme-page: #F3F5F7;
  --od-border: #D8DEE6;
  --od-border-strong: #C8D0DA;
  --od-primary-soft: #EAF0F6;
  --od-header-bg: #FFFFFF;
  --od-header-border: #D8DEE6;
  --od-nav-hover-bg: #F7F9FB;
  --od-nav-active-bg: #F4F8FB;
  --od-nav-active-border: #BBD0E3;
}

html,
body,
.app-shell,
.app-shell--authenticated,
.app-main,
.main-content,
.page-shell,
.page-content,
.admin-page,
.platform-page,
.content,
.main,
.dashboard-page,
.dispatch-board,
.calendar-board,
.daily-operations,
.schedule-workspace {
  background: var(--od-page-bg) !important;
}

.side-rail {
  background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FB 100%) !important;
  border-right-color: var(--od-header-border) !important;
  box-shadow: 1px 0 0 rgba(16, 32, 51, 0.04) !important;
}

.site-header,
.site-header--authenticated,
.app-shell--authenticated .site-header,
.top-nav {
  background: rgba(255, 255, 255, 0.97) !important;
  border-color: var(--od-header-border) !important;
}

@media (max-width: 720px) {
  body:has(.utility-workspace--messaging),
  body:has(.utility-workspace--messaging) .app-shell,
  body:has(.utility-workspace--messaging) .app-shell--authenticated,
  body:has(.utility-workspace--messaging) .workspace-shell,
  body:has(.utility-workspace--messaging) .workspace-shell--authenticated,
  body:has(.utility-workspace--messaging) .app-main,
  body:has(.utility-workspace--messaging) .site-header,
  body:has(.utility-workspace--messaging) .site-header__inner {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
  }

  body:has(.utility-workspace--messaging) .app-shell,
  body:has(.utility-workspace--messaging) .workspace-shell {
    overflow-x: hidden !important;
  }

  .utility-workspace--messaging .table-responsive {
    overflow: visible !important;
  }

  .utility-workspace--messaging table.table,
  .utility-workspace--messaging table.table thead,
  .utility-workspace--messaging table.table tbody,
  .utility-workspace--messaging table.table tr,
  .utility-workspace--messaging table.table th,
  .utility-workspace--messaging table.table td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
  }

  .utility-workspace--messaging table.table thead {
    display: none;
  }

  .utility-workspace--messaging table.table tr {
    border-top: 1px solid var(--od-border);
    padding: 0.65rem 0;
  }

  .utility-workspace--messaging table.table td {
    padding: 0.28rem 0 !important;
    word-break: break-word;
  }
}

.side-rail__brand {
  border-bottom-color: var(--od-header-border) !important;
}

.side-rail__product,
.shell-context__title,
.shell-brand h1,
.od-v2-page-title,
.dashboard-v2__section-title,
.utility-section-title,
.reports-dashboard__intro h3,
.reports-policy-panel h3,
.reports-card h3 {
  color: var(--od-primary) !important;
}

.shell-eyebrow,
.page-header__eyebrow,
.command-card__eyebrow,
.assistant-card-eyebrow,
.od-page-heading__eyebrow,
.od-v2-eyebrow,
.side-nav__label,
.top-nav__label {
  color: #526174 !important;
}

.side-nav__link,
.top-nav__link {
  color: #334155 !important;
}

.side-nav__link:hover,
.top-nav__link:hover,
.nav-link:hover,
.sidebar a:hover,
.side-nav a:hover,
.menu-link:hover {
  background: var(--od-nav-hover-bg) !important;
  border-color: var(--od-border-strong) !important;
  color: var(--od-primary) !important;
}

.side-nav__link.is-active,
.top-nav__link.is-active,
.nav-link.active,
.sidebar a.active,
.side-nav a.active,
.menu-link.active {
  background: var(--od-nav-active-bg) !important;
  border-color: var(--od-nav-active-border) !important;
  color: var(--od-primary) !important;
  box-shadow: var(--od-shadow-soft) !important;
}

.side-nav__icon,
.top-nav__icon,
.nav-link__icon,
.sidebar__icon,
.od-icon-badge,
.od-v2-icon-box {
  border-color: rgba(0, 43, 85, 0.14) !important;
  background: #FFFFFF !important;
  color: var(--od-primary) !important;
}

.side-nav__link.is-active .side-nav__icon,
.top-nav__link.is-active .top-nav__icon,
.side-nav__link:hover .side-nav__icon,
.top-nav__link:hover .top-nav__icon {
  background: #FFFFFF !important;
  border-color: var(--od-nav-active-border) !important;
  color: var(--od-primary) !important;
}

.button-primary,
button.button-primary,
a.button-primary,
.dashboard-v2 .button-primary.od-v2-button {
  background: var(--od-primary) !important;
  border-color: var(--od-primary-hover) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 18px rgba(0, 43, 85, 0.16) !important;
}

.button-primary:hover,
button.button-primary:hover,
a.button-primary:hover,
.dashboard-v2 .button-primary.od-v2-button:hover {
  background: var(--od-primary-hover) !important;
  border-color: var(--od-primary-hover) !important;
}

.button-secondary,
button.button-secondary,
a.button-secondary,
.schedule-nav__link {
  background: #FFFFFF !important;
  border-color: var(--od-border-strong) !important;
  color: #334155 !important;
}

.button-secondary:hover,
button.button-secondary:hover,
a.button-secondary:hover,
.schedule-nav__link:hover {
  background: var(--od-nav-hover-bg) !important;
  border-color: rgba(0, 43, 85, 0.22) !important;
  color: var(--od-primary) !important;
}

.badge,
.status-pill,
.priority-pill,
.severity-pill,
.schedule-card__status,
.od-status-muted,
.od-v2-status,
.dashboard-v2 .od-v2-status {
  background: #F7F9FB !important;
  border-color: var(--od-border) !important;
  color: #475569 !important;
}

.badge--info,
.od-status-primary,
.od-status-active,
.od-status-workflow,
.od-status-revenue,
.od-v2-status--primary,
.od-v2-status--active,
.od-v2-status--workflow,
.od-v2-status--revenue,
.dashboard-v2 .od-v2-status--primary,
.dashboard-v2 .od-v2-status--workflow {
  background: var(--od-primary-soft) !important;
  border-color: rgba(0, 43, 85, 0.18) !important;
  color: var(--od-primary) !important;
}

.badge--danger,
.alert-error,
.flash-error,
.status--cancelled,
.status--failed,
.severity-pill--critical,
.od-status-danger,
.od-status-error,
.od-v2-status--danger,
.od-v2-status--attention,
.dashboard-v2 .od-v2-status--danger,
.dashboard-v2 .od-v2-status--attention {
  background: #FFF1F1 !important;
  border-color: rgba(180, 35, 24, 0.22) !important;
  color: #9F1D15 !important;
}

thead,
.table thead,
.table-wrap th,
th {
  background: #F7F9FB !important;
}

.page-card,
.page-panel,
.content-panel,
.section-panel,
.dashboard-panel,
.report-panel,
.reports-panel,
.operations-panel,
.daily-operations-card,
.dispatch-review-card,
.calendar-workspace,
.schedule-workspace-card,
.payment-panel,
.website-panel,
.platform-panel,
.tenant-panel,
.business-panel,
.customer-panel,
.invoice-panel,
.appointment-panel,
.card,
.panel,
.box,
.tile,
.stat-card,
.metric-card,
.summary-card,
.dashboard-card,
.readiness-card,
.feature-card,
.report-card,
.export-card,
.quickbooks-card,
.payment-card,
.route-card,
.dispatch-card,
.dispatch-lane,
.lane-card,
.visit-card,
.appointment-card,
.customer-card,
.pet-card,
.service-card,
.invoice-card,
.website-card,
.domain-card,
.platform-card,
.business-card,
.tenant-card,
.settings-card,
.form-card,
.table-card,
.empty-state,
.od-v2-card,
.dashboard-v2 .od-v2-card,
.dashboard-v2 .od-v2-stat-card,
.dashboard-v2 .od-v2-action-card,
.dashboard-v2-alert,
.dashboard-v2-row,
.dispatch-v2__lane,
.dispatch-v2__stop,
.reports-card,
.utility-card,
.ui2-adminops-card,
.ui2-sensitive-card,
.platform-customer-card {
  border-color: var(--od-border) !important;
}

/* OPENDOG SIDEBAR ACTIVE STATE 006 START
   Keep active navigation visible without dark filled icon blocks or heavy bars.
*/

:root {
  --od-nav-active-bg: #F4F8FB;
  --od-nav-active-border: #BBD0E3;
}

.side-nav__link.is-active,
.top-nav__link.is-active,
.sidebar a.is-active,
.sidebar-nav a.is-active,
.app-sidebar a.is-active,
.nav-link.is-active,
.nav-link.active,
.sidebar a.active,
.side-nav a.active,
.menu-link.active,
.sidebar a[aria-current="page"],
.sidebar-nav a[aria-current="page"],
.app-sidebar a[aria-current="page"] {
  background: var(--od-nav-active-bg) !important;
  border-color: var(--od-nav-active-border) !important;
  color: var(--od-primary) !important;
  box-shadow: var(--od-shadow-soft) !important;
}

.side-nav__link.is-active::before,
.top-nav__link.is-active::before,
.sidebar a.is-active::before,
.sidebar-nav a.is-active::before,
.app-sidebar a.is-active::before,
.nav-link.is-active::before,
.nav-link.active::before,
.sidebar a.active::before,
.side-nav a.active::before,
.menu-link.active::before,
.sidebar a[aria-current="page"]::before,
.sidebar-nav a[aria-current="page"]::before,
.app-sidebar a[aria-current="page"]::before {
  content: none !important;
  display: none !important;
  background: transparent !important;
  border: 0 !important;
}

.side-nav__link.is-active .side-nav__icon,
.top-nav__link.is-active .top-nav__icon,
.sidebar a.is-active .sidebar__icon,
.sidebar-nav a.is-active .sidebar__icon,
.app-sidebar a.is-active .sidebar__icon,
.nav-link.is-active .nav-link__icon,
.nav-link.active .nav-link__icon,
.sidebar a.active .sidebar__icon,
.side-nav a.active .side-nav__icon,
.menu-link.active .nav-link__icon,
.sidebar a[aria-current="page"] .sidebar__icon,
.sidebar-nav a[aria-current="page"] .sidebar__icon,
.app-sidebar a[aria-current="page"] .sidebar__icon {
  background: #FFFFFF !important;
  border-color: var(--od-nav-active-border) !important;
  color: var(--od-primary) !important;
  box-shadow: none !important;
}

/* OPENDOG SIDEBAR ACTIVE STATE 006 END */

/* OPENDOG MOBILE FIELD WORKFLOW 001 START
   Keep phone/tablet field pages usable after multi-pet, per-pet service,
   invoice adjustment, and appointment audit controls.
*/

.mobile-field-service-card,
.mobile-field-service-row,
.top-level-v2__top-container.ui2-adminops-top,
.ui2-adminops-top .page-header,
.ui2-adminops-top .page-header__content {
  max-width: 100%;
  min-width: 0;
}

.mobile-field-service-card__header,
.mobile-field-service-row .form-control,
.mobile-field-service-row textarea,
.mobile-field-service-row select,
.mobile-field-service-row input {
  min-width: 0;
}

@media (max-width: 760px) {
  .ui2-adminops-page.panel,
  .utility-workspace.ui2-adminops-page,
  .reports-dashboard,
  .reports-policy-panel,
  .reports-ux-guide,
  .reports-payment-summary,
  .reports-filter-panel,
  .utility-workspace--staff .ui2-adminops-list,
  .utility-workspace--staff .ui2-adminops-row,
  .utility-workspace--staff .form-stack {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .top-level-v2__top-container.ui2-adminops-top,
  .ui2-adminops-top .page-header,
  .ui2-adminops-top .page-header__content,
  .utility-workspace--staff .stack-list__item,
  .utility-workspace--staff .ui2-adminops-row--form > form,
  .utility-workspace--staff .utility-split-row,
  .utility-workspace--staff .staff-identity-summary,
  .utility-workspace--staff .stack-list__title,
  .utility-workspace--staff .dashboard-list__meta,
  .reports-policy-panel__header,
  .reports-policy-panel__header > div,
  .reports-policy-panel h3,
  .reports-policy-panel p,
  .reports-policy-panel .table-scroll {
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .utility-workspace--staff .utility-split-row,
  .reports-policy-panel__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .utility-workspace--staff .stack-list__title,
  .utility-workspace--staff .dashboard-list__meta,
  .reports-policy-panel h3,
  .reports-policy-panel p {
    overflow-wrap: anywhere;
  }

  .reports-policy-panel .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .reports-dashboard :where(section, article, div, h3, h4, p),
  .utility-workspace--staff :where(article, form, div, strong, p, span) {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  .ui2-adminops-top .page-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ui2-adminops-top .page-header__title,
  .ui2-adminops-top .page-header__meta,
  .ui2-adminops-top .page-header__eyebrow {
    overflow-wrap: anywhere;
  }

  .mobile-field-service-card {
    padding: 0.82rem !important;
  }

  .mobile-field-service-card__header {
    align-items: stretch !important;
    flex-direction: column;
  }

  .mobile-field-service-card__header .button {
    width: 100%;
  }

  .mobile-field-service-row {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 0.75rem 0;
    border-top: 1px solid var(--od-border);
  }

  .mobile-field-service-row:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .top-level-v2--invoice-detail #invoice-corrections .ui2-sensitive-table-wrap,
  .top-level-v2--invoice-detail #invoice-adjustment-history .ui2-sensitive-table-wrap {
    overflow-x: visible;
  }

  .top-level-v2--invoice-detail #invoice-corrections table,
  .top-level-v2--invoice-detail #invoice-corrections thead,
  .top-level-v2--invoice-detail #invoice-corrections tbody,
  .top-level-v2--invoice-detail #invoice-corrections tfoot,
  .top-level-v2--invoice-detail #invoice-corrections tr,
  .top-level-v2--invoice-detail #invoice-corrections th,
  .top-level-v2--invoice-detail #invoice-corrections td,
  .top-level-v2--invoice-detail #invoice-adjustment-history table,
  .top-level-v2--invoice-detail #invoice-adjustment-history thead,
  .top-level-v2--invoice-detail #invoice-adjustment-history tbody,
  .top-level-v2--invoice-detail #invoice-adjustment-history tr,
  .top-level-v2--invoice-detail #invoice-adjustment-history th,
  .top-level-v2--invoice-detail #invoice-adjustment-history td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
  }

  .top-level-v2--invoice-detail #invoice-corrections thead,
  .top-level-v2--invoice-detail #invoice-adjustment-history thead {
    display: none;
  }

  .top-level-v2--invoice-detail #invoice-corrections tr,
  .top-level-v2--invoice-detail #invoice-adjustment-history tr {
    margin-bottom: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--od-border) !important;
    border-radius: 5px;
    background: #FFFFFF;
  }

  .top-level-v2--invoice-detail #invoice-corrections td,
  .top-level-v2--invoice-detail #invoice-corrections th,
  .top-level-v2--invoice-detail #invoice-adjustment-history td,
  .top-level-v2--invoice-detail #invoice-adjustment-history th {
    padding: 0.35rem 0 !important;
    text-align: left !important;
  }

  .top-level-v2--invoice-detail #invoice-corrections tfoot tr {
    background: var(--od-primary-soft);
  }

  .top-level-v2--invoice-detail #invoice-corrections td:nth-child(2)::before { content: "Type: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-corrections td:nth-child(3)::before { content: "Qty: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-corrections td:nth-child(4)::before { content: "Unit amount: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-corrections td:nth-child(5)::before { content: "Total: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-corrections td:nth-child(6)::before { content: "Action: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-adjustment-history td:nth-child(1)::before { content: "When: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-adjustment-history td:nth-child(2)::before { content: "Who: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-adjustment-history td:nth-child(3)::before { content: "Adjustment: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-adjustment-history td:nth-child(4)::before { content: "Amount: "; font-weight: 800; }
  .top-level-v2--invoice-detail #invoice-adjustment-history td:nth-child(5)::before { content: "Reason: "; font-weight: 800; }

  .top-level-v2--invoice-detail #invoice-corrections details .button,
  .top-level-v2--invoice-detail #invoice-corrections form .button,
  .top-level-v2--invoice-detail #invoice-corrections details form,
  .top-level-v2--invoice-detail #invoice-corrections form {
    width: 100%;
    min-width: 0 !important;
  }
}

/* OPENDOG MOBILE FIELD WORKFLOW 001 END */

/* OPENDOG PLATFORM SETTINGS 001 START */
.platform-settings-page {
    display: grid;
    gap: 1.1rem;
    min-width: 0;
}

.platform-settings-hero {
    align-items: center;
}

.platform-settings-security {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-color: rgba(14, 165, 233, 0.18);
}

.platform-settings-security__badges,
.platform-settings-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.platform-settings-section {
    display: grid;
    gap: 0.85rem;
}

.platform-settings-section__header {
    padding: 0 0.1rem;
}

.platform-settings-section__header > p {
    max-width: 42rem;
}

.platform-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(20rem, 1fr));
    gap: 1rem;
    align-items: start;
}

.platform-provider-card {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
    align-self: start;
    padding: 1rem !important;
    min-height: 17rem;
}

.platform-provider-card__top,
.platform-provider-card__actions {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.platform-provider-card__badges,
.platform-provider-card__actions--secondary {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.platform-provider-card__status-note {
    min-height: 3.6rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.35;
}

.platform-provider-card__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.platform-provider-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.platform-provider-editor {
    display: grid;
    gap: 1rem;
}

.platform-provider-editor__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.platform-provider-editor__status {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.platform-provider-card__meta > div,
.platform-provider-editor__status > div {
    min-width: 0;
    padding: 0.62rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.platform-provider-card__meta span,
.platform-provider-editor__status span {
    display: block;
    margin-bottom: 0.25rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.platform-provider-card__meta strong,
.platform-provider-editor__status strong {
    display: block;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.platform-provider-form {
    display: grid;
    gap: 0.8rem;
}

.platform-provider-edit {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
}

.platform-provider-edit summary {
    cursor: pointer;
    color: #0f172a;
    font-weight: 850;
}

.platform-provider-edit[open] summary {
    margin-bottom: 0.75rem;
}

.platform-provider-form label {
    min-width: 0;
}

.platform-provider-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #0f172a;
    font-weight: 750;
}

.platform-provider-form__notes {
    min-height: 4.5rem;
}

.platform-provider-form__pricing-field {
    grid-column: 1 / -1;
}

.platform-provider-form__pricing-json {
    min-height: 16rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.88rem;
    line-height: 1.45;
    white-space: pre;
}

.platform-provider-form__help {
    display: block;
    margin-top: 0.35rem;
}

.platform-provider-form__api-controls {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 8px;
}

.platform-maps-routing-toggles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.platform-maps-routing-toggles .platform-provider-toggle {
    align-items: flex-start;
    padding: 0.7rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 6px;
    background: #fff;
}

.platform-provider-form__pricing-defaults {
    margin-top: 0.55rem;
}

.platform-settings-usage {
    display: grid;
    gap: 1rem;
}

.platform-settings-usage__summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
}

.platform-settings-usage__summary > div {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.platform-settings-usage__summary span {
    display: block;
    margin-bottom: 0.25rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.platform-settings-usage__summary strong {
    display: block;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.platform-settings-usage__summary-wide {
    grid-column: span 2;
}

.platform-settings-usage__events summary {
    cursor: pointer;
    color: #0f172a;
    font-weight: 850;
}

.platform-settings-usage__table {
    margin-top: 0.75rem;
    max-height: 28rem;
    overflow: auto;
}

.platform-settings-usage__table table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
}

.platform-settings-usage__table th,
.platform-settings-usage__table td {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(219, 229, 240, 0.95);
    text-align: left;
    vertical-align: top;
    font-size: 0.86rem;
}

.platform-settings-usage__table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8fafc;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.platform-settings-usage__qa {
    padding: 0.9rem;
    border: 1px solid rgba(219, 229, 240, 0.95);
    border-radius: 5px;
    background: #f8fafc;
}

.platform-settings-usage__qa summary {
    cursor: pointer;
    color: #0f172a;
    font-weight: 850;
}

.platform-settings-usage__qa-body {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.75rem;
}

.platform-settings-usage__qa h4 {
    margin: 0 0 0.25rem;
}

@media (max-width: 900px) {
    .platform-settings-grid,
    .platform-provider-card__meta,
    .platform-provider-editor__status,
    .platform-provider-form__grid,
    .platform-settings-usage__summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .platform-maps-routing-toggles {
        grid-template-columns: minmax(0, 1fr);
    }

    .platform-settings-usage__summary-wide {
        grid-column: auto;
    }

    .platform-settings-security {
        align-items: flex-start;
        flex-direction: column;
    }

    .platform-settings-usage__qa-body {
        align-items: stretch;
        flex-direction: column;
    }

    .platform-provider-card__actions .button,
    .platform-provider-card__actions form {
        width: 100%;
    }

    .platform-settings-usage__qa .button,
    .platform-settings-usage__qa select,
    .platform-settings-usage__qa form {
        width: 100%;
    }
}

@media (min-width: 1280px) {
    .platform-settings-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .platform-provider-card__meta {
        grid-template-columns: minmax(0, 1fr);
    }

    .platform-provider-editor .platform-provider-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-provider-editor__status {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .platform-provider-card,
    .platform-provider-editor,
    .platform-settings-usage,
    .platform-settings-security {
        padding: 0.9rem !important;
    }

    .platform-settings-page,
    .platform-settings-page .panel,
    .platform-settings-page .form-control,
    .platform-settings-page .button {
        min-width: 0 !important;
        max-width: 100%;
    }
}

@media (max-width: 900px) {
    body:has(.platform-settings-page),
    body:has(.platform-settings-page) .app-shell,
    body:has(.platform-settings-page) .app-shell--authenticated,
    body:has(.platform-settings-page) .workspace-shell,
    body:has(.platform-settings-page) .workspace-shell--authenticated,
    body:has(.platform-settings-page) .app-main,
    body:has(.platform-settings-page) .site-header,
    body:has(.platform-settings-page) .site-header__inner {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
    }

    body:has(.platform-settings-page) .app-shell,
    body:has(.platform-settings-page) .workspace-shell {
        overflow-x: hidden !important;
    }

    .platform-settings-page .form-control,
    .platform-settings-page .button,
    .platform-settings-page form,
    .platform-settings-page label,
    .platform-settings-page details,
    .platform-settings-page summary {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}
/* OPENDOG PLATFORM SETTINGS 001 END */

/* OPENDOG PROFESSIONAL COLOR HEADER 005 END */

/* OPENDOG THEME DEPTH 003 END */
.mission-control {
    display: grid;
    gap: 1.15rem;
    max-width: 100%;
    overflow-x: hidden;
}

.mission-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.mission-hero__actions,
.mission-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.mission-tabs {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    overflow-x: visible;
    padding: 0.25rem 0 0.35rem;
}

.mission-tab {
    flex: 0 1 auto;
    border: 1px solid var(--border-subtle, #d8dee8);
    border-radius: 8px;
    color: var(--text-muted, #475569);
    background: #fff;
    padding: 0.55rem 0.75rem;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 650;
}

.mission-tabs--secondary {
    padding-top: 0;
}

.mission-tab--technical {
    border-style: dashed;
    background: #f8fafc;
}

.mission-owner-hero {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    align-items: flex-start;
}

.mission-owner-hero p {
    max-width: 58rem;
}

.mission-owner-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.mission-owner-grid--top {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.mission-owner-panel,
.mission-campaign-review,
.mission-report-card {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.mission-owner-panel--attention {
    border-color: rgba(210, 138, 14, 0.42);
}

.mission-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.mission-panel-heading h2,
.mission-panel-heading h3,
.mission-campaign-header h2,
.mission-campaign-header h3 {
    margin: 0;
}

.mission-panel-heading p,
.mission-campaign-header p {
    margin: 0.25rem 0 0;
    color: var(--text-muted, #64748b);
}

.mission-decision-card,
.mission-report-card,
.mission-campaign-review,
.mission-owner-plan,
.mission-completed-list li {
    border: 1px solid var(--border-subtle, #d8dee8);
    border-radius: 8px;
    background: #fff;
    padding: 0.95rem;
    min-width: 0;
}

.mission-decision-card h3,
.mission-report-card h3,
.mission-report-card h4,
.mission-campaign-review h3,
.mission-owner-plan h3 {
    margin: 0;
}

.mission-decision-copy {
    display: grid;
    gap: 0.55rem;
}

.mission-decision-copy p,
.mission-report-card p,
.mission-owner-plan p {
    margin: 0;
}

.mission-actions--primary,
.mission-actions--review {
    align-items: stretch;
}

.mission-actions--review .mission-inline-form {
    align-items: stretch;
}

.mission-actions--review .mission-note-input {
    min-width: min(18rem, 100%);
}

.mission-plan-list,
.mission-path-list,
.mission-completed-list {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mission-plan-list li,
.mission-path-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: start;
    border-bottom: 1px solid var(--border-subtle, #e2e8f0);
    padding-bottom: 0.7rem;
}

.mission-plan-list li:last-child,
.mission-path-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mission-plan-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #1f4f83;
    font-weight: 800;
}

.mission-plan-status {
    color: var(--text-muted, #64748b);
    font-weight: 750;
    white-space: nowrap;
}

.mission-readable-list {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding-left: 1.15rem;
}

.mission-result-grid,
.mission-asset-grid,
.mission-review-grid,
.mission-preview-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.mission-result-grid article,
.mission-asset-grid li,
.mission-review-grid article,
.mission-preview-details,
.mission-technical-details {
    border: 1px solid var(--border-subtle, #e2e8f0);
    border-radius: 8px;
    background: #f8fafc;
    padding: 0.8rem;
    min-width: 0;
}

.mission-result-grid strong,
.mission-asset-grid strong,
.mission-review-grid strong {
    display: block;
}

.mission-campaign-header {
    display: grid;
    gap: 0.45rem;
}

.mission-preview-details[open] {
    background: #fff;
}

.mission-preview-details summary,
.mission-technical-details summary {
    cursor: pointer;
    font-weight: 750;
}

.mission-markdown {
    display: grid;
    gap: 0.65rem;
    max-width: 74ch;
}

.mission-markdown h4,
.mission-markdown p,
.mission-markdown ul {
    margin-top: 0;
    margin-bottom: 0;
}

.marketing-lane-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.marketing-lane-card {
    display: grid;
    gap: 0.5rem;
    border: 1px solid var(--border-subtle, #e2e8f0);
    border-radius: 8px;
    background: #fff;
    padding: 0.85rem;
    min-width: 0;
}

.marketing-lane-card p {
    margin: 0;
    color: var(--text-muted, #64748b);
}

.marketing-lifecycle {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.marketing-lifecycle li {
    display: flex;
    align-items: center;
    min-height: 2.4rem;
    border: 1px solid var(--border-subtle, #e2e8f0);
    border-radius: 8px;
    background: #f8fafc;
    padding: 0.45rem 0.55rem;
    color: var(--text-muted, #475569);
    font-size: 0.82rem;
    font-weight: 750;
}

.marketing-status-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.marketing-status-strip a {
    text-decoration: none;
}

.mission-filter-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    align-items: end;
    margin: 1rem 0;
}

.mission-filter-bar label {
    display: grid;
    gap: 0.25rem;
    color: var(--text-muted, #64748b);
    font-size: 0.86rem;
    font-weight: 750;
}

.mission-callout {
    border: 1px solid var(--border-subtle, #e2e8f0);
    border-radius: 8px;
    padding: 0.9rem 1rem;
    margin: 1rem 0;
    background: #f8fafc;
}

.mission-callout ul {
    margin: 0.5rem 0 0;
    padding-left: 1.1rem;
}

.mission-tab.is-active {
    color: var(--text-strong, #102033);
    border-color: var(--accent, #3577d4);
    box-shadow: inset 0 0 0 1px var(--accent, #3577d4);
}

.mission-stats {
    margin-top: 0;
}

.mission-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

.mission-panel {
    display: grid;
    gap: 0.85rem;
}

.mission-panel h3,
.mission-report h4,
.mission-report h5 {
    margin: 0;
}

.mission-section-header,
.mission-row,
.mission-row__top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
}

.mission-row,
.mission-report {
    border: 1px solid var(--border-subtle, #d8dee8);
    border-radius: 8px;
    background: #fff;
    padding: 0.85rem;
}

.mission-row--stack,
.mission-report {
    display: grid;
    gap: 0.65rem;
}

.mission-row p,
.mission-report p {
    margin: 0.25rem 0 0;
    color: var(--text-muted, #475569);
}

.mission-muted,
.mission-empty {
    color: var(--text-muted, #64748b);
}

.mission-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    background: #eaf1fb;
    color: #244a78;
    font-size: 0.78rem;
    font-weight: 750;
    white-space: nowrap;
}

.mission-badge--success {
    background: #e6f6ee;
    color: #17613a;
}

.mission-badge--warning {
    background: #fff2d6;
    color: #7a4b00;
}

.mission-badge--danger {
    background: #ffe4e6;
    color: #9f1239;
}

.mission-badge--neutral {
    background: #eef2f7;
    color: #475569;
}

.mission-filters {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mission-filters input,
.mission-note-input {
    border: 1px solid var(--border-subtle, #d8dee8);
    border-radius: 8px;
    padding: 0.55rem 0.65rem;
    min-height: 2.25rem;
}

.mission-note-input {
    width: min(16rem, 100%);
}

.mission-inline-form {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}

.mission-confirm {
    display: inline-flex;
    gap: 0.25rem;
    align-items: center;
    color: var(--text-muted, #475569);
    font-size: 0.82rem;
}

.mission-small-button {
    min-height: 2.25rem;
    padding: 0.45rem 0.7rem;
}

.mission-table-wrap {
    overflow-x: auto;
}

.mission-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.mission-table th,
.mission-table td {
    border-bottom: 1px solid var(--border-subtle, #d8dee8);
    padding: 0.7rem;
    text-align: left;
    vertical-align: top;
}

.mission-table th {
    color: var(--text-muted, #475569);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.mission-inline-list {
    margin: 0.4rem 0 0.75rem;
    padding-left: 1.1rem;
}

.mission-history {
    border-top: 1px solid var(--border-subtle, #d8dee8);
    padding-top: 0.55rem;
}

.mission-history-list {
    display: grid;
    gap: 0.45rem;
    margin: 0.65rem 0 0;
    padding-left: 1.2rem;
}

.mission-pagination {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    justify-content: flex-end;
    border-top: 1px solid var(--border-subtle, #d8dee8);
    padding-top: 0.75rem;
}

.marketing-calculator {
    align-items: stretch;
}

.marketing-calculator__form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    width: min(100%, 980px);
}

.marketing-calculator__form label {
    display: grid;
    gap: 0.35rem;
    color: var(--marketing-muted);
    font-weight: 700;
}

.marketing-calculator__form input {
    width: 100%;
    border: 1px solid var(--marketing-border);
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
    color: var(--marketing-ink);
    background: #fff;
    font: inherit;
}

.marketing-calculator__result {
    grid-column: 1 / -1;
    border: 1px solid var(--marketing-mist);
    border-radius: 8px;
    padding: 1rem;
    background: #f5fbff;
    color: var(--marketing-ink);
    font-size: 1.4rem;
    font-weight: 800;
}

.marketing-calculator__formula,
.marketing-calculator__status {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--marketing-muted);
}

@media (max-width: 820px) {
    .mission-hero,
    .mission-owner-hero,
    .mission-section-header,
    .mission-row,
    .mission-row__top {
        flex-direction: column;
    }

    .mission-grid,
    .mission-owner-grid,
    .mission-owner-grid--top,
    .mission-result-grid,
    .mission-asset-grid,
    .mission-review-grid,
    .mission-preview-tabs,
    .marketing-lane-grid {
        grid-template-columns: 1fr;
    }

    .marketing-lifecycle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mission-filters,
    .mission-hero__actions,
    .mission-actions,
    .mission-inline-form,
    .mission-pagination {
        width: 100%;
    }

    .mission-filters input,
    .mission-note-input,
    .mission-small-button,
    .mission-tab,
    .mission-actions--primary .button {
        width: 100%;
    }

    .mission-plan-list li,
    .mission-path-list li {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .mission-plan-status {
        grid-column: 2;
        white-space: normal;
    }

    .marketing-calculator__form {
        grid-template-columns: 1fr;
    }
}

/* Missing-media fallback follows all public template theme rules. */
.public-site-page .public-site-premium-hero__media:empty {
    position: relative;
    overflow: hidden;
    min-height: clamp(360px, 54vw, 720px);
    background:
        radial-gradient(circle at 68% 30%, rgba(255, 255, 255, 0.72) 0 8%, transparent 8.5%),
        radial-gradient(circle at 78% 40%, rgba(255, 255, 255, 0.54) 0 5%, transparent 5.5%),
        linear-gradient(145deg, #dfe8e3 0%, #c9d8cf 42%, #9fb8aa 100%);
}

.public-site-page .public-site-premium-hero__media:empty::before {
    position: absolute;
    right: 8%;
    bottom: 9%;
    left: 8%;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 16px 40px rgba(24, 53, 45, 0.16);
    color: #173b32;
    content: "Private grooming, right at your door";
    font-size: clamp(1rem, 2vw, 1.35rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-align: center;
    backdrop-filter: blur(10px);
}

/* DESIGN-SYSTEM-001 final scoped precedence after legacy refinements. */
.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid a.od-v2-stat-card {
    color: inherit;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid a.od-v2-stat-card:hover,
.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid a.od-v2-stat-card:focus-visible {
    border-color: var(--od-theme-primary, #17324d);
    box-shadow: 0 10px 24px rgba(23, 50, 77, .12);
    transform: translateY(-1px);
}

.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid .od-v2-stat-card:first-child {
    grid-column: span 2;
    border-color: rgba(37, 99, 235, 0.25);
    background: linear-gradient(135deg, #17324d, #244b70);
}

.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid .od-v2-stat-card:first-child :is(.od-v2-stat-card__label, .od-v2-stat-card__value, .od-v2-stat-card__meta) {
    color: #fff;
}

.tenant-app-page--dashboard .dashboard-v2__hero.tenant-page-header,
.tenant-app-page--schedule .schedule-v2__hero.tenant-page-header {
    border-radius: 14px;
    background: linear-gradient(110deg, #fff 0%, #fff 68%, #f4f7fb 100%);
}

@media (max-width: 980px) {
    .tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid .od-v2-stat-card:first-child {
        grid-column: auto;
    }
}
.customer-address-places {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.customer-address-places gmp-place-autocomplete {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    color-scheme: light;
}

.customer-address-places > * {
    min-width: 0;
    max-width: 100%;
}

.customer-address-places[data-places-unavailable="true"] {
    display: none;
}

/* PRODUCT-THEATER-001 final cascade lock. */
body:has(.tenant-app-page) .side-rail,
body:has(.dispatch-v2) .side-rail { background: linear-gradient(180deg,#063f43 0%,#042f33 100%) !important; border-right-color:rgba(113,224,186,.2) !important; color:#fff; }
body:has(.tenant-app-page) .side-nav__link,
body:has(.dispatch-v2) .side-nav__link { border-color:transparent !important; background:transparent !important; color:rgba(245,255,252,.82) !important; }
body:has(.tenant-app-page) .side-nav__link.is-active,
body:has(.dispatch-v2) .side-nav__link.is-active { background:rgba(38,184,135,.25) !important; color:#fff !important; box-shadow:inset 3px 0 0 #71e0ba; }
.tenant-app-page .button-primary.od-v2-button,
.dispatch-v2 .button-primary { border-color:#17986d !important; background:#26b887 !important; color:#062f2d !important; }
.tenant-app-page .od-v2-card,
.dispatch-v2 .od-v2-card,
.dispatch-v2__lane { border-radius:12px; border-color:rgba(15,64,67,.13); box-shadow:0 12px 32px rgba(6,63,67,.08); }

/* APPOINTMENT-UX-MOBILE-FIX-001: contain the authenticated appointment form after legacy cascade layers. */
@media (max-width: 720px) {
    body:has(.appointment-workflow-page--form) .app-shell--authenticated {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        overflow-x: clip;
    }

    body:has(.appointment-workflow-page--form) :is(
        .workspace-shell,
        .workspace-shell--authenticated,
        .site-header,
        .site-header__inner,
        .app-main,
        .content-shell,
        .appointment-workflow-page,
        .appointment-workflow-form,
        .appointment-workflow-section,
        .appointment-advanced-controls,
        .appointment-workflow-actions,
        .form-grid,
        .form-group
    ) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body:has(.appointment-workflow-page--form) .appointment-stage-rail {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    body:has(.appointment-workflow-page--form) :is(.form-control, input, select, textarea, button, .button) {
        max-width: 100%;
        min-width: 0;
    }

body:has(.appointment-workflow-page--form) :is(.helper-text, .form-label, summary, .od-v2-status) {
        overflow-wrap: anywhere;
    }
}

/* Keep the operations composition authoritative after legacy cascade layers. */
@media (min-width: 1100px) {
    .tenant-app-page--dashboard { display:grid !important; grid-template-columns:minmax(230px,.78fr) minmax(440px,1.55fr) minmax(260px,.9fr) !important; gap:14px !important; align-items:start; }
    .tenant-app-page--dashboard > .dashboard-v2__hero,
    .tenant-app-page--dashboard > .dashboard-v2__stats { grid-column:1 / -1; }
    .tenant-app-page--dashboard > .dashboard-v2__hero { grid-row:1; }
    .tenant-app-page--dashboard > .dashboard-v2__stats { grid-row:2; }
    .tenant-app-page--dashboard > .dashboard-v2__stats { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
    .tenant-app-page--dashboard > .dashboard-v2__section--setup { grid-column:3; grid-row:3; }
    .tenant-app-page--dashboard > .dashboard-v2__section--next-steps { grid-column:3; grid-row:4; }
    .tenant-app-page--dashboard > .tenant-section--actions { grid-column:3; grid-row:5; }
    .tenant-app-page--dashboard > .dashboard-v2__section--priority { grid-column:1; grid-row:3 / span 2; }
    .tenant-app-page--dashboard > .dashboard-v2__operations-theater,
    .dashboard-v2__operations-theater > .dashboard-v2__column:first-child { display:contents !important; }
    .dashboard-v2__operations-theater .dashboard-v2__section--field-command { grid-column:2; grid-row:3 / span 3; min-height:650px; }
    .dashboard-v2__operations-theater > .dashboard-v2__column:last-child { grid-column:3; grid-row:6 / span 3; }
    .dashboard-v2__operations-theater > .dashboard-v2__column:first-child > :not(.dashboard-v2__section--field-command) { grid-column:1 / -1; grid-row:auto; }
    .dashboard-v2__section--field-command .product-theater-route { min-height:430px; grid-template-columns:minmax(0,1.7fr) minmax(210px,.75fr) !important; }
    .dashboard-v2__section--field-command .product-theater-route__canvas { min-height:430px; }

    .dispatch-v2--operations-theater { display:grid !important; grid-template-columns:minmax(260px,.78fr) minmax(480px,1.55fr) minmax(280px,.9fr) !important; gap:14px !important; align-items:start; }
    .dispatch-v2--operations-theater > .dispatch-v2__hero { grid-column:1 / -1; }
    .dispatch-v2--operations-theater > .dispatch-v2__readiness { grid-column:1; grid-row:2 / span 2; min-height:570px; }
    .dispatch-v2--operations-theater > .dispatch-v2__map { grid-column:2; grid-row:2; min-height:570px; }
    .dispatch-v2--operations-theater .dispatch-map-stage,
    .dispatch-v2--operations-theater .dispatch-v2__map-canvas { min-height:430px; }
    .dispatch-v2--operations-theater > .dispatch-v2__distance-preview { grid-column:3; grid-row:2 / span 2; min-height:570px; }
    .dispatch-v2--operations-theater > :not(.dispatch-v2__hero):not(.dispatch-v2__readiness):not(.dispatch-v2__map):not(.dispatch-v2__distance-preview) { grid-column:1 / -1; }
}
/* CUSTOMER-VISIT-OPS-001: shared customer, visit, and payment operations cards */
.ops-filter-bar {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) repeat(2, minmax(150px, .7fr)) auto;
    align-items: end;
    gap: .65rem;
    padding: .7rem;
    border: 1px solid #dce9e7;
    border-radius: 14px;
    background: #f7fbfa;
}

.ops-filter-bar__search { min-width: 0; }
.ops-record-list { gap: .65rem; }

.ops-record-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    min-width: 0;
    padding: .85rem 1rem !important;
    border: 1px solid #dce7e5 !important;
    border-left: 1px solid #dce7e5 !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(13, 56, 55, .055);
    transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.ops-record-card:hover {
    transform: translateY(-1px);
    border-color: #a8d7cf !important;
    box-shadow: 0 10px 24px rgba(13, 56, 55, .09);
}

.ops-record-card__body { min-width: 0; }
.ops-record-card__time {
    display: grid;
    justify-items: center;
    min-width: 68px;
    padding: .55rem .65rem;
    border-radius: 12px;
    background: #e9f8f4;
    color: #0c514d;
    line-height: 1;
}
.ops-record-card__time strong { font-size: 1.2rem; }
.ops-record-card__time span { margin-top: .16rem; font-size: .68rem; font-weight: 850; letter-spacing: .08em; }
.ops-record-card__time small { margin-top: .42rem; color: #54706e; }

.ops-avatar,
.ops-invoice-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #dff5ef;
    color: #0b5f58;
    font-weight: 900;
}
.ops-invoice-icon { border-radius: 12px; font-size: 1.1rem; }

.ops-identity__relationship { color: #607270; font-size: .84rem; font-weight: 650; }
.ops-context-row { display: flex; flex-wrap: wrap; gap: .3rem .8rem; margin-top: .4rem; color: #5d6d6b; font-size: .82rem; }
.ops-context-row > span:not(.ops-payment-badge) { position: relative; }
.ops-context-row--stacked { display: grid; gap: .3rem; margin-top: .8rem; }
.ops-address-line { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .45rem; }

.ops-status-pill,
.ops-payment-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .28rem .52rem;
    border: 1px solid #d8e3e1;
    border-radius: 999px;
    background: #f3f7f6;
    color: #526461;
    font-size: .71rem;
    font-weight: 850;
    line-height: 1.1;
}
.ops-status-pill--success,
.ops-payment-badge--paid { border-color: #a7dfcf; background: #e6f8f1; color: #08715f; }
.ops-status-pill--soft { border-color: #cce6e1; background: #edf9f6; color: #216d65; }
.ops-status-pill--neutral { background: #f8faf9; color: #6d7775; }
.ops-payment-badge--danger { border-color: #f0bbb5; background: #fff0ee; color: #9a3429; }
.ops-quick-actions { justify-content: flex-end; max-width: 280px; }
.ops-balance-label { color: #7b5e31; font-weight: 750; }

.ops-payment-summary .top-level-v2__metric { border-radius: 12px; background: #fff; }
.ops-payment-summary .top-level-v2__metric:last-child { background: #eaf8f4; border-color: #b8dfd7; }
.ops-invoice-hero { border-radius: 18px !important; background: linear-gradient(135deg, #f7fcfb 0%, #fff 64%) !important; }
.ops-invoice-hero__number { display: block; margin-top: .22rem; color: #637572; font-size: .8rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.billing-context-grid { align-items: stretch; }
.billing-context-grid .ui2-sensitive-card { padding: 1.1rem; border-top: 0; }
.billing-section { overflow: hidden; }

@media (max-width: 860px) {
    .ops-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ops-filter-bar__search { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .ops-filter-bar,
    .ops-record-card { grid-template-columns: minmax(0, 1fr); }
    .ops-record-card { padding: .8rem !important; }
    .ops-record-card__time { grid-template-columns: auto auto auto; justify-content: start; justify-items: start; align-items: baseline; gap: .3rem; width: fit-content; min-width: 0; }
    .ops-record-card__time small { margin-top: 0; }
    .ops-avatar,
    .ops-invoice-icon { width: 38px; height: 38px; }
    .ops-quick-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; max-width: none; }
    .ops-quick-actions .button { width: 100%; }
    .ops-context-row { display: grid; gap: .3rem; }
}

/* OPERATIONS-COCKPIT-001: connected daily command surface */
.ops-cockpit {
    --cockpit-ink: #082f35;
    --cockpit-muted: #607679;
    --cockpit-line: rgba(11, 75, 78, .13);
    --cockpit-mint: #29bd8b;
    --cockpit-mint-soft: #e7f8f2;
    overflow: hidden;
    border: 1px solid var(--cockpit-line);
    border-radius: 22px;
    background: #f7fbfa;
    box-shadow: 0 24px 54px rgba(4, 47, 51, .12);
    color: var(--cockpit-ink);
}

.ops-cockpit__masthead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1.15rem 1.3rem .9rem;
    background: linear-gradient(120deg, #ffffff 0%, #f2fbf8 58%, #e4f7f0 100%);
}
.ops-cockpit__eyebrow,
.ops-cockpit__section-head span,
.ops-cockpit__pulse span,
.ops-cockpit__visit-facts dt {
    color: #668083;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ops-cockpit__masthead h2 { margin: .18rem 0; color: #073a43; font-size: clamp(1.45rem, 2.4vw, 2.15rem); line-height: 1.05; letter-spacing: -.04em; }
.ops-cockpit__masthead p:not(.ops-cockpit__eyebrow) { margin: 0; color: var(--cockpit-muted); font-size: .9rem; }
.ops-cockpit__masthead-actions { display: flex; gap: .55rem; flex: 0 0 auto; }

.ops-cockpit__pulse {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--cockpit-line);
    background: #fff;
}
.ops-cockpit__pulse > div { display: grid; gap: .08rem; padding: .72rem 1rem; border-right: 1px solid var(--cockpit-line); }
.ops-cockpit__pulse > div:last-child { border-right: 0; }
.ops-cockpit__pulse strong { font-size: 1.38rem; line-height: 1.05; }
.ops-cockpit__pulse small { color: #718588; font-size: .72rem; }

.ops-cockpit__workspace {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(480px, 1.7fr) minmax(235px, .78fr);
    min-height: 545px;
}
.ops-cockpit__workspace > * { min-width: 0; padding: 1rem; }
.ops-cockpit__crews { border-right: 1px solid var(--cockpit-line); background: #fbfdfd; }
.ops-cockpit__stage { background: #fff; }
.ops-cockpit__focus { border-left: 1px solid var(--cockpit-line); background: #fbfdfd; }
.ops-cockpit__section-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .8rem; }
.ops-cockpit__section-head > div { display: grid; gap: .12rem; }
.ops-cockpit__section-head strong { color: #123c42; font-size: .92rem; }
.ops-cockpit__section-head a { color: #0b776a; font-size: .72rem; font-weight: 800; }
.ops-cockpit__safe-label { padding: .3rem .5rem; border-radius: 999px; background: #eef5f4; letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap; }

.ops-cockpit__crew-list { display: grid; gap: .45rem; }
.ops-cockpit__crew {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .62rem;
    border: 1px solid transparent;
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
}
.ops-cockpit__crew:hover,
.ops-cockpit__crew.is-selected { border-color: #a9dcd2; background: #eaf8f4; }
.ops-cockpit__avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: hsl(var(--crew-hue, 166) 58% 90%); color: #09675e; font-weight: 900; }
.ops-cockpit__crew-copy { display: grid; min-width: 0; gap: .16rem; }
.ops-cockpit__crew-copy strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-cockpit__crew-copy small { color: #708285; font-size: .68rem; }
.ops-cockpit__crew-copy i { overflow: hidden; height: 3px; border-radius: 999px; background: #dce8e6; }
.ops-cockpit__crew-copy i b { display: block; height: 100%; border-radius: inherit; background: var(--cockpit-mint); }
.ops-cockpit__crew > em { color: #557072; font-size: .68rem; font-style: normal; font-weight: 850; }

.ops-cockpit__schedule-list { display: grid; gap: .35rem; }
.ops-cockpit__schedule-stop { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: .5rem; padding: .58rem; border: 1px solid transparent; border-radius: 12px; color: inherit; text-decoration: none; }
.ops-cockpit__schedule-stop:hover,
.ops-cockpit__schedule-stop.is-selected { border-color: #a9dcd2; background: #eaf8f4; }
.ops-cockpit__schedule-stop time { display: grid; align-content: start; color: #0c615b; font-size: .75rem; font-weight: 900; }
.ops-cockpit__schedule-stop time small { color: #7a8e90; font-size: .56rem; }
.ops-cockpit__schedule-stop > span { display: grid; min-width: 0; gap: .1rem; }
.ops-cockpit__schedule-stop > span strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-cockpit__schedule-stop > span strong small { color: #61777a; font-size: .65rem; font-weight: 700; }
.ops-cockpit__schedule-stop > span em { overflow: hidden; color: #708285; font-size: .62rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.ops-cockpit__schedule-stop > b { grid-column: 2; justify-self: start; padding: .18rem .35rem; border-radius: 999px; background: #eef5f4; color: #577174; font-size: .56rem; }

.ops-cockpit__route-stage,
.ops-cockpit__geo-stage {
    position: relative;
    overflow: hidden;
    min-height: 320px;
    border: 1px solid #cfe3df;
    border-radius: 18px;
    background: radial-gradient(circle at 24% 28%, rgba(80, 180, 149, .1), transparent 24%), linear-gradient(#eff7f5 1px, transparent 1px), linear-gradient(90deg, #eff7f5 1px, transparent 1px), #f8fcfb;
    background-size: auto, 34px 34px, 34px 34px, auto;
}
.ops-cockpit__real-map-stage { background: #eaf1ef; }
.ops-cockpit__map-canvas { position: absolute; inset: 0; width: 100%; height: 100%; background: #e7efed; }
.ops-cockpit__map-canvas::after { content: 'Loading verified stops…'; position: absolute; inset: 0; display: grid; place-items: center; color: #698083; font-size: .75rem; font-weight: 800; }
.ops-cockpit__map-canvas.is-ready::after { display: none; }
.ops-cockpit__map-gate { position: absolute; inset: 0; display: grid; place-content: center; gap: .35rem; padding: 2rem; text-align: center; }
.ops-cockpit__map-gate span { justify-self: center; padding: .3rem .5rem; border-radius: 999px; background: #dfeae8; color: #5f777a; font-size: .65rem; font-weight: 850; }
.ops-cockpit__map-gate strong { color: #183f44; font-size: 1rem; }
.ops-cockpit__map-gate p { max-width: 360px; margin: 0; color: #698083; font-size: .72rem; line-height: 1.45; }
.ops-cockpit__real-map-stage .ops-cockpit__route-caption { z-index: 2; }
.ops-map-popover { display: grid; gap: .1rem; min-width: 120px; color: #173d42; }
.ops-map-popover strong { font-size: .78rem; }
.ops-map-popover span { color: #657b7e; font-size: .68rem; }
.ops-cockpit__route-art { position: absolute; inset: 0; }
.ops-cockpit__route-art svg,
.ops-cockpit__geo-stage > svg { position: absolute; inset: 7% 5%; width: 90%; height: 86%; overflow: visible; }
.ops-cockpit__route-art path,
.ops-cockpit__geo-stage > svg path { fill: none; stroke: #31b987; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 10 8; }
.ops-cockpit__route-art .ops-cockpit__route-shadow { stroke: rgba(12, 65, 65, .08); stroke-width: 18; stroke-dasharray: none; }
.ops-cockpit__route-art i,
.ops-cockpit__geo-stage > i { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); font-style: normal; }
.ops-cockpit__route-art i b,
.ops-cockpit__geo-stage > i b { display: grid; place-items: center; width: 25px; height: 25px; border: 3px solid #fff; border-radius: 50%; background: #0d6a64; box-shadow: 0 4px 12px rgba(7, 65, 66, .25); color: #fff; font-size: .65rem; }
.ops-cockpit__geo-stage > i b { width: 18px; height: 18px; border-width: 2px; background: hsl(calc(158 + var(--crew) * 22) 65% 38%); font-size: .55rem; }
.ops-cockpit__geo-stage > i.is-selected b { width: 28px; height: 28px; background: #063f43; box-shadow: 0 0 0 6px rgba(41, 189, 139, .2), 0 5px 16px rgba(7, 65, 66, .3); }
.ops-cockpit__route-caption { position: absolute; left: 1rem; right: 1rem; bottom: .8rem; display: flex; gap: .4rem; padding: .55rem; border: 1px solid rgba(15, 78, 78, .12); border-radius: 12px; background: rgba(255,255,255,.9); backdrop-filter: blur(8px); }
.ops-cockpit__route-caption span { flex: 1; color: #688083; font-size: .68rem; }
.ops-cockpit__route-caption b { display: block; color: #143b40; font-size: .9rem; }
.ops-cockpit__map-legend { position: absolute; left: .75rem; bottom: .7rem; display: flex; gap: .7rem; padding: .38rem .55rem; border-radius: 9px; background: rgba(255,255,255,.92); color: #587073; font-size: .65rem; }
.ops-cockpit__map-legend span { display: flex; align-items: center; gap: .3rem; }
.ops-cockpit__map-legend i { width: 8px; height: 8px; border-radius: 50%; background: #25aa7d; }
.ops-cockpit__map-legend span:last-child i { background: #063f43; box-shadow: 0 0 0 3px rgba(41,189,139,.2); }

.ops-cockpit__timeline { display: grid; gap: .32rem; margin-top: .65rem; }
.ops-cockpit__timeline a { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: .55rem; padding: .48rem .58rem; border-radius: 10px; color: inherit; text-decoration: none; }
.ops-cockpit__timeline a:hover { background: #f1f8f6; }
.ops-cockpit__timeline time { color: #547174; font-size: .68rem; font-weight: 850; }
.ops-cockpit__timeline span { display: grid; }
.ops-cockpit__timeline strong { font-size: .76rem; }
.ops-cockpit__timeline small { color: #728487; font-size: .65rem; }
.ops-cockpit__timeline em { padding: .25rem .4rem; border-radius: 999px; background: #eef5f4; color: #587073; font-size: .61rem; font-style: normal; font-weight: 800; }
.ops-cockpit__crew-ribbon { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .38rem; margin-top: .65rem; }
.ops-cockpit__crew-ribbon > span { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 0 .38rem; overflow: hidden; padding: .42rem .45rem .5rem; border: 1px solid #e0ebe8; border-radius: 10px; }
.ops-cockpit__crew-ribbon i { grid-row: 1 / span 2; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: #e4f4ef; color: #0b6c62; font-size: .62rem; font-style: normal; font-weight: 900; }
.ops-cockpit__crew-ribbon b { overflow: hidden; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-cockpit__crew-ribbon small { overflow: hidden; color: #75878a; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-cockpit__crew-ribbon em { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg,#2db58a var(--progress),#e1ece9 var(--progress)); }

.ops-cockpit__pet-identity { display: flex; align-items: center; gap: .65rem; padding: .8rem; border-radius: 14px; background: linear-gradient(135deg, #e3f7f0, #f5fbf9); }
.ops-cockpit__pet-identity > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; box-shadow: 0 5px 14px rgba(8, 76, 72, .12); color: #0b6b61; font-size: 1.05rem; font-weight: 900; }
.ops-cockpit__pet-identity h3 { margin: 0; color: #0c4045; font-size: 1.08rem; }
.ops-cockpit__pet-identity p { margin: .15rem 0 0; color: #647b7d; font-size: .76rem; }
.ops-cockpit__visit-facts { display: grid; gap: 0; margin: .8rem 0; }
.ops-cockpit__visit-facts > div { display: flex; justify-content: space-between; gap: .7rem; padding: .52rem 0; border-bottom: 1px solid #e0eae8; }
.ops-cockpit__visit-facts dd { margin: 0; max-width: 64%; color: #254b50; font-size: .75rem; font-weight: 750; text-align: right; }
.ops-cockpit__focus > .button { width: 100%; margin-top: .45rem; }
.ops-cockpit__live-dot { display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .48rem; border-radius: 999px; background: #e4f8ef; color: #08705e !important; letter-spacing: 0 !important; text-transform: none !important; }
.ops-cockpit__live-dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #1db67e; box-shadow: 0 0 0 4px rgba(29,182,126,.13); }
.ops-cockpit__attention,
.ops-cockpit__safety { display: flex; gap: .55rem; margin-top: .8rem; padding: .7rem; border-radius: 12px; background: #fff7ec; color: #634b26; }
.ops-cockpit__attention > span { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 50%; background: #ffe4b7; font-weight: 900; }
.ops-cockpit__attention strong,
.ops-cockpit__safety strong { font-size: .74rem; }
.ops-cockpit__attention p,
.ops-cockpit__safety p { margin: .14rem 0 0; font-size: .68rem; line-height: 1.4; }
.ops-cockpit__safety { display: block; background: #eef7f5; color: #496a6d; }
.ops-cockpit__address { margin: .7rem 0 0; color: #5f7477; font-size: .73rem; line-height: 1.4; }
.ops-cockpit__stop-strip { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: .35rem; margin-top: .6rem; }
.ops-cockpit__stop-strip a { display: flex; align-items: center; gap: .35rem; min-width: 0; padding: .44rem; border: 1px solid #e0ebe8; border-radius: 10px; color: inherit; text-decoration: none; }
.ops-cockpit__stop-strip a.is-selected { border-color: #8fd3c4; background: #eaf8f4; }
.ops-cockpit__stop-strip b { display: grid; place-items: center; flex: 0 0 20px; height: 20px; border-radius: 50%; background: #dcebe8; font-size: .62rem; }
.ops-cockpit__stop-strip span { display: grid; min-width: 0; }
.ops-cockpit__stop-strip strong { overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-cockpit__stop-strip small { color: #708285; font-size: .58rem; }

/* Retire the old stacked first viewport while preserving deeper workflows below. */
.tenant-app-page--dashboard { display: block !important; }
.tenant-app-page--dashboard > :is(.dashboard-v2__hero,.dashboard-v2__stats) { display: none !important; }
.tenant-app-page--dashboard > .dashboard-v2__main-grid { margin-top: 1rem; }
.dispatch-v2--operations-theater { display: block !important; }
.dispatch-v2--operations-theater > .dispatch-v2__hero { display: none !important; }
.dispatch-v2--operations-theater > :is(.dispatch-v2__readiness,.dispatch-v2__map,.dispatch-v2__distance-preview,.dispatch-v2__board) { margin-top: 1rem; }

/* TENANT-DASHBOARD-OPERATIONAL-READINESS-FIX-001 */
.tenant-app-page--dashboard { display: flex !important; flex-direction: column; gap: 1rem; }
.tenant-app-page--dashboard > :is(.dashboard-v2__hero,.dashboard-v2__stats) { display: grid !important; }
.tenant-app-page--dashboard > .dashboard-v2__hero { order: 1; }
.tenant-app-page--dashboard > .dashboard-v2__stats { order: 2; }
.tenant-app-page--dashboard > .dashboard-v2__section--priority { order: 3; }
.tenant-app-page--dashboard > .tenant-section--actions { order: 4; }
.tenant-app-page--dashboard > .dashboard-v2-setup-note { order: 5; }
.tenant-app-page--dashboard > .dashboard-v2__main-grid { order: 6; margin-top: 0; }
.tenant-app-page--dashboard > .dashboard-v2__support-grid { order: 7; }
.dashboard-v2-setup-note { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border: 1px solid #d9e1df; border-radius: 12px; background: #fff; color: #334649; }
.dashboard-v2-setup-note div { display: grid; gap: .2rem; }
.dashboard-v2-setup-note span { color: #68787a; font-size: .82rem; }
.dashboard-route-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: 1.1rem; border: 1px solid #d9e3e1; border-radius: 12px; background: #fff; }
.dashboard-route-status > div:first-child { display: grid; gap: .35rem; }
.dashboard-route-status :is(h4,p) { margin: 0; }
.dashboard-route-status h4 { color: #143f43; font-size: 1.1rem; }
.dashboard-route-status p:not(.od-v2-eyebrow) { color: #68787a; }
@media (max-width: 760px) {
    .dashboard-v2-setup-note,
    .dashboard-route-status { align-items: stretch; flex-direction: column; }
    .dashboard-route-status .dashboard-v2-actions { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .ops-cockpit__workspace { grid-template-columns: minmax(190px, .72fr) minmax(0, 1.5fr); }
    .ops-cockpit__focus { grid-column: 1 / -1; border-top: 1px solid var(--cockpit-line); border-left: 0; }
    .ops-cockpit__focus { display: grid; grid-template-columns: minmax(0, 1fr) repeat(2, minmax(160px, .7fr)); gap: .75rem; }
    .ops-cockpit__focus .ops-cockpit__section-head { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
    .ops-cockpit { border-radius: 15px; box-shadow: 0 12px 28px rgba(4,47,51,.1); }
    .ops-cockpit__masthead { align-items: flex-start; padding: .9rem; }
    .ops-cockpit__masthead h2 { font-size: 1.4rem; }
    .ops-cockpit__masthead p:not(.ops-cockpit__eyebrow) { font-size: .78rem; }
    .ops-cockpit__masthead-actions { display: none; }
    .ops-cockpit__pulse { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ops-cockpit__pulse > div { padding: .65rem .7rem; }
    .ops-cockpit__pulse > div:nth-child(2) { border-right: 0; }
    .ops-cockpit__pulse > div:nth-child(-n+2) { border-bottom: 1px solid var(--cockpit-line); }
    .ops-cockpit__workspace { display: flex; flex-direction: column; min-height: 0; }
    .ops-cockpit__workspace > * { padding: .8rem; }
    .ops-cockpit__crews { border-right: 0; border-bottom: 1px solid var(--cockpit-line); }
    .ops-cockpit__crew-list { display: flex; overflow-x: auto; padding-bottom: .2rem; scroll-snap-type: x proximity; }
    .ops-cockpit__crew { flex: 0 0 210px; scroll-snap-align: start; }
    .ops-cockpit__stage { order: -1; }
    .ops-cockpit--dashboard .ops-cockpit__stage { order: -2; }
    .ops-cockpit--dashboard .ops-cockpit__focus { order: -1; }
    .ops-cockpit--dashboard .ops-cockpit__schedule { order: 0; }
    .ops-cockpit__route-stage,
    .ops-cockpit__geo-stage { min-height: 300px; }
    .ops-cockpit__timeline { display: none; }
    .ops-cockpit__crew-ribbon { grid-template-columns: repeat(6, 145px); overflow-x: auto; }
    .ops-cockpit__schedule-list { display: flex; overflow-x: auto; padding-bottom: .2rem; scroll-snap-type: x proximity; }
    .ops-cockpit__schedule-stop { flex: 0 0 235px; scroll-snap-align: start; }
    .ops-cockpit__stop-strip { grid-template-columns: repeat(5, 110px); overflow-x: auto; }
    .ops-cockpit__focus { display: block; border-top: 1px solid var(--cockpit-line); }
    .ops-cockpit__route-caption { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ops-cockpit__safe-label { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
}

/* OPERATIONS-COCKPIT-SIMPLIFICATION-001: tenant 27 daily cockpit restraint. */
.tenant-app-page--simplified-cockpit .ops-cockpit,
.dispatch-v2--simplified-cockpit .ops-cockpit {
    --cockpit-ink: #132d35;
    --cockpit-muted: #607078;
    --cockpit-line: #dce5e7;
    --cockpit-mint: #4d9879;
    --cockpit-mint-soft: #eef6f1;
    border-color: #dce5e7;
    background: #fff;
    box-shadow: 0 14px 36px rgba(22, 45, 54, .08);
}

.tenant-app-page--simplified-cockpit .ops-cockpit__masthead,
.dispatch-v2--simplified-cockpit .ops-cockpit__masthead { background: #fff; }

.tenant-app-page--simplified-cockpit :is(.ops-cockpit__crews,.ops-cockpit__focus),
.dispatch-v2--simplified-cockpit :is(.ops-cockpit__crews,.ops-cockpit__focus) { background: #fbfcfc; }

.tenant-app-page--simplified-cockpit :is(.ops-cockpit__schedule-stop,.ops-cockpit__crew):hover,
.tenant-app-page--simplified-cockpit :is(.ops-cockpit__schedule-stop,.ops-cockpit__crew).is-selected,
.dispatch-v2--simplified-cockpit :is(.ops-cockpit__schedule-stop,.ops-cockpit__crew):hover,
.dispatch-v2--simplified-cockpit :is(.ops-cockpit__schedule-stop,.ops-cockpit__crew).is-selected {
    border-color: #bdd6ca;
    background: #f1f7f3;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__pet-identity,
.dispatch-v2--simplified-cockpit .ops-cockpit__pet-identity {
    border: 1px solid #e1e8e9;
    background: #fff;
}

.tenant-app-page--simplified-cockpit :is(.ops-cockpit__live-dot,.ops-status-pill--soft),
.dispatch-v2--simplified-cockpit :is(.ops-cockpit__live-dot,.ops-status-pill--soft) {
    border-color: #c9ddd3;
    background: #eef6f1;
    color: #28634d !important;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__crew-ribbon i,
.dispatch-v2--simplified-cockpit .ops-cockpit__avatar {
    background: #eef2f3;
    color: #31535c;
}

.dispatch-v2--simplified-cockpit .ops-cockpit__crew.is-selected .ops-cockpit__avatar {
    background: #e6f2ec;
    color: #28634d;
}

.dispatch-v2--simplified-cockpit .ops-cockpit__safety {
    background: #f3f6f6;
    color: #52676d;
}

.dispatch-v2--simplified-cockpit .button-primary {
    border-color: #256b55;
    background: #2f8064;
    color: #fff;
}

.dispatch-v2--simplified-cockpit .button-primary:hover {
    border-color: #1e5947;
    background: #256b55;
}

.tenant-app-page--simplified-cockpit :is(.ops-cockpit__safe-label,.ops-cockpit__schedule-stop > b),
.dispatch-v2--simplified-cockpit :is(.ops-cockpit__safe-label,.ops-cockpit__schedule-stop > b) {
    background: #f2f5f5;
    color: #53666c;
}

.ops-cockpit__day-nav { display: flex; gap: .35rem; }
.ops-cockpit__day-nav .button { min-width: 2.35rem; padding-inline: .65rem; }

.tenant-app-page--simplified-cockpit > :not(.ops-cockpit):not(script),
.dispatch-v2--simplified-cockpit > :not(.ops-cockpit):not(script) {
    border-color: #e4eaec !important;
    box-shadow: none !important;
}

.tenant-app-page--simplified-cockpit > :not(.ops-cockpit):not(script) {
    margin-top: .85rem;
    background: transparent !important;
}

.tenant-app-page--simplified-cockpit :is(.dashboard-v2__section,.od-v2-action-card,.dashboard-v2-alert,.dashboard-v2-row) {
    border-color: transparent !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
}

.tenant-app-page--simplified-cockpit :is(.dashboard-v2-alert,.dashboard-v2-row,.od-v2-action-card) + :is(.dashboard-v2-alert,.dashboard-v2-row,.od-v2-action-card) {
    border-top: 1px solid #e4eaec !important;
}

.tenant-app-page--simplified-cockpit :is(.tenant-section--support,.tenant-section--setup,.dashboard-v2__section--next-steps) {
    padding-block: .75rem;
    color: #607078;
}

.tenant-app-page--simplified-cockpit :is(.tenant-section--support,.tenant-section--setup,.dashboard-v2__section--next-steps) .dashboard-v2__section-meta {
    max-width: 68ch;
    font-size: .78rem;
}

.dispatch-v2--simplified-cockpit > :is(.dispatch-v2__readiness,.dispatch-v2__map,.dispatch-v2__distance-preview) {
    margin-top: .8rem;
    padding: .9rem;
    background: #fbfcfc !important;
}

.dispatch-v2--simplified-cockpit > :not(.ops-cockpit):not(script) {
    border-radius: 8px !important;
}

.dispatch-v2--simplified-cockpit :is(.dispatch-v2__readiness-list > div,.dispatch-v2__distance-routes > div,.dispatch-v2__saved-plan) {
    border-width: 0 0 1px !important;
    border-color: #e4eaec !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* The live Google map already occupies the cockpit; suppress only its repeated explanatory card. */
.dispatch-v2--simplified-cockpit > .dispatch-v2__map { display: none; }

.dispatch-v2--simplified-cockpit :is(.dispatch-v2__readiness-heading > div > p,.dispatch-v2__readiness-footnote,.dispatch-v2__route-plan-actions small) {
    color: #718087;
    font-size: .75rem;
}

@media (max-width: 720px) {
    .dispatch-v2--simplified-cockpit .ops-cockpit__masthead {
        flex-direction: column;
        gap: .8rem;
    }
    .dispatch-v2--simplified-cockpit .ops-cockpit__masthead-actions {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .dispatch-v2--simplified-cockpit .ops-cockpit__masthead-actions > .button {
        flex: 1 1 calc(50% - .3rem);
    }
    .ops-cockpit__day-nav { order: -1; width: 100%; }
    .ops-cockpit__day-nav .button:nth-child(2) { flex: 1; }
}

/* OPERATIONS-COCKPIT-WOW-FIX-001: final cockpit hierarchy and navigation legibility. */
body:has(.tenant-app-page--simplified-cockpit) .side-rail .shell-eyebrow,
body:has(.dispatch-v2--simplified-cockpit) .side-rail .shell-eyebrow {
    color: #9fc6c1 !important;
}

body:has(.tenant-app-page--simplified-cockpit) .side-rail__product,
body:has(.dispatch-v2--simplified-cockpit) .side-rail__product {
    color: #fff !important;
    font-weight: 800;
    line-height: 1.25;
}

body:has(.tenant-app-page--simplified-cockpit) .side-rail__role,
body:has(.dispatch-v2--simplified-cockpit) .side-rail__role {
    color: #c4dad7 !important;
}

body:has(.tenant-app-page--simplified-cockpit) .side-nav__label,
body:has(.dispatch-v2--simplified-cockpit) .side-nav__label {
    color: #91b7b3 !important;
    font-weight: 800;
    letter-spacing: .09em;
}

body:has(.tenant-app-page--simplified-cockpit) .side-nav__link,
body:has(.dispatch-v2--simplified-cockpit) .side-nav__link {
    color: #eef9f7 !important;
    font-weight: 650;
}

body:has(.tenant-app-page--simplified-cockpit) .side-nav__link.is-active,
body:has(.dispatch-v2--simplified-cockpit) .side-nav__link.is-active {
    border-color: rgba(130, 224, 191, .22) !important;
    background: rgba(47, 128, 100, .48) !important;
    box-shadow: inset 3px 0 0 #8cddc0 !important;
}

body:has(.tenant-app-page--simplified-cockpit) .side-nav__icon,
body:has(.dispatch-v2--simplified-cockpit) .side-nav__icon {
    border-color: rgba(215, 246, 236, .5) !important;
    background: #f8fffd !important;
    color: #174f4b !important;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__pulse span,
.dispatch-v2--simplified-cockpit .ops-cockpit__pulse span {
    color: #526b70;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__pulse strong,
.dispatch-v2--simplified-cockpit .ops-cockpit__pulse strong {
    color: #092f38;
    font-size: 1.48rem;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__focus {
    background: #fafcfc;
    box-shadow: inset 0 3px 0 #d6e7df;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__focus .ops-cockpit__pet-identity {
    box-shadow: 0 8px 22px rgba(22, 45, 54, .06);
}

.ops-cockpit__dispatch-kicker {
    display: flex;
    align-items: center;
    gap: .38rem;
}

.ops-cockpit__dispatch-kicker span + span::before {
    content: "·";
    margin-right: .38rem;
}

@media (max-width: 720px) {
    .dispatch-v2--simplified-cockpit .ops-cockpit__masthead {
        padding: 1.05rem .9rem .95rem;
    }

    .dispatch-v2--simplified-cockpit .ops-cockpit__dispatch-kicker {
        display: grid;
        gap: .12rem;
        line-height: 1.25;
    }

    .dispatch-v2--simplified-cockpit .ops-cockpit__dispatch-kicker span:first-child {
        color: #315d61;
    }

    .dispatch-v2--simplified-cockpit .ops-cockpit__dispatch-kicker span + span::before {
        content: none;
    }

    .dispatch-v2--simplified-cockpit .ops-cockpit__masthead h2 {
        margin-top: .42rem;
        font-size: 1.52rem;
    }

    .dispatch-v2--simplified-cockpit .ops-cockpit__masthead-actions {
        gap: .55rem;
    }
}

/* OPERATIONS-COCKPIT-FINAL-POLISH-001: quieter actions and precise surfaces. */
.tenant-app-page--simplified-cockpit .ops-cockpit,
.dispatch-v2--simplified-cockpit .ops-cockpit {
    border-color: #d5e0e3;
    box-shadow: 0 18px 42px rgba(16, 42, 50, .085);
}

.tenant-app-page--simplified-cockpit .ops-cockpit__pulse,
.dispatch-v2--simplified-cockpit .ops-cockpit__pulse {
    border-color: #d5e0e3;
}

.dispatch-v2--simplified-cockpit .button-primary {
    border-color: #205947 !important;
    background: #286b56 !important;
    color: #fff !important;
    box-shadow: 0 7px 16px rgba(32, 89, 71, .16) !important;
}

.dispatch-v2--simplified-cockpit .button-primary:hover {
    border-color: #194838 !important;
    background: #205947 !important;
}

.tenant-app-page--simplified-cockpit .ops-cockpit .button-secondary,
.dispatch-v2--simplified-cockpit .ops-cockpit .button-secondary {
    border-color: #c8d5d9 !important;
    background: #fff !important;
    color: #173d46 !important;
    box-shadow: 0 2px 6px rgba(16, 42, 50, .035) !important;
}

.tenant-app-page--simplified-cockpit .ops-cockpit .button-secondary:hover,
.dispatch-v2--simplified-cockpit .ops-cockpit .button-secondary:hover {
    border-color: #aebfc4 !important;
    background: #f6f9f9 !important;
}

.dispatch-v2--simplified-cockpit .ops-cockpit__safe-label {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    background: #f0f4f4;
    color: #455e64;
}

.tenant-app-page--simplified-cockpit .ops-cockpit__pet-identity,
.dispatch-v2--simplified-cockpit .ops-cockpit__pet-identity,
.dispatch-v2--simplified-cockpit .ops-cockpit__safety {
    border-color: #dbe4e6;
}

/* ROUTE-MAP-FOCUS-001: large, read-only stored-coordinate route view. */
.ops-cockpit__map-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.ops-cockpit__map-actions .button {
    min-height: 2rem;
    padding: .38rem .65rem;
    font-size: .72rem;
}

.route-map-focus {
    display: grid;
    gap: .8rem;
    color: #132f37;
}

.route-map-focus__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid #d5e0e3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(16, 42, 50, .065);
}

.route-map-focus__header h2 {
    margin: .15rem 0 .2rem;
    color: #092f38;
    font-size: clamp(1.4rem, 2.3vw, 2rem);
    letter-spacing: -.035em;
}

.route-map-focus__header p:not(.route-map-focus__eyebrow) {
    margin: 0;
    color: #60757b;
    font-size: .85rem;
}

.route-map-focus__eyebrow,
.route-map-focus__map-head span,
.route-map-focus__rail-head span {
    margin: 0;
    color: #587177;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.route-map-focus__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
    gap: .8rem;
    min-height: calc(100vh - 180px);
}

.route-map-focus__map-panel,
.route-map-focus__rail > section {
    border: 1px solid #d5e0e3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 42, 50, .07);
}

.route-map-focus__map-panel {
    display: grid;
    grid-template-rows: auto minmax(520px, 1fr) auto;
    min-width: 0;
    overflow: hidden;
}

.route-map-focus__map-head,
.route-map-focus__rail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
}

.route-map-focus__map-head {
    padding: .8rem 1rem;
    border-bottom: 1px solid #dce5e7;
}

.route-map-focus__map-head > div {
    display: grid;
    gap: .12rem;
}

.route-map-focus__map-head > span {
    padding: .3rem .55rem;
    border-radius: 999px;
    background: #f0f4f4;
    letter-spacing: 0;
    text-transform: none;
}

.route-map-focus__map-wrap,
.route-map-focus__map-wrap .ops-cockpit__map-canvas {
    width: 100%;
    min-height: 520px;
    height: 100%;
}

.route-map-focus__map-wrap {
    position: relative;
    overflow: hidden;
}

.route-map-focus__safety {
    margin: 0;
    padding: .7rem 1rem;
    border-top: 1px solid #dce5e7;
    background: #f7f9f9;
    color: #5d7278;
    font-size: .72rem;
    line-height: 1.45;
}

.route-map-focus__rail {
    display: grid;
    align-content: start;
    gap: .8rem;
    min-width: 0;
}

.route-map-focus__selected,
.route-map-focus__lanes {
    padding: 1rem;
}

.route-map-focus__identity {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: .7rem 0;
    padding: .75rem;
    border: 1px solid #dce5e7;
    border-radius: 12px;
    background: #fbfcfc;
}

.route-map-focus__identity > span {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius: 50%;
    background: #edf4f1;
    color: #245d4b;
    font-weight: 850;
}

.route-map-focus__identity h3,
.route-map-focus__identity p {
    margin: 0;
}

.route-map-focus__identity h3 { font-size: 1.05rem; }
.route-map-focus__identity p { color: #62767c; font-size: .8rem; }

.route-map-focus__selected dl {
    margin: 0 0 .8rem;
}

.route-map-focus__selected dl > div {
    display: flex;
    justify-content: space-between;
    gap: .7rem;
    padding: .5rem 0;
    border-bottom: 1px solid #e2e9ea;
}

.route-map-focus__selected dt {
    color: #6a7d82;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.route-map-focus__selected dd {
    margin: 0;
    text-align: right;
    font-size: .76rem;
    font-weight: 750;
}

.route-map-focus__selected .button { width: 100%; }
.route-map-focus__rail-head { margin-bottom: .6rem; }

.route-map-focus__lanes details {
    border-top: 1px solid #e0e8e9;
}

.route-map-focus__lanes summary {
    display: flex;
    justify-content: space-between;
    gap: .6rem;
    padding: .65rem 0;
    cursor: pointer;
    font-size: .78rem;
}

.route-map-focus__lanes summary b { color: #61757a; font-size: .7rem; }
.route-map-focus__lanes ol { display: grid; gap: .2rem; margin: 0 0 .6rem; padding: 0; list-style: none; }
.route-map-focus__lanes li a { display: flex; gap: .55rem; padding: .45rem; border-radius: 8px; color: #173d46; text-decoration: none; }
.route-map-focus__lanes li a:hover { background: #f2f6f5; }
.route-map-focus__lanes time { flex: 0 0 3.9rem; color: #356b60; font-size: .68rem; font-weight: 800; }
.route-map-focus__lanes li span { display: grid; min-width: 0; }
.route-map-focus__lanes li strong { font-size: .74rem; }
.route-map-focus__lanes li small { overflow: hidden; color: #6a7c81; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 720px) {
    .ops-cockpit__map-actions { align-items: flex-end; flex-direction: column; }
    .ops-cockpit__map-actions .button { min-height: 2.15rem; }

    .route-map-focus__header {
        align-items: stretch;
        flex-direction: column;
        padding: .9rem;
    }

    .route-map-focus__header .button { width: 100%; }

    .route-map-focus__layout {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .route-map-focus__map-panel { grid-template-rows: auto 58vh auto; }
    .route-map-focus__map-wrap,
    .route-map-focus__map-wrap .ops-cockpit__map-canvas { min-height: 58vh; }
    .route-map-focus__rail { grid-template-columns: minmax(0, 1fr); }
}

body:has(.route-map-focus) .side-rail {
    border-right-color: rgba(113, 224, 186, .2) !important;
    background: linear-gradient(180deg, #063f43 0%, #042f33 100%) !important;
    color: #fff;
}

body:has(.route-map-focus) .side-rail .shell-eyebrow,
body:has(.route-map-focus) .side-nav__label { color: #9fc6c1 !important; }
body:has(.route-map-focus) .side-rail__product { color: #fff !important; font-weight: 800; }
body:has(.route-map-focus) .side-rail__role { color: #c4dad7 !important; }
body:has(.route-map-focus) .side-nav__link { border-color: transparent !important; background: transparent !important; color: #eef9f7 !important; font-weight: 650; }
body:has(.route-map-focus) .side-nav__link.is-active { border-color: rgba(130, 224, 191, .22) !important; background: rgba(47, 128, 100, .48) !important; color: #fff !important; box-shadow: inset 3px 0 0 #8cddc0 !important; }
body:has(.route-map-focus) .side-nav__icon { border-color: rgba(215, 246, 236, .5) !important; background: #f8fffd !important; color: #174f4b !important; }

/* Guided website interview */
.website-builder-guided-entry { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1rem; padding:1.35rem 1.5rem; border:1px solid #cfe2de; border-radius:18px; background:linear-gradient(135deg,#f5fbf9,#fff); box-shadow:0 12px 30px rgba(17,55,60,.07); }
.website-builder-guided-entry span,.website-interview__eyebrow,.website-interview__step-kicker { color:#327264; font-size:.72rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.website-builder-guided-entry h2 { margin:.25rem 0; color:#173f47; font-size:1.35rem; }
.website-builder-guided-entry p,.website-builder-advanced-label p { margin:0; color:#60777c; }
.website-builder-advanced-label { margin:1.2rem 0 .7rem; padding-top:1rem; border-top:1px solid #e2e9e8; }
.website-builder-advanced-label span { color:#294f56; font-weight:800; }

.website-interview { max-width:1180px; margin:0 auto; color:#183f47; }
.website-interview [hidden] { display:none !important; }
.website-interview__masthead { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:1.65rem; border:1px solid #dce7e5; border-radius:22px; background:#fff; box-shadow:0 18px 45px rgba(19,58,63,.08); }
.website-interview__masthead h1 { max-width:760px; margin:.35rem 0 .45rem; font-size:clamp(2rem,4vw,3.35rem); line-height:1.02; letter-spacing:-.045em; }
.website-interview__masthead p { max-width:720px; margin:0; color:#60767b; font-size:1.02rem; }
.website-interview__status { flex:0 0 190px; padding:1rem; border-radius:14px; background:#f0f6f4; }
.website-interview__status span,.website-interview__status strong { display:block; }
.website-interview__status span { color:#6d8084; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.website-interview__status strong { margin-top:.25rem; }
.website-interview__toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem .2rem; }
.website-interview__progress { display:flex; align-items:center; gap:.75rem; min-width:260px; color:#567075; font-size:.78rem; font-weight:750; }
.website-interview__progress i { display:block; width:150px; height:5px; overflow:hidden; border-radius:99px; background:#e1e9e7; }
.website-interview__progress b { display:block; width:14%; height:100%; border-radius:inherit; background:#3f8875; transition:width .2s ease; }
.website-interview__form { overflow:hidden; border:1px solid #dce6e4; border-radius:22px; background:#fff; box-shadow:0 14px 35px rgba(19,58,63,.06); }
.website-interview__step { min-height:430px; padding:clamp(1.4rem,4vw,3rem); }
.website-interview__step[hidden] { display:none; }
.website-interview__step h2 { max-width:780px; margin:.3rem 0 1.2rem; font-size:clamp(1.65rem,3vw,2.45rem); letter-spacing:-.035em; }
.website-interview__support { max-width:760px; color:#60777c; }
.website-interview__promise-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2.25rem; }
.website-interview__promise-grid div { display:grid; gap:.35rem; padding:1.25rem; border-top:2px solid #8cbeb0; background:#f7faf9; }
.website-interview__promise-grid b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#dfeee9; color:#245f52; }
.website-interview__promise-grid span,.website-interview__choice small,.website-interview__style small,.website-interview__fields small { color:#687e82; }
.website-interview__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.website-interview__fields label { display:grid; gap:.4rem; color:#294e55; font-weight:750; }
.website-interview__fields small { font-weight:500; }
.website-interview__wide { grid-column:1/-1; }
.website-interview__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1.2rem; }
.website-interview__choice { display:flex; gap:.8rem; padding:1rem; border:1px solid #dce6e4; border-radius:13px; cursor:pointer; }
.website-interview__choice:has(input:checked) { border-color:#78a99c; background:#f1f7f5; }
.website-interview__choice span { display:grid; gap:.2rem; }
.website-interview__empty { display:grid; justify-items:start; gap:.55rem; padding:1.25rem; border:1px dashed #b8cac6; border-radius:14px; background:#f8faf9; color:#60777c; }
.website-interview__empty strong { color:#234b53; }
.website-interview__media { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.website-interview__media article { display:grid; gap:.5rem; padding:.7rem; border:1px solid #dce6e4; border-radius:14px; }
.website-interview__media img { width:100%; aspect-ratio:4/3; border-radius:9px; object-fit:cover; }
.website-interview__styles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.website-interview__style { display:grid; gap:.5rem; padding:1rem; border:1px solid #dce6e4; border-radius:14px; cursor:pointer; }
.website-interview__style:has(input:checked) { border-color:#4d8b7b; box-shadow:0 0 0 2px rgba(77,139,123,.15); }
.website-interview__style-swatch { display:flex; align-items:end; gap:4px; height:70px; padding:10px; border-radius:9px; background:#edf4f2; }
.website-interview__style-swatch i { display:block; width:30%; height:60%; border-radius:4px; background:#6d9d91; }.website-interview__style-swatch i:nth-child(2){height:85%;background:#214f57}.website-interview__style-swatch i:nth-child(3){height:45%;background:#d3a372}
.website-interview__actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.4rem; border-top:1px solid #e2e9e8; background:#fafcfc; }
.website-interview__review-note { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border-radius:12px; background:#eef5f3; }
.website-builder-state-guide { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.55rem; margin:1rem 0; }
.website-builder-state-guide>div { display:grid; gap:.2rem; padding:.75rem; border:1px solid #dce6e4; border-radius:12px; background:#fff; }
.website-builder-state-guide>div.is-current { border-color:#75a99b; background:#eef7f4; }
.website-builder-state-guide span { color:#357264; font-size:.65rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.website-builder-state-guide strong { color:#234b53; font-size:.78rem; }
.website-builder-state-guide small { color:#667b7f; font-size:.68rem; line-height:1.35; }
.website-interview__mode-truth { display:grid; gap:.3rem; margin:1rem 0; padding:1rem; border:1px solid #cfe1dc; border-radius:13px; background:#f3f8f6; }
.website-interview__mode-truth span { color:#587176; line-height:1.5; }

.site-draft { overflow:hidden; border:1px solid #d8e2e0; border-radius:17px; background:#fff; box-shadow:0 18px 40px rgba(17,53,58,.1); }
.site-draft__notice { padding:.55rem 1rem; background:#173f47; color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.site-draft__nav { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:.85rem 2rem; border-bottom:1px solid rgba(40,78,76,.1); background:#fff; }.site-draft__nav strong { display:flex; align-items:center; gap:.5rem; min-width:0; font-size:.9rem; }.site-draft__nav strong i { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:#dfeee9; color:#2d6d5f; font-style:normal; }.site-draft__nav div { display:flex; gap:1.2rem; }.site-draft__nav a,.site-draft__footer a { color:#4f686d; font-size:.7rem; font-weight:750; text-decoration:none; }.site-draft__nav button { padding:.58rem .85rem; font-size:.68rem; box-shadow:none; }
.site-draft__hero { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:1.6rem; padding:clamp(1.5rem,4vw,3.2rem); background:radial-gradient(circle at 85% 10%,rgba(87,151,133,.2),transparent 35%),#f7f2e9; }
.site-draft__hero span,.site-draft__section>span,.site-draft__split span,.site-draft__gallery>span { color:#387568; font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.site-draft__hero h3 { max-width:560px; margin:.4rem 0 .75rem; font-size:clamp(1.8rem,4vw,3.6rem); line-height:.98; letter-spacing:-.045em; text-wrap:balance; }
.site-draft__hero p { max-width:580px; color:#526b70; line-height:1.55; }.site-draft button { border:0; border-radius:10px; padding:.8rem 1.05rem; background:#2f7565; color:#fff; font-weight:800; box-shadow:0 8px 18px rgba(28,87,74,.16); }
.site-draft__hero-actions { display:flex; align-items:center; gap:.8rem; }.site-draft__hero-actions small { max-width:170px; color:#64787b; font-size:.67rem; line-height:1.35; }
.site-draft__hero-side { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.72fr); align-items:end; gap:.75rem; }
.site-draft__photo { display:grid; place-items:center; align-content:center; gap:.35rem; min-height:270px; overflow:hidden; border:1px solid rgba(34,91,79,.12); border-radius:18px; background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.7),transparent 25%),linear-gradient(145deg,#cce8df,#72aa99); color:#194c43; box-shadow:0 18px 35px rgba(37,84,78,.16); text-align:center; }
.site-draft__photo i { display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.72); font-size:2rem; font-style:normal; transform:rotate(-8deg); }.site-draft__photo strong { font-size:1.1rem; }.site-draft__photo span { color:#32695e; font-size:.75rem; font-weight:750; text-transform:uppercase; }
.site-draft__photo--real { display:block; }.site-draft__photo--real img,.site-draft__gallery-real img { width:100%; height:100%; object-fit:cover; }
.site-draft__request { display:grid; gap:.5rem; margin-left:-2.4rem; padding:1rem; border:1px solid rgba(28,72,68,.12); border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 16px 35px rgba(28,67,70,.18); }.site-draft__request>span { color:#367567; font-size:.65rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.site-draft__request strong { font-size:1rem; }.site-draft__request p { margin:0; font-size:.72rem; line-height:1.4; }.site-draft__request button { width:100%; padding:.65rem; }
.site-draft__request-fields { display:grid; gap:.35rem; }.site-draft__request-fields label { display:grid; gap:.12rem; padding:.38rem .5rem; border:1px solid #dce5e3; border-radius:7px; color:#6a7e82; font-size:.52rem; font-weight:800; text-transform:uppercase; }.site-draft__request-fields b { overflow:hidden; color:#304e54; font-size:.62rem; font-weight:650; text-overflow:ellipsis; text-transform:none; white-space:nowrap; }
.site-draft__trust { padding:.75rem; background:#e6f0ed; color:#2a5e53; text-align:center; font-weight:750; }
.site-draft__section,.site-draft__gallery { padding:1.6rem 2rem; }.site-draft h4 { margin:.3rem 0 1rem; font-size:1.45rem; }
.site-draft__cards,.site-draft__gallery div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }.site-draft__cards article { display:grid; gap:.4rem; min-height:130px; padding:1rem; border:1px solid #dce6e4; border-radius:13px; background:#fff; box-shadow:0 7px 18px rgba(25,65,69,.05); }.site-draft__cards article i { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#e4f0ec; color:#28685a; font-style:normal; }.site-draft__cards article strong { color:#173f47; }.site-draft__cards article p { margin:0; color:#60777c; font-size:.72rem; line-height:1.4; }.site-draft__cards article small { margin-top:auto; color:#2d6c5e; font-weight:800; }.site-draft__guidance { display:grid; justify-items:start; gap:.25rem; padding:1rem; border:1px dashed #aac5be; border-radius:12px; background:#f6faf8; color:#60777c; }
.site-draft__gallery i { display:grid; place-items:center; height:130px; overflow:hidden; border-radius:12px; background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.7),transparent 20%),linear-gradient(145deg,#e4edea,#aecdc4); }.site-draft__gallery i:nth-child(2) { background:linear-gradient(145deg,#f4e5d8,#d4ad8d); }.site-draft__gallery i:nth-child(3) { background:linear-gradient(145deg,#e2e8f0,#aabac9); }.site-draft__gallery b { font-size:2rem; filter:grayscale(.25); }
.site-draft__gallery-real { border:1px solid rgba(29,73,69,.1); box-shadow:0 8px 18px rgba(28,67,70,.08); }
.site-draft__split { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:1.6rem 2rem; background:#f7f9f8; }.site-draft__split ol { padding-left:1.2rem; color:#536b70; }
.site-draft__process { padding:2rem; background:#f7f9f8; }.site-draft__process>span,.site-draft__area>div>span,.site-draft__cta span { color:#387568; font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.site-draft__process h4,.site-draft__area h4 { margin:.3rem 0 1.2rem; font-size:1.45rem; }.site-draft__process>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }.site-draft__process article { display:grid; gap:.35rem; padding:.9rem; border-top:2px solid #8ab8ac; background:#fff; }.site-draft__process article b { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e1efeb; color:#28685a; }.site-draft__process article p { margin:0; color:#61777b; font-size:.68rem; line-height:1.4; }
.site-draft__area { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:1.6rem; padding:2rem; background:#eef3ed; }.site-draft__area p { color:#405f64; line-height:1.5; }.site-draft__area small { color:#60777c; }.site-draft__area-map { position:relative; display:grid; place-items:center; min-height:210px; overflow:hidden; border:1px solid rgba(40,91,80,.12); border-radius:16px; background:linear-gradient(145deg,#dfeae4,#b8d2c8); }.site-draft__area-map:before,.site-draft__area-map:after { position:absolute; width:130%; height:2px; background:rgba(255,255,255,.75); content:""; transform:rotate(-21deg); }.site-draft__area-map:after { transform:rotate(27deg); }.site-draft__area-map i { position:absolute; width:13px; height:13px; border:3px solid #fff; border-radius:50%; background:#3f8372; box-shadow:0 3px 8px rgba(24,67,61,.2); }.site-draft__area-map i:nth-child(1){left:20%;top:30%}.site-draft__area-map i:nth-child(2){right:23%;top:24%}.site-draft__area-map i:nth-child(3){left:38%;bottom:22%}.site-draft__area-map b { z-index:1; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#fff; color:#2e7564; font-size:1.35rem; }.site-draft__area-map span { z-index:1; margin-top:-55px; color:#285d53; font-size:.68rem; font-weight:800; }
.site-draft__cta { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:2rem; background:#173f47; color:#fff; }.site-draft__cta h4 { margin:.25rem 0; font-size:1.5rem; }.site-draft__cta p { max-width:600px; margin:0; color:#c9dcda; font-size:.75rem; }.site-draft__cta span { color:#91c9b9; }.site-draft__cta button { background:#f3e0c9; color:#17464a; }
.site-draft__footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:1rem; padding:1.2rem 2rem; background:#0f343a; color:#fff; }.site-draft__footer div { display:flex; gap:1rem; }.site-draft__footer a { color:#d2e0de; }.site-draft__footer small { grid-column:1/-1; color:#88a8aa; font-size:.6rem; }
.site-draft[data-style="mobile_groomer_friendly"] .site-draft__hero { background:#fff1e8; }.site-draft[data-style="mobile_groomer_friendly"] button { background:#b86551; }
.site-draft[data-style="mobile_groomer_friendly"] .site-draft__nav strong i,.site-draft[data-style="mobile_groomer_friendly"] .site-draft__process article b { background:#fae1d4; color:#9b4937; }.site-draft[data-style="mobile_groomer_friendly"] .site-draft__process article { border-top-color:#dc917d; }.site-draft[data-style="mobile_groomer_friendly"] .site-draft__cta { background:#713f3b; }
.site-draft[data-style="mobile_groomer_premium"] .site-draft__hero { background:#f3f0eb; }.site-draft[data-style="mobile_groomer_premium"] button { background:#1e5553; }.site-draft[data-style="mobile_groomer_premium"] .site-draft__trust { background:#eee8dd; }
.site-draft[data-style="mobile_groomer_premium"] .site-draft__section { padding-block:2.25rem; }.site-draft[data-style="mobile_groomer_premium"] .site-draft__cards article { border-color:#ddd4c7; border-radius:4px; }.site-draft[data-style="mobile_groomer_premium"] .site-draft__cta { background:#183c3d; }
.site-draft[data-style="mobile_groomer_fast_booking"] .site-draft__hero { background:#eef4fb; }.site-draft[data-style="mobile_groomer_fast_booking"] button { background:#386c89; }
.site-draft[data-style="mobile_groomer_fast_booking"] .site-draft__process article { border-top-color:#6e9ab1; }.site-draft[data-style="mobile_groomer_fast_booking"] .site-draft__cta { background:#244f68; }
.site-draft--large { margin-top:1rem; }.website-interview__review-actions { display:flex; gap:.7rem; margin:1rem 0; }
.website-interview__submit { display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; margin-top:1rem; padding:1.4rem; border:1px solid #dce6e4; border-radius:17px; background:#fff; }.website-interview__submit h2 { margin:.3rem 0; }.website-interview__submit form { display:grid; align-content:center; gap:1rem; }

@media (max-width:720px) {
  .website-interview[data-website-interview] { padding-top:4.75rem; }
  .website-builder-guided-entry,.website-interview__masthead,.website-interview__toolbar,.website-interview__review-note { align-items:stretch; flex-direction:column; }
  .website-builder-guided-entry .button,.website-interview__toolbar .button { width:100%; }
  .website-interview__masthead { overflow:visible; padding:1.3rem 1.2rem; }.website-interview__masthead h1 { margin-top:.45rem; font-size:clamp(2rem,10vw,2.55rem); line-height:1.04; letter-spacing:-.04em; overflow-wrap:anywhere; }.website-interview__status { flex:auto; }
  .website-interview__progress { justify-content:space-between; min-width:0; }.website-interview__progress i { flex:1; }
  .website-interview__step { min-height:0; padding:1.2rem; }
  .website-interview__promise-grid,.website-interview__fields,.website-interview__choices,.website-interview__media,.website-interview__styles,.site-draft__hero,.site-draft__split,.website-interview__submit,.website-builder-state-guide { grid-template-columns:minmax(0,1fr); }
  .website-interview__wide { grid-column:auto; }.website-interview__actions { position:sticky; bottom:0; z-index:4; }.website-interview__actions .button { min-width:0; }
  .site-draft__nav { align-items:flex-start; padding:.85rem 1rem; }.site-draft__nav div { display:none; }.site-draft__nav strong { max-width:58%; }.site-draft__nav button { flex:0 0 auto; }.site-draft__hero,.site-draft__section,.site-draft__split,.site-draft__process,.site-draft__area,.site-draft__gallery,.site-draft__cta { padding:1.2rem; }.site-draft__hero h3 { font-size:clamp(2rem,11vw,2.8rem); line-height:1.02; }.site-draft__hero-actions { align-items:flex-start; flex-direction:column; }.site-draft__hero-side,.site-draft__area { grid-template-columns:minmax(0,1fr); }.site-draft__photo { min-height:190px; }.site-draft__request { margin:-2rem .75rem 0; }.site-draft__cards,.site-draft__process>div { grid-template-columns:minmax(0,1fr); }.site-draft__cards article { min-height:0; }.site-draft__gallery i { height:90px; }.site-draft__cta { align-items:stretch; flex-direction:column; }.site-draft__footer { grid-template-columns:minmax(0,1fr); padding:1.2rem; }.site-draft__footer div { flex-wrap:wrap; }.site-draft__footer small { grid-column:auto; }
  .website-interview__review-actions { display:grid; grid-template-columns:1fr; }.website-interview,.website-interview * { min-width:0; max-width:100%; }
  .website-builder-state-guide>div:not(.is-current) { display:none; }
  .website-preview-stage { max-height:65vh; overflow:auto; }
}

@media (max-width:760px) {
  .utility-workspace--staff .owner-setup-guidance .ui2-adminops-section-head { align-items:flex-start; flex-direction:column; }
  .utility-workspace--staff .owner-setup-guidance .badge { align-self:flex-start; }
}

/* GLOBAL-LOGOUT-UX-001 — keep account exit visible in every authenticated shell. */
@media (min-width: 861px) {
  .side-rail__inner { overflow:hidden; }
  .side-nav { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
}

@media (max-width: 390px) {
  .top-nav__account-actions { align-items:stretch; flex-direction:column; }
  .top-nav__account-actions strong { max-width:100%; }
  .shell-logout--mobile { width:100%; }
}

/* WEBSITE-MEDIA-UPLOAD-UX-001 — inline premium media studio and responsive preview. */
.website-media-permission { display:flex; align-items:flex-start; gap:.75rem; margin:1rem 0; padding:1rem 1.1rem; border:1px solid #d5e1de; border-radius:14px; background:#f7faf9; cursor:pointer; }
.website-media-permission input { margin-top:.2rem; accent-color:#356f62; }
.website-media-permission span { display:grid; gap:.2rem; }.website-media-permission strong { color:#183e45; }.website-media-permission small { color:#64787c; line-height:1.4; }
.website-media-studio { display:grid; gap:1rem; }
.website-media-slot { display:grid; gap:1rem; padding:1.2rem; border:1px solid #d8e3e0; border-radius:18px; background:linear-gradient(180deg,#fff,#fbfcfc); box-shadow:0 10px 28px rgba(23,63,71,.055); }
.website-media-slot__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.website-media-slot__heading>div { display:grid; gap:.18rem; }.website-media-slot__heading span { color:#3d776b; font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.website-media-slot__heading h3 { margin:0; color:#173f47; font-size:1.2rem; }.website-media-slot__heading p { margin:0; color:#64787c; font-size:.82rem; }
.website-media-drop { display:grid; place-items:center; gap:.25rem; min-height:130px; padding:1rem; border:1.5px dashed #aac5be; border-radius:15px; background:radial-gradient(circle at 50% 10%,rgba(112,170,154,.12),transparent 45%),#f7faf9; color:#315f57; text-align:center; cursor:pointer; transition:.18s ease; }.website-media-drop:hover,.website-media-drop.is-dragging { border-color:#4d897b; background:#edf6f3; transform:translateY(-1px); }.website-media-drop input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.website-media-drop__icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#deece8; color:#2d6b5d; font-size:1.1rem; }.website-media-drop small { color:#74878a; }.website-media-drop--hero { min-height:155px; }
.website-media-library { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }.website-media-library:empty { display:none; }
.website-media-card { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:.7rem; overflow:hidden; padding:.55rem; border:1px solid #d9e3e1; border-radius:13px; background:#fff; cursor:pointer; }.website-media-card:hover { border-color:#90b6ad; }.website-media-card.is-selected { border-color:#4d897b; box-shadow:0 0 0 2px rgba(77,137,123,.13); }.website-media-card input { position:absolute; top:.55rem; right:.55rem; accent-color:#397568; }.website-media-card img { width:72px; height:62px; border-radius:9px; object-fit:cover; background:#edf3f1; }.website-media-card span { display:grid; gap:.15rem; min-width:0; }.website-media-card strong,.website-media-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.website-media-card strong { color:#254b52; font-size:.78rem; }.website-media-card small { color:#718387; font-size:.67rem; }.website-media-card--wide { grid-column:span 2; grid-template-columns:110px minmax(0,1fr); }.website-media-card--wide img { width:110px; }
.website-media-framing { display:grid; grid-template-columns:minmax(180px,1fr) repeat(2,minmax(150px,.55fr)); align-items:center; gap:1rem; padding:.85rem 1rem; border-radius:12px; background:#f2f7f5; }.website-media-framing>span { display:grid; }.website-media-framing small { color:#6a7f82; }.website-media-framing label { display:grid; gap:.3rem; color:#4c666b; font-size:.72rem; font-weight:750; }.website-media-framing input { width:100%; accent-color:#3e7a6d; }
.website-media-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }.website-media-gallery:empty { display:none; }
.website-gallery-card { overflow:hidden; border:1px solid #d9e3e1; border-radius:13px; background:#fff; opacity:.72; transition:.16s ease; }.website-gallery-card.is-selected { border-color:#65998e; box-shadow:0 5px 14px rgba(30,75,72,.09); opacity:1; }.website-gallery-card.is-dragging { opacity:.45; }.website-gallery-card>img { width:100%; aspect-ratio:4/3; object-fit:cover; background:#edf3f1; }.website-gallery-card>div { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.35rem; padding:.55rem; }.website-gallery-card label { color:#385b61; font-size:.68rem; font-weight:750; }.website-gallery-card input { accent-color:#3e7a6d; }.website-gallery-card button { grid-column:2; justify-self:start; padding:0; border:0; background:none; color:#7b4e4e; font-size:.65rem; cursor:pointer; }.website-gallery-card__handle { grid-row:1/3; color:#78908d; cursor:grab; font-weight:900; letter-spacing:-.2em; }
.website-media-empty { display:grid; justify-items:center; gap:.25rem; padding:1.2rem; border:1px solid #dce6e3; border-radius:14px; background:linear-gradient(135deg,#f6faf8,#f9f5ef); color:#315e57; text-align:center; }.website-media-empty[hidden] { display:none; }.website-media-empty>span { font-size:1.6rem; }.website-media-empty small { color:#708387; }
.website-media-status { min-height:1.2rem; margin:0; color:#506b70; font-size:.78rem; font-weight:700; }.website-media-status[data-tone="success"] { color:#246552; }.website-media-status[data-tone="error"] { color:#a33b3b; }.website-media-status[data-tone="loading"] { color:#315f79; }
.website-preview-switcher { display:inline-flex; align-items:center; gap:.3rem; margin-bottom:.8rem; padding:.32rem; border:1px solid #d6e1df; border-radius:11px; background:#f5f8f7; }.website-preview-switcher>span { padding:0 .45rem; color:#667b7f; font-size:.7rem; font-weight:800; text-transform:uppercase; }.website-preview-switcher button { min-height:2rem; padding:.35rem .62rem; border:0; border-radius:8px; background:transparent; color:#526b70; font-size:.72rem; font-weight:750; cursor:pointer; }.website-preview-switcher button.is-active { background:#fff; color:#24584e; box-shadow:0 2px 8px rgba(25,63,68,.1); }
.website-preview-stage { overflow:auto; padding:1rem; border:1px solid #d9e2e0; border-radius:18px; background:#e9efed; }.website-preview-stage .site-draft { width:100%; margin-inline:auto; transition:width .22s ease; }.website-preview-stage[data-size="tablet"] .site-draft { width:768px; max-width:100%; }.website-preview-stage[data-size="mobile"] .site-draft { width:390px; max-width:100%; }
.site-draft__nav [data-preview-logo] { overflow:hidden; }.site-draft__nav [data-preview-logo] img,.site-draft__nav strong i img { width:100%; height:100%; object-fit:contain; }
.website-preview-stage[data-size="mobile"] .site-draft__nav { align-items:flex-start; padding:.85rem 1rem; }.website-preview-stage[data-size="mobile"] .site-draft__nav div { display:none; }.website-preview-stage[data-size="mobile"] .site-draft__nav strong { max-width:58%; }.website-preview-stage[data-size="mobile"] :is(.site-draft__hero,.site-draft__area) { grid-template-columns:minmax(0,1fr); }.website-preview-stage[data-size="mobile"] :is(.site-draft__hero,.site-draft__section,.site-draft__process,.site-draft__area,.site-draft__gallery,.site-draft__cta) { padding:1.2rem; }.website-preview-stage[data-size="mobile"] .site-draft__hero h3 { font-size:2.35rem; line-height:1.02; }.website-preview-stage[data-size="mobile"] .site-draft__hero-side { grid-template-columns:minmax(0,1fr); }.website-preview-stage[data-size="mobile"] .site-draft__photo { min-height:190px; }.website-preview-stage[data-size="mobile"] .site-draft__request { margin:-2rem .75rem 0; }.website-preview-stage[data-size="mobile"] :is(.site-draft__cards,.site-draft__process>div) { grid-template-columns:minmax(0,1fr); }.website-preview-stage[data-size="mobile"] .site-draft__cta { align-items:stretch; flex-direction:column; }.website-preview-stage[data-size="mobile"] .site-draft__footer { grid-template-columns:minmax(0,1fr); padding:1.2rem; }

@media (max-width:720px) {
  .website-media-slot { padding:1rem; }.website-media-slot__heading { align-items:stretch; flex-direction:column; }.website-media-slot__heading .button { width:100%; }.website-media-library,.website-media-gallery { grid-template-columns:minmax(0,1fr); }.website-media-card--wide { grid-column:auto; }.website-media-framing { grid-template-columns:minmax(0,1fr); }.website-preview-switcher { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }.website-preview-switcher>span { grid-column:1/-1; }.website-preview-stage { padding:.45rem; }.website-preview-stage[data-size] .site-draft { width:100%; }
}

/* WEBSITE-LIVE-PREVIEW-POLISH-001 — finished-site rhythm inside the private canvas. */
.site-draft { overflow:hidden; background:#fff; box-shadow:0 22px 55px rgba(22,58,64,.13); }
.site-draft__nav { padding:1rem 2.4rem; }
.site-draft__hero { min-height:520px; grid-template-columns:.82fr 1.18fr; padding:clamp(2.3rem,5vw,4.6rem); }
.site-draft__hero-copy { position:relative; z-index:2; }
.site-draft__hero h3 { margin:.55rem 0 1rem; font-size:clamp(2.5rem,5vw,4.8rem); }
.site-draft__hero-copy>p { font-size:1rem; }
.site-draft__hero-proof { display:flex; flex-wrap:wrap; gap:.45rem 1rem; margin-top:1.4rem; color:#45665f; font-size:.7rem; }
.site-draft__hero-proof b { display:flex; align-items:center; gap:.35rem; }
.site-draft__hero-proof b:before { color:#4e8b79; content:"✓"; }
.site-draft__hero-side { grid-template-columns:minmax(0,1fr) minmax(205px,.62fr); }
.site-draft__photo { position:relative; min-height:410px; border-radius:24px; }
.site-draft__photo--real img { transition:transform .5s ease; }
.site-draft__photo--real:hover img { transform:scale(1.025); }
.site-draft__photo-caption { position:absolute; right:1rem; bottom:1rem; left:1rem; padding:.72rem 1rem; border:1px solid rgba(255,255,255,.4); border-radius:12px; background:rgba(17,55,58,.7); color:#fff!important; font-size:.7rem!important; letter-spacing:.04em!important; text-align:left; text-transform:none!important; backdrop-filter:blur(8px); }
.site-draft__request { gap:.65rem; margin-left:-3.6rem; padding:1.25rem; border-radius:20px; box-shadow:0 24px 55px rgba(24,61,65,.22); }
.site-draft__request>strong { font-size:1.22rem; }
.site-draft__request-fields { gap:.45rem; }
.site-draft__request-fields label { display:flex; align-items:center; gap:.6rem; padding:.55rem .65rem; border-radius:10px; background:#fbfcfc; }
.site-draft__request-fields label>i { display:grid; flex:0 0 25px; place-items:center; width:25px; height:25px; border-radius:50%; background:#e5efec; color:#3e7568; font-size:.48rem; font-style:normal; }
.site-draft__request-fields label>span { display:grid; gap:.12rem; min-width:0; }
.site-draft__request button { display:flex; align-items:center; justify-content:space-between; padding:.75rem .85rem; }
.site-draft__request button i { font-style:normal; }
.site-draft__request>p { color:#6c7e80; text-align:center; }
.site-draft__trust { padding:1rem 2rem; letter-spacing:.025em; }
.site-draft__section,.site-draft__gallery { padding:3.6rem clamp(2rem,6vw,5rem); }
.site-draft h4,.site-draft__process h4,.site-draft__area h4 { font-size:clamp(1.65rem,3vw,2.3rem); letter-spacing:-.025em; }
.site-draft__cards { gap:1.05rem; }
.site-draft__cards article { min-height:205px; padding:1.25rem; border-radius:18px; box-shadow:0 13px 28px rgba(25,65,69,.07); transition:transform .2s ease,box-shadow .2s ease; }
.site-draft__cards article:hover { box-shadow:0 18px 36px rgba(25,65,69,.11); transform:translateY(-3px); }
.site-draft__cards article i { width:36px; height:36px; }
.site-draft__cards article strong { font-size:1.02rem; }
.site-draft__cards article a { display:flex; align-items:center; justify-content:space-between; padding-top:.7rem; border-top:1px solid #e8eeec; color:#396f63; font-size:.68rem; font-weight:800; text-decoration:none; }
.site-draft__process { padding:3.6rem clamp(2rem,6vw,5rem); }
.site-draft__process>div { position:relative; gap:1rem; }
.site-draft__process>div:before { position:absolute; top:20px; right:9%; left:9%; height:1px; background:linear-gradient(90deg,transparent,#9ebdb5 12%,#9ebdb5 88%,transparent); content:""; }
.site-draft__process article { position:relative; min-height:150px; padding:1.1rem; border:0; border-radius:16px; box-shadow:0 9px 24px rgba(30,64,69,.06); }
.site-draft__process article b { position:relative; z-index:1; width:40px; height:40px; box-shadow:0 0 0 6px #f7f9f8; }
.site-draft__area { gap:3rem; padding:3.6rem clamp(2rem,6vw,5rem); }
.site-draft__area-map { min-height:300px; border-radius:24px; box-shadow:inset 0 0 0 8px rgba(255,255,255,.18),0 16px 30px rgba(34,78,68,.1); }
.site-draft__area-map:before,.site-draft__area-map:after { height:6px; border-block:1px solid rgba(80,125,116,.15); background:rgba(255,255,255,.65); }
.site-draft__gallery>p { margin:-.5rem 0 1.4rem; color:#687d80; }
.site-draft__gallery>div { grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:105px; gap:.7rem; }
.site-draft__gallery i { height:auto; min-height:0; border-radius:16px; }
.site-draft__gallery i:nth-child(1) { grid-column:span 3; grid-row:span 2; }
.site-draft__gallery i:nth-child(2) { grid-column:span 3; grid-row:span 1; }
.site-draft__gallery i:nth-child(n+3) { grid-column:span 2; grid-row:span 1; }
.site-draft__gallery-real img { transition:transform .35s ease; }
.site-draft__gallery-real:hover img { transform:scale(1.04); }
.site-draft__cta { padding:3.3rem clamp(2rem,6vw,5rem); background:radial-gradient(circle at 82% 10%,rgba(137,199,183,.22),transparent 30%),#173f47; }
.site-draft__cta h4 { max-width:650px; font-size:clamp(1.8rem,3vw,2.6rem); }
.site-draft__cta button { padding:1rem 1.4rem; border-radius:14px; }
.site-draft__footer { padding:1.7rem clamp(2rem,6vw,5rem); }
.website-preview-stage { position:relative; padding:2.6rem 1rem 1rem; background:linear-gradient(145deg,#e4ebe9,#f0f3f2); box-shadow:inset 0 1px 0 #fff; }
.website-preview-stage:before { position:absolute; top:.9rem; left:1rem; width:8px; height:8px; border-radius:50%; background:#df8177; box-shadow:14px 0 #e5bc68,28px 0 #7eb593; content:""; }
.website-preview-stage:after { position:absolute; top:.65rem; right:1rem; left:4.2rem; overflow:hidden; color:#708280; content:"Private preview · opendog site canvas"; font-size:.63rem; text-align:center; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:720px) {
  .site-draft__hero { min-height:0; padding:2.4rem 1.2rem; }
  .site-draft__hero h3 { font-size:clamp(2.05rem,10.5vw,2.75rem); }
  .site-draft__hero-proof { margin-bottom:.5rem; }
  .site-draft__photo { min-height:260px; border-radius:19px; }
  .site-draft__request { margin:-2.4rem .65rem 0; padding:1rem; }
  .site-draft__section,.site-draft__process,.site-draft__area,.site-draft__gallery,.site-draft__cta { padding:2.5rem 1.2rem; }
  .site-draft__process>div:before { display:none; }
  .site-draft__process article { min-height:0; }
  .site-draft__gallery>div { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:115px; }
  .site-draft__gallery i:nth-child(1) { grid-column:span 2; grid-row:span 2; }
  .site-draft__gallery i:nth-child(n+2) { grid-column:span 1; grid-row:span 1; }
  .site-draft__area-map { min-height:240px; }
  .website-preview-stage { padding-top:2.3rem; }
}

/* VISUAL-SYSTEM-UNIFICATION-001 — record workflows share the operations visual language. */
:is(
  .top-level-v2--billing,
  .top-level-v2--invoice-detail,
  .top-level-v2--appointments,
  .top-level-v2--customers,
  .appointment-detail-shell,
  .customer-pet-workflow
) {
  --record-ink:#082f3a;
  --record-muted:#607579;
  --record-line:rgba(12,73,76,.14);
  --record-mint:#29b98a;
  --record-mint-soft:#e9f8f3;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) > .top-level-v2__top-container,
.appointment-detail-shell > .appointment-detail-hero,
body:has(.customer-pet-workflow--customer-detail) > .app-shell .profile-header,
body:has(.customer-pet-workflow--pet-detail) > .app-shell .profile-header {
  overflow:hidden;
  border:1px solid var(--record-line)!important;
  border-radius:20px!important;
  background:radial-gradient(circle at 88% 10%,rgba(75,190,153,.16),transparent 30%),linear-gradient(125deg,#fff 0%,#f5fbf9 62%,#eaf8f3 100%)!important;
  box-shadow:0 18px 44px rgba(8,53,58,.1)!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) .page-header,
body:has(.customer-pet-workflow--customer-detail) .profile-header .page-header,
body:has(.customer-pet-workflow--pet-detail) .profile-header .page-header {
  border:0!important;
  background:transparent!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers,.appointment-detail-shell) :is(.page-header__title,.appointment-detail-hero__title) {
  color:var(--record-ink)!important;
  font-size:clamp(1.8rem,3.2vw,2.75rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) .top-level-v2__summary-strip {
  gap:.7rem!important;
  padding:.3rem 0 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) .top-level-v2__metric {
  padding:.9rem 1rem!important;
  border:1px solid rgba(12,73,76,.11)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 8px 20px rgba(8,53,58,.055)!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) .top-level-v2__metric:first-child {
  background:var(--record-mint-soft)!important;
  border-color:rgba(41,185,138,.24)!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) .top-level-v2__metric strong {
  color:var(--record-ink)!important;
  font-size:1.2rem!important;
}

:is(.top-level-v2--billing,.top-level-v2--appointments,.top-level-v2--customers) .ops-record-list {
  gap:.8rem!important;
}

:is(.top-level-v2--billing,.top-level-v2--appointments,.top-level-v2--customers) .ops-record-card {
  padding:1rem 1.1rem!important;
  border-color:var(--record-line)!important;
  border-radius:17px!important;
  box-shadow:0 9px 25px rgba(8,53,58,.065)!important;
}

:is(.top-level-v2--billing,.top-level-v2--appointments,.top-level-v2--customers) .ops-record-card:hover {
  border-color:rgba(41,185,138,.45)!important;
  box-shadow:0 15px 34px rgba(8,53,58,.11)!important;
}

.top-level-v2--appointments .ops-filter-bar,
.top-level-v2--customers .ops-filter-bar,
.top-level-v2--appointments .top-level-v2__flag-summary {
  border-color:var(--record-line)!important;
  border-radius:16px!important;
  background:#f4faf8!important;
}

.top-level-v2--invoice-detail :is(.ui2-sensitive-card,.ui2-sensitive-section),
.appointment-detail-shell .appointment-detail-card,
body:has(.customer-pet-workflow--customer-detail) :is(.customer-pet-context-bar,.info-card),
body:has(.customer-pet-workflow--pet-detail) :is(.customer-pet-context-bar,.info-card) {
  border:1px solid rgba(12,73,76,.14)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(8,53,58,.065)!important;
}

.top-level-v2--invoice-detail .billing-section--share,
.appointment-detail-shell :is(.appointment-detail-card--info,.appointment-detail-card--accent),
body:has(.customer-pet-workflow--customer-detail) .customer-pet-context-bar,
body:has(.customer-pet-workflow--pet-detail) .customer-pet-context-bar {
  background:linear-gradient(120deg,#eef9f5,#fff 74%)!important;
  border-color:rgba(41,185,138,.25)!important;
}

.top-level-v2--invoice-detail :is(.ui2-adminops-section-head,.table th),
.appointment-detail-shell .appointment-detail-card__header,
body:has(.customer-pet-workflow--customer-detail) .info-card__title,
body:has(.customer-pet-workflow--pet-detail) .info-card__title {
  color:var(--record-ink)!important;
}

.top-level-v2--invoice-detail .table th,
.appointment-detail-shell .table th,
body:has(.customer-pet-workflow--customer-detail) .table th,
body:has(.customer-pet-workflow--pet-detail) .table th {
  background:#edf7f4!important;
}

.invoice-print-sheet {
  border-radius:18px!important;
  border-color:rgba(12,73,76,.16)!important;
}

@media (max-width:720px) {
  :is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers) > .top-level-v2__top-container,
  .appointment-detail-shell > .appointment-detail-hero,
  body:has(.customer-pet-workflow--customer-detail) > .app-shell .profile-header,
  body:has(.customer-pet-workflow--pet-detail) > .app-shell .profile-header {
    border-radius:17px!important;
  }

  :is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers,.appointment-detail-shell) :is(.page-header__title,.appointment-detail-hero__title) {
    font-size:clamp(1.7rem,9vw,2.25rem)!important;
  }

  :is(.top-level-v2--billing,.top-level-v2--appointments,.top-level-v2--customers) .ops-record-card {
    padding:.9rem!important;
  }

  .top-level-v2--invoice-detail :is(.ui2-sensitive-card,.ui2-sensitive-section),
  .appointment-detail-shell .appointment-detail-card,
  body:has(.customer-pet-workflow--customer-detail) :is(.customer-pet-context-bar,.info-card),
  body:has(.customer-pet-workflow--pet-detail) :is(.customer-pet-context-bar,.info-card) {
    border-radius:15px!important;
  }
}

@media print {
  .invoice-print-sheet { border-radius:0!important; box-shadow:none!important; }
}
.platform-readiness-blocker {
    display: grid;
    gap: 0.25rem;
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--od-border, #d6dee8);
    border-left: 4px solid var(--od-warning, #b86a00);
    border-radius: 0.75rem;
    background: #fffaf0;
    font-size: 0.84rem;
    line-height: 1.35;
}

.platform-readiness-blocker span {
    color: var(--od-text-muted, #5a6878);
}

.platform-readiness-blocker a {
    width: fit-content;
    font-weight: 800;
}
/* Public self-serve onboarding wizard */
.onboarding-wizard{max-width:880px;margin:0 auto;display:grid;gap:1.25rem}.onboarding-wizard__header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.onboarding-wizard__progress{min-width:110px;padding:1rem;border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:center}.onboarding-wizard__progress strong,.onboarding-wizard__progress span{display:block}.onboarding-wizard__progress strong{font-size:1.5rem}.onboarding-wizard__current,.onboarding-wizard__ready{padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.onboarding-wizard__current h3,.onboarding-wizard__ready h3{margin:.25rem 0 .5rem}.onboarding-wizard__summary{font-weight:700}.onboarding-wizard__steps{display:grid;gap:.65rem;padding:0;margin:0;list-style:none}.onboarding-wizard__step{display:grid;grid-template-columns:38px 1fr auto;gap:.8rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);opacity:.72}.onboarding-wizard__step.is-current{opacity:1;border-color:var(--color-primary);background:var(--color-surface-muted)}.onboarding-wizard__step.is-done{opacity:1}.onboarding-wizard__number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-surface);font-weight:800}.onboarding-wizard__step.is-done .onboarding-wizard__number{background:var(--color-success);color:#fff}.onboarding-wizard__step small{display:block;margin-top:.2rem;color:var(--color-text-muted)}.onboarding-wizard__footer{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem}@media(max-width:600px){.onboarding-wizard__header{display:grid}.onboarding-wizard__progress{display:flex;gap:.4rem;align-items:baseline;text-align:left}.onboarding-wizard__step{grid-template-columns:34px 1fr}.onboarding-wizard__step>a{grid-column:2}.onboarding-wizard__footer{display:grid}}
/* Tenant self-serve Help Center */
.tenant-help{display:grid;gap:1.25rem}.tenant-help__hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tenant-help__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tenant-help__card,.tenant-help__notice,.tenant-help__truth,.tenant-help__boundary{padding:1.25rem}.tenant-help__card h4,.tenant-help__truth h4{margin:0 0 .45rem}.tenant-help__card p,.tenant-help__truth p{margin:0 0 .75rem}.tenant-help__requests{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1rem}.tenant-help__requests>.od-v2-card{padding:1.25rem}.tenant-help__form{display:grid;gap:1rem}.tenant-help__form label{display:grid;gap:.4rem;font-weight:700}.tenant-help__form .button{justify-self:start}.tenant-help__request-list{display:grid;gap:.75rem}.tenant-help__request-list article{border:1px solid var(--od-border,#d9e1e8);border-radius:.75rem;padding:.85rem}.tenant-help__request-list article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.tenant-help__request-list p{margin:.45rem 0 0;color:var(--od-text-muted,#667085);font-size:.9rem}@media(max-width:700px){.tenant-help__hero{align-items:flex-start;flex-direction:column}.tenant-help__grid,.tenant-help__requests{grid-template-columns:1fr}.tenant-help__hero .button,.tenant-help__form .button{width:100%}.tenant-help__request-list article>div{align-items:flex-start;flex-direction:column}}

/* PUBLIC-APP-VISUAL-CONSISTENCY-PASS-001 */
:root{--od-primary:#0b4f4a;--od-primary-hover:#083f3b;--od-primary-strong:#073b3a;--od-accent:#6f8f7a;--od-accent-strong:#527565;--od-accent-soft:#eef4ec;--od-bg:#f7f5ef;--od-surface:#fff;--od-surface-muted:#faf9f5;--od-text:#1f2f38;--od-text-muted:#617078;--od-border:#d9e2dc;--od-shadow-sm:0 1px 2px rgba(18,48,45,.05),0 7px 22px rgba(18,48,45,.05);--od-shadow-md:0 2px 5px rgba(18,48,45,.06),0 16px 38px rgba(18,48,45,.08);--od-success:#2f7658;--od-success-soft:#eaf4ed;--od-warning:#9a6515;--od-warning-soft:#fff5df;--od-danger:#a4413a;--od-danger-soft:#fff0ee;--od-info:#316a78;--od-info-soft:#edf6f7;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--color-primary:var(--od-primary);--color-primary-hover:var(--od-primary-hover);--color-surface:var(--od-surface);--color-surface-muted:var(--od-surface-muted);--color-text:var(--od-text);--color-text-muted:var(--od-text-muted);--color-border:var(--od-border);--color-success:var(--od-success);--color-warning:var(--od-warning);--color-danger:var(--od-danger)}
body{background:var(--od-bg);color:var(--od-text);font-size:16px;line-height:1.55}a{color:var(--od-primary)}a:hover{color:var(--od-primary-hover)}
:is(.button,.btn,.marketing-button,.marketing-cta){min-height:44px;border-radius:12px;font-weight:750;letter-spacing:-.005em;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}
:is(.button-primary,.btn-primary,.marketing-button--primary,.marketing-cta--primary){border-color:var(--od-primary)!important;background:var(--od-primary)!important;color:#fff!important;box-shadow:0 5px 15px rgba(11,79,74,.16)}
:is(.button-primary,.btn-primary,.marketing-button--primary,.marketing-cta--primary):hover{border-color:var(--od-primary-hover)!important;background:var(--od-primary-hover)!important;transform:translateY(-1px)}
:is(.button-secondary,.btn-secondary,.marketing-button--secondary){border-color:#b8c8c0!important;background:#fff!important;color:var(--od-primary)!important;box-shadow:none}:is(.button-secondary,.btn-secondary,.marketing-button--secondary):hover{border-color:var(--od-accent-strong)!important;background:var(--od-accent-soft)!important}
:is(.button-ghost,.btn-ghost){background:transparent!important;color:var(--od-primary)!important;border-color:transparent!important}:is(.button-danger,.button-destructive,.btn-danger){background:var(--od-danger)!important;border-color:var(--od-danger)!important;color:#fff!important}
:is(.button,.btn,.marketing-button)[disabled],:is(.button,.btn,.marketing-button).is-disabled{opacity:.52;box-shadow:none;cursor:not-allowed;transform:none}:is(.button,.btn,.marketing-button).is-loading{cursor:progress;color:transparent!important;position:relative}:is(.button,.btn,.marketing-button).is-loading::after{content:"";position:absolute;width:17px;height:17px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:od-spin .7s linear infinite}@keyframes od-spin{to{transform:rotate(360deg)}}
:is(.panel,.card,.od-v2-card,.surface-default,.utility-card,.info-card,.tenant-help__card,.tenant-help__notice,.tenant-help__truth,.tenant-help__boundary,.onboarding-wizard__current,.onboarding-wizard__ready){border-color:var(--od-border)!important;border-radius:var(--radius-lg)!important;background:var(--od-surface)!important;box-shadow:var(--od-shadow-sm)}:is(.surface-muted,.onboarding-wizard__progress){background:var(--od-accent-soft)!important;border-color:#d5e2d7!important}:is(.panel,.od-v2-card,.utility-card,.info-card){padding:clamp(1rem,2vw,1.5rem)}
:is(.page-header,.od-v2-page-header,.top-level-v2__top-container,.tenant-help__hero){border-color:var(--od-border)!important;border-radius:var(--radius-lg)!important;background:linear-gradient(125deg,#fff 0%,#f4f6ef 100%)!important;box-shadow:var(--od-shadow-sm);padding:clamp(1.15rem,2.5vw,2rem)!important}:is(.page-header__title,.od-v2-page-header h1,.top-level-v2__top-container h1){color:var(--od-primary-strong)!important;letter-spacing:-.035em;line-height:1.12}:is(.page-header__subtitle,.od-v2-page-header p,.top-level-v2__top-container p){color:var(--od-text-muted)!important;max-width:68ch}
:is(input,select,textarea,.form-control){min-height:44px;border:1px solid #cbd8d1!important;border-radius:11px!important;background:#fff!important;color:var(--od-text)!important;box-shadow:0 1px 2px rgba(18,48,45,.03)}:is(input,select,textarea,.form-control):focus{border-color:var(--od-primary)!important;box-shadow:0 0 0 3px rgba(11,79,74,.13)!important;outline:0}:is(label,.form-label){color:#30434a;font-weight:700}.helper-text,.form-help,small.muted{color:var(--od-text-muted)}.field-error,.form-error{color:var(--od-danger)}
:is(.badge,.od-v2-status){border-radius:999px!important;border:1px solid #ccd8d2!important;background:#f2f5f2!important;color:#4e6065!important;font-weight:750!important}:is(.badge-success,.od-v2-status--success,.od-v2-status--active){border-color:#b9d8c3!important;background:var(--od-success-soft)!important;color:var(--od-success)!important}:is(.badge--warning,.od-badge-warning,.od-v2-status--warning,.od-v2-status--attention){border-color:#ead29d!important;background:var(--od-warning-soft)!important;color:var(--od-warning)!important}:is(.badge--danger,.od-v2-status--danger){border-color:#e5b8b3!important;background:var(--od-danger-soft)!important;color:var(--od-danger)!important}:is(.badge--info,.od-v2-status--primary,.od-v2-status--workflow,.od-v2-status--revenue){border-color:#bfd7dc!important;background:var(--od-info-soft)!important;color:var(--od-info)!important}:is(.badge--muted,.badge--subtle,.od-v2-status--neutral){border-color:#d5ddda!important;background:#f3f5f3!important;color:#5b686b!important}
:is(.alert,.notice,.platform-readiness-blocker){border-radius:14px!important;border-width:1px!important;border-left-width:4px!important;box-shadow:none}:is(.alert-success,.notice--success){border-color:#acd1b8!important;background:var(--od-success-soft)!important;color:#245b45!important}:is(.alert-warning,.notice--warning,.platform-readiness-blocker){border-color:#e5c986!important;background:var(--od-warning-soft)!important;color:#755016!important}:is(.alert-error,.alert-danger,.notice--danger){border-color:#dfada7!important;background:var(--od-danger-soft)!important;color:#83342e!important}:is(.alert-info,.notice--info){border-color:#b9d4d9!important;background:var(--od-info-soft)!important;color:#285b66!important}
.table{border-color:var(--od-border)}.table th{background:#f0f4ef!important;color:#43545a!important;font-size:.78rem;letter-spacing:.035em}.table td{border-color:#e4e9e6!important}.table tbody tr:hover{background:#fafbf8}#admin-payments-status .table{border:1px solid var(--od-border);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}#admin-payments-status .table td{padding:1rem;vertical-align:top}#admin-payments-status .table td:first-child{font-weight:750;color:var(--od-primary-strong)}
.app-sidebar,.side-rail,.tenant-side-rail{background:var(--od-primary-strong)!important}.app-sidebar :is(a,button),.side-rail :is(a,button),.tenant-side-rail :is(a,button){border-radius:10px}.app-sidebar :is(a,button):hover,.side-rail :is(a,button):hover,.tenant-side-rail :is(a,button):hover{background:rgba(175,199,178,.14)!important}
.marketing-body{--marketing-ink:#1f2f38;--marketing-steel:#5e7077;--marketing-ocean:#0b4f4a;--marketing-ocean-dark:#073b3a;--marketing-mist:#f7f5ef;--marketing-line:#d9e2dc;background:var(--od-bg)!important;color:var(--od-text)}:is(.marketing-nav,.marketing-header){background:rgba(250,248,243,.94)!important;border-color:var(--od-border)!important;backdrop-filter:blur(14px)}:is(.marketing-card,.pricing-card,.feature-card,.solution-card,.resource-card){border-color:var(--od-border)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--od-shadow-sm)!important}:is(.marketing-card,.pricing-card,.feature-card,.solution-card,.resource-card):hover{border-color:#bdcec4!important;box-shadow:var(--od-shadow-md)!important}:is(.marketing-hero,.marketing-section--tint,.pricing-hero){background:linear-gradient(145deg,#fbfaf6 0%,#edf3ec 100%)!important}.marketing-footer{background:var(--od-primary-strong)!important;color:#e8f0eb!important}
.od-icon-badge,.icon-badge{background:var(--od-accent-soft)!important;color:var(--od-accent-strong)!important;border-color:#d5e2d7!important;border-radius:12px!important}
@media(max-width:760px){body{font-size:16px}.app-main,.marketing-main{padding-inline:clamp(.85rem,4vw,1.1rem)}:is(.page-header,.od-v2-page-header,.top-level-v2__top-container,.tenant-help__hero){border-radius:15px!important;padding:1.1rem!important}:is(.page-header__title,.od-v2-page-header h1,.top-level-v2__top-container h1){font-size:clamp(1.65rem,8vw,2.15rem)!important}:is(.panel,.od-v2-card,.utility-card,.info-card,.marketing-card,.pricing-card){padding:1rem!important;border-radius:15px!important}:is(.button,.btn,.marketing-button){max-width:100%}.button-row,.form-actions,.page-header__actions{flex-wrap:wrap}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}#admin-payments-status .table{display:block;overflow-x:auto}:is(.marketing-grid,.pricing-grid,.feature-grid){grid-template-columns:1fr!important}}

/* PUBLIC-APP-VISUAL-CORRECTION-PASS-002 */
:root{--od-bg:#f8f6f0;--od-surface-muted:#f5f3ed;--od-accent-soft:#f2f4ef;--od-border:#d8ded9;--od-text:#202d33;--od-text-muted:#637078;--od-shadow-sm:0 1px 2px rgba(27,45,42,.04),0 6px 18px rgba(27,45,42,.045)}
html,body,.app-shell,.app-shell--authenticated,.workspace-shell{background:var(--od-bg)!important;color:var(--od-text)!important}

/* A quiet, integrated sidebar with one active language. */
body :is(.side-rail,.app-sidebar,.tenant-side-rail),body:has(.tenant-app-page) .side-rail,body:has(.dispatch-v2) .side-rail,body:has(.route-map-focus) .side-rail{background:#123f3d!important;border-right:1px solid rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:8px 0 28px rgba(18,48,45,.08)!important}
body .side-rail__inner{padding:1rem .75rem!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
body :is(.side-rail__brand,.side-rail__account,.side-rail__footer){border-color:rgba(255,255,255,.13)!important}
body :is(.side-rail__product,.side-rail .shell-eyebrow){color:#fff!important}body :is(.side-rail__role,.side-nav__label,.side-rail__account,.side-rail__footer){color:#bfcfca!important}
body .side-rail__workspace-tag{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;color:#e8efec!important}
body .side-nav__link,body:has(.tenant-app-page) .side-nav__link,body:has(.dispatch-v2) .side-nav__link,body:has(.route-map-focus) .side-nav__link{min-height:40px!important;padding:.55rem .65rem!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#d9e5e1!important;box-shadow:none!important;font-weight:650!important}
body .side-nav__link:hover,body:has(.tenant-app-page) .side-nav__link:hover,body:has(.dispatch-v2) .side-nav__link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
body .side-nav__link.is-active,body:has(.tenant-app-page) .side-nav__link.is-active,body:has(.dispatch-v2) .side-nav__link.is-active,body:has(.route-map-focus) .side-nav__link.is-active{background:#fff!important;color:#123f3d!important;box-shadow:0 4px 14px rgba(0,0,0,.12)!important}
body .side-nav__link.is-active::before{display:none!important}body .side-nav__icon{border:0!important;background:rgba(255,255,255,.08)!important;color:inherit!important;box-shadow:none!important}body .side-nav__link.is-active .side-nav__icon{background:#edf1ed!important;color:#123f3d!important}

/* One neutral page-header and card/list pattern across tenant and platform UI. */
:is(.top-level-v2__top-container,.od-v2-page-header,.dashboard-v2__hero,.profile-header,.appointment-detail-hero,.tenant-help__hero){border:1px solid var(--od-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--od-shadow-sm)!important;color:var(--od-text)!important}
:is(.top-level-v2__top-container,.ui2-adminops-top,.ui2-sensitive-top)>.page-header{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
:is(.page-header__eyebrow,.od-v2-eyebrow,.shell-eyebrow){color:#557067!important;letter-spacing:.09em!important}:is(.page-header__title,.od-v2-page-title,.dashboard-v2__hero h1,.appointment-detail-hero__title){color:#18282e!important;font-size:clamp(1.8rem,3vw,2.45rem)!important}:is(.page-header__meta,.od-v2-page-meta,.dashboard-v2__hero p){color:var(--od-text-muted)!important}
:is(.top-level-v2__summary-strip,.ui2-adminops-metrics,.od-v2-stats){background:#f7f7f3!important;border-color:var(--od-border)!important}:is(.top-level-v2__metric,.od-v2-stat-card){background:#fff!important;border-color:var(--od-border)!important;color:var(--od-text)!important;box-shadow:none!important}

:is(.surface-muted,.utility-card,.info-card,.ops-record-card,.dashboard-v2-alert,.stack-list__item,.support-tenant-card,.support-next-action,.invoice-list-item,.billing-list-item){background:#fff!important;border-color:var(--od-border)!important;color:var(--od-text)!important;box-shadow:var(--od-shadow-sm)!important}
:is(.top-level-v2--billing,.top-level-v2--invoice-detail) :is(.ops-record-card,.surface-muted,.ui2-sensitive-card,.ui2-sensitive-section,.table td),body:has(.customer-pet-workflow) :is(.info-card,.customer-pet-context-bar){background:#fff!important;border-color:var(--od-border)!important}
:is(.table,.utility-table) tbody tr,:is(.table,.utility-table) td{background:#fff!important;color:var(--od-text)!important}:is(.table,.utility-table) tbody tr:hover{background:#f9f8f4!important}:is(.table,.utility-table) th{background:#f2f2ed!important;color:#44535a!important}

/* Slate text and deep-teal actions replace old blue remnants. */
.app-shell :is(h1,h2,h3,h4,strong,.utility-section-title,.dashboard-v2__section-title,.info-card__title),.workspace-shell :is(h1,h2,h3,h4,strong){color:var(--od-text)!important}
.app-shell a:not(.button):not(.side-nav__link):not(.od-v2-stat-card),.workspace-shell a:not(.button):not(.side-nav__link){color:var(--od-primary)!important}.app-shell a:not(.button):hover,.workspace-shell a:not(.button):hover{color:var(--od-primary-hover)!important}
:is(.top-level-v2--billing,.top-level-v2--invoice-detail) :is(a,.ui2-sensitive-link,.ops-record-card__title),.reports-v2 a{color:var(--od-primary)!important}

/* Payments: essentials first; advanced diagnostics remain available on demand. */
#admin-payments-status{background:transparent!important;box-shadow:none!important;border:0!important}#admin-payments-status>.surface-default,#admin-payments-status>.surface-muted{background:#fff!important;border:1px solid var(--od-border)!important;box-shadow:var(--od-shadow-sm)!important}#admin-payments-status .table tbody tr{background:#fff!important}#admin-payments-status .table td{background:#fff!important}
.payments-advanced-details{margin-top:1.25rem;border:1px solid var(--od-border);border-radius:14px;background:#fff;box-shadow:var(--od-shadow-sm)}.payments-advanced-details>summary{padding:1rem 1.15rem;cursor:pointer;color:var(--od-primary);font-weight:800;list-style-position:inside}.payments-advanced-details[open]>summary{border-bottom:1px solid var(--od-border)}.payments-advanced-details>.ui2-sensitive-layout{padding:1rem;margin:0!important}

/* Public/auth pages use warm white, never mint or cool-blue washes. */
.marketing-body,:is(.marketing-hero,.pricing-hero,.marketing-section--tint,.marketing-section--soft,.marketing-proof,.marketing-mockup),body:has(.signup-shell),body:has(.login-shell){background:#f8f6f0!important}
:is(.marketing-hero,.pricing-hero){border-color:var(--od-border)!important;background:linear-gradient(145deg,#fff 0%,#f8f6f0 100%)!important}:is(.marketing-card,.pricing-card,.feature-card,.solution-card,.resource-card,.marketing-mockup,.auth-card,.signup-card,.login-card){background:#fff!important;border-color:var(--od-border)!important;box-shadow:var(--od-shadow-sm)!important}
.marketing-body :is(h1,h2,h3,h4,strong){color:#202d33!important}.marketing-body a:not(.button):not(.marketing-button){color:var(--od-primary)!important}

/* Components: sage is reserved for compact meaning, not section fill. */
:is(.badge-success,.od-v2-status--success,.od-v2-status--active,.od-icon-badge--success){background:#edf3ed!important;border-color:#bfd2c3!important;color:#346448!important}:is(.badge--info,.od-v2-status--primary,.od-v2-status--workflow,.od-v2-status--revenue){background:#eef3f2!important;border-color:#c8d7d3!important;color:#315f5b!important}
:is(.button-secondary,.btn-secondary){background:#fff!important;border-color:#789790!important;color:#234f4b!important}:is(.button-ghost,.btn-ghost){color:#35464d!important}:is(.button,.btn)[disabled]{background:#e7e9e6!important;border-color:#d6dad6!important;color:#7b8582!important;opacity:1!important}

@media(max-width:760px){:is(.top-level-v2__top-container,.od-v2-page-header,.dashboard-v2__hero,.profile-header,.appointment-detail-hero){padding:1rem!important;border-radius:14px!important}.payments-advanced-details>.ui2-sensitive-layout{padding:.75rem!important}.marketing-body :is(.marketing-hero,.pricing-hero){background:#fff!important}}

/* PUBLIC-APP-VISUAL-CORRECTION-PASS-003 — targeted authenticated tenant cleanup. */
.website-builder-polish .website-builder-guided-entry {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:1rem!important;
  align-items:center!important;
  padding:1.15rem 1.25rem!important;
  border:1px solid var(--od-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--od-shadow-sm)!important;
}
.website-builder-polish .website-builder-guided-entry h2 { margin:.15rem 0 .3rem!important; color:var(--od-text)!important; font-size:clamp(1.35rem,2vw,1.75rem)!important; line-height:1.15!important; letter-spacing:-.025em!important; }
.website-builder-polish .website-builder-guided-entry p { margin:0!important; max-width:66ch!important; color:var(--od-text-muted)!important; }
.website-builder-polish .website-builder-guided-entry>div>span { color:#557067!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.09em!important; text-transform:uppercase!important; }
.website-builder-polish>.top-level-v2__top-container { padding:1.1rem 1.2rem!important; background:#fff!important; }
.website-builder-polish>.top-level-v2__top-container .page-header__title { font-size:clamp(1.55rem,2.4vw,2rem)!important; }
.website-builder-polish>.top-level-v2__top-container .top-level-v2__summary-strip { padding:.65rem!important; }

.top-level-v2--billing>.top-level-v2__top-container,
.top-level-v2--billing>.top-level-v2__top-container .page-header,
.top-level-v2--billing>.top-level-v2__top-container .top-level-v2__summary-strip,
.top-level-v2--billing>.top-level-v2__top-container .top-level-v2__metric,
.top-level-v2--billing>.top-level-v2__top-container .top-level-v2__metric:first-child {
  background:#fff!important;
  border-color:var(--od-border)!important;
  box-shadow:none!important;
}
.top-level-v2--billing>.top-level-v2__top-container { box-shadow:var(--od-shadow-sm)!important; }
.top-level-v2--billing .billing-invoice-row { border-left:3px solid #789790!important; background:#fff!important; }
.top-level-v2--billing .billing-invoice-row .button.button-primary {
  display:inline-flex!important;
  min-width:116px!important;
  min-height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.55rem .85rem!important;
  border:1px solid var(--od-primary)!important;
  background:var(--od-primary)!important;
  color:#fff!important;
  font-size:.86rem!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  opacity:1!important;
}
.top-level-v2--billing .billing-invoice-row .button.button-primary:hover { background:var(--od-primary-hover)!important; color:#fff!important; }

.tenant-app-page--schedule .daily-ops-sidebar :is(.page-header__title,.schedule-v2__section-title) { font-size:1.08rem!important; line-height:1.25!important; letter-spacing:-.015em!important; }
.tenant-app-page--schedule .daily-ops-sidebar .schedule-v2__minor-title { margin:0 0 .55rem!important; color:var(--od-text)!important; font-size:.9rem!important; line-height:1.3!important; }
.tenant-app-page--schedule .daily-ops-sidebar-card { padding:1rem!important; }
.tenant-app-page--schedule .daily-ops-sidebar :is(.schedule-v2__soft-card,.surface-muted) { padding:.85rem!important; background:#f8f7f2!important; box-shadow:none!important; }

.dispatch-v2--simplified-cockpit { gap:.85rem!important; }
.dispatch-v2--simplified-cockpit :is(.ops-cockpit__masthead,.ops-cockpit__crews,.ops-cockpit__focus,.dispatch-v2__readiness,.dispatch-v2__distance-preview,.dispatch-v2__board) { border-radius:14px!important; }
.dispatch-v2--simplified-cockpit :is(.dispatch-v2__lane,.dispatch-v2__stop,.dispatch-v2__readiness-list>div,.dispatch-v2__distance-routes>div) { padding:.85rem!important; box-shadow:none!important; }
.dispatch-v2--simplified-cockpit :is(.dispatch-v2__lane-header,.daily-ops-section__header) { padding-bottom:.7rem!important; margin-bottom:.7rem!important; }
.dispatch-v2--simplified-cockpit :is(.dispatch-v2__lane-title strong,.dashboard-v2__section-title) { font-size:1rem!important; line-height:1.3!important; }
.dispatch-v2--simplified-cockpit .ops-cockpit__pulse { gap:.5rem!important; }

:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page .stack-list__item.surface-muted { padding:.82rem .95rem!important; border-left:1px solid var(--od-border)!important; border-radius:14px!important; }
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page :is(.top-level-v2__row-heading,.action-row,.ops-context-row) { gap:.4rem!important; }
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page :is(.od-v2-status,.badge) { min-height:24px!important; padding:.2rem .5rem!important; font-size:.72rem!important; }
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page .ops-context-row>span:not(:first-child) { color:var(--od-text-muted)!important; }

body .side-rail__brand { padding:0 .35rem .8rem!important; margin-bottom:.55rem!important; }
body .side-rail__brand-row { gap:.5rem!important; align-items:flex-start!important; }
body .side-rail__product { font-size:.98rem!important; line-height:1.25!important; overflow-wrap:anywhere!important; }
body .side-rail__workspace-tag { flex:0 0 auto!important; padding:.18rem .4rem!important; font-size:.62rem!important; }
body .side-nav__section { margin-top:.7rem!important; }
body .side-nav__label { color:#cbd8d4!important; font-size:.66rem!important; letter-spacing:.09em!important; }
body .side-nav__link { color:#e1ebe7!important; }
body .side-rail__account-actions { margin-top:1rem!important; padding:.85rem .35rem 0!important; border-top:1px solid rgba(255,255,255,.15)!important; }
body .shell-logout--rail { display:flex!important; width:100%!important; min-height:40px!important; align-items:center!important; gap:.65rem!important; padding:.55rem .65rem!important; border:0!important; border-radius:9px!important; background:transparent!important; color:#eef5f2!important; font-weight:700!important; text-align:left!important; }
body .shell-logout--rail:hover { background:rgba(255,255,255,.08)!important; color:#fff!important; }

@media(max-width:760px){
  .website-builder-polish .website-builder-guided-entry { grid-template-columns:1fr!important; padding:1rem!important; }
  .website-builder-polish .website-builder-guided-entry .button { width:100%!important; }
  .top-level-v2--billing .billing-invoice-row .button.button-primary { width:100%!important; }
}

/* TENANT-VISUAL-FINAL-MICROFIX-001 */
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container,
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container .page-header,
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container .top-level-v2__filters,
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container .top-level-v2__summary-strip,
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container .top-level-v2__metric,
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container .top-level-v2__metric:first-child {
  background:#fff!important;
  border-color:var(--od-border)!important;
  box-shadow:none!important;
}
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container {
  border-radius:16px!important;
  box-shadow:var(--od-shadow-sm)!important;
}
:is(.top-level-v2--appointments,.top-level-v2--customers).ui2-flat-page>.top-level-v2__top-container .top-level-v2__summary-strip {
  background:#f7f7f3!important;
}

.top-level-v2--services .record-workflow-guide {
  display:grid!important;
  grid-template-columns:minmax(145px,.42fr) minmax(260px,1fr) minmax(0,auto)!important;
  gap:.75rem 1rem!important;
  align-items:center!important;
  padding:1rem!important;
}
.top-level-v2--services .record-workflow-guide :is(.record-workflow-guide__title,.record-workflow-guide__copy) {
  min-width:0!important;
  margin:0!important;
}
.top-level-v2--services .record-workflow-guide__actions {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.55rem!important;
  justify-content:flex-end!important;
  min-width:0!important;
}
.top-level-v2--services .record-workflow-guide__actions .button {
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  white-space:normal!important;
  text-align:center!important;
}

@media(max-width:1060px){
  .top-level-v2--services .record-workflow-guide { grid-template-columns:minmax(0,1fr)!important; align-items:start!important; }
  .top-level-v2--services .record-workflow-guide__actions { justify-content:flex-start!important; }
}
@media(max-width:620px){
  .top-level-v2--services .record-workflow-guide__actions { display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%!important; }
  .top-level-v2--services .record-workflow-guide__actions .button { width:100%!important; }
}

/* PUBLIC-FACING-WEBSITE-COPY-AND-VISUAL-FACT-CHECK-001 */
.marketing-body a.marketing-primary-button:not(.button):not(.marketing-button),
.marketing-body .marketing-nav a.marketing-primary-button:not(.button):not(.marketing-button) {
  border-color:var(--od-primary)!important;
  background:var(--od-primary)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(11,79,74,.18)!important;
}
.marketing-body a.marketing-primary-button:not(.button):not(.marketing-button):hover {
  border-color:var(--od-primary-hover)!important;
  background:var(--od-primary-hover)!important;
  color:#fff!important;
}
.auth-v2__brand { background:#fff!important; }
.auth-v2__next-steps { background:#f7f7f3!important; border-color:var(--od-border)!important; }

/* OPENDOG PUBLIC WEBSITE LAUNCH POLISH 001
   Presentation-only refinements shared by public marketing and guest auth. */
.marketing-skip-link {
    position: fixed;
    top: .65rem;
    left: .65rem;
    z-index: 100;
    padding: .7rem 1rem;
    border-radius: .65rem;
    background: #fff;
    color: #073b3a;
    font-weight: 850;
    box-shadow: 0 8px 30px rgba(7, 59, 58, .22);
    transform: translateY(-160%);
}

.marketing-skip-link:focus {
    transform: translateY(0);
}

.marketing-nav,
.marketing-footer,
.marketing-main {
    width: min(calc(100% - clamp(1.5rem, 5vw, 4rem)), 1240px);
}

.marketing-nav {
    top: .6rem;
    min-height: 4.75rem;
    padding: .65rem .8rem;
    border-radius: 1rem;
}

.marketing-brand__logo {
    width: clamp(10.75rem, 14vw, 12.5rem);
}

.marketing-nav.is-scrolled .marketing-brand__logo {
    width: clamp(9.75rem, 12vw, 11rem);
}

.marketing-nav__links > a,
.marketing-nav summary,
.marketing-link-button,
.marketing-mobile-menu summary {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
}

.marketing-nav .marketing-primary-button {
    min-height: 2.85rem;
    padding-inline: 1.05rem;
    border-color: #0b4f4a;
    background: #0b4f4a;
    box-shadow: 0 10px 24px rgba(11, 79, 74, .22);
}

.marketing-mobile-menu__divider {
    display: block;
    height: 1px;
    margin: .3rem .5rem;
    background: var(--marketing-card-border);
}

.marketing-mobile-menu__panel a {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
}

.marketing-mobile-menu__panel .marketing-mobile-menu__signup {
    margin-top: .15rem;
    background: #0b4f4a;
    color: #fff !important;
}

.marketing-main {
    padding-top: clamp(1rem, 2.5vw, 2rem);
    padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.marketing-page {
    gap: clamp(2.75rem, 6vw, 5.5rem);
}

.marketing-hero {
    min-height: min(47rem, calc(100svh - 7rem));
    grid-template-columns: minmax(0, .92fr) minmax(25rem, 1.08fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(2rem, 5vw, 4.25rem);
}

.marketing-hero__copy {
    gap: 1.1rem;
}

.marketing-eyebrow {
    letter-spacing: .085em;
}

.marketing-hero h1 {
    max-width: 13ch;
    font-size: clamp(3rem, 5.4vw, 5.25rem);
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
    overflow-wrap: normal;
}

.marketing-hero__lead {
    max-width: 38rem;
    color: #43565d;
    font-size: clamp(1.08rem, 1.55vw, 1.25rem);
    line-height: 1.62;
}

.marketing-actions {
    gap: .75rem;
    margin-top: .25rem;
}

.marketing-actions .marketing-primary-button,
.marketing-actions .marketing-secondary-button {
    min-height: 3.15rem;
    padding: .82rem 1.15rem;
    border-radius: .7rem;
}

.marketing-actions .marketing-primary-button {
    border-color: #0b4f4a;
    background: #0b4f4a;
    box-shadow: 0 12px 28px rgba(11, 79, 74, .2);
}

.marketing-visual,
.marketing-visual-preview,
.marketing-image-placeholder {
    aspect-ratio: 16 / 11;
    border-radius: 1.15rem;
    box-shadow: 0 24px 60px rgba(13, 27, 42, .14);
}

.marketing-visual__image {
    object-position: top center;
}

.marketing-hero-proof {
    gap: .55rem;
    margin-top: .55rem;
}

.marketing-hero-proof li {
    padding: .45rem .7rem;
    border-color: #ccdbd2;
    background: #fbfdfb;
    color: #344c50;
}

.marketing-section {
    gap: clamp(1.35rem, 3vw, 2.2rem);
    padding: 0;
}

.marketing-section__copy {
    max-width: 48rem;
}

.marketing-section h2,
.marketing-final-cta h2 {
    max-width: 24ch;
    font-size: clamp(2rem, 3.6vw, 3.15rem);
    line-height: 1.04;
    letter-spacing: -.035em;
    text-wrap: balance;
    overflow-wrap: normal;
}

.marketing-section__copy > p,
.marketing-final-cta > p {
    max-width: 45rem;
    font-size: 1.03rem;
}

.marketing-card-grid,
.marketing-plan-grid {
    gap: clamp(.9rem, 2vw, 1.35rem);
}

.marketing-card,
.marketing-plan,
.marketing-faq details,
.marketing-form,
.marketing-faq-group {
    border-radius: 1rem;
}

.marketing-card,
.marketing-plan {
    padding: clamp(1.15rem, 2.4vw, 1.55rem);
}

.marketing-card {
    min-height: 0;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.marketing-card:hover {
    transform: translateY(-2px);
}

.marketing-card h3,
.marketing-plan h3 {
    font-size: 1.18rem;
    line-height: 1.25;
}

.marketing-inline-cta {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding-block: .45rem;
    text-underline-offset: .2em;
}

.marketing-inline-cta::after {
    content: "\2192";
    margin-left: .4rem;
    transition: transform 160ms ease;
}

.marketing-inline-cta:hover::after {
    transform: translateX(.2rem);
}

.marketing-proof-shot,
.marketing-proof-blocks {
    gap: clamp(1.5rem, 3vw, 2.4rem);
    padding: 0;
}

.marketing-proof-shot__frame,
.marketing-proof-block,
.marketing-proof-block__frame {
    border-radius: 1rem;
}

.marketing-proof-shot__frame {
    max-height: 48rem;
    background: #f4f7f4;
}

.marketing-proof-shot__image {
    max-height: 48rem;
    object-fit: contain;
    object-position: top center;
}

.marketing-proof-block {
    grid-template-columns: minmax(14rem, .36fr) minmax(0, 1fr);
    padding: clamp(1.1rem, 2.5vw, 1.65rem);
}

.marketing-faq__list {
    gap: .75rem;
}

.marketing-faq details {
    padding: 0;
    overflow: clip;
}

.marketing-faq summary {
    position: relative;
    min-height: 3.6rem;
    display: flex;
    align-items: center;
    padding: .95rem 3.2rem .95rem 1.1rem;
    line-height: 1.4;
    list-style: none;
}

.marketing-faq summary::-webkit-details-marker {
    display: none;
}

.marketing-faq summary::after {
    content: "+";
    position: absolute;
    right: 1rem;
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: #edf4ef;
    color: #0b4f4a;
    font-size: 1.15rem;
}

.marketing-faq details[open] summary::after {
    content: "\2212";
}

.marketing-faq details p {
    margin: 0;
    padding: 0 1.1rem 1.1rem;
}

.marketing-related {
    padding: clamp(1.35rem, 3vw, 2rem);
    border-radius: 1.25rem;
    background: #edf3ec;
}

.marketing-related .marketing-card {
    background: rgba(255, 255, 255, .92) !important;
}

.marketing-final-cta {
    padding: clamp(2rem, 5vw, 4.25rem);
    border: 0;
    border-radius: 1.35rem;
    background: linear-gradient(135deg, #073b3a 0%, #0b4f4a 60%, #176860 100%);
    box-shadow: 0 24px 58px rgba(7, 59, 58, .2);
}

.marketing-final-cta h2,
.marketing-final-cta p {
    color: #fff !important;
}

.marketing-final-cta p {
    color: #dcece6 !important;
}

.marketing-final-cta .marketing-primary-button {
    border-color: #fff;
    background: #fff;
    color: #073b3a !important;
}

.marketing-final-cta .marketing-secondary-button {
    border-color: rgba(255, 255, 255, .52);
    background: transparent;
    color: #fff;
}

.marketing-footer {
    position: relative;
    grid-template-columns: minmax(15rem, .8fr) minmax(0, 2.2fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    margin-top: 0;
    padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 3vw, 2.4rem) 2rem;
    border: 0;
    border-radius: 1.4rem 1.4rem 0 0;
    background: #073b3a !important;
}

.marketing-footer__brand {
    gap: .9rem;
}

.marketing-footer__logo {
    width: min(12rem, 100%);
    padding: .45rem;
    border-radius: .6rem;
    background: rgba(255, 255, 255, .94);
}

.marketing-footer__brand p {
    max-width: 31rem;
    color: #d7e7e1 !important;
    font-size: .94rem;
}

.marketing-footer__groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 1.25rem;
}

.marketing-footer__groups h2 {
    color: #fff !important;
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.marketing-body .marketing-footer__groups a:not(.button):not(.marketing-button) {
    min-height: 2.25rem;
    display: flex;
    align-items: center;
    color: #d7e7e1 !important;
    font-weight: 650;
}

.marketing-body .marketing-footer__groups a:hover {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: .22em;
}

.marketing-footer__base {
    grid-column: 1 / -1;
    max-width: none !important;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, .18);
    color: #bad1c8;
    font-size: .82rem;
}

.marketing-body :is(a, button, summary, input, select, textarea):focus-visible,
.auth-v2 :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #e5a840 !important;
    outline-offset: 3px;
}

.auth-v2.panel {
    background: #f8f6f0;
}

.auth-v2__frame {
    align-items: start;
    gap: clamp(1rem, 3vw, 2.25rem);
}

.auth-v2__brand,
.auth-v2__card {
    border-radius: 1.15rem;
}

.auth-v2__brand {
    position: sticky;
    top: 1rem;
}

.auth-v2 .page-header__title {
    max-width: 14ch;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.auth-v2__card .button-primary {
    min-height: 3rem;
}

.auth-v2__account-link {
    margin-top: 1.15rem !important;
    padding-top: 1rem;
    border-top: 1px solid var(--od-border);
}

.auth-v2__supporting-links {
    margin-top: .65rem !important;
}

.auth-v2__legal {
    margin-top: .8rem !important;
}

@media (prefers-reduced-motion: reduce) {
    .marketing-card,
    .marketing-inline-cta::after {
        transition: none;
    }
}

@media (max-width: 1100px) {
    .marketing-hero {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        padding-top: clamp(2rem, 6vw, 3.75rem);
    }

    .marketing-hero__copy {
        max-width: 50rem;
    }

    .marketing-hero h1 {
        max-width: 15ch;
    }

    .marketing-visual,
    .marketing-visual-preview {
        max-height: 40rem;
    }
}

@media (max-width: 760px) {
    .marketing-nav,
    .marketing-footer,
    .marketing-main {
        width: min(calc(100% - 1rem), 1240px);
    }

    .marketing-nav {
        top: .35rem;
        min-height: 4rem;
        gap: .35rem;
        padding: .5rem;
        border-radius: .85rem;
    }

    .marketing-brand__logo,
    .marketing-nav.is-scrolled .marketing-brand__logo {
        width: clamp(9.5rem, 40vw, 10.5rem);
    }

    .marketing-nav .marketing-primary-button,
    .marketing-mobile-menu summary {
        min-height: 2.75rem;
        padding: .55rem .7rem;
    }

    .marketing-page {
        gap: clamp(2.5rem, 11vw, 4rem);
    }

    .marketing-hero {
        gap: 1.75rem;
        padding: 2rem 0 .5rem;
    }

    .marketing-hero h1 {
        max-width: none;
        font-size: clamp(2.35rem, 11vw, 3.25rem);
        line-height: .98;
        text-wrap: pretty;
    }

    .marketing-hero__lead {
        font-size: 1.05rem;
        line-height: 1.55;
    }

    .marketing-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .marketing-main .marketing-actions > a {
        width: 100%;
    }

    .marketing-visual,
    .marketing-visual-preview,
    .marketing-image-placeholder {
        aspect-ratio: 4 / 3;
        border-radius: .9rem;
    }

    .marketing-visual__image {
        object-position: top center;
    }

    .marketing-section h2,
    .marketing-final-cta h2 {
        max-width: none;
        font-size: clamp(1.85rem, 8.4vw, 2.55rem);
        text-wrap: pretty;
    }

    .marketing-card,
    .marketing-plan {
        padding: 1.15rem !important;
    }

    .marketing-proof-block {
        grid-template-columns: 1fr;
    }

    .marketing-related,
    .marketing-final-cta {
        padding: 1.35rem;
        border-radius: 1rem;
    }

    .marketing-footer {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 2.5rem 1.15rem 1.5rem;
        border-radius: 1rem 1rem 0 0;
    }

    .marketing-footer__groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem 1rem;
    }

    .marketing-footer__base {
        flex-direction: column;
        gap: .35rem;
    }

    .auth-v2__brand {
        position: static;
    }
}

@media (max-width: 390px) {
    .marketing-nav .marketing-primary-button {
        min-width: 3.5rem;
        padding-inline: .55rem;
    }

    .marketing-mobile-menu summary span:last-child {
        display: none;
    }

    .marketing-mobile-menu summary {
        width: 2.75rem;
        padding-inline: .65rem;
    }

}

/* DEMO-TENANT-SCREENSHOT-CLEANUP-PASS-002 — neutral, screenshot-ready tenant surfaces. */
body:has(.tenant-app-page),
body:has(.top-level-v2),
body:has(.dashboard-v2),
body:has(.appointment-detail-shell),
body:has(.customer-pet-workflow),
body:has(.website-builder-polish),
body:has(.reports-dashboard),
body:has(.tenant-help) {
  --od-ui-blue:#0b4f4a;
  --od-ui-blue-strong:#073b3a;
  --od-ui-blue-soft:#f2f4ef;
  --od-ui-teal:#527565;
  --od-ui-teal-soft:#eef4ec;
  --record-ink:#202d33;
  --record-muted:#637078;
  --record-line:#d8ded9;
  --record-mint:#6f8f7a;
  --record-mint-soft:#f2f4ef;
}

/* Headers, summaries, cards, lists, and empty states stay neutral. */
:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers,.top-level-v2--services) > .top-level-v2__top-container,
.appointment-detail-shell > .appointment-detail-hero,
body:has(.customer-pet-workflow--customer-detail) > .app-shell .profile-header,
body:has(.customer-pet-workflow--pet-detail) > .app-shell .profile-header,
:is(.schedule-v2,.dispatch-v2,.dashboard-v2,.reports-dashboard,.tenant-help,.website-builder-polish) :is(.od-v2-card,.surface-muted,.empty-state,.info-card,.utility-card),
:is(.top-level-v2--billing,.top-level-v2--appointments,.top-level-v2--customers) :is(.ops-filter-bar,.top-level-v2__flag-summary),
.appointment-workflow-header,
.appointment-workflow-page--detail > .appointment-detail-hero,
.appointment-completion-modal__header {
  border-color:var(--od-border)!important;
  background:#fff!important;
  box-shadow:var(--od-shadow-sm)!important;
}

:is(.top-level-v2--billing,.top-level-v2--invoice-detail,.top-level-v2--appointments,.top-level-v2--customers,.top-level-v2--services) :is(.top-level-v2__summary-strip,.top-level-v2__metric,.top-level-v2__metric:first-child),
:is(.schedule-v2,.dispatch-v2,.dashboard-v2,.reports-dashboard) :is(.od-v2-stats,.od-v2-stat-card,.schedule-card,.schedule-card__highlight,.dispatch-v2__lane,.dispatch-v2__stop,.dashboard-v2-alert),
.appointment-workflow-section,
.appointment-advanced-controls,
.appointment-hours-callout--configured,
.appointment-completion-modal__invoice-expectation {
  border-color:var(--od-border)!important;
  background:#fff!important;
  box-shadow:none!important;
}

:is(.schedule-v2,.dispatch-v2,.dashboard-v2,.reports-dashboard,.tenant-help,.website-builder-polish) :is(.surface-muted,.empty-state,.schedule-v2__soft-card,.reports-filter-panel,.reports-dashboard__intro) {
  background:#f8f7f2!important;
  border-color:var(--od-border)!important;
}

/* Sage remains a compact semantic accent rather than a large fill. */
.appointment-stage-rail span,
.appointment-stage-rail b,
.appointment-completion-steps span,
.appointment-workflow-section[data-stage]::after,
:is(.od-icon-badge--success,.od-v2-icon-box--success,.od-v2-status--success,.od-v2-status--active,.badge-success) {
  border-color:#bfd2c3!important;
  background:#edf3ed!important;
  color:#346448!important;
}

/* One practical button system across authenticated tenant pages. */
.app-shell :is(.button-primary,.btn-primary,.od-v2-button--primary),
.workspace-shell :is(.button-primary,.btn-primary,.od-v2-button--primary),
.appointment-workflow-page .button-primary,
.appointment-completion-modal .button-primary {
  display:inline-flex!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--od-primary)!important;
  border-radius:10px!important;
  background:var(--od-primary)!important;
  color:#fff!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.app-shell :is(.button-primary,.btn-primary,.od-v2-button--primary):hover,
.workspace-shell :is(.button-primary,.btn-primary,.od-v2-button--primary):hover,
.appointment-workflow-page .button-primary:hover,
.appointment-completion-modal .button-primary:hover {
  border-color:var(--od-primary-hover)!important;
  background:var(--od-primary-hover)!important;
  color:#fff!important;
}
.app-shell :is(.button-secondary,.btn-secondary,.od-v2-button:not(.od-v2-button--primary)),
.workspace-shell :is(.button-secondary,.btn-secondary,.od-v2-button:not(.od-v2-button--primary)) {
  min-height:40px!important;
  border-color:#789790!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#234f4b!important;
  box-shadow:none!important;
}
.app-shell :is(.button-ghost,.btn-ghost),
.workspace-shell :is(.button-ghost,.btn-ghost) { color:#35464d!important; }
.app-shell :is(.button-danger,.btn-danger),
.workspace-shell :is(.button-danger,.btn-danger) { border-color:#a4413a!important; background:#fff!important; color:#913a35!important; }
.app-shell :is(.button,.btn,.od-v2-button)[disabled],
.workspace-shell :is(.button,.btn,.od-v2-button)[disabled] {
  border-color:#d6dad6!important;
  background:#e7e9e6!important;
  color:#59645f!important;
  opacity:1!important;
}

/* Links and labels use deep teal or slate, never royal blue. */
:is(.tenant-app-page,.top-level-v2,.dashboard-v2,.appointment-detail-shell,.customer-pet-workflow,.website-builder-polish,.reports-dashboard,.tenant-help)
  :is(a:not(.button):not(.side-nav__link),.page-header__eyebrow,.od-v2-eyebrow,.schedule-card__title,.schedule-card__location,.ops-record-card__title,.billing-invoice-number) {
  color:var(--od-primary)!important;
}
:is(.tenant-app-page,.top-level-v2,.dashboard-v2,.appointment-detail-shell,.customer-pet-workflow,.website-builder-polish,.reports-dashboard,.tenant-help)
  :is(p,small,.stack-list__meta,.schedule-card__subtitle,.schedule-card__highlight-label,.top-level-v2__metric span) {
  color:var(--od-text-muted)!important;
}

/* Builder controls are neutral; the private site preview keeps its selected template palette. */
.website-builder-polish :is(.website-builder-guided-entry,.website-media-slot,.website-media-drop,.website-media-empty,.website-media-framing,.website-preview-switcher,.website-preview-stage) {
  border-color:var(--od-border)!important;
  background:#fff!important;
  color:var(--od-text)!important;
  box-shadow:var(--od-shadow-sm)!important;
}
.website-builder-polish :is(.website-media-drop__icon,.website-preview-switcher button.is-active) {
  background:#f2f4ef!important;
  color:var(--od-primary)!important;
}
.website-builder-polish .website-preview-stage { background:#eceeea!important; }

@media(max-width:760px) {
  .app-shell :is(.button-primary,.btn-primary,.button-secondary,.btn-secondary,.od-v2-button),
  .workspace-shell :is(.button-primary,.btn-primary,.button-secondary,.btn-secondary,.od-v2-button) {
    min-height:42px!important;
  }
}

/* INVOICE-DETAIL-LAYOUT-REGRESSION-FIX-001 — trustworthy responsive money-page header. */
.top-level-v2--invoice-detail,
.top-level-v2--invoice-detail :where(.top-level-v2__top-container,.page-header,.page-header__content,.billing-header-actions,.billing-context-grid,.ui2-sensitive-section) {
  min-width:0!important;
  max-width:100%;
}
.top-level-v2--invoice-detail .ops-invoice-hero { overflow:hidden; }
.top-level-v2--invoice-detail .ops-invoice-hero__header {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,auto)!important;
  align-items:start!important;
  gap:1.25rem!important;
}
.top-level-v2--invoice-detail .ops-invoice-hero__identity { display:grid!important; gap:1rem!important; }
.top-level-v2--invoice-detail .ops-invoice-hero__title-row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  min-width:0;
}
.top-level-v2--invoice-detail .ops-invoice-hero__title-row > div { min-width:0; }
.top-level-v2--invoice-detail .ops-invoice-hero__title-row .page-header__title {
  margin-top:.18rem!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.top-level-v2--invoice-detail .ops-invoice-hero__title-row .ops-payment-badge {
  flex:0 0 auto;
  margin-top:.1rem;
  white-space:nowrap;
}
.top-level-v2--invoice-detail .ops-invoice-hero__metadata {
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  gap:.7rem 1rem;
  margin:0;
}
.top-level-v2--invoice-detail .ops-invoice-hero__metadata > div { min-width:0; }
.top-level-v2--invoice-detail .ops-invoice-hero__metadata dt {
  color:var(--od-text-muted)!important;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.top-level-v2--invoice-detail .ops-invoice-hero__metadata dd {
  margin:.18rem 0 0;
  color:var(--od-text)!important;
  font-size:.88rem;
  font-weight:720;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.top-level-v2--invoice-detail .billing-header-actions {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start;
  gap:.55rem!important;
  width:min(100%,230px);
}
.top-level-v2--invoice-detail .billing-header-actions > *,
.top-level-v2--invoice-detail .billing-header-actions form,
.top-level-v2--invoice-detail .billing-header-actions .button {
  width:100%!important;
  min-width:0!important;
  max-width:100%;
  margin:0!important;
}
.top-level-v2--invoice-detail .billing-header-actions .button {
  min-height:38px!important;
  padding:.52rem .72rem!important;
  font-size:.82rem!important;
  white-space:normal!important;
}
.top-level-v2--invoice-detail .billing-header-actions__delete {
  border-color:#d9a5a1!important;
  background:#fff!important;
  color:#913a35!important;
}
.top-level-v2--invoice-detail .ops-payment-summary {
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
}
.top-level-v2--invoice-detail .ops-payment-summary .top-level-v2__metric { min-width:0!important; }
.top-level-v2--invoice-detail .ops-payment-summary .top-level-v2__metric :is(span,strong) {
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.top-level-v2--invoice-detail .billing-context-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.top-level-v2--invoice-detail .ui2-sensitive-table-wrap { max-width:100%; }
.top-level-v2--invoice-detail #invoice-corrections table { min-width:700px; }

@media(max-width:1100px) {
  .top-level-v2--invoice-detail .ops-invoice-hero__header {
    grid-template-columns:minmax(0,1fr)!important;
  }
  .top-level-v2--invoice-detail .billing-header-actions {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%;
  }
}
@media(max-width:760px) {
  .top-level-v2--invoice-detail .ops-invoice-hero__title-row { display:grid; gap:.65rem; }
  .top-level-v2--invoice-detail .ops-invoice-hero__metadata { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .top-level-v2--invoice-detail .billing-context-grid { grid-template-columns:minmax(0,1fr)!important; }
  .top-level-v2--invoice-detail #invoice-corrections table { min-width:0; }
}
@media(max-width:480px) {
  .top-level-v2--invoice-detail .ops-invoice-hero__metadata,
  .top-level-v2--invoice-detail .billing-header-actions { grid-template-columns:minmax(0,1fr)!important; }
}
/* Broad-launch minimum Platform Admin system health console. */
.ops-health{display:grid;gap:1.25rem;max-width:1440px;margin:0 auto;padding:1rem}.ops-health__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ops-health__summary{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:.75rem}.ops-health__summary>div,.ops-health__card{border:1px solid var(--border-color,#d9e0e7);border-radius:14px;background:var(--surface,#fff);padding:1rem}.ops-health__summary span{display:block;color:var(--text-muted,#5d6773);font-size:.8rem}.ops-health__summary strong{font-size:1.25rem}.ops-health__summary p{grid-column:1/-1;margin:0;color:var(--text-muted,#5d6773)}.ops-health__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ops-health__card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ops-health__card h3{margin:0}.ops-health__card dl{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);gap:.4rem .75rem;margin:.9rem 0}.ops-health__card dt{font-weight:700}.ops-health__card dd{margin:0;overflow-wrap:anywhere}.ops-health__state{font-size:.75rem;font-weight:800;letter-spacing:.04em}.ops-health__state--critical{color:#a11}.ops-health__state--degraded{color:#8a5700}.ops-health__state--unknown{color:#5d6773}.ops-health__state--healthy{color:#17663a}.ops-health__state--disabled{color:#667085}.ops-health__card--critical{border-left:5px solid #b42318}.ops-health__card--degraded{border-left:5px solid #b66a00}.ops-health__card--unknown{border-left:5px solid #667085}@media(max-width:900px){.ops-health__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-health__grid{grid-template-columns:1fr}.ops-health__header{display:grid}.ops-health__card dl{grid-template-columns:1fr}.ops-health__card dd{margin-bottom:.35rem}}
/* Broad-launch scalable support triage. */
.support-target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.support-target-grid article,.support-triage-card{border:1px solid var(--border-color,#d9e0e7);border-radius:14px;padding:1rem;background:var(--surface,#fff)}.support-target-grid p{margin:.35rem 0;font-size:.88rem}.support-triage-list{display:grid;gap:.8rem}.support-triage-card header,.support-triage-card footer{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.support-triage-card h4{margin:.5rem 0 .2rem}.support-triage-card header small{display:block;color:var(--text-muted,#5d6773)}.support-triage-card__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0}.support-triage-card__facts span{display:grid;gap:.15rem}.support-triage-card footer{border-top:1px solid var(--border-color,#d9e0e7);padding-top:.75rem}@media(max-width:900px){.support-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-triage-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.support-target-grid,.support-triage-card__facts{grid-template-columns:1fr}.support-triage-card header,.support-triage-card footer{display:grid}}

/* LAUNCH-POLISH-005: trustworthy invoice, balance, payment-history, and receipt presentation. */
.billing-workflow { max-width:1440px; margin-inline:auto; }
.billing-workflow .button-primary { color:#fff!important; }
.billing-workflow--invoice-list .billing-identity-header { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.billing-workflow--invoice-list .billing-list-actions { flex:0 0 auto; }
.billing-workflow--invoice-list .billing-invoice-list { display:grid; gap:.7rem; }
.billing-workflow--invoice-list .billing-invoice-row { grid-template-columns:auto minmax(0,1fr) minmax(160px,auto)!important; align-items:center; }
.billing-workflow--invoice-list .ui2-sensitive-row-side { display:grid; justify-items:end; gap:.3rem; text-align:right; }
.billing-workflow .ops-balance-label--settled { color:#346448!important; }
.top-level-v2--invoice-detail { display:grid; gap:1rem; }
.top-level-v2--invoice-detail .invoice-financial-summary__eyebrow { margin-top:1rem; }
.top-level-v2--invoice-detail .billing-section { scroll-margin-top:1rem; }
.top-level-v2--invoice-detail .invoice-history-empty { padding:1.15rem; text-align:left; }
.top-level-v2--invoice-detail .invoice-history-empty :is(h4,p) { margin-inline:0; }
.top-level-v2--invoice-detail :is(#invoice-payment-history,#invoice-refund-operations,#invoice-online-payment-readiness) .table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.top-level-v2--invoice-detail :is(#invoice-payment-history,#invoice-refund-operations,#invoice-online-payment-readiness) table { min-width:680px; }
.billing-document { color:#172b2f; }
.billing-payment-return { width:min(100% - 2rem,680px); margin:clamp(1rem,6vh,4rem) auto; }
.top-level-v2--invoice-feedback { width:min(100%,780px); margin-inline:auto; }
@media(max-width:760px) {
  .billing-workflow--invoice-list .billing-identity-header { display:grid; align-items:start; }
  .billing-workflow--invoice-list .billing-list-actions,
  .billing-workflow--invoice-list .billing-list-actions .button { width:100%; }
  .billing-workflow--invoice-list .billing-invoice-row { grid-template-columns:auto minmax(0,1fr)!important; align-items:start; }
  .billing-workflow--invoice-list .billing-invoice-row .ui2-sensitive-row-side { grid-column:1/-1; width:100%; justify-items:stretch; text-align:left; padding-top:.75rem; border-top:1px solid var(--od-border); }
  .billing-workflow--invoice-list .billing-invoice-row .ui2-sensitive-row-side .button { width:100%; min-height:44px; }
  .top-level-v2--invoice-detail .ops-payment-summary { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .top-level-v2--invoice-detail :is(.ui2-adminops-section,.ui2-sensitive-section) { padding:1rem!important; }
  .top-level-v2--invoice-detail :is(#invoice-payment-history,#invoice-refund-operations,#invoice-online-payment-readiness) table { min-width:620px; }
  .invoice-print-actions.billing-receipt-actions { display:grid; grid-template-columns:1fr; gap:.6rem; }
  .invoice-print-actions.billing-receipt-actions .button { width:100%; min-height:44px; }
  .billing-document { padding:1rem!important; }
}
@media(max-width:430px) {
  .billing-workflow--invoice-list .billing-invoice-row { padding:1rem!important; }
  .billing-workflow--invoice-list .ops-invoice-icon { width:36px; height:36px; }
  .top-level-v2--invoice-detail .ops-payment-summary { grid-template-columns:minmax(0,1fr)!important; }
  .top-level-v2--invoice-detail .top-level-v2__metric { min-height:auto!important; }
  .billing-payment-return { width:min(100% - 1rem,680px); }
}
@media print {
  .billing-document { border:0!important; box-shadow:none!important; }
  .billing-receipt-actions { display:none!important; }
}


/* LAUNCH-POLISH-002: focused tenant dashboard hierarchy and responsive density. */
.tenant-app-page--dashboard { gap: 1.15rem; max-width: 1440px; margin-inline: auto; }
.tenant-app-page--dashboard > .dashboard-v2__hero { order: 1; }
.tenant-app-page--dashboard > .dashboard-v2__section--priority { order: 2; }
.tenant-app-page--dashboard > .dashboard-v2__stats { order: 3; }
.tenant-app-page--dashboard > .dashboard-v2__main-grid { order: 4; }
.tenant-app-page--dashboard > .tenant-section--actions { order: 5; }
.tenant-app-page--dashboard > .dashboard-v2__support-grid { order: 6; }
.tenant-app-page--dashboard > .dashboard-v2-setup-note { order: 7; }
.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid .od-v2-stat-card:first-child { grid-column: auto; }
.tenant-app-page--dashboard .dashboard-v2__section { padding: clamp(1rem, 2vw, 1.35rem); }
.tenant-app-page--dashboard .dashboard-v2__operations-theater { grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: 1rem; }
.tenant-app-page--dashboard .dashboard-v2-action-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tenant-app-page--dashboard .dashboard-v2-empty--action { display: grid; justify-items: start; gap: .35rem; }
.tenant-app-page--dashboard .dashboard-v2-empty--action strong { color: var(--od-text, #172b2f); font-size: .95rem; }
.tenant-app-page--dashboard .dashboard-v2-empty--action a { margin-top: .25rem; color: var(--od-theme-primary, #176f56); font-weight: 800; }
@media (max-width: 980px) {
  .tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid,
  .tenant-app-page--dashboard .dashboard-v2-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tenant-app-page--dashboard .dashboard-v2__operations-theater { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .tenant-app-page--dashboard { gap: .8rem; }
  .tenant-app-page--dashboard .dashboard-v2__stats.tenant-stat-grid,
  .tenant-app-page--dashboard .dashboard-v2-action-grid,
  .tenant-app-page--dashboard .dashboard-v2-mini-stats { grid-template-columns: minmax(0, 1fr); }
  .tenant-app-page--dashboard .dashboard-v2__hero-actions,
  .tenant-app-page--dashboard .dashboard-v2-actions { width: 100%; }
  .tenant-app-page--dashboard .dashboard-v2__hero-actions .button,
  .tenant-app-page--dashboard .dashboard-v2-actions .button { width: 100%; min-height: 44px; }
  .tenant-app-page--dashboard .dashboard-v2-row__top { align-items: flex-start; gap: .5rem; }
}

/* LAUNCH-POLISH-003: appointment and booking-request presentation only. */
.booking-request-workflow { max-width: 1440px; margin-inline: auto; }
.booking-request-workflow .ui2-adminops-top { margin-bottom: 1rem; }
.booking-request-workflow .reports-access-row { align-items: flex-start; gap: 1rem; }
.booking-request-workflow .schedule-card__meta { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.booking-request-workflow .schedule-card__meta > div { min-width: 0; padding: .7rem; border: 1px solid var(--od-border, #dce5e2); border-radius: 10px; background: #fff; }
.booking-request-workflow .schedule-card__meta dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.booking-request-technical { margin-top: 1rem; border: 1px solid var(--od-border, #dce5e2); border-radius: 10px; background: rgba(255,255,255,.65); }
.booking-request-technical summary { cursor: pointer; padding: .85rem; font-weight: 800; }
.booking-request-technical__grid { padding: 0 .85rem .85rem; }
.appointment-list-cards .ops-record-card { min-width: 0; }
.appointment-list-cards .ops-context-row { flex-wrap: wrap; }
.appointment-destructive-action { padding: 1rem; border: 1px solid rgba(180, 65, 55, .24); border-radius: 12px; background: rgba(255, 247, 246, .72); }
.appointment-destructive-action .button { border-color: rgba(160, 54, 46, .42); color: #8d302a; }
@media (max-width: 720px) {
  .booking-request-workflow .schedule-card__meta { grid-template-columns: minmax(0, 1fr) !important; }
  .booking-request-workflow .reports-access-row,
  .appointment-list-cards .ops-record-card { display: grid; grid-template-columns: minmax(0, 1fr); }
  .booking-request-workflow .reports-access-row > div:last-child { align-items: stretch !important; width: 100%; }
  .booking-request-workflow .button,
  .appointment-list-cards .button { min-height: 44px; white-space: normal; }
  .appointment-list-cards .ops-record-card__time { display: flex; align-items: baseline; gap: .35rem; }
  .appointment-list-cards .ops-quick-actions { align-items: stretch; width: 100%; }
  .appointment-list-cards .ops-quick-actions .button { flex: 1 1 100%; }
}

/* LAUNCH-POLISH-004: customer and pet presentation only. */
.customer-pet-workflow .page-header__actions,
.customer-pet-workflow .action-row { flex-wrap: wrap; }
.customer-pet-workflow--customer-detail .profile-main,
.customer-pet-workflow--pet-detail .profile-main { min-width: 0; }
.customer-pet-secondary-details,
.customer-pet-billing-details {
  border: 1px solid var(--od-border, #dce5e2);
  border-radius: 12px;
  background: #fff;
}
.customer-pet-secondary-details { margin-top: 1rem; padding: .75rem; }
.customer-pet-billing-details { margin-block: 1rem; }
.customer-pet-secondary-details > summary,
.customer-pet-billing-details > summary {
  padding: .8rem 1rem;
  color: var(--od-text, #183331);
  font-weight: 800;
  cursor: pointer;
}
.customer-pet-billing-details > .info-card { margin: 0; border: 0; box-shadow: none; }
.customer-pet-destructive-action {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #fecaca;
}
.customer-pet-workflow .pet-item,
.customer-pet-workflow .dashboard-list > li { min-width: 0; overflow-wrap: anywhere; }
.top-level-v2--customers.ui2-flat-page .ops-record-card--customer { grid-template-columns: auto minmax(0, 1fr) auto; }
.top-level-v2--customers .ops-record-card--customer > .ops-avatar { grid-column: 1; }
.top-level-v2--customers .ops-record-card--customer > .ops-record-card__body { grid-column: 2; }
.top-level-v2--customers .ops-record-card--customer > .ops-quick-actions { grid-column: 3; }

@media (max-width: 720px) {
  .customer-pet-workflow .action-row,
  .customer-pet-workflow .page-header__actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .customer-pet-workflow .action-row .button,
  .customer-pet-workflow .page-header__actions .button,
  .customer-pet-workflow .ops-quick-actions .button { width: 100%; min-height: 44px; }
  .customer-pet-workflow .form-grid { grid-template-columns: minmax(0, 1fr); }
  .customer-pet-workflow .info-card,
  .customer-pet-secondary-details,
  .customer-pet-billing-details { min-width: 0; max-width: 100%; }
  .top-level-v2--customers.ui2-flat-page .ops-record-card--customer { grid-template-columns: minmax(0, 1fr); }
  .top-level-v2--customers .ops-record-card--customer > .ops-avatar,
  .top-level-v2--customers .ops-record-card--customer > .ops-record-card__body,
  .top-level-v2--customers .ops-record-card--customer > .ops-quick-actions { grid-column: 1; }
}
