:root {
    --gold: #E8B84B; --blue: #0A2240; --blue-mid: #1A3A60;
    --red: #C8102E; --white: #F8F5EF; --gray: #8A8A8A; --card-bg: #0E2D55; --accent: #4FC3F7;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { background: var(--blue); color: var(--white); font-family: 'DM Sans', sans-serif; min-height: 100vh; overflow-x: hidden; }
  header { background: linear-gradient(135deg, var(--blue) 0%, var(--blue-mid) 100%); border-bottom: 2px solid var(--gold); padding: 0 32px; display: flex; align-items: center; justify-content: space-between; height: 64px; position: sticky; top: 0; z-index: 100; }
  .logo { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 3px; color: var(--gold); }
  .logo span { color: var(--white); }
  .venmo-btn { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.15); color:var(--white); text-decoration:none; padding:8px 16px; border-radius:8px; font-size:12px; font-weight:600; transition:all 0.2s; white-space:nowrap; }
  .venmo-btn:hover { background:rgba(255,255,255,0.13); border-color:var(--gold); color:var(--gold); }
  .app { display: grid; grid-template-columns: 350px 1fr; min-height: calc(100vh - 64px); }
  
  .sidebar { background: var(--blue-mid); border-right: 1px solid rgba(255,255,255,0.08); display: flex; flex-direction: column; height: calc(100vh - 64px); position: sticky; top: 64px; overflow-y: auto; }
  .sidebar-section { padding: 20px; border-bottom: 1px solid rgba(255,255,255,0.06); }
  .sidebar-label { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 14px; }
  
  select { background: #1a3a60; border: 1px solid rgba(255,255,255,0.2); color: var(--white); padding: 10px; border-radius: 6px; width: 100%; cursor: pointer; margin-bottom: 12px; }
  select option { background-color: #1a3a60; color: #ffffff; }
  
  .toggle-container { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; background: rgba(255,255,255,0.04); padding: 12px; border-radius: 8px; border: 1px solid rgba(232, 184, 75, 0.2); }
  .switch { position: relative; width: 44px; height: 24px; }
  .switch input { opacity: 0; width: 0; height: 0; }
  .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255,255,255,0.1); transition: .3s; border-radius: 24px; }
  .slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: var(--white); transition: .3s; border-radius: 50%; }
  input:checked + .slider { background-color: var(--gold); }
  input:checked + .slider:before { transform: translateX(20px); }

  .main-content { display: flex; flex-direction: column; overflow: hidden; height: calc(100vh - 64px); }
  .content-header { padding: 16px 28px; display: flex; align-items: center; justify-content: space-between; background: rgba(0,0,0,0.2); border-bottom: 1px solid rgba(255,255,255,0.06); }
  .view-toggles { display: flex; background: rgba(255,255,255,0.05); padding: 4px; border-radius: 8px; gap: 4px; }
  .view-toggle { padding: 6px 16px; border: none; background: transparent; color: var(--gray); border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600; }
  .view-toggle.active { background: var(--gold); color: var(--blue); }

  .events-grid { padding: 24px; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; overflow-y: auto; }
  .calendar-view { display: flex; gap: 20px; padding: 24px; overflow-x: auto; overflow-y: hidden; align-items: flex-start; }
  .calendar-column { flex: 0 0 320px; background: rgba(255,255,255,0.03); border-radius: 12px; padding: 16px; height: 100%; overflow-y: auto; border: 1px solid rgba(255,255,255,0.05); }
  .day-label { font-family: 'Bebas Neue', sans-serif; font-size: 20px; color: var(--gold); margin-bottom: 16px; position: sticky; top: 0; background: #122d4d; z-index: 10; border-bottom: 1px solid rgba(232,184,75,0.2); }
  
  .event-card { background: var(--card-bg); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 16px; margin-bottom: 12px; cursor: pointer; transition: 0.2s; }
  .event-card:hover { border-color: var(--gold); transform: translateY(-2px); }
  .event-card.added { border-color: var(--gold); background: linear-gradient(135deg, var(--card-bg), rgba(232, 184, 75, 0.1)); }
  .card-sport { font-size: 10px; font-weight: 700; color: var(--gold); text-transform: uppercase; margin-bottom: 4px; }
  .badge { font-size: 9px; padding: 2px 6px; border-radius: 4px; background: rgba(255,255,255,0.1); color: var(--gray); font-weight: bold; text-transform: uppercase; }
  .badge-final { background: var(--red); color: white; }
  .itinerary-list { flex: 1; overflow-y: auto; padding: 10px; }
  .itin-item { padding: 10px; background: rgba(255,255,255,0.05); border-radius: 6px; margin-bottom: 8px; border-left: 3px solid var(--gold); font-size: 12px; position: relative; }
  .btn-remove { position: absolute; right: 8px; top: 8px; color: var(--gray); cursor: pointer; background: none; border: none; font-size: 14px; }
  .toast { position: fixed; bottom: 20px; right: 20px; background: var(--gold); color: var(--blue); padding: 12px 20px; border-radius: 8px; display: none; z-index: 2000; }

  /* Description tooltip/expand */
  .desc-short { display: block; }
  .desc-full { display: none; }
  .event-card .card-desc {
    font-size: 12px; color: var(--gray); line-height: 1.5; margin-bottom: 10px;
    overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    cursor: default;
  }
  .event-card:hover .card-desc { -webkit-line-clamp: unset; overflow: visible; }

  /* Detail modal styles */
  .detail-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.75); z-index:500; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
  .detail-modal.open { display:flex; }
  .detail-modal-box {
    background: var(--blue-mid); border:1px solid rgba(232,184,75,0.4); border-radius:14px;
    padding:32px; max-width:560px; width:calc(100% - 40px); position:relative;
    animation: modalIn 0.2s ease; max-height: 85vh; overflow-y: auto;
  }
  @keyframes modalIn { from{opacity:0;transform:scale(0.95) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} }
  .detail-modal-box::-webkit-scrollbar { width:4px; }
  .detail-modal-box::-webkit-scrollbar-thumb { background:rgba(232,184,75,0.3); border-radius:2px; }
  .dm-close { position:absolute; top:14px; right:16px; background:none; border:none; color:var(--gray); font-size:22px; cursor:pointer; line-height:1; }
  .dm-close:hover { color:var(--white); }
  .dm-sport { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--gold); margin-bottom:8px; }
  .dm-code { font-size:11px; color:var(--gray); letter-spacing:1px; margin-bottom:6px; }
  .dm-title { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:2px; line-height:1.1; margin-bottom:18px; color:var(--white); }
  .dm-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
  .dm-box { background:rgba(0,0,0,0.2); border-radius:8px; padding:12px; }
  .dm-label { font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:var(--gray); margin-bottom:4px; }
  .dm-value { font-size:14px; font-weight:500; color:var(--white); }
  .dm-desc-box { background:rgba(0,0,0,0.15); border-radius:8px; padding:14px; margin-bottom:20px; border-left:3px solid var(--gold); }
  .dm-desc-label { font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:var(--gold); margin-bottom:8px; }
  .dm-desc-list { list-style:none; padding:0; }
  .dm-desc-list li { font-size:13px; color:var(--white); padding:4px 0; border-bottom:1px solid rgba(255,255,255,0.06); line-height:1.4; }
  .dm-desc-list li:last-child { border-bottom:none; }
  .dm-desc-list li::before { content:'→ '; color:var(--gold); }
  .dm-actions { display:flex; gap:10px; }
  .dm-btn-primary { flex:1; padding:13px; background:var(--gold); border:none; color:var(--blue); border-radius:8px; font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:2px; cursor:pointer; transition:all 0.2s; }
  .dm-btn-primary:hover { background:#F5D78A; }
  .dm-btn-primary:disabled { background:rgba(232,184,75,0.3); color:rgba(10,34,64,0.5); cursor:default; }
  .dm-btn-secondary { padding:13px 18px; background:transparent; border:1px solid rgba(255,255,255,0.15); color:var(--gray); border-radius:8px; cursor:pointer; font-size:14px; transition:all 0.2s; }
  .dm-btn-secondary:hover { border-color:rgba(255,255,255,0.3); color:var(--white); }
  .badge-qf { background:rgba(79,195,247,0.15); color:var(--accent); border:1px solid rgba(79,195,247,0.25); }
  .badge-semi { background:rgba(232,184,75,0.2); color:var(--gold); border:1px solid rgba(232,184,75,0.3); }


  /* Zone multi-select panel */
  .zone-panel { display:flex; flex-direction:column; gap:0; border:1px solid rgba(255,255,255,0.12); border-radius:8px; overflow:hidden; max-height:240px; overflow-y:auto; }
  .zone-panel::-webkit-scrollbar { width:4px; }
  .zone-panel::-webkit-scrollbar-thumb { background:rgba(232,184,75,0.3); border-radius:2px; }
  .zone-region { display:flex; align-items:center; gap:8px; padding:8px 12px; background:rgba(0,0,0,0.25); cursor:pointer; user-select:none; border-bottom:1px solid rgba(255,255,255,0.06); transition:background 0.15s; }
  .zone-region:hover { background:rgba(232,184,75,0.1); }
  .zone-region-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--gold); flex:1; }
  .zone-region-check { width:14px; height:14px; border-radius:3px; border:1px solid rgba(232,184,75,0.5); background:transparent; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:9px; transition:all 0.15s; }
  .zone-region-check.checked { background:var(--gold); border-color:var(--gold); color:#0A2240; }
  .zone-item { display:flex; align-items:center; gap:8px; padding:6px 12px 6px 28px; cursor:pointer; user-select:none; border-bottom:1px solid rgba(255,255,255,0.04); transition:background 0.15s; }
  .zone-item:last-child { border-bottom:none; }
  .zone-item:hover { background:rgba(255,255,255,0.05); }
  .zone-item-check { width:13px; height:13px; border-radius:3px; border:1px solid rgba(255,255,255,0.2); background:transparent; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:9px; transition:all 0.15s; }
  .zone-item-check.checked { background:var(--accent); border-color:var(--accent); color:#0A2240; }
  .zone-item-label { font-size:12px; color:var(--white); flex:1; }
  .zone-item-count { font-size:10px; color:var(--gray); }
  .zone-clear { font-size:11px; color:var(--gray); cursor:pointer; text-align:right; margin-top:5px; padding:2px 0; }
  .zone-clear:hover { color:var(--white); }
  .zone-selected-summary { font-size:10px; color:var(--accent); margin-top:5px; min-height:14px; }

  /* Conflict indicator */
  .conflict-badge { display:inline-flex; align-items:center; gap:4px; background:rgba(200,16,46,0.2); border:1px solid rgba(200,16,46,0.4); color:#ff6b8a; font-size:10px; font-weight:700; padding:2px 7px; border-radius:20px; margin-top:4px; letter-spacing:0.5px; }
  .itin-item.has-conflict { border-left:3px solid #C8102E; background:rgba(200,16,46,0.06); }
  .travel-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; padding:6px 10px; margin-bottom:8px; background:rgba(255,255,255,0.02); border-left:3px solid rgba(255,255,255,0.1); border-radius:0 6px 6px 0; }
  .travel-label { font-size:10px; color:var(--gray); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .travel-links { display:flex; gap:6px; flex-shrink:0; }
  .travel-link { font-size:10px; font-weight:700; padding:3px 9px; border-radius:20px; text-decoration:none; transition:opacity 0.2s; }
  .travel-link:hover { opacity:0.75; }
  .travel-link.drive   { background:rgba(232,184,75,0.12); border:1px solid rgba(232,184,75,0.35); color:var(--gold); }
  .travel-link.transit { background:rgba(79,195,247,0.1); border:1px solid rgba(79,195,247,0.3); color:#4FC3F7; }
  .travel-info { position:relative; display:inline-flex; align-items:center; cursor:default; color:var(--gray); font-size:11px; flex-shrink:0; }
  .travel-info .tip { display:none; position:absolute; top:calc(100% + 6px); right:0; width:240px; background:#1A3A60; border:1px solid rgba(232,184,75,0.3); border-radius:8px; padding:10px 12px; font-size:10px; color:#aaa; line-height:1.5; z-index:999; pointer-events:none; }
  .travel-info:hover .tip { display:block; }

  /* Tier badges */
  .tier-premium  { background:rgba(232,184,75,0.2); color:var(--gold); border:1px solid rgba(232,184,75,0.4); font-size:9px; padding:2px 6px; border-radius:4px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; }
  .tier-standard { display:none; }
  .tier-vip      { background:rgba(200,16,46,0.2); color:#ff6b8a; border:1px solid rgba(200,16,46,0.4); font-size:9px; padding:2px 6px; border-radius:4px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; }

  /* Price display */
  .price-range { font-size:12px; font-weight:700; color:#4ade80; margin-top:6px; letter-spacing:0.3px; }
  .price-range.no-price { color:var(--gray); font-weight:400; font-size:11px; }
  .price-tiers { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
  .price-tier { 
    padding:6px 12px; border-radius:6px; font-size:13px; font-weight:700;
    background:rgba(74,222,128,0.1); border:1px solid rgba(74,222,128,0.25); 
    color:#4ade80; transition:all 0.2s; cursor:default; position:relative;
  }
  .price-tier.sold-out { 
    background:rgba(200,16,46,0.15); border-color:rgba(200,16,46,0.3); 
    color:#ff6b8a; text-decoration:line-through; opacity:0.7;
  }
  .price-tier.high-demand { 
    animation:pricePulse 1.5s ease-in-out infinite;
    border-color:rgba(232,184,75,0.6); color:var(--gold);
    background:rgba(232,184,75,0.12);
  }
  @keyframes pricePulse {
    0%,100% { box-shadow:0 0 0 0 rgba(232,184,75,0); }
    50% { box-shadow:0 0 0 4px rgba(232,184,75,0.2); }
  }
  .price-label { font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:var(--gold); font-weight:700; margin-bottom:6px; }
  /* Price filter slider */
  .price-filter-row { display:flex; flex-direction:column; gap:6px; }
  .price-slider-labels { display:flex; justify-content:space-between; font-size:11px; color:var(--gray); }
  input[type=range] { width:100%; accent-color:var(--gold); cursor:pointer; }
  .sort-select { background:#1a3a60; border:1px solid rgba(255,255,255,0.2); color:var(--white); padding:6px 10px; border-radius:6px; font-size:12px; font-family:'DM Sans',sans-serif; cursor:pointer; }

  /* Availability badges on cards */
  .avail-badge { display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;margin-top:4px;margin-bottom:2px;letter-spacing:0.3px; }
  .avail-badge.available    { background:rgba(74,222,128,0.12);color:#4ade80;border:1px solid rgba(74,222,128,0.25); }
  .avail-badge.selling-fast { background:rgba(251,146,60,0.12);color:#fb923c;border:1px solid rgba(251,146,60,0.25);animation:badgePulse 2s ease-in-out infinite; }
  .avail-badge.sold-out     { background:rgba(200,16,46,0.12);color:#ff6b8a;border:1px solid rgba(200,16,46,0.25); }
  .avail-badge.unknown      { background:rgba(255,255,255,0.04);color:var(--gray);border:1px solid rgba(255,255,255,0.08); }
  @keyframes badgePulse { 0%,100%{box-shadow:0 0 0 0 rgba(251,146,60,0)} 50%{box-shadow:0 0 0 4px rgba(251,146,60,0.15)} }

  /* Price pills in modal */
  .price-pills  { display:flex;flex-wrap:wrap;gap:8px;margin-top:8px; }
  .price-pill   { display:flex;flex-direction:column;align-items:center;padding:8px 10px;border-radius:8px;min-width:68px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.03);transition:all 0.2s;position:relative; }
  .price-pill.available    { border-color:rgba(74,222,128,0.3);background:rgba(74,222,128,0.08);cursor:pointer; }
  .price-pill.selling-fast { border-color:rgba(251,146,60,0.4);background:rgba(251,146,60,0.08);animation:pillPulse 1.5s ease-in-out infinite;cursor:pointer; }
  .price-pill.sold-out     { border-color:rgba(200,16,46,0.3);background:rgba(200,16,46,0.08);cursor:pointer; }
  .price-pill.stale        { border-color:rgba(255,255,255,0.08);background:rgba(255,255,255,0.02);cursor:pointer; }
  .price-pill.unknown      { border-color:rgba(255,255,255,0.1);background:rgba(255,255,255,0.03);cursor:pointer; }
  .price-pill.my-report    { border-color:rgba(79,195,247,0.4);background:rgba(79,195,247,0.08); }
  .price-pill:hover:not(.my-report) { transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3); }
  @keyframes pillPulse { 0%,100%{box-shadow:0 0 0 0 rgba(251,146,60,0)} 50%{box-shadow:0 0 0 5px rgba(251,146,60,0.2)} }
  .pill-cat   { font-size:9px;color:var(--gray);letter-spacing:1px;margin-bottom:2px; }
  .pill-price { font-size:12px;font-weight:700;color:var(--white); }
  .price-pill.available .pill-price    { color:#4ade80; }
  .price-pill.selling-fast .pill-price { color:#fb923c; }
  .price-pill.sold-out .pill-price     { color:#ff6b8a;text-decoration:line-through; }
  .price-pill.my-report .pill-price    { color:var(--accent); }
  .pill-status { font-size:11px;margin-top:2px; }
  .pill-meta   { font-size:9px;color:var(--gray);margin-top:3px;text-align:center;line-height:1.4; }
  .pill-you    { font-size:8px;color:var(--accent);font-weight:700;margin-top:2px; }

  /* Report step buttons */
  .report-step-btn { padding:8px 14px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid;transition:all 0.2s;display:inline-flex;align-items:center;gap:5px; }
  .report-step-btn.found     { background:rgba(74,222,128,0.1);border-color:rgba(74,222,128,0.35);color:#4ade80; }
  .report-step-btn.not-found { background:rgba(200,16,46,0.1);border-color:rgba(200,16,46,0.3);color:#ff6b8a; }
  .report-step-btn.purchased { background:rgba(232,184,75,0.1);border-color:rgba(232,184,75,0.35);color:var(--gold); }
  .report-step-btn.cancel    { background:transparent;border-color:rgba(255,255,255,0.1);color:var(--gray); }
  .report-step-btn:hover { transform:translateY(-1px); }
  .report-success-box { background:rgba(74,222,128,0.08);border:1px solid rgba(74,222,128,0.2);border-radius:8px;padding:10px 12px;font-size:12px;color:#4ade80; }

  /* ── Filter accordion ────────────────────────────────────── */
  .filter-accordion { margin-top: 10px; }
  .acc-item { border-bottom: 1px solid rgba(255,255,255,0.06); }
  .acc-item:last-child { border-bottom: none; }
  .acc-header { display:flex;justify-content:space-between;align-items:center;padding:9px 0;cursor:pointer;user-select:none; }
  .acc-header:hover .acc-label { color: var(--white); }
  .acc-label { font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:700;transition:color 0.15s; }
  .acc-summary { font-size:10px;color:var(--accent);font-weight:600;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .acc-chevron { font-size:16px;color:var(--gray);transition:transform 0.2s ease;line-height:1;display:inline-block; }
  .acc-chevron.open { transform:rotate(90deg); }
  .acc-body { display:none;padding-bottom:12px; }
  .acc-body.open { display:block; }

  /* How does it work explainer */
  .how-it-works-btn { background:none;border:none;color:var(--accent);font-size:11px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px; }
  .how-it-works-btn:hover { color:var(--white); }
  .how-explainer { display:none;background:rgba(0,0,0,0.25);border:1px solid rgba(79,195,247,0.2);border-radius:8px;padding:12px 14px;margin-top:10px;animation:fadeIn 0.2s ease; }
  .how-explainer.open { display:block; }
  .modal-how-explainer { display:none;background:rgba(0,0,0,0.2);border:1px solid rgba(79,195,247,0.15);border-radius:8px;padding:12px 14px;margin-bottom:12px;animation:fadeIn 0.2s ease; }
  .modal-how-explainer.open { display:block; }
  @keyframes fadeIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
  .how-explainer-title { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:8px; }
  .how-badge-row { display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:11px;line-height:1.4; }
  .how-badge-row:last-of-type { border-bottom:none; }
  .how-badge-icon { flex-shrink:0;width:22px;text-align:center;font-size:13px; }
  .how-badge-desc { color:var(--gray); }
  .how-badge-desc strong { color:var(--white);display:block;font-size:11px; }
  .how-explainer-note { font-size:10px;color:var(--gray);margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.06);line-height:1.5; }
  .fan-report-header-row { display:flex;align-items:center;justify-content:space-between;margin-bottom:6px; }

  /* Availability filter chips */
  .avail-chip { padding:5px 11px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:var(--gray);transition:all 0.2s; }
  .avail-chip:hover { border-color:rgba(255,255,255,0.2);color:var(--white); }
  .avail-chip.active { background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25);color:var(--white); }
  .avail-chip[data-val="available"].active { background:rgba(74,222,128,0.15);border-color:rgba(74,222,128,0.4);color:#4ade80; }
  .avail-chip[data-val="selling_fast"].active { background:rgba(251,146,60,0.15);border-color:rgba(251,146,60,0.4);color:#fb923c; }
  .avail-chip[data-val="sold_out"].active { background:rgba(200,16,46,0.15);border-color:rgba(200,16,46,0.3);color:#ff6b8a; }

  /* Toast cat buttons */
  .toast-cat-btn { padding:5px 9px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;border:1px solid rgba(232,184,75,0.3);background:rgba(232,184,75,0.1);color:var(--gold);transition:all 0.2s; }
  .toast-cat-btn:hover { background:var(--gold);color:var(--blue); }
  .toast-btn { padding:7px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all 0.2s; }
  .toast-btn.ghost { background:transparent;border:1px solid rgba(255,255,255,0.1);color:var(--gray); }
  .toast-btn.ghost:hover { border-color:rgba(255,255,255,0.2);color:var(--white); }
  @keyframes toastIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

  .avail-badge.staff-verified{background:rgba(79,195,247,0.12);color:#4FC3F7;border:1px solid rgba(79,195,247,0.3);}
  .avail-badge.staff-sold-out{background:rgba(200,16,46,0.12);color:#ff6b8a;border:1px solid rgba(200,16,46,0.25);}
  .sv-pill-available{border-color:rgba(79,195,247,0.35)!important;background:rgba(79,195,247,0.08)!important;}
  .sv-pill-available .pill-price{color:#4FC3F7!important;}
  .sv-pill-sold-out{border-color:rgba(200,16,46,0.25)!important;background:rgba(200,16,46,0.08)!important;}
  .sv-pill-sold-out .pill-price{color:#ff6b8a!important;text-decoration:line-through;}
  .ticker-wrap{background:rgba(0,0,0,0.35);border-bottom:1px solid rgba(232,184,75,0.2);height:28px;overflow:hidden;position:sticky;top:64px;z-index:99;display:none;}
  .ticker-wrap.active{display:block;}
  .ticker-track{display:flex;align-items:center;height:100%;white-space:nowrap;animation:tickerScroll linear infinite;}
  .ticker-track:hover{animation-play-state:paused;}
  @keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .ticker-item{display:inline-flex;align-items:center;gap:6px;padding:0 24px;font-size:11px;font-weight:600;color:var(--white);border-right:1px solid rgba(255,255,255,0.07);height:100%;transition:background 0.15s;}
  .ticker-item[onclick]:hover{background:rgba(232,184,75,0.08);cursor:pointer;}
  .ticker-sport{color:var(--gold);font-size:10px;letter-spacing:1px;}
  .ticker-pill{border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;}
  .ticker-pill.found{background:rgba(74,222,128,0.15);border:1px solid rgba(74,222,128,0.3);color:#4ade80;}
  .ticker-pill.purchased{background:rgba(232,184,75,0.15);border:1px solid rgba(232,184,75,0.35);color:var(--gold);}
  .ticker-ago{color:var(--gray);font-size:10px;}
  .ticker-label{display:inline-flex;align-items:center;gap:5px;padding:0 14px 0 16px;font-size:9px;font-weight:700;letter-spacing:2px;color:var(--gold);border-right:1px solid rgba(232,184,75,0.25);height:100%;background:rgba(232,184,75,0.05);flex-shrink:0;white-space:nowrap;}
  .live-dot{width:6px;height:6px;border-radius:50%;background:#ff4444;animation:livePulse 1.2s ease-in-out infinite;}
  @keyframes livePulse{0%,100%{opacity:1}50%{opacity:0.3}}