/* ==========================================================================
   AINNA e-Tiket — Apple white minimal + lofi header, day & night.
   Loaded after the legacy editorial theme; intentionally visual-only.
   ========================================================================== */

:root,
html[data-theme="light"],
body[data-theme="light"] {
  --ui-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Inter, system-ui, sans-serif;
  --etk-bg: #f5f5f7;
  --etk-bg-2: #ececf0;
  --etk-surface: #ffffff;
  --etk-surface-solid: #ffffff;
  --etk-surface-2: #fafafa;
  --etk-line: #e5e5ea;
  --etk-line-strong: #d2d2d7;
  --etk-ink: #1d1d1f;
  --etk-muted: #6e6e73;
  --etk-accent: #0071e3;
  --etk-accent-2: #005bb5;
  --etk-accent-soft: rgba(0, 113, 227, .10);
  --etk-gold: #b07a34;
  --etk-gold-soft: #f2e3c9;
  --etk-gold-ink: #7a5a1e;
  --etk-warn-bg: #fff4dc;
  --etk-warn-ink: #805300;
  --etk-ok-bg: #e9f7ef;
  --etk-ok-ink: #17633f;
  --etk-bad-bg: #fde8ec;
  --etk-bad-ink: #a32138;
  --etk-grid: rgba(29, 29, 31, .06);
  --etk-shadow: 0 1px 2px rgba(16, 24, 40, .03), 0 10px 28px rgba(16, 24, 40, .06);
  --etk-shadow-hover: 0 2px 4px rgba(16, 24, 40, .04), 0 18px 42px rgba(16, 24, 40, .10);
  --etk-radius: 18px;
  --etk-radius-sm: 12px;
  --etk-hair: linear-gradient(90deg, #7ad9c2, #7cb7f2 28%, #b8a7f2 52%, #f0b08a 76%, #e89aa8);
  --etk-btn: #0071e3;
  --etk-btn-hover: #0077ed;
  --etk-btn-ink: #ffffff;
  --etk-metric-1: #ffffff;
  --etk-metric-2: #ffffff;
  --etk-metric-3: #ffffff;
  --etk-metric-4: #ffffff;
  --lofi-mint: #7ad9c2;
  --lofi-sky: #7cb7f2;
  --lofi-lilac: #b8a7f2;
  --lofi-peach: #f0b08a;
  --lofi-rose: #e89aa8;
  --lofi-lemon: #e8cf7a;
  --header-ink: #12202a;
  --header-muted: #40515d;
  --header-glass: rgba(255, 255, 255, .58);
  --header-glass-hover: rgba(255, 255, 255, .86);
  --header-border: rgba(18, 32, 42, .14);
  --shadow-1: 0 1px 2px rgba(16, 24, 40, .03), 0 10px 28px rgba(16, 24, 40, .06);
  --shadow-2: 0 2px 4px rgba(16, 24, 40, .04), 0 18px 42px rgba(16, 24, 40, .10);
  --shadow-3: inset 0 1px 0 #ffffff, 0 4px 0 color-mix(in srgb, var(--hub, #7cb7f2) 18%, transparent), 0 16px 34px rgba(16, 24, 40, .10);
  color-scheme: light;
}

html[data-theme="dark"],
body[data-theme="dark"] {
  --etk-bg: #000000;
  --etk-bg-2: #141416;
  --etk-surface: #1c1c1e;
  --etk-surface-solid: #1c1c1e;
  --etk-surface-2: #242426;
  --etk-line: #2c2c2e;
  --etk-line-strong: #3a3a3c;
  --etk-ink: #f5f5f7;
  --etk-muted: #a1a1a6;
  --etk-accent: #0a84ff;
  --etk-accent-2: #64b5ff;
  --etk-accent-soft: rgba(10, 132, 255, .16);
  --etk-gold: #d2ab63;
  --etk-gold-soft: #3a2f1d;
  --etk-gold-ink: #e3ca85;
  --etk-warn-bg: #3a2f14;
  --etk-warn-ink: #ffce7a;
  --etk-ok-bg: rgba(52, 165, 131, .16);
  --etk-ok-ink: #7fd9bd;
  --etk-bad-bg: rgba(214, 96, 96, .16);
  --etk-bad-ink: #f0a3a3;
  --etk-grid: rgba(255, 255, 255, .07);
  --etk-shadow: 0 1px 2px rgba(0, 0, 0, .30), 0 14px 36px rgba(0, 0, 0, .42);
  --etk-shadow-hover: 0 2px 4px rgba(0, 0, 0, .36), 0 22px 52px rgba(0, 0, 0, .55);
  --etk-hair: linear-gradient(90deg, #7ad9c2, #7cb7f2 28%, #b8a7f2 52%, #f0b08a 76%, #e89aa8);
  --etk-btn: #0a84ff;
  --etk-btn-hover: #339dff;
  --etk-btn-ink: #ffffff;
  --etk-metric-1: #1c1c1e;
  --etk-metric-2: #1c1c1e;
  --etk-metric-3: #1c1c1e;
  --etk-metric-4: #1c1c1e;
  --header-ink: #f5f5f7;
  --header-muted: #c2c9cf;
  --header-glass: rgba(255, 255, 255, .09);
  --header-glass-hover: rgba(255, 255, 255, .16);
  --header-border: rgba(255, 255, 255, .15);
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .30), 0 14px 36px rgba(0, 0, 0, .40);
  --shadow-2: 0 2px 4px rgba(0, 0, 0, .36), 0 22px 52px rgba(0, 0, 0, .55);
  --shadow-3: inset 0 1px 0 rgba(255, 255, 255, .10), 0 5px 0 color-mix(in srgb, var(--hub, #7cb7f2) 26%, #000), 0 20px 44px rgba(0, 0, 0, .55);
  color-scheme: dark;
}

/* ── Base surfaces and typography ─────────────────────────────────────── */
body.eticket-page {
  background-color: var(--etk-bg) !important;
  background-image: radial-gradient(900px 460px at 88% -12%, rgba(124, 183, 242, .10), transparent 62%) !important;
  color: var(--etk-ink);
  font-family: var(--ui-font);
  font-size: 15px;
}
[data-theme="dark"] body.eticket-page {
  background-image:
    radial-gradient(760px 420px at 12% -10%, rgba(122, 217, 194, .10), transparent 62%),
    radial-gradient(900px 480px at 92% -14%, rgba(124, 183, 242, .10), transparent 62%) !important;
}
.eticket-page button,
.eticket-page input,
.eticket-page select,
.eticket-page textarea { font-family: var(--ui-font); }
.eticket-page h1,
.eticket-page h2,
.eticket-page h3,
.eticket-page h4,
.eticket-page legend,
.eticket-page .brand,
.eticket-page .holder-title,
.eticket-page .calendar-head strong,
.eticket-page .slot-picker-head strong,
.eticket-page .admin-shell .admin-section > h2,
.eticket-page .slot-day-editor > summary,
.eticket-page .slot-add-tools > summary,
.eticket-page #cal-month {
  font-family: var(--ui-font) !important;
  font-weight: 650 !important;
  letter-spacing: -.03em;
}
.eticket-page h1 { font-weight: 700 !important; letter-spacing: -.045em; }
.eticket-page .eyebrow { color: var(--etk-muted) !important; letter-spacing: .10em; }
.eticket-page a { color: var(--etk-accent); }

/* ── Lofi header ───────────────────────────────────────────────────────── */
.eticket-page .topbar {
  background-color: #f3faf7;
  background-image:
    radial-gradient(60% 160% at 4% 0%, rgba(122, 217, 194, .97), transparent 66%),
    radial-gradient(56% 160% at 27% 0%, rgba(124, 183, 242, .94), transparent 66%),
    radial-gradient(56% 160% at 52% 0%, rgba(184, 167, 242, .92), transparent 66%),
    radial-gradient(56% 160% at 77% 0%, rgba(240, 176, 138, .88), transparent 66%),
    radial-gradient(56% 160% at 100% 0%, rgba(232, 154, 168, .88), transparent 66%),
    linear-gradient(100deg, #e9fbf4, #eaf4ff 36%, #f4ecff 68%, #fff1e4);
  border-bottom: 1px solid var(--header-border);
  color: var(--header-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 8px 28px rgba(18, 32, 42, .06);
  backdrop-filter: blur(18px) saturate(135%);
}
.eticket-page .topbar::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, #7ad9c2, #7cb7f2 26%, #b8a7f2 52%, #f0b08a 76%, #e89aa8);
  opacity: .95;
  pointer-events: none;
}
[data-theme="dark"] .eticket-page .topbar {
  background-color: #0a1014;
  background-image:
    radial-gradient(56% 160% at 4% 0%, rgba(32, 137, 124, .62), transparent 64%),
    radial-gradient(52% 160% at 28% 0%, rgba(38, 91, 154, .64), transparent 64%),
    radial-gradient(52% 160% at 54% 0%, rgba(91, 65, 143, .64), transparent 64%),
    radial-gradient(52% 160% at 78% 0%, rgba(142, 72, 45, .56), transparent 64%),
    radial-gradient(52% 160% at 100% 0%, rgba(133, 47, 68, .58), transparent 64%),
    linear-gradient(100deg, #07110f, #0a1526 38%, #1a1029 70%, #241018);
  border-bottom-color: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 10px 34px rgba(0, 0, 0, .45);
}
.eticket-page .top-inner { min-height: 80px; }
.eticket-page .brand {
  color: var(--header-ink) !important;
  font-weight: 750 !important;
  letter-spacing: -.025em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .22);
}
[data-theme="dark"] .eticket-page .brand { text-shadow: none; }
.eticket-page .brand small {
  color: var(--header-muted) !important;
  font-family: var(--ui-font) !important;
  font-weight: 550;
  letter-spacing: .07em;
}
.eticket-page .brand .mark,
.eticket-page .brand-mark {
  background: linear-gradient(145deg, #7ad9c2, #7cb7f2 42%, #b8a7f2 72%, #f0b08a) !important;
  color: #102029 !important;
  box-shadow: 0 7px 22px rgba(18, 32, 42, .18), inset 0 1px 0 rgba(255, 255, 255, .65) !important;
}
.eticket-page .admin-nav { gap: 8px; }
.eticket-page .admin-nav > a,
.eticket-page .admin-nav .portal-nav-dropdown summary,
.eticket-page .admin-nav #eticket-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid var(--header-border);
  border-radius: 999px;
  background: var(--header-glass);
  color: var(--header-ink) !important;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34);
  backdrop-filter: blur(10px);
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.eticket-page .admin-nav > a:hover,
.eticket-page .admin-nav .portal-nav-dropdown summary:hover,
.eticket-page .admin-nav #eticket-theme-toggle:hover {
  background: var(--header-glass-hover);
  border-color: color-mix(in srgb, var(--header-ink) 22%, transparent);
  text-decoration: none;
  transform: translateY(-1px);
}
.eticket-page .admin-nav #eticket-theme-toggle .etk-dot {
  background: linear-gradient(135deg, #7ad9c2, #7cb7f2 36%, #b8a7f2 68%, #f0b08a);
  box-shadow: 0 0 9px rgba(124, 183, 242, .6);
}
.eticket-page .portal-nav-panel {
  background: var(--etk-surface-solid);
  border-color: var(--etk-line);
  box-shadow: var(--shadow-2);
}
.eticket-page .portal-nav-panel a,
.eticket-page .portal-nav-panel button { color: var(--etk-ink); }
.eticket-page .portal-nav-panel a.is-active { background: var(--etk-accent-soft); color: var(--etk-accent); }

/* ── Cards: neutral Apple surfaces, 3D only where it matters ───────────── */
.eticket-page .card,
.eticket-page .booking-card,
.eticket-page .summary-tile,
.eticket-page .attention-panel,
.eticket-page .workspace-panel,
.eticket-page .timeshift-row,
.eticket-page .f2b-stat,
.eticket-page .service-manage-card,
.eticket-page .git-branch,
.eticket-page .git-commit,
.eticket-page .docker-section,
.eticket-page .slot-picker,
.eticket-page .slot-edit-card,
.eticket-page .confirmation-card,
.eticket-page .notice-card,
.eticket-page .permission-group,
.eticket-page .projection-card,
.eticket-page .metric {
  background: var(--etk-surface) !important;
  border-color: var(--etk-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--shadow-1) !important;
}
.eticket-page .card::before { background: var(--etk-hair) !important; opacity: .72; }
.eticket-page .admin-shell .card::before { display: none; }
.eticket-page .card:hover { box-shadow: var(--shadow-2) !important; transform: none; }
.eticket-page .admin-shell .card:hover,
.eticket-page .workspace-panel:hover,
.eticket-page .attention-panel:hover { transform: none; }

.eticket-page .ticket-type {
  background: linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--etk-bg-2) 42%, #ffffff)) !important;
  border-color: var(--etk-line) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 0 #ffffff, 0 3px 0 var(--etk-line), var(--shadow-1) !important;
}
.eticket-page .ticket-type:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--etk-accent) 30%, var(--etk-line)) !important;
  box-shadow: inset 0 1px 0 #ffffff, 0 5px 0 color-mix(in srgb, var(--etk-accent) 18%, var(--etk-line)), var(--shadow-2) !important;
}
[data-theme="dark"] .eticket-page .ticket-type {
  background: linear-gradient(145deg, #242426, #1c1c1e) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 3px 0 #2c2c2e, var(--shadow-1) !important;
}

.eticket-page .hub-card {
  background: linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--hub) 6%, #ffffff)) !important;
  border-color: color-mix(in srgb, var(--hub) 26%, var(--etk-line)) !important;
  box-shadow:
    inset 0 1px 0 #ffffff,
    0 4px 0 color-mix(in srgb, var(--hub) 20%, transparent),
    0 16px 30px color-mix(in srgb, var(--hub) 10%, transparent) !important;
}
[data-theme="dark"] .eticket-page .hub-card {
  background: linear-gradient(145deg, color-mix(in srgb, var(--hub) 10%, #1c1c1e), #1c1c1e) !important;
  border-color: color-mix(in srgb, var(--hub) 34%, #2c2c2e) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 5px 0 color-mix(in srgb, var(--hub) 24%, #000), 0 18px 34px rgba(0, 0, 0, .45) !important;
}
.eticket-page .hub-card, .eticket-page .hub-card:hover, .eticket-page .hub-card:focus-visible { text-decoration: none !important; }
.eticket-page .hub-card:hover { transform: translateY(-4px); }
.eticket-page .hub-card .hub-text strong { color: var(--etk-ink) !important; text-decoration: none !important; }
.eticket-page .hub-card .hub-text small { color: var(--etk-muted) !important; text-decoration: none !important; }
.eticket-page .hub-card .hub-arrow { text-decoration: none !important; }
.eticket-page .hub-icon {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), inset 0 -7px 11px rgba(0, 0, 0, .18), 0 8px 16px color-mix(in srgb, var(--hub) 34%, transparent);
}

/* ── Hero, tabs, menus and filters ─────────────────────────────────────── */
.eticket-page .hero { color: var(--etk-ink); }
.eticket-page .hero h1 { color: var(--etk-ink) !important; background: transparent !important; }
.eticket-page .booking-panel { background: transparent !important; }
.eticket-page .lead { color: var(--etk-muted); }
.eticket-page .portal-menu {
  background: var(--etk-surface) !important;
  border-color: var(--etk-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-1) !important;
}
.eticket-page .portal-menu button.is-active {
  background: var(--etk-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 5px 14px rgba(0, 113, 227, .24);
}
[data-theme="dark"] .eticket-page .portal-menu button.is-active { box-shadow: 0 5px 16px rgba(10, 132, 255, .30); }
.eticket-page .booking-tabs {
  background: var(--etk-surface-2) !important;
  border-color: var(--etk-line) !important;
  border-radius: 14px !important;
}
.eticket-page .booking-tab { color: var(--etk-muted); }
.eticket-page .booking-tab:hover { color: var(--etk-ink); }
.eticket-page .booking-tab.is-active {
  background: var(--etk-surface) !important;
  color: var(--etk-ink);
  box-shadow: 0 2px 8px rgba(16, 24, 40, .08) !important;
}
.eticket-page .booking-tab.is-active > span {
  background: var(--etk-accent-soft);
  color: var(--etk-accent);
}
.eticket-page .booking-step.active,
.eticket-page .booking-step.complete { color: var(--etk-accent); }
.eticket-page .booking-step.active b,
.eticket-page .booking-step.complete b { border-color: var(--etk-accent); background: var(--etk-accent-soft); }
.eticket-page .field:has([required]) > .field-label::after { color: var(--etk-accent); }
.eticket-page .holder {
  background: var(--etk-surface) !important;
  border-color: var(--etk-line) !important;
  box-shadow: var(--shadow-1) !important;
}
.eticket-page .holder-number { background: var(--etk-accent-soft); color: var(--etk-accent); }
.eticket-page .booking-total strong,
.eticket-page .review-total strong,
.eticket-page .ticket-type strong { color: var(--etk-ink) !important; }
.eticket-page .booking-total { background: var(--etk-surface-2) !important; border-color: var(--etk-line) !important; }

/* ── Forms, buttons and tables ─────────────────────────────────────────── */
.eticket-page input:not([type="checkbox"]):not([type="radio"]),
.eticket-page select,
.eticket-page textarea {
  background: var(--etk-surface) !important;
  border-color: var(--etk-line-strong) !important;
  color: var(--etk-ink) !important;
  border-radius: 12px;
}
.eticket-page input:focus,
.eticket-page select:focus,
.eticket-page textarea:focus {
  border-color: var(--etk-accent) !important;
  box-shadow: 0 0 0 3px var(--etk-accent-soft) !important;
}
.eticket-page .btn,
.eticket-page .audit-submit,
.eticket-page .timeshift-button.primary {
  background: var(--etk-btn) !important;
  border-color: var(--etk-btn) !important;
  color: var(--etk-btn-ink) !important;
  border-radius: 999px !important;
  box-shadow: 0 5px 16px rgba(0, 113, 227, .18) !important;
}
.eticket-page .btn:hover,
.eticket-page .audit-submit:hover,
.eticket-page .timeshift-button.primary:hover {
  background: var(--etk-btn-hover) !important;
  border-color: var(--etk-btn-hover) !important;
  filter: none;
}
.eticket-page .btn.secondary,
.eticket-page .btn.quiet,
.eticket-page .timeshift-button {
  background: var(--etk-surface-2) !important;
  border-color: var(--etk-line) !important;
  color: var(--etk-ink) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}
.eticket-page .btn.secondary:hover,
.eticket-page .btn.quiet:hover,
.eticket-page .timeshift-button:hover { background: var(--etk-surface) !important; border-color: var(--etk-line-strong) !important; }
.eticket-page .admin-shell .btn { border-radius: 999px !important; }
.eticket-page .admin-shell .btn.secondary { background: var(--etk-surface-2) !important; }
.eticket-page th { background: var(--etk-surface-2) !important; color: var(--etk-muted) !important; }
.eticket-page tbody tr:hover td { background: color-mix(in srgb, var(--etk-accent) 4%, var(--etk-surface)); }
.eticket-page .pill.success { background: var(--etk-ok-bg); color: var(--etk-ok-ink); }
.eticket-page .pill.danger { background: var(--etk-bad-bg); color: var(--etk-bad-ink); }
.eticket-page .pill.warn { background: var(--etk-warn-bg); color: var(--etk-warn-ink); }

/* ── Calendar and slot chips ───────────────────────────────────────────── */
.eticket-page .calendar {
  --cal-bg: #ffffff;
  --cal-ink: #1d1d1f;
  --cal-weekday: #6e6e73;
  --cal-line: #e5e5ea;
  --cal-cell-bg: #fafafa;
  --cal-cell-line: #e5e5ea;
  --cal-day-muted: #8e8e93;
  --cal-nav-bg: #f5f5f7;
  --cal-nav-line: #e5e5ea;
  --cal-nav-ink: #0071e3;
  --cal-nav-hover: #ececf0;
  --cal-sel-bg: #0071e3;
  --cal-sel-ink: #ffffff;
  --cal-today-ring: rgba(0, 113, 227, .45);
  --cal-full-bg: rgba(220, 60, 70, .07);
  --cal-full-line: rgba(220, 60, 70, .28);
  --cal-full-ink: #a32138;
  --cal-full-strike: rgba(220, 60, 70, .30);
  --cal-shadow: var(--shadow-1);
  border-radius: 18px !important;
}
[data-theme="dark"] .eticket-page .calendar {
  --cal-bg: #1c1c1e;
  --cal-ink: #f5f5f7;
  --cal-weekday: #a1a1a6;
  --cal-line: #2c2c2e;
  --cal-cell-bg: #242426;
  --cal-cell-line: #2c2c2e;
  --cal-day-muted: #6e6e73;
  --cal-nav-bg: #242426;
  --cal-nav-line: #3a3a3c;
  --cal-nav-ink: #64b5ff;
  --cal-nav-hover: #2c2c2e;
  --cal-sel-bg: #0a84ff;
  --cal-sel-ink: #ffffff;
  --cal-today-ring: rgba(10, 132, 255, .55);
  --cal-full-bg: rgba(255, 120, 130, .10);
  --cal-full-line: rgba(255, 120, 130, .34);
  --cal-full-ink: #ff9aa2;
  --cal-full-strike: rgba(255, 120, 130, .45);
  --cal-shadow: var(--shadow-1);
}
.eticket-page .cal-day.is-selected { box-shadow: 0 8px 22px rgba(0, 113, 227, .28) !important; }
.eticket-page .cal-day:hover:not(:disabled) { border-color: var(--etk-accent); box-shadow: 0 8px 20px rgba(0, 113, 227, .16); }
.eticket-page .slot-chip.is-selected {
  background: var(--etk-accent) !important;
  border-color: var(--etk-accent) !important;
  color: #ffffff !important;
}
.eticket-page .slot-chip.is-selected small { color: #ffffff !important; }
.eticket-page .slot-chip:hover { border-color: var(--etk-accent); }

/* ── Admin workspace ───────────────────────────────────────────────────── */
.eticket-page .admin-title h1 { color: var(--etk-ink); }
.eticket-page .admin-title .muted { color: var(--etk-muted); }
.eticket-page .workspace-heading,
.eticket-page .section-heading h2,
.eticket-page .attention-panel h2,
.eticket-page .workspace-panel h2 { color: var(--etk-ink); }
.eticket-page .summary-icon {
  color: var(--etk-accent);
  background: linear-gradient(145deg, #eaf9f4, #eef5ff 55%, #f6efff);
  box-shadow: inset 0 1px 0 #ffffff, 0 4px 10px rgba(16, 24, 40, .05);
}
[data-theme="dark"] .eticket-page .summary-icon { background: linear-gradient(145deg, #1c2c2b, #1b2534 55%, #241d31); }
.eticket-page .dashboard-scan-shortcut {
  background: var(--etk-btn) !important;
  border-color: var(--etk-btn) !important;
  color: #ffffff !important;
  box-shadow: 0 5px 18px rgba(0, 113, 227, .22) !important;
}
.eticket-page .dashboard-scan-shortcut:hover { background: var(--etk-btn-hover) !important; }
.eticket-page .workspace-back { color: var(--etk-accent); }
.eticket-page .metric-switch button[aria-pressed="true"] { background: var(--etk-accent); color: #ffffff; }
.eticket-page #simple-trend { color: var(--etk-accent); }
.eticket-page .capacity-state { background: var(--etk-ok-bg); color: var(--etk-ok-ink); }
.eticket-page .capacity-state.WARNING { background: var(--etk-warn-bg); color: var(--etk-warn-ink); }
.eticket-page .capacity-state.CRITICAL { background: var(--etk-bad-bg); color: var(--etk-bad-ink); }
.eticket-page .capacity-state.UPGRADE-RECOMMENDED { background: var(--etk-warn-bg); color: var(--etk-warn-ink); }

/* ── Footer, alerts, misc ──────────────────────────────────────────────── */
.eticket-page .footer {
  margin-top: 44px;
  padding: 20px 22px 28px;
  border-top: 1px solid var(--etk-line);
  background: transparent;
  color: var(--etk-muted);
  font-size: 11px;
}
.eticket-page .feedback { border-radius: 12px; }
.eticket-page .feedback.error { background: var(--etk-bad-bg); color: var(--etk-bad-ink); border-color: color-mix(in srgb, var(--etk-bad-ink) 28%, var(--etk-line)); }
.eticket-page .feedback.warn { background: var(--etk-warn-bg); color: var(--etk-warn-ink); }

/* Dark weekday tints used by slot calendar */
[data-theme="dark"] [data-weekday="1"] { --day-tint: #1a2f42; --day-ink: #a8d5f2; }
[data-theme="dark"] [data-weekday="2"] { --day-tint: #193629; --day-ink: #a9e3c2; }
[data-theme="dark"] [data-weekday="3"] { --day-tint: #2a2340; --day-ink: #cabff2; }
[data-theme="dark"] [data-weekday="4"] { --day-tint: #3a291d; --day-ink: #efc3a2; }
[data-theme="dark"] [data-weekday="5"] { --day-tint: #3a321c; --day-ink: #ebd68f; }
[data-theme="dark"] [data-weekday="6"] { --day-tint: #3b2028; --day-ink: #f0a7b3; }
[data-theme="dark"] [data-weekday="7"] { --day-tint: #38202f; --day-ink: #e6a8c6; }

@media (max-width: 760px) {
  .eticket-page .top-inner { min-height: 72px; gap: 8px; }
  .eticket-page .admin-nav { gap: 5px; }
  .eticket-page .admin-nav > a,
  .eticket-page .admin-nav .portal-nav-dropdown summary,
  .eticket-page .admin-nav #eticket-theme-toggle {
    min-height: 34px;
    padding: 6px 9px;
    font-size: 11px;
  }
  .eticket-page .brand { font-size: 13px; }
  .eticket-page .brand small { display: none; }
  .eticket-page .footer { margin-top: 28px; padding: 16px 14px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .eticket-page .topbar,
  .eticket-page .hub-card,
  .eticket-page .ticket-type,
  .eticket-page .btn,
  .eticket-page .admin-nav > a { transition: none !important; }
}

/* Inline slot date pickers (added after the base theme) */
[data-theme="dark"] .eticket-page .slot-picker-weekdays span,
[data-theme="dark"] .eticket-page .slot-calendar th {
  background: color-mix(in srgb, var(--day-tint, #242426) 52%, #1c1c1e);
  color: var(--day-ink, #f5f5f7);
  border-color: color-mix(in srgb, var(--day-ink, #a1a1a6) 34%, #2c2c2e);
}
[data-theme="dark"] .eticket-page .slot-picker-day,
[data-theme="dark"] .eticket-page .slot-calendar td {
  background: linear-gradient(155deg,
    color-mix(in srgb, var(--day-tint, #242426) 34%, #1c1c1e),
    color-mix(in srgb, var(--day-tint, #242426) 58%, #1c1c1e));
  border-color: color-mix(in srgb, var(--day-ink, #a1a1a6) 32%, #2c2c2e);
  color: var(--day-ink, #f5f5f7);
}
[data-theme="dark"] .eticket-page .slot-picker-day.is-selected,
[data-theme="dark"] .eticket-page .slot-picker-day.is-start,
[data-theme="dark"] .eticket-page .slot-picker-day.is-end {
  background: linear-gradient(155deg, color-mix(in srgb, var(--day-ink, #64b5ff) 82%, #fff 4%), color-mix(in srgb, var(--day-ink, #64b5ff) 70%, #000));
  color: #ffffff;
  border-color: color-mix(in srgb, var(--day-ink, #64b5ff) 80%, #fff 6%);
}
[data-theme="dark"] .eticket-page .slot-picker-day.is-in-range,
[data-theme="dark"] .eticket-page .slot-calendar-day.is-selected {
  background: color-mix(in srgb, var(--day-tint, #242426) 52%, #1c1c1e);
  border-color: color-mix(in srgb, var(--day-ink, #64b5ff) 56%, #2c2c2e);
  color: var(--day-ink, #f5f5f7);
}
[data-theme="dark"] .eticket-page .slot-picker-nav button {
  background: #242426;
  border-color: #3a3a3c;
  color: #64b5ff;
}

/* Admin workspace carries its own legacy token block; keep it in the same Apple palette. */
html[data-theme="light"] .admin-workspace,
body[data-theme="light"].admin-workspace {
  --etk-bg: #f5f5f7; --etk-bg-2: #ececf0; --etk-surface: #ffffff; --etk-surface-solid: #ffffff;
  --etk-surface-2: #fafafa; --etk-line: #e5e5ea; --etk-line-strong: #d2d2d7;
  --etk-ink: #1d1d1f; --etk-muted: #6e6e73; --etk-accent: #0071e3; --etk-accent-2: #005bb5;
  --etk-accent-soft: rgba(0,113,227,.10); --etk-gold: #b07a34; --etk-gold-ink: #7a5a1e;
  --etk-btn: #0071e3; --etk-btn-hover: #0077ed; --etk-btn-ink: #ffffff;
  --etk-metric-1: #ffffff; --etk-metric-2: #ffffff; --etk-metric-3: #ffffff; --etk-metric-4: #ffffff;
  --etk-shadow: 0 1px 2px rgba(16,24,40,.03), 0 10px 28px rgba(16,24,40,.06);
  --etk-shadow-hover: 0 2px 4px rgba(16,24,40,.04), 0 18px 42px rgba(16,24,40,.10);
  --etk-hair: linear-gradient(90deg,#7ad9c2,#7cb7f2 28%,#b8a7f2 52%,#f0b08a 76%,#e89aa8);
}
html[data-theme="dark"] .admin-workspace,
body[data-theme="dark"].admin-workspace {
  --etk-bg: #000000; --etk-bg-2: #141416; --etk-surface: #1c1c1e; --etk-surface-solid: #1c1c1e;
  --etk-surface-2: #242426; --etk-line: #2c2c2e; --etk-line-strong: #3a3a3c;
  --etk-ink: #f5f5f7; --etk-muted: #a1a1a6; --etk-accent: #0a84ff; --etk-accent-2: #64b5ff;
  --etk-accent-soft: rgba(10,132,255,.16); --etk-gold: #d2ab63; --etk-gold-ink: #e3ca85;
  --etk-btn: #0a84ff; --etk-btn-hover: #339dff; --etk-btn-ink: #ffffff;
  --etk-metric-1: #1c1c1e; --etk-metric-2: #1c1c1e; --etk-metric-3: #1c1c1e; --etk-metric-4: #1c1c1e;
  --etk-shadow: 0 1px 2px rgba(0,0,0,.30), 0 14px 36px rgba(0,0,0,.40);
  --etk-shadow-hover: 0 2px 4px rgba(0,0,0,.36), 0 22px 52px rgba(0,0,0,.55);
  --etk-hair: linear-gradient(90deg,#7ad9c2,#7cb7f2 28%,#b8a7f2 52%,#f0b08a 76%,#e89aa8);
}
[data-theme="dark"] .eticket-page .slot-picker-weekdays span,
[data-theme="dark"] .eticket-page .slot-calendar th {
  color: color-mix(in srgb, var(--day-ink, #a1a1a6) 22%, #ffffff) !important;
}
/* Apple-minimal day calendars: white cells, lofi color as an accent only. */
.eticket-page .slot-calendar th,
.eticket-page .slot-picker-weekdays span {
  background: color-mix(in srgb, var(--day-tint, #f5f5f7) 34%, #ffffff) !important;
  color: var(--day-ink, #6e6e73) !important;
}
.eticket-page .slot-calendar td,
.eticket-page .slot-picker-day {
  background: #ffffff !important;
  border-color: var(--etk-line) !important;
  color: var(--etk-ink) !important;
  box-shadow: none;
}
.eticket-page .slot-calendar td[data-weekday="6"],
.eticket-page .slot-calendar td[data-weekday="7"] {
  border-color: color-mix(in srgb, var(--day-ink, #e89aa8) 28%, var(--etk-line)) !important;
  box-shadow: inset 0 3px 0 color-mix(in srgb, var(--day-ink, #e89aa8) 18%, transparent) !important;
}
.eticket-page .slot-picker-day.is-in-range {
  background: color-mix(in srgb, var(--day-tint, #f5f5f7) 26%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--day-ink, #0071e3) 30%, var(--etk-line)) !important;
}
.eticket-page .slot-picker-day.is-selected,
.eticket-page .slot-picker-day.is-start,
.eticket-page .slot-picker-day.is-end,
.eticket-page .slot-calendar-day.is-selected {
  background: var(--etk-accent) !important;
  border-color: var(--etk-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 7px 18px rgba(0, 113, 227, .24) !important;
}
.eticket-page .slot-calendar-date { color: var(--etk-ink) !important; }
.eticket-page .slot-calendar-date:hover { background: var(--etk-surface-2) !important; color: var(--etk-accent) !important; }

/* Dark mode for the slot date dropdown/popovers. */
[data-theme="dark"] .eticket-page .slot-picker-popover {
  background: #1c1c1e !important;
  border-color: #2c2c2e !important;
  color: #f5f5f7 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 20px 48px rgba(0, 0, 0, .58) !important;
}
[data-theme="dark"] .eticket-page .slot-date-trigger {
  background: linear-gradient(145deg, #242426, #1c1c1e) !important;
  border-color: #3a3a3c !important;
  color: #f5f5f7 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 4px 12px rgba(0, 0, 0, .28) !important;
}
[data-theme="dark"] .eticket-page .slot-date-trigger:hover,
[data-theme="dark"] .eticket-page .slot-date-control.is-open .slot-date-trigger {
  border-color: #0a84ff !important;
  box-shadow: 0 0 0 2px rgba(10, 132, 255, .22) !important;
}
[data-theme="dark"] .eticket-page .slot-date-trigger-label { color: #a1a1a6 !important; }
[data-theme="dark"] .eticket-page .slot-date-trigger strong { color: #f5f5f7 !important; }
[data-theme="dark"] .eticket-page .slot-date-trigger-icon {
  background: rgba(10, 132, 255, .16) !important;
  color: #64b5ff !important;
}
[data-theme="dark"] .eticket-page .slot-picker-weekdays span {
  background: color-mix(in srgb, var(--day-tint, #242426) 42%, #1c1c1e) !important;
  color: color-mix(in srgb, var(--day-ink, #64b5ff) 30%, #ffffff) !important;
}
[data-theme="dark"] .eticket-page .slot-picker-day {
  background: linear-gradient(155deg,
    color-mix(in srgb, var(--day-tint, #242426) 34%, #1c1c1e),
    color-mix(in srgb, var(--day-tint, #242426) 58%, #1c1c1e)) !important;
  border-color: color-mix(in srgb, var(--day-ink, #64b5ff) 32%, #2c2c2e) !important;
  color: #f5f5f7 !important;
}
[data-theme="dark"] .eticket-page .slot-picker-day.is-selected,
[data-theme="dark"] .eticket-page .slot-picker-day.is-start,
[data-theme="dark"] .eticket-page .slot-picker-day.is-end {
  background: #0a84ff !important;
  border-color: #0a84ff !important;
  color: #ffffff !important;
  box-shadow: 0 7px 18px rgba(10, 132, 255, .34) !important;
}
[data-theme="dark"] .eticket-page .slot-picker-day.is-in-range {
  background: color-mix(in srgb, var(--day-tint, #242426) 42%, #1c1c1e) !important;
  border-color: color-mix(in srgb, var(--day-ink, #64b5ff) 48%, #2c2c2e) !important;
  color: #f5f5f7 !important;
}
[data-theme="dark"] .eticket-page .slot-picker-weekdays span {
  color: #e8eef5 !important;
}
