@import url("/assets/rounded-frames-v1.css?v=1") layer(mz-rounded);
/*
 * MyZinergi Coach Design System — Light Japandi V1
 * Portal-wide visual layer. No application behaviour lives in this file.
 */

:root {
  color-scheme: light;
  --coach-canvas: #f7f4ee;
  --coach-canvas-deep: #f0ebe2;
  --coach-surface: #fffdf9;
  --coach-surface-raised: #ffffff;
  --coach-surface-sage: #edf1e9;
  --coach-surface-gold: #f6eddd;
  --coach-text: #262720;
  --coach-text-soft: #65675f;
  --coach-text-faint: #85857d;
  --coach-border: #e3ddd2;
  --coach-border-strong: #d7cdbd;
  --coach-sage: #6f7965;
  --coach-sage-strong: #56614f;
  --coach-sage-ink: #465040;
  --coach-gold: #b8863c;
  --coach-gold-soft: #ead8b8;
  --coach-success: #53705a;
  --coach-warning: #9a6b31;
  --coach-danger: #9a504b;
  --coach-radius-sm: 10px;
  --coach-radius-md: 14px;
  --coach-radius-lg: 20px;
  --coach-radius-xl: 28px;
  --coach-shadow-sm: 0 1px 2px rgba(46, 39, 30, .025), 0 7px 20px rgba(46, 39, 30, .035);
  --coach-shadow-md: 0 16px 42px rgba(46, 39, 30, .065);
  --coach-focus: 0 0 0 3px rgba(184, 134, 60, .22);

  /* Compatibility aliases used across existing Coach Center modules. */
  --coach-ink: var(--coach-text);
  --coach-muted: var(--coach-text-soft);
  --coach-paper: var(--coach-canvas);
  --coach-card: var(--coach-surface);
  --coach-line: var(--coach-border);
  --coach-sage-deep: var(--coach-sage-strong);
  --coach-sidebar: #f1eee7;
  --coach-shadow: var(--coach-shadow-md);
  --ink: var(--coach-text);
  --muted: var(--coach-text-soft);
  --paper: var(--coach-canvas);
  --cream: var(--coach-canvas);
  --ivory: var(--coach-surface);
  --card: var(--coach-surface);
  --line: var(--coach-border);
  --forest: var(--coach-sage-strong);
  --forest2: var(--coach-sage);
  --sage: var(--coach-sage);
  --sage-deep: var(--coach-sage-strong);
  --gold: var(--coach-gold);
  --gold-soft: var(--coach-surface-gold);
  --shadow: var(--coach-shadow-md);
}

html { background: var(--coach-canvas) !important; }

body,
body.coach-unified {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 93% 2%, rgba(234, 216, 184, .18), transparent 24rem),
    var(--coach-canvas) !important;
  color: var(--coach-text) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--coach-gold-soft); color: var(--coach-text); }

h1, h2, h3, h4,
.coach-unified h1, .coach-unified h2, .coach-unified h3, .coach-unified h4 {
  color: var(--coach-text) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: -.018em;
}

p, small { color: inherit; }
a { text-underline-offset: 3px; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 0 !important;
  box-shadow: var(--coach-focus) !important;
}

/* Shell and navigation */
.shell,
.coach-global-shell { background: transparent !important; }

.sidebar,
.coach-global-sidebar {
  background: rgba(244, 241, 234, .96) !important;
  border-color: var(--coach-border) !important;
  box-shadow: 8px 0 30px rgba(46, 39, 30, .025) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.brand,
.coach-global-brand {
  color: var(--coach-text) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  letter-spacing: .12em !important;
}

.brand img,
.coach-global-brand img { mix-blend-mode: multiply !important; }

.environment,
.coach-global-environment {
  color: var(--coach-text-faint) !important;
  letter-spacing: .14em !important;
}

.nav a,
.coach-global-nav a {
  min-height: 44px;
  color: var(--coach-text-soft) !important;
  border: 1px solid transparent !important;
  border-radius: var(--coach-radius-md) !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

.nav a i,
.coach-global-nav a i { color: var(--coach-sage) !important; }

.nav a:hover,
.coach-global-nav a:hover {
  color: var(--coach-sage-ink) !important;
  background: rgba(255, 253, 249, .72) !important;
  border-color: rgba(227, 221, 210, .8) !important;
  box-shadow: none !important;
  transform: translateX(2px);
}

.nav a.active,
.coach-global-nav a.active {
  color: var(--coach-sage-ink) !important;
  background:
    linear-gradient(90deg, rgba(255, 253, 249, .97) 0%, rgba(255, 253, 249, .9) 42%, rgba(255, 253, 249, .28) 72%, rgba(255, 253, 249, .08) 100%),
    url("/assets/coach/coach-portal-japandi-v2.webp") center right / cover no-repeat !important;
  border-color: #dfd4c3 !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

.nav a.active i,
.coach-global-nav a.active i { color: var(--coach-gold) !important; }

.side-footer,
.coach-global-footer { border-color: var(--coach-border) !important; }

.side-link,
.coach-global-footer a { color: var(--coach-gold) !important; }

.coach-logout,
.coach-global-footer .coach-logout {
  background: transparent !important;
  color: var(--coach-text-soft) !important;
  border-color: var(--coach-border-strong) !important;
}

.main,
.coach-global-content,
.coach-unified .app main { background: transparent !important; }

/* Hero and page headers: airy, light and editorial. */
.clients-hero,
.catalog-hero,
.hero,
.coach-unified .hero,
.coach-unified .top,
.app .hero,
body > header:not(.coach-global-sidebar),
.topbar {
  background: transparent !important;
  color: var(--coach-text) !important;
  border-color: var(--coach-border) !important;
  box-shadow: none !important;
}

.clients-hero,
.catalog-hero,
.hero,
.app .hero {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 var(--coach-radius-xl) var(--coach-radius-xl) !important;
  border-bottom: 1px solid var(--coach-border) !important;
}

.clients-hero::after,
.catalog-hero::after,
.hero::after,
.app .hero::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: 5%;
  top: -145px;
  border: 1px solid rgba(184, 134, 60, .18);
  border-radius: 50%;
  pointer-events: none;
}

.clients-hero h1,
.catalog-hero h1,
.hero h1,
.coach-unified .hero h1,
.coach-unified .top h1 { color: var(--coach-text) !important; }

.clients-hero p,
.catalog-hero p,
.hero p,
.coach-unified .hero p,
.coach-unified .top p { color: var(--coach-text-soft) !important; }

.eye, .eyebrow, .kicker,
.clients-hero .eye,
.catalog-hero .eye,
.coach-unified .eye,
.coach-unified .kicker {
  color: var(--coach-gold) !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

/* Coach Center V3 dashboard hero — Light Japandi */
.v3-page .v3-hero,
.coach-unified .v3-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, var(--coach-surface-gold), var(--coach-surface-sage)) !important;
  color: var(--coach-text) !important;
  border-bottom: 1px solid var(--coach-border) !important;
  border-radius: 0 0 var(--coach-radius-xl) var(--coach-radius-xl) !important;
  box-shadow: none !important;
}

.v3-page .v3-hero::after,
.coach-unified .v3-hero::after { display: none !important; }

.v3-page .v3-hero-row,
.coach-unified .v3-hero-row {
  position: relative;
  z-index: 1;
}

.v3-page .v3-hero h1,
.coach-unified .v3-hero h1 { color: var(--coach-text) !important; }

.v3-page .v3-hero p,
.coach-unified .v3-hero p { color: var(--coach-text-soft) !important; }

.v3-page .v3-kicker,
.coach-unified .v3-kicker {
  color: var(--coach-gold) !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

.v3-page .v3-security,
.coach-unified .v3-security {
  position: relative;
  z-index: 1;
  background: rgba(255, 253, 249, .72) !important;
  color: var(--coach-sage-ink) !important;
  border-color: var(--coach-border-strong) !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

.v3-page .v3-security i,
.coach-unified .v3-security i {
  background: var(--coach-sage) !important;
  box-shadow: 0 0 0 4px rgba(111, 121, 101, .12) !important;
}

/* Shared surfaces */
:where(
  .card, .module-card, .template, .item, .detail, .notice, .agenda-main,
  .output-card, .context-card, .source, .values, .editor, .partner-card,
  .case-card, .stat, .stats article, .calendar-shell, .form-card,
  .released-preview, .provider-panel, .bonusan-client-connect,
  .quick-card, .dashboard-card, .metric-card, .panel, .widget,
  .modal, .dialog, [role="dialog"]
) {
  background: var(--coach-surface) !important;
  color: var(--coach-text) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: var(--coach-radius-lg) !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

.card:hover,
.module-card:hover,
.template:hover,
.quick-card:hover {
  border-color: var(--coach-border-strong) !important;
  box-shadow: var(--coach-shadow-md) !important;
}

.card-icon,
.agenda-mark,
.icon,
.quick-card i {
  background: var(--coach-surface-gold) !important;
  color: var(--coach-gold) !important;
  border: 1px solid rgba(184, 134, 60, .13);
}

.intro,
.section-head p,
.card p,
.module-card p,
.empty,
.empty-state,
.meta,
.helper,
.help,
.description { color: var(--coach-text-soft) !important; }

hr { border: 0; border-top: 1px solid var(--coach-border); }

/* Buttons and links */
:where(.button, .btn, .primary, .soft, .ghost, .module-button, .calendar-control, button) {
  min-height: 42px;
  border-radius: var(--coach-radius-sm) !important;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease !important;
}

:where(.button.primary, .btn.primary, .module-button.primary, button.primary, .save, .case-card .primary, .product-info button, .bonusan-client-connect a) {
  background: var(--coach-sage-strong) !important;
  color: #fff !important;
  border-color: var(--coach-sage-strong) !important;
  box-shadow: 0 7px 18px rgba(86, 97, 79, .13) !important;
}

:where(.button, .btn, .soft, .ghost, .module-button, .calendar-control):not(.primary) {
  background: var(--coach-surface) !important;
  color: var(--coach-sage-ink) !important;
  border-color: var(--coach-border-strong) !important;
}

:where(.button, .btn, .primary, .soft, .ghost, .module-button, .calendar-control, button):not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: var(--coach-shadow-sm) !important;
}

:where(button, .button, .btn, .module-button):disabled {
  opacity: .52;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* Forms */
:where(input, select, textarea) {
  width: 100%;
  min-height: 44px !important;
  padding: 10px 12px !important;
  color: var(--coach-text) !important;
  background: var(--coach-surface-raised) !important;
  border: 1px solid var(--coach-border-strong) !important;
  border-radius: var(--coach-radius-sm) !important;
  box-shadow: inset 0 1px 0 rgba(46, 39, 30, .015) !important;
}

:where(input, select, textarea):hover { border-color: #cfc3b1 !important; }

:where(input, select, textarea):focus {
  outline: 0 !important;
  border-color: var(--coach-gold) !important;
  box-shadow: var(--coach-focus) !important;
}

textarea { min-height: 96px !important; resize: vertical; }

label,
.coach-unified label {
  color: var(--coach-text-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .045em !important;
}

input[type="checkbox"], input[type="radio"] {
  width: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  accent-color: var(--coach-sage-strong);
}

.check,
.confirm,
.readiness,
.form-context,
.plain-summary,
.safety-review {
  background: var(--coach-surface-sage) !important;
  color: var(--coach-text-soft) !important;
  border-color: #dbe2d6 !important;
  border-radius: var(--coach-radius-md) !important;
}

/* Tables and list-like data grids */
.module-table-wrap,
.source-table,
.table-wrap,
.data-table,
.table-container {
  overflow-x: auto !important;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: var(--coach-radius-lg) !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

table,
.coach-unified table {
  width: 100%;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: var(--coach-text) !important;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: var(--coach-radius-lg) !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

th,
.coach-unified th,
.source-row.source-head {
  padding: 13px 15px !important;
  color: var(--coach-text-soft) !important;
  background: #f2eee6 !important;
  border-color: var(--coach-border) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  text-align: left;
}

td,
.coach-unified td,
.source-row:not(.source-head) {
  padding: 15px !important;
  background: transparent !important;
  border-color: var(--coach-border) !important;
}

tbody tr,
.source-row:not(.source-head),
.list .item {
  transition: background-color .15s ease, box-shadow .15s ease !important;
}

tbody tr:hover,
.coach-unified tbody tr:hover,
.source-row:not(.source-head):hover,
.list .item:hover { background: #faf7f1 !important; }

tbody tr[aria-selected="true"],
tbody tr.selected,
.source-row.selected,
.item.selected {
  background: var(--coach-surface-sage) !important;
  box-shadow: inset 3px 0 var(--coach-sage) !important;
}

/* Statuses */
:where(.pill, .badge, .status-pill, .state, .flag, .tag, .chip) {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 9px !important;
  color: var(--coach-sage-ink) !important;
  background: var(--coach-surface-sage) !important;
  border: 1px solid rgba(111, 121, 101, .12) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
}

:where(.pill.external, .pill.standard, .badge.warn, .state.draft, .flag.warn) {
  color: #765524 !important;
  background: var(--coach-surface-gold) !important;
  border-color: rgba(184, 134, 60, .14) !important;
}

:where(.inactive, .muted, .archived) {
  color: var(--coach-text-soft) !important;
  background: #efede8 !important;
}

:where(.error, .danger, .urgent-box) {
  color: var(--coach-danger) !important;
  background: #f8ece9 !important;
  border-color: #efd5d0 !important;
}

.notice:not(.error),
.direct-status,
.scope-note {
  color: var(--coach-success) !important;
  background: var(--coach-surface-sage) !important;
  border-color: #dbe2d6 !important;
}

/* Agenda */
.calendar-shell { overflow: hidden !important; }
.calendar-bar,
.agenda-legend,
.week-head,
.month-day-head {
  color: var(--coach-text-soft) !important;
  background: #f2eee6 !important;
  border-color: var(--coach-border) !important;
}

.week-slot,
.time-cell,
.month-cell,
.month-cell.agenda-day-select {
  color: var(--coach-text) !important;
  background: var(--coach-surface) !important;
  border-color: var(--coach-border) !important;
}

.week-slot:hover,
.month-cell:hover { background: #faf7f1 !important; }

.week-head.agenda-day-select.selected,
.month-cell.agenda-day-select.selected,
.week-slot.selected-day {
  background: var(--coach-surface-gold) !important;
  box-shadow: inset 0 -3px var(--coach-gold) !important;
}

.calendar-event { box-shadow: none !important; }

/* Messages, dossier timelines and task rows */
.message-row,
.task-row,
.timeline-item,
.journey-row,
.client-row,
.invoice-row {
  background: var(--coach-surface) !important;
  color: var(--coach-text) !important;
  border-color: var(--coach-border) !important;
}

.message-row:hover,
.task-row:hover,
.timeline-item:hover,
.journey-row:hover,
.client-row:hover,
.invoice-row:hover { background: #faf7f1 !important; }

.timeline-item::before { background: var(--coach-gold) !important; }

/* Authentication, loading and modal overlays remain calm and light. */
.gate,
.loading,
.modal-backdrop,
.overlay,
[data-overlay] {
  color: var(--coach-text) !important;
  background: rgba(247, 244, 238, .94) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.gate h1,
.gate p { color: var(--coach-text) !important; }
.gate span { color: var(--coach-gold) !important; }

/* Legacy dark content cards are made light without changing their semantics. */
.client-lead,
.source-row.source-head,
.pill.standard,
.mobile-summary,
.dark-card,
.dark-panel {
  background: var(--coach-surface-sage) !important;
  color: var(--coach-text) !important;
  border-color: #dbe2d6 !important;
}

.client-lead p,
.client-lead strong,
.dark-card p,
.dark-panel p { color: var(--coach-text) !important; }

iframe { background: var(--coach-surface-raised) !important; border-color: var(--coach-border) !important; }

/* Mobile/tablet navigation mirrors the client app: light floating dock. */
@media (max-width: 820px) {
  body,
  body.coach-unified { padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important; }

  .sidebar,
  .coach-global-sidebar {
    position: sticky !important;
    top: 0;
    z-index: 80;
    height: auto !important;
    padding: 13px 16px 12px !important;
    background: rgba(255, 253, 249, .94) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--coach-border) !important;
    box-shadow: 0 8px 26px rgba(46, 39, 30, .045) !important;
  }

  .brand,
  .coach-global-brand { color: var(--coach-text) !important; }
  .environment,
  .coach-global-environment { color: var(--coach-text-faint) !important; }

  .coach-home-mobile-nav,
  .coach-mobile-nav {
    background: rgba(255, 253, 249, .97) !important;
    border: 1px solid var(--coach-border) !important;
    box-shadow: 0 16px 40px rgba(46, 39, 30, .13) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  .coach-home-mobile-nav a,
  .coach-home-mobile-nav button,
  .coach-mobile-nav a,
  .coach-mobile-nav button {
    color: var(--coach-text-soft) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Keep every mobile navigation label readable on the light dock. */
  .coach-home-mobile-nav a span,
  .coach-home-mobile-nav button span,
  .coach-mobile-nav a span,
  .coach-mobile-nav button span {
    display: block !important;
    color: var(--coach-text-soft) !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
  }

  .coach-home-mobile-nav i,
  .coach-mobile-nav i {
    color: var(--coach-sage) !important;
    opacity: 1 !important;
  }

  .coach-home-mobile-nav a.active,
  .coach-mobile-nav a.active {
    color: var(--coach-text) !important;
    background: var(--coach-surface-gold) !important;
  }

  .coach-home-mobile-nav a.active i,
  .coach-mobile-nav a.active i { color: var(--coach-gold) !important; }

  .coach-home-mobile-nav a.active span,
  .coach-mobile-nav a.active span {
    color: var(--coach-sage-ink) !important;
  }

  .coach-home-mobile-more,
  .coach-mobile-more { background: rgba(58, 53, 45, .22) !important; }

  .coach-home-mobile-more-panel,
  .coach-mobile-more-panel {
    background: var(--coach-canvas) !important;
    border-color: var(--coach-border) !important;
    box-shadow: 0 24px 60px rgba(46, 39, 30, .18) !important;
  }

  .coach-home-mobile-more-grid a,
  .coach-mobile-more-grid a,
  .coach-home-mobile-more-actions a,
  .coach-home-mobile-more-actions button,
  .coach-mobile-more-actions a,
  .coach-mobile-more-actions button {
    color: var(--coach-text) !important;
    background: var(--coach-surface) !important;
    border-color: var(--coach-border) !important;
  }

  .module-page,
  .clients-body,
  .body,
  .content { padding-left: 16px !important; padding-right: 16px !important; }

  .topbar,
  .module-head,
  .section-head { align-items: flex-start !important; }

  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .template-grid,
  .module-grid,
  .partner-list { grid-template-columns: 1fr !important; }
}

@media (max-width: 600px) {
  body { font-size: 15px; }

  .clients-hero,
  .catalog-hero,
  .hero,
  .app .hero { padding: 32px 18px !important; }

  .clients-hero h1,
  .catalog-hero h1,
  .hero h1,
  .coach-unified .hero h1,
  .coach-unified .top h1 { font-size: clamp(34px, 11vw, 44px) !important; }

  .card,
  .module-card,
  .template,
  .editor,
  .partner-card { padding: 18px !important; }

  .stats { grid-template-columns: 1fr !important; }
  .actions,
  .agenda-form-actions { width: 100%; }
  .actions > *,
  .agenda-form-actions > * { flex: 1 1 auto; }

  table { min-width: 620px; }
  .module-table-wrap table,
  .source-table table { min-width: 620px; }

  .coach-home-mobile-nav,
  .coach-mobile-nav { left: 8px !important; right: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/*
 * Contrast lock
 * These selectors intentionally match the strongest legacy Blueprint rules.
 * Keep this block last so no dark portal theme can leak back into a coach view.
 */
body.blueprint-portal .sidebar,
body.coach-unified .coach-global-sidebar,
body.coach-journey .coach-global-sidebar,
body.coach-journey .sidebar {
  background: rgba(244, 241, 234, .97) !important;
  color: var(--coach-text) !important;
  border-right: 1px solid var(--coach-border) !important;
  border-radius: 0 !important;
  box-shadow: 8px 0 30px rgba(46, 39, 30, .025) !important;
}

body.blueprint-portal .brand,
body.coach-unified .coach-global-brand,
body.coach-journey .coach-global-brand {
  color: var(--coach-text) !important;
}

body.blueprint-portal .environment,
body.coach-unified .coach-global-environment,
body.coach-journey .coach-global-environment {
  color: var(--coach-text-faint) !important;
}

body.blueprint-portal .nav a,
body.coach-unified .coach-global-nav a,
body.coach-journey .coach-global-nav a {
  color: var(--coach-text-soft) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--coach-radius-md) !important;
}

body.blueprint-portal .nav a:hover,
body.blueprint-portal .nav a.active,
body.coach-unified .coach-global-nav a:hover,
body.coach-unified .coach-global-nav a.active,
body.coach-journey .coach-global-nav a:hover,
body.coach-journey .coach-global-nav a.active {
  color: var(--coach-sage-ink) !important;
  background: linear-gradient(120deg, var(--coach-surface-gold), var(--coach-surface-sage)) !important;
  border-color: #dfd4c3 !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

body.blueprint-portal .side-footer,
body.coach-unified .coach-global-footer,
body.coach-journey .coach-global-footer {
  color: var(--coach-text) !important;
  border-top-color: var(--coach-border) !important;
}

body.blueprint-portal .side-footer a,
body.blueprint-portal .admin-role,
body.blueprint-portal .coach-role,
body.coach-unified .coach-global-footer a,
body.coach-unified .coach-global-footer span,
body.coach-journey .coach-global-footer a,
body.coach-journey .coach-global-footer span {
  color: var(--coach-text-soft) !important;
}

body.blueprint-portal .admin-name,
body.blueprint-portal .coach-name,
body.coach-unified .coach-global-footer strong,
body.coach-journey .coach-global-footer strong {
  color: var(--coach-text) !important;
}

body.blueprint-portal .coach-logout,
body.coach-unified .coach-global-footer .coach-logout,
body.coach-journey .coach-global-footer .coach-logout {
  color: var(--coach-text-soft) !important;
  background: transparent !important;
  border-color: var(--coach-border-strong) !important;
}

body.blueprint-portal .topbar,
body.coach-journey .topbar,
body.coach-unified .module-head {
  color: var(--coach-text) !important;
  background:
    radial-gradient(circle at 88% -24%, rgba(234, 216, 184, .28), transparent 18rem),
    var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 0 0 var(--coach-radius-xl) var(--coach-radius-xl) !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

body.blueprint-portal .topbar h1,
body.coach-journey .topbar h1,
body.coach-unified .module-head h1 {
  color: var(--coach-text) !important;
}

body.blueprint-portal .topbar .intro,
body.coach-journey .topbar .intro,
body.coach-unified .module-intro {
  color: var(--coach-text-soft) !important;
}

body.blueprint-portal .topbar .eyebrow,
body.coach-journey .topbar .eyebrow,
body.coach-unified .module-head .eyebrow {
  color: var(--coach-gold) !important;
}

body.blueprint-portal .topbar .button:not(.primary),
body.coach-journey .topbar .button:not(.primary),
body.coach-unified .module-head .module-button:not(.primary) {
  color: var(--coach-sage-ink) !important;
  background: var(--coach-surface) !important;
  border-color: var(--coach-border-strong) !important;
}

body.blueprint-portal .statusbar {
  color: var(--coach-text) !important;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: var(--coach-radius-md) !important;
  box-shadow: var(--coach-shadow-sm) !important;
}

body.blueprint-portal .statusbar small,
body.blueprint-portal .statusbar .date {
  color: var(--coach-text-soft) !important;
}

body.blueprint-portal .panel:nth-child(even),
body.blueprint-portal .module:nth-child(3n+2),
body.blueprint-portal .notice,
body.coach-unified .module-card.brand-dark {
  color: var(--coach-text) !important;
  background: var(--coach-surface-sage) !important;
  border-color: #dbe2d6 !important;
}

body.blueprint-portal .panel:nth-child(even) h3,
body.blueprint-portal .module:nth-child(3n+2) h3,
body.blueprint-portal .notice h3,
body.coach-unified .module-card.brand-dark h2,
body.coach-unified .module-card.brand-dark h3 {
  color: var(--coach-text) !important;
}

body.blueprint-portal .panel:nth-child(even) p,
body.blueprint-portal .panel:nth-child(even) small,
body.blueprint-portal .module:nth-child(3n+2) p,
body.blueprint-portal .notice p,
body.blueprint-portal .notice small,
body.coach-unified .module-card.brand-dark p {
  color: var(--coach-text-soft) !important;
}

body.blueprint-portal thead,
body.coach-unified thead {
  background: #f2eee6 !important;
  border-bottom: 1px solid var(--coach-border) !important;
}

body.blueprint-portal th,
body.coach-unified th {
  color: var(--coach-text-soft) !important;
  background: #f2eee6 !important;
}

body.blueprint-portal tbody,
body.coach-unified tbody {
  background: var(--coach-surface) !important;
}

body.coach-unified .calendar-bar,
body.coach-unified .week-head,
body.coach-unified .month-day-head {
  color: var(--coach-text-soft) !important;
  background: #f2eee6 !important;
  border-color: var(--coach-border) !important;
}

body.coach-unified .calendar-bar h2,
body.coach-unified .week-head strong {
  color: var(--coach-text) !important;
}

body.coach-unified .week-head span,
body.coach-unified .month-day-head {
  color: var(--coach-text-soft) !important;
}

body.coach-unified .calendar-control {
  color: var(--coach-sage-ink) !important;
  background: var(--coach-surface) !important;
  border-color: var(--coach-border-strong) !important;
}

body.coach-unified .calendar-control.active {
  color: #fff !important;
  background: var(--coach-sage-strong) !important;
}

body.coach-unified .business-tabs {
  background: #f2eee6 !important;
  border: 1px solid var(--coach-border) !important;
}

body.coach-unified .business-tab {
  color: var(--coach-text-soft) !important;
}

body.coach-unified .business-tab.active {
  color: var(--coach-sage-ink) !important;
  background: var(--coach-surface) !important;
}

body.coach-unified .invoice-preview {
  border-top-color: var(--coach-gold) !important;
}

/* Authentication pages are part of the Coach Portal too. */
body .auth-overlay {
  background:
    radial-gradient(circle at 50% 12%, rgba(234, 216, 184, .34), transparent 22rem),
    var(--coach-canvas) !important;
}

body .auth-card {
  color: var(--coach-text) !important;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  box-shadow: var(--coach-shadow-md) !important;
}

body .auth-card h1,
body .auth-logo span {
  color: var(--coach-text) !important;
}

body .auth-card p,
body .auth-card label,
body .auth-card .back {
  color: var(--coach-text-soft) !important;
}

body .auth-card .full {
  color: #fff !important;
  background: var(--coach-sage-strong) !important;
}

@media (max-width: 820px) {
  body.blueprint-portal .sidebar,
  body.coach-unified .coach-global-sidebar,
  body.coach-journey .coach-global-sidebar,
  body.coach-journey .sidebar {
    background: rgba(255, 253, 249, .96) !important;
    border-bottom: 1px solid var(--coach-border) !important;
  }
}


@media (max-width: 720px) {
  .v3-page .v3-hero,
  .coach-unified .v3-hero {
    background:
      linear-gradient(180deg, rgba(255, 253, 249, .94) 0%, rgba(255, 253, 249, .84) 62%, rgba(255, 253, 249, .58) 100%),
      url("/assets/coach/coach-portal-japandi-v2.webp") 68% center / cover no-repeat !important;
  }
}


/* Coach Portal atmosphere V2 — approved Japandi image */
body .auth-overlay {
  justify-content: flex-start !important;
  padding: clamp(24px, 6vw, 88px) !important;
  background:
    linear-gradient(90deg, rgba(247, 244, 238, .96) 0%, rgba(247, 244, 238, .88) 35%, rgba(247, 244, 238, .34) 70%, rgba(247, 244, 238, .12) 100%),
    url("/assets/coach/coach-portal-japandi-v2.webp") center / cover no-repeat !important;
}

body .auth-card {
  background: rgba(255, 253, 249, .92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

body.blueprint-portal .topbar,
body.coach-journey .topbar {
  min-height: clamp(200px, 18vw, 230px);
  align-items: center !important;
  overflow: hidden;
  padding: clamp(22px, 3vw, 40px) !important;
  background:
    linear-gradient(90deg, rgba(255, 253, 249, .97) 0%, rgba(255, 253, 249, .90) 40%, rgba(255, 253, 249, .46) 72%, rgba(255, 253, 249, .18) 100%),
    url("/assets/coach/coach-portal-japandi-v2.webp") center / cover no-repeat !important;
}

@media (max-width: 820px) {
  body .auth-overlay {
    justify-content: center !important;
    padding: 20px !important;
    background:
      linear-gradient(180deg, rgba(247, 244, 238, .56), rgba(247, 244, 238, .90)),
      url("/assets/coach/coach-portal-japandi-v2.webp") 62% center / cover no-repeat !important;
  }

  body .auth-card {
    background: rgba(255, 253, 249, .95) !important;
  }

  body.blueprint-portal .topbar,
  body.coach-journey .topbar {
    min-height: 240px;
    padding: 22px 18px !important;
    background:
      linear-gradient(180deg, rgba(255, 253, 249, .96) 0%, rgba(255, 253, 249, .80) 68%, rgba(255, 253, 249, .58) 100%),
      url("/assets/coach/coach-portal-japandi-v2.webp") 64% center / cover no-repeat !important;
  }
}


/* Coach Center V3 atmosphere — approved Japandi image */
body.v3-page.coach-unified .v3-hero {
  min-height: clamp(200px, 18vw, 230px);
  display: flex;
  align-items: center;
  padding: clamp(22px, 3vw, 40px) !important;
  background:
    linear-gradient(90deg, rgba(255, 253, 249, .97) 0%, rgba(255, 253, 249, .90) 42%, rgba(255, 253, 249, .48) 72%, rgba(255, 253, 249, .20) 100%),
    url("/assets/coach/coach-portal-japandi-v2.webp") center / cover no-repeat !important;
}

@media (max-width: 820px) {
  body.v3-page.coach-unified .v3-hero {
    min-height: 240px;
    padding: 22px 18px !important;
    background:
      linear-gradient(180deg, rgba(255, 253, 249, .96) 0%, rgba(255, 253, 249, .82) 66%, rgba(255, 253, 249, .58) 100%),
      url("/assets/coach/coach-portal-japandi-v2.webp") 64% center / cover no-repeat !important;
  }
}


/* Compact working-surface hero: keep daily coach actions in the first viewport. */
body.v3-page.coach-unified .v3-hero h1 {
  margin: 6px 0;
  font-size: clamp(34px, 3.3vw, 46px) !important;
  line-height: 1 !important;
}
body.v3-page.coach-unified .v3-hero p {
  max-width: 820px;
  font-size: 15px;
  line-height: 1.45;
}
@media (max-width: 820px) {
  body.v3-page.coach-unified .v3-hero h1 {
    font-size: clamp(30px, 9vw, 38px) !important;
  }
}


/* Portal-wide compact headers — consistent across every coach tab and module. */
body.blueprint-portal .topbar h1,
body.coach-journey .topbar h1,
body.coach-unified .module-head h1 {
  margin: 6px 0 !important;
  font-size: clamp(32px, 3.3vw, 46px) !important;
  line-height: 1.02 !important;
}
body.coach-unified .module-head {
  margin-bottom: 18px !important;
}
body.coach-unified .module-page {
  padding-top: clamp(22px, 3vw, 34px) !important;
}
@media (max-width: 820px) {
  body.blueprint-portal .topbar h1,
  body.coach-journey .topbar h1,
  body.coach-unified .module-head h1 {
    font-size: clamp(29px, 8.5vw, 38px) !important;
  }
  body.coach-unified .module-head {
    margin-bottom: 14px !important;
  }
}


/* Fluid Coach workspace V2 — slim masthead instead of a dashboard hero. */
body.v3-page.coach-unified .v3-hero {
  min-height: 156px;
  padding: 18px clamp(22px,2.6vw,38px) !important;
  border-radius: 0 0 20px 20px !important;
}
body.v3-page.coach-unified .v3-hero-row {
  width: 100%;
  align-items: center;
}
body.v3-page.coach-unified .v3-hero h1 {
  margin: 4px 0 !important;
  font-size: clamp(30px,2.6vw,40px) !important;
  line-height: 1.02 !important;
}
body.v3-page.coach-unified .v3-hero p {
  max-width: 860px;
  font-size: 14px;
  line-height: 1.35;
}
body.v3-page.coach-unified .v3-practice-nav { margin: 0 !important; }
body.v3-page.coach-unified .v3-practice-nav a {
  padding: 8px 11px;
  border-radius: 10px;
  font-size: 12px;
}
@media (max-width: 820px) {
  body.v3-page.coach-unified .v3-hero {
    min-height: 0;
    padding: 16px 14px !important;
    border-radius: 0 0 17px 17px !important;
  }
  body.v3-page.coach-unified .v3-hero h1 {
    font-size: clamp(27px,8vw,34px) !important;
  }
  body.v3-page.coach-unified .v3-hero p {
    font-size: 13px;
  }
  body.v3-page.coach-unified .v3-security {
    margin-top: 10px;
    padding: 7px 10px;
  }
}


/* ==========================================================================
   Coach workspace V3 — one compact, flowing visual system
   Covers literal tables, data lists, filters, forms, calendars and empty states.
   ========================================================================== */
:root {
  --coach-control-h: 38px;
  --coach-row-h: 44px;
  --coach-gap-1: 6px;
  --coach-gap-2: 10px;
  --coach-gap-3: 14px;
  --coach-gap-4: 18px;
  --coach-page-x: clamp(14px, 2vw, 26px);
}

body.coach-unified,
body.coach-auth-standalone {
  font-size: 14px !important;
  line-height: 1.45;
}

body.coach-unified :where(button, input, select, textarea),
body.coach-auth-standalone :where(button, input, select, textarea) {
  font: inherit;
}

body.coach-unified :where(.module-page, .clients-body, .catalog-hero + .body, .dossier-hero + .body, .invite-wrap, .product-main, .sub-main, .launch-shell, .wrap),
body.coach-auth-standalone :where(.product-main, .sub-main, .launch-shell) {
  padding-left: var(--coach-page-x) !important;
  padding-right: var(--coach-page-x) !important;
}

body.coach-unified .module-page {
  padding-top: 16px !important;
  padding-bottom: 48px !important;
}

/* Small workspace headers replace oversized landing-page heroes. */
body.coach-unified :where(.module-head, .clients-hero, .catalog-hero, .dossier-hero, .invite-hero, .product-header, .sub-header, .launch-hero),
body.coach-auth-standalone :where(.product-header, .sub-header, .launch-hero) {
  min-height: 0 !important;
  margin: 0 0 12px !important;
  padding: 16px var(--coach-page-x) !important;
  color: var(--coach-text) !important;
  background:
    radial-gradient(circle at 88% 0, rgba(234,216,184,.24), transparent 15rem),
    rgba(255,253,249,.88) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 0 0 16px 16px !important;
  box-shadow: 0 4px 18px rgba(46,39,30,.035) !important;
}

body.coach-unified :where(.module-head, .product-header, .sub-header) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body.coach-unified :where(.module-head h1, .clients-hero h1, .catalog-hero h1, .dossier-hero h1, .invite-hero h1, .product-header h1, .sub-header h1, .launch-hero h1, .top h1),
body.coach-auth-standalone :where(.product-header h1, .sub-header h1, .launch-hero h1) {
  margin: 3px 0 !important;
  color: var(--coach-text) !important;
  font-size: clamp(27px, 2.5vw, 36px) !important;
  line-height: 1.05 !important;
}

body.coach-unified :where(.module-intro, .clients-hero p, .catalog-hero p, .dossier-hero p, .invite-hero p, .product-header p, .sub-header p, .launch-hero p) {
  max-width: 760px !important;
  margin: 3px 0 0 !important;
  color: var(--coach-text-soft) !important;
  font-size: 13px !important;
}

/* One surface language: flatter, tighter, easier to scan. */
body.coach-unified :where(.module-grid, .grid, .template-grid, .summary-grid, .hero-grid, .feature-grid, .guard-grid, .launch-grid, .settings-grid, .history-grid, .agenda-delivery-grid, .agenda-provider-grid),
body.coach-auth-standalone :where(.summary-grid, .hero-grid, .feature-grid, .guard-grid, .launch-grid) {
  gap: 12px !important;
}

body.coach-unified :where(.module-card, .card, .template, .form-card, .surface, .editor, .partner-card, .summary-card, .plan-card-current, .plan-card, .section, .mini, .calendar-shell, .invoice-preview),
body.coach-auth-standalone :where(.card, .surface, .summary-card, .plan-card-current, .plan-card, .section, .mini) {
  padding: 14px !important;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 18px rgba(46,39,30,.035) !important;
}

body.coach-unified :where(.module-card, .card, .template, .form-card, .surface, .editor, .summary-card, .plan-card, .section) > :first-child {
  margin-top: 0 !important;
}

body.coach-unified :where(.module-card, .card, .template, .form-card, .surface, .editor, .summary-card, .plan-card, .section) > :last-child {
  margin-bottom: 0 !important;
}

body.coach-unified :where(.module-card h2, .card h2, .surface h2, .section h2, .editor h2) {
  margin: 0 0 9px !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.08 !important;
}

body.coach-unified :where(.module-card h3, .card h3, .surface h3, .section h3, .editor h3) {
  margin: 0 0 7px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

/* Integrated toolbars and filters. */
body.coach-unified :where(.module-toolbar, .overview-bar, .toolbar, .section-head, .calendar-bar, .invoice-preview-head, .editor-head, .form-actions, .actions, .agenda-form-actions),
body.coach-auth-standalone :where(.section-head, .form-actions, .actions) {
  gap: 10px !important;
}

body.coach-unified :where(.module-toolbar, .overview-bar, .toolbar) {
  margin: 0 0 12px !important;
  padding: 10px !important;
  align-items: center !important;
  background: rgba(255,253,249,.72) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 12px !important;
}

body.coach-unified :where(.module-button, .button, .btn, .calendar-control, .business-tab, .primary-button, .secondary-button, .invite-button, .add),
body.coach-auth-standalone :where(.button, .primary-button, .secondary-button) {
  min-height: var(--coach-control-h) !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

body.coach-unified :where(input:not([type="checkbox"]):not([type="radio"]), select),
body.coach-auth-standalone :where(input:not([type="checkbox"]):not([type="radio"]), select) {
  min-height: var(--coach-control-h) !important;
  padding: 7px 10px !important;
  border-radius: 9px !important;
}

body.coach-unified textarea,
body.coach-auth-standalone textarea {
  min-height: 88px !important;
  padding: 9px 10px !important;
  border-radius: 9px !important;
}

body.coach-unified :where(.field, .form-grid, .fields, .practice-form, .settings-grid) {
  gap: 10px !important;
}

body.coach-unified :where(.field label, .fields label, .practice-form label, .settings-grid label, .email-label) {
  margin-bottom: 4px !important;
  color: var(--coach-text-soft) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

/* Literal data tables: consistent header, density and responsive scrolling. */
body.coach-unified :where(.module-table-wrap, .source-table, .table-wrap) {
  width: 100%;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

body.coach-unified table {
  width: 100% !important;
  min-width: 660px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

body.coach-unified th {
  height: 38px !important;
  padding: 8px 11px !important;
  color: var(--coach-text-soft) !important;
  background: #f2eee6 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--coach-border) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .055em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

body.coach-unified td {
  height: var(--coach-row-h) !important;
  padding: 8px 11px !important;
  color: var(--coach-text) !important;
  background: var(--coach-surface) !important;
  border: 0 !important;
  border-bottom: 1px solid #ece7de !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

body.coach-unified tbody tr:last-child td { border-bottom: 0 !important; }
body.coach-unified tbody tr:hover td { background: #faf7f1 !important; }

/* Card-based “tables” become compact data rows. */
body.coach-unified :where(.client-list, .service-list, .profile-list, .team-list, .module-list, .partner-list, .list, .items, .invoice-flow, .selected-day-list, .v3-client-list, .v3-timeline) {
  display: grid;
  gap: 7px !important;
}

body.coach-unified :where(.client-list, .service-list, .profile-list, .team-list, .module-list, .list, .items, .selected-day-list) > :where(li, article, div, a),
body.coach-unified :where(.profile-row, .invoice-stage, .signal, .meal) {
  min-height: var(--coach-row-h);
  margin: 0 !important;
  padding: 10px 12px !important;
  background: var(--coach-surface) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Empty/loading feedback must not dominate the page. */
body.coach-unified :where(.empty-state, .flow-empty, .empty, .loading, .v3-empty, .v3-loading),
body.coach-auth-standalone :where(.empty-state, .empty, .loading) {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 22px 14px !important;
  color: var(--coach-text-soft) !important;
  background: #fbf8f2 !important;
  border: 1px dashed var(--coach-border-strong) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  text-align: center;
}

/* Coach Center: tabs + filters form one flowing work strip. */
body.v3-page.coach-unified .v3-body {
  padding: 14px var(--coach-page-x) 48px !important;
}

body.v3-page.coach-unified .v3-practice-nav {
  min-height: 0 !important;
  margin-bottom: 8px !important;
}

body.v3-page.coach-unified .v3-tabs {
  display: flex !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 4px !important;
  overflow-x: auto;
  scrollbar-width: none;
  background: #efebe3 !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 11px !important;
}

body.v3-page.coach-unified .v3-tabs::-webkit-scrollbar { display: none; }

body.v3-page.coach-unified .v3-tab {
  flex: 0 0 auto;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 12px !important;
}

body.v3-page.coach-unified .v3-tab.active {
  background: var(--coach-surface) !important;
  color: var(--coach-sage-ink) !important;
  box-shadow: 0 1px 4px rgba(46,39,30,.08) !important;
}

body.v3-page.coach-unified .v3-toolbar {
  display: grid !important;
  grid-template-columns: minmax(190px, 260px) minmax(280px, 1fr) auto auto !important;
  align-items: start !important;
  gap: 8px !important;
  margin: 8px 0 12px !important;
  padding: 9px !important;
  background: rgba(255,253,249,.74) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 12px !important;
}

body.v3-page.coach-unified :where(.v3-tenant-picker, .v3-client-combobox, .v3-refresh, .v3-btn) {
  min-height: var(--coach-control-h) !important;
  border-radius: 9px !important;
}

body.v3-page.coach-unified .v3-grid,
body.v3-page.coach-unified .v3-split {
  gap: 12px !important;
}

body.v3-page.coach-unified .v3-card {
  padding: 14px !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 18px rgba(46,39,30,.035) !important;
}

body.v3-page.coach-unified .v3-card h2 {
  margin: 2px 0 10px !important;
  font-size: clamp(22px, 2vw, 28px) !important;
}

body.v3-page.coach-unified :where(.v3-client-list > *, .v3-timeline > *) {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.v3-page.coach-unified .v3-empty,
body.v3-page.coach-unified .v3-loading { padding: 22px 12px !important; }

/* Agenda and billing density. */
body.coach-unified :where(.business-tabs, .view-switch, .weektabs, .daytabs, .section-tabs) {
  gap: 3px !important;
  padding: 4px !important;
  background: #efebe3 !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 10px !important;
}

body.coach-unified .calendar-shell { padding: 0 !important; overflow: hidden; }
body.coach-unified .calendar-bar { margin: 0 !important; padding: 9px 11px !important; border: 0 !important; border-bottom: 1px solid var(--coach-border) !important; border-radius: 0 !important; }
body.coach-unified :where(.week-head, .month-day-head) { min-height: 34px !important; padding: 7px !important; font-size: 11px !important; }
body.coach-unified :where(.week-day, .month-day) { min-height: 82px !important; }
body.coach-unified :where(.agenda-integrations, .scope-note, .notice, .feedback, .save-state, .status, .page-status) {
  margin: 10px 0 !important;
  padding: 9px 11px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

/* Mobile: dense but touch-friendly, with a stable navigation dock. */
@media (max-width: 900px) {
  body.v3-page.coach-unified .v3-toolbar {
    grid-template-columns: minmax(180px, .75fr) minmax(240px, 1.25fr) auto !important;
  }
  body.v3-page.coach-unified .v3-toolbar > :last-child { grid-column: auto; }
}

@media (max-width: 820px) {
  :root { --coach-page-x: 12px; }

  body.coach-unified :where(.module-head, .product-header, .sub-header),
  body.coach-auth-standalone :where(.product-header, .sub-header) {
    display: grid !important;
    align-items: start !important;
    padding: 13px var(--coach-page-x) !important;
  }

  body.coach-unified :where(.module-head h1, .clients-hero h1, .catalog-hero h1, .dossier-hero h1, .invite-hero h1, .product-header h1, .sub-header h1, .launch-hero h1, .top h1) {
    font-size: clamp(25px, 7.6vw, 32px) !important;
  }

  body.coach-unified :where(.module-grid, .grid, .template-grid, .summary-grid, .hero-grid, .feature-grid, .guard-grid, .launch-grid, .settings-grid, .history-grid) {
    grid-template-columns: 1fr !important;
  }

  body.coach-unified :where(.module-card, .card, .template, .form-card, .surface, .editor, .partner-card, .summary-card, .plan-card, .section, .calendar-shell),
  body.coach-auth-standalone :where(.card, .surface, .summary-card, .plan-card, .section) {
    padding: 12px !important;
    border-radius: 12px !important;
  }

  body.v3-page.coach-unified .v3-body { padding-top: 9px !important; }
  body.v3-page.coach-unified .v3-toolbar {
    grid-template-columns: 1fr auto !important;
  }
  body.v3-page.coach-unified .v3-tenant-wrap,
  body.v3-page.coach-unified .v3-client-combobox { grid-column: 1 / -1; }
  body.v3-page.coach-unified .v3-grid,
  body.v3-page.coach-unified .v3-split { grid-template-columns: 1fr !important; }

  body.coach-unified :where(.module-toolbar, .overview-bar, .toolbar) {
    align-items: stretch !important;
  }

  body.coach-unified .module-table-wrap table { min-width: 600px !important; }

  .coach-mobile-nav,
  .coach-home-mobile-nav {
    min-height: 66px !important;
    padding: 5px 6px calc(5px + env(safe-area-inset-bottom)) !important;
    border-radius: 16px !important;
  }

  .coach-mobile-nav a,
  .coach-mobile-nav button,
  .coach-home-mobile-nav a,
  .coach-home-mobile-nav button {
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 5px 3px !important;
    gap: 3px !important;
    border-radius: 11px !important;
  }

  .coach-mobile-nav a span,
  .coach-mobile-nav button span,
  .coach-home-mobile-nav a span,
  .coach-home-mobile-nav button span {
    overflow: hidden;
    font-size: 10px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 540px) {
  body.v3-page.coach-unified .v3-toolbar { grid-template-columns: 1fr 1fr !important; }
  body.v3-page.coach-unified .v3-toolbar .v3-refresh,
  body.v3-page.coach-unified .v3-toolbar .v3-btn { width: 100% !important; }
  body.coach-unified :where(.actions, .form-actions, .agenda-form-actions) { display: grid !important; grid-template-columns: 1fr !important; }
  body.coach-unified :where(.actions, .form-actions, .agenda-form-actions) > * { width: 100% !important; }
}


/* Coach client finder alignment + tab transition fix */
body.v3-page.coach-unified .v3-client-search-input {
  padding-left: 40px !important;
}
body.v3-page.coach-unified .v3-client-search-icon {
  left: 13px !important;
  top: calc(var(--coach-control-h) / 2) !important;
  transform: translateY(-50%);
  line-height: 1 !important;
}
body.v3-page.coach-unified .v3-client-picker-results[hidden] {
  display: none !important;
}


/* Unified lower-navigation module headers V1 */
body.coach-unified > .module-page > .module-head,
body.coach-unified > .catalog-hero,
body.coach-unified > .hero,
body.coach-unified > .wrap > .top,
body.coach-unified > .app > main > .hero {
  min-height: 156px !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  padding: 18px clamp(22px, 2.6vw, 38px) !important;
  justify-content: center !important;
  text-align: left !important;
  overflow: hidden;
  color: var(--coach-text) !important;
  border: 1px solid var(--coach-border) !important;
  border-radius: 0 0 20px 20px !important;
  box-shadow: none !important;
  background:
    linear-gradient(90deg, rgba(255,253,249,.97) 0%, rgba(255,253,249,.90) 42%, rgba(255,253,249,.48) 72%, rgba(255,253,249,.20) 100%),
    url("/assets/coach/coach-portal-japandi-v2.webp") center / cover no-repeat !important;
}
body.coach-unified > .catalog-hero,
body.coach-unified > .hero,
body.coach-unified > .wrap > .top,
body.coach-unified > .app > main > .hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
body.coach-unified > .module-page > .module-head { align-items: center !important; }
body.coach-unified > .module-page > .module-head h1,
body.coach-unified > .catalog-hero h1,
body.coach-unified > .hero h1,
body.coach-unified > .wrap > .top h1,
body.coach-unified > .app > main > .hero h1 {
  margin: 4px 0 !important;
  max-width: 1100px !important;
  font-size: clamp(30px, 2.6vw, 40px) !important;
  line-height: 1.02 !important;
  color: var(--coach-text) !important;
}
body.coach-unified > .module-page > .module-head p,
body.coach-unified > .catalog-hero p,
body.coach-unified > .hero p,
body.coach-unified > .wrap > .top p,
body.coach-unified > .app > main > .hero p {
  max-width: 860px !important;
  margin: 3px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: var(--coach-text-soft) !important;
}
body.coach-unified > .wrap > .top :where(a,.back),
body.coach-unified > .app > main > .hero :where(a,.back),
body.coach-unified > .hero > a { color: var(--coach-sage-ink) !important; }
@media (max-width: 820px) {
  body.coach-unified > .module-page > .module-head,
body.coach-unified > .catalog-hero,
body.coach-unified > .hero,
body.coach-unified > .wrap > .top,
body.coach-unified > .app > main > .hero {
    min-height: 0 !important;
    margin-bottom: 10px !important;
    padding: 16px 14px !important;
    border-radius: 0 0 17px 17px !important;
  }
  body.coach-unified > .module-page > .module-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  body.coach-unified > .module-page > .module-head h1,
body.coach-unified > .catalog-hero h1,
body.coach-unified > .hero h1,
body.coach-unified > .wrap > .top h1,
body.coach-unified > .app > main > .hero h1 { font-size: clamp(27px, 8vw, 34px) !important; }
  body.coach-unified > .module-page > .module-head p,
body.coach-unified > .catalog-hero p,
body.coach-unified > .hero p,
body.coach-unified > .wrap > .top p,
body.coach-unified > .app > main > .hero p { font-size: 13px !important; }
}


/* Ultra-compact module headers V2 */
body.coach-unified > .module-page > .module-head,
body.coach-unified > .catalog-hero,
body.coach-unified > .hero,
body.coach-unified > .wrap > .top,
body.coach-unified > .app > main > .hero {
  height: 118px !important;
  min-height: 118px !important;
  max-height: 118px !important;
  margin-bottom: 10px !important;
  padding: 10px clamp(16px, 2vw, 26px) !important;
}
body.coach-unified > .module-page > .module-head h1,
body.coach-unified > .catalog-hero h1,
body.coach-unified > .hero h1,
body.coach-unified > .wrap > .top h1,
body.coach-unified > .app > main > .hero h1 {
  margin: 2px 0 !important;
  font-size: clamp(24px, 2vw, 28px) !important;
  line-height: 1 !important;
}
body.coach-unified > .module-page > .module-head p,
body.coach-unified > .catalog-hero p,
body.coach-unified > .hero p,
body.coach-unified > .wrap > .top p,
body.coach-unified > .app > main > .hero p {
  display: -webkit-box !important;
  max-width: 920px !important;
  margin: 2px 0 0 !important;
  overflow: hidden !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.coach-unified > .module-page > .module-head :where(.eyebrow,.eye,.kicker),
body.coach-unified > .catalog-hero :where(.eyebrow,.eye,.kicker),
body.coach-unified > .hero :where(.eyebrow,.eye,.kicker),
body.coach-unified > .wrap > .top :where(.eyebrow,.eye,.kicker),
body.coach-unified > .app > main > .hero :where(.eyebrow,.eye,.kicker) {
  font-size: 10px !important;
  line-height: 1.2 !important;
}
body.coach-unified > .app > main > .hero .safety { display: none !important; }
@media (max-width: 820px) {
  body.coach-unified > .module-page > .module-head,
body.coach-unified > .catalog-hero,
body.coach-unified > .hero,
body.coach-unified > .wrap > .top,
body.coach-unified > .app > main > .hero {
    height: auto !important;
    min-height: 92px !important;
    max-height: 126px !important;
    padding: 10px 12px !important;
  }
  body.coach-unified > .module-page > .module-head h1,
body.coach-unified > .catalog-hero h1,
body.coach-unified > .hero h1,
body.coach-unified > .wrap > .top h1,
body.coach-unified > .app > main > .hero h1 { font-size: clamp(23px, 7vw, 28px) !important; }
  body.coach-unified > .module-page > .module-head p,
body.coach-unified > .catalog-hero p,
body.coach-unified > .hero p,
body.coach-unified > .wrap > .top p,
body.coach-unified > .app > main > .hero p { font-size: 12px !important; -webkit-line-clamp: 2; }
}
