/* Shared ticket finder, theme selector and multi-theme surfaces. */

:root,
html[data-theme="light"] {
  --ui-canvas: #f6f1e8;
  --ui-canvas-strong: #efe3d1;
  --ui-surface: #fffdf9;
  --ui-surface-alt: #fff8ed;
  --ui-border: #e4d4bd;
  --ui-text: #3f2e2a;
  --ui-muted: #876f67;
  --ui-heading: #54141d;
  --ui-accent: #7b202a;
  --ui-accent-strong: #4f1119;
  --ui-accent-soft: #fff0d7;
  --ui-shadow: 0 14px 36px rgba(92, 55, 33, 0.09);
}

html[data-theme="saffron"] {
  --maroon-950: #371006;
  --maroon-900: #64230d;
  --maroon-800: #a94212;
  --maroon-700: #c15816;
  --saffron-600: #c94d08;
  --saffron-500: #ed7218;
  --gold-500: #b47b20;
  --ui-canvas: #fff2dc;
  --ui-canvas-strong: #f5dfbd;
  --ui-surface: #fffaf1;
  --ui-surface-alt: #fff0d5;
  --ui-border: #e7c48d;
  --ui-text: #4b2b1c;
  --ui-muted: #84634f;
  --ui-heading: #6b260e;
  --ui-accent: #b4470d;
  --ui-accent-strong: #6e2209;
  --ui-accent-soft: #ffe2b4;
  --ui-shadow: 0 14px 36px rgba(111, 48, 12, 0.11);
}

html[data-theme="forest"] {
  --maroon-950: #08271f;
  --maroon-900: #0e3c30;
  --maroon-800: #17604a;
  --maroon-700: #26745b;
  --saffron-600: #a9660b;
  --saffron-500: #cb861d;
  --gold-500: #a6782b;
  --ui-canvas: #edf4ed;
  --ui-canvas-strong: #dce9df;
  --ui-surface: #fbfdf9;
  --ui-surface-alt: #f0f6ed;
  --ui-border: #cbdcca;
  --ui-text: #263b31;
  --ui-muted: #61776c;
  --ui-heading: #123d30;
  --ui-accent: #17604a;
  --ui-accent-strong: #0a3529;
  --ui-accent-soft: #dceee2;
  --ui-shadow: 0 14px 36px rgba(19, 70, 53, 0.09);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --maroon-950: #2b1215;
  --maroon-900: #f4d1b7;
  --maroon-800: #e98b4b;
  --maroon-700: #efaa72;
  --saffron-600: #ff8b3d;
  --saffron-500: #ff9f50;
  --amber-400: #ffc36b;
  --gold-500: #e5b962;
  --ivory-50: #211d1e;
  --ivory-100: #181617;
  --ivory-200: #30292a;
  --ink-900: #f5eee8;
  --ink-700: #d5c5bd;
  --ink-500: #aa9991;
  --line: #4a3b37;
  --ui-canvas: #111416;
  --ui-canvas-strong: #171b1e;
  --ui-surface: #1d2124;
  --ui-surface-alt: #24292d;
  --ui-border: #3c4549;
  --ui-text: #f3ece7;
  --ui-muted: #b5a9a2;
  --ui-heading: #ffe1c9;
  --ui-accent: #ee914e;
  --ui-accent-strong: #753328;
  --ui-accent-soft: #3a2a25;
  --ui-shadow: 0 16px 42px rgba(0, 0, 0, 0.34);
}

body {
  transition:
    color 180ms ease,
    background-color 180ms ease;
}

html[data-theme="saffron"] body,
html[data-theme="forest"] body,
html[data-theme="dark"] body {
  color: var(--ui-text);
  background:
    radial-gradient(
      circle at 10% 12%,
      color-mix(in srgb, var(--ui-accent) 12%, transparent),
      transparent 26rem
    ),
    linear-gradient(145deg, var(--ui-canvas), var(--ui-canvas-strong));
}

/* Theme selector */
.theme-switcher {
  position: fixed;
  z-index: 120;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  display: grid;
  justify-items: end;
  font-family: var(--font-sans);
}

.theme-switcher__toggle {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--ui-border);
  border-radius: 999px;
  color: var(--ui-heading);
  cursor: pointer;
  background: color-mix(in srgb, var(--ui-surface) 94%, transparent);
  box-shadow: var(--ui-shadow);
  backdrop-filter: blur(16px);
}

.theme-switcher__toggle span {
  font-size: 17px;
}
.theme-switcher__toggle b {
  font-size: 10px;
}
.theme-switcher__toggle:focus-visible,
.theme-switcher__menu button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ui-accent) 34%, transparent);
  outline-offset: 2px;
}

.theme-switcher__menu {
  width: 230px;
  margin-bottom: 9px;
  overflow: hidden;
  padding: 9px;
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  color: var(--ui-text);
  background: color-mix(in srgb, var(--ui-surface) 97%, transparent);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}

.theme-switcher__menu[hidden] {
  display: none;
}
.theme-switcher__menu > strong {
  display: block;
  padding: 5px 7px 8px;
  color: var(--ui-muted);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.theme-switcher__menu button {
  display: grid;
  width: 100%;
  grid-template-columns: 25px 1fr 20px;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 0;
  border-radius: 10px;
  color: var(--ui-text);
  cursor: pointer;
  background: transparent;
  text-align: left;
}
.theme-switcher__menu button:hover,
.theme-switcher__menu button[aria-pressed="true"] {
  background: var(--ui-accent-soft);
}
.theme-switcher__menu button > span {
  display: grid;
  font-size: 11px;
  font-weight: 800;
}
.theme-switcher__menu button small {
  color: var(--ui-muted);
  font-size: 8px;
  font-weight: 600;
}
.theme-switcher__menu button > b {
  color: var(--ui-accent);
  opacity: 0;
}
.theme-switcher__menu button[aria-pressed="true"] > b {
  opacity: 1;
}
.theme-dot {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
}
.theme-dot--light {
  background: linear-gradient(135deg, #fffdf8 50%, #681b24 50%);
}
.theme-dot--dark {
  background: linear-gradient(135deg, #161a1d 50%, #ef9658 50%);
}
.theme-dot--saffron {
  background: linear-gradient(135deg, #fff1d7 50%, #d65c10 50%);
}
.theme-dot--forest {
  background: linear-gradient(135deg, #eef6ef 50%, #17604a 50%);
}

/* Find-my-ticket public page */
.ticket-lookup-page {
  display: grid;
  min-height: 100svh;
  place-items: center;
  padding: 34px 20px 84px;
  color: var(--ui-text);
  background:
    radial-gradient(
      circle at 8% 8%,
      color-mix(in srgb, var(--ui-accent) 14%, transparent),
      transparent 27rem
    ),
    radial-gradient(
      circle at 94% 75%,
      color-mix(in srgb, var(--saffron-500) 12%, transparent),
      transparent 25rem
    ),
    linear-gradient(145deg, var(--ui-canvas), var(--ui-canvas-strong));
}

.ticket-lookup-card {
  width: min(820px, 100%);
  overflow: hidden;
  border: 1px solid var(--ui-border);
  border-top: 5px solid var(--saffron-500);
  border-radius: 24px;
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow);
}

.ticket-lookup-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--ui-border);
  background: var(--ui-surface-alt);
}
.ticket-lookup-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ui-heading);
  text-decoration: none;
}
.ticket-lookup-brand > span {
  display: grid;
  width: 46px;
  height: 40px;
  place-items: center;
  border-radius: 12px 4px 12px 4px;
  color: #fff;
  background: linear-gradient(
    145deg,
    var(--saffron-500),
    var(--ui-accent-strong)
  );
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 900;
}
.ticket-lookup-brand > div {
  display: grid;
}
.ticket-lookup-brand strong {
  font-family: "Nirmala UI", var(--font-serif);
  font-size: 13px;
}
.ticket-lookup-brand small {
  color: var(--ui-muted);
  font-size: 9px;
}
.ticket-lookup-safe {
  padding: 6px 9px;
  border-radius: 999px;
  color: #176743;
  background: #dcf4e7;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}
.ticket-lookup-intro {
  padding: 31px 30px 19px;
  text-align: center;
}
.ticket-lookup-intro h1 {
  margin: 6px 0 7px;
  color: var(--ui-heading);
  font-family: var(--font-serif);
  font-size: clamp(31px, 6vw, 48px);
  line-height: 1.05;
}
.ticket-lookup-intro p {
  max-width: 650px;
  margin: 0 auto;
  color: var(--ui-muted);
  font-size: 12px;
}
.ticket-lookup-form {
  padding: 8px 30px 26px;
}
.ticket-lookup-form > label {
  display: block;
  margin-bottom: 7px;
  color: var(--ui-text);
  font-size: 10px;
  font-weight: 850;
}
.ticket-lookup-phone {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--ui-border);
  border-radius: 14px;
  background: var(--ui-surface);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ui-accent) 8%, transparent);
}
.ticket-lookup-phone:focus-within {
  border-color: var(--ui-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ui-accent) 13%, transparent);
}
.ticket-lookup-phone > span {
  display: grid;
  place-items: center;
  color: var(--ui-heading);
  background: var(--ui-accent-soft);
  font-size: 12px;
  font-weight: 850;
}
.ticket-lookup-phone input {
  min-width: 0;
  min-height: 60px;
  padding: 0 15px;
  border: 0;
  outline: 0;
  color: var(--ui-text);
  background: var(--ui-surface);
  font-size: 17px;
  letter-spacing: 0.03em;
}
.ticket-lookup-phone button {
  padding: 0 21px;
  border: 0;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(
    135deg,
    var(--ui-accent),
    var(--ui-accent-strong)
  );
  font-size: 11px;
  font-weight: 900;
}
.ticket-lookup-form .field-error {
  display: block;
  margin-top: 6px;
}
.ticket-lookup-message {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 11px;
  margin: 0 30px 26px;
  padding: 14px;
  border: 1px solid #e5c782;
  border-radius: 13px;
  color: #6f4b12;
  background: #fff8e4;
}
.ticket-lookup-message > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #ffe7ac;
  font-weight: 900;
}
.ticket-lookup-message strong {
  font-size: 11px;
}
.ticket-lookup-message p {
  margin: 3px 0 0;
  font-size: 9px;
}
.ticket-lookup-message--success {
  border-color: #9ed5b8;
  color: #155f43;
  background: #eefaf4;
}
.ticket-lookup-message--success > span {
  color: #0d704b;
  background: #d5f2e3;
}
.ticket-lookup-results {
  margin: 0 30px 27px;
  overflow: hidden;
  border: 1px solid var(--ui-border);
  border-radius: 15px;
}
.ticket-lookup-results__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--ui-border);
  background: var(--ui-surface-alt);
}
.ticket-lookup-results__head span {
  color: var(--ui-accent);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}
.ticket-lookup-results__head h2 {
  margin: 2px 0 0;
  color: var(--ui-heading);
  font-size: 15px;
}
.ticket-lookup-results__head small {
  color: var(--ui-muted);
  font-size: 9px;
}
.ticket-lookup-result {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 15px 16px;
  border-top: 1px solid var(--ui-border);
  background: var(--ui-surface);
}
.ticket-lookup-result:first-of-type {
  border-top: 0;
}
.ticket-lookup-result__number {
  display: grid;
  min-height: 58px;
  place-content: center;
  border-radius: 13px 4px 13px 4px;
  color: #fff;
  background: linear-gradient(
    145deg,
    var(--saffron-500),
    var(--ui-accent-strong)
  );
  text-align: center;
}
.ticket-lookup-result__number small {
  font-size: 7px;
  text-transform: uppercase;
}
.ticket-lookup-result__number strong {
  font-family: ui-monospace, Consolas, monospace;
  font-size: 20px;
  letter-spacing: 0.08em;
}
.ticket-lookup-result__person {
  display: grid;
  min-width: 0;
}
.ticket-lookup-result__person strong {
  overflow-wrap: anywhere;
  color: var(--ui-heading);
  font-size: 12px;
}
.ticket-lookup-result__person span {
  margin-top: 2px;
  color: var(--ui-muted);
  font-size: 9px;
}
.ticket-lookup-result__person small {
  margin-top: 3px;
  color: #24744f;
  font-size: 8px;
  font-weight: 800;
}
.ticket-lookup-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 17px;
  padding: 17px 22px;
  border-top: 1px solid var(--ui-border);
  color: var(--ui-muted);
  background: var(--ui-surface-alt);
  font-size: 9px;
  text-align: center;
}
.ticket-lookup-footer a {
  color: var(--ui-accent);
  font-weight: 850;
  text-decoration: none;
}

/* New referrer/ticket details */
.admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.admin-row-action--view {
  color: #fff;
  border-color: var(--ui-accent);
  background: linear-gradient(
    135deg,
    var(--ui-accent),
    var(--ui-accent-strong)
  );
}
.seminar-ticket__venue {
  position: relative;
  z-index: 1;
  display: grid;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
}
.seminar-ticket__venue span {
  color: var(--ink-500);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.seminar-ticket__venue strong {
  color: var(--maroon-800);
  font-size: 11px;
}
.seminar-ticket__venue small {
  color: var(--ink-500);
  font-size: 9px;
}
.page-footer__ticket-link {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  margin-top: 6px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--maroon-800);
  background: var(--ivory-50);
  font-size: 10px;
  font-weight: 850;
  text-decoration: none;
}
.access-card__venue {
  display: grid;
  margin: -16px 0 24px;
  padding: 0 13px;
  color: var(--ui-muted);
  text-align: right;
}
.access-card__venue strong {
  color: var(--ui-heading);
  font-size: 11px;
}
.access-card__venue span {
  font-size: 9px;
}

/* Theme-aware public form and operational surfaces */
html[data-theme="saffron"] .admin-app,
html[data-theme="forest"] .admin-app,
html[data-theme="dark"] .admin-app,
html[data-theme="saffron"] .result-page,
html[data-theme="forest"] .result-page,
html[data-theme="dark"] .result-page,
html[data-theme="saffron"] .payment-page,
html[data-theme="forest"] .payment-page,
html[data-theme="dark"] .payment-page,
html[data-theme="saffron"] .access-page,
html[data-theme="forest"] .access-page,
html[data-theme="dark"] .access-page,
html[data-theme="saffron"] .ticket-page,
html[data-theme="forest"] .ticket-page,
html[data-theme="dark"] .ticket-page,
html[data-theme="saffron"] .portal-shell,
html[data-theme="forest"] .portal-shell,
html[data-theme="dark"] .portal-shell {
  color: var(--ui-text);
  background:
    radial-gradient(
      circle at 8% 8%,
      color-mix(in srgb, var(--ui-accent) 13%, transparent),
      transparent 25rem
    ),
    linear-gradient(145deg, var(--ui-canvas), var(--ui-canvas-strong));
}

html[data-theme="saffron"] .admin-topbar,
html[data-theme="forest"] .admin-topbar,
html[data-theme="dark"] .admin-topbar,
html[data-theme="saffron"] .admin-sidebar,
html[data-theme="forest"] .admin-sidebar,
html[data-theme="dark"] .admin-sidebar,
html[data-theme="saffron"] .admin-card,
html[data-theme="forest"] .admin-card,
html[data-theme="dark"] .admin-card,
html[data-theme="saffron"] .admin-stat,
html[data-theme="forest"] .admin-stat,
html[data-theme="dark"] .admin-stat,
html[data-theme="saffron"] .admin-form-card,
html[data-theme="forest"] .admin-form-card,
html[data-theme="dark"] .admin-form-card,
html[data-theme="saffron"] .report-download-grid > a,
html[data-theme="forest"] .report-download-grid > a,
html[data-theme="dark"] .report-download-grid > a,
html[data-theme="saffron"] .access-card,
html[data-theme="forest"] .access-card,
html[data-theme="dark"] .access-card,
html[data-theme="saffron"] .result-card,
html[data-theme="forest"] .result-card,
html[data-theme="dark"] .result-card,
html[data-theme="saffron"] .payment-card,
html[data-theme="forest"] .payment-card,
html[data-theme="dark"] .payment-card {
  color: var(--ui-text);
  border-color: var(--ui-border);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow);
}

html[data-theme="saffron"] .admin-card__head,
html[data-theme="forest"] .admin-card__head,
html[data-theme="dark"] .admin-card__head,
html[data-theme="saffron"] .admin-filterbar,
html[data-theme="forest"] .admin-filterbar,
html[data-theme="dark"] .admin-filterbar,
html[data-theme="saffron"] .admin-table-summary,
html[data-theme="forest"] .admin-table-summary,
html[data-theme="dark"] .admin-table-summary,
html[data-theme="saffron"] .admin-pagination,
html[data-theme="forest"] .admin-pagination,
html[data-theme="dark"] .admin-pagination,
html[data-theme="saffron"] .admin-sidebar__event,
html[data-theme="forest"] .admin-sidebar__event,
html[data-theme="dark"] .admin-sidebar__event {
  border-color: var(--ui-border);
  background: var(--ui-surface-alt);
}

html[data-theme="saffron"] .admin-page-head h1,
html[data-theme="forest"] .admin-page-head h1,
html[data-theme="dark"] .admin-page-head h1,
html[data-theme="saffron"] .admin-record-hero h1,
html[data-theme="forest"] .admin-record-hero h1,
html[data-theme="dark"] .admin-record-hero h1,
html[data-theme="saffron"] .admin-card__head h2,
html[data-theme="forest"] .admin-card__head h2,
html[data-theme="dark"] .admin-card__head h2,
html[data-theme="saffron"] .admin-stat strong,
html[data-theme="forest"] .admin-stat strong,
html[data-theme="dark"] .admin-stat strong,
html[data-theme="saffron"] .admin-data-table td > strong,
html[data-theme="forest"] .admin-data-table td > strong,
html[data-theme="dark"] .admin-data-table td > strong {
  color: var(--ui-heading);
}

html[data-theme="saffron"] .admin-page-head p,
html[data-theme="forest"] .admin-page-head p,
html[data-theme="dark"] .admin-page-head p,
html[data-theme="saffron"] .admin-stat small,
html[data-theme="forest"] .admin-stat small,
html[data-theme="dark"] .admin-stat small,
html[data-theme="saffron"] .admin-stat em,
html[data-theme="forest"] .admin-stat em,
html[data-theme="dark"] .admin-stat em,
html[data-theme="saffron"] .admin-data-table td > small,
html[data-theme="forest"] .admin-data-table td > small,
html[data-theme="dark"] .admin-data-table td > small {
  color: var(--ui-muted);
}

html[data-theme="saffron"] .admin-data-table th,
html[data-theme="forest"] .admin-data-table th,
html[data-theme="dark"] .admin-data-table th {
  color: var(--ui-heading);
  background: var(--ui-accent-soft);
}
html[data-theme="saffron"] .admin-data-table td,
html[data-theme="forest"] .admin-data-table td,
html[data-theme="dark"] .admin-data-table td {
  border-color: var(--ui-border);
  color: var(--ui-text);
}
html[data-theme="saffron"] .admin-data-table tbody tr:hover,
html[data-theme="forest"] .admin-data-table tbody tr:hover,
html[data-theme="dark"] .admin-data-table tbody tr:hover {
  background: var(--ui-surface-alt);
}

html[data-theme="saffron"] .admin-filterbar input,
html[data-theme="forest"] .admin-filterbar input,
html[data-theme="dark"] .admin-filterbar input,
html[data-theme="saffron"] .admin-filterbar select,
html[data-theme="forest"] .admin-filterbar select,
html[data-theme="dark"] .admin-filterbar select,
html[data-theme="saffron"] .admin-form-grid input,
html[data-theme="forest"] .admin-form-grid input,
html[data-theme="dark"] .admin-form-grid input,
html[data-theme="saffron"] .admin-form-grid select,
html[data-theme="forest"] .admin-form-grid select,
html[data-theme="dark"] .admin-form-grid select,
html[data-theme="saffron"] .admin-form-grid textarea,
html[data-theme="forest"] .admin-form-grid textarea,
html[data-theme="dark"] .admin-form-grid textarea {
  color: var(--ui-text);
  border-color: var(--ui-border);
  background: var(--ui-surface);
}

html[data-theme="saffron"] .admin-top-action,
html[data-theme="forest"] .admin-top-action,
html[data-theme="dark"] .admin-top-action,
html[data-theme="saffron"] .admin-btn--light,
html[data-theme="forest"] .admin-btn--light,
html[data-theme="dark"] .admin-btn--light,
html[data-theme="saffron"] .admin-row-action,
html[data-theme="forest"] .admin-row-action,
html[data-theme="dark"] .admin-row-action {
  color: var(--ui-heading);
  border-color: var(--ui-border);
  background: var(--ui-surface-alt);
}

html[data-theme="saffron"] .admin-row-action--view,
html[data-theme="forest"] .admin-row-action--view,
html[data-theme="dark"] .admin-row-action--view {
  color: #fff;
  background: linear-gradient(
    135deg,
    var(--ui-accent),
    var(--ui-accent-strong)
  );
}

html[data-theme="saffron"] .admin-nav a,
html[data-theme="forest"] .admin-nav a,
html[data-theme="dark"] .admin-nav a {
  color: var(--ui-muted);
}
html[data-theme="saffron"] .admin-nav a:hover,
html[data-theme="forest"] .admin-nav a:hover,
html[data-theme="dark"] .admin-nav a:hover,
html[data-theme="saffron"] .admin-nav a.is-active,
html[data-theme="forest"] .admin-nav a.is-active,
html[data-theme="dark"] .admin-nav a.is-active {
  color: var(--ui-heading);
  border-color: var(--ui-border);
  background: var(--ui-accent-soft);
}
html[data-theme="saffron"] .admin-nav a span,
html[data-theme="forest"] .admin-nav a span,
html[data-theme="dark"] .admin-nav a span {
  color: var(--ui-accent);
  background: var(--ui-accent-soft);
}

html[data-theme="dark"] .event-identity,
html[data-theme="dark"] .event-meta span {
  color: var(--ui-text);
  border-color: var(--ui-border);
  background: rgba(28, 31, 34, 0.9);
}
html[data-theme="dark"] .event-kicker,
html[data-theme="dark"] .event-kicker--bangla,
html[data-theme="dark"] .event-hero h1,
html[data-theme="dark"] .event-taglines {
  color: var(--ui-heading);
}
html[data-theme="dark"] .registration-card {
  border-color: var(--ui-border);
  background: var(--ui-surface);
}
html[data-theme="dark"] .registration-body,
html[data-theme="dark"] .form-step {
  color: var(--ui-text);
  background: var(--ui-surface);
}
html[data-theme="dark"] .form-step legend,
html[data-theme="dark"] .field > label,
html[data-theme="dark"] .field > .label,
html[data-theme="dark"] .review-grid dd,
html[data-theme="dark"] .review-card__heading strong,
html[data-theme="dark"] .event-confirmation strong,
html[data-theme="dark"] .payment-status strong,
html[data-theme="dark"] .consent-card strong {
  color: var(--ui-heading);
}
html[data-theme="dark"]
  .field
  input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .phone-control,
html[data-theme="dark"] .choice-card span,
html[data-theme="dark"] .review-card,
html[data-theme="dark"] .event-confirmation,
html[data-theme="dark"] .payment-status,
html[data-theme="dark"] .consent-card,
html[data-theme="dark"] .payment-summary {
  color: var(--ui-text);
  border-color: var(--ui-border);
  background: var(--ui-surface-alt);
}
html[data-theme="dark"] .review-grid div,
html[data-theme="dark"] .payment-summary div {
  border-color: var(--ui-border);
}
html[data-theme="dark"] .field input::placeholder,
html[data-theme="dark"] .field textarea::placeholder,
html[data-theme="dark"] .field-help-row,
html[data-theme="dark"] .field-note,
html[data-theme="dark"] .review-grid dt,
html[data-theme="dark"] .review-card__heading small,
html[data-theme="dark"] .event-confirmation small,
html[data-theme="dark"] .payment-status p,
html[data-theme="dark"] .consent-card small {
  color: var(--ui-muted);
}

html[data-theme="dark"] .portal-header,
html[data-theme="dark"] .qr-scanner,
html[data-theme="dark"] .qr-scanner__heading,
html[data-theme="dark"] .verification-result,
html[data-theme="dark"] .verification-person,
html[data-theme="dark"] .verification-facts,
html[data-theme="dark"] .ticket-search__control input,
html[data-theme="dark"] .qr-scan-button {
  color: var(--ui-text);
  border-color: var(--ui-border);
  background: var(--ui-surface);
}
html[data-theme="dark"] .portal-brand,
html[data-theme="dark"] .portal-brand strong,
html[data-theme="dark"] .verifier-intro h1,
html[data-theme="dark"] .verification-person h2,
html[data-theme="dark"] .verification-facts strong,
html[data-theme="dark"] .qr-scanner__heading h2 {
  color: var(--ui-heading);
}
html[data-theme="dark"] .portal-brand small,
html[data-theme="dark"] .verifier-intro p,
html[data-theme="dark"] .verification-person p,
html[data-theme="dark"] .verification-facts span,
html[data-theme="dark"] .qr-scanner__heading p,
html[data-theme="dark"] .qr-scan-button small {
  color: var(--ui-muted);
}

@media (max-width: 720px) {
  .theme-switcher {
    right: 10px;
    bottom: 10px;
  }
  .theme-switcher__toggle b {
    display: none;
  }
  .theme-switcher__toggle {
    width: 43px;
    padding: 0;
    justify-content: center;
  }
  .ticket-lookup-page {
    padding: 15px 10px 74px;
  }
  .ticket-lookup-card {
    border-radius: 18px;
  }
  .ticket-lookup-card__head {
    padding: 13px;
  }
  .ticket-lookup-safe {
    display: none;
  }
  .ticket-lookup-intro {
    padding: 24px 18px 15px;
  }
  .ticket-lookup-form {
    padding: 7px 18px 20px;
  }
  .ticket-lookup-phone {
    grid-template-columns: 49px minmax(0, 1fr);
  }
  .ticket-lookup-phone button {
    grid-column: 1 / -1;
    min-height: 48px;
  }
  .ticket-lookup-message,
  .ticket-lookup-results {
    margin-right: 18px;
    margin-left: 18px;
  }
  .ticket-lookup-result {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 11px;
  }
  .ticket-lookup-result > .portal-button {
    grid-column: 1 / -1;
  }
  .admin-row-actions {
    justify-content: flex-end;
  }
  .admin-top-action--find::before {
    content: "⌕" !important;
    color: var(--ui-accent) !important;
  }
  .admin-top-action--scanner::before {
    content: "✓" !important;
    color: var(--ui-accent) !important;
  }
  html[data-theme="saffron"] .admin-data-table tr,
  html[data-theme="forest"] .admin-data-table tr,
  html[data-theme="dark"] .admin-data-table tr {
    border-color: var(--ui-border);
    background: var(--ui-surface);
  }
}

@media print {
  html {
    color-scheme: light !important;
  }
  .theme-switcher {
    display: none !important;
  }
  .seminar-ticket,
  .seminar-ticket__main {
    color: #2c1b18 !important;
    background: #fffdf8 !important;
  }
  .seminar-ticket__stub {
    background: linear-gradient(155deg, #fff8e8, #f5e1bd) !important;
  }
}
