/* Rush Events responsive design system — Patch 3 */
:root {
  --rush-pink: #ff2f92;
  --rush-pink-bright: #ff5aa8;
  --rush-violet: #9b6cff;
  --rush-cyan: #56d9ff;
  --rush-green: #4ee6a8;
  --rush-amber: #ffc766;
  --rush-red: #ff6b78;
  --rush-bg: #07070a;
  --rush-surface: rgba(255, 255, 255, .055);
  --rush-surface-strong: rgba(255, 255, 255, .085);
  --rush-border: rgba(255, 255, 255, .12);
  --rush-border-strong: rgba(255, 255, 255, .2);
  --rush-text: #f8f8fb;
  --rush-muted: rgba(248, 248, 251, .68);
  --rush-faint: rgba(248, 248, 251, .46);
  --rush-shadow: 0 24px 70px rgba(0, 0, 0, .38);
  --rush-shadow-soft: 0 14px 40px rgba(0, 0, 0, .26);
  --rush-radius-sm: .85rem;
  --rush-radius-md: 1.2rem;
  --rush-radius-lg: 1.65rem;
  --rush-radius-xl: 2rem;
  --rush-focus: 0 0 0 3px rgba(255, 47, 146, .28), 0 0 0 1px var(--rush-pink);
  --rush-nav-height: 4.5rem;
  --rush-announcement-height: 2.5rem;
  --rush-content-max: 88rem;
  --rush-sidebar-width: 15rem;
}

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .22) transparent;
}

*::-webkit-scrollbar { width: .7rem; height: .7rem; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .18); border: 3px solid transparent; background-clip: padding-box; border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .28); border: 3px solid transparent; background-clip: padding-box; }

html { background: var(--rush-bg); }
body.rush-ui {
  min-width: 320px;
  color: var(--rush-text);
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 47, 146, .12), transparent 28rem),
    radial-gradient(circle at 92% 16%, rgba(86, 217, 255, .08), transparent 32rem),
    linear-gradient(180deg, #07070a 0%, #09090d 52%, #050507 100%);
  font-family: "Space Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.rush-ui::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.015), transparent 40%, rgba(255,47,146,.025));
}

::selection { background: rgba(255, 47, 146, .85); color: #fff; }
img, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, [role="button"], a { -webkit-tap-highlight-color: transparent; }
button:not(:disabled), [role="button"], summary, select { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .62; }

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

.ui-skip-link {
  position: fixed;
  left: 1rem;
  top: .75rem;
  z-index: 99999;
  transform: translateY(-180%);
  border-radius: 999px;
  background: #fff;
  color: #09090d;
  padding: .72rem 1rem;
  font-weight: 700;
  transition: transform .16s ease;
}
.ui-skip-link:focus { transform: translateY(0); }

.ui-icon { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }
.ui-page-frame { position: relative; z-index: 1; min-height: 100dvh; }
.ui-main { min-height: 72dvh; }
.ui-main:focus { outline: none; }
.ui-main > section { position: relative; }
.ui-main > section > .max-w-7xl,
.ui-main > section > .max-w-6xl,
.ui-main > section > .max-w-5xl,
.ui-main > section > .max-w-4xl,
.ui-main > section > .max-w-3xl,
.ui-main > section > .max-w-2xl { width: 100%; }

.header-font, .ui-brand-mark { font-family: "Syncopate", "Space Grotesk", sans-serif; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
.header-font { letter-spacing: -.04em; line-height: 1.06; }
.tiny-label,
.ui-kicker,
.settings-label {
  color: var(--rush-faint) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Announcement */
.ui-announcement {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: var(--rush-announcement-height);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  background: linear-gradient(90deg, #c70066, #ff2f92 48%, #bf176e);
  box-shadow: 0 8px 30px rgba(0,0,0,.26);
}
.ui-announcement__inner {
  height: 100%;
  max-width: var(--rush-content-max);
  margin: 0 auto;
  padding: 0 max(1rem, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  font-size: .82rem;
  font-weight: 700;
}
.ui-announcement__icon { display: inline-flex; }
.ui-announcement__icon .ui-icon { width: .95rem; height: .95rem; }
.ui-announcement__text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-announcement__link {
  flex: 0 0 auto;
  padding: .32rem .7rem;
  border-radius: 999px;
  background: #fff;
  color: #08080b;
  font-size: .72rem;
  font-weight: 800;
}

/* Shared navigation */
.ui-brand { display: inline-flex; align-items: center; gap: .8rem; min-width: 0; }
.ui-brand-mark {
  display: inline-flex;
  align-items: baseline;
  color: #fff;
  font-size: clamp(1rem, 2vw, 1.35rem);
  font-weight: 800;
  font-style: italic;
  letter-spacing: -.055em;
  line-height: 1;
  white-space: nowrap;
}
.ui-brand-mark span { color: var(--rush-pink-bright); }
.ui-brand-caption {
  padding-left: .75rem;
  border-left: 1px solid var(--rush-border);
  color: var(--rush-faint);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ui-site-nav {
  position: fixed;
  inset-inline: 0;
  z-index: 70;
  height: var(--rush-nav-height);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(7, 7, 10, .82);
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
}
.ui-site-nav.top-0 { top: 0; }
.ui-site-nav.top-10 { top: var(--rush-announcement-height); }
.ui-site-nav__inner {
  max-width: var(--rush-content-max);
  height: 100%;
  margin: 0 auto;
  padding: 0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.ui-site-nav__desktop { display: none; align-items: center; justify-content: flex-end; gap: .2rem; min-width: 0; }
.ui-nav-link,
.ui-header-action {
  min-height: 2.65rem;
  border: 1px solid transparent;
  border-radius: .9rem;
  padding: .62rem .82rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  color: rgba(255,255,255,.7);
  font-size: .8rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
}
.ui-nav-link:hover,
.ui-header-action:hover { color: #fff; background: rgba(255,255,255,.06); }
.ui-nav-link.is-active,
.ui-header-action.is-active { color: #fff; background: rgba(255,47,146,.11); border-color: rgba(255,47,146,.25); }
.ui-nav-link--workspace { color: #d8c7ff; }
.ui-nav-link--muted, .ui-header-action--muted { color: rgba(255,255,255,.48); }
.ui-nav-cta {
  min-height: 2.75rem;
  padding: .68rem 1rem;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: #fff;
  color: #08080b;
  font-size: .8rem;
  font-weight: 800;
  white-space: nowrap;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.ui-nav-cta:hover { transform: translateY(-1px); background: #ffd9ec; border-color: #ffd9ec; }

.ui-menu-button,
.ui-icon-button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid var(--rush-border);
  border-radius: .95rem;
  background: rgba(255,255,255,.045);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .65rem .82rem;
  font-size: .78rem;
  font-weight: 750;
}
.ui-menu-button:hover, .ui-icon-button:hover { background: rgba(255,255,255,.09); border-color: var(--rush-border-strong); }
.ui-icon-button { padding: .65rem; }
.ui-icon-button .ui-icon { width: 1.2rem; height: 1.2rem; }

/* Staff shell */
.ui-staff-header {
  position: fixed;
  top: var(--ui-admin-top, 0px);
  left: 0;
  right: 0;
  z-index: 70;
  height: var(--rush-nav-height);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(7,7,10,.9);
  backdrop-filter: blur(22px) saturate(130%);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
}
.ui-staff-brand {
  display: none;
  position: fixed;
  top: var(--ui-admin-top, 0px);
  left: 0;
  z-index: 72;
  width: var(--rush-sidebar-width);
  height: var(--rush-nav-height);
  padding: 0 1.15rem;
  border-right: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(7,7,10,.96);
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: .3rem;
}
.ui-staff-brand .ui-brand-mark { font-size: 1rem; }
.ui-staff-brand .ui-brand-caption { padding: 0; border: 0; font-size: .62rem; }
.ui-staff-header__content {
  height: 100%;
  max-width: 112rem;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.ui-staff-header__identity { min-width: 0; display: flex; align-items: center; gap: .85rem; }
.ui-page-identity { min-width: 0; }
.ui-page-identity__eyebrow { display: none; margin: 0 0 .18rem; color: var(--rush-pink-bright); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ui-page-identity__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .96rem; font-weight: 700; }
.ui-staff-actions { display: none; align-items: center; gap: .15rem; }
.ui-header-action .ui-icon { width: .98rem; height: .98rem; }

.ui-staff-sidebar {
  position: fixed;
  top: calc(var(--ui-admin-top, 0px) + var(--rush-nav-height));
  bottom: 0;
  left: 0;
  z-index: 55;
  width: var(--rush-sidebar-width);
  border-right: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(180deg, rgba(13,13,18,.98), rgba(7,7,10,.98));
  box-shadow: 18px 0 50px rgba(0,0,0,.2);
}
.ui-staff-sidebar__inner { width: 100%; height: 100%; padding: 1rem .8rem .9rem; display: flex; flex-direction: column; }
.ui-staff-sidebar__status { padding: .2rem .35rem 1rem; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.ui-staff-sidebar__caption { margin-top: .22rem; color: rgba(255,255,255,.42); font-size: .72rem; }
.ui-live-badge { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid rgba(78,230,168,.24); border-radius: 999px; padding: .3rem .55rem; background: rgba(78,230,168,.07); color: #a7f6d6; font-size: .66rem; font-weight: 750; }
.ui-live-badge > span { width: .42rem; height: .42rem; border-radius: 50%; background: var(--rush-green); box-shadow: 0 0 0 4px rgba(78,230,168,.1); }
.ui-staff-nav { flex: 1; margin-top: .85rem; padding-right: .15rem; overflow-y: auto; overscroll-behavior: contain; }
.ui-nav-group + .ui-nav-group { margin-top: 1.05rem; }
.ui-nav-group__label { margin: 0 0 .38rem; padding: 0 .5rem; color: rgba(255,255,255,.36); font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ui-nav-group.is-active .ui-nav-group__label { color: rgba(255,151,199,.82); }
.ui-nav-group__items { display: grid; gap: .2rem; }
.ui-staff-nav-link {
  min-height: 2.65rem;
  padding: .58rem .64rem;
  border: 1px solid transparent;
  border-radius: .85rem;
  display: flex;
  align-items: center;
  gap: .65rem;
  color: rgba(255,255,255,.68);
  font-size: .78rem;
  font-weight: 620;
  line-height: 1.25;
  transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
}
.ui-staff-nav-link:hover { color: #fff; border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.045); }
.ui-staff-nav-link.is-active { color: #fff; border-color: rgba(255,47,146,.22); background: linear-gradient(90deg, rgba(255,47,146,.16), rgba(255,255,255,.035)); box-shadow: inset 3px 0 0 var(--rush-pink); }
.ui-staff-nav-link__icon { width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; border-radius: .62rem; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.045); color: rgba(255,255,255,.55); }
.ui-staff-nav-link__icon .ui-icon { width: .98rem; height: .98rem; }
.ui-staff-nav-link.is-active .ui-staff-nav-link__icon { background: rgba(255,47,146,.16); color: #ff9dca; }
.ui-staff-nav-link__text { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-staff-nav-link__arrow { opacity: 0; transform: translateX(-.25rem); transition: opacity .16s ease, transform .16s ease; }
.ui-staff-nav-link__arrow .ui-icon { width: .82rem; height: .82rem; }
.ui-staff-nav-link:hover .ui-staff-nav-link__arrow, .ui-staff-nav-link.is-active .ui-staff-nav-link__arrow { opacity: .65; transform: translateX(0); }

/* Mobile drawers */
.ui-mobile-overlay {
  position: fixed;
  inset: 0;
  z-index: 119;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ui-mobile-drawer {
  position: fixed;
  z-index: 120;
  top: 0;
  bottom: 0;
  width: min(90vw, 23rem);
  min-height: 100dvh;
  border-color: rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(12,12,17,.99), rgba(5,5,8,.995));
  box-shadow: 0 0 80px rgba(0,0,0,.55);
  display: flex;
  flex-direction: column;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), visibility .22s ease;
  will-change: transform;
}
.ui-mobile-drawer--left { left: 0; border-right-width: 1px; transform: translateX(0); }
.ui-mobile-drawer--left.\-translate-x-full { transform: translateX(-100%); }
.ui-mobile-drawer--right { right: 0; border-left-width: 1px; transform: translateX(100%); visibility: hidden; }
.ui-mobile-drawer--right.is-open { transform: translateX(0); visibility: visible; }
.ui-mobile-drawer__header {
  min-height: 4.7rem;
  padding: max(.9rem, env(safe-area-inset-top)) 1rem .9rem;
  border-bottom: 1px solid rgba(255,255,255,.09);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex: 0 0 auto;
}
.ui-mobile-drawer__quick { padding: .85rem 1rem; border-bottom: 1px solid rgba(255,255,255,.08); display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
.ui-mobile-drawer__quick .ui-staff-nav-link { justify-content: center; }
.ui-mobile-drawer__scroll { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; }
.ui-mobile-drawer__footer { flex: 0 0 auto; padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.09); display: grid; gap: .25rem; }
.ui-drawer-footer-link {
  width: 100%; min-height: 2.75rem; padding: .65rem .7rem; border-radius: .8rem; display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.68); font-size: .8rem; font-weight: 650; text-align: left;
}
.ui-drawer-footer-link:hover { background: rgba(255,255,255,.055); color: #fff; }
.ui-mobile-public-links { display: grid; align-content: start; gap: .45rem; }
.ui-mobile-nav-link {
  min-height: 3.25rem;
  padding: .76rem .9rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.82);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  font-size: .9rem;
  font-weight: 650;
  text-align: left;
}
.ui-mobile-nav-link:hover, .ui-mobile-nav-link.is-active { color: #fff; border-color: rgba(255,47,146,.3); background: rgba(255,47,146,.1); }
.ui-mobile-nav-link.is-primary { border-color: rgba(255,255,255,.8); background: #fff; color: #09090d; }
.ui-mobile-nav-link .ui-icon { width: 1rem; height: 1rem; }
.ui-mobile-nav-divider { height: 1px; margin: .45rem 0; background: rgba(255,255,255,.1); }
body.mobile-menu-open { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; overscroll-behavior: none; touch-action: none; }

/* Surfaces and cards */
.glass-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.026)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: var(--rush-shadow-soft) !important;
  backdrop-filter: blur(16px) saturate(115%);
  -webkit-backdrop-filter: blur(16px) saturate(115%);
}
a.glass-card,
button.glass-card { transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
a.glass-card:hover,
button.glass-card:hover { transform: translateY(-2px); border-color: rgba(255,47,146,.32) !important; box-shadow: 0 22px 60px rgba(0,0,0,.34) !important; }
.metric-card::after { opacity: .78; }
.metric-card > p:last-child { letter-spacing: -.045em; }
.code-chip {
  min-height: 2rem;
  padding: .35rem .68rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
}

/* Buttons */
.pill-primary,
.pill-secondary,
.pill-ghost {
  min-height: 2.8rem;
  padding: .68rem 1rem !important;
  border-radius: .95rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: .78rem !important;
  font-weight: 750 !important;
  letter-spacing: .035em !important;
  line-height: 1.1;
  text-transform: none !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.pill-primary { border: 1px solid transparent !important; background: linear-gradient(135deg, #ff2f92, #d80c72) !important; color: #fff !important; box-shadow: 0 12px 28px rgba(255,47,146,.2); }
.pill-primary:hover { transform: translateY(-1px); filter: none !important; background: linear-gradient(135deg, #ff58aa, #ee2185) !important; box-shadow: 0 15px 34px rgba(255,47,146,.28); }
.pill-secondary { border: 1px solid rgba(255,255,255,.9) !important; background: #fff !important; color: #09090d !important; }
.pill-secondary:hover { transform: translateY(-1px); border-color: #ffd4e8 !important; background: #ffd4e8 !important; color: #09090d !important; }
.pill-ghost { border: 1px solid rgba(255,255,255,.15) !important; background: rgba(255,255,255,.035) !important; color: rgba(255,255,255,.82) !important; }
.pill-ghost:hover { transform: translateY(-1px); border-color: rgba(255,47,146,.38) !important; background: rgba(255,47,146,.09) !important; color: #fff !important; }
.is-loading { position: relative; pointer-events: none; color: transparent !important; }
.is-loading::after {
  content: "";
  position: absolute;
  width: 1.05rem;
  height: 1.05rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  color: #fff;
  animation: ui-spin .7s linear infinite;
}
.pill-secondary.is-loading::after, .ui-nav-cta.is-loading::after { color: #09090d; }

/* Forms */
.field,
.settings-input,
.input-dark,
:where(.rush-ui main) input[type="text"],
:where(.rush-ui main) input[type="email"],
:where(.rush-ui main) input[type="password"],
:where(.rush-ui main) input[type="number"],
:where(.rush-ui main) input[type="tel"],
:where(.rush-ui main) input[type="url"],
:where(.rush-ui main) input[type="date"],
:where(.rush-ui main) input[type="datetime-local"],
:where(.rush-ui main) input[type="time"],
:where(.rush-ui main) input[type="search"],
:where(.rush-ui main) select,
:where(.rush-ui main) textarea {
  width: 100%;
  min-height: 3.05rem;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 1rem !important;
  background: rgba(5,5,8,.72) !important;
  color: #fff !important;
  padding: .78rem .95rem !important;
  line-height: 1.35;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
:where(.rush-ui main) textarea { min-height: 7.5rem; resize: vertical; }
.field:hover,
.settings-input:hover,
.input-dark:hover,
:where(.rush-ui main) input:hover,
:where(.rush-ui main) select:hover,
:where(.rush-ui main) textarea:hover { border-color: rgba(255,255,255,.22) !important; }
.field:focus,
.settings-input:focus,
.input-dark:focus,
:where(.rush-ui main) input:focus,
:where(.rush-ui main) select:focus,
:where(.rush-ui main) textarea:focus { border-color: rgba(255,47,146,.72) !important; background: rgba(10,10,14,.92) !important; box-shadow: var(--rush-focus) !important; }
:where(.rush-ui main) input::placeholder,
:where(.rush-ui main) textarea::placeholder { color: rgba(255,255,255,.34); opacity: 1; }
:where(.rush-ui main) select { appearance: none; padding-right: 2.6rem !important; background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,.7) 50%), linear-gradient(135deg, rgba(255,255,255,.7) 50%, transparent 50%) !important; background-position: calc(100% - 1.15rem) 50%, calc(100% - .8rem) 50% !important; background-size: .35rem .35rem, .35rem .35rem !important; background-repeat: no-repeat !important; }
:where(.rush-ui main) input[type="checkbox"],
:where(.rush-ui main) input[type="radio"] {
  width: 1.15rem;
  height: 1.15rem;
  min-height: 0;
  flex: 0 0 auto;
  accent-color: var(--rush-pink);
}
:where(.rush-ui main) input[type="file"] { padding: .6rem !important; }
:where(.rush-ui main) input[type="file"]::file-selector-button {
  min-height: 2.25rem; margin-right: .75rem; border: 1px solid rgba(255,255,255,.15); border-radius: .7rem; background: rgba(255,255,255,.08); color: #fff; padding: .45rem .72rem; font-weight: 700;
}
.error-copy, .ui-field-error { margin-top: .42rem; color: #ff9aaa !important; font-size: .8rem !important; font-weight: 650 !important; }
[aria-invalid="true"], .has-error .field { border-color: rgba(255,107,120,.72) !important; box-shadow: 0 0 0 3px rgba(255,107,120,.14) !important; }

/* Statuses */
.status-chip {
  min-height: 1.85rem;
  padding: .32rem .6rem !important;
  border-radius: 999px !important;
  font-size: .66rem !important;
  font-weight: 750 !important;
  letter-spacing: .035em !important;
  line-height: 1.1;
  text-transform: capitalize !important;
  white-space: nowrap;
}

/* Tables */
:where(.rush-ui main) table { width: 100%; border-collapse: separate; border-spacing: 0; }
:where(.rush-ui main) thead th {
  padding: .72rem .75rem !important;
  border-bottom: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.5) !important;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .055em !important;
  line-height: 1.25;
  text-transform: none !important;
  vertical-align: bottom;
  white-space: nowrap;
}
:where(.rush-ui main) tbody td { padding: .8rem .75rem !important; border-top: 1px solid rgba(255,255,255,.075); vertical-align: top; }
:where(.rush-ui main) tbody tr:first-child td { border-top: 0; }
:where(.rush-ui main) tbody tr { transition: background .14s ease; }
:where(.rush-ui main) tbody tr:hover { background: rgba(255,255,255,.022); }
.ui-table-shell { max-width: 100%; overflow-x: auto; border-radius: 1rem; }

/* Toasts */
.ui-toast-region {
  position: fixed;
  top: calc(var(--rush-nav-height) + 1rem);
  right: max(1rem, env(safe-area-inset-right));
  z-index: 110;
  width: min(92vw, 28rem);
  display: grid;
  gap: .65rem;
  pointer-events: none;
}
.ui-has-announcement .ui-toast-region { top: calc(var(--rush-announcement-height) + var(--rush-nav-height) + 1rem); }
.ui-toast {
  min-height: 3.5rem;
  padding: .8rem .8rem .8rem .9rem;
  border: 1px solid var(--rush-border);
  border-radius: 1rem;
  background: rgba(13,13,18,.96);
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
  backdrop-filter: blur(18px);
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: .72rem;
  pointer-events: auto;
  animation: ui-toast-in .24s ease both;
}
.ui-toast--success { border-color: rgba(78,230,168,.35); }
.ui-toast--error { border-color: rgba(255,107,120,.4); }
.ui-toast--warning { border-color: rgba(255,199,102,.4); }
.ui-toast--info { border-color: rgba(86,217,255,.34); }
.ui-toast__icon { width: 2rem; height: 2rem; border-radius: .7rem; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.06); }
.ui-toast--success .ui-toast__icon { color: var(--rush-green); background: rgba(78,230,168,.09); }
.ui-toast--error .ui-toast__icon { color: var(--rush-red); background: rgba(255,107,120,.09); }
.ui-toast--warning .ui-toast__icon { color: var(--rush-amber); background: rgba(255,199,102,.09); }
.ui-toast--info .ui-toast__icon { color: var(--rush-cyan); background: rgba(86,217,255,.09); }
.ui-toast__message { margin: 0; color: rgba(255,255,255,.9); font-size: .86rem; font-weight: 620; line-height: 1.35; }
.ui-toast__close { width: 2.25rem; height: 2.25rem; border-radius: .7rem; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.52); }
.ui-toast__close:hover { color: #fff; background: rgba(255,255,255,.06); }
.ui-toast.is-leaving { animation: ui-toast-out .18s ease both; }

/* Empty and feedback states */
.ui-empty-state {
  min-height: 12rem;
  border: 1px dashed rgba(255,255,255,.15);
  border-radius: var(--rush-radius-lg);
  background: rgba(255,255,255,.02);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  color: var(--rush-muted);
  text-align: center;
}
.ui-empty-state .ui-icon { width: 1.6rem; height: 1.6rem; color: var(--rush-pink-bright); }

/* Footer */
.ui-footer { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.1); background: rgba(4,4,7,.86); }
.ui-footer__inner { max-width: var(--rush-content-max); margin: 0 auto; padding: 3.5rem max(1rem, env(safe-area-inset-right)) 2.7rem max(1rem, env(safe-area-inset-left)); display: grid; gap: 2rem; }
.ui-footer__brand-column { max-width: 31rem; }
.ui-footer__summary { margin-top: 1.1rem; color: var(--rush-muted); max-width: 30rem; }
.ui-footer__venue { margin-top: 1.2rem; display: flex; align-items: flex-start; gap: .7rem; color: var(--rush-faint); font-size: .84rem; }
.ui-footer__venue > span { width: 2rem; height: 2rem; border-radius: .7rem; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.05); color: var(--rush-pink-bright); }
.ui-footer__heading { margin: 0 0 .85rem; color: rgba(255,255,255,.48); font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ui-footer__links { display: grid; gap: .55rem; }
.ui-footer__links a { width: fit-content; color: rgba(255,255,255,.72); font-size: .9rem; }
.ui-footer__links a:hover { color: #fff; }
.ui-footer__contact-link { display: inline-flex; align-items: center; gap: .55rem; color: #ff8fc2; font-size: .9rem; font-weight: 700; overflow-wrap: anywhere; }
.ui-footer__meta { margin-top: .65rem; color: var(--rush-faint); font-size: .84rem; }
.ui-footer__bottom { max-width: var(--rush-content-max); margin: 0 auto; padding: 1.2rem max(1rem, env(safe-area-inset-right)) calc(1.2rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); border-top: 1px solid rgba(255,255,255,.08); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 1.5rem; color: rgba(255,255,255,.38); font-size: .76rem; }

/* Page loader */
.ui-page-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(5,5,8,.66);
  backdrop-filter: blur(5px);
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .8rem;
}
.ui-page-loader.is-visible { display: flex; }
.ui-spinner { width: 2rem; height: 2rem; border: 3px solid rgba(255,255,255,.2); border-right-color: var(--rush-pink); border-radius: 50%; animation: ui-spin .72s linear infinite; }
.ui-page-loader__label { color: rgba(255,255,255,.78); font-size: .84rem; font-weight: 700; }

/* Common legacy class refinements */
.rounded-\[2rem\], .rounded-\[1\.8rem\], .rounded-\[1\.6rem\], .rounded-\[1\.5rem\], .rounded-\[1\.4rem\], .rounded-\[1\.25rem\] { overflow-wrap: anywhere; }
.page-copy { color: var(--rush-muted) !important; line-height: 1.75 !important; }
.card-image { background: #111118; }

/* Responsive behaviour */
@media (min-width: 768px) {
  .ui-site-nav__desktop { display: flex; }
  .ui-footer__inner { grid-template-columns: minmax(18rem, 1.5fr) repeat(3, minmax(8rem, .65fr)); }
  .ui-page-identity__eyebrow { display: block; }
}

@media (min-width: 1024px) {
  .ui-staff-brand { display: flex; }
  .ui-staff-header__content { padding-left: calc(var(--rush-sidebar-width) + 1.5rem); padding-right: 1.5rem; }
  .ui-staff-actions { display: flex; }
}

@media (max-width: 1023px) {
  .ui-staff-shell .ui-main > section { padding-left: 1rem !important; padding-right: 1rem !important; }
}

@media (max-width: 767px) {
  :root { --rush-nav-height: 4.25rem; }
  .ui-announcement__inner { justify-content: flex-start; font-size: .76rem; }
  .ui-announcement__link { margin-left: auto; }
  .ui-brand-caption { display: none; }
  .ui-main > section { padding-left: 1rem !important; padding-right: 1rem !important; padding-bottom: 3rem !important; }
  .ui-main > section.pt-32 { padding-top: 7rem !important; }
  .ui-has-announcement .ui-main > section.pt-32 { padding-top: 9.4rem !important; }
  .ui-staff-shell .ui-main > section.pt-32 { padding-top: 6.6rem !important; }
  .ui-staff-shell.ui-has-announcement .ui-main > section.pt-32 { padding-top: 9rem !important; }
  .header-font.text-4xl, .header-font.text-5xl, .header-font.text-6xl { font-size: clamp(2rem, 10vw, 3.2rem) !important; }
  .pill-primary, .pill-secondary, .pill-ghost { width: 100%; }
  .ui-toast-region { left: 1rem; right: 1rem; width: auto; }
  .ui-footer__inner { padding-top: 2.7rem; }
  .ui-footer__bottom { display: grid; }

  /* Convert data tables into readable record cards. */
  .ui-table-shell, .overflow-x-auto:has(> .ui-responsive-table), .overflow-auto:has(.ui-responsive-table) { overflow: visible !important; }
  table.ui-responsive-table { display: block !important; min-width: 0 !important; width: 100% !important; }
  .ui-responsive-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .ui-responsive-table tbody { display: grid !important; gap: .85rem; }
  .ui-responsive-table tbody tr {
    display: block !important;
    padding: .55rem .85rem !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 1.15rem !important;
    background: rgba(255,255,255,.035) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.2);
    opacity: 1 !important;
  }
  .ui-responsive-table tbody td {
    min-height: 2.6rem;
    padding: .62rem 0 !important;
    border-top: 1px solid rgba(255,255,255,.075) !important;
    display: grid !important;
    grid-template-columns: minmax(6.5rem, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: .8rem;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .ui-responsive-table tbody td:first-child { border-top: 0 !important; }
  .ui-responsive-table tbody td::before {
    content: attr(data-label);
    color: rgba(255,255,255,.43);
    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
  }
  .ui-responsive-table tbody td[data-ui-empty="1"] { display: block !important; color: var(--rush-muted); }
  .ui-responsive-table tbody td[data-ui-empty="1"]::before,
  .ui-responsive-table tbody td[data-label=""]::before { display: none; }
  .ui-responsive-table tbody td > .pill-primary,
  .ui-responsive-table tbody td > .pill-secondary,
  .ui-responsive-table tbody td > .pill-ghost { width: auto; min-width: 7rem; justify-self: start; }
}

@media (max-width: 420px) {
  .ui-announcement__icon { display: none; }
  .ui-announcement__link { font-size: .66rem; padding-inline: .55rem; }
  .ui-mobile-drawer { width: 94vw; }
  .ui-mobile-drawer__quick { grid-template-columns: 1fr; }
  .ui-responsive-table tbody td { grid-template-columns: 1fr; gap: .32rem; }
  .ui-responsive-table tbody td::before { margin-bottom: .05rem; }
}

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

@media (prefers-contrast: more) {
  :root { --rush-border: rgba(255,255,255,.28); --rush-border-strong: rgba(255,255,255,.5); --rush-muted: rgba(255,255,255,.84); --rush-faint: rgba(255,255,255,.68); }
  .glass-card { border-color: rgba(255,255,255,.28) !important; }
}

@media print {
  .ui-site-nav, .ui-staff-header, .ui-staff-sidebar, .ui-announcement, .ui-toast-region, .ui-footer, .noise, .ui-page-loader { display: none !important; }
  body.rush-ui { background: #fff !important; color: #000 !important; }
  .ui-page-frame { padding: 0 !important; }
  .glass-card { border: 1px solid #ccc !important; background: #fff !important; box-shadow: none !important; color: #000 !important; }
  a { color: #000 !important; text-decoration: none !important; }
}

@keyframes ui-spin { to { transform: rotate(360deg); } }
@keyframes ui-toast-in { from { opacity: 0; transform: translateY(-.5rem) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes ui-toast-out { to { opacity: 0; transform: translateY(-.35rem) scale(.98); } }

/* Guided patron checkout — Patch 5 */
.ui-checkout-page { min-height: 100dvh; }
.ui-checkout-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}
.ui-checkout-security {
  flex: 0 0 min(100%, 21rem);
  min-height: 4.25rem;
  border: 1px solid rgba(78, 230, 168, .24);
  border-radius: var(--rush-radius-md);
  padding: .9rem 1rem;
  display: flex;
  align-items: center;
  gap: .85rem;
  background: rgba(78, 230, 168, .07);
}
.ui-checkout-security > span {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(78, 230, 168, .16);
  color: var(--rush-green);
  font-weight: 900;
}
.ui-checkout-security strong,
.ui-checkout-security small { display: block; }
.ui-checkout-security small { margin-top: .15rem; color: var(--rush-muted); font-size: .78rem; }

.ui-checkout-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  padding: .55rem;
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-lg);
  background: rgba(255,255,255,.035);
  box-shadow: var(--rush-shadow-soft);
}
.ui-checkout-progress__step {
  min-width: 0;
  min-height: 4rem;
  border: 1px solid transparent;
  border-radius: 1.15rem;
  padding: .72rem .85rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .7rem;
  background: transparent;
  color: var(--rush-faint);
  text-align: left;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.ui-checkout-progress__step > span {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border: 1px solid var(--rush-border);
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.045);
  color: inherit;
  font-size: .78rem;
  font-weight: 800;
}
.ui-checkout-progress__step strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-checkout-progress__step.is-active {
  border-color: rgba(255,47,146,.32);
  background: rgba(255,47,146,.1);
  color: #fff;
}
.ui-checkout-progress__step.is-active > span { border-color: var(--rush-pink); background: var(--rush-pink); color: #fff; }
.ui-checkout-progress__step.is-complete { color: rgba(255,255,255,.72); }
.ui-checkout-progress__step.is-complete > span { border-color: rgba(78,230,168,.4); background: rgba(78,230,168,.12); color: var(--rush-green); }

.ui-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem);
  gap: 1.4rem;
  align-items: start;
}
.ui-checkout-form { min-width: 0; }
.ui-checkout-panel {
  scroll-margin-top: calc(var(--rush-nav-height) + var(--rush-announcement-height) + 1.5rem);
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-xl);
  padding: clamp(1.15rem, 3vw, 2rem);
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.028));
  box-shadow: var(--rush-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.ui-ready .ui-checkout-panel[hidden] { display: none !important; }
.ui-checkout-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.ui-checkout-panel__header h2 { margin-top: .35rem; font-size: clamp(1.5rem, 3vw, 2.15rem); font-weight: 800; letter-spacing: -.035em; }
.ui-field-label { display: block; color: rgba(255,255,255,.82); font-size: .82rem; font-weight: 750; }
.ui-field-help { margin-top: .48rem; color: var(--rush-faint); font-size: .78rem; line-height: 1.45; }
.ui-field-help.is-success { color: var(--rush-green); }
.ui-field-help.is-error { color: var(--rush-red); }

.ui-checkout-date-card {
  min-height: 4.75rem;
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-md);
  padding: .85rem 1rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  background: rgba(255,255,255,.035);
}
.ui-checkout-date-card > span {
  min-width: 3rem;
  border-radius: .8rem;
  padding: .55rem .45rem;
  background: rgba(255,47,146,.12);
  color: var(--rush-pink-bright);
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.ui-checkout-date-card strong,
.ui-checkout-date-card small { display: block; }
.ui-checkout-date-card small { margin-top: .15rem; color: var(--rush-muted); }

.ui-ticket-choice-grid { display: grid; gap: .8rem; }
.ui-ticket-choice {
  position: relative;
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-md);
  display: block;
  background: rgba(255,255,255,.032);
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ui-ticket-choice:hover:not(.is-disabled) { transform: translateY(-1px); border-color: var(--rush-border-strong); background: rgba(255,255,255,.055); }
.ui-ticket-choice.is-selected {
  border-color: rgba(255,47,146,.58);
  background: linear-gradient(135deg, rgba(255,47,146,.12), rgba(155,108,255,.07));
  box-shadow: 0 0 0 1px rgba(255,47,146,.14), 0 14px 35px rgba(0,0,0,.18);
}
.ui-ticket-choice.is-disabled { opacity: .52; cursor: not-allowed; }
.ui-ticket-choice > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.ui-ticket-choice > input:focus-visible + .ui-ticket-choice__body { box-shadow: inset var(--rush-focus); }
.ui-ticket-choice__body { display: block; border-radius: inherit; padding: 1rem; }
.ui-ticket-choice__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.ui-ticket-choice__top strong { font-size: 1.02rem; }
.ui-ticket-choice__top b { flex: 0 0 auto; color: var(--rush-pink-bright); font-size: 1rem; }
.ui-ticket-choice__body > small { display: block; margin-top: .4rem; color: var(--rush-muted); }
.ui-ticket-choice__meta { margin-top: .75rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.ui-ticket-choice__meta em {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  padding: .3rem .52rem;
  color: var(--rush-faint);
  font-size: .68rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}

.ui-checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ui-quantity-control {
  width: min(100%, 14rem);
  min-height: 3.15rem;
  border: 1px solid var(--rush-border);
  border-radius: 1rem;
  display: grid;
  grid-template-columns: 3rem minmax(3rem, 1fr) 3rem;
  overflow: hidden;
  background: rgba(255,255,255,.035);
}
.ui-quantity-control button {
  border: 0;
  background: rgba(255,255,255,.045);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 600;
}
.ui-quantity-control button:hover { background: rgba(255,255,255,.09); }
.ui-quantity-control input {
  width: 100%;
  min-width: 0;
  border: 0;
  border-inline: 1px solid var(--rush-border);
  background: transparent;
  color: #fff;
  text-align: center;
  font-weight: 800;
  appearance: textfield;
  -moz-appearance: textfield;
}
.ui-quantity-control input::-webkit-inner-spin-button,
.ui-quantity-control input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.ui-promo-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.ui-promo-control .pill-secondary { min-height: 3.15rem; }

.ui-checkout-note,
.ui-checkout-warning,
.ui-payment-provider,
.ui-checkout-countdown {
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-md);
  padding: 1rem;
  background: rgba(255,255,255,.035);
}
.ui-checkout-note strong,
.ui-checkout-warning strong,
.ui-payment-provider strong { display: block; color: #fff; }
.ui-checkout-note p,
.ui-checkout-warning p,
.ui-payment-provider p { margin-top: .3rem; color: var(--rush-muted); font-size: .86rem; }
.ui-checkout-warning { border-color: rgba(255,199,102,.26); background: rgba(255,199,102,.075); }
.ui-checkout-warning strong { color: #ffe0a4; }
.ui-payment-provider { display: flex; align-items: center; gap: 1rem; }
.ui-payment-provider__mark {
  width: 4.4rem;
  height: 3rem;
  flex: 0 0 auto;
  border-radius: .8rem;
  display: grid;
  place-items: center;
  background: #fff;
  color: #111;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.ui-checkout-countdown { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ui-checkout-countdown span { color: var(--rush-muted); }
.ui-checkout-countdown strong { color: var(--rush-cyan); }

.ui-review-list { border: 1px solid var(--rush-border); border-radius: var(--rush-radius-md); overflow: hidden; }
.ui-review-list > div {
  min-height: 3.4rem;
  padding: .75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: rgba(255,255,255,.025);
}
.ui-review-list > div + div { border-top: 1px solid var(--rush-border); }
.ui-review-list span { color: var(--rush-faint); font-size: .82rem; }
.ui-review-list strong { max-width: 68%; text-align: right; overflow-wrap: anywhere; }
.ui-consent-card {
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-md);
  padding: 1rem;
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  background: rgba(255,255,255,.035);
  transition: border-color .18s ease, background .18s ease;
}
.ui-consent-card:has(input:checked) { border-color: rgba(78,230,168,.38); background: rgba(78,230,168,.06); }
.ui-consent-card input { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; margin-top: .15rem; accent-color: var(--rush-pink); }
.ui-consent-card strong,
.ui-consent-card small { display: block; }
.ui-consent-card small { margin-top: .3rem; color: var(--rush-muted); line-height: 1.5; }
.ui-consent-card a { color: var(--rush-pink-bright); text-decoration: underline; text-underline-offset: .16em; }

.ui-checkout-actions {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rush-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.ui-checkout-pay-button { min-width: min(100%, 17rem); }
.ui-checkout-submit-error { display: none; margin-top: .9rem; color: var(--rush-red); font-size: .85rem; font-weight: 650; }
.ui-checkout-submit-error.is-visible { display: block; }
.ui-checkout-form.is-quoting { cursor: progress; }
.ui-checkout-form.is-quoting .ui-checkout-panel { opacity: .88; }

.ui-checkout-summary {
  position: sticky;
  top: calc(var(--rush-nav-height) + var(--rush-announcement-height) + 1rem);
  border: 1px solid var(--rush-border);
  border-radius: var(--rush-radius-xl);
  overflow: hidden;
  background: rgba(13,13,18,.92);
  box-shadow: var(--rush-shadow);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.ui-no-announcement .ui-checkout-summary { top: calc(var(--rush-nav-height) + 1rem); }
.ui-checkout-summary__hero { position: relative; min-height: 12rem; display: flex; align-items: flex-end; overflow: hidden; background: linear-gradient(135deg, rgba(255,47,146,.24), rgba(155,108,255,.12)); }
.ui-checkout-summary__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 5%, rgba(7,7,10,.35) 48%, rgba(7,7,10,.96) 100%); }
.ui-checkout-summary__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ui-checkout-summary__hero > div { position: relative; z-index: 1; width: 100%; padding: 1.2rem; }
.ui-checkout-summary__hero h2 { margin-top: .35rem; font-size: 1.45rem; font-weight: 850; }
.ui-checkout-summary__hero p:last-child { margin-top: .35rem; color: var(--rush-muted); font-size: .82rem; }
.ui-checkout-summary__rows { padding: .35rem 1.15rem; }
.ui-checkout-summary__rows > div { min-height: 3rem; border-bottom: 1px solid var(--rush-border); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ui-checkout-summary__rows span { color: var(--rush-faint); font-size: .8rem; }
.ui-checkout-summary__rows strong { max-width: 62%; text-align: right; overflow-wrap: anywhere; }
.ui-checkout-summary__rows > div[hidden] { display: none; }
.ui-checkout-summary__rows .ui-checkout-summary__total { min-height: 4rem; border-bottom: 0; }
.ui-checkout-summary__total span,
.ui-checkout-summary__total strong { color: #fff; font-size: 1.08rem; }
.ui-checkout-summary__total strong { color: var(--rush-pink-bright); font-size: 1.35rem; }
.ui-checkout-summary__footer { margin: 0 1rem 1rem; border: 1px solid rgba(86,217,255,.17); border-radius: 1rem; padding: .8rem; display: flex; align-items: flex-start; gap: .6rem; background: rgba(86,217,255,.05); }
.ui-checkout-summary__footer p { color: var(--rush-muted); font-size: .72rem; line-height: 1.45; }
.ui-checkout-cancel { width: 100%; border: 0; border-top: 1px solid var(--rush-border); padding: .9rem 1rem; background: transparent; color: var(--rush-faint); font-size: .78rem; font-weight: 700; }
.ui-checkout-cancel:hover { color: var(--rush-red); background: rgba(255,107,120,.05); }

@media (max-width: 900px) {
  .ui-checkout-heading { align-items: flex-start; flex-direction: column; }
  .ui-checkout-security { flex-basis: auto; width: 100%; }
  .ui-checkout-grid { grid-template-columns: minmax(0, 1fr); }
  .ui-checkout-summary { position: static; order: -1; }
  .ui-checkout-summary__hero { min-height: 9rem; }
}

@media (max-width: 640px) {
  .ui-checkout-page { padding-inline: .8rem !important; }
  .ui-checkout-progress { gap: .25rem; padding: .35rem; border-radius: 1.2rem; }
  .ui-checkout-progress__step { min-height: 3.35rem; justify-content: center; padding: .45rem; border-radius: .9rem; }
  .ui-checkout-progress__step > span { width: 1.8rem; height: 1.8rem; }
  .ui-checkout-progress__step strong { display: none; }
  .ui-checkout-panel { border-radius: 1.45rem; padding: 1rem; }
  .ui-checkout-panel__header { align-items: flex-start; }
  .ui-checkout-panel__header .code-chip,
  .ui-checkout-panel__header .status-chip { max-width: 44%; text-align: right; }
  .ui-checkout-fields { grid-template-columns: minmax(0, 1fr); }
  .ui-promo-control { grid-template-columns: minmax(0, 1fr); }
  .ui-promo-control .pill-secondary { width: 100%; }
  .ui-quantity-control { width: 100%; }
  .ui-ticket-choice__top { align-items: center; }
  .ui-ticket-choice__meta { gap: .3rem; }
  .ui-review-list > div { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .ui-review-list strong { max-width: 100%; text-align: left; }
  .ui-checkout-actions { align-items: stretch; flex-direction: column-reverse; }
  .ui-checkout-actions > * { width: 100%; justify-content: center; }
  .ui-checkout-pay-button { min-width: 0; }
  .ui-payment-provider { align-items: flex-start; }
  .ui-checkout-countdown { align-items: flex-start; flex-direction: column; gap: .2rem; }
}

/* ================================================================
   PATCH 6: PATRON WORKSPACE
   Dedicated desktop shell, phone navigation, smart dashboard,
   ticket wallet, orders, guestlist, profile and support experience.
   ================================================================ */
:root {
  --patron-header-height: 4.85rem;
  --patron-bottom-height: 4.65rem;
  --patron-panel: rgba(15, 15, 22, .82);
  --patron-panel-strong: rgba(20, 20, 29, .96);
  --patron-line: rgba(255, 255, 255, .105);
}

body.ui-patron-shell {
  background:
    radial-gradient(circle at 10% 4%, rgba(255,47,146,.15), transparent 27rem),
    radial-gradient(circle at 92% 10%, rgba(86,217,255,.09), transparent 32rem),
    linear-gradient(180deg, #08080c 0%, #09090e 55%, #050507 100%);
}
body.ui-patron-shell.ui-drawer-open { overflow: hidden; }
body.ui-patron-shell .ui-main { min-height: 100dvh; }

/* Patron workspace header */
.ui-patron-header {
  position: fixed;
  inset: var(--ui-patron-top, 0) 0 auto;
  z-index: 76;
  height: var(--patron-header-height);
  border-bottom: 1px solid var(--patron-line);
  background: rgba(7,7,11,.84);
  box-shadow: 0 12px 38px rgba(0,0,0,.28);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}
.ui-patron-header__inner {
  width: min(100%, var(--rush-content-max));
  height: 100%;
  margin: 0 auto;
  padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.ui-patron-brand { display: inline-flex; align-items: center; gap: .8rem; min-width: max-content; }
.ui-patron-desktop-nav { display: flex; align-items: center; justify-content: center; gap: .25rem; min-width: 0; }
.ui-patron-nav-link {
  min-height: 2.75rem;
  border: 1px solid transparent;
  border-radius: .92rem;
  padding: .62rem .78rem;
  display: inline-flex;
  align-items: center;
  gap: .46rem;
  color: var(--rush-muted);
  font-size: .8rem;
  font-weight: 680;
  line-height: 1;
  white-space: nowrap;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}
.ui-patron-nav-link:hover { color: #fff; border-color: rgba(255,255,255,.09); background: rgba(255,255,255,.055); }
.ui-patron-nav-link.is-active { color: #fff; border-color: rgba(255,47,146,.28); background: linear-gradient(135deg, rgba(255,47,146,.16), rgba(155,108,255,.08)); }
.ui-patron-nav-link .ui-icon { width: 1rem; height: 1rem; }
.ui-patron-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; min-width: max-content; }
.ui-patron-buy-button,
.ui-patron-primary-action,
.ui-patron-secondary-action {
  min-height: 2.9rem;
  border-radius: .95rem;
  padding: .72rem 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .52rem;
  font-size: .8rem;
  font-weight: 780;
  line-height: 1.1;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.ui-patron-buy-button,
.ui-patron-primary-action {
  border: 1px solid rgba(255,90,168,.38);
  color: #fff;
  background: linear-gradient(135deg, #df1779, #ff2f92 58%, #ca1c78);
  box-shadow: 0 12px 28px rgba(255,47,146,.18);
}
.ui-patron-buy-button:hover,
.ui-patron-primary-action:hover { transform: translateY(-1px); box-shadow: 0 16px 34px rgba(255,47,146,.26); }
.ui-patron-primary-action--wide { width: 100%; }
.ui-patron-secondary-action {
  border: 1px solid var(--patron-line);
  color: #fff;
  background: rgba(255,255,255,.055);
}
.ui-patron-secondary-action:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.085); }
.ui-patron-account-button {
  min-height: 3rem;
  border: 1px solid var(--patron-line);
  border-radius: 1rem;
  padding: .38rem .6rem .38rem .4rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #fff;
  background: rgba(255,255,255,.04);
}
.ui-patron-account-button:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.07); }
.ui-patron-avatar {
  width: 2.15rem;
  height: 2.15rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .75rem;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, rgba(255,47,146,.95), rgba(155,108,255,.88));
  box-shadow: 0 7px 18px rgba(255,47,146,.18);
  font-size: .78rem;
  font-weight: 850;
}
.ui-patron-avatar--large { width: 3rem; height: 3rem; border-radius: 1rem; font-size: 1rem; }
.ui-patron-account-copy { display: flex; flex-direction: column; line-height: 1.1; }
.ui-patron-account-copy strong { max-width: 7rem; overflow: hidden; text-overflow: ellipsis; font-size: .78rem; white-space: nowrap; }
.ui-patron-account-copy small { margin-top: .18rem; color: var(--rush-faint); font-size: .66rem; }

/* Phone navigation and More sheet */
.ui-patron-bottom-nav { display: none; }
.ui-patron-more-drawer {
  position: fixed;
  z-index: 111;
  inset: auto 0 0;
  max-height: min(88dvh, 47rem);
  border: 1px solid rgba(255,255,255,.14);
  border-bottom: 0;
  border-radius: 1.7rem 1.7rem 0 0;
  padding-bottom: max(.9rem, env(safe-area-inset-bottom));
  overflow: auto;
  color: #fff;
  background: rgba(10,10,15,.985);
  box-shadow: 0 -24px 75px rgba(0,0,0,.52);
  transform: translateY(108%);
  visibility: hidden;
  transition: transform .24s cubic-bezier(.22,.78,.2,1), visibility .24s linear;
}
.ui-patron-more-drawer.is-open { transform: translateY(0); visibility: visible; }
.ui-patron-more-title { margin-top: .15rem; font-size: 1.12rem; font-weight: 820; }
.ui-patron-more-profile { margin: .1rem 1rem 1rem; border: 1px solid var(--patron-line); border-radius: 1.15rem; padding: .85rem; display: flex; align-items: center; gap: .75rem; background: rgba(255,255,255,.035); }
.ui-patron-more-profile div { min-width: 0; display: flex; flex-direction: column; }
.ui-patron-more-profile strong,
.ui-patron-more-profile small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-patron-more-profile strong { font-size: .9rem; }
.ui-patron-more-profile small { margin-top: .2rem; color: var(--rush-muted); font-size: .73rem; }
.ui-patron-more-links { margin-inline: 1rem; border: 1px solid var(--patron-line); border-radius: 1.15rem; overflow: hidden; background: rgba(255,255,255,.025); }
.ui-patron-more-links > a { min-height: 4.25rem; padding: .75rem .85rem; display: grid; grid-template-columns: 1.25rem minmax(0,1fr) 1rem; align-items: center; gap: .7rem; color: #fff; }
.ui-patron-more-links > a + a { border-top: 1px solid var(--patron-line); }
.ui-patron-more-links > a:hover { background: rgba(255,255,255,.055); }
.ui-patron-more-links > a > .ui-icon:first-child { color: var(--rush-pink-bright); }
.ui-patron-more-links span { min-width: 0; display: flex; flex-direction: column; }
.ui-patron-more-links strong { font-size: .84rem; }
.ui-patron-more-links small { margin-top: .2rem; color: var(--rush-muted); font-size: .7rem; line-height: 1.35; }
.ui-patron-more-footer { padding: 1rem; display: grid; gap: .55rem; }
.ui-patron-more-footer form { margin: 0; }
.ui-patron-more-action { width: 100%; min-height: 3.25rem; border: 1px solid var(--patron-line); border-radius: .95rem; padding: .7rem .85rem; display: flex; align-items: center; gap: .65rem; color: #fff; background: rgba(255,255,255,.04); font-size: .8rem; font-weight: 720; }
.ui-patron-more-action:hover { background: rgba(255,255,255,.075); }
.ui-patron-more-action--danger { color: #ff9aa3; border-color: rgba(255,107,120,.2); background: rgba(255,107,120,.045); }

/* Page frame and common patron components */
.ui-patron-page {
  min-height: 100dvh;
  padding: calc(var(--patron-header-height) + var(--rush-announcement-height) + 2.2rem) max(1rem, env(safe-area-inset-right)) 4rem max(1rem, env(safe-area-inset-left));
}
.ui-no-announcement .ui-patron-page { padding-top: calc(var(--patron-header-height) + 2.2rem); }
.ui-patron-container { width: min(100%, 79rem); margin-inline: auto; }
.ui-patron-container--narrow { width: min(100%, 64rem); }
.ui-patron-page-header { margin-bottom: 1.8rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1.2rem; }
.ui-patron-page-header h1 { margin-top: .28rem; font-size: clamp(1.85rem, 4vw, 3rem); font-weight: 880; letter-spacing: -.045em; line-height: 1.04; }
.ui-patron-page-header p:not(.ui-patron-eyebrow) { max-width: 43rem; margin-top: .55rem; color: var(--rush-muted); }
.ui-patron-eyebrow,
.ui-patron-kicker { color: var(--rush-pink-bright); font-size: .69rem; font-weight: 780; letter-spacing: .13em; line-height: 1.25; text-transform: uppercase; }
.ui-patron-section { margin-top: 2rem; }
.ui-patron-section__heading { margin-bottom: 1rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.ui-patron-section__heading h2 { margin-top: .25rem; font-size: clamp(1.12rem, 2vw, 1.42rem); font-weight: 820; letter-spacing: -.025em; }
.ui-patron-section__heading > a { display: inline-flex; align-items: center; gap: .35rem; color: var(--rush-pink-bright); font-size: .76rem; font-weight: 720; }
.ui-patron-panel {
  border: 1px solid var(--patron-line);
  border-radius: 1.45rem;
  padding: 1.15rem;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: var(--rush-shadow-soft);
}
.ui-patron-panel--large { min-width: 0; }
.ui-patron-panel__copy { margin-top: .8rem; color: var(--rush-muted); font-size: .82rem; line-height: 1.55; }
.ui-patron-status {
  width: fit-content;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: .34rem .62rem;
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  color: #fff;
  background: rgba(255,255,255,.055);
  font-size: .66rem;
  font-weight: 760;
  line-height: 1.15;
  white-space: nowrap;
}
.ui-patron-status--success,
.ui-patron-status--green,
.ui-patron-status--approved,
.ui-patron-status--paid { border-color: rgba(78,230,168,.28); color: #91f6cd; background: rgba(78,230,168,.085); }
.ui-patron-status--warning,
.ui-patron-status--pending,
.ui-patron-status--amber,
.ui-patron-status--processing,
.ui-patron-status--new { border-color: rgba(255,199,102,.3); color: #ffdc9a; background: rgba(255,199,102,.085); }
.ui-patron-status--info,
.ui-patron-status--blue { border-color: rgba(86,217,255,.28); color: #9fe9ff; background: rgba(86,217,255,.075); }
.ui-patron-status--danger,
.ui-patron-status--red,
.ui-patron-status--rejected,
.ui-patron-status--declined { border-color: rgba(255,107,120,.28); color: #ffa5ad; background: rgba(255,107,120,.08); }
.ui-patron-status--muted,
.ui-patron-status--neutral { color: var(--rush-muted); }
.ui-patron-alert { margin-bottom: 1rem; border: 1px solid var(--patron-line); border-radius: 1.1rem; padding: .85rem 1rem; display: flex; align-items: flex-start; gap: .65rem; font-size: .8rem; line-height: 1.5; }
.ui-patron-alert--info { border-color: rgba(86,217,255,.24); background: rgba(86,217,255,.065); }
.ui-patron-alert--warning { border-color: rgba(255,199,102,.27); background: rgba(255,199,102,.065); }
.ui-patron-info-strip { margin-top: 1rem; border: 1px solid rgba(86,217,255,.17); border-radius: 1rem; padding: .8rem; display: flex; align-items: flex-start; gap: .6rem; color: var(--rush-muted); background: rgba(86,217,255,.045); font-size: .75rem; line-height: 1.48; }
.ui-patron-breadcrumbs { margin-bottom: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .42rem; color: var(--rush-faint); font-size: .75rem; }
.ui-patron-breadcrumbs a { color: var(--rush-muted); }
.ui-patron-breadcrumbs a:hover { color: #fff; }
.ui-patron-empty-state { min-height: 10rem; border: 1px dashed rgba(255,255,255,.15); border-radius: 1.2rem; padding: 1.3rem; display: grid; place-items: center; align-content: center; gap: .38rem; text-align: center; color: var(--rush-muted); background: rgba(255,255,255,.018); }
.ui-patron-empty-state > span { width: 2.6rem; height: 2.6rem; border-radius: .9rem; display: grid; place-items: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.1); }
.ui-patron-empty-state strong { color: #fff; font-size: .9rem; }
.ui-patron-empty-state p { max-width: 27rem; font-size: .78rem; }
.ui-patron-empty-state--large { min-height: 16rem; }

/* Dashboard */
.ui-next-ticket {
  position: relative;
  min-height: 17rem;
  border: 1px solid rgba(255,90,168,.23);
  border-radius: 1.8rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(14rem, 20rem);
  align-items: end;
  gap: 1.5rem;
  background:
    linear-gradient(112deg, rgba(7,7,11,.95) 8%, rgba(18,10,20,.92) 58%, rgba(21,13,28,.9)),
    radial-gradient(circle at 90% 0, rgba(155,108,255,.25), transparent 23rem);
  box-shadow: 0 28px 75px rgba(0,0,0,.38);
}
.ui-next-ticket__glow { position: absolute; width: 24rem; height: 24rem; right: -8rem; top: -11rem; border-radius: 50%; background: radial-gradient(circle, rgba(255,47,146,.27), transparent 68%); filter: blur(12px); pointer-events: none; }
.ui-next-ticket__content,
.ui-next-ticket__action { position: relative; z-index: 1; }
.ui-next-ticket__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.ui-next-ticket h2 { margin-top: .9rem; max-width: 15ch; font-size: clamp(2rem, 5vw, 4.1rem); font-weight: 900; letter-spacing: -.06em; line-height: .96; }
.ui-next-ticket__type { margin-top: .6rem; color: var(--rush-pink-bright); font-size: .88rem; font-weight: 760; }
.ui-next-ticket__details { margin-top: 1.2rem; display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: var(--rush-muted); font-size: .8rem; }
.ui-next-ticket__details span { display: inline-flex; align-items: center; gap: .42rem; }
.ui-next-ticket__details .ui-icon { color: var(--rush-cyan); }
.ui-next-ticket__action { border: 1px solid rgba(255,255,255,.11); border-radius: 1.25rem; padding: 1rem; background: rgba(7,7,11,.62); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.ui-event-countdown { margin-bottom: .8rem; text-align: center; }
.ui-event-countdown strong { display: block; color: #fff; font-size: 1rem; }
.ui-event-countdown span { display: block; margin-top: .25rem; color: var(--rush-muted); font-size: .72rem; }
.ui-patron-empty-hero { min-height: 13rem; border: 1px solid var(--patron-line); border-radius: 1.55rem; padding: 1.35rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; background: linear-gradient(135deg, rgba(255,47,146,.09), rgba(86,217,255,.035)); }
.ui-patron-empty-hero__icon { width: 4rem; height: 4rem; border: 1px solid rgba(255,47,146,.2); border-radius: 1.25rem; display: grid; place-items: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.09); }
.ui-patron-empty-hero h2 { margin-top: .3rem; font-size: 1.5rem; font-weight: 840; }
.ui-patron-empty-hero p:last-child { margin-top: .38rem; color: var(--rush-muted); font-size: .82rem; }
.ui-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; }
.ui-action-card { min-height: 10.5rem; border: 1px solid var(--patron-line); border-radius: 1.25rem; padding: 1rem; display: flex; flex-direction: column; color: #fff; background: rgba(255,255,255,.035); transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.ui-action-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
.ui-action-card--warning { border-color: rgba(255,199,102,.2); background: rgba(255,199,102,.05); }
.ui-action-card--info { border-color: rgba(86,217,255,.2); background: rgba(86,217,255,.05); }
.ui-action-card--accent { border-color: rgba(255,47,146,.22); background: rgba(255,47,146,.06); }
.ui-action-card__icon { width: 2.35rem; height: 2.35rem; border-radius: .82rem; display: grid; place-items: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.1); }
.ui-action-card__copy { margin-top: .75rem; display: flex; flex-direction: column; }
.ui-action-card__copy strong { font-size: .88rem; line-height: 1.25; }
.ui-action-card__copy small { margin-top: .35rem; color: var(--rush-muted); font-size: .71rem; line-height: 1.4; }
.ui-action-card__link { margin-top: auto; padding-top: .8rem; display: flex; align-items: center; gap: .35rem; color: var(--rush-pink-bright); font-size: .7rem; font-weight: 740; }
.ui-patron-stat-grid { margin-top: 1rem; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; }
.ui-patron-stat { min-height: 6rem; border: 1px solid var(--patron-line); border-radius: 1.15rem; padding: .9rem; display: flex; align-items: center; gap: .75rem; color: #fff; background: rgba(255,255,255,.028); }
.ui-patron-stat:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.05); }
.ui-patron-stat > span { width: 2.55rem; height: 2.55rem; border-radius: .85rem; display: grid; place-items: center; color: var(--rush-cyan); background: rgba(86,217,255,.075); }
.ui-patron-stat div { display: flex; flex-direction: column; }
.ui-patron-stat strong { font-size: 1.42rem; font-weight: 850; line-height: 1; }
.ui-patron-stat small { margin-top: .28rem; color: var(--rush-muted); font-size: .7rem; }
.ui-patron-dashboard-grid { margin-top: 1rem; display: grid; grid-template-columns: minmax(0,1.7fr) minmax(17rem,.8fr); align-items: start; gap: 1rem; }
.ui-patron-side-stack { display: grid; gap: 1rem; }
.ui-patron-two-column { margin-top: 1rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.ui-profile-progress { height: .48rem; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.075); }
.ui-profile-progress span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--rush-pink), var(--rush-cyan)); }
.ui-quick-link-list { display: grid; }
.ui-quick-link-list > a { min-height: 3.7rem; border-radius: .9rem; padding: .62rem .7rem; display: grid; grid-template-columns: 1.25rem minmax(0,1fr) 1rem; align-items: center; gap: .62rem; color: #fff; }
.ui-quick-link-list > a:hover { background: rgba(255,255,255,.045); }
.ui-quick-link-list > a > .ui-icon:first-child { color: var(--rush-pink-bright); }
.ui-quick-link-list span { display: flex; flex-direction: column; }
.ui-quick-link-list strong { font-size: .78rem; }
.ui-quick-link-list small { margin-top: .14rem; color: var(--rush-muted); font-size: .68rem; }
.ui-compact-list { display: grid; }
.ui-compact-list > a,
.ui-compact-list > div { min-height: 3.8rem; border-top: 1px solid var(--patron-line); padding-block: .65rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: #fff; }
.ui-compact-list > :first-child { border-top: 0; }
.ui-compact-list strong { font-size: .8rem; }
.ui-compact-list small { display: block; margin-top: .15rem; color: var(--rush-muted); font-size: .68rem; }

/* Wallet */
.ui-wallet-toolbar { margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ui-wallet-tabs { border: 1px solid var(--patron-line); border-radius: 1rem; padding: .26rem; display: flex; align-items: center; gap: .2rem; overflow-x: auto; background: rgba(255,255,255,.025); }
.ui-wallet-tab { min-height: 2.65rem; border: 1px solid transparent; border-radius: .78rem; padding: .55rem .82rem; display: inline-flex; align-items: center; gap: .45rem; color: var(--rush-muted); background: transparent; font-size: .74rem; font-weight: 720; white-space: nowrap; }
.ui-wallet-tab span { min-width: 1.35rem; height: 1.35rem; border-radius: 999px; display: inline-grid; place-items: center; color: var(--rush-faint); background: rgba(255,255,255,.06); font-size: .62rem; }
.ui-wallet-tab.is-active { border-color: rgba(255,47,146,.25); color: #fff; background: rgba(255,47,146,.11); }
.ui-wallet-tab.is-active span { color: #fff; background: rgba(255,47,146,.2); }
.ui-wallet-view-setting { color: var(--rush-faint); font-size: .7rem; }
.ui-ticket-wallet { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.ui-wallet-ticket {
  position: relative;
  min-width: 0;
  border: 1px solid var(--patron-line);
  border-radius: 1.45rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: .32rem minmax(0,1fr);
  color: #fff;
  background: linear-gradient(145deg, rgba(255,255,255,.058), rgba(255,255,255,.025));
  box-shadow: var(--rush-shadow-soft);
  transition: transform .18s ease, border-color .18s ease;
}
.ui-wallet-ticket:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.2); }
.ui-wallet-ticket[hidden] { display: none !important; }
.ui-wallet-ticket__accent { background: linear-gradient(180deg, var(--rush-pink), var(--rush-violet)); }
.ui-wallet-ticket--past .ui-wallet-ticket__accent { background: linear-gradient(180deg, #77798b, #40414d); }
.ui-wallet-ticket--unavailable { opacity: .78; }
.ui-wallet-ticket--unavailable .ui-wallet-ticket__accent { background: linear-gradient(180deg, var(--rush-red), #7d2731); }
.ui-wallet-ticket__body { min-width: 0; padding: 1rem; }
.ui-wallet-ticket__top { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; }
.ui-wallet-ticket__type { color: var(--rush-pink-bright); font-size: .68rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.ui-wallet-ticket h2 { margin-top: .35rem; overflow-wrap: anywhere; font-size: 1.2rem; font-weight: 830; letter-spacing: -.025em; }
.ui-wallet-ticket__timing { flex: 0 0 auto; max-width: 10rem; text-align: right; }
.ui-wallet-ticket__timing strong { display: block; font-size: .72rem; }
.ui-wallet-ticket__timing small { display: block; margin-top: .2rem; color: var(--rush-muted); font-size: .63rem; }
.ui-wallet-ticket__details { margin-top: .9rem; display: grid; gap: .45rem; color: var(--rush-muted); font-size: .73rem; }
.ui-wallet-ticket__details span { display: flex; align-items: flex-start; gap: .45rem; }
.ui-wallet-ticket__details .ui-icon { margin-top: .05rem; color: var(--rush-cyan); }
.ui-wallet-ticket__footer { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--patron-line); display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.ui-ticket-code { color: var(--rush-faint); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; letter-spacing: .04em; overflow-wrap: anywhere; }
.ui-wallet-no-results { grid-column: 1 / -1; }

/* Ticket detail and QR */
.ui-ticket-detail-page { padding-bottom: 5rem; }
.ui-ticket-detail-header { margin-bottom: 1rem; border: 1px solid var(--patron-line); border-radius: 1.35rem; padding: 1rem 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: rgba(255,255,255,.03); }
.ui-ticket-detail-header__meta h1 { margin-top: .28rem; font-size: clamp(1.5rem,3.5vw,2.4rem); font-weight: 870; letter-spacing: -.04em; }
.ui-ticket-detail-header__meta p:last-child { margin-top: .35rem; color: var(--rush-muted); font-size: .78rem; }
.ui-ticket-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,24rem); align-items: start; gap: 1rem; }
.ui-ticket-detail-main,
.ui-ticket-qr-column { display: grid; gap: 1rem; }
.ui-ticket-event-card,
.ui-ticket-security-summary,
.ui-ticket-help-actions,
.ui-ticket-reissue-panel { border: 1px solid var(--patron-line); border-radius: 1.35rem; padding: 1.1rem; background: rgba(255,255,255,.03); }
.ui-ticket-event-card h2 { font-size: 1.18rem; font-weight: 830; }
.ui-ticket-event-card__row { min-height: 3.7rem; border-top: 1px solid var(--patron-line); display: grid; grid-template-columns: 1.2rem minmax(0,1fr); align-items: center; gap: .65rem; }
.ui-ticket-event-card__row:first-of-type { margin-top: .75rem; }
.ui-ticket-event-card__row .ui-icon { color: var(--rush-cyan); }
.ui-ticket-event-card__row span { color: var(--rush-muted); font-size: .69rem; }
.ui-ticket-event-card__row strong { display: block; margin-top: .1rem; font-size: .8rem; }
.ui-ticket-private-note { border: 1px solid rgba(255,199,102,.2); border-radius: 1rem; padding: .8rem; display: flex; align-items: flex-start; gap: .55rem; color: var(--rush-muted); background: rgba(255,199,102,.045); font-size: .73rem; }
.ui-ticket-security-summary h2,
.ui-ticket-help-actions h2,
.ui-ticket-reissue-panel h2 { font-size: 1rem; font-weight: 800; }
.ui-ticket-security-summary ul,
.ui-door-steps { margin-top: .75rem; display: grid; gap: .5rem; color: var(--rush-muted); font-size: .75rem; }
.ui-ticket-security-summary li,
.ui-door-steps li { display: flex; align-items: flex-start; gap: .5rem; }
.ui-ticket-security-summary li::before,
.ui-door-steps li::before { content: ""; width: .42rem; height: .42rem; margin-top: .4rem; flex: 0 0 auto; border-radius: 50%; background: var(--rush-green); box-shadow: 0 0 0 4px rgba(78,230,168,.08); }
.ui-ticket-help-actions { display: grid; gap: .55rem; }
.ui-ticket-qr-card { position: sticky; top: calc(var(--patron-header-height) + var(--rush-announcement-height) + 1rem); border: 1px solid rgba(255,255,255,.16); border-radius: 1.5rem; padding: 1rem; text-align: center; background: rgba(15,15,22,.96); box-shadow: var(--rush-shadow); }
.ui-no-announcement .ui-ticket-qr-card { top: calc(var(--patron-header-height) + 1rem); }
.ui-ticket-qr-card--blocked { border-color: rgba(255,107,120,.25); }
.ui-ticket-qr-card__heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; text-align: left; }
.ui-ticket-qr-card__heading h2 { font-size: 1rem; font-weight: 820; }
.ui-ticket-qr { width: min(100%, 19rem); aspect-ratio: 1; margin: 1rem auto; border: .8rem solid #fff; border-radius: 1rem; display: grid; place-items: center; overflow: hidden; background: #fff; }
.ui-ticket-qr img,
.ui-ticket-qr svg,
.ui-ticket-qr canvas { width: 100%; height: 100%; object-fit: contain; }
.ui-ticket-qr-status { margin-top: .5rem; color: var(--rush-muted); font-size: .73rem; line-height: 1.45; }
.ui-ticket-qr-unavailable { min-height: 15rem; margin-block: 1rem; border: 1px dashed rgba(255,107,120,.28); border-radius: 1.1rem; display: grid; place-items: center; align-content: center; gap: .5rem; color: var(--rush-muted); background: rgba(255,107,120,.035); }
.ui-ticket-qr-unavailable .ui-icon { width: 2rem; height: 2rem; color: var(--rush-red); }
.ui-ticket-qr-card:fullscreen { padding: max(1.2rem, env(safe-area-inset-top)) max(1.2rem, env(safe-area-inset-right)) max(1.2rem, env(safe-area-inset-bottom)) max(1.2rem, env(safe-area-inset-left)); display: grid; place-items: center; align-content: center; border: 0; border-radius: 0; background: #050507; }
.ui-ticket-qr-card:fullscreen .ui-ticket-qr { width: min(76vmin, 35rem); }
.ui-ticket-qr-card:fullscreen .ui-ticket-qr-card__heading { width: min(100%,35rem); }

/* Orders */
.ui-order-filters { margin-bottom: 1rem; border-bottom: 1px solid var(--patron-line); display: flex; align-items: center; gap: .25rem; overflow-x: auto; }
.ui-order-filters a { min-height: 2.7rem; border-bottom: 2px solid transparent; padding: .62rem .8rem; color: var(--rush-muted); font-size: .73rem; font-weight: 710; white-space: nowrap; }
.ui-order-filters a.is-active { color: #fff; border-bottom-color: var(--rush-pink); }
.ui-order-cards { display: grid; gap: .8rem; }
.ui-order-card { border: 1px solid var(--patron-line); border-radius: 1.3rem; padding: 1rem; color: #fff; background: rgba(255,255,255,.03); transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.ui-order-card:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.048); }
.ui-order-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.ui-order-card__meta { min-width: 0; }
.ui-order-card__meta h2 { margin-top: .25rem; overflow-wrap: anywhere; font-size: 1.08rem; font-weight: 810; }
.ui-order-card__meta p:last-child { margin-top: .25rem; color: var(--rush-muted); font-size: .7rem; }
.ui-order-card__total { text-align: right; }
.ui-order-card__total strong { display: block; font-size: 1.12rem; }
.ui-order-card__total small { color: var(--rush-muted); font-size: .65rem; }
.ui-order-progress,
.ui-order-detail-progress { margin-top: 1rem; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; }
.ui-order-progress span,
.ui-order-detail-progress span { position: relative; min-height: .4rem; border-radius: 999px; background: rgba(255,255,255,.075); }
.ui-order-progress span.is-complete,
.ui-order-detail-progress span.is-complete { background: linear-gradient(90deg, var(--rush-pink), var(--rush-violet)); }
.ui-order-card__facts { margin-top: .85rem; display: flex; flex-wrap: wrap; gap: .45rem .9rem; color: var(--rush-muted); font-size: .7rem; }
.ui-order-card__facts span { display: inline-flex; align-items: center; gap: .36rem; }
.ui-order-card__footer { margin-top: .85rem; padding-top: .75rem; border-top: 1px solid var(--patron-line); display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.ui-order-card__footer > span { color: var(--rush-muted); font-size: .7rem; }
.ui-order-list { display: grid; }
.ui-order-row { min-height: 4.6rem; border-top: 1px solid var(--patron-line); padding-block: .72rem; display: grid; grid-template-columns: minmax(0,1fr) auto 1.1rem; align-items: center; gap: .8rem; color: #fff; }
.ui-order-row:first-child { border-top: 0; }
.ui-order-row__main { min-width: 0; display: flex; flex-direction: column; }
.ui-order-row__main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.ui-order-row__main span { margin-top: .22rem; color: var(--rush-muted); font-size: .68rem; }
.ui-order-row__status { display: flex; align-items: flex-end; flex-direction: column; gap: .28rem; }
.ui-order-row__status strong { font-size: .76rem; }
.ui-order-row__arrow { color: var(--rush-faint); }
.ui-order-detail-header { margin-bottom: 1rem; border: 1px solid var(--patron-line); border-radius: 1.35rem; padding: 1.05rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: rgba(255,255,255,.03); }
.ui-order-detail-header__meta h1 { margin-top: .3rem; font-size: clamp(1.45rem,3vw,2.25rem); font-weight: 860; letter-spacing: -.04em; }
.ui-order-detail-header__meta p:last-child { margin-top: .3rem; color: var(--rush-muted); font-size: .74rem; }
.ui-order-detail-header__total { text-align: right; }
.ui-order-detail-header__total strong { display: block; font-size: 1.35rem; }
.ui-order-detail-header__total small { color: var(--rush-muted); font-size: .68rem; }
.ui-order-detail-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(17rem,.65fr); align-items: start; gap: 1rem; }
.ui-order-detail-main,
.ui-order-detail-sidebar { display: grid; gap: 1rem; }
.ui-order-item-list { display: grid; }
.ui-order-item-list > div { min-height: 4.7rem; border-top: 1px solid var(--patron-line); display: grid; grid-template-columns: 2.5rem minmax(0,1fr) auto; align-items: center; gap: .75rem; }
.ui-order-item-list > div:first-child { border-top: 0; }
.ui-order-item-list__icon { width: 2.35rem; height: 2.35rem; border-radius: .78rem; display: grid; place-items: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.09); }
.ui-order-item-list strong { display: block; font-size: .82rem; }
.ui-order-item-list small { display: block; margin-top: .2rem; color: var(--rush-muted); font-size: .68rem; }
.ui-order-item-list__price { text-align: right; font-size: .78rem; font-weight: 780; }
.ui-price-summary { display: grid; }
.ui-price-summary > div { min-height: 2.9rem; border-top: 1px solid var(--patron-line); display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--rush-muted); font-size: .75rem; }
.ui-price-summary > div:first-child { border-top: 0; }
.ui-price-summary > div:last-child { color: #fff; font-size: .9rem; font-weight: 800; }
.ui-order-status-stack { display: grid; gap: .65rem; }
.ui-issued-ticket-list,
.ui-document-list { display: grid; }
.ui-issued-ticket-list > a,
.ui-document-list > a { min-height: 3.8rem; border-top: 1px solid var(--patron-line); display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: #fff; }
.ui-issued-ticket-list > a:first-child,
.ui-document-list > a:first-child { border-top: 0; }
.ui-issued-ticket-list strong,
.ui-document-list strong { font-size: .76rem; }
.ui-issued-ticket-list small,
.ui-document-list small { display: block; margin-top: .16rem; color: var(--rush-muted); font-size: .66rem; }

/* Profile */
.ui-profile-layout { display: grid; grid-template-columns: minmax(17rem,.65fr) minmax(0,1.35fr); align-items: start; gap: 1rem; }
.ui-profile-summary { position: sticky; top: calc(var(--patron-header-height) + var(--rush-announcement-height) + 1rem); }
.ui-no-announcement .ui-profile-summary { top: calc(var(--patron-header-height) + 1rem); }
.ui-profile-avatar-large { width: 4.5rem; height: 4.5rem; border: 1px solid rgba(255,255,255,.17); border-radius: 1.35rem; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--rush-pink), var(--rush-violet)); box-shadow: 0 15px 32px rgba(255,47,146,.2); font-size: 1.45rem; font-weight: 900; }
.ui-profile-summary h2 { margin-top: .8rem; font-size: 1.2rem; font-weight: 830; }
.ui-profile-summary > p { margin-top: .3rem; color: var(--rush-muted); font-size: .75rem; overflow-wrap: anywhere; }
.ui-profile-completion-label { margin-top: 1rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: var(--rush-muted); font-size: .71rem; }
.ui-profile-checklist { margin-top: .9rem; display: grid; gap: .45rem; }
.ui-profile-checklist li { display: flex; align-items: center; gap: .5rem; color: var(--rush-muted); font-size: .73rem; }
.ui-profile-checklist li.is-complete { color: #c9ffe8; }
.ui-profile-checklist .ui-icon { width: .95rem; height: .95rem; }
.ui-profile-form { min-width: 0; }
.ui-patron-form { display: grid; gap: 1rem; }
.ui-patron-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.ui-patron-field { min-width: 0; }
.ui-patron-field--full { grid-column: 1 / -1; }
.ui-patron-field label,
.ui-field-label { margin-bottom: .38rem; display: block; color: #fff; font-size: .72rem; font-weight: 720; }
.ui-patron-field input,
.ui-patron-field select,
.ui-patron-field textarea,
.ui-support-create-panel input,
.ui-support-create-panel select,
.ui-support-create-panel textarea,
.ui-support-reply-form textarea,
.ui-guestlist-request input,
.ui-guestlist-request select,
.ui-guestlist-request textarea {
  width: 100%;
  min-height: 3rem;
  border: 1px solid var(--patron-line);
  border-radius: .9rem;
  padding: .72rem .82rem;
  color: #fff;
  background: rgba(3,3,6,.5);
}
.ui-patron-field textarea,
.ui-support-create-panel textarea,
.ui-support-reply-form textarea,
.ui-guestlist-request textarea { min-height: 7rem; resize: vertical; }
.ui-patron-field input:focus,
.ui-patron-field select:focus,
.ui-patron-field textarea:focus,
.ui-support-create-panel input:focus,
.ui-support-create-panel select:focus,
.ui-support-create-panel textarea:focus,
.ui-support-reply-form textarea:focus,
.ui-guestlist-request input:focus,
.ui-guestlist-request select:focus,
.ui-guestlist-request textarea:focus { border-color: rgba(255,47,146,.62); background: rgba(7,7,11,.8); }
.ui-field-help { margin-top: .35rem; color: var(--rush-faint); font-size: .67rem; line-height: 1.4; }
.ui-preference-list { display: grid; gap: .55rem; }
.ui-preference-list label { border: 1px solid var(--patron-line); border-radius: .95rem; padding: .72rem .8rem; display: flex; align-items: flex-start; gap: .65rem; background: rgba(255,255,255,.025); }
.ui-preference-list input { width: 1.1rem; height: 1.1rem; margin-top: .12rem; flex: 0 0 auto; accent-color: var(--rush-pink); }
.ui-preference-list span { display: flex; flex-direction: column; }
.ui-preference-list strong { font-size: .76rem; }
.ui-preference-list small { margin-top: .2rem; color: var(--rush-muted); font-size: .67rem; line-height: 1.38; }
.ui-profile-save-bar { position: sticky; bottom: .8rem; z-index: 3; border: 1px solid rgba(255,255,255,.16); border-radius: 1.1rem; padding: .7rem; display: flex; align-items: center; justify-content: flex-end; gap: .7rem; background: rgba(11,11,16,.92); box-shadow: 0 15px 40px rgba(0,0,0,.35); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

/* Guestlist */
.ui-guestlist-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(17rem,.7fr); align-items: start; gap: 1rem; }
.ui-guestlist-event-list { display: grid; gap: .85rem; }
.ui-guestlist-event-card { border: 1px solid var(--patron-line); border-radius: 1.3rem; padding: 1rem; background: rgba(255,255,255,.03); }
.ui-guestlist-event-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; }
.ui-guestlist-event-card h2 { margin-top: .28rem; font-size: 1.05rem; font-weight: 820; }
.ui-guestlist-event-card__header p:last-child { margin-top: .25rem; color: var(--rush-muted); font-size: .7rem; }
.ui-capacity-meter { margin-top: .8rem; height: .45rem; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.07); }
.ui-capacity-meter span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--rush-green), var(--rush-amber)); }
.ui-guestlist-event-card__notice,
.ui-guestlist-event-card__reason { margin-top: .75rem; border-radius: .8rem; padding: .65rem .75rem; color: var(--rush-muted); background: rgba(255,255,255,.035); font-size: .69rem; line-height: 1.4; }
.ui-guestlist-event-card__reason { border: 1px solid rgba(255,199,102,.15); background: rgba(255,199,102,.035); }
.ui-guestlist-request { margin-top: .85rem; display: grid; gap: .7rem; }
.ui-guestlist-terms { border: 1px solid var(--patron-line); border-radius: .9rem; padding: .7rem; display: flex; align-items: flex-start; gap: .6rem; background: rgba(255,255,255,.025); }
.ui-guestlist-terms input { width: 1.1rem; height: 1.1rem; margin-top: .1rem; flex: 0 0 auto; accent-color: var(--rush-pink); }
.ui-guestlist-terms span { color: var(--rush-muted); font-size: .68rem; line-height: 1.42; }
.ui-room-status-list { display: grid; gap: .45rem; }
.ui-guestlist-history { position: sticky; top: calc(var(--patron-header-height) + var(--rush-announcement-height) + 1rem); }
.ui-no-announcement .ui-guestlist-history { top: calc(var(--patron-header-height) + 1rem); }
.ui-guestlist-history-list { display: grid; }
.ui-guestlist-history-list > div { min-height: 4rem; border-top: 1px solid var(--patron-line); padding-block: .65rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.ui-guestlist-history-list > div:first-child { border-top: 0; }
.ui-guestlist-history-list strong { display: block; font-size: .76rem; }
.ui-guestlist-history-list small { display: block; margin-top: .2rem; color: var(--rush-muted); font-size: .65rem; }
.ui-guestlist-closed { min-height: 10rem; display: grid; place-items: center; align-content: center; gap: .45rem; color: var(--rush-muted); text-align: center; }

/* Patron support */
.ui-support-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.72fr); align-items: start; gap: 1rem; }
.ui-support-create-panel,
.ui-support-history-panel { min-width: 0; }
.ui-support-create-panel form { display: grid; gap: .75rem; }
.ui-support-request-list { display: grid; }
.ui-support-request-list > a { min-height: 5rem; border-top: 1px solid var(--patron-line); padding-block: .7rem; color: #fff; }
.ui-support-request-list > a:first-child { border-top: 0; }
.ui-support-request-list__top,
.ui-support-request-list__bottom { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.ui-support-request-list__top strong { font-size: .79rem; }
.ui-support-request-list__bottom { margin-top: .3rem; color: var(--rush-muted); font-size: .67rem; }
.ui-support-thread-header { margin-bottom: 1rem; border: 1px solid var(--patron-line); border-radius: 1.35rem; padding: 1rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; background: rgba(255,255,255,.03); }
.ui-support-thread-header__meta h1 { margin-top: .28rem; font-size: clamp(1.35rem,3vw,2.1rem); font-weight: 850; letter-spacing: -.035em; }
.ui-support-thread-header__meta p:last-child { margin-top: .3rem; color: var(--rush-muted); font-size: .72rem; }
.ui-support-thread { display: grid; gap: .75rem; }
.ui-support-message { display: flex; align-items: flex-start; gap: .65rem; }
.ui-support-message.is-patron { flex-direction: row-reverse; }
.ui-support-message__avatar { width: 2.15rem; height: 2.15rem; flex: 0 0 auto; border-radius: .75rem; display: grid; place-items: center; color: #fff; background: rgba(86,217,255,.13); font-size: .7rem; font-weight: 800; }
.ui-support-message.is-patron .ui-support-message__avatar { background: rgba(255,47,146,.15); }
.ui-support-message__bubble { width: min(82%,44rem); border: 1px solid var(--patron-line); border-radius: 1.05rem 1.05rem 1.05rem .3rem; padding: .8rem; background: rgba(255,255,255,.035); }
.ui-support-message.is-patron .ui-support-message__bubble { border-radius: 1.05rem 1.05rem .3rem 1.05rem; border-color: rgba(255,47,146,.18); background: rgba(255,47,146,.055); }
.ui-support-message__bubble p { color: rgba(255,255,255,.86); font-size: .78rem; line-height: 1.55; white-space: pre-wrap; }
.ui-support-message__bubble small { display: block; margin-top: .5rem; color: var(--rush-faint); font-size: .63rem; }
.ui-support-reply-form { margin-top: 1rem; border: 1px solid var(--patron-line); border-radius: 1.2rem; padding: .9rem; background: rgba(255,255,255,.03); }
.ui-support-reply-form form { display: grid; gap: .65rem; }
.ui-support-reply-needed { margin-bottom: .75rem; border: 1px solid rgba(255,199,102,.24); border-radius: .9rem; padding: .7rem; display: flex; align-items: flex-start; gap: .55rem; color: #ffdc9a; background: rgba(255,199,102,.055); font-size: .72rem; }
.ui-support-related-links { display: grid; gap: .55rem; }
.ui-support-related-links a { min-height: 3.5rem; border: 1px solid var(--patron-line); border-radius: .9rem; padding: .65rem .75rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: #fff; background: rgba(255,255,255,.025); }
.ui-support-related-links a:hover { background: rgba(255,255,255,.05); }

/* Patron phone and tablet behaviour */
@media (max-width: 1120px) {
  .ui-patron-desktop-nav { gap: .08rem; }
  .ui-patron-nav-link { padding-inline: .58rem; }
  .ui-patron-nav-link span { display: none; }
  .ui-patron-account-copy { display: none; }
  .ui-action-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .ui-patron-header__inner { justify-content: space-between; }
  .ui-patron-desktop-nav { display: none; }
  .ui-patron-header__actions .ui-patron-account-button { display: none; }
  .ui-patron-dashboard-grid,
  .ui-ticket-detail-grid,
  .ui-order-detail-grid,
  .ui-profile-layout,
  .ui-guestlist-layout,
  .ui-support-layout { grid-template-columns: minmax(0,1fr); }
  .ui-profile-summary,
  .ui-guestlist-history,
  .ui-ticket-qr-card { position: static; }
  .ui-patron-side-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-ticket-wallet { grid-template-columns: minmax(0,1fr); }
  .ui-next-ticket { grid-template-columns: minmax(0,1fr) minmax(13rem,17rem); }
}

@media (max-width: 720px) {
  :root { --patron-header-height: 3.9rem; }
  body.ui-patron-shell .ui-page-frame { padding-bottom: calc(var(--patron-bottom-height) + env(safe-area-inset-bottom)); }
  .ui-patron-header { background: rgba(7,7,11,.93); }
  .ui-patron-header__inner { padding-inline: .9rem; }
  .ui-patron-brand .ui-brand-caption { display: none; }
  .ui-patron-header__actions .ui-patron-buy-button { min-height: 2.45rem; padding: .58rem .75rem; font-size: .72rem; }
  .ui-patron-bottom-nav {
    position: fixed;
    z-index: 83;
    inset: auto 0 0;
    height: calc(var(--patron-bottom-height) + env(safe-area-inset-bottom));
    padding: .4rem max(.45rem,env(safe-area-inset-right)) max(.4rem,env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left));
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    align-items: start;
    border-top: 1px solid rgba(255,255,255,.14);
    background: rgba(8,8,12,.94);
    box-shadow: 0 -13px 36px rgba(0,0,0,.34);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
  }
  .ui-patron-bottom-link,
  .ui-patron-bottom-buy { min-width: 0; min-height: 3.45rem; border: 0; border-radius: .85rem; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .22rem; color: var(--rush-faint); background: transparent; font-size: .58rem; font-weight: 720; line-height: 1; }
  .ui-patron-bottom-link .ui-icon { width: 1.22rem; height: 1.22rem; }
  .ui-patron-bottom-link.is-active { color: #fff; background: rgba(255,47,146,.075); }
  .ui-patron-bottom-link.is-active .ui-icon { color: var(--rush-pink-bright); }
  .ui-patron-bottom-buy { position: relative; color: #fff; }
  .ui-patron-bottom-buy .ui-icon { width: 2.55rem; height: 2.55rem; margin-top: -.95rem; border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; padding: .68rem; background: linear-gradient(135deg, var(--rush-pink), #d71e81); box-shadow: 0 12px 26px rgba(255,47,146,.3); }
  .ui-patron-bottom-buy span { margin-top: -.03rem; }
  .ui-patron-page { padding: calc(var(--patron-header-height) + var(--rush-announcement-height) + 1.3rem) .8rem calc(var(--patron-bottom-height) + env(safe-area-inset-bottom) + 1.4rem); }
  .ui-no-announcement .ui-patron-page { padding-top: calc(var(--patron-header-height) + 1.3rem); }
  .ui-patron-page-header { margin-bottom: 1.15rem; align-items: flex-start; flex-direction: column; }
  .ui-patron-page-header h1 { font-size: 2rem; }
  .ui-patron-page-header .ui-patron-primary-action { width: 100%; }
  .ui-patron-section { margin-top: 1.3rem; }
  .ui-patron-panel { border-radius: 1.2rem; padding: .95rem; }
  .ui-next-ticket { min-height: 0; border-radius: 1.4rem; padding: 1.05rem; grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .ui-next-ticket h2 { font-size: clamp(2rem,12vw,3.1rem); }
  .ui-next-ticket__action { padding: .8rem; }
  .ui-patron-empty-hero { min-height: 0; grid-template-columns: auto minmax(0,1fr); }
  .ui-patron-empty-hero .ui-patron-primary-action { grid-column: 1 / -1; width: 100%; }
  .ui-action-grid,
  .ui-patron-stat-grid,
  .ui-patron-two-column,
  .ui-patron-side-stack { grid-template-columns: minmax(0,1fr); }
  .ui-action-card { min-height: 8.4rem; }
  .ui-patron-stat { min-height: 5rem; }
  .ui-wallet-toolbar { align-items: stretch; flex-direction: column; }
  .ui-wallet-tabs { width: 100%; }
  .ui-wallet-tab { flex: 1 0 auto; justify-content: center; }
  .ui-wallet-view-setting { display: none; }
  .ui-wallet-ticket__top { flex-direction: column; }
  .ui-wallet-ticket__timing { max-width: none; text-align: left; }
  .ui-wallet-ticket__footer { align-items: flex-start; flex-direction: column; }
  .ui-wallet-ticket__footer .ui-patron-primary-action,
  .ui-wallet-ticket__footer .ui-patron-secondary-action { width: 100%; }
  .ui-ticket-detail-header,
  .ui-order-detail-header,
  .ui-support-thread-header { align-items: flex-start; flex-direction: column; }
  .ui-order-detail-header__total { text-align: left; }
  .ui-ticket-qr { width: min(88vw,22rem); }
  .ui-order-card__header { flex-direction: column; }
  .ui-order-card__total { text-align: left; }
  .ui-order-card__footer { align-items: flex-start; flex-direction: column; }
  .ui-order-card__footer .ui-patron-primary-action,
  .ui-order-card__footer .ui-patron-secondary-action { width: 100%; }
  .ui-order-row { grid-template-columns: minmax(0,1fr) auto; }
  .ui-order-row__arrow { display: none; }
  .ui-order-row__status { align-items: flex-end; }
  .ui-patron-form-grid { grid-template-columns: minmax(0,1fr); }
  .ui-patron-field--full { grid-column: auto; }
  .ui-profile-save-bar { bottom: calc(var(--patron-bottom-height) + env(safe-area-inset-bottom) + .45rem); align-items: stretch; flex-direction: column; }
  .ui-profile-save-bar .ui-patron-primary-action { width: 100%; }
  .ui-guestlist-event-card__header { flex-direction: column; }
  .ui-support-message__bubble { width: calc(100% - 2.8rem); }
}

@media (max-width: 420px) {
  .ui-patron-header__actions .ui-patron-buy-button span { display: none; }
  .ui-patron-header__actions .ui-patron-buy-button { width: 2.5rem; padding-inline: .55rem; }
  .ui-patron-page { padding-inline: .65rem; }
  .ui-patron-page-header h1 { font-size: 1.8rem; }
  .ui-next-ticket h2 { font-size: 2.2rem; }
  .ui-patron-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-patron-stat { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .ui-wallet-tab { padding-inline: .65rem; }
  .ui-order-item-list > div { grid-template-columns: 2.2rem minmax(0,1fr); }
  .ui-order-item-list__price { grid-column: 2; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .ui-patron-more-drawer,
  .ui-action-card,
  .ui-wallet-ticket,
  .ui-patron-primary-action,
  .ui-patron-buy-button { transition: none; }
}

/* The QR element itself enters fullscreen on supported browsers. */
.ui-ticket-qr:fullscreen {
  width: 100vw;
  height: 100vh;
  max-width: none;
  margin: 0;
  border-width: max(1rem, 5vmin);
  border-radius: 0;
  padding: max(1rem, 4vmin);
  display: grid;
  place-items: center;
  background: #fff;
}
.ui-ticket-qr:fullscreen img,
.ui-ticket-qr:fullscreen canvas,
.ui-ticket-qr:fullscreen svg {
  width: min(82vmin, 44rem) !important;
  height: min(82vmin, 44rem) !important;
}

/* Patch 6 component structure refinements */
.ui-wallet-tab > span { min-width: 0; height: auto; border-radius: 0; display: inline; color: inherit; background: transparent; font-size: inherit; }
.ui-wallet-tab > strong { min-width: 1.35rem; height: 1.35rem; border-radius: 999px; display: inline-grid; place-items: center; color: var(--rush-faint); background: rgba(255,255,255,.07); font-size: .62rem; }
.ui-wallet-tab.is-active > strong { color: #fff; background: rgba(255,47,146,.23); }
.ui-wallet-ticket__accent { grid-column: 1; grid-row: 1 / 4; }
.ui-wallet-ticket__top,
.ui-wallet-ticket__body,
.ui-wallet-ticket__footer { grid-column: 2; }
.ui-wallet-ticket__top { padding: 1rem 1rem 0; }
.ui-wallet-ticket__body { padding-top: .75rem; }
.ui-wallet-ticket__details > div { display: grid; grid-template-columns: 1.1rem minmax(0,1fr); align-items: start; gap: .45rem; }
.ui-wallet-ticket__details dt { color: var(--rush-cyan); }
.ui-wallet-ticket__details dd { min-width: 0; overflow-wrap: anywhere; }
.ui-wallet-ticket__footer { margin: 0 1rem; padding: .85rem 0 1rem; }
.ui-wallet-ticket__footer > div:first-child { min-width: 0; display: flex; flex-direction: column; }
.ui-wallet-ticket__footer > div:first-child > span { color: var(--rush-faint); font-size: .62rem; }
.ui-wallet-ticket__footer > div:first-child > strong { margin-top: .16rem; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: .7rem; overflow-wrap: anywhere; }
.ui-wallet-ticket__timing > span { display: block; margin-top: .16rem; color: var(--rush-muted); font-size: .62rem; }
.ui-ticket-wallet.is-compact .ui-wallet-ticket__body { padding-block: .55rem; }
.ui-ticket-wallet.is-compact .ui-wallet-ticket__details { margin-top: .6rem; }
.ui-ticket-wallet.is-compact .ui-wallet-ticket__footer { padding-block: .65rem; }
.ui-wallet-no-results { min-height: 11rem; border: 1px dashed rgba(255,255,255,.15); border-radius: 1.2rem; padding: 1.2rem; place-items: center; align-content: center; gap: .4rem; text-align: center; color: var(--rush-muted); }
.ui-wallet-no-results:not([hidden]) { display: grid; }
.ui-wallet-no-results > span { color: var(--rush-pink-bright); }
.ui-wallet-no-results strong { color: #fff; }
.ui-patron-info-strip > div { min-width: 0; flex: 1; }
.ui-patron-info-strip strong { display: block; color: #fff; font-size: .75rem; }
.ui-patron-info-strip p { margin-top: .18rem; }
.ui-patron-info-strip > a { flex: 0 0 auto; color: var(--rush-pink-bright); font-size: .7rem; font-weight: 750; }
.ui-patron-disclosure { border: 1px solid var(--patron-line); border-radius: 1rem; overflow: hidden; background: rgba(255,255,255,.025); }
.ui-patron-disclosure > summary { min-height: 3.2rem; padding: .75rem .85rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: #fff; font-size: .78rem; font-weight: 750; list-style: none; }
.ui-patron-disclosure > summary::-webkit-details-marker { display: none; }
.ui-patron-disclosure[open] > summary { border-bottom: 1px solid var(--patron-line); background: rgba(255,255,255,.035); }
.ui-patron-disclosure[open] > summary .ui-icon { transform: rotate(180deg); }
.ui-patron-disclosure > form,
.ui-patron-disclosure > div + form { padding: .85rem; }
.ui-ticket-security-summary { display: grid; }
.ui-ticket-security-summary > div { min-height: 3rem; border-top: 1px solid var(--patron-line); display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.ui-ticket-security-summary > div:first-child { border-top: 0; }
.ui-ticket-security-summary span { color: var(--rush-muted); font-size: .7rem; }
.ui-ticket-security-summary strong { font-size: .75rem; }
.ui-door-steps { counter-reset: patron-door-step; }
.ui-door-steps li::before { display: none; }
.ui-door-steps li > span { width: 1.65rem; height: 1.65rem; flex: 0 0 auto; border: 1px solid rgba(255,47,146,.24); border-radius: .58rem; display: grid; place-items: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); font-size: .68rem; font-weight: 820; }
.ui-door-steps li strong { color: #fff; font-size: .76rem; }
.ui-door-steps li p { margin-top: .15rem; font-size: .69rem; line-height: 1.42; }
.ui-ticket-help-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ui-ticket-reissue-panel > div:first-child p:last-child { margin-top: .4rem; color: var(--rush-muted); font-size: .75rem; }
.ui-ticket-reissue-panel .ui-patron-disclosure { margin-top: .9rem; }

.ui-order-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ui-order-card__meta > span:last-child { color: var(--rush-faint); font-size: .68rem; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.ui-order-card__header h2 { margin-top: .55rem; font-size: 1.08rem; font-weight: 820; }
.ui-order-card__header p { margin-top: .3rem; color: var(--rush-muted); font-size: .69rem; }
.ui-order-card__total > span { display: block; margin-top: .22rem; color: var(--rush-muted); font-size: .66rem; }
.ui-order-progress { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ui-order-progress > div { min-width: 0; display: grid; grid-template-columns: 1.55rem minmax(0,1fr); align-items: center; gap: .45rem; }
.ui-order-progress > div::before { content: ""; position: absolute; }
.ui-order-progress > div > span { width: 1.55rem; height: 1.55rem; border: 1px solid var(--patron-line); border-radius: .52rem; display: grid; place-items: center; color: var(--rush-faint); background: rgba(255,255,255,.035); font-size: .62rem; font-weight: 800; }
.ui-order-progress > div.is-complete > span { border-color: rgba(78,230,168,.25); color: #9df7d1; background: rgba(78,230,168,.085); }
.ui-order-progress > div > small { color: var(--rush-muted); font-size: .64rem; line-height: 1.25; }
.ui-order-card__facts > span { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; }
.ui-order-card__facts small { color: var(--rush-faint); font-size: .6rem; }
.ui-order-card__facts strong { color: #fff; font-size: .69rem; }
.ui-order-detail-header__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ui-order-detail-header__meta > span:last-child { color: var(--rush-faint); font: 650 .68rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.ui-order-detail-header__total > span { display: block; margin-top: .2rem; color: #9df7d1; font-size: .66rem; }
.ui-order-detail-progress { margin-bottom: 1rem; border: 1px solid var(--patron-line); border-radius: 1.15rem; padding: .8rem; background: rgba(255,255,255,.025); }
.ui-order-detail-progress > div { min-width: 0; display: grid; grid-template-columns: 1.8rem minmax(0,1fr); align-items: center; gap: .55rem; }
.ui-order-detail-progress > div > span { width: 1.8rem; height: 1.8rem; border: 1px solid var(--patron-line); border-radius: .6rem; display: grid; place-items: center; color: var(--rush-faint); background: rgba(255,255,255,.035); font-size: .66rem; font-weight: 800; }
.ui-order-detail-progress > div.is-complete > span { border-color: rgba(78,230,168,.25); color: #9df7d1; background: rgba(78,230,168,.085); }
.ui-order-detail-progress strong { display: block; font-size: .72rem; }
.ui-order-detail-progress small { display: block; margin-top: .15rem; color: var(--rush-muted); font-size: .61rem; line-height: 1.3; }
.ui-patron-alert--action { border-color: rgba(255,47,146,.28); background: rgba(255,47,146,.065); }
.ui-patron-alert > div { min-width: 0; flex: 1; }
.ui-patron-alert strong { color: #fff; font-size: .78rem; }
.ui-patron-alert p { margin-top: .2rem; color: var(--rush-muted); }
.ui-patron-alert small { display: block; margin-top: .35rem; color: var(--rush-faint); }
.ui-order-item-list > article { min-height: 4.7rem; border-top: 1px solid var(--patron-line); display: grid; grid-template-columns: 2.5rem minmax(0,1fr) auto; align-items: center; gap: .75rem; }
.ui-order-item-list > article:first-child { border-top: 0; }
.ui-order-item-list > article p { margin-top: .16rem; color: var(--rush-muted); font-size: .68rem; }
.ui-order-item-list__price > span { display: block; margin-top: .18rem; color: var(--rush-muted); font-size: .63rem; }
.ui-issued-ticket-list > a,
.ui-document-list > a { display: grid; grid-template-columns: 1.2rem minmax(0,1fr) 1rem; }
.ui-issued-ticket-list > a > span:first-child,
.ui-document-list > a > span:first-child { color: var(--rush-pink-bright); }
.ui-price-summary dd { margin: 0; color: #fff; font-weight: 760; }
.ui-price-summary .is-saving { color: #9df7d1; }
.ui-order-status-stack { margin-top: .7rem; padding-top: .7rem; border-top: 1px solid var(--patron-line); grid-template-columns: repeat(2,minmax(0,1fr)); }
.ui-order-status-stack > span { display: flex; flex-direction: column; }
.ui-order-status-stack small { color: var(--rush-faint); font-size: .61rem; }
.ui-order-status-stack strong { margin-top: .15rem; font-size: .71rem; }
.ui-sidebar-name { margin-top: .55rem; font-size: 1rem; font-weight: 820; }
.ui-sidebar-email { margin-top: .2rem; color: var(--rush-muted); font-size: .72rem; overflow-wrap: anywhere; }
.ui-sidebar-note { display: block; margin-top: .7rem; color: var(--rush-faint); font-size: .65rem; line-height: 1.4; }

.ui-profile-checklist > div { display: flex; align-items: center; gap: .5rem; color: var(--rush-muted); font-size: .73rem; }
.ui-profile-checklist > div.is-complete { color: #c9ffe8; }
.ui-patron-field > span { margin-bottom: .38rem; display: block; color: #fff; font-size: .72rem; font-weight: 720; }
.ui-patron-field > small { display: block; margin-top: .34rem; color: var(--rush-faint); font-size: .66rem; line-height: 1.4; }
.ui-preference-list label > span:first-child { min-width: 0; flex: 1; display: grid; grid-template-columns: 1.15rem minmax(0,1fr); align-items: start; gap: .55rem; }
.ui-preference-list label > span:first-child > .ui-icon { margin-top: .08rem; color: var(--rush-pink-bright); }
.ui-preference-list label > span:first-child > span { display: flex; flex-direction: column; }
.ui-preference-list label > input { order: 2; }
.ui-profile-save-bar > p { flex: 1; color: var(--rush-muted); font-size: .69rem; }

.ui-guestlist-layout { margin-top: 1rem; }
.ui-guestlist-event-card__header h3 { margin-top: .45rem; font-size: 1.08rem; font-weight: 820; }
.ui-room-status-list { margin-top: .75rem; }
.ui-room-status-list > span { min-height: 2.8rem; border: 1px solid var(--patron-line); border-radius: .8rem; padding: .55rem .65rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; background: rgba(255,255,255,.02); }
.ui-room-status-list strong { font-size: .71rem; }
.ui-room-status-list small { color: var(--rush-muted); font-size: .65rem; }
.ui-capacity-meter { height: auto; overflow: visible; background: transparent; }
.ui-capacity-meter > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: var(--rush-muted); font-size: .66rem; }
.ui-capacity-meter > div:last-child { height: .42rem; margin-top: .38rem; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.07); }
.ui-capacity-meter > div:last-child > span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--rush-green),var(--rush-amber)); }
.ui-guestlist-request > summary { margin: -.01rem; }
.ui-guestlist-request > .ui-guestlist-terms { margin: .8rem .8rem 0; display: block; }
.ui-guestlist-request > .ui-guestlist-terms strong { font-size: .73rem; }
.ui-guestlist-request > .ui-guestlist-terms p { margin-top: .35rem; color: var(--rush-muted); font-size: .68rem; line-height: 1.48; }
.ui-guestlist-history-list > article { min-height: 5rem; border-top: 1px solid var(--patron-line); padding-block: .7rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: .55rem; }
.ui-guestlist-history-list > article:first-child { border-top: 0; }
.ui-guestlist-history-list > article > p { grid-column: 1 / -1; color: var(--rush-faint); font-size: .62rem; }
.ui-guestlist-closed > span { display: flex; flex-direction: column; }
.ui-guestlist-closed strong { color: #fff; font-size: .77rem; }
.ui-guestlist-closed small { margin-top: .2rem; font-size: .67rem; }

@media (max-width: 720px) {
  .ui-ticket-help-actions { grid-template-columns: minmax(0,1fr); }
  .ui-order-progress { grid-template-columns: minmax(0,1fr); gap: .55rem; }
  .ui-order-detail-progress { grid-template-columns: minmax(0,1fr); gap: .65rem; }
  .ui-order-detail-progress > div { min-height: 2.4rem; }
  .ui-order-card__facts { width: 100%; }
  .ui-order-item-list > article { grid-template-columns: 2.2rem minmax(0,1fr); padding-block: .65rem; }
  .ui-order-item-list__price { grid-column: 2; text-align: left; }
  .ui-patron-info-strip { flex-wrap: wrap; }
  .ui-patron-info-strip > a { width: 100%; padding-left: 1.7rem; }
}
.ui-patron-more-drawer { z-index: 121; }

.ui-support-request-list > a h3 { margin-top: .55rem; font-size: .86rem; font-weight: 790; line-height: 1.3; }
.ui-support-request-list > a > p { margin-top: .28rem; color: var(--rush-muted); font-size: .68rem; line-height: 1.4; }
.ui-support-request-list__top > small { color: var(--rush-faint); font: 650 .62rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.ui-support-request-list .ui-support-reply-needed { width: fit-content; margin: .55rem 0 0; border: 0; padding: .34rem .55rem; display: inline-flex; align-items: center; gap: .3rem; color: #ffdc9a; background: rgba(255,199,102,.075); font-size: .64rem; }
.ui-support-thread-header__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ui-support-thread-header__meta > span:last-child { color: var(--rush-faint); font: 650 .66rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.ui-support-thread-header .ui-support-related-links { min-width: min(100%,17rem); }
.ui-support-message__bubble > div:first-child { margin-bottom: .4rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.ui-support-message__bubble > div:first-child strong { font-size: .71rem; }
.ui-support-message__bubble > div:first-child time { color: var(--rush-faint); font-size: .6rem; white-space: nowrap; }
.ui-support-reply-form { display: grid; gap: .7rem; }
.ui-support-related-links a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .69rem; }

/* ================================================================
   PATCH 7 — SECURE TICKET SELF-SERVICE AND STAFF CHANGE CENTRE
   ================================================================ */
.ui-ticket-help-actions--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ui-ticket-manage-page { --ticket-change-line: rgba(255,255,255,.095); }
.ui-ticket-manage-header { align-items: flex-end; }
.ui-ticket-manage-summary { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(17rem,.9fr); gap: 1rem; }
.ui-ticket-manage-summary__event { min-width: 0; display: flex; align-items: center; gap: .9rem; }
.ui-ticket-manage-summary__icon { width: 3.25rem; height: 3.25rem; border: 1px solid rgba(255,47,146,.22); border-radius: 1rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); }
.ui-ticket-manage-summary__event h2 { margin-top: .28rem; font-size: clamp(1.15rem,2.2vw,1.6rem); font-weight: 850; line-height: 1.15; }
.ui-ticket-manage-summary__event p:last-child { margin-top: .28rem; color: var(--rush-muted); font-size: .72rem; }
.ui-ticket-manage-summary__details { margin: 0; border-left: 1px solid var(--ticket-change-line); padding-left: 1rem; display: grid; gap: .65rem; }
.ui-ticket-manage-summary__details > div { display: grid; gap: .12rem; }
.ui-ticket-manage-summary__details dt { color: var(--rush-faint); font-size: .59rem; font-weight: 760; text-transform: uppercase; letter-spacing: .12em; }
.ui-ticket-manage-summary__details dd { margin: 0; color: #fff; font-size: .72rem; font-weight: 720; overflow-wrap: anywhere; }
.ui-ticket-manage-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.ui-ticket-manage-card { display: flex; flex-direction: column; gap: .8rem; }
.ui-ticket-manage-card > p { color: var(--rush-muted); font-size: .7rem; line-height: 1.55; }
.ui-ticket-manage-card__heading { display: flex; align-items: center; gap: .7rem; }
.ui-ticket-manage-card__heading > span { width: 2.5rem; height: 2.5rem; border-radius: .8rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); }
.ui-ticket-manage-card__heading h2 { margin-top: .18rem; font-size: 1.02rem; font-weight: 830; }
.ui-ticket-manage-form { display: grid; gap: .7rem; }
.ui-ticket-manage-form label > span,
.ui-ticket-exchange-form label > span { display: block; margin-bottom: .35rem; color: #fff; font-size: .68rem; font-weight: 730; }
.ui-ticket-policy-note,
.ui-ticket-private-note { display: flex; align-items: flex-start; gap: .42rem; color: var(--rush-faint); font-size: .64rem; line-height: 1.45; }
.ui-ticket-policy-note .ui-icon,
.ui-ticket-private-note .ui-icon { margin-top: .04rem; flex: 0 0 auto; color: var(--rush-pink-bright); }
.ui-ticket-email-box { min-height: 3rem; border: 1px solid var(--ticket-change-line); border-radius: .9rem; padding: .65rem .75rem; display: flex; align-items: center; gap: .55rem; color: var(--rush-muted); background: rgba(255,255,255,.025); overflow-wrap: anywhere; }
.ui-ticket-email-box .ui-icon { color: var(--rush-pink-bright); flex: 0 0 auto; }
.ui-ticket-email-box strong { color: #fff; font-size: .7rem; }
.ui-ticket-locked-action { min-height: 4.5rem; border: 1px dashed rgba(255,199,102,.24); border-radius: 1rem; padding: .85rem; display: flex; align-items: flex-start; gap: .65rem; color: #ffd88c; background: rgba(255,199,102,.045); }
.ui-ticket-locked-action > span { width: 2rem; height: 2rem; border-radius: .65rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: rgba(255,199,102,.08); }
.ui-ticket-locked-action strong { color: #fff; font-size: .75rem; }
.ui-ticket-locked-action p { margin-top: .22rem; color: var(--rush-muted); font-size: .66rem; line-height: 1.45; }
.ui-ticket-locked-action a { display: inline-flex; margin-top: .45rem; color: #ffdc9a; font-size: .66rem; font-weight: 760; text-decoration: underline; text-underline-offset: .2rem; }
.ui-ticket-exchange-panel { display: grid; gap: 1rem; }
.ui-ticket-active-change { border: 1px solid rgba(34,211,238,.2); border-radius: 1.1rem; padding: .85rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .8rem; background: rgba(34,211,238,.045); }
.ui-ticket-active-change strong { color: #fff; font-size: .76rem; }
.ui-ticket-active-change p { margin-top: .2rem; color: var(--rush-muted); font-size: .66rem; }
.ui-ticket-exchange-form { display: grid; gap: .85rem; }
.ui-ticket-exchange-form__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.ui-ticket-exchange-form textarea { min-height: 6rem; resize: vertical; }
.ui-ticket-exchange-quote { border: 1px solid var(--ticket-change-line); border-radius: 1rem; padding: .85rem; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; background: rgba(255,255,255,.025); }
.ui-ticket-exchange-quote > div { display: grid; gap: .2rem; }
.ui-ticket-exchange-quote small { color: var(--rush-faint); font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; }
.ui-ticket-exchange-quote strong { font-size: .78rem; }
.ui-ticket-exchange-quote__total strong { color: #a8f7d3; font-size: .95rem; }
.ui-ticket-change-history { display: grid; gap: .65rem; }
.ui-ticket-change-history > article { border: 1px solid var(--ticket-change-line); border-radius: 1rem; padding: .8rem; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; background: rgba(255,255,255,.02); }
.ui-ticket-change-history h3 { margin-top: .18rem; font-size: .78rem; font-weight: 800; }
.ui-ticket-change-history p { margin-top: .2rem; color: var(--rush-muted); font-size: .65rem; }
.ui-ticket-change-history time { color: var(--rush-faint); font-size: .6rem; white-space: nowrap; }
.ui-ticket-change-history__amount { align-self: center; color: #fff; font-size: .68rem; font-weight: 760; }

.ui-ticket-change-progress { overflow: hidden; }
.ui-ticket-change-progress__track { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; }
.ui-ticket-change-progress__step { min-height: 4.1rem; border: 1px solid var(--patron-line); border-radius: .9rem; padding: .65rem; display: flex; flex-direction: column; justify-content: center; gap: .35rem; color: var(--rush-faint); background: rgba(255,255,255,.02); }
.ui-ticket-change-progress__step > span { width: 1.45rem; height: 1.45rem; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; }
.ui-ticket-change-progress__step strong { font-size: .66rem; }
.ui-ticket-change-progress__step.is-active { border-color: rgba(255,199,102,.35); color: #ffe2aa; background: rgba(255,199,102,.055); }
.ui-ticket-change-progress__step.is-done { border-color: rgba(77,229,162,.26); color: #c8ffe5; background: rgba(77,229,162,.045); }
.ui-ticket-change-progress__step.is-done > span { border-color: rgba(77,229,162,.4); color: #a9f9d1; background: rgba(77,229,162,.08); }
.ui-ticket-change-status-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.ui-ticket-change-status-grid > section { min-width: 0; }
.ui-ticket-change-status-grid h2 { margin-top: .28rem; font-size: 1.05rem; font-weight: 830; }
.ui-ticket-change-status-grid p:not(.ui-patron-kicker) { margin-top: .25rem; color: var(--rush-muted); font-size: .68rem; }
.ui-ticket-change-arrow { width: 2.25rem; height: 2.25rem; margin: .8rem 0; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); transform: rotate(90deg); }
.ui-ticket-change-payment-card dl { margin: .75rem 0 0; display: grid; gap: .55rem; }
.ui-ticket-change-payment-card dl > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--rush-muted); font-size: .68rem; }
.ui-ticket-change-payment-card dd { margin: 0; color: #fff; font-weight: 760; }
.ui-ticket-change-payment-card .total { margin-top: .2rem; border-top: 1px solid var(--patron-line); padding-top: .65rem; }
.ui-ticket-change-payment-card .total dd { color: #a8f7d3; font-size: 1rem; }
.ui-ticket-order-reference { margin: .75rem 0 !important; border: 1px solid var(--patron-line); border-radius: .75rem; padding: .55rem .65rem; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.ui-ticket-review-note { margin-top: .55rem; color: var(--rush-muted); font-size: .7rem; line-height: 1.6; }
.ui-ticket-change-actions { display: flex; flex-wrap: wrap; gap: .7rem; }

.ui-admin-change-filter { display: grid; grid-template-columns: minmax(15rem,1fr) minmax(11rem,.45fr) auto auto; align-items: end; gap: .75rem; }
.ui-admin-change-request-list { display: grid; gap: .85rem; }
.ui-admin-change-request { border: 1px solid rgba(255,255,255,.1); border-radius: 1.35rem; padding: 1rem; display: grid; gap: .9rem; background: rgba(255,255,255,.025); }
.ui-admin-change-request__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.ui-admin-change-request__identity { min-width: 0; display: flex; align-items: center; gap: .75rem; }
.ui-admin-change-request__icon { width: 2.75rem; height: 2.75rem; border-radius: .85rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); }
.ui-admin-change-request__identity h3 { margin-top: .18rem; font-size: .95rem; font-weight: 820; }
.ui-admin-change-request__identity p:last-child { margin-top: .18rem; color: rgba(255,255,255,.46); font-size: .66rem; overflow-wrap: anywhere; }
.ui-admin-change-request__badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.ui-admin-change-route { border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; padding: .8rem; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: .75rem; background: rgba(0,0,0,.14); }
.ui-admin-change-route > div { min-width: 0; display: flex; flex-direction: column; gap: .18rem; }
.ui-admin-change-route small { color: rgba(255,255,255,.38); font-size: .58rem; font-weight: 760; text-transform: uppercase; letter-spacing: .12em; }
.ui-admin-change-route strong { font-size: .76rem; }
.ui-admin-change-route span:not(.ui-admin-change-route__arrow) { color: rgba(255,255,255,.52); font-size: .64rem; }
.ui-admin-change-route__arrow { width: 2rem; height: 2rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: #67e8f9; background: rgba(34,211,238,.08); }
.ui-admin-change-facts { margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.ui-admin-change-facts > div { border: 1px solid rgba(255,255,255,.065); border-radius: .8rem; padding: .6rem .7rem; background: rgba(255,255,255,.018); }
.ui-admin-change-facts dt { color: rgba(255,255,255,.36); font-size: .56rem; font-weight: 760; text-transform: uppercase; letter-spacing: .11em; }
.ui-admin-change-facts dd { margin: .2rem 0 0; color: rgba(255,255,255,.84); font-size: .66rem; font-weight: 680; overflow-wrap: anywhere; }
.ui-admin-change-note { border-left: 3px solid rgba(255,47,146,.45); padding: .2rem 0 .2rem .75rem; }
.ui-admin-change-note--review { border-left-color: rgba(34,211,238,.45); }
.ui-admin-change-note strong { font-size: .68rem; }
.ui-admin-change-note p { margin-top: .25rem; color: rgba(255,255,255,.55); font-size: .66rem; line-height: 1.5; }
.ui-admin-change-actions { border-top: 1px solid rgba(255,255,255,.08); padding-top: .85rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.ui-admin-change-action-form { border: 1px solid rgba(77,229,162,.15); border-radius: 1rem; padding: .75rem; display: grid; gap: .55rem; background: rgba(77,229,162,.03); }
.ui-admin-change-action-form--reject { border-color: rgba(251,113,133,.17); background: rgba(251,113,133,.025); }
.ui-admin-change-action-form label > span { display: block; margin-bottom: .3rem; color: rgba(255,255,255,.72); font-size: .63rem; font-weight: 720; }
.ui-admin-change-payment-lock { border: 1px solid rgba(255,199,102,.18); border-radius: 1rem; padding: .75rem; display: flex; align-items: flex-start; gap: .6rem; color: #ffd890; background: rgba(255,199,102,.04); }
.ui-admin-change-payment-lock .ui-icon { flex: 0 0 auto; }
.ui-admin-change-payment-lock strong { color: #fff; font-size: .7rem; }
.ui-admin-change-payment-lock p { margin-top: .2rem; color: rgba(255,255,255,.52); font-size: .63rem; line-height: 1.45; }
.ui-admin-change-empty { min-height: 7rem; border: 1px dashed rgba(255,255,255,.12); border-radius: 1.2rem; padding: 1rem; display: flex; align-items: center; justify-content: center; gap: .65rem; text-align: left; color: rgba(255,255,255,.48); }
.ui-admin-change-empty .ui-icon { color: #8ff3c5; }
.ui-admin-change-empty strong { color: #fff; font-size: .78rem; }
.ui-admin-change-empty p { margin-top: .2rem; font-size: .65rem; }

.ui-admin-policy-list { display: grid; gap: .75rem; }
.ui-admin-policy { border: 1px solid rgba(255,255,255,.1); border-radius: 1.25rem; overflow: hidden; background: rgba(255,255,255,.022); }
.ui-admin-policy > summary { min-height: 5rem; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; }
.ui-admin-policy > summary::-webkit-details-marker { display: none; }
.ui-admin-policy[open] > summary { border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.018); }
.ui-admin-policy__title { min-width: 0; display: flex; align-items: center; gap: .7rem; }
.ui-admin-policy__title > span:first-child { width: 2.55rem; height: 2.55rem; border-radius: .8rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: #67e8f9; background: rgba(34,211,238,.07); }
.ui-admin-policy__title > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.ui-admin-policy__title strong { font-size: .8rem; }
.ui-admin-policy__title small { margin-top: .2rem; color: rgba(255,255,255,.42); font-size: .63rem; }
.ui-admin-policy__summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .45rem; }
.ui-admin-policy__summary > .ui-icon { transition: transform .2s ease; }
.ui-admin-policy[open] .ui-admin-policy__summary > .ui-icon { transform: rotate(180deg); }
.ui-admin-policy-form { padding: 1rem; display: grid; gap: .9rem; }
.ui-admin-policy-form fieldset { border: 1px solid rgba(255,255,255,.075); border-radius: 1rem; padding: .85rem; display: grid; gap: .7rem; }
.ui-admin-policy-form legend { padding: 0 .35rem; color: #fff; font-size: .72rem; font-weight: 800; }
.ui-admin-policy-form label > span:not(.ui-admin-switch span) { display: block; margin-bottom: .3rem; color: rgba(255,255,255,.68); font-size: .63rem; font-weight: 700; }
.ui-admin-policy-form__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.ui-admin-policy-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.ui-admin-switch { min-height: 3.7rem; border: 1px solid rgba(255,255,255,.07); border-radius: .85rem; padding: .65rem; display: flex; align-items: flex-start; gap: .6rem; background: rgba(255,255,255,.018); }
.ui-admin-switch input { width: 1.05rem; height: 1.05rem; margin-top: .08rem; accent-color: #ff2f92; flex: 0 0 auto; }
.ui-admin-switch > span { min-width: 0; display: flex !important; flex-direction: column; margin: 0 !important; }
.ui-admin-switch strong { color: #fff; font-size: .68rem; line-height: 1.35; }
.ui-admin-switch small { margin-top: .2rem; color: rgba(255,255,255,.42); font-size: .6rem; line-height: 1.4; }
.ui-admin-policy-preview { border-color: rgba(34,211,238,.12) !important; background: rgba(34,211,238,.025); }
.ui-admin-policy-preview > p { color: rgba(255,255,255,.5); font-size: .64rem; line-height: 1.5; }
.ui-admin-policy-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ui-admin-policy-form__footer p { display: flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.42); font-size: .62rem; }
.ui-admin-policy-form__footer .ui-icon { color: #8ff3c5; }
.ui-admin-policy-readonly { margin: 1rem; border: 1px dashed rgba(255,255,255,.12); border-radius: .9rem; padding: .8rem; display: flex; align-items: flex-start; gap: .6rem; color: rgba(255,255,255,.45); }
.ui-admin-policy-readonly strong { color: #fff; font-size: .7rem; }
.ui-admin-policy-readonly p { margin-top: .2rem; font-size: .63rem; }

@media (max-width: 960px) {
  .ui-ticket-help-actions--three { grid-template-columns: minmax(0,1fr); }
  .ui-ticket-manage-summary { grid-template-columns: minmax(0,1fr); }
  .ui-ticket-manage-summary__details { border-left: 0; border-top: 1px solid var(--ticket-change-line); padding: .8rem 0 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ui-admin-change-filter { grid-template-columns: minmax(0,1fr) minmax(10rem,.55fr); }
  .ui-admin-change-filter > button,
  .ui-admin-change-filter > a { width: 100%; }
  .ui-admin-change-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-admin-policy-checks { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 720px) {
  .ui-ticket-manage-header { align-items: flex-start; }
  .ui-ticket-manage-grid,
  .ui-ticket-change-status-grid { grid-template-columns: minmax(0,1fr); }
  .ui-ticket-manage-summary__details { grid-template-columns: minmax(0,1fr); }
  .ui-ticket-active-change { grid-template-columns: minmax(0,1fr); align-items: start; }
  .ui-ticket-active-change .ui-patron-primary-action { width: 100%; justify-content: center; }
  .ui-ticket-exchange-form__fields { grid-template-columns: minmax(0,1fr); }
  .ui-ticket-exchange-quote { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-ticket-change-progress__track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-ticket-change-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .ui-ticket-change-actions form,
  .ui-ticket-change-actions a,
  .ui-ticket-change-actions button { width: 100%; justify-content: center; }
  .ui-admin-change-filter { grid-template-columns: minmax(0,1fr); }
  .ui-admin-change-request__top { flex-direction: column; }
  .ui-admin-change-request__badges { justify-content: flex-start; }
  .ui-admin-change-route { grid-template-columns: minmax(0,1fr); }
  .ui-admin-change-route__arrow { transform: rotate(90deg); }
  .ui-admin-change-facts { grid-template-columns: minmax(0,1fr); }
  .ui-admin-change-actions { grid-template-columns: minmax(0,1fr); }
  .ui-admin-policy > summary { align-items: flex-start; }
  .ui-admin-policy__summary .status-chip { display: none; }
  .ui-admin-policy-form__grid { grid-template-columns: minmax(0,1fr); }
  .ui-admin-policy-form__footer { align-items: stretch; flex-direction: column; }
  .ui-admin-policy-form__footer button { width: 100%; }
}

/* Rush Events secure ticket transfers — Patch 8 */
.ui-transfers-page,
.ui-transfer-detail-page { --transfer-line: rgba(255,255,255,.1); --transfer-soft: rgba(255,255,255,.035); }

.ui-transfer-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }
.ui-transfer-summary-card { min-height: 7rem; display: flex; align-items: center; gap: .9rem; padding: 1rem 1.1rem; }
.ui-transfer-summary-card > span { width: 2.8rem; height: 2.8rem; border-radius: .9rem; display: inline-flex; align-items: center; justify-content: center; color: var(--rush-cyan); background: rgba(86,217,255,.08); border: 1px solid rgba(86,217,255,.13); }
.ui-transfer-summary-card strong { display: block; font-size: 1.55rem; line-height: 1; }
.ui-transfer-summary-card p { margin-top: .35rem; color: var(--rush-faint); font-size: .78rem; }
.ui-transfer-summary-card.is-action-required { border-color: rgba(255,199,102,.25); background: linear-gradient(145deg,rgba(255,199,102,.07),rgba(255,255,255,.025)); }
.ui-transfer-summary-card.is-action-required > span { color: var(--rush-amber); background: rgba(255,199,102,.08); border-color: rgba(255,199,102,.15); }

.ui-transfer-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: start; }
.ui-transfer-list-section { min-width: 0; display: grid; gap: .75rem; }
.ui-transfer-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 0 .2rem; }
.ui-transfer-section-heading h2 { margin-top: .2rem; font-size: 1.25rem; font-weight: 900; }
.ui-transfer-list { display: grid; gap: .75rem; }
.ui-transfer-card { position: relative; overflow: hidden; border: 1px solid var(--transfer-line); border-radius: 1.35rem; background: linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018)); box-shadow: 0 16px 36px rgba(0,0,0,.18); transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.ui-transfer-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.2); background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); }
.ui-transfer-card.is-action-required { border-color: rgba(255,199,102,.26); }
.ui-transfer-card__main { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .85rem; align-items: start; padding: 1rem; color: inherit; text-decoration: none; }
.ui-transfer-card__icon { width: 2.8rem; height: 2.8rem; border-radius: .9rem; display: flex; align-items: center; justify-content: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); border: 1px solid rgba(255,47,146,.13); }
.ui-transfer-card__copy { min-width: 0; }
.ui-transfer-card__topline { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.ui-transfer-card h2 { margin-top: .32rem; font-size: 1rem; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-transfer-card__meta { margin-top: .25rem; color: var(--rush-muted); font-size: .72rem; }
.ui-transfer-card__facts { margin-top: .75rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.ui-transfer-card__facts div { min-width: 0; }
.ui-transfer-card__facts dt { color: var(--rush-faint); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ui-transfer-card__facts dd { margin-top: .16rem; color: rgba(255,255,255,.82); font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-transfer-card__arrow { align-self: center; color: rgba(255,255,255,.35); }
.ui-transfer-card__action-note { display: flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-top: 1px solid rgba(255,199,102,.12); color: #ffd890; background: rgba(255,199,102,.045); font-size: .65rem; font-weight: 700; }

.ui-transfer-hero-card { display: grid; gap: 1rem; padding: 1.1rem; }
.ui-transfer-hero-card__event { display: flex; align-items: center; gap: .85rem; }
.ui-transfer-hero-card__icon { width: 3.25rem; height: 3.25rem; border-radius: 1rem; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; color: var(--rush-pink-bright); background: linear-gradient(145deg,rgba(255,47,146,.16),rgba(155,108,255,.08)); border: 1px solid rgba(255,47,146,.18); }
.ui-transfer-hero-card__event h2 { margin-top: .2rem; font-size: 1.25rem; font-weight: 900; }
.ui-transfer-hero-card__event p { margin-top: .15rem; color: var(--rush-muted); font-size: .75rem; }
.ui-transfer-route { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .8rem; align-items: center; padding: .9rem; border: 1px solid var(--transfer-line); border-radius: 1rem; background: rgba(255,255,255,.018); }
.ui-transfer-route > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: .6rem; align-items: center; }
.ui-transfer-route > div > span { grid-row: 1 / span 3; width: 2.4rem; height: 2.4rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; color: var(--rush-cyan); background: rgba(86,217,255,.07); }
.ui-transfer-route small { color: var(--rush-faint); font-size: .57rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ui-transfer-route strong { margin-top: .08rem; font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-transfer-route p { color: var(--rush-faint); font-size: .65rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-transfer-route__arrow { color: var(--rush-pink-bright); }
.ui-transfer-message { display: flex; align-items: flex-start; gap: .7rem; margin: 0; padding: .85rem; border-left: 3px solid rgba(255,47,146,.55); border-radius: .2rem .9rem .9rem .2rem; background: rgba(255,47,146,.045); }
.ui-transfer-message > span { color: var(--rush-pink-bright); flex: 0 0 auto; }
.ui-transfer-message small { color: var(--rush-faint); font-size: .6rem; font-weight: 800; }
.ui-transfer-message p { margin-top: .3rem; color: rgba(255,255,255,.82); font-size: .74rem; line-height: 1.55; }

.ui-transfer-decision-card,
.ui-transfer-payment-card,
.ui-transfer-owner-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,.7fr); gap: 1rem; align-items: center; padding: 1.1rem; }
.ui-transfer-decision-card h2,
.ui-transfer-payment-card h2,
.ui-transfer-owner-actions h2 { margin-top: .25rem; font-size: 1.25rem; font-weight: 900; }
.ui-transfer-decision-card p,
.ui-transfer-payment-card p,
.ui-transfer-owner-actions p { margin-top: .35rem; color: var(--rush-muted); font-size: .75rem; }
.ui-transfer-decision-actions { display: grid; gap: .65rem; }
.ui-transfer-reject-form { display: grid; gap: .55rem; }
.ui-transfer-reject-form label > span,
.ui-admin-transfer-reason-form label > span { display: block; margin-bottom: .3rem; color: var(--rush-muted); font-size: .62rem; font-weight: 700; }

.ui-transfer-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; align-items: start; }
.ui-transfer-detail-list { margin-top: .8rem; display: grid; gap: .1rem; }
.ui-transfer-detail-list > div { display: grid; grid-template-columns: minmax(7rem,.45fr) minmax(0,1fr); gap: .8rem; padding: .65rem 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.ui-transfer-detail-list > div:last-child { border-bottom: 0; }
.ui-transfer-detail-list dt { color: var(--rush-faint); font-size: .65rem; font-weight: 700; }
.ui-transfer-detail-list dd { min-width: 0; color: rgba(255,255,255,.86); font-size: .68rem; word-break: break-word; }
.ui-transfer-detail-list dd small { display: block; margin-top: .18rem; color: var(--rush-faint); }
.ui-transfer-timeline { margin-top: .8rem; display: grid; gap: .1rem; }
.ui-transfer-timeline__item { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: .65rem; padding: .55rem 0; }
.ui-transfer-timeline__item > span { width: .7rem; height: .7rem; margin-top: .22rem; border-radius: 999px; background: var(--rush-cyan); box-shadow: 0 0 0 4px rgba(86,217,255,.08); }
.ui-transfer-timeline__item:not(:last-child)::after { content: ""; position: absolute; left: .325rem; top: 1.28rem; bottom: -.15rem; width: 1px; background: rgba(255,255,255,.1); }
.ui-transfer-timeline__item strong { display: block; font-size: .7rem; }
.ui-transfer-timeline__item p { margin-top: .16rem; color: var(--rush-faint); font-size: .61rem; }
.ui-transfer-muted { color: var(--rush-faint); font-size: .7rem; }
.ui-transfer-owner-actions__buttons,
.ui-transfer-footer-actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.ui-patron-secondary-action--danger { color: #ff9ca6; border-color: rgba(255,107,120,.25); background: rgba(255,107,120,.05); }

.ui-ticket-transfer-panel { display: grid; gap: 1rem; }
.ui-ticket-active-transfer { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .8rem; align-items: center; border: 1px solid rgba(255,199,102,.18); border-radius: 1rem; padding: .85rem; background: rgba(255,199,102,.035); }
.ui-ticket-active-transfer strong { display: block; font-size: .75rem; }
.ui-ticket-active-transfer p { margin-top: .18rem; color: var(--rush-faint); font-size: .65rem; }
.ui-ticket-transfer-form { display: grid; gap: .8rem; }
.ui-ticket-transfer-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.ui-ticket-transfer-form label > span { display: block; margin-bottom: .35rem; color: var(--rush-muted); font-size: .66rem; font-weight: 700; }
.ui-ticket-transfer-form label small { color: var(--rush-faint); font-weight: 500; }
.ui-ticket-transfer-policy { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.ui-ticket-transfer-policy > div { min-width: 0; display: flex; align-items: flex-start; gap: .55rem; border: 1px solid rgba(255,255,255,.075); border-radius: .9rem; padding: .7rem; background: rgba(255,255,255,.018); }
.ui-ticket-transfer-policy > div > span { color: var(--rush-cyan); flex: 0 0 auto; }
.ui-ticket-transfer-policy p { color: var(--rush-faint); font-size: .61rem; line-height: 1.45; }
.ui-ticket-transfer-policy strong { display: block; margin-bottom: .16rem; color: rgba(255,255,255,.88); font-size: .64rem; }
.ui-ticket-transfer-history { display: grid; gap: .45rem; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.075); }
.ui-ticket-transfer-history > a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .7rem; align-items: center; padding: .65rem; border: 1px solid rgba(255,255,255,.07); border-radius: .85rem; color: inherit; text-decoration: none; background: rgba(255,255,255,.015); }
.ui-ticket-transfer-history > a:hover { border-color: rgba(255,255,255,.16); }
.ui-ticket-transfer-history strong { display: block; font-size: .7rem; }
.ui-ticket-transfer-history p { margin-top: .12rem; color: var(--rush-faint); font-size: .61rem; }

.ui-admin-transfer-hero { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; }
.ui-admin-transfer-hero__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; flex: 0 0 auto; }
.ui-admin-transfer-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.ui-admin-transfer-metrics article { border: 1px solid rgba(255,255,255,.09); border-radius: 1.3rem; padding: 1rem; background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); }
.ui-admin-transfer-metrics p { color: var(--rush-faint); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ui-admin-transfer-metrics strong { display: block; margin-top: .3rem; font-size: 1.65rem; }
.ui-admin-transfer-metrics span { display: block; margin-top: .2rem; color: var(--rush-faint); font-size: .62rem; }
.ui-admin-transfer-filters { display: grid; grid-template-columns: minmax(15rem,1fr) minmax(11rem,.4fr) auto auto; gap: .7rem; align-items: end; }
.ui-admin-transfer-filters label > span { display: block; margin-bottom: .32rem; color: var(--rush-muted); font-size: .62rem; font-weight: 700; }
.ui-admin-transfer-list { display: grid; gap: .8rem; }
.ui-admin-transfer-row { overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 1.35rem; background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)); }
.ui-admin-transfer-row__summary { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .8rem; padding: 1rem; }
.ui-admin-transfer-row__icon { width: 2.8rem; height: 2.8rem; border-radius: .9rem; display: flex; align-items: center; justify-content: center; color: var(--rush-pink-bright); background: rgba(255,47,146,.08); border: 1px solid rgba(255,47,146,.13); }
.ui-admin-transfer-row__title { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.ui-admin-transfer-row__title h2 { min-width: 0; font-size: .85rem; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-admin-transfer-row__summary > div:last-child > p { margin-top: .2rem; color: var(--rush-faint); font-size: .63rem; }
.ui-admin-transfer-route { margin-top: .65rem; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .65rem; align-items: center; }
.ui-admin-transfer-route > span { min-width: 0; display: flex; flex-direction: column; }
.ui-admin-transfer-route small { color: var(--rush-faint); font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.ui-admin-transfer-route strong { margin-top: .1rem; font-size: .67rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-admin-transfer-route em { margin-top: .08rem; color: var(--rush-faint); font-size: .58rem; font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-admin-transfer-route > .ui-icon { color: var(--rush-cyan); }
.ui-admin-transfer-row__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(0,0,0,.08); }
.ui-admin-transfer-row__facts > div { min-width: 0; padding: .65rem .8rem; border-right: 1px solid rgba(255,255,255,.06); }
.ui-admin-transfer-row__facts > div:last-child { border-right: 0; }
.ui-admin-transfer-row__facts span { display: block; color: var(--rush-faint); font-size: .53rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ui-admin-transfer-row__facts strong { display: block; margin-top: .18rem; font-size: .62rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-admin-transfer-row__facts .ui-admin-transfer-row__reference { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.06); border-right: 0; }
.ui-admin-transfer-row__reference strong { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; color: rgba(255,255,255,.68); }
.ui-admin-transfer-row__actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; padding: .8rem; }
.ui-admin-transfer-row__actions form { min-width: 0; }
.ui-admin-transfer-reason-form { display: grid; gap: .5rem; }
.status-chip.green { border-color: rgba(78,230,168,.22); color: #8ff3c5; background: rgba(78,230,168,.065); }
.status-chip.amber { border-color: rgba(255,199,102,.22); color: #ffd890; background: rgba(255,199,102,.065); }
.status-chip.red { border-color: rgba(255,107,120,.22); color: #ff9ca6; background: rgba(255,107,120,.065); }
.status-chip.muted { border-color: rgba(255,255,255,.12); color: rgba(255,255,255,.55); background: rgba(255,255,255,.035); }

@media (max-width: 1080px) {
  .ui-admin-transfer-row__actions { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-filters { grid-template-columns: minmax(0,1fr) minmax(10rem,.45fr); }
  .ui-admin-transfer-filters > button,
  .ui-admin-transfer-filters > a { width: 100%; }
}

@media (max-width: 900px) {
  .ui-transfer-columns,
  .ui-transfer-detail-grid { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-hero { align-items: flex-start; flex-direction: column; }
  .ui-admin-transfer-hero__actions { justify-content: flex-start; }
  .ui-admin-transfer-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-admin-transfer-row__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-admin-transfer-row__facts > div:nth-child(2n) { border-right: 0; }
  .ui-admin-transfer-row__facts .ui-admin-transfer-row__reference { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .ui-transfer-summary-grid { grid-template-columns: minmax(0,1fr); }
  .ui-transfer-summary-card { min-height: 5.3rem; }
  .ui-transfer-card__main { grid-template-columns: auto minmax(0,1fr); }
  .ui-transfer-card__arrow { display: none; }
  .ui-transfer-card__topline { align-items: flex-start; flex-direction: column; }
  .ui-transfer-card__facts { grid-template-columns: minmax(0,1fr); }
  .ui-transfer-route { grid-template-columns: minmax(0,1fr); }
  .ui-transfer-route__arrow { justify-self: center; transform: rotate(90deg); }
  .ui-transfer-decision-card,
  .ui-transfer-payment-card,
  .ui-transfer-owner-actions { grid-template-columns: minmax(0,1fr); align-items: stretch; }
  .ui-transfer-owner-actions__buttons,
  .ui-transfer-footer-actions { display: grid; grid-template-columns: minmax(0,1fr); justify-content: stretch; }
  .ui-transfer-owner-actions__buttons form,
  .ui-transfer-owner-actions__buttons button,
  .ui-transfer-footer-actions a { width: 100%; justify-content: center; }
  .ui-transfer-detail-list > div { grid-template-columns: minmax(0,1fr); gap: .2rem; }
  .ui-ticket-active-transfer { grid-template-columns: minmax(0,1fr); align-items: start; }
  .ui-ticket-active-transfer .ui-patron-primary-action { width: 100%; justify-content: center; }
  .ui-ticket-transfer-form__grid,
  .ui-ticket-transfer-policy { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-metrics { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .ui-admin-transfer-filters { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-row__summary { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-row__icon { display: none; }
  .ui-admin-transfer-row__title { align-items: flex-start; flex-direction: column; }
  .ui-admin-transfer-route { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-route > .ui-icon { justify-self: center; transform: rotate(90deg); }
  .ui-admin-transfer-row__facts { grid-template-columns: minmax(0,1fr); }
  .ui-admin-transfer-row__facts > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.06); }
  .ui-admin-transfer-row__facts > div:last-child { border-bottom: 0; }
  .ui-admin-transfer-row__facts .ui-admin-transfer-row__reference { grid-column: auto; }
}

@media (max-width: 440px) {
  .ui-admin-transfer-metrics { grid-template-columns: minmax(0,1fr); }
}

/* --------------------------------------------------------------------------
   Patch 10 — staff information architecture
   -------------------------------------------------------------------------- */
:root {
  --rush-sidebar-width: 17.5rem;
  --rush-sidebar-compact-width: 5.25rem;
}
body.ui-staff-sidebar-expanded { --ui-staff-active-sidebar-width: var(--rush-sidebar-width); }
body.ui-staff-sidebar-compact { --ui-staff-active-sidebar-width: var(--rush-sidebar-compact-width); }
.ui-page-frame--staff { min-width: 0; }
.ui-staff-header__brand { display: none; align-items: center; gap: .55rem; color: #fff; text-decoration: none; }
.ui-staff-header__brand .ui-brand-mark { font-size: .9rem; }
.ui-staff-header__brand .ui-brand-caption { padding: .2rem .45rem; font-size: .55rem; }
.ui-staff-header__content { max-width: none; }
.ui-staff-context { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.ui-event-context {
  position: relative;
  min-width: 12rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .9rem;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.035);
  overflow: hidden;
}
.ui-event-context:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.055); }
.ui-event-context__icon { position: absolute; left: .7rem; z-index: 1; display: inline-flex; color: var(--rush-cyan); pointer-events: none; }
.ui-event-context__icon .ui-icon { width: 1rem; height: 1rem; }
.ui-event-context select {
  appearance: none;
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0 2rem 0 2.15rem;
  background: transparent;
  color: rgba(255,255,255,.86);
  font-size: .72rem;
  font-weight: 750;
  text-overflow: ellipsis;
}
.ui-event-context select option { color: #111; background: #fff; }
.ui-event-context__chevron { position: absolute; right: .55rem; display: inline-flex; color: rgba(255,255,255,.4); pointer-events: none; }
.ui-event-context__chevron .ui-icon { width: .85rem; height: .85rem; }
.ui-command-trigger {
  min-width: 11.5rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .9rem;
  padding: 0 .7rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  font-weight: 680;
  text-align: left;
}
.ui-command-trigger:hover { color: #fff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.065); }
.ui-command-trigger > span { min-width: 0; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-command-trigger .ui-icon { width: 1rem; height: 1rem; color: var(--rush-pink-bright); }
.ui-command-trigger kbd,
.ui-command-palette kbd { border: 1px solid rgba(255,255,255,.12); border-bottom-color: rgba(255,255,255,.22); border-radius: .38rem; padding: .15rem .32rem; background: rgba(255,255,255,.05); color: rgba(255,255,255,.48); font-family: inherit; font-size: .55rem; font-weight: 800; }
.ui-header-icon-action {
  list-style: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.72);
}
.ui-header-icon-action::-webkit-details-marker,
.ui-staff-account-trigger::-webkit-details-marker { display: none; }
.ui-header-icon-action:hover { color: #fff; background: rgba(255,255,255,.07); }
.ui-header-icon-action .ui-icon { width: 1.05rem; height: 1.05rem; }
.ui-staff-menu { position: relative; }
.ui-staff-menu[open] > summary { color: #fff; border-color: rgba(255,47,146,.3); background: rgba(255,47,146,.1); }
.ui-staff-menu__panel {
  position: absolute;
  z-index: 180;
  top: calc(100% + .65rem);
  right: 0;
  width: min(21rem, 90vw);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.25rem;
  padding: .65rem;
  background: rgba(12,12,17,.985);
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
  backdrop-filter: blur(24px);
}
.ui-staff-menu__panel--wide { width: min(22rem, 90vw); }
.ui-staff-menu__eyebrow { padding: .35rem .45rem .55rem; color: var(--rush-faint); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ui-quick-action {
  min-height: 3.65rem;
  border-radius: .9rem;
  padding: .65rem;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: .7rem;
  color: inherit;
  text-decoration: none;
}
.ui-quick-action:hover { background: rgba(255,255,255,.055); }
.ui-quick-action > span:first-child { width: 2rem; height: 2rem; border-radius: .65rem; display: inline-flex; align-items: center; justify-content: center; color: var(--rush-cyan); background: rgba(86,217,255,.08); }
.ui-quick-action strong { display: block; font-size: .72rem; }
.ui-quick-action small { display: block; margin-top: .12rem; color: var(--rush-faint); font-size: .6rem; line-height: 1.35; }
.ui-quick-action > .ui-icon { width: .85rem; height: .85rem; color: rgba(255,255,255,.3); }
.ui-staff-account-trigger {
  list-style: none;
  min-width: 10.5rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .9rem;
  padding: .3rem .55rem .3rem .35rem;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: .5rem;
  background: rgba(255,255,255,.035);
}
.ui-staff-account-trigger:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
.ui-staff-avatar { width: 2rem; height: 2rem; border-radius: .68rem; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(145deg,rgba(255,47,146,.82),rgba(155,108,255,.72)); font-size: .72rem; font-weight: 900; box-shadow: inset 0 0 0 1px rgba(255,255,255,.15); }
.ui-staff-avatar--large { width: 2.75rem; height: 2.75rem; border-radius: .85rem; font-size: .85rem; }
.ui-staff-account-trigger__copy { min-width: 0; text-align: left; }
.ui-staff-account-trigger__copy strong,
.ui-staff-account-trigger__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-staff-account-trigger__copy strong { font-size: .66rem; }
.ui-staff-account-trigger__copy small { margin-top: .05rem; color: var(--rush-faint); font-size: .54rem; }
.ui-staff-account-trigger > .ui-icon { width: .78rem; height: .78rem; color: rgba(255,255,255,.35); }
.ui-staff-menu__identity { margin: .1rem .1rem .55rem; padding: .65rem; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; gap: .65rem; }
.ui-staff-menu__identity span:last-child { min-width: 0; }
.ui-staff-menu__identity strong,
.ui-staff-menu__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-staff-menu__identity strong { font-size: .72rem; }
.ui-staff-menu__identity small { margin-top: .15rem; color: var(--rush-faint); font-size: .58rem; }
.ui-staff-menu__link { width: 100%; min-height: 2.65rem; border-radius: .8rem; padding: .55rem .65rem; display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.7); background: transparent; text-decoration: none; font-size: .68rem; font-weight: 720; }
.ui-staff-menu__link:hover { color: #fff; background: rgba(255,255,255,.055); }
.ui-staff-menu__link .ui-icon { width: .95rem; height: .95rem; }
.ui-staff-menu__link--danger { color: #ff9ca6; }

.ui-staff-sidebar { width: var(--ui-staff-active-sidebar-width, var(--rush-sidebar-width)); transition: width .2s ease; }
.ui-staff-sidebar__inner { padding: .8rem .65rem 1rem; }
.ui-staff-sidebar__status { min-height: 3.25rem; padding: .25rem .35rem .75rem; }
.ui-staff-sidebar__status-copy { min-width: 0; }
.ui-staff-sidebar__status-copy p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-sidebar-compact-toggle { width: 2.15rem; height: 2.15rem; flex: 0 0 2.15rem; border: 1px solid rgba(255,255,255,.09); border-radius: .7rem; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.5); background: rgba(255,255,255,.025); }
.ui-sidebar-compact-toggle:hover { color: #fff; background: rgba(255,255,255,.06); }
.ui-sidebar-compact-toggle .ui-icon { width: .95rem; height: .95rem; }
.ui-staff-recent { padding: .75rem 0 .65rem; border-bottom: 1px solid rgba(255,255,255,.07); }
.ui-staff-recent__items { display: grid; gap: .16rem; }
.ui-staff-recent-link { min-height: 2.25rem; border-radius: .7rem; padding: .42rem .55rem; display: flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.55); font-size: .66rem; font-weight: 680; text-decoration: none; }
.ui-staff-recent-link:hover { color: #fff; background: rgba(255,255,255,.045); }
.ui-staff-recent-link > span:first-child { display: inline-flex; color: var(--rush-cyan); }
.ui-staff-recent-link .ui-icon { width: .88rem; height: .88rem; }
.ui-staff-recent-link > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-staff-nav { margin-top: .65rem; }
.ui-nav-group + .ui-nav-group { margin-top: .35rem; }
.ui-nav-group__toggle { width: 100%; min-height: 2.4rem; border-radius: .75rem; padding: .42rem .5rem; display: flex; align-items: center; justify-content: space-between; gap: .55rem; color: rgba(255,255,255,.44); background: transparent; text-align: left; }
.ui-nav-group__toggle:hover { color: rgba(255,255,255,.75); background: rgba(255,255,255,.025); }
.ui-nav-group.is-active .ui-nav-group__toggle { color: #ff9dca; }
.ui-nav-group__toggle > span { min-width: 0; }
.ui-nav-group__toggle strong { display: block; font-size: .61rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ui-nav-group__toggle small { display: none; margin-top: .1rem; color: var(--rush-faint); font-size: .52rem; line-height: 1.25; }
.ui-nav-group__toggle > .ui-icon { width: .78rem; height: .78rem; transition: transform .18s ease; }
.ui-nav-group.is-collapsed .ui-nav-group__toggle > .ui-icon { transform: rotate(-90deg); }
.ui-nav-group.is-collapsed .ui-nav-group__items { display: none; }
.ui-nav-group__items { gap: .14rem; }
.ui-staff-nav-link { min-height: 3.05rem; padding: .48rem .5rem; gap: .55rem; }
.ui-staff-nav-link__copy { min-width: 0; flex: 1; }
.ui-staff-nav-link__copy strong,
.ui-staff-nav-link__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-staff-nav-link__copy strong { font-size: .7rem; font-weight: 720; }
.ui-staff-nav-link__copy small { margin-top: .08rem; color: rgba(255,255,255,.34); font-size: .53rem; font-weight: 500; }
.ui-staff-nav-link.is-active .ui-staff-nav-link__copy small { color: rgba(255,255,255,.52); }
.ui-staff-sidebar.is-compact .ui-staff-sidebar__status-copy,
.ui-staff-sidebar.is-compact .ui-staff-recent,
.ui-staff-sidebar.is-compact .ui-nav-group__toggle > span,
.ui-staff-sidebar.is-compact .ui-nav-group__toggle > .ui-icon,
.ui-staff-sidebar.is-compact .ui-staff-nav-link__copy,
.ui-staff-sidebar.is-compact .ui-staff-nav-link__arrow { display: none; }
.ui-staff-sidebar.is-compact .ui-staff-sidebar__status { justify-content: center; }
.ui-staff-sidebar.is-compact .ui-sidebar-compact-toggle { transform: rotate(90deg); }
.ui-staff-sidebar.is-compact .ui-nav-group { margin-top: .35rem; }
.ui-staff-sidebar.is-compact .ui-nav-group__toggle { min-height: .45rem; padding: 0; pointer-events: none; }
.ui-staff-sidebar.is-compact .ui-nav-group__items { display: grid !important; }
.ui-staff-sidebar.is-compact .ui-staff-nav-link { justify-content: center; padding: .45rem; }
.ui-staff-sidebar.is-compact .ui-staff-nav-link__icon { width: 2rem; height: 2rem; flex-basis: 2rem; }

.ui-command-palette { position: fixed; inset: 0; z-index: 500; display: none; align-items: flex-start; justify-content: center; padding: max(8vh, 4.5rem) 1rem 1rem; }
.ui-command-palette.is-open { display: flex; }
.ui-command-palette__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); backdrop-filter: blur(10px); }
.ui-command-palette__dialog { position: relative; width: min(42rem, 100%); max-height: min(44rem, 82vh); border: 1px solid rgba(255,255,255,.14); border-radius: 1.45rem; display: flex; flex-direction: column; overflow: hidden; background: rgba(11,11,16,.99); box-shadow: 0 40px 120px rgba(0,0,0,.72); }
.ui-command-palette__header { min-height: 4rem; border-bottom: 1px solid rgba(255,255,255,.09); padding: 0 .85rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; }
.ui-command-palette__header > .ui-icon { width: 1.2rem; height: 1.2rem; color: var(--rush-pink-bright); }
.ui-command-palette__header input { width: 100%; height: 3.8rem; border: 0; outline: 0; background: transparent; color: #fff; font-size: .92rem; font-weight: 680; }
.ui-command-palette__header input::placeholder { color: rgba(255,255,255,.34); }
.ui-command-palette__header button { padding: .35rem; background: transparent; }
.ui-command-palette__results { flex: 1; min-height: 8rem; padding: .55rem; overflow-y: auto; }
.ui-command-result { min-height: 3.75rem; border: 1px solid transparent; border-radius: .95rem; padding: .58rem .65rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; color: inherit; text-decoration: none; }
.ui-command-result:hover,
.ui-command-result.is-selected { border-color: rgba(255,47,146,.2); background: linear-gradient(90deg,rgba(255,47,146,.12),rgba(255,255,255,.035)); }
.ui-command-result[hidden] { display: none; }
.ui-command-result__icon { width: 2.2rem; height: 2.2rem; border-radius: .72rem; display: inline-flex; align-items: center; justify-content: center; color: var(--rush-cyan); background: rgba(86,217,255,.07); }
.ui-command-result__icon .ui-icon { width: 1rem; height: 1rem; }
.ui-command-result strong { display: block; font-size: .76rem; }
.ui-command-result small { display: block; margin-top: .12rem; color: var(--rush-faint); font-size: .59rem; line-height: 1.35; }
.ui-command-result > .ui-icon { width: .85rem; height: .85rem; color: rgba(255,255,255,.28); }
.ui-command-empty { min-height: 12rem; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .45rem; color: var(--rush-faint); text-align: center; }
.ui-command-empty[hidden] { display: none; }
.ui-command-empty .ui-icon { width: 1.4rem; height: 1.4rem; }
.ui-command-empty strong { color: rgba(255,255,255,.75); font-size: .8rem; }
.ui-command-empty span { max-width: 20rem; font-size: .65rem; }
.ui-command-palette__footer { min-height: 2.7rem; border-top: 1px solid rgba(255,255,255,.08); padding: .5rem .8rem; display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; color: var(--rush-faint); font-size: .56rem; }
.ui-command-palette__footer span { display: inline-flex; align-items: center; gap: .25rem; }

.ui-mobile-drawer--staff { width: min(94vw, 25rem); }
.ui-mobile-staff-tools { padding: .75rem; border-bottom: 1px solid rgba(255,255,255,.08); display: grid; gap: .55rem; }
.ui-event-context--mobile { width: 100%; min-width: 0; }
.ui-event-context--mobile > .ui-icon:first-child { margin-left: .7rem; color: var(--rush-cyan); }
.ui-event-context--mobile select { padding-left: .55rem; }
.ui-event-context--mobile > .ui-icon:last-child { margin-right: .6rem; color: var(--rush-faint); }
.ui-command-trigger--mobile { width: 100%; min-width: 0; }
.ui-mobile-quick-grid { padding: .7rem; border-bottom: 1px solid rgba(255,255,255,.08); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
.ui-mobile-quick-grid a { min-height: 3.45rem; border: 1px solid rgba(255,255,255,.08); border-radius: .9rem; padding: .55rem; display: flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.72); background: rgba(255,255,255,.025); font-size: .62rem; font-weight: 720; }
.ui-mobile-quick-grid a .ui-icon { width: .95rem; height: .95rem; color: var(--rush-pink-bright); }
.ui-mobile-staff-nav { padding: .65rem .7rem 1rem; }
.ui-mobile-nav-section + .ui-mobile-nav-section { margin-top: 1rem; }
.ui-mobile-nav-section h2 { margin: 0 0 .35rem; padding: 0 .45rem; color: rgba(255,255,255,.38); font-size: .58rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.ui-mobile-staff-link { min-height: 2.8rem; border-radius: .78rem; padding: .52rem .58rem; display: flex; align-items: center; gap: .62rem; color: rgba(255,255,255,.65); font-size: .68rem; font-weight: 680; }
.ui-mobile-staff-link:hover,
.ui-mobile-staff-link.is-active { color: #fff; background: rgba(255,47,146,.1); }
.ui-mobile-staff-link .ui-icon { width: .98rem; height: .98rem; color: rgba(255,255,255,.45); }
.ui-mobile-staff-link.is-active .ui-icon { color: var(--rush-pink-bright); }
.ui-mobile-staff-account { padding-bottom: max(.75rem, env(safe-area-inset-bottom)); }
.ui-mobile-staff-account__identity { margin-bottom: .45rem; padding: .55rem; display: flex; align-items: center; gap: .6rem; }
.ui-mobile-staff-account__identity span:last-child { min-width: 0; }
.ui-mobile-staff-account__identity strong,
.ui-mobile-staff-account__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-mobile-staff-account__identity strong { font-size: .7rem; }
.ui-mobile-staff-account__identity small { margin-top: .1rem; color: var(--rush-faint); font-size: .57rem; }
.ui-drawer-footer-link--danger { color: #ff9ca6; }
body.ui-command-open { overflow: hidden; }

@media (min-width: 1024px) {
  .ui-page-frame--staff { padding-left: var(--ui-staff-active-sidebar-width, var(--rush-sidebar-width)); transition: padding-left .2s ease; }
  .ui-staff-header__content { padding-left: calc(var(--ui-staff-active-sidebar-width, var(--rush-sidebar-width)) + 1rem); padding-right: 1rem; transition: padding-left .2s ease; }
  .ui-staff-header__brand { display: flex; }
  .ui-page-identity { padding-left: .75rem; border-left: 1px solid rgba(255,255,255,.1); }
}

@media (max-width: 1220px) {
  .ui-command-trigger { min-width: 2.75rem; width: 2.75rem; padding: 0; justify-content: center; }
  .ui-command-trigger > span,
  .ui-command-trigger kbd { display: none; }
  .ui-staff-account-trigger { min-width: 2.75rem; width: 2.75rem; padding: .3rem; display: flex; justify-content: center; }
  .ui-staff-account-trigger__copy,
  .ui-staff-account-trigger > .ui-icon { display: none; }
}

@media (max-width: 1023px) {
  .ui-staff-context .ui-event-context,
  .ui-staff-context .ui-command-trigger,
  .ui-staff-context .ui-staff-menu--quick { display: none; }
  .ui-staff-header__content { padding-left: 1rem; }
  .ui-staff-header__brand { display: none; }
  .ui-staff-account-trigger { min-width: 2.75rem; width: 2.75rem; }
}

@media (max-width: 620px) {
  .ui-page-identity__eyebrow { display: none; }
  .ui-page-identity__title { max-width: 42vw; font-size: .82rem; }
  .ui-staff-account-trigger { width: 2.45rem; min-width: 2.45rem; height: 2.45rem; }
  .ui-staff-avatar { width: 1.85rem; height: 1.85rem; }
  .ui-command-palette { padding: max(4.5rem, env(safe-area-inset-top)) .55rem .55rem; }
  .ui-command-palette__dialog { max-height: calc(100dvh - 5rem); border-radius: 1.1rem; }
  .ui-command-palette__footer { display: none; }
}

/* --------------------------------------------------------------------------
   Patch 12 — complete staff-page modernisation
   -------------------------------------------------------------------------- */
.ui-staff-page-tools {
  position: fixed;
  z-index: 64;
  top: var(--rush-nav-height);
  left: 0;
  right: 0;
  min-height: 4.15rem;
  padding: .55rem .8rem;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg,rgba(12,12,17,.97),rgba(8,8,12,.94));
  backdrop-filter: blur(20px) saturate(125%);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}
.ui-has-announcement .ui-staff-page-tools { top: calc(40px + var(--rush-nav-height)); }
.ui-staff-page-tools__context { min-width: 0; display: flex; align-items: center; gap: .7rem; }
.ui-staff-page-tools__icon { width: 2.35rem; height: 2.35rem; flex: 0 0 2.35rem; border: 1px solid rgba(86,217,255,.18); border-radius: .8rem; display: inline-flex; align-items: center; justify-content: center; color: var(--rush-cyan); background: rgba(86,217,255,.07); }
.ui-staff-page-tools__icon .ui-icon { width: 1.05rem; height: 1.05rem; }
.ui-staff-page-tools__copy { min-width: 0; display: block; }
.ui-staff-page-tools__copy small,
.ui-staff-page-tools__copy strong,
.ui-staff-page-tools__copy > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-staff-page-tools__copy small { color: var(--rush-pink-bright); font-size: .55rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ui-staff-page-tools__copy strong { margin-top: .08rem; color: #fff; font-size: .78rem; }
.ui-staff-page-tools__copy > span { margin-top: .08rem; max-width: 34rem; color: rgba(255,255,255,.38); font-size: .58rem; }
.ui-staff-page-tools__actions { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.ui-page-tool-button,
.ui-page-primary-action,
.ui-page-density {
  min-height: 2.65rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .85rem;
  padding: .55rem .7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.035);
  font-size: .62rem;
  font-weight: 760;
  line-height: 1;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}
.ui-page-tool-button:hover,
.ui-page-density:hover { color: #fff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.065); }
.ui-page-tool-button[aria-pressed="true"] { color: #ffb8d8; border-color: rgba(255,47,146,.26); background: rgba(255,47,146,.11); }
.ui-page-tool-button .ui-icon,
.ui-page-primary-action .ui-icon,
.ui-page-density .ui-icon { width: .9rem; height: .9rem; }
.ui-page-tool-button kbd { margin-left: .15rem; border: 1px solid rgba(255,255,255,.11); border-radius: .35rem; padding: .18rem .28rem; color: rgba(255,255,255,.4); background: rgba(0,0,0,.18); font-size: .5rem; }
.ui-page-primary-action { color: #161015; border-color: #ffd2e7; background: linear-gradient(135deg,#fff,#ffd8ea); box-shadow: 0 9px 26px rgba(255,47,146,.12); }
.ui-page-primary-action:hover { color: #0f0a0d; transform: translateY(-1px); border-color: #fff; background: #fff; }
.ui-page-density { position: relative; padding: 0 .55rem; overflow: hidden; }
.ui-page-density select { appearance: none; height: 2.55rem; max-width: 7.2rem; border: 0; outline: 0; padding: 0 1rem 0 .15rem; color: rgba(255,255,255,.72); background: transparent; font-size: .6rem; font-weight: 760; }
.ui-page-density select option { color: #111; background: #fff; }
.ui-page-density .ui-icon:last-child { width: .65rem; height: .65rem; margin-left: -.9rem; color: rgba(255,255,255,.35); pointer-events: none; }
.ui-page-views { position: relative; }
.ui-page-views > summary { list-style: none; cursor: pointer; }
.ui-page-views > summary::-webkit-details-marker { display: none; }
.ui-page-views > summary .ui-icon:last-child { width: .68rem; height: .68rem; color: rgba(255,255,255,.35); }
.ui-page-views[open] > summary { color: #fff; border-color: rgba(255,47,146,.25); background: rgba(255,47,146,.1); }
.ui-page-views__panel { position: absolute; top: calc(100% + .55rem); right: 0; z-index: 200; width: min(22rem,calc(100vw - 1rem)); max-height: min(34rem,75vh); border: 1px solid rgba(255,255,255,.13); border-radius: 1.15rem; padding: .65rem; overflow-y: auto; background: rgba(12,12,17,.995); box-shadow: 0 26px 80px rgba(0,0,0,.62); }
.ui-page-views__header { padding: .45rem .5rem .65rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.ui-page-views__header strong,
.ui-page-views__header span { display: block; }
.ui-page-views__header strong { font-size: .72rem; }
.ui-page-views__header span { margin-top: .15rem; color: var(--rush-faint); font-size: .57rem; }
.ui-page-views__list { padding: .45rem 0; display: grid; gap: .25rem; }
.ui-page-view-row { border-radius: .75rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; background: rgba(255,255,255,.025); }
.ui-page-view-row > a { min-width: 0; padding: .55rem .65rem; color: rgba(255,255,255,.74); text-decoration: none; }
.ui-page-view-row > a span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .64rem; font-weight: 720; }
.ui-page-view-row > a small { display: inline-flex; margin-top: .18rem; color: var(--rush-cyan); font-size: .48rem; font-weight: 850; text-transform: uppercase; }
.ui-page-view-row form button { width: 2.1rem; height: 2.1rem; border-radius: .65rem; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.35); background: transparent; }
.ui-page-view-row form button:hover { color: #ff98a4; background: rgba(255,93,107,.08); }
.ui-page-view-row form button .ui-icon { width: .78rem; height: .78rem; }
.ui-page-views__empty { padding: .75rem .55rem; color: var(--rush-faint); font-size: .6rem; }
.ui-page-view-form { border-top: 1px solid rgba(255,255,255,.08); padding: .65rem .45rem .35rem; display: grid; gap: .55rem; }
.ui-page-view-form label > span { display: block; margin-bottom: .28rem; color: rgba(255,255,255,.5); font-size: .54rem; font-weight: 760; }
.ui-page-view-form input[type="text"] { width: 100%; height: 2.5rem; border: 1px solid rgba(255,255,255,.1); border-radius: .72rem; padding: 0 .65rem; outline: 0; color: #fff; background: rgba(255,255,255,.035); font-size: .65rem; }
.ui-page-view-form input[type="text"]:focus { border-color: rgba(255,47,146,.45); box-shadow: 0 0 0 3px rgba(255,47,146,.08); }
.ui-page-view-default { display: inline-flex !important; align-items: center; gap: .45rem; }
.ui-page-view-default > span { margin: 0 !important; }
.ui-page-view-form .pill-primary { min-height: 2.45rem; justify-content: center; font-size: .62rem; }
.ui-page-workspace-preferences { margin-top: .55rem; border-top: 1px solid rgba(255,255,255,.08); padding: .7rem .45rem .25rem; display: grid; gap: .6rem; }
.ui-page-workspace-preferences__header strong,
.ui-page-workspace-preferences__header span { display: block; }
.ui-page-workspace-preferences__header strong { color: rgba(255,255,255,.78); font-size: .64rem; }
.ui-page-workspace-preferences__header span { margin-top: .15rem; color: var(--rush-faint); font-size: .54rem; }
.ui-page-workspace-preferences > label:not(.ui-page-workspace-toggle) > span { display: block; margin-bottom: .28rem; color: rgba(255,255,255,.48); font-size: .54rem; font-weight: 760; }
.ui-page-workspace-preferences select { width: 100%; height: 2.45rem; border: 1px solid rgba(255,255,255,.1); border-radius: .72rem; padding: 0 .65rem; outline: 0; color: #fff; background: rgba(255,255,255,.035); font-size: .62rem; font-weight: 720; }
.ui-page-workspace-preferences select option { color: #111; background: #fff; }
.ui-page-workspace-toggle { min-height: 2.8rem; border: 1px solid rgba(255,255,255,.08); border-radius: .78rem; padding: .5rem .6rem; display: flex !important; align-items: center; gap: .55rem; background: rgba(255,255,255,.022); cursor: pointer; }
.ui-page-workspace-toggle input { width: 1rem; height: 1rem; accent-color: var(--rush-pink-bright); }
.ui-page-workspace-toggle > span { min-width: 0; display: block; }
.ui-page-workspace-toggle strong,
.ui-page-workspace-toggle small { display: block; }
.ui-page-workspace-toggle strong { color: rgba(255,255,255,.75); font-size: .6rem; }
.ui-page-workspace-toggle small { margin-top: .1rem; color: rgba(255,255,255,.36); font-size: .52rem; }

.ui-main--staff > .ui-staff-page { padding-top: 9.75rem !important; }
.ui-main--staff .ui-staff-card { border-color: rgba(255,255,255,.085); box-shadow: 0 18px 45px rgba(0,0,0,.13); }
.ui-main--staff .ui-staff-card:hover { border-color: rgba(255,255,255,.12); }
.ui-staff-metrics-collapsed [data-staff-metrics] { display: none !important; }

.ui-staff-filter-form,
.ui-staff-filter-form--enhanced { border: 1px solid rgba(255,255,255,.075); border-radius: 1.2rem; padding: .8rem; background: rgba(255,255,255,.018); }
.ui-staff-filter-grid { display: grid; grid-template-columns: minmax(13rem,1.5fr) repeat(4,minmax(9rem,1fr)) auto; gap: .65rem; align-items: end; }
.ui-staff-filter-grid--patrons { grid-template-columns: minmax(16rem,1.5fr) repeat(2,minmax(10rem,1fr)); }
.ui-staff-filter-grid label > span,
.ui-staff-filter-form > label > span { display: block; margin-bottom: .35rem; color: rgba(255,255,255,.46); font-size: .56rem; font-weight: 780; letter-spacing: .04em; }
.ui-staff-filter-form .field { margin-top: 0 !important; min-height: 2.75rem; border-radius: .8rem; font-size: .68rem; }
.ui-filter-checkbox { min-height: 2.75rem; border: 1px solid rgba(255,255,255,.09); border-radius: .8rem; padding: .55rem .7rem; display: flex !important; align-items: center; gap: .5rem; color: rgba(255,255,255,.68); background: rgba(255,255,255,.025); }
.ui-filter-checkbox > span { margin: 0 !important; color: inherit !important; }
.ui-staff-filter-actions { margin-top: .7rem; display: flex; align-items: center; justify-content: flex-end; gap: .5rem; }
.ui-staff-filter-actions > * { min-height: 2.55rem; justify-content: center; }

.ui-staff-table-toolbar { margin: 1rem 0 .55rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.ui-staff-table-search { width: min(26rem,100%); height: 2.75rem; border: 1px solid rgba(255,255,255,.09); border-radius: .85rem; padding: 0 .35rem 0 .65rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .45rem; background: rgba(255,255,255,.025); }
.ui-staff-table-search:focus-within { border-color: rgba(86,217,255,.35); box-shadow: 0 0 0 3px rgba(86,217,255,.06); }
.ui-staff-table-search__icon { color: var(--rush-cyan); font-size: 1.1rem; line-height: 1; transform: rotate(-20deg); }
.ui-staff-table-search input { width: 100%; height: 2.65rem; border: 0; outline: 0; color: #fff; background: transparent; font-size: .68rem; }
.ui-staff-table-search input::placeholder { color: rgba(255,255,255,.31); }
.ui-staff-table-search button { width: 2rem; height: 2rem; border-radius: .6rem; color: rgba(255,255,255,.45); background: transparent; font-size: 1rem; }
.ui-staff-table-search button:hover { color: #fff; background: rgba(255,255,255,.06); }
.ui-staff-table-toolbar__meta { text-align: right; }
.ui-staff-table-toolbar__meta span { display: block; }
.ui-staff-table-toolbar__meta span:first-child { color: rgba(255,255,255,.74); font-size: .62rem; font-weight: 780; }
.ui-staff-table-toolbar__meta span:last-child { margin-top: .12rem; color: rgba(255,255,255,.3); font-size: .52rem; }
.ui-staff-table-shell { border: 1px solid rgba(255,255,255,.07); border-radius: 1.05rem; background: rgba(0,0,0,.1); }
.ui-staff-data-table { border-collapse: separate; border-spacing: 0; }
.ui-staff-data-table thead th { position: sticky; top: 0; z-index: 2; padding-top: .85rem; padding-bottom: .75rem !important; background: rgba(15,15,21,.97); box-shadow: inset 0 -1px rgba(255,255,255,.08); }
.ui-staff-data-table thead th:first-child { padding-left: .75rem; }
.ui-staff-data-table thead th:last-child { padding-right: .75rem; }
.ui-staff-data-table tbody td:first-child { padding-left: .75rem; }
.ui-staff-data-table tbody td:last-child { padding-right: .75rem; }
.ui-staff-data-table tbody tr { transition: background .14s ease; }
.ui-staff-data-table tbody tr:hover { background: rgba(255,255,255,.025); }
.ui-staff-data-table .ui-staff-sortable { cursor: pointer; user-select: none; }
.ui-staff-data-table .ui-staff-sortable::after { content: '↕'; margin-left: .35rem; color: rgba(255,255,255,.24); font-size: .65rem; }
.ui-staff-data-table .ui-staff-sortable[aria-sort="ascending"]::after { content: '↑'; color: var(--rush-cyan); }
.ui-staff-data-table .ui-staff-sortable[aria-sort="descending"]::after { content: '↓'; color: var(--rush-cyan); }
.ui-staff-table-empty-search { margin: .55rem 0 0; border: 1px dashed rgba(255,255,255,.1); border-radius: 1rem; padding: 1.5rem; text-align: center; color: rgba(255,255,255,.45); }
.ui-staff-table-empty-search[hidden] { display: none; }
.ui-staff-table-empty-search strong,
.ui-staff-table-empty-search span { display: block; }
.ui-staff-table-empty-search strong { color: rgba(255,255,255,.72); font-size: .74rem; }
.ui-staff-table-empty-search span { margin-top: .3rem; font-size: .6rem; }

.ui-staff-pagination { margin-top: 1rem; border-top: 1px solid rgba(255,255,255,.08); padding-top: .85rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.ui-staff-pagination > p { color: rgba(255,255,255,.42); font-size: .6rem; }
.ui-staff-pagination > p strong { color: rgba(255,255,255,.76); }
.ui-staff-pagination__controls { display: flex; align-items: center; gap: .4rem; }
.ui-staff-pagination__controls > label { height: 2.4rem; border: 1px solid rgba(255,255,255,.09); border-radius: .72rem; padding: 0 .25rem 0 .55rem; display: flex; align-items: center; gap: .35rem; color: rgba(255,255,255,.42); background: rgba(255,255,255,.025); font-size: .55rem; }
.ui-staff-pagination__controls select { height: 2.25rem; border: 0; outline: 0; color: rgba(255,255,255,.75); background: transparent; font-size: .58rem; font-weight: 760; }
.ui-staff-pagination__controls select option { color: #111; background: #fff; }
.ui-pagination-button { min-height: 2.4rem; border: 1px solid rgba(255,255,255,.09); border-radius: .72rem; padding: .45rem .58rem; display: inline-flex; align-items: center; gap: .35rem; color: rgba(255,255,255,.68); background: rgba(255,255,255,.025); font-size: .56rem; font-weight: 750; text-decoration: none; }
.ui-pagination-button:hover { color: #fff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.055); }
.ui-pagination-button.is-disabled { opacity: .35; pointer-events: none; }
.ui-pagination-button .ui-icon { width: .72rem; height: .72rem; }
.ui-pagination-page { min-width: 5.2rem; color: rgba(255,255,255,.45); font-size: .56rem; text-align: center; }

.ui-main--staff .ui-staff-form label:has(> input:not([type="hidden"])),
.ui-main--staff .ui-staff-form label:has(> select),
.ui-main--staff .ui-staff-form label:has(> textarea) { min-width: 0; }
.ui-main--staff .ui-staff-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.ui-main--staff .ui-staff-form select,
.ui-main--staff .ui-staff-form textarea { transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.ui-main--staff .ui-staff-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.ui-main--staff .ui-staff-form select:focus,
.ui-main--staff .ui-staff-form textarea:focus { border-color: rgba(255,47,146,.42); box-shadow: 0 0 0 3px rgba(255,47,146,.07); background: rgba(255,255,255,.045); }
.ui-staff-form-actions { z-index: 20; border: 1px solid rgba(255,255,255,.09); border-radius: 1rem; padding: .55rem; background: rgba(10,10,15,.92); backdrop-filter: blur(16px); }
.ui-unsaved-indicator { display: none; margin-right: auto; align-items: center; gap: .35rem; color: #ffd07d; font-size: .56rem; font-weight: 760; }
.ui-unsaved-indicator > span { width: .42rem; height: .42rem; border-radius: 50%; background: #ffc45d; box-shadow: 0 0 0 4px rgba(255,196,93,.09); }
.ui-staff-form.has-unsaved-changes .ui-unsaved-indicator { display: inline-flex; }
.ui-staff-form.has-unsaved-changes .ui-staff-form-actions { border-color: rgba(255,196,93,.2); }

.ui-staff-density-compact .ui-main--staff .ui-staff-card { border-radius: 1.25rem !important; padding: 1rem !important; }
.ui-staff-density-compact .ui-staff-data-table { font-size: .7rem; }
.ui-staff-density-compact .ui-staff-data-table tbody td { padding-top: .48rem !important; padding-bottom: .48rem !important; }
.ui-staff-density-compact .ui-staff-data-table thead th { padding-top: .6rem; padding-bottom: .55rem !important; }
.ui-staff-density-compact .ui-staff-filter-form { padding: .6rem; }
.ui-staff-density-compact .ui-staff-page-tools { min-height: 3.65rem; padding-top: .4rem; padding-bottom: .4rem; }

@media (min-width: 1024px) {
  .ui-staff-page-tools { left: var(--ui-staff-active-sidebar-width,var(--rush-sidebar-width)); transition: left .2s ease; }
  .ui-staff-form-actions { position: sticky; bottom: .75rem; }
  .ui-staff-sticky-actions-off .ui-staff-form-actions { position: static; }
}

@media (max-width: 1380px) {
  .ui-staff-page-tools__copy > span { display: none; }
  .ui-page-tool-button > span,
  .ui-page-primary-action > span { display: none; }
  .ui-page-tool-button kbd { display: none; }
  .ui-page-tool-button,
  .ui-page-primary-action { width: 2.65rem; padding-left: .55rem; padding-right: .55rem; }
  .ui-staff-filter-grid { grid-template-columns: repeat(3,minmax(10rem,1fr)); }
}

@media (max-width: 1023px) {
  .ui-staff-page-tools { left: 0; }
  .ui-staff-page-tools__copy > span { display: none; }
  .ui-page-density { display: none; }
  .ui-main--staff > .ui-staff-page { padding-top: 9.3rem !important; }
}

@media (max-width: 760px) {
  .ui-staff-page-tools { min-height: 3.75rem; padding: .45rem .55rem; gap: .5rem; }
  .ui-staff-page-tools__icon { width: 2.1rem; height: 2.1rem; flex-basis: 2.1rem; }
  .ui-staff-page-tools__copy small { display: none; }
  .ui-staff-page-tools__copy strong { max-width: 34vw; font-size: .7rem; }
  .ui-staff-page-tools__actions { gap: .28rem; }
  .ui-page-tool-button,
  .ui-page-primary-action { width: 2.35rem; min-height: 2.35rem; border-radius: .72rem; }
  .ui-page-views__panel { position: fixed; top: calc(var(--rush-nav-height) + 4.1rem); left: .5rem; right: .5rem; width: auto; max-height: calc(100dvh - var(--rush-nav-height) - 5rem); }
  .ui-has-announcement .ui-page-views__panel { top: calc(40px + var(--rush-nav-height) + 4.1rem); }
  .ui-main--staff > .ui-staff-page { padding-top: 8.85rem !important; padding-left: .65rem !important; padding-right: .65rem !important; }
  .ui-staff-filter-grid,
  .ui-staff-filter-grid--patrons { grid-template-columns: minmax(0,1fr); }
  .ui-staff-filter-form.is-mobile-collapsed { display: none; }
  .ui-staff-filter-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-staff-table-toolbar { align-items: stretch; flex-direction: column; }
  .ui-staff-table-search { width: 100%; }
  .ui-staff-table-toolbar__meta { display: flex; align-items: center; justify-content: space-between; text-align: left; }
  .ui-staff-pagination { align-items: stretch; flex-direction: column; }
  .ui-staff-pagination__controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-staff-pagination__controls > label { grid-column: 1 / -1; justify-content: space-between; }
  .ui-pagination-button { justify-content: center; }
  .ui-pagination-page { grid-column: 1 / -1; grid-row: 2; padding: .25rem; }
  .ui-responsive-table.ui-staff-data-table tbody tr:not([hidden]) { border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; margin-bottom: .65rem; padding: .3rem; background: rgba(255,255,255,.018); }
  .ui-responsive-table.ui-staff-data-table tbody td { padding: .55rem .65rem !important; }
  .ui-responsive-table.ui-staff-data-table tbody td::before { color: rgba(255,255,255,.36); font-size: .52rem; }
  .ui-staff-form-actions { position: sticky; bottom: max(.45rem,env(safe-area-inset-bottom)); }
}

@media (max-width: 470px) {
  .ui-staff-page-tools { align-items: stretch; }
  .ui-staff-page-tools__context { flex: 0 1 auto; max-width: 31vw; }
  .ui-staff-page-tools__icon { display: none; }
  .ui-staff-page-tools__copy strong { max-width: 30vw; line-height: 2.2rem; }
  .ui-staff-page-tools__actions { min-width: 0; flex: 1 1 auto; justify-content: flex-start; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ui-staff-page-tools__actions::-webkit-scrollbar { display: none; }
  .ui-staff-page-tools [data-staff-filter-toggle],
  .ui-page-primary-action { display: inline-flex; flex: 0 0 2.35rem; }
}

@media (max-width: 360px) {
  .ui-staff-page-tools__context { max-width: 24vw; }
  .ui-staff-page-tools__copy strong { max-width: 24vw; }
}

/* --------------------------------------------------------------------------
   Patch 22 — staff header de-duplication and navigation clarity
   -------------------------------------------------------------------------- */
.ui-menu-button--staff {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.ui-menu-button--staff:hover,
.ui-menu-button--staff:focus-visible {
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.045);
}
.ui-sidebar-compact-toggle {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.ui-sidebar-compact-toggle:hover,
.ui-sidebar-compact-toggle:focus-visible {
  border-color: rgba(255,255,255,.07);
  background: rgba(255,255,255,.045);
}
@media (min-width: 1024px) {
  .ui-staff-brand {
    width: var(--ui-staff-active-sidebar-width, var(--rush-sidebar-width));
    transition: width .2s ease;
  }
  .ui-staff-header__brand { display: none; }
  .ui-staff-header__identity { min-width: 0; }
  .ui-staff-page-tools {
    left: var(--ui-staff-active-sidebar-width, var(--rush-sidebar-width));
    transition: left .2s ease;
  }
}
@media (max-width: 1023px) {
  .ui-staff-header__brand { display: inline-flex; }
  .ui-staff-header__identity { gap: .55rem; }
  .ui-staff-page-tools { left: 0; }
}

/* Patch 48: native same-tab PayFast handoff fallback. The form remains off-screen
   during the automatic POST and becomes a real user-submit form only if a browser
   or extension pauses cross-site navigation. */
.ui-payfast-native-form{
  position:fixed;
  left:-10000px;
  top:0;
  width:1px;
  height:1px;
  overflow:hidden;
  z-index:2147483000;
}
.ui-payfast-native-form.is-visible{
  inset:0;
  left:0;
  width:auto;
  height:auto;
  overflow:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 16px;
  background:rgba(3,3,8,.94);
  backdrop-filter:blur(18px);
}
.ui-payfast-native-form__card{
  width:min(100%,560px);
  padding:30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  background:#101016;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  text-align:center;
}
.ui-payfast-native-form__card>strong{
  display:block;
  margin-top:10px;
  color:#fff;
  font-size:clamp(28px,5vw,40px);
  font-weight:900;
  line-height:1.05;
}
.ui-payfast-native-form__card>p:not(.tiny-label){
  margin:14px 0 22px;
  color:rgba(255,255,255,.68);
  line-height:1.65;
}
.ui-payfast-native-form__card .pill-primary,
.ui-payfast-native-form__card .pill-ghost{
  display:block;
  width:100%;
  text-align:center;
}
.ui-payfast-native-form__card .pill-ghost{margin-top:10px}
@media(max-width:560px){.ui-payfast-native-form__card{padding:24px 18px;border-radius:22px}}


/* Patch 49: patron event discovery */
.ui-patron-event-discovery{margin:0 0 1.5rem}.ui-patron-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.ui-patron-event-card{display:flex;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:1.35rem;background:rgba(255,255,255,.035);color:inherit;transition:transform .2s ease,border-color .2s ease}.ui-patron-event-card:hover{transform:translateY(-2px);border-color:rgba(244,114,182,.38)}.ui-patron-event-card__media{position:relative;width:108px;min-height:132px;flex:0 0 108px;overflow:hidden;background:#111}.ui-patron-event-card__media img{width:100%;height:100%;object-fit:cover}.ui-patron-event-card__featured{position:absolute;left:.45rem;top:.45rem;border-radius:999px;background:#ec4899;padding:.28rem .45rem;color:white;font-size:.54rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ui-patron-event-card__body{display:flex;flex:1;min-width:0;flex-direction:column;padding:1rem}.ui-patron-event-card__body strong{font-size:1rem;line-height:1.2}.ui-patron-event-card__body small{margin-top:.55rem;color:rgba(255,255,255,.5);line-height:1.4}.ui-patron-event-card__body>span{margin-top:auto;padding-top:.8rem;color:#f9a8d4;font-size:.78rem;font-weight:900;display:flex;align-items:center;gap:.35rem}@media(max-width:560px){.ui-patron-event-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}.ui-patron-event-card{min-width:82vw;scroll-snap-align:start}}

/* Patch 50: visible route back to the public Rush website */
.ui-patron-site-button{white-space:nowrap}
.ui-patron-page-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}
@media(max-width:900px){.ui-patron-header__actions .ui-patron-site-button{display:none}}
@media(max-width:720px){.ui-patron-page-header__actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.ui-patron-page-header__actions>*{width:100%}}
@media(max-width:460px){.ui-patron-page-header__actions{grid-template-columns:1fr}}

/* Patch 100: ticket governance access, current holder scan identity and visible logout */
.ui-patron-logout-form,.ui-staff-header-logout{display:flex;margin:0;align-items:center}.ui-patron-logout-button,.ui-staff-logout-button{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.88);border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.7rem;padding:0 .9rem;font-weight:900;font-size:.86rem;letter-spacing:-.02em;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.ui-patron-logout-button:hover,.ui-staff-logout-button:hover{transform:translateY(-1px);border-color:rgba(244,114,182,.42);background:rgba(244,114,182,.14);color:#fff}.ui-staff-logout-button svg,.ui-patron-logout-button svg{width:1rem;height:1rem}.ui-staff-logout-button span{display:inline}.ui-wallet-ticket__actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.ui-wallet-ticket__actions .ui-patron-primary-action,.ui-wallet-ticket__actions .ui-patron-secondary-action{min-height:2.55rem;padding:.72rem .9rem}.ui-ticket-policy-summary{margin:1rem 0 1.15rem}.ui-ticket-policy-summary__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ui-ticket-policy-summary__heading h2{margin:.12rem 0 .35rem;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:950;letter-spacing:-.04em;color:#fff}.ui-ticket-policy-summary__heading p{margin:0;color:rgba(255,255,255,.62);line-height:1.55}.ui-ticket-policy-summary__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.ui-ticket-policy-summary__card{border:1px solid rgba(255,255,255,.09);border-radius:1.1rem;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));padding:1rem;display:flex;gap:.8rem;min-width:0}.ui-ticket-policy-summary__card>span{width:2.25rem;height:2.25rem;border-radius:.9rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:rgba(244,114,182,.13);color:#f9a8d4}.ui-ticket-policy-summary__card strong{display:block;color:#fff;font-size:.9rem;margin-bottom:.35rem}.ui-ticket-policy-summary__card p{margin:0;color:rgba(255,255,255,.6);font-size:.78rem;line-height:1.5}.ui-ticket-manage-page .ui-ticket-policy-note{align-items:flex-start}.ui-ticket-manage-page .ui-ticket-policy-note span{line-height:1.45}@media(max-width:1180px){.ui-ticket-policy-summary__grid{grid-template-columns:1fr}.ui-ticket-policy-summary__heading{flex-direction:column}.ui-staff-logout-button span{display:none}.ui-staff-logout-button{width:2.7rem;padding:0}}@media(max-width:900px){.ui-patron-header__actions .ui-patron-logout-form{display:none}.ui-wallet-ticket__actions{justify-content:stretch}.ui-wallet-ticket__actions>a{flex:1 1 145px}.ui-ticket-policy-summary__card{padding:.9rem}.ui-ticket-policy-summary{margin:.85rem 0}}


/* RUSH Patch 154 — public navigation hierarchy */
.ui-nav-dropdown{position:relative}.ui-nav-dropdown>summary{list-style:none;display:flex;align-items:center;gap:.28rem;cursor:pointer}.ui-nav-dropdown>summary::-webkit-details-marker{display:none}.ui-nav-dropdown>summary svg{width:14px;height:14px;transition:transform .2s ease}.ui-nav-dropdown[open]>summary svg{transform:rotate(180deg)}.ui-nav-dropdown__panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(430px,calc(100vw - 28px));padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(9,8,13,.98);box-shadow:0 28px 80px rgba(0,0,0,.48);z-index:120;display:grid;gap:6px}.ui-nav-dropdown__intro{padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);display:grid;gap:4px}.ui-nav-dropdown__intro strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.ui-nav-dropdown__intro small{color:rgba(255,255,255,.48);line-height:1.45}.ui-nav-dropdown__link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:15px;color:#fff;text-decoration:none;transition:background .18s ease,transform .18s ease}.ui-nav-dropdown__link:hover,.ui-nav-dropdown__link.is-active{background:rgba(247,37,133,.12);transform:translateX(2px)}.ui-nav-dropdown__link span{display:grid;gap:3px}.ui-nav-dropdown__link strong{font-size:.9rem}.ui-nav-dropdown__link small{color:rgba(255,255,255,.46);font-size:.72rem;line-height:1.35}.ui-mobile-nav-group>summary{list-style:none;cursor:pointer}.ui-mobile-nav-group>summary::-webkit-details-marker{display:none}.ui-mobile-nav-group__children{padding:3px 0 8px 12px;border-left:1px solid rgba(255,255,255,.1);margin-left:12px}.ui-mobile-nav-link--child{align-items:flex-start}.ui-mobile-nav-link--child span{display:grid;gap:3px}.ui-mobile-nav-link--child small{font-size:.7rem;color:rgba(255,255,255,.44);line-height:1.35}
