/* Desktop Sonic Architect styles */
  @media (min-width: 768px) {
    .select-page-header {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      margin-bottom: 2.5rem;
    }
    .select-filter-buttons {
      display: flex;
      gap: 0.75rem;
    }
    .select-filter-btn {
      padding: 0.625rem 1.25rem;
      font-size: 0.875rem;
      font-weight: 600;
      border-radius: 0.75rem;
      border: none;
      cursor: pointer;
      transition: all 200ms;
    }
    .select-filter-btn.secondary {
      background: #e0e3e6;
      color: #181c1e;
    }
    .select-filter-btn.secondary:hover {
      background: #e5e8eb;
    }
    .select-filter-btn.primary {
      background: #0040e0;
      color: white;
      font-weight: 700;
      box-shadow: 0 10px 20px rgba(0,64,224,0.15);
    }
    .select-filter-btn.primary:hover {
      transform: scale(1.02);
    }

    .select-parties-wrap {
      max-width: 1240px;
      margin: 0;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
      margin-top: 2.25rem;
      margin-bottom: 2.25rem;
    }
    .select-parties-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 380px));
      justify-content: start;
      gap: 2rem;
    }

    .select-party-card {
      background: #ffffff;
      border-radius: 1.5rem;
      overflow: hidden;
      box-shadow: 0 1px 3px rgba(0,0,0,0.05);
      transition: all 300ms;
      display: flex;
      flex-direction: column;
      cursor: pointer;
      text-decoration: none;
      color: inherit;
    }
    .select-party-card:hover {
      box-shadow: 0 20px 40px rgba(0,64,224,0.08);
      transform: translateY(-2px);
    }

    .select-party-image {
      height: 12rem;
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, #0040e0 0%, #5e24e1 100%);
    }
    .select-party-card:hover .select-party-image-placeholder {
      transform: scale(1.1);
    }
    .select-party-image-placeholder {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 500ms;
    }
    .select-party-image-placeholder .material-symbols-outlined {
      font-size: 4rem;
      color: rgba(255,255,255,0.3);
    }

    .select-party-badge {
      position: absolute;
      top: 1rem;
      left: 1rem;
      background: rgba(94,36,225,0.95);
      backdrop-filter: blur(8px);
      color: white;
      font-size: 0.625rem;
      font-weight: 700;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      display: flex;
      align-items: center;
      gap: 0.375rem;
      text-transform: uppercase;
      letter-spacing: 0.02em;
    }
    .select-party-badge-dot {
      width: 0.375rem;
      height: 0.375rem;
      border-radius: 50%;
      background: white;
      animation: pulse 2s ease-in-out infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.5; }
    }

    .select-party-content {
      padding: 1.5rem;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
    }
    .select-party-name {
      font-family: 'Epilogue', sans-serif;
      font-size: 1.25rem;
      font-weight: 700;
      color: #181c1e;
      margin-bottom: 1rem;
    }
    .select-party-meta {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      margin-bottom: 0.5rem;
    }
    .select-party-meta-item {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      color: #434655;
      font-size: 0.75rem;
      font-weight: 500;
    }
    .select-party-meta-item .material-symbols-outlined {
      font-size: 0.875rem;
      color: #0040e0;
    }

    .select-party-button {
      width: 100%;
      padding: 0.75rem;
      background: #0040e0;
      color: white;
      font-weight: 700;
      border-radius: 0.75rem;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      transition: background 200ms;
      margin-top: auto;
    }
    .select-party-card:hover .select-party-button {
      background: #002ea8;
    }
    .select-party-button .material-symbols-outlined {
      font-size: 0.875rem;
    }

    .select-party-button.secondary {
      background: #e5e8eb;
      color: #181c1e;
    }
    .select-party-card:hover .select-party-button.secondary {
      background: #e0e3e6;
    }

    /* Add new event card */
    .select-add-card {
      border: 1px solid rgba(0,64,224,0.12);
      border-radius: 1.5rem;
      padding: 1.75rem;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      text-align: left;
      cursor: pointer;
      transition: all 300ms;
      min-height: 0;
      aspect-ratio: 1 / 1;
      text-decoration: none;
      color: inherit;
      background:
        radial-gradient(circle at top right, rgba(94,36,225,0.16), transparent 42%),
        linear-gradient(180deg, #fbfcff 0%, #eef3ff 100%);
      box-shadow: 0 18px 36px rgba(0,64,224,0.06);
      overflow: hidden;
    }
    .select-add-card:hover {
      border-color: #0040e0;
      background:
        radial-gradient(circle at top right, rgba(94,36,225,0.24), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #ebf1ff 100%);
      box-shadow: 0 24px 44px rgba(0,64,224,0.10);
      transform: translateY(-2px);
    }
    .select-add-icon {
      width: 4rem;
      height: 4rem;
      background: linear-gradient(135deg, #0040e0 0%, #5e24e1 100%);
      border-radius: 1.25rem;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1rem;
      transition: all 300ms;
      box-shadow: 0 14px 28px rgba(0,64,224,0.18);
    }
    .select-add-card:hover .select-add-icon {
      transform: scale(1.04);
    }
    .select-add-icon .material-symbols-outlined {
      font-size: 1.875rem;
      color: #ffffff;
    }
    .select-add-card:hover .select-add-icon .material-symbols-outlined {
      color: #ffffff;
    }
    .select-add-kicker {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.32rem 0.68rem;
      border-radius: 9999px;
      background: rgba(0,64,224,0.08);
      color: #0040e0;
      font-size: 0.64rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 0.75rem;
    }
    .select-add-title {
      font-family: 'Epilogue', sans-serif;
      font-size: 1.35rem;
      font-weight: 700;
      color: #181c1e;
      line-height: 1.15;
      margin-bottom: 0.6rem;
    }
    .select-add-text {
      font-size: 0.84rem;
      color: #434655;
      max-width: 250px;
      line-height: 1.5;
      margin-bottom: 1rem;
    }
    .select-add-cta {
      margin-top: 0.25rem;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.78rem 0.95rem;
      border-radius: 0.95rem;
      background: #0040e0;
      color: #ffffff;
      font-size: 0.84rem;
      font-weight: 800;
      box-shadow: 0 12px 24px rgba(0,64,224,0.18);
    }
    .select-add-cta .material-symbols-outlined {
      font-size: 1rem;
    }

    /* Promo section */
    .select-promo-top {
      margin-bottom: 2rem;
    }
    .select-promo-bottom {
      margin-top: 2rem;
    }
    .select-promo-section {
      margin-top: 1.5rem;
      background: #0040e0;
      border-radius: 2rem;
      padding: 2.5rem;
      display: flex;
      align-items: center;
      gap: 2.5rem;
      overflow: hidden;
      position: relative;
    }
    .select-promo-bg-1 {
      position: absolute;
      right: -5rem;
      bottom: -5rem;
      width: 20rem;
      height: 20rem;
      background: #5e24e1;
      border-radius: 50%;
      opacity: 0.2;
      filter: blur(4rem);
    }
    .select-promo-bg-2 {
      position: absolute;
      left: -2.5rem;
      top: -2.5rem;
      width: 15rem;
      height: 15rem;
      background: #2e5bff;
      border-radius: 50%;
      opacity: 0.1;
      filter: blur(2rem);
    }
    .select-promo-content {
      position: relative;
      z-index: 10;
      flex: 1;
    }
    .select-promo-title {
      font-family: 'Epilogue', sans-serif;
      font-size: 1.875rem;
      font-weight: 700;
      color: white;
      margin-bottom: 1rem;
    }
    .select-promo-text {
      color: #bdc7ff;
      max-width: 32rem;
      margin-bottom: 2rem;
    }
    .select-promo-stats {
      display: flex;
      gap: 1rem;
    }
    .select-promo-stat {
      background: rgba(255,255,255,0.1);
      backdrop-filter: blur(8px);
      padding: 0.5rem 1rem;
      border-radius: 0.75rem;
    }
    .select-promo-stat-label {
      font-size: 0.625rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      color: #bdc7ff;
    }
    .select-promo-stat-value {
      font-size: 1.5rem;
      font-weight: 700;
      color: white;
    }

    .select-promo-cards {
      position: relative;
      z-index: 10;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .select-promo-card {
      background: #ffffff;
      padding: 1rem;
      border-radius: 1rem;
      box-shadow: 0 10px 30px rgba(0,0,0,0.1);
      display: flex;
      align-items: center;
      gap: 1rem;
      width: 16rem;
    }
    .select-promo-card:first-child {
      transform: rotate(-2deg);
    }
    .select-promo-card:last-child {
      transform: rotate(3deg);
    }
    .select-promo-card-icon {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .select-promo-card-icon.purple {
      background: #5e24e1;
      color: white;
    }
    .select-promo-card-icon.blue {
      background: #2e5bff;
      color: white;
    }
    .select-promo-card-label {
      font-size: 0.625rem;
      font-weight: 700;
      text-transform: uppercase;
      color: #434655;
    }
    .select-promo-card-value {
      font-size: 0.75rem;
      font-weight: 700;
      color: #181c1e;
    }
    .select-promo-section--slim {
      margin: 0;
      padding: 0.85rem 1.35rem;
      min-height: 122px;
      border-radius: 1.35rem;
      gap: 1rem;
    }
    .select-promo-section--slim .select-promo-title {
      font-size: 1.35rem;
      margin-bottom: 0.3rem;
      line-height: 1.05;
    }
    .select-promo-section--slim .select-promo-text {
      font-size: 0.86rem;
      margin-bottom: 0.5rem;
      max-width: 40rem;
    }
    .select-promo-code-form {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      max-width: 23rem;
    }
    .select-promo-code-input {
      flex: 1;
      min-width: 0;
      border: 1px solid rgba(255,255,255,0.35);
      background: rgba(255,255,255,0.12);
      color: #ffffff;
      border-radius: 0.6rem;
      padding: 0.55rem 0.75rem;
      font-size: 0.82rem;
      font-weight: 600;
      outline: none;
      text-transform: uppercase;
    }
    .select-promo-code-input::placeholder {
      color: rgba(255,255,255,0.8);
      text-transform: none;
    }
    .select-promo-code-btn {
      border: 0;
      background: #ffffff;
      color: #0040e0;
      border-radius: 0.6rem;
      padding: 0.55rem 0.9rem;
      font-size: 0.8rem;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }
    .select-promo-code-error {
      margin-top: 0.35rem;
      color: #ffd6d6;
      font-size: 0.72rem;
      font-weight: 600;
    }
    .select-promo-past-link {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      margin-top: 0.75rem;
      color: rgba(255,255,255,0.7);
      font-size: 0.8rem;
      font-weight: 500;
      text-decoration: none;
      transition: color 0.15s;
    }
    .select-promo-past-link:hover {
      color: #fff;
    }
    .select-promo-past-link .material-symbols-outlined {
      font-size: 1rem;
    }
    .select-promo-section--slim .select-promo-stats {
      gap: 0.65rem;
    }
    .select-promo-section--slim .select-promo-stat {
      padding: 0;
      border-radius: 0;
      background: transparent;
      backdrop-filter: none;
    }
    .select-promo-section--slim .select-promo-stat-label {
      font-size: 0.54rem;
      letter-spacing: 0.12em;
    }
    .select-promo-section--slim .select-promo-stat-value {
      font-size: 1.15rem;
      line-height: 1.1;
    }
    .select-promo-section--slim .select-promo-cards {
      flex-direction: row;
      align-items: center;
      gap: 0.6rem;
      flex-shrink: 0;
    }
    .select-promo-section--slim .select-promo-card {
      width: 12rem;
      padding: 0.65rem 0.75rem;
      border-radius: 0.75rem;
      gap: 0.7rem;
    }
    .select-promo-section--slim .select-promo-card:first-child,
    .select-promo-section--slim .select-promo-card:last-child {
      transform: none;
    }
    .select-promo-section--slim.select-promo-section--tilted .select-promo-card:first-child {
      transform: rotate(-2deg);
    }
    .select-promo-section--slim.select-promo-section--tilted .select-promo-card:last-child {
      transform: rotate(3deg);
    }
    .select-promo-section--slim .select-promo-card-icon {
      width: 2rem;
      height: 2rem;
    }
    .select-promo-section--slim .select-promo-card-label {
      font-size: 0.52rem;
      letter-spacing: 0.04em;
    }
    .select-promo-section--slim .select-promo-card-value {
      font-size: 0.7rem;
      line-height: 1.2;
    }
    .select-promo-marketing {
      justify-content: flex-start;
      text-align: left;
    }
    .select-promo-marketing-inner {
      position: relative;
      z-index: 10;
      width: 100%;
      max-width: 100%;
      margin: 0;
    }
    .select-promo-marketing-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
      align-items: center;
      gap: 1.5rem;
    }
    .select-promo-marketing-copy {
      padding-left: 0.95rem;
    }
    .select-promo-marketing-title {
      font-family: 'Epilogue', sans-serif;
      font-size: 1.95rem;
      line-height: 1.02;
      font-weight: 700;
      color: #ffffff;
      margin: 0 0 0.8rem;
    }
    .select-promo-marketing-text {
      color: #dce4ff;
      font-size: 1rem;
      line-height: 1.45;
      margin: 0;
      max-width: 33rem;
    }
    .select-promo-marketing-actions {
      max-width: 28rem;
      width: 100%;
      justify-self: end;
    }
    .select-promo-feature-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.5rem;
      margin: 0 0 0.9rem;
      max-width: 100%;
    }
    .select-promo-feature {
      background: rgba(255,255,255,0.16);
      border-radius: 0.75rem;
      padding: 0.95rem 1rem;
      text-align: left;
    }
    .select-promo-feature:first-child {
      transform: rotate(-2deg);
    }
    .select-promo-feature:last-child {
      transform: rotate(3deg);
    }
    .select-promo-feature .material-symbols-outlined {
      color: #ffffff;
      font-size: 1.45rem;
      margin-bottom: 0.3rem;
      font-variation-settings: 'FILL' 1;
      display: block;
    }
    .select-promo-feature-label {
      color: #ffffff;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2;
    }
    .select-promo-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      width: 100%;
      max-width: 100%;
      padding: 0.75rem 1.15rem;
      background: #f4f5fa;
      color: #2f3347;
      border-radius: 0.55rem;
      font-weight: 700;
      font-size: 0.95rem;
      text-decoration: none;
    }
    .select-promo-cta .material-symbols-outlined {
      font-size: 1.05rem;
      font-variation-settings: 'FILL' 1;
    }

    .select-empty {
      background: #ffffff;
      padding: 4rem 2rem;
      border-radius: 0.75rem;
      text-align: center;
      border: 2px dashed rgba(196,197,216,0.3);
    }
    .select-empty .material-symbols-outlined {
      font-size: 4rem;
      color: #c4c5d8;
      margin-bottom: 1rem;
    }
    .select-empty-title {
      font-family: 'Epilogue', sans-serif;
      font-size: 1.25rem;
      font-weight: 700;
      color: #181c1e;
      margin-bottom: 0.5rem;
    }
    .select-empty-text {
      color: #747687;
      font-size: 0.875rem;
    }
  }

  .qr-scan-btn {
    border: 1px solid rgba(0,64,224,0.16);
    background: #eef3ff;
    color: #0040e0;
    border-radius: 0.85rem;
    padding: 0.72rem 0.9rem;
    font-weight: 800;
    font-size: 0.86rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
  }
  .qr-scan-modal {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15, 18, 28, 0.72);
  }
  .qr-scan-modal.is-open {
    display: flex;
  }
  .qr-scan-panel {
    width: min(100%, 28rem);
    background: #ffffff;
    border-radius: 1.25rem;
    padding: 1rem;
    box-shadow: 0 28px 80px rgba(0,0,0,0.26);
  }
  .qr-scan-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
  }
  .qr-scan-title {
    font-family: 'Epilogue', sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    color: #191c1f;
    margin: 0;
  }
  .qr-scan-close {
    border: 0;
    background: #eef0f5;
    color: #434655;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .qr-scan-video-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: #0f121c;
    aspect-ratio: 1 / 1;
  }
  .qr-scan-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .qr-scan-frame {
    position: absolute;
    inset: 18%;
    border: 3px solid rgba(255,255,255,0.92);
    border-radius: 1rem;
    box-shadow: 0 0 0 999px rgba(0,0,0,0.25);
    pointer-events: none;
  }
  .qr-scan-status {
    color: #434655;
    font-size: 0.82rem;
    line-height: 1.4;
    margin: 0.85rem 0 0;
    min-height: 1.2rem;
  }
.hover-shadow:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.14), 0 1.5px 6px rgba(0,0,0,0.14) !important;
    background: #f0f4fa;
    transition: box-shadow 0.2s, background 0.2s;
}