/* ============================================================
   WhereIsMyEvent — Redesign CSS
   Modern minimal design system (Linear/Vercel style)
   Built on top of Bootstrap 5, no SASS needed
   ============================================================ */

/* ────────────────────────────────────────────────────────────
   Section 1: Design Tokens
   ──────────────────────────────────────────────────────────── */
:root {
  /* Neutrals (warm gray) */
  --wime-bg:             #FAFAF9;
  --wime-bg-sub:         #F4F4F2;
  --wime-card:           #FFFFFF;
  --wime-border:         #E7E5E4;
  --wime-border-strong:  #D6D3D1;
  --wime-line:           #EAE8E6;

  --wime-text:           #1C1917;
  --wime-text-sub:       #57534E;
  --wime-text-muted:     #A8A29E;

  /* Primary (indigo) */
  --wime-primary:        #4F46E5;
  --wime-primary-hover:  #4338CA;
  --wime-primary-soft:   #EEF2FF;
  --wime-primary-soft-border: #E0E7FF;

  /* Status */
  --wime-success:        #059669;
  --wime-success-soft:   #ECFDF5;
  --wime-warning:        #D97706;
  --wime-warning-soft:   #FFFBEB;
  --wime-danger:         #DC2626;
  --wime-danger-soft:    #FEF2F2;
  --wime-info:           #0369A1;
  --wime-info-soft:      #F0F9FF;

  /* Category accents */
  --wime-cat-conference-fg:  #4338CA;
  --wime-cat-conference-bg:  #EEF2FF;
  --wime-cat-conference-dot: #6366F1;
  --wime-cat-workshop-fg:    #9A3412;
  --wime-cat-workshop-bg:    #FFF7ED;
  --wime-cat-workshop-dot:   #F97316;
  --wime-cat-concert-fg:     #9D174D;
  --wime-cat-concert-bg:     #FDF2F8;
  --wime-cat-concert-dot:    #EC4899;
  --wime-cat-networking-fg:  #065F46;
  --wime-cat-networking-bg:  #ECFDF5;
  --wime-cat-networking-dot: #10B981;
  --wime-cat-exhibition-fg:  #1E40AF;
  --wime-cat-exhibition-bg:  #EFF6FF;
  --wime-cat-exhibition-dot: #3B82F6;

  /* Typography */
  --wime-font-sans:  "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --wime-font-serif: "Instrument Serif", "Times New Roman", serif;
  --wime-font-mono:  "JetBrains Mono", ui-monospace, monospace;

  /* Radii */
  --wime-radius:     10px;
  --wime-radius-lg:  14px;

  /* Shadows */
  --wime-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 1px rgba(15, 23, 42, 0.03);
  --wime-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --wime-shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.10), 0 2px 6px rgba(15, 23, 42, 0.05);
}

/* ────────────────────────────────────────────────────────────
   Section 2: Bootstrap Overrides
   ──────────────────────────────────────────────────────────── */
body {
  font-family: var(--wime-font-sans);
  color: var(--wime-text);
  background-color: var(--wime-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Buttons */
.btn {
  font-family: var(--wime-font-sans);
  font-weight: 500;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.12s ease;
}

.btn-primary {
  background-color: var(--wime-primary);
  border-color: var(--wime-primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 2px rgba(79, 70, 229, 0.3);
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--wime-primary-hover);
  border-color: var(--wime-primary-hover);
}
.btn-primary:active {
  background-color: #3730A3;
  border-color: #3730A3;
}

.btn-outline-primary {
  color: var(--wime-primary);
  border-color: var(--wime-border);
  background: #fff;
}
.btn-outline-primary:hover {
  background: var(--wime-primary-soft);
  color: var(--wime-primary);
  border-color: var(--wime-primary-soft-border);
}

.btn-sm {
  padding: 6px 12px;
  font-size: 13px;
  border-radius: 8px;
}

.btn-lg {
  padding: 11px 18px;
  font-size: 14px;
  border-radius: 8px;
  height: 42px;
}

/* Cards */
.card {
  border: 1px solid var(--wime-border);
  border-radius: var(--wime-radius-lg);
  box-shadow: var(--wime-shadow-sm);
  background: var(--wime-card);
}
.card-body { padding: 20px; }

/* Form controls */
.form-control,
.form-select {
  border: 1px solid var(--wime-border);
  border-radius: 8px;
  font-family: var(--wime-font-sans);
  font-size: 14px;
  color: var(--wime-text);
  box-shadow: var(--wime-shadow-sm);
  padding: 8px 14px;
  height: 42px;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--wime-primary);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.form-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--wime-text);
  margin-bottom: 6px;
}
.form-check-input:checked {
  background-color: var(--wime-primary);
  border-color: var(--wime-primary);
}

/* Tables */
.table {
  font-size: 13px;
  color: var(--wime-text);
}
.table > thead {
  font-size: 12px;
  font-weight: 600;
  color: var(--wime-text-muted);
  letter-spacing: 0.2px;
  text-transform: uppercase;
  background: var(--wime-bg-sub);
}
.table > thead > tr > th {
  border-bottom: 1px solid var(--wime-border);
  padding: 12px 20px;
}
.table > tbody > tr > td {
  padding: 16px 20px;
  border-bottom: 1px solid var(--wime-line);
  vertical-align: middle;
}

/* Badges (Bootstrap override) */
.badge {
  font-family: var(--wime-font-sans);
  font-weight: 500;
  font-size: 12px;
  border-radius: 999px;
  padding: 3px 9px;
}

/* Alert overrides */
.alert {
  border-radius: var(--wime-radius);
  font-size: 14px;
}

/* ────────────────────────────────────────────────────────────
   Section 3: WIME Components
   ──────────────────────────────────────────────────────────── */

/* Badge pill */
.wime-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  font-family: var(--wime-font-sans);
  font-size: 12px;
  font-weight: 500;
  border-radius: 999px;
  line-height: 1.3;
  white-space: nowrap;
}
.wime-badge .wime-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  flex-shrink: 0;
}

/* Badge tones */
.wime-badge-neutral   { color: var(--wime-text-sub); background: var(--wime-bg-sub); border: 1px solid var(--wime-border); }
.wime-badge-success   { color: var(--wime-success); background: var(--wime-success-soft); border: 1px solid #A7F3D0; }
.wime-badge-danger    { color: var(--wime-danger); background: var(--wime-danger-soft); border: 1px solid #FECACA; }
.wime-badge-warning   { color: var(--wime-warning); background: var(--wime-warning-soft); border: 1px solid #FDE68A; }
.wime-badge-info      { color: var(--wime-info); background: var(--wime-info-soft); border: 1px solid #BAE6FD; }
.wime-badge-primary   { color: var(--wime-primary); background: var(--wime-primary-soft); border: 1px solid var(--wime-primary-soft-border); }

/* Category badges */
.wime-badge-category { border: none; }
.wime-badge-conference  { color: var(--wime-cat-conference-fg); background: var(--wime-cat-conference-bg); }
.wime-badge-workshop    { color: var(--wime-cat-workshop-fg); background: var(--wime-cat-workshop-bg); }
.wime-badge-concert     { color: var(--wime-cat-concert-fg); background: var(--wime-cat-concert-bg); }
.wime-badge-networking  { color: var(--wime-cat-networking-fg); background: var(--wime-cat-networking-bg); }
.wime-badge-exhibition  { color: var(--wime-cat-exhibition-fg); background: var(--wime-cat-exhibition-bg); }
/* fallback for categories not in the accent set */
.wime-badge-festival,
.wime-badge-sports,
.wime-badge-other       { color: var(--wime-text-sub); background: var(--wime-bg-sub); }

.wime-badge-conference .wime-badge-dot  { background: var(--wime-cat-conference-dot); }
.wime-badge-workshop .wime-badge-dot    { background: var(--wime-cat-workshop-dot); }
.wime-badge-concert .wime-badge-dot     { background: var(--wime-cat-concert-dot); }
.wime-badge-networking .wime-badge-dot  { background: var(--wime-cat-networking-dot); }
.wime-badge-exhibition .wime-badge-dot  { background: var(--wime-cat-exhibition-dot); }
.wime-badge-festival .wime-badge-dot,
.wime-badge-sports .wime-badge-dot,
.wime-badge-other .wime-badge-dot       { background: var(--wime-text-muted); }

/* Stat card */
.wime-stat-card {
  background: #fff;
  border: 1px solid var(--wime-border);
  border-radius: var(--wime-radius-lg);
  padding: 18px;
  box-shadow: var(--wime-shadow-sm);
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wime-stat-card .stat-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--wime-text-sub);
  font-weight: 500;
}
.wime-stat-card .stat-value {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.8px;
  color: var(--wime-text);
  line-height: 1.05;
}
.wime-stat-card .stat-delta {
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.wime-stat-card .stat-delta-up   { color: var(--wime-success); }
.wime-stat-card .stat-delta-flat { color: var(--wime-text-muted); }
.wime-stat-card .stat-sublabel {
  font-size: 12px;
  color: var(--wime-text-muted);
  margin-top: 2px;
}

/* Sidebar */
.wime-sidebar {
  width: 232px;
  flex-shrink: 0;
  background: #fff;
  border-right: 1px solid var(--wime-border);
  display: flex;
  flex-direction: column;
  padding: 20px 14px;
  min-height: 100vh;
}
.wime-sidebar .sidebar-logo { padding: 4px 8px 20px; }
.wime-sidebar .sidebar-org {
  margin: 0 4px 20px;
  padding: 10px 12px;
  background: var(--wime-bg-sub);
  border: 1px solid var(--wime-border);
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.wime-sidebar .sidebar-org:hover { background: var(--wime-bg); }
.wime-sidebar .sidebar-org-initials {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.wime-sidebar .sidebar-org-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--wime-text);
  line-height: 1.2;
}
.wime-sidebar .sidebar-org-slug {
  font-size: 11px;
  color: var(--wime-text-muted);
  font-family: var(--wime-font-mono);
  line-height: 1.2;
}

/* Sidebar nav */
.wime-sidebar .sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.wime-sidebar .sidebar-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--wime-text-sub);
  text-decoration: none;
  transition: background 0.12s, color 0.12s;
}
.wime-sidebar .sidebar-nav-item:hover {
  background: var(--wime-bg-sub);
  color: var(--wime-text);
}
.wime-sidebar .sidebar-nav-item.active {
  font-weight: 600;
  color: var(--wime-primary);
  background: var(--wime-primary-soft);
}
.wime-sidebar .sidebar-nav-item.active .wime-icon {
  color: var(--wime-primary);
}
.wime-sidebar .sidebar-nav-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 999px;
  margin-left: auto;
}
.wime-sidebar .sidebar-nav-item.active .sidebar-nav-badge {
  background: #fff;
  color: var(--wime-primary);
  border: 1px solid var(--wime-primary-soft-border);
}
.wime-sidebar .sidebar-nav-item:not(.active) .sidebar-nav-badge {
  background: var(--wime-bg-sub);
  color: var(--wime-text-muted);
}

/* Sidebar trial card */
.wime-sidebar .sidebar-trial {
  padding: 14px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--wime-primary-soft), #F5F3FF);
  border: 1px solid var(--wime-primary-soft-border);
  margin-bottom: 14px;
}
.wime-sidebar .sidebar-trial-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--wime-primary);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.wime-sidebar .sidebar-trial-text {
  font-size: 12px;
  color: var(--wime-text-sub);
  line-height: 1.45;
  margin-bottom: 10px;
}

/* Sidebar user */
.wime-sidebar .sidebar-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: 8px;
}
.wime-sidebar .sidebar-user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: linear-gradient(135deg, #F472B6, #A855F7);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.wime-sidebar .sidebar-user-name {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}
.wime-sidebar .sidebar-user-role {
  font-size: 11px;
  color: var(--wime-text-muted);
  line-height: 1.2;
}

/* Topbar */
.wime-topbar {
  height: 60px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--wime-border);
  background: #fff;
  padding: 0 32px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.wime-topbar .topbar-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.2px;
}
.wime-topbar .topbar-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--wime-border);
  border-radius: 8px;
  background: var(--wime-bg-sub);
  font-size: 13px;
  color: var(--wime-text-muted);
  width: 280px;
}
.wime-topbar .topbar-kbd {
  margin-left: auto;
  font-size: 11px;
  font-family: var(--wime-font-mono);
  padding: 1px 5px;
  border: 1px solid var(--wime-border);
  border-radius: 4px;
  background: #fff;
}

/* Filter bar */
.wime-filter-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.wime-filter-bar .filter-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--wime-border);
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  color: var(--wime-text);
  width: 280px;
}
.wime-filter-bar .filter-search input {
  border: none;
  outline: none;
  font-size: 13px;
  font-family: var(--wime-font-sans);
  color: var(--wime-text);
  background: transparent;
  flex: 1;
  width: 100%;
}
.wime-filter-bar .filter-search input::placeholder { color: var(--wime-text-muted); }
.wime-filter-bar .filter-toggle-group {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  color: var(--wime-text-muted);
}
.wime-filter-bar .filter-toggle {
  padding: 6px 10px;
  border-radius: 7px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.wime-filter-bar .filter-toggle.active {
  background: #fff;
  border: 1px solid var(--wime-border);
  color: var(--wime-text);
  font-weight: 500;
}

/* WIME card (generic) */
.wime-card {
  background: #fff;
  border: 1px solid var(--wime-border);
  border-radius: var(--wime-radius-lg);
  box-shadow: var(--wime-shadow-sm);
}
.wime-card-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--wime-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wime-card-title { font-size: 14px; font-weight: 600; }
.wime-card-subtitle { font-size: 12px; color: var(--wime-text-muted); margin-top: 2px; }

/* Action icon button */
.wime-icon-btn {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  border: 1px solid var(--wime-border);
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--wime-text-sub);
  padding: 0;
  transition: background 0.12s;
}
.wime-icon-btn:hover {
  background: var(--wime-bg-sub);
}

/* RSVP progress bar */
.wime-rsvp-bar {
  height: 4px;
  background: var(--wime-bg-sub);
  border-radius: 999px;
  overflow: hidden;
  margin-top: 4px;
}
.wime-rsvp-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--wime-primary);
}
.wime-rsvp-bar-fill.high { background: var(--wime-warning); }

/* Code block (dark) */
.wime-code-block {
  background: #0F0E17;
  border-radius: 8px;
  padding: 12px 14px;
  font-family: var(--wime-font-mono);
  font-size: 11.5px;
  line-height: 1.6;
  color: #E4E4E7;
  position: relative;
  overflow: hidden;
}
.wime-code-block .code-tag   { color: #F472B6; }
.wime-code-block .code-attr  { color: #A5B4FC; }
.wime-code-block .code-value { color: #86EFAC; }
.wime-code-block .code-muted { color: #A1A1AA; }

/* Checklist */
.wime-checklist-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  font-size: 13px;
}
.wime-checklist-check {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.wime-checklist-check.done {
  background: var(--wime-success);
  border: 1px solid var(--wime-success);
}
.wime-checklist-check.pending {
  background: #fff;
  border: 1.5px solid var(--wime-border-strong);
}
.wime-checklist-item.done .checklist-label {
  color: var(--wime-text-muted);
  text-decoration: line-through;
}

/* ────────────────────────────────────────────────────────────
   Section 4: Utilities
   ──────────────────────────────────────────────────────────── */
.font-serif  { font-family: var(--wime-font-serif) !important; }
.font-mono   { font-family: var(--wime-font-mono) !important; }
.font-sans   { font-family: var(--wime-font-sans) !important; }

.text-muted-warm { color: var(--wime-text-muted) !important; }
.text-sub        { color: var(--wime-text-sub) !important; }
.text-wime       { color: var(--wime-text) !important; }

.shadow-wime-sm { box-shadow: var(--wime-shadow-sm) !important; }
.shadow-wime-md { box-shadow: var(--wime-shadow-md) !important; }
.shadow-wime-lg { box-shadow: var(--wime-shadow-lg) !important; }

.border-wime { border-color: var(--wime-border) !important; }

/* Icon sizing */
.wime-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: currentColor;
}

/* Logo component */
.wime-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}
.wime-logo-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--wime-primary), #7C3AED);
  display: grid;
  place-items: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.wime-logo-text {
  font-family: var(--wime-font-sans);
  font-weight: 600;
  font-size: 16.5px;
  letter-spacing: -0.3px;
  color: var(--wime-text);
}
.wime-logo-text .accent { color: var(--wime-primary); }

/* Auth layout (split panel) */
.wime-auth-layout {
  display: flex;
  min-height: 100vh;
  background: var(--wime-bg);
}
.wime-auth-form-col {
  flex: 0 0 560px;
  max-width: 560px;
  padding: 56px 72px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-right: 1px solid var(--wime-border);
}
.wime-auth-marketing-col {
  flex: 1;
  position: relative;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(99, 102, 241, 0.12), transparent 60%),
    radial-gradient(ellipse at 80% 80%, rgba(139, 92, 246, 0.10), transparent 60%),
    var(--wime-bg);
  padding: 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.wime-auth-marketing-col .auth-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(79, 70, 229, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(79, 70, 229, 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
}

/* Auth separator ("or") */
.wime-auth-separator {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
}
.wime-auth-separator::before,
.wime-auth-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--wime-border);
}
.wime-auth-separator span {
  font-size: 12px;
  color: var(--wime-text-muted);
}

/* Auth input with icon */
.wime-input-icon-wrap {
  position: relative;
}
.wime-input-icon-wrap .input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--wime-text-muted);
  pointer-events: none;
}
.wime-input-icon-wrap .form-control {
  padding-left: 38px;
}

/* Footer links */
.wime-auth-footer {
  font-size: 12px;
  color: var(--wime-text-muted);
  display: flex;
  gap: 14px;
}
.wime-auth-footer a {
  color: inherit;
  text-decoration: none;
}
.wime-auth-footer a:hover { color: var(--wime-text-sub); }

/* Locale switcher pill */
.wime-locale-switcher {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--wime-border);
  font-size: 13px;
  font-weight: 500;
  color: var(--wime-text);
  box-shadow: var(--wime-shadow-sm);
  cursor: pointer;
  position: relative;
}

/* Hero for event detail */
.wime-hero {
  position: relative;
  height: 280px;
  flex-shrink: 0;
  overflow: hidden;
}
.wime-hero-gradient {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 40%, rgba(79, 70, 229, 0.35), transparent 55%),
    radial-gradient(ellipse at 75% 60%, rgba(236, 72, 153, 0.25), transparent 55%),
    linear-gradient(135deg, #1E1B4B 0%, #312E81 60%, #4C1D95 100%);
}
.wime-hero-dots {
  position: absolute;
  inset: 0;
  opacity: 0.3;
}
.wime-hero-content {
  position: absolute;
  inset: 0;
  padding: 36px 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.wime-hero h1 {
  margin: 0;
  font-family: var(--wime-font-serif);
  font-weight: 400;
  font-size: 72px;
  letter-spacing: -2px;
  line-height: 1;
  color: #fff;
}
.wime-hero h1 em { color: #C7D2FE; font-style: italic; }
.wime-hero-meta {
  margin-top: 12px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  display: flex;
  align-items: center;
  gap: 20px;
}
.wime-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Public header */
.wime-public-header {
  height: 64px;
  padding: 0 48px;
  border-bottom: 1px solid var(--wime-border);
  background: #fff;
  display: flex;
  align-items: center;
}
.wime-public-header nav {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  color: var(--wime-text-sub);
}
.wime-public-header nav a {
  color: inherit;
  text-decoration: none;
}
.wime-public-header nav a:hover { color: var(--wime-text); }

/* Sticky ticket card */
.wime-ticket-card {
  background: #fff;
  border: 1px solid var(--wime-border);
  border-radius: var(--wime-radius-lg);
  padding: 20px;
  box-shadow: var(--wime-shadow-md);
  position: sticky;
  top: 20px;
}

/* Pagination redesign */
.wime-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-top: 1px solid var(--wime-border);
  font-size: 12px;
  color: var(--wime-text-muted);
  background: var(--wime-bg-sub);
}

/* Table row cancelled state */
.wime-row-cancelled {
  background: #FEFCFC !important;
}
.wime-row-cancelled .event-title {
  color: var(--wime-text-muted) !important;
  text-decoration: line-through;
}

/* Date cell in sidebar */
.wime-date-card {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  background: var(--wime-bg-sub);
  border: 1px solid var(--wime-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wime-date-card .date-month {
  font-size: 10px;
  font-weight: 600;
  color: var(--wime-primary);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.wime-date-card .date-day {
  font-size: 20px;
  font-weight: 600;
  color: var(--wime-text);
  line-height: 1;
}

/* Responsive: hide marketing col on smaller screens */
@media (max-width: 991px) {
  .wime-auth-form-col {
    flex: 1;
    max-width: 100%;
    padding: 40px 32px;
  }
  .wime-auth-marketing-col { display: none; }
}
