/*
 * WKND operational UI consistency layer.
 * Loaded after the bounded brand experience stylesheet. Presentation only:
 * no visibility, positioning, scrolling, sticky, overflow, or state behavior.
 */
body.wknd-brand {
  --wknd-ui-primary: #7050f4;
  --wknd-ui-primary-hover: #5940d2;
  --wknd-ui-paper: #fff9f4;
  --wknd-ui-card: #fffdfb;
  --wknd-ui-ink: #252344;
  --wknd-ui-muted: #625f78;
  --wknd-ui-line: #e9dfe8;
  --wknd-ui-focus: #945540;
  --wknd-ui-danger: #a12632;
  --wknd-ui-danger-wash: #fff1ef;
  --wknd-ui-success: #176344;
  --wknd-ui-success-wash: #eaf6ee;
  --wknd-ui-warning: #76500b;
  --wknd-ui-warning-wash: #fff5dc;
  --wknd-ui-control-radius: 10px;
  --wknd-ui-target: 44px;
  --wknd-ui-field-size: 16px;
  --wknd-ui-control-shadow: 0 1px 2px rgba(37, 35, 68, .06);
}

/* Operational shells only; public marketing, pricing, event discovery,
   vendor-benefit disclosures, and their footers are deliberately excluded. */
body.wknd-brand:where(.wknd-vendor-setup, .wknd-goer-account, .wknd-organizer-account),
body.wknd-brand:has(.vw-outer),
body.wknd-brand:has(.vh-top),
body.wknd-brand:has(.pay-shell),
body.wknd-brand:has(.rsvp-shell),
body.wknd-brand:has(#apply-form),
body.wknd-brand:has(.receipt-page),
body.wknd-brand:has(#review-list),
body.wknd-brand:has(#state-explanation),
body.wknd-brand:has(#preview #preview-name),
body.wknd-brand.wknd-flow.wknd-organizer-flow,
body.wknd-brand.wknd-flow.wknd-goer-flow {
  color: var(--wknd-ui-ink);
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif);
}

body.wknd-brand:has(.vw-outer),
body.wknd-brand:has(.vh-top),
body.wknd-brand:has(.pay-shell),
body.wknd-brand:has(.rsvp-shell),
body.wknd-brand:has(#apply-form),
body.wknd-brand:has(.receipt-page),
body.wknd-brand:has(#review-list),
body.wknd-brand:has(#state-explanation),
body.wknd-brand:has(#preview #preview-name),
body.wknd-brand.wknd-goer-account,
body.wknd-brand.wknd-organizer-account,
body.wknd-brand.wknd-flow.wknd-goer-flow {
  background-color: var(--wknd-ui-paper);
}

body.wknd-brand:where(.wknd-vendor-setup, .wknd-goer-account, .wknd-organizer-account) :where(h1, h2, h3, h4),
body.wknd-brand:has(.vw-outer) :where(h1, h2, h3, h4),
body.wknd-brand:has(.vh-top) :where(h1, h2, h3, h4),
body.wknd-brand:has(.pay-shell) :where(h1, h2, h3, h4),
body.wknd-brand:has(.rsvp-shell) :where(h1, h2, h3, h4),
body.wknd-brand:has(#apply-form) :where(h1, h2, h3, h4),
body.wknd-brand:has(.receipt-page) :where(h1, h2, h3, h4),
body.wknd-brand:has(#review-list) :where(h1, h2, h3, h4),
body.wknd-brand:has(#state-explanation) :where(h1, h2, h3, h4),
body.wknd-brand:has(#preview #preview-name) :where(h1, h2, h3, h4),
body.wknd-brand.wknd-flow.wknd-goer-flow :where(h1, h2, h3, h4),
body.wknd-brand.wknd-flow.wknd-organizer-flow #state-header :where(h1, h2, h3, h4) {
  color: var(--wknd-ui-ink);
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif) !important;
}

/* Common WKND navigation identity: role destinations and auth hooks stay intact.
   Exact identity selectors avoid touching portraits, profile art, and card media. */
body.wknd-brand :where(
  .wknd-brand-bar, .vw-header, .vs-header, .vh-top, .gn,
  .wknd-goer-account__header, .wknd-organizer-account__header,
  .receipt-page .topbar
) {
  min-height: 60px;
  border-bottom-color: var(--wknd-ui-line) !important;
  background-color: rgba(255, 249, 244, .97) !important;
}
body.wknd-brand :where(.wknd-brand-bar, .vw-header, .vs-header, .vh-top, .gn) {
  padding-block: 8px;
}
body.wknd-brand :where(
  .wknd-brand-bar .wknd-logo, .wknd-nav .wknd-logo, .vw-logo,
  .vw-w0-logo, .vs-logo, .vh-logo, .gn-brand,
  .wknd-goer-account__brand, .wknd-organizer-account__brand,
  .receipt-page .topbar-brand, .pay-shell > .brand, .rsvp-shell > .brand,
  #apply-form ~ .brand, .brand-bar .brand-wordmark
) {
  color: var(--wknd-ui-primary) !important;
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif) !important;
  font-style: normal;
  font-weight: 850;
  letter-spacing: -.045em;
}
body.wknd-brand :where(
  .wknd-brand-bar-context, .wknd-brand-bar-right, .vw-header-link,
  .gn-back, .wknd-goer-account__back, .wknd-organizer-account__back,
  .receipt-page .topbar a:not(.topbar-brand)
) {
  color: var(--wknd-ui-muted);
}
body.wknd-brand :where(
  .wknd-brand-bar-right, .vw-header-link, .gn-back,
  .wknd-goer-account__back, .wknd-organizer-account__back
) {
  min-height: var(--wknd-ui-target);
  display: inline-flex;
  align-items: center;
}
body.wknd-brand:has(#review-list) > header {
  min-height: 60px;
  padding: 10px clamp(16px, 4vw, 32px);
  border-bottom-color: var(--wknd-ui-line);
  background: var(--wknd-ui-card);
}
body.wknd-brand:has(#review-list) > header a { color: #4936bd; }

/* Explicit operational field controls only. Provider-owned Google widgets,
   checkboxes, radios, switches, and file pickers retain their own behavior. */
body.wknd-brand :where(
  .vw-inp, .vw-phone-inp, .vw-otp-inp,
  .vs-inp, .vs-textarea, .vs-ig-inp, .vs-cal-url-inp,
  .vh-field-input, .vh-field-textarea, .disc-search-input, .last-call-input,
  .gl-input, .ge-verify-input, .phone-input,
  .wknd-goer-account__input,
  .wknd-organizer-account__dialog input:not([type="checkbox"]):not([type="radio"]),
  .email-fallback input, #delete-confirmation, #review-filter,
  .pay-shell input:not([type="checkbox"]):not([type="radio"]),
  .pay-shell select, .rsvp-shell input:not([type="checkbox"]):not([type="radio"]),
  .rsvp-shell select, .rsvp-shell textarea,
  #apply-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  #apply-form select, #apply-form textarea,
  #gm-mission-control input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  #gm-mission-control select, #gm-mission-control textarea,
  #user-input
) {
  min-height: var(--wknd-ui-target);
  border: 1px solid #d8cfdd !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background-color: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink) !important;
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif) !important;
  font-size: var(--wknd-ui-field-size) !important;
  line-height: 1.4;
  box-shadow: inset 0 1px 1px rgba(37, 35, 68, .025);
}
body.wknd-brand :where(
  .vw-inp, .vw-phone-inp, .vw-otp-inp, .vs-inp, .vs-textarea, .vs-ig-inp,
  .vs-cal-url-inp, .vh-field-input, .vh-field-textarea, .disc-search-input,
  .last-call-input, .gl-input, .ge-verify-input, .phone-input,
  .wknd-goer-account__input, .wknd-organizer-account__dialog input,
  .email-fallback input, #delete-confirmation, #review-filter,
  .pay-shell input, .pay-shell select, .rsvp-shell input, .rsvp-shell select,
  .rsvp-shell textarea, #apply-form input, #apply-form select, #apply-form textarea,
  #gm-mission-control input, #gm-mission-control select, #gm-mission-control textarea,
  #user-input
)::placeholder {
  color: #77728a;
  opacity: 1;
}
body.wknd-brand :where(
  .vw-inp, .vw-phone-inp, .vw-otp-inp, .vs-inp, .vs-textarea, .vs-ig-inp,
  .vs-cal-url-inp, .vh-field-input, .vh-field-textarea, .disc-search-input,
  .last-call-input, .gl-input, .ge-verify-input, .phone-input,
  .wknd-goer-account__input, .wknd-organizer-account__dialog input,
  .email-fallback input, #delete-confirmation, #review-filter,
  .pay-shell input, .pay-shell select, .rsvp-shell input, .rsvp-shell select,
  .rsvp-shell textarea, #apply-form input, #apply-form select, #apply-form textarea,
  #gm-mission-control input, #gm-mission-control select, #gm-mission-control textarea,
  #user-input
):focus-visible {
  border-color: var(--wknd-ui-focus) !important;
  outline: 3px solid var(--wknd-ui-focus) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(96, 71, 223, .16) !important;
}
/* These role-scoped final rules outrank the existing brand-family overrides. */
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth :where(.vw-inp, .vw-phone-inp, .vw-otp-inp),
body.wknd-brand.wknd-vendor-setup :where(.vs-inp, .vs-textarea, .vs-ig-inp, .vs-cal-url-inp) {
  min-height: var(--wknd-ui-target) !important;
  border-color: #d8cfdd !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background-color: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink) !important;
  font-size: var(--wknd-ui-field-size) !important;
  box-shadow: inset 0 1px 1px rgba(37, 35, 68, .025) !important;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth :where(.vw-inp, .vw-phone-inp, .vw-otp-inp):focus-visible,
body.wknd-brand.wknd-vendor-setup :where(.vs-inp, .vs-textarea, .vs-ig-inp, .vs-cal-url-inp):focus-visible {
  outline: 3px solid var(--wknd-ui-focus) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(96, 71, 223, .16) !important;
}

/* Common button mechanics, restricted to known app control classes. */
body.wknd-brand :where(
  .vw-btn, .vs-btn-pri, .vs-btn-sec, .vs-private-choice, .vs-ig-scan-btn,
  .vh-public-auth a, .vh-account-shortcut button, .vh-account-top,
  .qa-primary, .qa-sec, .vh-readiness-action,
  .btn-apply, .btn-view, .btn-event-details, .btn-send-profile--wknd,
  .wknd-goer-account__button, .wknd-organizer-account__button,
  .gl-btn, .ge-cta, .ge-verify-btn, .apply-jump,
  .submit-btn, .decline-btn, .button, .text-button, .reapply,
  .cal-btn, .signin-cta, #refresh,
  #gm-mission-control .gm-share-btn,
  #gm-mission-control .gm-tc-act, #gm-mission-control .gm-lpf-act,
  #gm-mission-control .gm-ovw-command,
  #gm-mission-control .cc-rsvp-btn, #gm-mission-control .card-btn,
  #gm-mission-control .venue-choose-btn, #gm-mission-control .venue-confirm-btn,
  #send-btn
) {
  min-height: var(--wknd-ui-target);
  border-radius: var(--wknd-ui-control-radius);
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}
body.wknd-brand :where(
  .vw-btn-sec, .vw-btn-back, .vs-btn-sec,
  .qa-sec, .vh-account-top, .btn-view, .btn-event-details,
  .wknd-goer-account__button--secondary, .wknd-organizer-account__button--secondary,
  .ge-cta.sec, .text-button,
  .cal-btn-apple, .cal-btn-ical, .signin-cta,
  #gm-mission-control .gm-tc-act, #gm-mission-control .gm-lpf-act,
  #gm-mission-control .cc-rsvp-btn--ghost, #gm-mission-control .card-btn:not(.note-save),
  #gm-mission-control .venue-choose-btn
):not(:disabled):not([aria-disabled="true"]) {
  border: 1px solid #d8cfdd !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink) !important;
  box-shadow: var(--wknd-ui-control-shadow);
}
body.wknd-brand :where(
  .vw-btn-sec, .vw-btn-back, .vs-btn-sec, .qa-sec, .vh-account-top,
  .btn-view, .btn-event-details, .wknd-goer-account__button--secondary,
  .wknd-organizer-account__button--secondary, .ge-cta.sec, .text-button,
  .cal-btn-apple, .cal-btn-ical, .signin-cta,
  #gm-mission-control .gm-tc-act, #gm-mission-control .gm-lpf-act,
  #gm-mission-control .cc-rsvp-btn--ghost, #gm-mission-control .card-btn:not(.note-save),
  #gm-mission-control .venue-choose-btn
):not(:disabled):not([aria-disabled="true"]):hover {
  border-color: #b9add0 !important;
  background: #f7f2fa !important;
  color: var(--wknd-ui-ink) !important;
}

/* Only explicit primary actions are flattened to the approved violet. Semantic
   green/amber/error, destructive and decline actions are deliberately absent. */
body.wknd-brand :where(
  .wknd-btn-primary,
  .vw-btn-pri, .vs-btn-pri, .vs-ig-scan-btn,
  .vh-public-auth a:last-child, .vh-account-shortcut--messages button,
  .qa-primary, .vh-readiness-action, .btn-apply, .btn-send-profile--wknd,
  .wknd-goer-account__button--primary, .wknd-organizer-account__button--primary,
  .gl-btn, .ge-cta.pri:not(.cancel), .ge-verify-btn,
  .apply-jump, .submit-btn:not(.danger):not(.error):not(.decline-btn),
  .reapply, .button:not(.secondary), .receipt-page .signin-cta,
  #refresh, #gm-mission-control .gm-share-copy,
  #gm-mission-control #gm-share-copy, #gm-mission-control #gm-event-page-copy,
  #gm-mission-control .card-btn.note-save,
  #gm-mission-control .venue-confirm-btn,
  #send-btn
):not(:disabled):not([aria-disabled="true"]) {
  border: 1px solid var(--wknd-ui-primary) !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-primary) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.wknd-brand :where(
  .wknd-btn-primary,
  .vw-btn-pri, .vs-btn-pri, .vs-ig-scan-btn,
  .vh-public-auth a:last-child, .vh-account-shortcut--messages button,
  .qa-primary, .vh-readiness-action, .btn-apply, .btn-send-profile--wknd,
  .wknd-goer-account__button--primary, .wknd-organizer-account__button--primary,
  .gl-btn, .ge-cta.pri:not(.cancel), .ge-verify-btn,
  .apply-jump, .submit-btn:not(.danger):not(.error):not(.decline-btn),
  .reapply, .button:not(.secondary), .receipt-page .signin-cta,
  #refresh, #gm-mission-control .gm-share-copy,
  #gm-mission-control #gm-share-copy, #gm-mission-control #gm-event-page-copy,
  #gm-mission-control .card-btn.note-save,
  #gm-mission-control .venue-confirm-btn,
  #send-btn
):not(:disabled):not([aria-disabled="true"]):hover {
  border-color: var(--wknd-ui-primary-hover) !important;
  background: var(--wknd-ui-primary-hover) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 2px 5px rgba(57, 42, 129, .16) !important;
}
body.wknd-brand :where(
  .vw-btn, .vs-btn-pri, .vs-btn-sec, .vs-private-choice, .vs-ig-scan-btn,
  .vh-public-auth a, .vh-account-shortcut button, .vh-account-top,
  .qa-primary, .qa-sec, .vh-readiness-action, .btn-apply, .btn-view,
  .btn-event-details, .btn-send-profile--wknd, .wknd-goer-account__button,
  .wknd-organizer-account__button, .gl-btn, .ge-cta, .ge-verify-btn,
  .apply-jump, .submit-btn, .decline-btn, .button, .text-button, .reapply,
  .cal-btn, .signin-cta, #refresh, #gm-mission-control .gm-share-btn,
  #gm-mission-control .gm-tc-act, #gm-mission-control .gm-lpf-act,
  #gm-mission-control .gm-ovw-command, #gm-mission-control .cc-rsvp-btn,
  #gm-mission-control .card-btn, #gm-mission-control .venue-choose-btn,
  #gm-mission-control .venue-confirm-btn, #send-btn
):not(:disabled):not([aria-disabled="true"]):focus-visible {
  outline: 3px solid var(--wknd-ui-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(96, 71, 223, .16) !important;
}
body.wknd-brand :where(
  .vw-btn, .vs-btn-pri, .vs-btn-sec, .vs-private-choice, .vs-ig-scan-btn,
  .vh-public-auth a, .vh-account-shortcut button, .vh-account-top,
  .qa-primary, .qa-sec, .vh-readiness-action, .btn-apply, .btn-view,
  .btn-event-details, .btn-send-profile--wknd, .wknd-goer-account__button,
  .wknd-organizer-account__button, .gl-btn, .ge-cta, .ge-verify-btn,
  .apply-jump, .submit-btn, .decline-btn, .button, .text-button, .reapply,
  .cal-btn, .signin-cta, #refresh, #gm-mission-control .gm-share-btn,
  #gm-mission-control .gm-tc-act, #gm-mission-control .gm-lpf-act,
  #gm-mission-control .gm-ovw-command, #gm-mission-control .cc-rsvp-btn,
  #gm-mission-control .card-btn, #gm-mission-control .venue-choose-btn,
  #gm-mission-control .venue-confirm-btn, #send-btn
):disabled,
body.wknd-brand :where(
  .vw-btn, .vs-btn-pri, .vs-btn-sec, .vs-private-choice, .vs-ig-scan-btn,
  .vh-public-auth a, .vh-account-shortcut button, .vh-account-top,
  .qa-primary, .qa-sec, .vh-readiness-action, .btn-apply, .btn-view,
  .btn-event-details, .btn-send-profile--wknd, .wknd-goer-account__button,
  .wknd-organizer-account__button, .gl-btn, .ge-cta, .ge-verify-btn,
  .apply-jump, .submit-btn, .decline-btn, .button, .text-button, .reapply,
  .cal-btn, .signin-cta, #refresh, #gm-mission-control .gm-share-btn,
  #gm-mission-control .gm-tc-act, #gm-mission-control .gm-lpf-act,
  #gm-mission-control .gm-ovw-command, #gm-mission-control .cc-rsvp-btn,
  #gm-mission-control .card-btn, #gm-mission-control .venue-choose-btn,
  #gm-mission-control .venue-confirm-btn, #send-btn
)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
  box-shadow: none !important;
  transform: none;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth .vw-btn-pri:not(:disabled):not([aria-disabled="true"]),
body.wknd-brand.wknd-vendor-setup :where(.vs-btn-pri, .vs-ig-scan-btn):not(:disabled):not([aria-disabled="true"]),
body.wknd-brand.wknd-flow.wknd-goer-flow :where(.gl-btn, .ge-cta.pri:not(.cancel), .ge-verify-btn):not(:disabled):not([aria-disabled="true"]) {
  min-height: var(--wknd-ui-target) !important;
  border: 1px solid var(--wknd-ui-primary) !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-primary) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.wknd-brand.wknd-entry-vendor.wknd-entry-auth .vw-btn-pri:focus-visible,
body.wknd-brand.wknd-vendor-setup :where(.vs-btn-pri, .vs-ig-scan-btn):focus-visible,
body.wknd-brand.wknd-flow.wknd-goer-flow :where(.gl-btn, .ge-cta.pri, .ge-verify-btn):focus-visible {
  outline: 3px solid var(--wknd-ui-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(96, 71, 223, .16) !important;
}

/* Deliberate state meanings outrank shared neutral control styling. */
body.wknd-brand :where(.decline-btn, .ge-cta.cancel, .wknd-goer-account__button--danger,
  .wknd-organizer-account__button--danger, .deny, .danger, [data-tone="error"],
  .error, .err, .declined) {
  color: var(--wknd-ui-danger);
}
body.wknd-brand :where(.decline-btn, .ge-cta.cancel,
  .wknd-goer-account__button--danger, .wknd-organizer-account__button--danger,
  .deny):not(:disabled):not([aria-disabled="true"]) {
  border-color: #e5b8b6 !important;
  background: #fff8f6 !important;
  background-image: none !important;
  color: var(--wknd-ui-danger) !important;
  box-shadow: none !important;
}
body.wknd-brand :where(.status[data-tone="success"], .wknd-goer-account__status[data-tone="success"],
  .wknd-organizer-account__status[data-tone="success"], .success, .confirmed, .is-cleared) {
  color: var(--wknd-ui-success);
}
body.wknd-brand :where(.status[data-tone="warning"], .warning, .pending, .is-pending, .budget-warning) {
  color: var(--wknd-ui-warning);
}
body.wknd-brand :where(.error, .err, .err-box, .err-toast, .ge-verify-error,
  .wknd-goer-account__dialog-error, .wknd-organizer-account__dialog-error,
  .wknd-goer-account__status[data-tone="error"], .wknd-organizer-account__status[data-tone="error"]) {
  color: var(--wknd-ui-danger);
}

/* Vendor operations: neutralize utility panels, not the profile identity band,
   platform/source badges, schedule imagery, state pills, or modal behavior. */
body.wknd-brand:has(.vh-top) :where(
  .vh-stats, .vh-availability, .vh-social-card, .vh-account-shortcut,
  .momentum, .prof-strength, .vh-readiness, .vh-wb-banner, .vh-atile-row,
  .vh-modal, .vh-nd-modal, .vhsc-card, .vh-nd-card, .app-card, .app-empty,
  .inv-card, .vnd-spot-card, .vh-settings-card, .vh-panel-card
) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(.vh-top) :where(
  .vh-field-label, .vh-modal-title, .vh-nd-title, .app-card-title,
  .inv-title, .vnd-spot-title, .vh-settings-title
) { color: var(--wknd-ui-ink); }
body.wknd-brand:has(.vh-top) .vh-panel {
  background-color: var(--wknd-ui-paper);
}
body.wknd-brand:has(.vh-top) :where(.vh-modal-header, .vh-nd-header) {
  border-bottom-color: var(--wknd-ui-line);
  background-color: var(--wknd-ui-card);
}
body.wknd-brand:has(.vw-outer) :where(.vw-step, .vw-w0-tile, .vw-claim-success,
  .vw-claim-bar, .vw-link-err) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
}
body.wknd-brand.wknd-vendor-setup :where(.vs-cat-tile, .vs-mini-card, .vs-offering-card,
  .vs-ig-match, .vs-ig-review, .vs-rsvp-import, .vs-profile-states) {
  border-color: var(--wknd-ui-line) !important;
  border-radius: 12px !important;
  background-color: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink);
}
body.wknd-brand.wknd-vendor-setup .vs-cat-tile.selected {
  border-color: var(--wknd-ui-primary) !important;
  background: #f1edff !important;
}

/* Organizer workspace panels and messaging controls. Never rewrite tab state,
   active/selected styling, card visibility, modal placement, or status colors. */
body.wknd-brand.wknd-flow.wknd-organizer-flow {
  --wknd-organizer-account-violet: var(--wknd-ui-primary);
  --wknd-organizer-account-ink: var(--wknd-ui-ink);
  --wknd-organizer-account-muted: var(--wknd-ui-muted);
  --wknd-organizer-account-line: var(--wknd-ui-line);
  background-color: var(--wknd-ui-paper);
  color: var(--wknd-ui-ink);
}
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  #gm-mission-control, .gm-tabpanel, #gm-panel-share, #gm-panel-setup,
  #gm-panel-vendors, #gm-panel-pipeline, #gm-panel-radar, #gm-panel-payments,
  .gm-gwo-card, .gm-trust-card, .gm-launch-preflight, .gm-ovw-command,
  .gm-setup-launch, .gm-settings-card, .gm-message-card,
  .workspace-handoff-callout, .wknd-flow-card, .wknd-flow-state
) {
  border-color: var(--wknd-ui-line) !important;
  border-radius: 12px !important;
  background-color: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink);
}
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  .gm-gwo-title, .gm-gwo-sub, .gm-tabpanel h2, .gm-tabpanel h3,
  .gm-trust-card h3, .gm-launch-preflight h3, .gm-message-card h3,
  .workspace-handoff-callout
) { color: var(--wknd-ui-ink); }
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  #gm-mission-control .gm-share-btn, #gm-mission-control .gm-tc-act,
  #gm-mission-control .gm-lpf-act, #gm-mission-control .gm-ovw-command,
  #gm-mission-control .cc-rsvp-btn--ghost, #gm-mission-control .card-btn:not(.note-save),
  #gm-mission-control .venue-choose-btn, #gm-mission-control .cc-collapse-btn
):not(:disabled):not([aria-disabled="true"]) {
  border-color: #d8cfdd !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background-color: var(--wknd-ui-card) !important;
  background-image: none !important;
  color: #493d76 !important;
}
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  #gm-mission-control #gm-share-copy, #gm-mission-control #gm-event-page-copy,
  #gm-mission-control .card-btn.note-save, #gm-mission-control .venue-confirm-btn,
  #send-btn
):not(:disabled):not([aria-disabled="true"]) {
  border-color: var(--wknd-ui-primary) !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-primary) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  .note-status.ok, .wknd-share-feedback.is-success, .p90-status-pill.is-cleared
) { color: var(--wknd-ui-success); }
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  .note-status.err, .wknd-share-feedback.is-error
) { color: var(--wknd-ui-danger); }
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  .budget-warning, .p90-status-pill.is-pending
) { color: var(--wknd-ui-warning); }
body.wknd-brand.wknd-flow.wknd-organizer-flow :where(
  .p90-status-pill.is-cleared
) { background-color: var(--wknd-ui-success-wash); }
body.wknd-brand.wknd-flow.wknd-organizer-flow .budget-warning {
  background-color: var(--wknd-ui-warning-wash);
}

/* Goer account and registration tools. Selection, upcoming/past and
   verification/error meanings remain semantic and are not recolored. */
body.wknd-brand.wknd-goer-account {
  --wknd-goer-account-violet: var(--wknd-ui-primary);
  --wknd-goer-account-ink: var(--wknd-ui-ink);
  --wknd-goer-account-muted: var(--wknd-ui-muted);
  --wknd-goer-account-line: var(--wknd-ui-line);
  background-color: var(--wknd-ui-paper);
}
body.wknd-brand.wknd-goer-account :where(.wknd-goer-account__card, .wknd-goer-account__dialog) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 4px 18px rgba(37, 35, 68, .06);
}
body.wknd-brand.wknd-organizer-account {
  --wknd-organizer-account-violet: var(--wknd-ui-primary);
  --wknd-organizer-account-ink: var(--wknd-ui-ink);
  --wknd-organizer-account-muted: var(--wknd-ui-muted);
  --wknd-organizer-account-line: var(--wknd-ui-line);
}
body.wknd-brand.wknd-organizer-account :where(
  .wknd-organizer-account__card, .wknd-organizer-account__auth-card,
  .wknd-organizer-account__dialog
) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 4px 18px rgba(37, 35, 68, .06);
}
body.wknd-brand.wknd-goer-account :where(.wknd-goer-account__nav, .wknd-goer-account__nav a) {
  border-color: var(--wknd-ui-line);
  border-radius: var(--wknd-ui-control-radius);
}
body.wknd-brand.wknd-goer-account .wknd-goer-account__nav a[aria-current="page"] {
  background-color: #eee9ff;
  color: #4130a5;
}
body.wknd-brand.wknd-flow.wknd-goer-flow :where(.gl-task-link, .gl-card, .ge, .ge-verify) {
  border-color: var(--wknd-ui-line) !important;
  border-radius: 12px !important;
  background-color: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink);
  box-shadow: 0 3px 12px rgba(37, 35, 68, .045) !important;
}
body.wknd-brand.wknd-flow.wknd-goer-flow :where(.gl-title, .ge-name, .ge-empty-title, .ge-verify-title) {
  color: var(--wknd-ui-ink) !important;
}
body.wknd-brand.wknd-flow.wknd-goer-flow :where(.ge-cta.sec, .gl-help-details summary) {
  border-radius: var(--wknd-ui-control-radius);
}
body.wknd-brand.wknd-flow.wknd-goer-flow .ge-cta.cancel:not(:disabled) {
  border: 1px solid #e5b8b6 !important;
  background: #fff8f6 !important;
  color: var(--wknd-ui-danger) !important;
}

/* Vendor application, invite RSVP, payment and claim. Distinct payment-model
   panels (including .pay-card.talent), provider widgets and semantic states stay. */
body.wknd-brand:has(#apply-form) :where(.form-card, .org-card, .profile-draft-card, .profile-preview) {
  border-color: var(--wknd-ui-line) !important;
  border-radius: 12px !important;
  background-color: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink);
  box-shadow: 0 4px 18px rgba(37, 35, 68, .06) !important;
}
body.wknd-brand:has(#apply-form) :where(.form-card label, .org-name, .hero-title) {
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(#apply-form) .submit-btn:not(:disabled):not([aria-disabled="true"]) {
  min-height: var(--wknd-ui-target);
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-primary) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.wknd-brand:has(#scan-form) :where(.card, #scan-form) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(#scan-form) #scan-form input:not([type="hidden"]) {
  min-height: var(--wknd-ui-target);
  border: 1px solid #d8cfdd;
  border-radius: var(--wknd-ui-control-radius);
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif);
  font-size: var(--wknd-ui-field-size);
}
body.wknd-brand:has(#scan-form) #scan-form .submit:not(:disabled) {
  min-height: var(--wknd-ui-target);
  border: 1px solid var(--wknd-ui-primary);
  border-radius: var(--wknd-ui-control-radius);
  background: var(--wknd-ui-primary);
  background-image: none;
  color: #fff;
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif);
  font-size: 15px;
  font-weight: 700;
  box-shadow: none;
}
body.wknd-brand:has(#scan-form) #scan-form :where(input, .submit):focus-visible {
  outline: 3px solid var(--wknd-ui-focus);
  outline-offset: 3px;
}
body.wknd-brand:has(#scan-form) #status.error { color: var(--wknd-ui-danger); }
body.wknd-brand:has(#scan-form) #status.success { color: var(--wknd-ui-success); }
body.wknd-brand:has(.pay-shell) :where(.card, .submit-card) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 4px 18px rgba(37, 35, 68, .06);
}
body.wknd-brand:has(.pay-shell) :where(.event-title, .pay-title, .submit-help) {
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(.pay-shell) .pay-card { border-radius: 12px; }
body.wknd-brand:has(.pay-shell) .pay-card:not(.talent) {
  border-color: #d9bd73;
  background: #fff7e2;
}
body.wknd-brand:has(.pay-shell) .pay-card.talent {
  border-color: #b8addb;
  background: #f2effb;
}
body.wknd-brand:has(.pay-shell) :where(.pay-card:not(.talent) .pay-eyebrow, .pay-note) {
  color: #684500;
}
body.wknd-brand:has(.pay-shell) .pay-card.talent .pay-eyebrow,
body.wknd-brand:has(.pay-shell) .pay-card.talent .pay-note { color: #413783; }
body.wknd-brand:has(.pay-shell) .decline-btn:hover:not(:disabled) {
  border-color: #e5b8b6 !important;
  background: #fff1ef !important;
  color: var(--wknd-ui-danger) !important;
}
body.wknd-brand:has(.rsvp-shell) :where(.event-card, .form-card, .success-screen, .digital-pass) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 4px 18px rgba(37, 35, 68, .06);
}
body.wknd-brand:has(.rsvp-shell) :where(.event-title, .form-title, .pass-headline) {
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(.rsvp-shell) .submit-btn:not(:disabled):not([aria-disabled="true"]) {
  min-height: var(--wknd-ui-target);
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-primary) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.wknd-brand:has(.receipt-page) .receipt-page {
  color: var(--wknd-ui-ink) !important;
  background: var(--wknd-ui-paper) !important;
}
body.wknd-brand:has(.receipt-page) .receipt-page :where(.hdr-title, .detail-val, .card-label) {
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(.receipt-page) .receipt-page :where(.detail-lbl, .hdr-sub) {
  color: var(--wknd-ui-muted);
}
body.wknd-brand:has(.receipt-page) .receipt-page .check-ring {
  background: var(--wknd-ui-success-wash);
  color: var(--wknd-ui-success);
  box-shadow: none;
}
body.wknd-brand:has(.receipt-page) .receipt-page :where(.card, .signin-cta) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
}

/* Legacy private status/claim recovery documents have no page class. The
   unique IDs scope them precisely; long event/business values may wrap. */
body.wknd-brand:has(#state-explanation) {
  min-width: 0;
  color: var(--wknd-ui-ink);
  background-color: var(--wknd-ui-paper);
}
body.wknd-brand:has(#state-explanation) .card {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: min(430px, 100%);
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 5px 20px rgba(37, 35, 68, .07);
  overflow-wrap: anywhere;
}
body.wknd-brand:has(#state-explanation) :where(h1, p:not(.error)) {
  color: var(--wknd-ui-ink);
  overflow-wrap: anywhere;
}
body.wknd-brand:has(#state-explanation) .label { color: #4936bd; }
body.wknd-brand:has(#state-explanation) p.error { color: var(--wknd-ui-danger) !important; }
body.wknd-brand:has(#state-explanation) .declined {
  border-color: #e9c98a;
  background-color: var(--wknd-ui-warning-wash);
  color: #684500;
}
body.wknd-brand:has(#state-explanation) .reapply {
  min-height: var(--wknd-ui-target);
  border-radius: var(--wknd-ui-control-radius);
  background: var(--wknd-ui-primary);
  color: #fff;
}
body.wknd-brand:has(#preview #preview-name) .card {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(#preview #preview-name) .preview {
  border-color: var(--wknd-ui-line);
  border-radius: 10px;
  background-color: #fbf8fc;
}
body.wknd-brand:has(#preview #preview-name) :where(.button, .email-fallback) {
  border-radius: var(--wknd-ui-control-radius);
}
body.wknd-brand:has(#preview #preview-name) .button:not(:disabled):not([aria-disabled="true"]) {
  min-height: var(--wknd-ui-target);
  border: 1px solid var(--wknd-ui-primary);
  background: var(--wknd-ui-primary);
  color: #fff;
}
body.wknd-brand:has(#preview #preview-name) .email-fallback {
  border-color: var(--wknd-ui-line);
  background-color: #fbf8fc;
}
body.wknd-brand:has(#claim-btn) :where(#step-form, #step-loading, #step-preview, #step-auth, #step-success) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 5px 20px rgba(37, 35, 68, .07);
}
body.wknd-brand:has(#claim-btn) :where(.input, .auth-input, .input-wrap input) {
  min-height: var(--wknd-ui-target);
  border-width: 1px;
  border-color: #d8cfdd;
  border-radius: var(--wknd-ui-control-radius);
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif);
  font-size: var(--wknd-ui-field-size);
}
body.wknd-brand:has(#claim-btn) .btn-primary:not(:disabled):not([aria-disabled="true"]) {
  min-height: var(--wknd-ui-target);
  border-color: var(--wknd-ui-primary);
  border-radius: var(--wknd-ui-control-radius);
  background: var(--wknd-ui-primary);
  background-image: none;
  color: #fff;
  font-family: var(--wknd-brand-font, "Satoshi", ui-sans-serif, system-ui, sans-serif);
  font-size: 15px;
  box-shadow: none;
}
body.wknd-brand:has(#claim-btn) :where(.input, .auth-input, #claim-btn, .btn-primary):focus-visible {
  outline: 3px solid var(--wknd-ui-focus);
  outline-offset: 3px;
}

/* Registration claim UI shares the event-discovery document; scope narrowly
   to the registration card and leave discovery navigation/hero untouched. */
body.wknd-brand.wknd-events-flow :where(.ev-registration-claim, .ev-rsvp-sheet) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
}
body.wknd-brand.wknd-events-flow .ev-registration-claim :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: var(--wknd-ui-target);
  border: 1px solid #d8cfdd;
  border-radius: var(--wknd-ui-control-radius);
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  font-family: var(--wknd-brand-font);
  font-size: var(--wknd-ui-field-size);
}
body.wknd-brand.wknd-events-flow .ev-registration-claim :where(button, input, select, textarea):focus-visible {
  outline: 3px solid var(--wknd-ui-focus);
  outline-offset: 3px;
}

/* Admin review console has intentional deny/request decisions and status
   colors; align only its neutral surfaces and shared filter/refresh controls. */
body.wknd-brand:has(#review-list) {
  background-color: var(--wknd-ui-paper);
  color: var(--wknd-ui-ink);
}
body.wknd-brand:has(#review-list) :where(.guidance, .review) {
  border-color: var(--wknd-ui-line);
  border-radius: 12px;
  background-color: var(--wknd-ui-card);
  color: var(--wknd-ui-ink);
  box-shadow: 0 4px 18px rgba(37, 35, 68, .05);
}
body.wknd-brand:has(#review-list) :where(.guidance a, .meta a, header a) {
  color: #4936bd;
}
body.wknd-brand:has(#review-list) :where(.meta, .history, .confirm) { color: #514d65; }
body.wknd-brand:has(#review-list) button.deny {
  border-color: #e5b8b6;
  background: #fff8f6;
  color: var(--wknd-ui-danger);
}
body.wknd-brand:has(#review-list) button.request {
  border-color: #d8cfdd;
  background: #f4f0fa;
  color: #493d76;
}
body.wknd-brand:has(#review-list) .error { color: var(--wknd-ui-danger); }
body.wknd-brand:has(#review-list) .success { color: var(--wknd-ui-success); }

/* Intentional art/signage exception: retain high-contrast background, QR design,
   display-scale typography and print behavior; only stop mobile intrinsic spill.
   This selector is the display-only field_kit_display document, not scan forms. */
body.wknd-brand:has(.qr) .card {
  min-width: 0;
}
body.wknd-brand:has(.qr) .qr {
  width: min(430px, calc(100vw - 100px));
  max-width: 100%;
}
body.wknd-brand:has(.qr) #title {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.wknd-brand:has(.qr) .actions > * {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.wknd-brand:has(.qr) .url {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 480px) {
  body.wknd-brand :where(.wknd-brand-bar, .vw-header, .vs-header, .vh-top, .gn) {
    padding-inline: 12px;
  }
  body.wknd-brand:has(#state-explanation) { padding-inline: 16px; }
  body.wknd-brand:has(#state-explanation) .card { padding: 22px 18px; }
  body.wknd-brand:has(#preview #preview-name) .card { padding: 24px 18px; }
  body.wknd-brand:has(#review-list) main { padding-inline: 16px; }
  body.wknd-brand:has(#review-list) .toolbar > label { min-width: min(100%, 220px); }
}

@media print {
  /* Field-kit display remains a print-ready sign; do not recolor, hide, resize,
     or remove its printed QR/URL/actions here. Existing template print rules own it. */
  body.wknd-brand:has(.qr) .card,
  body.wknd-brand:has(.qr) .qr { box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.wknd-brand :where(
    .vw-btn, .vs-btn-pri, .vs-btn-sec, .vs-private-choice, .vs-ig-scan-btn,
    .vh-public-auth a, .vh-account-shortcut button, .qa-primary, .qa-sec,
    .wknd-goer-account__button, .wknd-organizer-account__button,
    .gl-btn, .ge-cta, .ge-verify-btn, .submit-btn, .button,
    #gm-mission-control .gm-share-btn, #gm-mission-control .card-btn
  ) { transition: none !important; }
}

/* Shared legacy primitives and the smaller join/sign-in/scan/venue entry flows.
   These explicit selectors close the gaps found by the full document sweep. */
body.wknd-brand .wknd-btn,
body.wknd-brand :where(.jn-go, .lg-btn, .lg-phone-trigger, .sc-btn, .sc-tab,
  .signin-card .btn-primary, .no-profile-card .btn-primary) {
  min-height: var(--wknd-ui-target);
  border-radius: var(--wknd-ui-control-radius) !important;
  font-family: var(--wknd-brand-font) !important;
  font-size: 15px;
  line-height: 1.4;
}
body.wknd-brand :where(.jn-input, .jn-select, .si-input, .lg-input, .lg-otp-input,
  .sc-input, .wknd-input),
body.wknd-brand:has(#new-venue) :where(#search, #status-filter) {
  box-sizing: border-box;
  min-height: var(--wknd-ui-target);
  border: 1px solid #d8cfdd !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink) !important;
  font: 400 16px/1.4 var(--wknd-brand-font) !important;
}
body.wknd-brand :where(.jn-go, .lg-btn, .sc-btn),
body.wknd-brand.wknd-public-entry .signin-card .btn-primary,
body.wknd-brand.wknd-entry-auth .btn-primary {
  border: 1px solid var(--wknd-ui-primary) !important;
  border-radius: var(--wknd-ui-control-radius) !important;
  background: var(--wknd-ui-primary) !important;
  color: #fff !important;
}
body.wknd-brand :where(.jn-go, .lg-btn, .sc-btn):not(:disabled):not([aria-disabled="true"]):hover,
body.wknd-brand.wknd-entry-auth .btn-primary:not(:disabled):not([aria-disabled="true"]):hover {
  background: var(--wknd-ui-primary-hover) !important;
}
body.wknd-brand .lg-phone-trigger,
body.wknd-brand:has(#new-venue) .button.button-quiet {
  border: 1px solid #d8cfdd !important;
  background: var(--wknd-ui-card) !important;
  color: var(--wknd-ui-ink) !important;
}
body.wknd-brand :where(.jn-input, .jn-select, .si-input, .lg-input, .lg-otp-input,
  .sc-input, .wknd-input, .jn-go, .lg-btn, .lg-phone-trigger, .sc-btn, .sc-tab):focus-visible,
body.wknd-brand:has(#new-venue) :where(#search, #status-filter):focus-visible {
  outline: 3px solid var(--wknd-ui-focus) !important;
  outline-offset: 3px !important;
  border-color: var(--wknd-ui-focus) !important;
}
body.wknd-brand :where(.jn-go, .lg-btn, .sc-btn):disabled,
body.wknd-brand :where(.jn-go, .lg-btn, .sc-btn)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
  box-shadow: none !important;
}
@media screen {
  /* Intrinsic grid tracks must not expand the sign beyond a phone viewport. */
  body.wknd-brand.wknd-field-kit-display > main {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }
  body.wknd-brand.wknd-field-kit-display .card { min-width: 0; }
  body.wknd-brand.wknd-field-kit-display :where(#title, .eyebrow, .url, .actions > *) {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
@media screen and (max-width: 900px) {
  /* Screen previews fit their viewport; millimetre print dimensions are intact. */
  body.wknd-brand > main.sheet,
  body.wknd-brand > main.kit,
  body.wknd-brand > main.kit > .page {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

/* A common keyboard ring also covers controls outside named component families.
   Provider iframes remain independent; validation takes precedence below. */
body.wknd-brand.wknd-brand :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--wknd-ui-focus) !important;
  outline-offset: 3px !important;
}

/* Field validity and locked/loading states outrank the neutral field palette. */
body.wknd-brand :where(input, select, textarea)[aria-invalid="true"],
body.wknd-brand :where(input.is-invalid, select.is-invalid, textarea.is-invalid) {
  border-color: var(--wknd-ui-danger) !important;
}
body.wknd-brand.wknd-brand :where(input, select, textarea)[aria-invalid="true"]:focus-visible {
  outline-color: var(--wknd-ui-danger) !important;
}
body.wknd-brand :where(input, select, textarea):disabled,
body.wknd-brand :where(input, select, textarea)[aria-disabled="true"] {
  background-color: #f1edf3 !important;
  color: var(--wknd-ui-muted) !important;
  cursor: not-allowed;
}
body.wknd-brand :where(input, textarea)[readonly] {
  background-color: #f7f3f7 !important;
  cursor: default;
}