/*
 * WKND screen-by-screen craft layer.
 * Deliberately opt-in by renderer class: this is not a body-wide reskin.
 * The existing pages own their content, controls, state and behavior.
 */
:root {
  --wknd-craft-ink: #252344;
  --wknd-craft-muted: #625f78;
  --wknd-craft-paper: #fff9f4;
  --wknd-craft-card: #fffdfb;
  --wknd-craft-line: #e9dfe8;
  --wknd-craft-clay: #e47b6b;
  --wknd-craft-sun: #ffc969;
  --wknd-craft-sage: #e9e3ef;
  --wknd-craft-lilac: #f3edff;
  --wknd-craft-focus: #7050f4;
  --wknd-craft-action: #7050f4;
}

@media screen {
body.wknd-screen-craft {
  min-height: 100dvh;
  color: var(--wknd-craft-ink);
  background: var(--wknd-craft-paper);
  font-family: var(--wknd-public-sans, "Manrope", ui-sans-serif, system-ui, sans-serif);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.wknd-screen-craft :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--wknd-craft-focus);
  outline-offset: 3px;
}
body.wknd-screen-craft :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  font-size: 16px;
}
body.wknd-screen-craft :where(h1,h2,h3) { color: var(--wknd-craft-ink); letter-spacing: -.045em; }
body.wknd-screen-craft :where(p,.muted,.hint,.sub) { color: var(--wknd-craft-muted); }

/* Vendor account entry / authentication — one quiet frame around one decision. */
body.wknd-screen-signin {
  background:
  radial-gradient(ellipse at 90% 8%, rgba(255,170,232,.2), transparent 26rem),
    var(--wknd-craft-paper);
}
body.wknd-screen-signin .si-nav {
  min-height: 62px;
  border-bottom: 1px solid var(--wknd-craft-line);
  background: rgba(251,246,235,.94);
}
body.wknd-screen-signin .si-nav-logo { color: var(--wknd-craft-ink); }
body.wknd-screen-signin .signin-card {
  width: min(calc(100% - 28px), 480px);
  margin: clamp(34px,8vh,82px) auto;
  padding: clamp(23px,5vw,38px);
  border: 1px solid var(--wknd-craft-line);
  border-top: 4px solid var(--wknd-craft-action);
  border-radius: 13px;
  background: var(--wknd-craft-card);
  box-shadow: 0 5px 0 rgba(37,35,68,.045), 0 22px 55px rgba(67,59,101,.08);
}
body.wknd-screen-signin .card-eyebrow,
body.wknd-screen-signin .si-label { color: var(--wknd-craft-muted); }
body.wknd-screen-signin .si-input {
  min-height: 48px;
  border-color: #d8cfdf;
  border-radius: 6px;
  background: #fffefa;
}
body.wknd-screen-signin .btn-primary {
  min-height: 48px;
  border-radius: 6px;
  background: var(--wknd-craft-action);
  box-shadow: 3px 3px 0 var(--wknd-craft-clay);
}
body.wknd-screen-signin .si-error { border-radius: 7px; }

/* Profile setup, application and invitation are focused forms, not dashboards. */
body.wknd-screen-vendor-entry .vw-outer,
body.wknd-screen-application .shell,
body.wknd-screen-invitation .rsvp-shell,
body.wknd-screen-vendor-setup .vs-outer {
  width: min(calc(100% - 28px), 760px);
  margin-inline: auto;
}
body.wknd-screen-vendor-entry .vw-header,
body.wknd-screen-application .wknd-brand-bar,
body.wknd-screen-invitation .wknd-brand-bar,
body.wknd-screen-receipt .wknd-brand-bar {
  background: rgba(255,249,244,.96);
  border-bottom: 1px solid var(--wknd-craft-line);
  color: var(--wknd-craft-ink);
}
body.wknd-screen-vendor-entry .vw-home,
body.wknd-screen-vendor-entry .vw-card,
body.wknd-screen-application .hero-card,
body.wknd-screen-application .form-card,
body.wknd-screen-application .state-center,
body.wknd-screen-invitation .event-card,
body.wknd-screen-invitation .form-card,
body.wknd-screen-invitation .state-card,
body.wknd-screen-application-status .result-card {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background: var(--wknd-craft-card);
  box-shadow: 0 4px 0 rgba(37,35,68,.045), 0 14px 34px rgba(67,59,101,.055);
}
body.wknd-screen-application .hero-card,
body.wknd-screen-invitation .event-card {
  border-top: 3px solid var(--wknd-craft-action);
}
body.wknd-screen-application :where(.submit-btn,.apply-jump),
body.wknd-screen-invitation :where(.submit-btn,.rsvp-submit,.btn-primary),
body.wknd-screen-vendor-entry :where(.vw-primary,.vw-cta,.entry-primary) {
  border-radius: 6px;
  background: var(--wknd-craft-action);
  box-shadow: 3px 3px 0 var(--wknd-craft-clay);
}
body.wknd-screen-application :where(.submit-btn,.apply-jump,.apply-entry-cta) {
  color: #fffdfb;
}
body.wknd-screen-invitation .hero-headline { color: #fffdfb; }
body.wknd-screen-invitation .hero-sub { color: #ede6f8; }
body.wknd-screen-application :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.wknd-screen-invitation :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  min-height: 46px;
  border-color: #d8cfdf;
  border-radius: 6px;
  background: #fffefa;
}
body.wknd-screen-application-status .shell {
  width: min(calc(100% - 28px), 720px);
  margin: clamp(28px,8vh,86px) auto;
}
body.wknd-screen-application-status .page-title { letter-spacing: -.05em; }
body.wknd-screen-application-status :where(.result-status,.result-msg) { line-height: 1.55; }

/* Invalid invitation recovery is intentionally a complete, quiet screen:
   keep the original message and make its Vendor Hub return action unmistakable. */
body.wknd-brand:has(> main.wknd-invitation-recovery) {
  box-sizing: border-box;
  margin: 0;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px 16px;
  background:
    radial-gradient(ellipse at 88% 8%,rgba(255,170,232,.21),transparent 27rem),
    var(--wknd-craft-paper);
  color: var(--wknd-craft-ink);
  font-family: var(--wknd-public-sans,"Manrope",ui-sans-serif,system-ui,sans-serif);
}
body.wknd-brand:has(> main.wknd-invitation-recovery) .wknd-invitation-recovery {
  box-sizing: border-box;
  min-width: 0;
  width: min(100%,520px);
  display: grid;
  justify-items: start;
  gap: 20px;
  margin: auto;
  padding: clamp(28px,7vw,48px);
  border: 1px solid var(--wknd-craft-line);
  border-top: 5px solid var(--wknd-craft-action);
  border-radius: 16px;
  background: var(--wknd-craft-card);
  box-shadow: 0 5px 0 rgba(37,35,68,.045),0 22px 55px rgba(67,59,101,.08);
}
body.wknd-brand:has(> main.wknd-invitation-recovery) .wknd-invitation-recovery h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--wknd-craft-ink);
  font-size: clamp(30px,8vw,42px);
  line-height: 1.08;
  letter-spacing: -.05em;
}
body.wknd-brand:has(> main.wknd-invitation-recovery) .wknd-invitation-recovery a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 7px;
  background: var(--wknd-craft-action);
  box-shadow: 3px 3px 0 var(--wknd-craft-clay);
  color: #fffdfb;
  font-weight: 800;
  text-decoration: none;
}
body.wknd-brand:has(> main.wknd-invitation-recovery) .wknd-invitation-recovery a:focus-visible {
  outline: 3px solid var(--wknd-craft-focus);
  outline-offset: 4px;
}

/* Owner Page / connections: let actual saved material lead. */
body.wknd-screen-vendor-workspace,
body.eco-page.wknd-screen-connections {
  background: var(--wknd-craft-paper);
  color: var(--wknd-craft-ink);
}
body.wknd-screen-vendor-workspace .vh-top {
  min-height: 58px;
  background: rgba(251,246,235,.96);
  border-bottom: 1px solid var(--wknd-craft-line);
  box-shadow: 0 2px 12px rgba(67,59,101,.04);
}
body.wknd-screen-vendor-workspace .vh-body {
  width: min(calc(100% - 28px), 1120px);
  margin-inline: auto;
  padding-bottom: max(94px, env(safe-area-inset-bottom));
}
body.wknd-screen-vendor-workspace .vh-decision-home {
  width: min(100%, 980px);
  margin-inline: auto;
}
body.wknd-screen-vendor-workspace :where(.vh-decision-card,.vh-page-snapshot,.vh-panel-card,.vh-card,.vh-empty,.vh-section-card) {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background: var(--wknd-craft-card);
  box-shadow: 0 3px 0 rgba(37,35,68,.04);
}
body.wknd-screen-vendor-workspace .vh-decision-title {
  max-width: 18ch;
  font-size: clamp(27px,4vw,42px);
  line-height: 1.04;
  letter-spacing: -.055em;
}
body.wknd-screen-vendor-workspace :where(.vh-tab,.vh-nav button,.vh-action) {
  min-height: 44px;
}
body.wknd-screen-vendor-workspace .vh-tab[aria-selected="true"],
body.wknd-screen-vendor-workspace .vh-tab.active {
  color: var(--wknd-craft-ink);
  border-color: var(--wknd-craft-action);
}
body.wknd-screen-vendor-workspace :where(.vh-primary,.vh-btn-primary) {
  border-radius: 6px;
  background: var(--wknd-craft-action);
  box-shadow: 3px 3px 0 var(--wknd-craft-clay);
}
body.wknd-screen-vendor-workspace .vh-toast { max-width: min(420px,calc(100vw - 24px)); }
body.eco-page.wknd-screen-connections .eco-shell {
  width: min(calc(100% - 28px), 920px);
  margin-inline: auto;
}
body.eco-page.wknd-screen-connections :where(.eco-card,.eco-panel,.eco-section) {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background: var(--wknd-craft-card);
  box-shadow: 0 3px 0 rgba(38,59,61,.04);
}

/* Eventgoer registrations and account settings. */
body.wknd-goer-flow {
  --public-ink: var(--wknd-craft-ink);
  --public-muted: var(--wknd-craft-muted);
  --public-paper: var(--wknd-craft-paper);
  --public-line: var(--wknd-craft-line);
}
body.wknd-goer-flow .gh {
  background: linear-gradient(115deg,#f3edff,#fff0e7);
  border-bottom: 1px solid var(--wknd-craft-line);
}
body.wknd-goer-flow :where(.gl-card,.ge,.gl-task-link) {
  border-radius: 10px;
  box-shadow: 0 3px 0 rgba(37,35,68,.045);
}
body.wknd-goer-flow :where(.gl-btn,.ge-cta.pri,.ge-verify-btn) {
  background: var(--wknd-craft-action);
}
body.wknd-goer-account,
body.wknd-organizer-account {
  --wknd-account-ink: var(--wknd-craft-ink);
  --wknd-account-muted: var(--wknd-craft-muted);
  --wknd-account-line: var(--wknd-craft-line);
  background:
    radial-gradient(ellipse at 95% 4%,rgba(255,170,232,.15),transparent 27rem),
    var(--wknd-craft-paper);
  color: var(--wknd-craft-ink);
  font-family: var(--wknd-public-sans,"Manrope",ui-sans-serif,system-ui,sans-serif);
}
body.wknd-goer-account :where(.wknd-goer-account__card,.wknd-goer-account__auth-card),
body.wknd-organizer-account :where(.wknd-organizer-account__card,.wknd-organizer-account__auth-card) {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background: var(--wknd-craft-card);
  box-shadow: 0 4px 0 rgba(37,35,68,.04),0 14px 34px rgba(67,59,101,.055);
}
body.wknd-goer-account :where(a,button),
body.wknd-organizer-account :where(a,button) { transition: transform .16s ease,background-color .16s ease; }
body.wknd-goer-account :where(a,button):hover,
body.wknd-organizer-account :where(a,button):hover { transform: translateY(-1px); }

/* Vendor Page highlights and follow/contact action hierarchy, without inventing
   content or changing which actions are available. */
body.wknd-public-entry:has(#svp-main) {
  --wknd-resume-ink: #252344;
  --wknd-resume-plum: #433b65;
  --wknd-resume-lilac: #f3edff;
  --wknd-resume-lime: #ffc969;
  --wknd-resume-coral: #e47b6b;
  --wknd-resume-paper: #fffdfb;
  --wknd-resume-canvas: #fff3ee;
  --wknd-resume-muted: #625f78;
}
body.wknd-public-entry:has(#svp-main) .topbar-brand { color: #252344 !important; }
body.wknd-public-entry:has(#svp-main) .topbar-share {
  background: #ffc969;
  border-color: #e3b353;
  color: #252344;
}
body.wknd-public-entry:has(#svp-main) .fsvp-card-wrap { background: #252344; }
body.wknd-public-entry:has(#svp-main) .fsvp-action-btn--primary:not(:disabled):not([aria-disabled="true"]) {
  background: #7050f4 !important;
  color: #fffdfb !important;
}
body.wknd-public-entry:has(#svp-main) .fsvp-sec-title { color: #252344; }
body:is(.wknd-public-entry,.wknd-screen-vendor-workspace) .fsvp-hero-overlay .fsvp-vendor-name {
  color: #fffdfb !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.45);
}

/* Printable vendor field kit: keep sign identity clear and setup context
   separate from the customer-facing sign itself. */
body.wknd-screen-field-kit {
  background: #f4edf8;
  color: var(--wknd-craft-ink);
  font-family: var(--wknd-public-sans,"Manrope",ui-sans-serif,system-ui,sans-serif);
}
body.wknd-screen-field-kit :where(.sheet,.card,.page,.sign,.qr-frame) {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background-color: var(--wknd-craft-card);
  box-shadow: 0 5px 0 rgba(37,35,68,.05);
}
body.wknd-screen-field-kit :where(h1,h2) { color: var(--wknd-craft-ink); }
body.wknd-screen-field-kit :where(.brand,.brand-mark,.mark) { color: var(--wknd-craft-ink); }
body.wknd-screen-field-kit :where(button,a):focus-visible {
  outline: 3px solid var(--wknd-craft-focus);
  outline-offset: 3px;
}
body.wknd-screen-payment {
  min-height: 100dvh;
  display: grid;
  align-items: start;
  background: var(--wknd-craft-paper);
  color: var(--wknd-craft-ink);
}
body.wknd-screen-payment :where(.card,.pay-card,.payment-card) {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background: var(--wknd-craft-card);
  box-shadow: 0 4px 0 rgba(37,35,68,.045),0 16px 38px rgba(67,59,101,.06);
}
body.wknd-screen-field-kit .screen-tools {
  color: var(--wknd-craft-muted);
  background: rgba(255,249,244,.95);
  border-color: var(--wknd-craft-line);
}
body.wknd-screen-field-kit .control-button.primary,
body.wknd-screen-field-kit .actions > a:not(.secondary) {
  border-radius: 6px;
  background: var(--wknd-craft-action);
  color: var(--wknd-craft-card);
}

/* Setup's saved Page is the first useful outcome. Keep the existing "next
   detail" CTA unmistakable, and leave advanced tooling inside its disclosure. */
body.wknd-screen-vendor-setup #vs-hub-preview {
  border-color: var(--wknd-craft-line);
  border-radius: 12px;
  background: var(--wknd-craft-card);
  box-shadow: 0 3px 0 rgba(37,35,68,.04);
}
body.wknd-screen-vendor-setup #vs-hub-preview :where(h2,h3) {
  color: var(--wknd-craft-ink);
}
body.wknd-screen-vendor-setup #vs-hub-count {
  color: var(--wknd-craft-muted);
  font-variant-numeric: tabular-nums;
}
body.wknd-screen-vendor-setup #vs-hub-next {
  min-height: 48px;
  border-radius: 7px;
  background: var(--wknd-craft-action);
  box-shadow: 3px 3px 0 var(--wknd-craft-clay);
}
body.wknd-screen-vendor-setup .vs-more-tools > summary {
  min-height: 44px;
  color: var(--wknd-craft-muted);
}
body.wknd-screen-vendor-setup :where(#vs-hub-preview,.vs-done-summary) [role="status"] {
  line-height: 1.5;
}

/* Pricing and About already have complete page-specific layouts; these
   selective details bring their active states into the neighborhood palette. */
body.pricing-page {
  --public-ink: var(--wknd-craft-ink);
  --public-muted: var(--wknd-craft-muted);
  --public-paper: var(--wknd-craft-paper);
  --public-line: var(--wknd-craft-line);
  --public-coral: var(--wknd-craft-clay);
  --public-sun: var(--wknd-craft-sun);
}
body.pricing-page .pricing-hero { background: #f4e9e4; }
body.pricing-page .audience-card {
  border-color: var(--wknd-craft-line);
  border-radius: 11px;
  box-shadow: 0 4px 0 rgba(37,35,68,.045);
}
body.pricing-page .ink-button {
  background: var(--wknd-craft-action);
  box-shadow: 3px 3px 0 var(--wknd-craft-clay);
}
body.about-page :where(.about-story,.about-values,.about-founders) { color: var(--wknd-craft-ink); }
body.about-page .about-wknd { background: #f5eaf0; }

@media (max-width: 760px) {
  body.wknd-screen-vendor-workspace .vh-body { width: min(calc(100% - 20px), 720px); }
  body.wknd-screen-vendor-workspace .vh-decision-title { font-size: clamp(27px,8vw,36px); }
  body.wknd-screen-vendor-workspace :where(.vh-tab,.vh-nav button) { min-width: 44px; }
  body.wknd-screen-vendor-entry .vw-outer,
  body.wknd-screen-application .shell,
  body.wknd-screen-invitation .rsvp-shell,
  body.wknd-screen-vendor-setup .vs-outer { width: calc(100% - 24px); }
  body.wknd-screen-field-kit .screen-tools { flex-wrap: wrap; }
}
/* The map is a work surface with intentional canvas scrolling, not page overflow. */
@media screen {
  body.wknd-screen-zone-map { background: var(--wknd-craft-paper); }
  body.wknd-screen-zone-map .zm-nav {
    flex-wrap: wrap; gap: 12px; padding: 16px 20px;
    background: var(--wknd-craft-card); border-color: var(--wknd-craft-line);
  }
  body.wknd-screen-zone-map .zm-nav > div { flex-wrap: wrap; }
  body.wknd-screen-zone-map .zm-nav h1 { font-size: 20px; line-height: 1.25; }
  body.wknd-screen-zone-map .zm-btn,
  body.wknd-screen-zone-map .zm-nav > a,
  body.wknd-screen-zone-map .zm-sidebar input { min-height: 44px; }
  body.wknd-screen-zone-map .zm-panel { border-color: var(--wknd-craft-line); }
  body.wknd-screen-zone-map .zm-panel-hd { color: var(--wknd-craft-muted); }
  body.wknd-screen-zone-map .zm-grid-wrap { min-width: 0; }
  body.wknd-screen-zone-map .zm-clear {
    width: 44px; height: 44px; border: 0; border-radius: 6px;
    background: #fff9f4; color: #9b302a;
  }
  body.wknd-screen-zone-map .zm-cell:focus-within .zm-clear { display: block; }
  @media (max-width: 760px) {
    body.wknd-screen-zone-map .zm-nav > div { margin-left: 0 !important; width: 100%; }
    body.wknd-screen-zone-map .zm-wrap {
      flex-direction: column; height: auto; min-height: calc(100dvh - 150px);
      overflow: visible; padding: 16px; gap: 16px;
    }
    body.wknd-screen-zone-map .zm-sidebar { width: 100%; overflow: visible; }
    body.wknd-screen-zone-map .zm-grid-wrap { overflow: auto; width: 100%; }
  }
}
@media (prefers-reduced-motion: reduce) {
  body.wknd-screen-craft *,
  body.wknd-screen-craft *::before,
  body.wknd-screen-craft *::after { scroll-behavior: auto !important; transition: none !important; }
  /* Legacy staggered tile entrances must not fade readable event facts when
     the visitor explicitly requests reduced motion. Loading indicators keep
     their own state; this only disables decorative entry animations. */
  body.wknd-screen-vendor-workspace :where(.tile,.vnd-spotlight,.intel-note) {
    animation: none !important;
  }
}
}
/* Entry polish: a warm editorial welcome, followed by one focused decision.
   These selectors opt in only on account entry/setup documents. Keep all
   hidden gates, active-step display, provider markup and wait states owned
   by their existing renderers. Important rules below reconcile the legacy
   public/brand layers, not behavioral inline display or disabled states. */
@media screen {
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry,
body.wknd-brand.wknd-screen-organizer-entry,
body.wknd-brand.wknd-screen-organizer-setup {
  --wknd-entry-polish-action: #7052c4;
  --wknd-entry-polish-action-dark: #5b429f;
  --wknd-entry-polish-line: #d8cedf;
  --wknd-entry-polish-wash: #f0ebf8;
  --wknd-entry-polish-ink: #29243f;
  --wknd-entry-polish-muted: #625d6d;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-outer {
  width: 100%;
  max-width: 560px;
  padding-inline: clamp(18px, 5vw, 32px);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-header {
  gap: 8px 16px;
  padding-block: 16px 14px;
  background: transparent;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-home {
  border-radius: 10px;
  box-shadow: none;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-header-link {
  font-size: 13px;
  line-height: 1.5;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-hero {
  padding: clamp(26px, 5vh, 46px) 0 8px;
  text-align: left;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-logo {
  margin-bottom: 18px;
  font-size: 36px;
  line-height: 1;
  letter-spacing: -.065em;
  -webkit-text-fill-color: var(--wknd-entry-polish-ink);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-kicker {
  margin-bottom: 12px;
  color: var(--wknd-entry-polish-action);
  font-family: var(--wknd-public-mono);
  font-size: 11px;
  letter-spacing: .12em;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-tag {
  max-width: 13ch;
  color: var(--wknd-entry-polish-ink);
  font-size: clamp(36px, 9vw, 48px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.055em;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-sub {
  max-width: 44ch;
  margin-top: 16px;
  color: var(--wknd-entry-polish-muted);
  font-size: 15px;
  line-height: 1.6;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry #vw-s0 .vw-foot {
  padding-block: 18px 10px;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-start-here {
  margin-top: 16px;
  padding: 22px;
  border-color: #e3d9ec;
  border-radius: 16px;
  background: var(--wknd-entry-polish-wash);
  box-shadow: none;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-start-kicker {
  margin-bottom: 18px;
  color: #5b4775;
  font-size: 10px;
  letter-spacing: .09em;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-benefits {
  gap: 18px;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-benefit {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-benefit::before {
  background: #f8e4df;
  color: #82453e;
  font-family: var(--wknd-public-mono);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-benefit-title {
  font-size: 15px;
  line-height: 1.4;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-benefit-copy {
  font-size: 13px;
  line-height: 1.5;
  color: var(--wknd-entry-polish-muted);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-footnote {
  margin-block: 18px 28px;
  text-align: left;
  font-size: 12px;
  line-height: 1.6;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-w0-footnote a {
  color: var(--wknd-entry-polish-action-dark);
  text-underline-offset: 3px;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-prog {
  margin-block: 26px 30px;
  gap: 10px;
  color: var(--wknd-entry-polish-action-dark);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-prog-track i {
  height: 5px;
  background: #e3daee;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-prog-track i.on {
  background: var(--wknd-entry-polish-action);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-h1 {
  font-size: clamp(30px, 7.5vw, 40px);
  line-height: 1.12;
  margin-bottom: 14px;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-sub {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 26px;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry :where(.vw-fl,.vw-fl-opt,.vw-count,.vw-or-text,.vw-otp-timer) {
  color: var(--wknd-entry-polish-muted);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry :where(.vw-inp,.vw-phone-inp,.vw-otp-inp) {
  min-width: 0;
  min-height: 54px;
  border-color: var(--wknd-entry-polish-line) !important;
  background: #fffdf9 !important;
  color: var(--wknd-entry-polish-ink);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry :where(.vw-inp,.vw-phone-inp)::placeholder {
  color: #82768a;
  opacity: 1;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry :where(.vw-inp,.vw-phone-inp,.vw-otp-inp):focus {
  border-color: var(--wknd-entry-polish-action) !important;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-btn {
  min-height: 50px;
  font-size: 16px;
  line-height: 1.45;
  white-space: normal;
  transition: transform .16s ease, opacity .16s ease;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-btn-pri {
  background: var(--wknd-entry-polish-action) !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 0 #d98a7e;
  color: #fffdf9 !important;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-btn-pri:not(:disabled):not([aria-disabled="true"]):hover {
  background: var(--wknd-entry-polish-action-dark) !important;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-btn-pri:disabled {
  box-shadow: none;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-btn-sec {
  border-width: 1.5px;
  border-color: var(--wknd-entry-polish-line) !important;
  border-radius: 12px !important;
  background: #fffdf9;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry #vw-s1 :where(.vw-google-btn,.vw-phone-btn) {
  min-height: 54px;
  padding: 14px 16px;
  border-color: var(--wknd-entry-polish-line);
  border-radius: 12px;
  background: #fffdf9;
  color: var(--wknd-entry-polish-ink);
  font-size: 15px;
  line-height: 1.5;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry #vw-s1 .vw-phone-btn {
  background: var(--wknd-entry-polish-wash);
  color: var(--wknd-entry-polish-action-dark);
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth.wknd-screen-vendor-entry .vw-foot {
  gap: 12px;
}

/* Organizer login keeps its real market photographs and Google controls. */
body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-wrap {
  background: #fffaf2;
}
body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-card {
  border-color: #e3d9df;
  box-shadow: 0 5px 0 #eddfef, 0 20px 48px rgba(41,36,63,.07);
}
body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-headline {
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -.05em;
}
body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-account-note {
  margin-block: 16px 22px;
  font-size: 13px;
  color: var(--wknd-entry-polish-muted);
}
body.wknd-brand.wknd-screen-organizer-entry :where(.lg-input,.lg-phone-trigger,.lg-btn) {
  min-width: 0;
  min-height: 50px;
  font-size: 16px;
  line-height: 1.5;
}
body.wknd-brand.wknd-screen-organizer-entry .lg-input::placeholder {
  color: #82768a;
  opacity: 1;
}
body.wknd-brand.wknd-screen-organizer-entry .lg-label {
  color: var(--wknd-entry-polish-muted);
  line-height: 1.5;
}
body.wknd-brand.wknd-screen-organizer-entry .lg-btn {
  white-space: normal;
  transition: transform .16s ease, opacity .16s ease;
}
body.wknd-brand.wknd-screen-organizer-entry .lg-btn:not(:disabled):not([aria-disabled="true"]) {
  background: var(--wknd-entry-polish-action);
  color: #fffdf9;
}

/* Organizer setup: the same field-guide voice, without touching step gates. */
body.wknd-brand.wknd-screen-organizer-setup {
  font-family: var(--wknd-brand-font, var(--wknd-public-sans));
  background: #fffaf2;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-outer {
  width: 100%;
  max-width: 560px;
  padding-inline: clamp(18px, 5vw, 32px);
}
body.wknd-brand.wknd-screen-organizer-setup .sw-header {
  padding-block: 22px 14px;
  border-bottom: 1px solid #e7dfd9;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-logo {
  color: var(--wknd-entry-polish-action);
  letter-spacing: -.035em;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-prog {
  margin-block: 24px 32px;
  gap: 7px;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-seg {
  height: 5px;
  background: #e3daee;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-seg.on {
  background: var(--wknd-entry-polish-action);
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-h1,.sw-w0-hero-tag) {
  font-size: clamp(30px, 7.5vw, 40px);
  line-height: 1.12;
  letter-spacing: -.05em;
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-h1 em,.sw-lbl) {
  color: var(--wknd-entry-polish-action);
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-sub,.sw-w0-hero-sub) {
  color: var(--wknd-entry-polish-muted);
  font-size: 15px;
  line-height: 1.6;
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-fl,.sw-note,.sw-skip-btn,.sw-btn-back,.sw-w0-foot-note) {
  color: var(--wknd-entry-polish-muted);
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-inp,.sw-ig-inp-wrap) {
  min-width: 0;
  min-height: 54px;
  border-color: var(--wknd-entry-polish-line);
  background: #fffdf9;
  color: var(--wknd-entry-polish-ink);
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-inp,.sw-ig-bare)::placeholder {
  color: #82768a;
  opacity: 1;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-inp:focus {
  border-color: var(--wknd-entry-polish-action);
}
body.wknd-brand.wknd-screen-organizer-setup .sw-ig-inp-wrap:focus-within {
  border-color: var(--wknd-entry-polish-action);
}
body.wknd-brand.wknd-screen-organizer-setup :where(.sw-w0-tile,.sw-profile-card,.sw-ig-profile,.sw-inv-prev) {
  border: 1px solid #e3d9ec;
  background: #fffdf9;
  box-shadow: none;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-w0-tile {
  padding: 16px;
  border-radius: 14px;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-w0-bridge span {
  color: var(--wknd-entry-polish-muted);
  white-space: normal;
  text-align: center;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-foot {
  gap: 10px;
  background: #fffaf2;
  box-shadow: none;
  border-color: #e7dfd9;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-btn {
  min-height: 50px;
  font-size: 16px;
  line-height: 1.45;
  white-space: normal;
  transition: transform .16s ease, opacity .16s ease;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-btn-pri {
  background: var(--wknd-entry-polish-action);
  color: #fffdf9;
}
body.wknd-brand.wknd-screen-organizer-setup .sw-btn-pri:not(:disabled):not([aria-disabled="true"]):hover {
  background: var(--wknd-entry-polish-action-dark);
}
@media (max-width: 680px) {
  body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-card {
    border-radius: 0;
    box-shadow: none;
  }
  body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-card-body {
    padding: 20px clamp(18px, 5vw, 28px) 28px;
  }
  body.wknd-brand.wknd-entry-organizer.wknd-entry-auth.wknd-screen-organizer-entry .lg-wordmark {
    margin-bottom: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.wknd-screen-organizer-entry *,
  body.wknd-screen-organizer-setup * {
    transition: none !important;
  }
}
}
@media print {
  /* Screen-only paper, shadow and geometry are kept out of customer prints.
     Preserve a reliable white QR quiet zone without changing native sign sizes. */
  body.wknd-screen-craft { background: #fff !important; }
  body.wknd-screen-field-kit :where(.qr,.qr-frame) {
    background: #fff !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
