/* PostcardPerks backend — Watermelon-inspired operate mode. */

:where(.dashboard-page, .auth-page, .admin-login-page) {
  --wm-ink: #170a07;
  --wm-ink-soft: #382e2c;
  --wm-mint: #e6fff3;
  --wm-mint-strong: #79f9c0;
  --wm-green: #05ba6e;
  --wm-green-deep: #00784c;
  --wm-canvas: #f3f8f5;
  --wm-paper: #ffffff;
  --wm-line: #dfe7e2;
  --wm-line-strong: #c9d5ce;
  --wm-muted: #6b736f;
  --wm-warn: #ffefaa;
  --wm-danger: #d80d19;
  --wm-danger-soft: #fff0f1;
  --wm-shadow: 0 2px 5px rgba(23,10,7,.05), 0 20px 50px rgba(23,10,7,.07);
  --cream: var(--wm-canvas);
  --cream-2: #edf5f0;
  --paper: var(--wm-paper);
  --paper-deep: var(--wm-canvas);
  --pine: var(--wm-ink);
  --pine-2: #090403;
  --forest: var(--wm-ink);
  --forest-2: #090403;
  --amber: var(--wm-green);
  --amber-2: var(--wm-green-deep);
  --amber-deep: var(--wm-green-deep);
  --amber-hover: var(--wm-green-deep);
  --sage: var(--wm-mint);
  --sage-2: #d3ffeb;
  --ink: var(--wm-ink);
  --muted: var(--wm-muted);
  --line: var(--wm-line);
  --postcard-cream: var(--wm-canvas);
  --postcard-paper: var(--wm-paper);
  --postcard-ink: var(--wm-ink);
  --postcard-ink-deep: var(--wm-ink-soft);
  --postcard-muted: var(--wm-muted);
  --postcard-rule: var(--wm-line);
  --postcard-blue: var(--wm-green-deep);
  --postcard-red: var(--wm-green);
  accent-color: var(--wm-green);
  background: var(--wm-canvas);
  color: var(--wm-ink-soft);
  color-scheme: light;
  font-family: "Inter", "Basier Circle", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

:where(.dashboard-page, .auth-page, .admin-login-page) ::selection {
  background: var(--wm-mint-strong);
  color: var(--wm-ink);
}

:where(.dashboard-page, .auth-page, .admin-login-page) * {
  scrollbar-color: #98a79f #e8efeb;
}

:where(.dashboard-page, .auth-page, .admin-login-page) :focus-visible {
  outline: 2px solid var(--wm-green);
  outline-offset: 2px;
}

:where(.dashboard-page, .auth-page, .admin-login-page) h1,
:where(.dashboard-page, .auth-page, .admin-login-page) h2,
:where(.dashboard-page, .auth-page, .admin-login-page) h3,
:where(.dashboard-page, .auth-page, .admin-login-page) h4,
:where(.dashboard-page, .auth-page, .admin-login-page) strong {
  color: var(--wm-ink);
  font-family: inherit !important;
}

.dashboard-page h1,
.dashboard-page h2,
.dashboard-page h3,
.dashboard-page h4,
.auth-page h1,
.auth-page h2,
.admin-login-page h1 {
  font-family: inherit !important;
}

:where(.dashboard-page, .auth-page, .admin-login-page) a {
  text-underline-offset: .24em;
  text-decoration-thickness: 1px;
}

:where(.dashboard-page, .auth-page, .admin-login-page) button,
:where(.dashboard-page, .auth-page, .admin-login-page) input,
:where(.dashboard-page, .auth-page, .admin-login-page) select,
:where(.dashboard-page, .auth-page, .admin-login-page) textarea {
  font: inherit;
}

:where(.dashboard-page, .auth-page, .admin-login-page) input,
:where(.dashboard-page, .auth-page, .admin-login-page) select,
:where(.dashboard-page, .auth-page, .admin-login-page) textarea,
.operator-card input {
  min-height: 46px;
  border: 1px solid var(--wm-line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--wm-ink);
  box-shadow: 0 1px 2px rgba(23,10,7,.03);
  caret-color: var(--wm-green-deep);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

:where(.dashboard-page, .auth-page, .admin-login-page) input:hover,
:where(.dashboard-page, .auth-page, .admin-login-page) select:hover,
:where(.dashboard-page, .auth-page, .admin-login-page) textarea:hover {
  border-color: #99aaa0;
}

:where(.dashboard-page, .auth-page, .admin-login-page) input:focus,
:where(.dashboard-page, .auth-page, .admin-login-page) select:focus,
:where(.dashboard-page, .auth-page, .admin-login-page) textarea:focus {
  border-color: var(--wm-green-deep);
  box-shadow: 0 0 0 3px rgba(5,186,110,.14);
}

:where(.dashboard-page, .auth-page, .admin-login-page) input::placeholder,
:where(.dashboard-page, .auth-page, .admin-login-page) textarea::placeholder {
  color: #7b837f;
}

:where(.dashboard-page, .auth-page, .admin-login-page) .primary-action,
:where(.dashboard-page, .auth-page, .admin-login-page) .vendor-button--primary,
:where(.dashboard-page, .auth-page, .admin-login-page) .public-primary {
  min-height: 46px;
  border: 1px solid var(--wm-ink);
  border-radius: 10px;
  background: var(--wm-ink);
  color: #fff;
  box-shadow: none;
  font-weight: 750;
  transition: transform 150ms cubic-bezier(.16,1,.3,1), background 150ms ease;
}

:where(.dashboard-page, .auth-page, .admin-login-page) .primary-action:hover,
:where(.dashboard-page, .auth-page, .admin-login-page) .vendor-button--primary:hover,
:where(.dashboard-page, .auth-page, .admin-login-page) .public-primary:hover {
  border-color: #382e2c;
  background: #382e2c;
  color: #fff;
  transform: translateY(-1px);
}

:where(.dashboard-page, .auth-page, .admin-login-page) .secondary-action,
:where(.dashboard-page, .auth-page, .admin-login-page) .vendor-button:not(.vendor-button--primary),
:where(.dashboard-page, .auth-page, .admin-login-page) .host-refresh {
  min-height: 44px;
  border: 1px solid var(--wm-line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--wm-ink);
  box-shadow: none;
  font-weight: 700;
}

:where(.dashboard-page, .auth-page, .admin-login-page) .secondary-action:hover,
:where(.dashboard-page, .auth-page, .admin-login-page) .vendor-button:not(.vendor-button--primary):hover,
:where(.dashboard-page, .auth-page, .admin-login-page) .host-refresh:hover {
  border-color: var(--wm-ink);
  background: var(--wm-mint);
  color: var(--wm-ink);
}

/* App frame */
.dashboard-page { background: var(--wm-canvas); }
.dashboard-page .dashboard-shell { min-height: 100vh; }
.dashboard-page .dashboard-nav {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 240px;
  padding: 22px 16px 18px;
  background: var(--wm-ink);
  background-image: none;
  color: #fff;
}
.dashboard-page .dashboard-nav::after { display: none; }
.dashboard-page .dashboard-mark {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  color: #fff;
  text-decoration: none;
}
.dashboard-page .dashboard-mark::after {
  display: none;
}
.dashboard-page .dashboard-nav .dashboard-mark img { width: min(176px,100%); height: auto; object-fit: contain; }
.dashboard-page .dashboard-nav nav {
  display: grid;
  gap: 5px;
  margin: 36px 0 24px;
}
.dashboard-page .dashboard-nav nav a {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 46px;
  padding: 0 13px;
  border-radius: 10px;
  color: #e5dfdd;
  font-size: .86rem;
  font-weight: 670;
  text-decoration: none;
  transition: background 140ms ease, color 140ms ease, transform 140ms cubic-bezier(.16,1,.3,1);
}
.dashboard-page .dashboard-nav nav a:hover {
  background: rgba(255,255,255,.09);
  color: #fff;
  transform: translateX(2px);
}
.dashboard-page .dashboard-nav nav a.active,
.dashboard-page .dashboard-nav nav a[aria-current="page"] {
  background: var(--wm-mint-strong);
  color: var(--wm-ink);
}
.dashboard-page .dashboard-nav nav a svg { width: 18px; height: 18px; stroke-width: 2; }
.dashboard-page .admin-mobile-more { display: none; }
.dashboard-page .nav-account {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.dashboard-page .nav-account .avatar {
  background: var(--wm-mint-strong);
  color: var(--wm-ink);
}
.dashboard-page .nav-account strong { color: #fff; font-size: .88rem; }
.dashboard-page .nav-account small { color: #aaa19e; font-size: .76rem; }
.dashboard-page .nav-account button,
.dashboard-page .nav-signout {
  border: 0;
  background: transparent;
  color: #fff;
}
.dashboard-page .dashboard-main {
  width: calc(100% - 240px);
  max-width: 1700px;
  margin-left: 240px;
  padding: 44px clamp(26px,4.2vw,68px) 84px;
}
.dashboard-page .dashboard-header {
  align-items: flex-end;
  margin-bottom: 28px;
}
.dashboard-page .dashboard-header h1 {
  max-width: 17ch;
  margin: 0 0 9px;
  color: var(--wm-ink);
  font-family: inherit;
  font-size: clamp(2.35rem,4.5vw,4.6rem);
  font-weight: 780;
  letter-spacing: -.035em;
  line-height: .98;
  text-wrap: balance;
}
.dashboard-page .dashboard-header p:last-child {
  max-width: 70ch;
  color: var(--wm-muted);
  font-size: .98rem;
  line-height: 1.55;
}
.dashboard-page .workspace-title-line,
.vendor-app-page .vendor-title-group { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; }
.dashboard-page .workspace-title-line h1,
.vendor-app-page .vendor-title-group h1 { margin: 0; }
.dashboard-page .workspace-demo-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--wm-warn);
  color: #604400;
  font-size: .72rem;
  font-weight: 760;
  white-space: nowrap;
}
.dashboard-page .workspace-demo-label svg { width: 15px; height: 15px; }
.dashboard-page .metric-strip,
.dashboard-page .host-live__kpis {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  margin: 0 0 42px;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--wm-shadow);
}
.dashboard-page .metric-strip > div,
.dashboard-page .host-live__kpis > * {
  min-width: 0;
  padding: 21px 22px;
  border: 0;
  border-right: 1px solid var(--wm-line);
  background: #fff;
  color: var(--wm-ink);
  text-decoration: none;
}
.dashboard-page .metric-strip > div:first-child { padding-left: 22px; }
.dashboard-page .metric-strip > div:last-child,
.dashboard-page .host-live__kpis > *:last-child { border-right: 0; }
.dashboard-page .metric-strip span,
.dashboard-page .metric-strip small,
.dashboard-page .host-live__kpis span,
.dashboard-page .host-live__kpis small {
  color: var(--wm-muted);
  font-family: inherit;
}
.dashboard-page .metric-strip span,
.dashboard-page .host-live__kpis span {
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.dashboard-page .metric-strip strong,
.dashboard-page .host-live__kpis strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--wm-ink);
  font-family: inherit;
  font-size: clamp(1.9rem,3.2vw,3.1rem);
  font-weight: 760;
  letter-spacing: -.035em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.dashboard-page .milestone-track,
.dashboard-page .bar-track {
  overflow: hidden;
  border-radius: 999px;
  background: #e7ede9;
}
.dashboard-page .milestone-track b,
.dashboard-page .bar-track span { background: var(--wm-green); }

/* Work surfaces */
.dashboard-page .dashboard-section { margin-top: 30px; scroll-margin-top: 24px; }
.dashboard-page .dashboard-section > .section-heading h2,
.dashboard-page .section-heading h2,
.dashboard-page .host-live__header h2 {
  margin: 0 0 6px;
  color: var(--wm-ink);
  font-family: inherit;
  font-size: clamp(1.55rem,2.5vw,2.35rem);
  font-weight: 760;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.dashboard-page .section-heading p,
.dashboard-page .host-live__header p { color: var(--wm-muted); }
.dashboard-page .record-count {
  border: 0;
  border-radius: 999px;
  background: var(--wm-mint);
  color: var(--wm-green-deep);
  font-size: .7rem;
  font-weight: 780;
}
.dashboard-page :where(.lead-roster,.admin-channel-funnels,.property-roster-controls,.data-table-wrap,.confirmation-list,.property-performance,.offering-editor,.vendor-more__card,.host-live__panel-card,.host-live__grid > article,.host-postcard-station,.agreement-panel,.host-faq details,.channel-ops,.offer-control,.vendor-panel,.vendor-schedule) {
  border-color: var(--wm-line);
  background: #fff;
}
.dashboard-page :where(.lead-roster,.admin-channel-funnels,.property-roster-controls,.data-table-wrap,.confirmation-list,.property-performance,.offering-editor) {
  overflow: hidden;
  border: 1px solid var(--wm-line);
  border-radius: 14px;
}
.dashboard-page :where(.host-live__panel-card,.host-live__grid > article,.vendor-more__card,.host-postcard-station,.offer-control,.vendor-panel,.vendor-schedule) {
  border: 0;
  border-radius: 14px;
  box-shadow: 0 2px 5px rgba(23,10,7,.04), 0 16px 38px rgba(23,10,7,.055);
}
.dashboard-page .partner-records-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.72fr);
  gap: clamp(22px,4vw,48px);
  align-items: start;
  padding: clamp(22px,3.4vw,36px);
  border: 1px solid var(--wm-line);
  border-radius: 14px;
  background: var(--wm-paper);
}
.dashboard-page .partner-create-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.dashboard-page .partner-create-grid details {
  overflow: hidden;
  border: 1px solid var(--wm-line);
  border-radius: 14px;
  background: var(--wm-paper);
}
.dashboard-page .partner-create-grid summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}
.dashboard-page .partner-create-grid summary::-webkit-details-marker { display: none; }
.dashboard-page .partner-create-grid summary:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 3px var(--wm-green);
  border-radius: 12px;
}
.dashboard-page .partner-create-grid summary span,
.dashboard-page .partner-create-grid summary strong,
.dashboard-page .partner-create-grid summary small { display: block; }
.dashboard-page .partner-create-grid summary strong { margin-bottom: 3px; font-size: 1rem; }
.dashboard-page .partner-create-grid summary small { color: var(--wm-muted); font-size: .74rem; }
.dashboard-page .partner-create-grid summary svg { width: 19px; transition: transform 180ms cubic-bezier(.2,.8,.2,1); }
.dashboard-page .partner-create-grid details[open] summary svg { transform: rotate(180deg); }
.dashboard-page .partner-create-grid form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
  padding: 18px;
  border-top: 1px solid var(--wm-line);
}
.dashboard-page .partner-create-grid form label {
  display: grid;
  gap: 6px;
  color: var(--wm-ink-soft);
  font-size: .75rem;
  font-weight: 720;
}
.dashboard-page .partner-create-grid form label > span { color: var(--wm-muted); font-weight: 500; }
.dashboard-page .partner-create-grid form .span-two,
.dashboard-page .partner-create-grid form .primary-action,
.dashboard-page .partner-create-grid form .form-error { grid-column: 1 / -1; }
.dashboard-page .partner-create-grid form .primary-action { display: inline-flex; gap: 8px; justify-content: center; }
.dashboard-page .partner-create-grid form .primary-action svg { width: 18px; }
.dashboard-page .partner-records-panel > div > strong {
  display: block;
  margin-bottom: 7px;
  font-size: 1rem;
}
.dashboard-page .partner-records-panel > div > p {
  max-width: 66ch;
  margin: 0;
  color: var(--wm-muted);
  line-height: 1.55;
}
.dashboard-page .partner-records-panel form {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 12px;
  background: var(--wm-danger-soft);
}
.dashboard-page .partner-records-panel label {
  display: grid;
  gap: 7px;
  color: var(--wm-ink-soft);
  font-size: .72rem;
  font-weight: 720;
}
.dashboard-page .partner-records-panel code { color: var(--wm-danger); }
.dashboard-page .partner-records-panel .danger-action {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 10px;
  background: var(--wm-danger);
}
.dashboard-page .partner-records-panel .danger-action:hover { background: #8b2c27; }
.dashboard-page .partner-records-panel .danger-action svg { width: 18px; height: 18px; }
.dashboard-page .partner-records-panel .form-error { margin: 0; }
.dashboard-page .lead-row,
.dashboard-page td,
.dashboard-page .confirmation-row,
.dashboard-page .performance-row,
.dashboard-page .offering-editor details,
.dashboard-page .roster-control-list form,
.dashboard-page .dispute-list article {
  border-color: var(--wm-line);
}
.dashboard-page th {
  background: #f7faf8;
  color: var(--wm-muted);
  font-size: .68rem;
  font-weight: 760;
}
.dashboard-page td { background: #fff; }
.dashboard-page tbody tr:hover td { background: #f7fffb; }
.dashboard-page .crm-filters {
  margin-bottom: 12px;
  padding: 14px;
  border: 1px solid var(--wm-line);
  border-radius: 14px;
  background: rgba(255,255,255,.7);
}
.dashboard-page .lead-score,
.dashboard-page .vendor-avatar {
  background: var(--wm-mint);
  color: var(--wm-green-deep);
}
.dashboard-page .funnel-summary {
  overflow: hidden;
  border: 1px solid var(--wm-line);
  border-radius: 14px;
  background: #fff;
}
.dashboard-page .funnel-summary > div { border-color: var(--wm-line); }
.dashboard-page .channel-ops { border: 0; border-bottom: 1px solid var(--wm-line); border-radius: 0; }
.dashboard-page .channel-ops:last-child { border-bottom: 0; }
.dashboard-page .channel-ops > summary { background: #fff; }
.dashboard-page .channel-ops[open] > summary { background: var(--wm-mint); }
.dashboard-page .action-notice,
.dashboard-page .activation-link-notice,
.dashboard-page .host-live__locked,
.dashboard-page .host-setup,
.dashboard-page .host-demo-banner {
  border: 1px solid #b9e8d1;
  border-radius: 12px;
  background: var(--wm-mint);
  color: var(--wm-ink);
  box-shadow: none;
}
.dashboard-page .action-notice-error {
  border-color: #ffc8cb;
  background: var(--wm-danger-soft);
}
.dashboard-page .status,
.dashboard-page .host-live__badge,
.dashboard-page .vendor-status {
  border-radius: 999px;
  font-family: inherit;
  font-weight: 760;
}
.dashboard-page .status-booked,
.dashboard-page .status-paid { background: #d3ffeb; color: #00613d; }
.dashboard-page .status-clicked { background: var(--wm-warn); color: #6b4700; }
.dashboard-page .status-disputed { background: #ffdadd; color: #9c0a13; }
.dashboard-page .status-void { background: #e9eeeb; color: #56605b; }

/* Vendor and host workspaces */
.vendor-app-page .vendor-shell,
.host-live-page .host-live { color: var(--wm-ink-soft); }
.vendor-app-page .vendor-workspace {
  grid-template-columns: 240px minmax(0,1fr);
  background: var(--wm-canvas);
}
.vendor-app-page .vendor-rail {
  padding: 22px 16px 18px;
  background: var(--wm-ink);
  color: #fff;
}
.vendor-app-page .vendor-rail__brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  color: #fff;
  text-decoration: none;
}
.vendor-app-page .vendor-rail__brand::after {
  display: none;
}
.vendor-app-page .vendor-rail__brand img { width: min(176px,100%); height: auto; object-fit: contain; }
.vendor-app-page .vendor-rail nav { gap: 5px; margin-top: 36px; }
.vendor-app-page .vendor-rail nav a {
  min-height: 46px;
  padding: 0 13px;
  border-radius: 10px;
  color: #e5dfdd;
  font-size: .86rem;
  font-weight: 670;
  transition: background 140ms ease, color 140ms ease, transform 140ms cubic-bezier(.16,1,.3,1);
}
.vendor-app-page .vendor-rail nav a:hover { background: rgba(255,255,255,.09); color: #fff; transform: translateX(2px); }
.vendor-app-page .vendor-rail nav a[aria-current] { background: var(--wm-mint-strong); color: var(--wm-ink); }
.vendor-app-page .vendor-rail__account { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); }
.vendor-app-page .vendor-rail__account > span { background: var(--wm-mint-strong); color: var(--wm-ink); }
.vendor-app-page .vendor-rail__account strong { color: #fff; }
.vendor-app-page .vendor-rail__account small { color: #aaa19e; }
.vendor-app-page .vendor-main { background: var(--wm-canvas); }
.vendor-app-page .vendor-topbar {
  min-height: 86px;
  border-color: var(--wm-line);
  background: rgba(243,248,245,.96);
  box-shadow: none;
}
.vendor-app-page .vendor-topbar h1,
.vendor-app-page .vendor-section-head h2,
.vendor-app-page .vendor-more h2,
.vendor-app-page .vendor-editor__name,
.vendor-app-page .vendor-preview-card h3 {
  color: var(--wm-ink);
  font-family: inherit !important;
  font-weight: 760;
  letter-spacing: -.03em;
}
.vendor-app-page .vendor-view { max-width: 1280px; }
.vendor-app-page .vendor-header,
.vendor-app-page .vendor-topbar,
.host-live-page .host-identity { border-color: var(--wm-line); }
.vendor-app-page :where(.vendor-kpi,.vendor-stat,.vendor-summary-card),
.host-live-page :where(.host-money-summary > *,.host-payout-method,.host-explainer) {
  border-color: var(--wm-line);
  background: #fff;
}
.vendor-app-page .vendor-eyebrow,
.host-live-page .host-eyebrow {
  color: var(--wm-green-deep);
  font-size: .72rem;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: none;
}
.vendor-app-page .vendor-view > header h1,
.vendor-app-page .vendor-view > header h2,
.host-live-page .host-identity h1 {
  color: var(--wm-ink);
  font-family: inherit;
  font-weight: 760;
  letter-spacing: -.03em;
}
.host-live-page .host-live__header {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--wm-line);
}
.host-live-page .host-live__grid { gap: 16px; }
.host-live-page .host-live__grid > article,
.host-live-page .host-live__panel-card { padding: 22px; }
.host-live-page .host-live__grid > article > header,
.host-live-page .host-live__panel-card > header { border-color: var(--wm-line); }
.host-live-page .host-live__ranking > *,
.host-live-page .host-live__feed > *,
.host-live-page .host-booking-row,
.host-live-page .host-payout-row { border-color: var(--wm-line); }
.host-live-page .host-controls label,
.host-live-page .host-inline-field { color: var(--wm-muted); }
.host-live-page .host-filter-row button,
.host-live-page .host-live__status button {
  border-color: var(--wm-line-strong);
  background: #fff;
  color: var(--wm-ink);
}
.host-live-page .host-filter-row button.active,
.host-live-page .host-live__status button.active,
.host-live-page .host-filter-row button[aria-pressed="true"],
.host-live-page .host-live__status button[aria-pressed="true"] {
  border-color: var(--wm-ink);
  background: var(--wm-ink);
  color: #fff;
}
.vendor-app-page .vendor-button,
.vendor-app-page button,
.host-live-page button { font-family: inherit; }
.vendor-app-page .vendor-offer-card,
.vendor-app-page .vendor-booking-card,
.vendor-app-page .vendor-calendar,
.vendor-app-page .vendor-more__card {
  border-color: var(--wm-line);
  background: #fff;
}
.vendor-app-page .vendor-offer-card:hover { border-color: #9bb4a5; }
.vendor-app-page .vendor-tab,
.vendor-app-page [data-vendor-view-link] { border-radius: 10px; }
.vendor-app-page .vendor-toggle input:checked + span,
.vendor-app-page [aria-pressed="true"].vendor-filter { background: var(--wm-ink); color: #fff; }
.vendor-app-page .vendor-preview {
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(23,10,7,.22);
}
.vendor-app-page .vendor-preview::backdrop { background: rgba(23,10,7,.7); }

/* Authentication */
.auth-page,
.admin-login-page { min-height: 100vh; background: var(--wm-mint); }
.auth-page .partner-auth {
  min-height: 100vh;
  grid-template-columns: minmax(340px,.82fr) minmax(480px,1.18fr);
  background: var(--wm-mint);
}
.auth-page .auth-brand-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(34px,5vw,72px);
  background: var(--wm-ink);
  color: #fff;
}
.auth-page .auth-brand-panel::after {
  content: "";
  position: absolute;
  right: -22%;
  bottom: -24%;
  width: 480px;
  aspect-ratio: 1;
  border: 110px solid rgba(121,249,192,.12);
  border-radius: 50%;
  pointer-events: none;
}
.auth-page .auth-brand-panel h1 { color: #fff; font-family: inherit; font-weight: 780; letter-spacing: -.035em; line-height: .98; }
.auth-page .auth-brand-panel p { color: #c9c2bf; }
.auth-page .auth-brand-panel li { border-color: rgba(255,255,255,.14); color: #eee9e7; }
.auth-page .auth-brand-panel li svg { color: var(--wm-mint-strong); }
.auth-page .auth-form-panel { background: var(--wm-mint); }
.auth-page .auth-form-wrap {
  width: min(100% - 42px,560px);
  padding: clamp(28px,4vw,48px);
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--wm-shadow);
}
.auth-page .auth-heading h2 {
  color: var(--wm-ink);
  font-family: inherit;
  font-size: clamp(2rem,4vw,3.2rem);
  font-weight: 780;
  letter-spacing: -.035em;
}
.auth-page .role-segments { border-color: var(--wm-line); background: #f4f8f5; }
.auth-page .role-segments input:checked + span { background: var(--wm-mint-strong); color: var(--wm-ink); }
.auth-page .password-field button { color: var(--wm-green-deep); }
.auth-page .field-message,
.auth-page .auth-microcopy,
.auth-page .auth-support,
.auth-page .auth-apply-links { color: var(--wm-muted); }
.auth-page .demo-entry { border-color: var(--wm-line); }

.admin-login-page .operator-entry {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background: var(--wm-mint);
  background-image: none;
}
.admin-login-page .operator-card {
  width: min(100%,460px);
  padding: 36px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--wm-shadow);
}
.admin-login-page .operator-card::before { display: none; }
.admin-login-page .operator-card .eyebrow {
  color: var(--wm-green-deep);
  font-size: .76rem;
  font-weight: 760;
  letter-spacing: 0;
  text-transform: none;
}
.admin-login-page .operator-card h1 {
  margin: 8px 0 24px;
  color: var(--wm-ink);
  font-family: inherit;
  font-size: 2.7rem;
  font-weight: 780;
  letter-spacing: -.035em;
}
.admin-login-page .operator-note {
  border-color: var(--wm-line);
  color: var(--wm-muted);
}

/* One authored motion: the workspace settles into place after the rail anchors. */
@keyframes wm-workspace-enter {
  from { opacity: .001; filter: blur(5px); transform: translateY(12px); }
  to { opacity: 1; filter: blur(0); transform: none; }
}
.dashboard-page .dashboard-main > :first-child {
  animation: wm-workspace-enter 480ms cubic-bezier(.16,1,.3,1) both;
}

@media (max-width: 1020px) {
  .dashboard-page .dashboard-nav { width: 204px; }
  .dashboard-page .dashboard-main { width: calc(100% - 204px); margin-left: 204px; padding-inline: 26px; }
  .dashboard-page .metric-strip,
  .dashboard-page .host-live__kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-page .metric-strip > div:nth-child(2),
  .dashboard-page .host-live__kpis > *:nth-child(2) { border-right: 0; }
  .dashboard-page .metric-strip > div:nth-child(-n+2),
  .dashboard-page .host-live__kpis > *:nth-child(-n+2) { border-bottom: 1px solid var(--wm-line); }
  .auth-page .partner-auth { grid-template-columns: minmax(300px,.75fr) minmax(420px,1.25fr); }
}

@media (max-width: 768px) {
  .dashboard-page .dashboard-shell { padding-bottom: 78px; }
  .dashboard-page .dashboard-nav {
    inset: auto 0 0;
    width: auto;
    min-height: 68px;
    padding: 7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    border-top: 1px solid rgba(255,255,255,.12);
  }
  .dashboard-page .dashboard-mark,
  .dashboard-page .nav-account { display: none; }
  .dashboard-page .dashboard-nav nav {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(0,1fr));
    gap: 3px;
    width: 100%;
    margin: 0;
  }
  .dashboard-page .dashboard-nav nav a {
    display: grid;
    min-width: 0;
    min-height: 52px;
    place-items: center;
    gap: 2px;
    padding: 4px 2px;
    font-size: .61rem;
    line-height: 1.05;
    text-align: center;
    transform: none;
  }
  .dashboard-page .dashboard-nav nav a svg { width: 18px; }
  .dashboard-page .dashboard-nav nav .admin-secondary-destination { display: none; }
  .dashboard-page .admin-mobile-more {
    position: relative;
    display: block;
    min-width: 0;
  }
  .dashboard-page .admin-mobile-more > summary {
    display: grid;
    min-height: 52px;
    place-items: center;
    gap: 2px;
    padding: 4px 2px;
    border-radius: 10px;
    color: #e5dfdd;
    font-size: .61rem;
    font-weight: 670;
    line-height: 1.05;
    list-style: none;
    cursor: pointer;
  }
  .dashboard-page .admin-mobile-more > summary::-webkit-details-marker { display: none; }
  .dashboard-page .admin-mobile-more > summary svg { width: 18px; height: 18px; }
  .dashboard-page .admin-mobile-more[open] > summary { background: var(--wm-mint-strong); color: var(--wm-ink); }
  .dashboard-page .admin-mobile-more > div {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    display: grid;
    width: min(220px,80vw);
    padding: 7px;
    border-radius: 12px;
    background: var(--wm-ink);
    box-shadow: 0 -12px 36px rgba(23,10,7,.24);
  }
  .dashboard-page .admin-mobile-more > div a {
    display: flex;
    min-height: 46px;
    justify-content: flex-start;
    gap: 10px;
    padding: 0 12px;
    font-size: .8rem;
    text-align: left;
  }
  .dashboard-page .dashboard-main {
    width: 100%;
    margin: 0;
    padding: 28px 18px 36px;
  }
  .dashboard-page .dashboard-header { display: grid; align-items: start; gap: 18px; }
  .dashboard-page .dashboard-header h1 { font-size: clamp(2.1rem,10vw,3.25rem); }
  .dashboard-page .dashboard-header .primary-action { width: 100%; }
  .dashboard-page .metric-strip,
  .dashboard-page .host-live__kpis { margin-bottom: 30px; }
  .dashboard-page .metric-strip > div,
  .dashboard-page .host-live__kpis > * { padding: 17px 16px; }
  .dashboard-page .metric-strip strong,
  .dashboard-page .host-live__kpis strong { font-size: clamp(1.6rem,8vw,2.2rem); }
  .dashboard-page .crm-filters { grid-template-columns: 1fr; }
  .auth-page .partner-auth { display: block; }
  .auth-page .auth-brand-panel { min-height: auto; padding: 28px 22px 74px; }
  .auth-page .auth-brand-panel > div { margin-top: 38px; }
  .auth-page .auth-brand-panel ol { display: none; }
  .auth-page .auth-form-panel { min-height: auto; padding: 0 0 32px; }
  .auth-page .auth-form-wrap { position: relative; width: calc(100% - 24px); margin: -42px auto 0; padding: 26px 20px; }
  .admin-login-page .operator-entry { padding: 14px; }
  .admin-login-page .operator-card { padding: 28px 22px; }
  .dashboard-page .partner-create-grid,
  .dashboard-page .partner-create-grid form,
  .dashboard-page .partner-records-panel { grid-template-columns: 1fr; }
  .vendor-app-page .vendor-workspace { display: block; padding-bottom: 78px; }
  .vendor-app-page .vendor-rail {
    position: fixed;
    inset: auto 0 0;
    z-index: 40;
    width: auto;
    height: auto;
    min-height: 68px;
    padding: 7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    background: var(--wm-ink);
  }
  .vendor-app-page .vendor-rail nav { margin: 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3px; }
  .vendor-app-page .vendor-rail nav a {
    min-height: 52px;
    padding: 4px 2px;
    font-size: .61rem;
    transform: none;
  }
  .vendor-app-page .vendor-topbar { min-height: 74px; background: rgba(243,248,245,.98); }
}

@media (max-width: 480px) {
  .dashboard-page .metric-strip,
  .dashboard-page .host-live__kpis { grid-template-columns: 1fr; }
  .dashboard-page .metric-strip > div,
  .dashboard-page .host-live__kpis > * { border-right: 0; border-bottom: 1px solid var(--wm-line); }
  .dashboard-page .metric-strip > div:last-child,
  .dashboard-page .host-live__kpis > *:last-child { border-bottom: 0; }
  .dashboard-page .section-heading { align-items: flex-start; }
  .dashboard-page .record-count { flex: 0 0 auto; }
  .dashboard-page .partner-records > .section-heading { display: grid; grid-template-columns: 1fr; }
  .dashboard-page .partner-records > .section-heading .record-count { justify-self: start; }
  .dashboard-page .dashboard-nav nav a { font-size: .57rem; }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-page .dashboard-main > :first-child { animation: none; }
  .dashboard-page .dashboard-nav nav a { transition: none; }
}
