/* Unified operational world for every non-guest surface — tokens from DESIGN.md. */
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) {
  --cream: #f7f3e9;
  --cream-2: #eeeae1;
  --paper: #fffdf8;
  --paper-deep: #f7f3e9;
  --pine: #001840;
  --pine-2: #000f2e;
  --forest: #001840;
  --forest-2: #000f2e;
  --amber: #e31925;
  --amber-2: #b80f1a;
  --amber-deep: #b80f1a;
  --amber-hover: #b80f1a;
  --sage: #eeeae1;
  --sage-2: #e2ddd1;
  --ink: #000f2e;
  --muted: #566074;
  --line: #cfc8b8;
  --display: "Postcard Serif", Georgia, serif;
  --ui: "Inter", system-ui, sans-serif;
  --soft-shadow: 0 3px 8px rgba(0,24,64,.1), 0 18px 42px rgba(0,24,64,.09);
  background: #f7f3e9;
  color: #000f2e;
  font-family: "Inter", system-ui, sans-serif;
}

:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) ::selection,
.error-shell ::selection { background: #dbe9ed; color: #000f2e; }
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) * { scrollbar-color: #5f665f #eeeae1; }
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) :focus-visible,
.error-shell :focus-visible { outline: 2px solid #376b82; outline-offset: 2px; }

:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) h1,
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) h2,
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) h3,
.error-shell h1 { color: var(--ink); font-family: "Inter", system-ui, sans-serif; letter-spacing: -.025em; }

:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) .brand,
.error-shell .brand { color: var(--ink); font-family: "Inter", system-ui, sans-serif; font-size: 1.25rem; font-weight: 650; letter-spacing: -.025em; }
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) .brand > span > span { color: var(--amber); }

:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) input,
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) select,
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) textarea,
.operator-card input {
  min-height: 48px;
  border: 1px solid #aaa392;
  border-radius: 8px;
  background: var(--paper);
  color: var(--ink);
}
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) input::placeholder,
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) textarea::placeholder { color: var(--muted); }

:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) .secondary-action {
  min-height: 46px;
  border: 1px solid #aaa392;
  border-radius: 8px;
  background: var(--paper);
  color: var(--ink);
  font-size: .88rem;
  font-weight: 600;
}
:where(.public-page, .dashboard-page, .auth-page, .admin-login-page) .secondary-action:hover { border-color: var(--ink); background: var(--paper-deep); color: var(--ink); }

/* Shared public navigation */
.public-header {
  min-height: 76px;
  padding: 10px max(24px, calc((100vw - 1320px) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(255,253,248,.96);
  backdrop-filter: blur(12px);
}
.brand-art { display: block; line-height: 0; }
.public-header .brand-responsive { flex: 0 0 auto; }
.public-header .brand-responsive img { display: block; width: clamp(190px, 19vw, 224px); height: auto; }
.public-header nav { gap: clamp(18px, 2.2vw, 32px); }
.public-header nav a { color: var(--ink); font-size: .84rem; font-weight: 550; }
.public-header nav a:not(.public-login)::after { bottom: -10px; height: 2px; background: var(--ink); }
.public-header .public-login { min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); }
.public-header .public-login:hover { border-color: var(--ink); background: var(--paper-deep); color: var(--ink); }
.public-menu { border-color: var(--line); border-radius: 999px; color: var(--ink); }

.public-footer {
  grid-template-columns: minmax(260px, 1fr) 150px 120px;
  gap: 48px;
  padding: 58px max(24px, calc((100vw - 1320px) / 2)) 34px;
  border-top: 1px solid var(--line);
  background: var(--paper-deep);
  color: var(--ink);
}
.public-footer .brand { color: var(--ink); }
.public-footer .footer-lockup img { display: block; width: min(224px, 100%); height: auto; }
.public-footer .footer-brand p { color: var(--muted); }
.public-footer .footer-brand small { color: var(--muted); }
.public-footer nav strong { color: var(--ink); }
.public-footer nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); }
.public-footer nav a:hover { color: var(--ink); }
.footer-disclosure { grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); }

/* Marketplace homepage */
.marketplace-home { overflow: hidden; }
.marketplace-home .site-container { width: min(100% - 48px, 1320px); }
.home-market-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  align-items: center;
  gap: clamp(44px, 7vw, 96px);
  min-height: 720px;
  padding-block: clamp(58px, 8vw, 112px);
}
.home-market-copy h1 { max-width: 11ch; margin-bottom: 24px; font-size: clamp(3.5rem, 6vw, 6rem); font-weight: 650; line-height: .96; }
.home-market-copy > p { max-width: 57ch; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.58; }
.home-search-link {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr auto;
  align-items: center;
  max-width: 720px;
  min-height: 72px;
  margin-top: 34px;
  padding: 0 10px 0 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 3px 12px rgba(0,0,0,.1);
  text-decoration: none;
  transition: box-shadow 160ms ease-out, transform 160ms ease-out;
}
.home-search-link:hover { box-shadow: 0 6px 20px rgba(0,0,0,.14); transform: translateY(-1px); }
.home-search-link > span { display: grid; gap: 1px; min-width: 0; padding: 0 18px; border-right: 1px solid var(--line); }
.home-search-link > span:nth-child(3) { border-right: 0; }
.home-search-link small { color: var(--muted); font-size: .68rem; }
.home-search-link strong { overflow: hidden; font-size: .84rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.home-search-link b { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 156px; height: 46px; padding: 0 15px; border-radius: 999px; background: var(--amber); color: #ffffff; font-size: .76rem; font-weight: 600; white-space: nowrap; }
.home-search-link b span { display: inline; }
.home-search-link svg { width: 19px; }
.home-trust-line { display: flex; align-items: center; gap: 7px; margin-top: 18px; color: var(--muted); font-size: .76rem !important; }
.home-trust-line svg { width: 17px; color: var(--amber); }
.home-market-photo { position: relative; min-height: 580px; margin: 0; overflow: hidden; border-radius: 20px; }
.home-market-photo img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; }
.home-market-photo figcaption { position: absolute; right: 18px; bottom: 18px; display: grid; gap: 1px; padding: 12px 16px; border-radius: 14px; background: var(--paper); box-shadow: 0 5px 18px rgba(0,0,0,.15); font-size: .78rem; }
.home-market-photo figcaption span { color: var(--muted); }
@keyframes marketplace-home-enter {
  from { opacity: .001; transform: translateY(18px); filter: blur(7px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}
.home-market-copy { animation: marketplace-home-enter 520ms cubic-bezier(.16,1,.3,1) both; }
.home-market-photo { animation: marketplace-home-enter 680ms 70ms cubic-bezier(.16,1,.3,1) both; }

.home-market-section { padding-block: 40px 96px; }
.home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.home-section-heading h2, .home-benefit-intro h2, .home-partner-paths h2, .home-final-cta h2 { margin-bottom: 7px; font-size: clamp(2rem, 3.3vw, 3.2rem); font-weight: 650; line-height: 1.05; }
.home-section-heading p, .home-benefit-intro p, .home-partner-paths > div > p, .home-final-cta p { margin: 0; color: var(--muted); }
.home-section-heading > a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: .84rem; font-weight: 600; }
.home-section-heading > a svg { width: 17px; }
.home-experience-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.home-experience-card { color: var(--ink); text-decoration: none; }
.home-experience-card > div { position: relative; aspect-ratio: 1 / 1.05; overflow: hidden; border-radius: 16px; background: #f0f0f0; }
.home-experience-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms cubic-bezier(.16,1,.3,1); }
.home-experience-card:hover img { transform: scale(1.025); }
.home-experience-card > div > span { position: absolute; top: 12px; left: 12px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.94); font-size: .68rem; font-weight: 600; }
.home-experience-card > small { display: block; margin-top: 11px; color: var(--muted); font-size: .72rem; }
.home-experience-card h3 { margin: 3px 0 5px; font-size: .95rem; font-weight: 600; line-height: 1.28; }
.home-experience-card p { margin: 0; font-size: .78rem; line-height: 1.4; }
.home-experience-card .home-rating { color: var(--muted); }
.home-rating strong { color: var(--ink); font-weight: 550; }

.home-market-benefits { padding-block: 92px; background: var(--paper-deep); }
.home-market-benefits > .site-container { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(50px, 8vw, 110px); }
.home-benefit-intro h2 { max-width: 11ch; }
.home-benefit-intro p { max-width: 46ch; }
.home-benefit-list { border-top: 1px solid var(--line); }
.home-benefit-list article { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.home-benefit-list article > svg { width: 28px; height: 28px; stroke-width: 1.6; }
.home-benefit-list h3 { margin-bottom: 5px; font-size: 1.05rem; font-weight: 600; }
.home-benefit-list p { max-width: 58ch; margin: 0; color: var(--muted); font-size: .9rem; }

.home-partner-paths { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 18px; padding-block: 96px; }
.home-partner-paths > div { padding-right: clamp(20px, 4vw, 60px); }
.home-partner-paths > a { position: relative; display: grid; align-content: space-between; min-height: 230px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); text-decoration: none; transition: border-color 160ms ease-out, transform 160ms ease-out; }
.home-partner-paths > a:hover { border-color: var(--ink); transform: translateY(-2px); }
.home-partner-paths > a span { color: var(--muted); font-size: .72rem; }
.home-partner-paths > a strong { max-width: 15ch; font-size: 1.35rem; font-weight: 600; line-height: 1.15; }
.home-partner-paths > a svg { position: absolute; right: 22px; bottom: 22px; width: 20px; }
.home-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 96px; padding: 42px; border-radius: 20px; background: var(--ink); color: #ffffff; }
.home-final-cta h2 { color: #ffffff; }
.home-final-cta p { color: #cddbd6; }
.home-final-cta .primary-action { flex: 0 0 auto; }

/* Partner acquisition pages */
.public-page:not(.guest-page) .eyebrow { display: none; }
.public-page h1, .public-page h2, .public-page h3 { font-family: "Inter", system-ui, sans-serif; }
.public-page h1 { color: var(--ink); font-size: clamp(3rem, 5vw, 4.8rem); font-weight: 650; line-height: 1.02; }
.public-page h2 { color: var(--ink); font-size: clamp(2rem, 3vw, 3rem); font-weight: 650; line-height: 1.08; }
.public-page h3 { color: var(--ink); font-weight: 600; }
.partner-hero { min-height: 680px; padding-block: 64px; }
.partner-hero-copy > p:not(.micro-trust), .join-hero-copy > p { color: var(--muted); }
.partner-hero-media { min-height: 560px; border-radius: 20px; background: #f4f4f4; }
.partner-hero-media > img { min-height: 560px; filter: none; }
.partner-hero-media .image-caption { border-radius: 10px 0 0 0; background: var(--paper); color: var(--muted); }
.public-actions { gap: 12px; }
.public-primary { min-height: 50px; border-radius: 8px; background: var(--amber); color: #ffffff; box-shadow: none; }
.public-primary:hover { background: var(--amber-hover); color: #ffffff; transform: translateY(-1px); box-shadow: none; }
.micro-trust, .join-trust { color: var(--muted); }
.host-kpis { border-color: var(--line); }
.host-kpis li { border-color: var(--line); }
.host-kpis strong { color: var(--ink); font-family: "Inter", system-ui, sans-serif; font-size: 1.8rem; }
.founding-window { background: var(--ink); color: #ffffff; }
.founding-window h2 { color: #ffffff; }
.founding-window p, .founding-window dt { color: #cddbd6; }
.founding-window dd { color: #ffffff; }
.perk-console { border: 1px solid var(--line); border-radius: 20px; background: var(--paper); color: var(--ink); box-shadow: 0 2px 4px rgba(0,0,0,.07), 0 12px 28px rgba(0,0,0,.08); }
.perk-console::before, .perk-console::after { display: none; }
.perk-console-head, .perk-console-title, .perk-console dl, .perk-console > p { border-color: var(--line); }
.perk-console h2, .perk-console strong, .perk-console dd { color: var(--ink); font-family: "Inter", system-ui, sans-serif; }
.join-page .perk-console-head, .join-page .perk-console-head strong, .join-page .perk-console-title small,
.join-page .perk-console dt, .join-page .perk-console > p { color: var(--muted); }
.join-page .perk-console-title h2 { color: var(--ink); }
.join-page .perk-price span { color: var(--muted); }
.join-page .perk-console-head, .join-page .perk-console dl div { border-color: var(--line); }
.operator-hero-stage { position: relative; min-height: 590px; overflow: hidden; border-radius: 20px; background: #f4f4f4; }
.operator-hero-photo { width: 100%; height: 100%; min-height: 590px; object-fit: cover; object-position: center; }
.operator-hero-stage .perk-console { position: absolute; right: 22px; bottom: 22px; width: 82%; padding: 24px; }
.operator-hero-stage .perk-console-title { padding-block: 18px 14px; }
.operator-hero-stage .perk-price strong { font-size: clamp(3.4rem, 6vw, 5.2rem); }
.operator-hero-stage .perk-console dl div { padding-block: 9px; }
.operator-hero-stage .perk-console > p { margin-top: 11px; }
.perk-toggle { background: var(--amber); }
.join-mechanics, .partner-flow { padding-block: 92px; }
.join-steps, .partner-flow ol { border-color: var(--line); }
.join-steps li, .partner-flow li { border-color: var(--line); background: var(--paper); }
.join-steps li > i, .partner-flow li > span { background: var(--ink); color: #ffffff; }
.partner-flow ol::before { background: var(--line); }
.partner-flow li > svg { color: var(--ink); }
.partner-apply, .join-apply { padding-block: 92px; background: var(--paper-deep); color: var(--ink); }
.apply-copy h2 { color: var(--ink); }
.apply-copy > p, .apply-copy li { color: var(--muted); }
.apply-copy li svg { color: var(--amber); }
.apply-resources a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
.partner-form, .application-confirmation { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); }
.partner-form label { color: var(--ink); }
.partner-form input, .partner-form select, .partner-form textarea { background: var(--paper); }
.partner-form input:focus, .partner-form select:focus, .partner-form textarea:focus { border-color: var(--ink); outline: 2px solid var(--ink); }
.founder-story { background: var(--paper); color: var(--ink); }
.founder-copy h2 { color: var(--ink); }
.founder-copy p { color: var(--muted); }
.host-setup { background: var(--paper-deep); }
.host-setup-grid h2, .host-ledger h2 { color: var(--ink); }
.host-ledger { background: var(--paper); }
.faq-section { padding-block: 92px; }
.faq-list { border-color: var(--line); }
.faq-list details, .faq-list summary { border-color: var(--line); }
.faq-list summary { color: var(--ink); }
.faq-list p { color: var(--muted); }
.mobile-apply-bar { border: 0; border-radius: 8px; background: var(--amber); color: #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.public-page .partner-final-cta h2 { font-size: 39px; }
.partner-final-cta .primary-action { border-radius: 8px; }

/* Authentication, legal, and utility pages */
.partner-auth { grid-template-columns: minmax(380px, 45%) 1fr; }
.auth-brand-panel { background: var(--ink); color: #ffffff; }
.auth-brand-panel::after { background: none; }
.auth-brand-panel .brand, .auth-brand-panel .brand > span > span { color: #f5f0e4; }
.auth-brand-panel .auth-lockup img { display: block; width: min(230px, 100%); height: auto; }
.auth-brand-panel h1 { color: #ffffff; font-family: var(--display); font-size: clamp(3rem, 5vw, 4.5rem); font-weight: 650; }
.auth-brand-panel > div > p { color: #cddbd6; }
.auth-brand-panel ol, .auth-brand-panel li { border-color: rgba(255,255,255,.22); }
.auth-brand-panel li svg { color: var(--amber); }
.auth-brand-panel :focus-visible { outline-color: #ffffff; }
.auth-form-panel { background: var(--paper); }
.auth-heading h2, .auth-success h2 { color: #001840; font-family: var(--display); font-weight: 650; }
.auth-heading p, .auth-success p, .auth-microcopy, .auth-apply-links { color: var(--muted); }
.auth-form-wrap form > label, .auth-form-wrap .auth-field > label, .auth-form-wrap legend { color: var(--ink); }
.password-field button { color: var(--ink); }
.password-field button:hover { background: var(--sage-2); }
.role-segments { border-color: var(--line); background: var(--paper-deep); }
.role-segments input {
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.role-segments input:checked + span { background: var(--ink); color: #ffffff; }
.auth-form-wrap .primary-action { background: var(--amber); color: #ffffff; }
.auth-form-wrap .primary-action:hover { background: var(--amber-hover); }
.demo-entry { border-color: var(--line); }
.demo-entry a, .auth-apply-links a, .auth-support a, .demo-entry code { color: var(--ink); }
.legal-layout { background: var(--paper); }
.legal-header > span { background: #f4f4f4; color: var(--muted); }
.legal-header h1, .legal-copy h2 { color: var(--ink); font-family: "Inter", system-ui, sans-serif; }
.legal-header p, .legal-copy, .legal-toc a { color: var(--muted); }
.legal-toc a { border-color: var(--line); }
.legal-toc a:hover, .legal-toc a.is-active { border-color: var(--ink); color: var(--ink); }
.legal-copy h2 span { color: var(--amber); }
.legal-copy section { border-color: var(--line); }
.legal-note, .legal-contact { background: var(--paper-deep); color: var(--ink); }
.operator-entry { background: var(--paper-deep); }
.operator-entry::before { display: none; }
.operator-card { border: 1px solid var(--line); border-radius: 20px; background: var(--paper); color: var(--ink); box-shadow: 0 2px 4px rgba(0,0,0,.07), 0 18px 48px rgba(0,0,0,.1); }
.operator-card .eyebrow { display: none; }
.operator-card h1 { color: var(--ink); font-family: "Inter", system-ui, sans-serif; font-weight: 650; }
.operator-card label { color: var(--ink); }
.operator-card input { background: var(--paper); color: var(--ink); }
.operator-card .field-message, .operator-note { color: var(--muted); }
.operator-note svg { color: var(--amber); }
.error-shell { min-height: 100vh; width: min(100% - 36px, 620px); padding-block: 72px; color: var(--ink); font-family: "Inter", system-ui, sans-serif; }
.error-shell h1 { margin: 24px 0 10px; font-size: clamp(2.6rem, 7vw, 4.6rem); font-weight: 650; line-height: 1; }
.error-shell > p { color: var(--muted); }

/* Operational dashboards */
.dashboard-page { background: #eeeae1; }
.dashboard-nav {
  width: 248px;
  padding: 22px 16px;
  border-right: 0;
  background: #000f2e url('/assets/materials/enamel-patina.png') center/cover;
  color: #ffffff;
}
.dashboard-nav::after { display: block; }
.dashboard-nav .brand { color: #ffffff; }
.dashboard-nav .brand > span > span { color: #ef8c82; }
.dashboard-nav .dashboard-lockup img { display: block; width: min(192px, 100%); height: auto; }
.dashboard-nav .brand:not(.dashboard-lockup) img { width: 38px; height: 38px; }
.market-brand img { width: 34px; height: 34px; }
.dashboard-nav nav { gap: 3px; margin-top: 48px; }
.dashboard-nav nav a { color: #cddbd6; font-size: .82rem; font-weight: 650; }
.dashboard-nav nav a:hover { background: rgba(255,255,255,.09); color: #ffffff; }
.dashboard-nav nav a.active { background: #fffdf8; color: #000f2e; }
.dashboard-nav nav svg { stroke-width: 1.8; }
.nav-account { grid-template-columns: 38px 1fr 44px; border-color: rgba(255,255,255,.18); }
.avatar { background: #376b82; color: #ffffff; }
.nav-account small { color: #a9beb6; }
.nav-account button { width: 44px; height: 44px; color: #dfe8e1; }
.nav-account button:hover { color: #ffffff; }
.dashboard-main { width: calc(100% - 248px); margin-left: 248px; padding: 46px clamp(28px, 5vw, 76px) 92px; }
.dashboard-header { align-items: center; margin-bottom: 30px; }
.dashboard-header h1 { max-width: 15ch; margin-bottom: 7px; color: #001840; font-family: "Postcard Serif", Georgia, serif; font-size: clamp(2.7rem, 4.8vw, 4.1rem); font-weight: 750; line-height: .92; }
.dashboard-header p:last-child { color: #5f665f; }
.metric-strip { gap: 1px; margin-bottom: 56px; overflow: hidden; border: 1px solid #cfc8b8; border-radius: 14px; background: #cfc8b8; }
.metric-strip > div { padding: 22px; border: 0; background: #fffdf8; }
.metric-strip > div:first-child { padding-left: 22px; }
.metric-strip span { color: #5f665f; font-size: .7rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.metric-strip small { color: #5f665f; font-size: .68rem; }
.metric-strip strong { margin: 7px 0 5px; color: #001840; font-family: "Postcard Serif", Georgia, serif; font-size: clamp(2.1rem, 3vw, 3.2rem); font-weight: 750; letter-spacing: -.02em; }
.dashboard-section { margin-top: 64px; scroll-margin-top: 24px; }
.dashboard-section > .section-heading { align-items: center; margin-bottom: 18px; }
.dashboard-section > .section-heading h2, .payout-callout h2, .promo-confirm h2 { color: #001840; font-family: "Postcard Serif", Georgia, serif; font-size: clamp(1.9rem, 2.8vw, 2.55rem); font-weight: 750; }
.dashboard-section > .section-heading p { color: #5f665f; }
.record-count, .offer-policy, .demo-badge { border-color: #cfc8b8; color: #5f665f; }
.data-table-wrap { border: 1px solid #cfc8b8; border-radius: 14px; background: #fffdf8; }
th { padding: 13px 15px; background: #f7f3e9; color: #5f665f; font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
td { padding: 14px 15px; border-color: #e5dfd2; }
td small { color: #5f665f; }
.status { background: #ddd9d0; color: #645f55; font-size: .66rem; letter-spacing: 0; }
.status-booked, .status-confirmed, .status-paid { background: #dceae4; color: #235f48; }
.status-clicked { background: #fff1d6; color: #7a4d00; }
.status-disputed { background: #fbe6e4; color: #8b2c27; }
.property-assets { gap: 18px; }
.property-asset { overflow: hidden; border: 1px solid #cfc8b8; border-radius: 14px; background: #fffdf8; }
.property-copy h3 { color: #001840; font-family: "Postcard Serif", Georgia, serif; font-size: 1.65rem; font-weight: 750; }
.property-copy h3 span, .property-copy > p { color: #5f665f; }
.copy-text { color: #001840; font-weight: 700; }
.promo-field strong { border-color: #001840; background: #f7f3e9; color: #001840; }
.qr-card { border-color: #cfc8b8; }
.qr-card a { color: #001840; }
.payout-callout { border: 0; border-radius: 14px; background: #000f2e url('/assets/materials/enamel-patina.png') center/cover; color: #ffffff; box-shadow: none; }
.dashboard-section.payout-callout h2 { color: #ffffff; }
.payout-callout p:last-child { color: #cddbd6; }
.payout-callout .primary-action { background: #b93f38; color: #ffffff; }
.locked-action-panel, .action-notice, .onboarding-track, .promo-confirm { border: 1px solid #cfc8b8; border-radius: 14px; background: #fffdf8; box-shadow: none; }
.locked-action-panel > svg, .locked-action-panel h3, .action-notice, .agreement-panel summary, .agreement-receipt, .promo-locked svg { color: #001840; }
.locked-action-panel h3, .agreement-copy h3 { font-family: "Postcard Serif", Georgia, serif; }
.locked-action-panel p, .action-notice span, .onboarding-steps p { color: #5f665f; }
.confirmation-list, .property-performance, .offering-editor, .lead-roster, .dispute-list, .partner-roster, .property-roster { border-color: var(--line); }
.confirmation-row, .performance-row, .offering-editor details, .lead-row, .partner-roster article, .property-roster article { border-color: var(--line); }
.empty-state svg { color: #b93f38; }
.empty-state h3 { color: #001840; font-family: "Postcard Serif", Georgia, serif; }
.empty-state p { color: #5f665f; }
.bar-track { background: var(--sage-2); }
.bar-track span { background: #b93f38; }
.onboarding-track { padding: 28px; }
.onboarding-steps { border-color: var(--line); }
.onboarding-steps li { border-color: var(--line); }
.onboarding-steps li > span { border-color: #001840; color: #001840; }
.onboarding-steps li.complete > span { background: #001840; color: #ffffff; }
.offer-control { border-color: #cfc8b8; background: #fffdf8; }
.offer-control > header, .pause-offer { border-color: var(--line); }
.offer-control > header strong { color: #001840; font-family: "Postcard Serif", Georgia, serif; }
.pause-offer { background: #f7f3e9; }
.pause-offer button, .offer-control summary { color: #001840; }
.offer-days label span { border-color: #aca99e; color: #001840; }
.offer-days input:checked + span { border-color: #001840; background: #001840; color: #ffffff; }
.vendor-avatar, .lead-score { background: #001840; color: #ffffff; font-family: "Postcard Serif", Georgia, serif; }
.lead-score strong, .funnel-summary strong { color: inherit; font-family: "Postcard Serif", Georgia, serif; }
.funnel-summary { border-color: var(--line); }
.funnel-summary div { border-color: var(--line); }
.funnel-summary strong { color: #001840; }
.crm-filters label, .lead-update label { color: #5f665f; letter-spacing: .04em; text-transform: uppercase; }
.void-dialog { background: #fffdf8; color: #000f2e; }
.void-dialog::backdrop { background: rgba(0,0,0,.54); }
.void-dialog h2 { color: #001840; font-family: "Postcard Serif", Georgia, serif; }
.void-dialog p { color: #5f665f; }
.void-dialog #voidDialogContext { color: #001840; }
.host-public-page > .public-header { display: flex; visibility: visible; }
.dashboard-page .crm-filters input, .dashboard-page .crm-filters select, .dashboard-page .lead-update input, .dashboard-page .lead-update select,
.dashboard-page .channel-input-form input, .dashboard-page .channel-input-form select { min-height: 44px; }

@media (max-width: 1080px) {
  .home-market-hero { grid-template-columns: 1fr 1fr; gap: 38px; min-height: 640px; }
  .home-market-copy h1 { font-size: clamp(3.2rem, 6vw, 4.8rem); }
  .home-market-photo, .home-market-photo img { min-height: 500px; }
  .home-experience-grid { gap: 16px; }
  .home-partner-paths { grid-template-columns: 1fr 1fr; }
  .home-partner-paths > div { grid-column: 1 / -1; max-width: 680px; padding: 0 0 18px; }
}

@media (max-width: 980px) {
  .public-header nav { position: fixed; inset: 76px 0 auto; display: none; padding: 18px 24px 26px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .public-header nav.is-open { display: grid; }
  .public-header nav a { min-height: 48px; padding: 0; border-bottom: 1px solid var(--sage-2); }
  .public-header nav a::after { display: none; }
  .public-header .public-login { justify-content: center; border: 0; border-radius: 10px; background: var(--ink); color: #ffffff; }
  .public-menu { display: inline-flex; }
  .home-market-hero { grid-template-columns: 1fr; padding-top: 52px; }
  .home-market-copy { max-width: 760px; }
  .home-market-photo { min-height: 520px; }
  .home-market-photo img { min-height: 520px; }
  .home-market-benefits > .site-container { grid-template-columns: 1fr; gap: 42px; }
  .home-benefit-intro h2 { max-width: 15ch; }
  .dashboard-nav { position: static; width: 100%; min-height: 76px; grid-template-columns: auto 1fr auto; padding: 12px 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .dashboard-nav nav { margin: 0; }
  .dashboard-nav nav a { padding: 0 13px; font-size: 0; }
  .dashboard-nav nav a svg { width: 21px; height: 21px; }
  .dashboard-nav nav a.active { background: #fffdf8; }
  .dashboard-main { width: 100%; margin: 0; padding: 34px 24px 74px; }
}

@media (max-width: 760px) {
  .marketplace-home .site-container, .site-container { width: min(100% - 32px, 1320px); }
  .home-market-hero { min-height: 0; padding-block: 38px 68px; }
  .home-market-copy h1 { max-width: 12ch; font-size: clamp(2.65rem, 12vw, 4rem); }
  .home-market-copy > p { font-size: 1rem; }
  .home-search-link { grid-template-columns: 1fr auto; min-height: 62px; margin-top: 26px; }
  .home-search-link > span { display: none; }
  .home-search-link > span:first-child { display: grid; border: 0; }
  .home-search-link b { min-width: 150px; height: 42px; }
  .home-trust-line { align-items: flex-start; line-height: 1.45; }
  .home-market-photo, .home-market-photo img { min-height: 430px; }
  .home-market-section { padding-block: 0 72px; }
  .home-section-heading { align-items: start; }
  .home-experience-grid { grid-auto-columns: 45%; grid-auto-flow: column; grid-template-columns: none; gap: 12px; margin-right: -16px; overflow-x: auto; padding-right: 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .home-experience-grid::-webkit-scrollbar { display: none; }
  .home-experience-card { scroll-snap-align: start; }
  .home-market-benefits { padding-block: 68px; }
  .home-partner-paths { grid-template-columns: 1fr; padding-block: 72px; }
  .home-partner-paths > div { grid-column: auto; }
  .home-partner-paths > a { min-height: 190px; }
  .home-final-cta { display: grid; margin-bottom: 72px; padding: 28px 24px; }
  .home-final-cta .primary-action { justify-self: start; }
  .public-footer { grid-template-columns: 1fr 1fr; padding-inline: 18px; }
  .public-footer .footer-brand, .footer-disclosure { grid-column: 1 / -1; }
  .partner-hero { min-height: 0; padding-block: 44px 68px; }
  .partner-hero-media, .partner-hero-media > img { min-height: 420px; }
  .operator-hero-stage, .operator-hero-photo { min-height: 620px; }
  .operator-hero-stage .perk-console { right: 16px; bottom: 16px; width: calc(100% - 32px); padding: 20px; }
  .partner-apply, .join-apply { padding-block: 68px; }
  .partner-form, .application-confirmation { padding: 24px 16px; }
  .public-page .partner-final-cta h2 { font-size: 31px; }
  .partner-auth { grid-template-columns: 1fr; }
  .auth-brand-panel { min-height: 112px; justify-content: center; padding: 18px 24px; }
  .auth-brand-panel .auth-lockup img { width: min(210px,100%); }
  .auth-brand-panel ol { display: none; }
  .auth-form-panel { min-height: calc(100vh - 112px); padding-block: 36px 64px; }
  .legal-layout { padding-top: 52px; }
  .dashboard-nav { grid-template-columns: 1fr auto; }
  .dashboard-nav nav { position: fixed; z-index: 60; inset: auto 8px 8px; justify-content: space-around; padding: 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(0,15,46,.97); box-shadow: 0 4px 22px rgba(0,15,46,.24); }
  /* Labeled bottom bar (matches the vendor pattern): icon over a short label, 44px+ targets. */
  .dashboard-nav nav a { flex: 1 1 0; min-width: 64px; min-height: 48px; flex-direction: column; gap: 3px; justify-content: center; color: #cddbd6; font-size: .62rem; font-weight: 750; letter-spacing: .02em; }
  .dashboard-nav nav a svg { width: 20px; height: 20px; flex: 0 0 20px; }
  .dashboard-nav nav a.active { background: #fffdf8; color: #000f2e; }
  .dashboard-main { padding: 30px 16px 104px; }
  .dashboard-header h1 { font-size: 2.65rem; }
  .metric-strip { grid-template-columns: repeat(2, 1fr); }
  .metric-strip > div:nth-child(n+3) { border-top: 0; }
  .dashboard-section { margin-top: 52px; }
  .dashboard-section > .section-heading { align-items: flex-start; }
  .data-table-wrap { margin-inline: 0; padding-inline: 0; }
  .onboarding-track { margin-inline: 0; padding: 20px 16px; }
}

@media (max-width: 430px) {
  .public-header { min-height: 68px; padding-inline: 16px; }
  .public-header nav { inset-block-start: 68px; }
  .public-header .brand-responsive img { width: 190px; height: auto; }
  .home-market-photo, .home-market-photo img { min-height: 350px; }
  .home-market-photo { border-radius: 16px; }
  .home-market-photo figcaption { right: 12px; bottom: 12px; }
  .home-section-heading > a { font-size: 0; min-width: 48px; justify-content: center; }
  .home-section-heading > a svg { width: 20px; }
  .home-experience-grid { grid-auto-columns: 45%; }
  .home-partner-paths > a { min-height: 170px; }
  .public-footer { grid-template-columns: 1fr; }
  .public-footer .footer-brand, .footer-disclosure { grid-column: auto; }
  .partner-form { grid-template-columns: 1fr; }
  .partner-form .span-two { grid-column: auto; }
  .public-page .join-hero-copy h1, .public-page .partner-hero-copy h1 { margin-bottom: 16px; font-size: 36px; line-height: 1; }
  .dashboard-header { align-items: flex-start; }
  .metric-strip > div { padding: 17px 14px; }
  .metric-strip > div:first-child { padding-left: 14px; }
  .metric-strip strong { font-size: 2rem; }
  .property-asset { grid-template-columns: 1fr; }
  .qr-card { border-left: 0; border-top: 1px solid var(--line); }
  .payout-callout { display: grid; padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-experience-card img, .home-search-link { transition: none; }
  .home-market-copy, .home-market-photo { animation: none; }
}
