    :root {
      --gold: #F5C842;
      --gold-dim: #B8931F;
      --bg: #07090f;
      --surface: rgba(255,255,255,0.04);
      --border: rgba(255,255,255,0.08);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--bg);
      color: #e4e4ef;
      min-height: 100vh;
      overflow-x: hidden;
    }

    /* Grain overlay */
    body::before {
      content: '';
      position: fixed; inset: 0;
      pointer-events: none; z-index: 0;
      opacity: 0.035;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 128px 128px;
    }

    /* Ambient blobs */
    .blob { position: fixed; border-radius: 50%; filter: blur(80px); opacity: 0.08; pointer-events: none; will-change: transform; }
    body.modal-open .blob { animation-play-state: paused; opacity: 0.04; }
    body.modal-open::before { opacity: 0.015; }
    .blob-1 { width: 500px; height: 500px; background: var(--gold); top: -150px; right: -100px; animation: blobFloat 14s ease-in-out infinite; }
    .blob-2 { width: 350px; height: 350px; background: #E8192C; bottom: -100px; left: -80px; animation: blobFloat 10s ease-in-out infinite reverse; }
    .blob-3 { width: 250px; height: 250px; background: #5865F2; top: 50%; left: 40%; animation: blobFloat 12s ease-in-out infinite 3s; }

    @keyframes blobFloat {
      0%,100% { transform: translate(0,0) scale(1); }
      33% { transform: translate(15px,-20px) scale(1.04); }
      66% { transform: translate(-10px,12px) scale(0.96); }
    }

    /* Header */
    .header-in { animation: fadeDown 0.7s ease both; }
    @keyframes fadeDown { from { opacity:0; transform:translateY(-16px); } to { opacity:1; transform:translateY(0); } }

    /* Cards */
    .card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 1.25rem;
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
      position: relative;
      overflow: hidden;
    }
    .card:hover { transform: translateY(-1px); border-color: rgba(245,200,66,0.25); }

    /* Status badges */
    .badge-upcoming { background: rgba(245,200,66,0.12); color: #F5C842; border: 1px solid rgba(245,200,66,0.3); }
    .badge-ongoing  { background: rgba(16,185,129,0.12); color: #10B981; border: 1px solid rgba(16,185,129,0.3); }
    .badge-done     { background: rgba(255,255,255,0.06); color: #6b7280; border: 1px solid rgba(255,255,255,0.1); }


    /* Invitation alert */
    .invite-alert {
      margin-top: 0.95rem;
      width: 100%;
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      padding: 0.95rem 1rem;
      border-radius: 1rem;
      border: 1px solid rgba(245,200,66,0.22);
      background: linear-gradient(180deg, rgba(245,200,66,0.1) 0%, rgba(245,200,66,0.04) 100%);
    }
    .invite-alert--yellow {
      border-color: rgba(245,200,66,0.22);
      background: linear-gradient(180deg, rgba(245,200,66,0.1) 0%, rgba(245,200,66,0.04) 100%);
    }
    .invite-alert--red {
      border-color: rgba(239,68,68,0.25);
      background: linear-gradient(180deg, rgba(239,68,68,0.12) 0%, rgba(239,68,68,0.045) 100%);
    }
    .invite-alert--green {
      border-color: rgba(16,185,129,0.24);
      background: linear-gradient(180deg, rgba(16,185,129,0.12) 0%, rgba(16,185,129,0.045) 100%);
    }
    .invite-alert-icon {
      width: 2rem;
      height: 2rem;
      border-radius: 999px;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(245,200,66,0.12);
      border: 1px solid rgba(245,200,66,0.22);
      color: #F5C842;
    }
    .invite-alert--red .invite-alert-icon {
      background: rgba(239,68,68,0.13);
      border-color: rgba(239,68,68,0.24);
      color: #fca5a5;
    }
    .invite-alert--green .invite-alert-icon {
      background: rgba(16,185,129,0.13);
      border-color: rgba(16,185,129,0.24);
      color: #6ee7b7;
    }
    .invite-alert-label {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #F5C842;
      font-family: 'Syne', sans-serif;
      margin-bottom: 0.22rem;
    }
    .invite-alert--red .invite-alert-label {
      color: #fca5a5;
    }
    .invite-alert--green .invite-alert-label {
      color: #6ee7b7;
    }
    .invite-alert p {
      color: #f3f4f6;
      font-size: 0.82rem;
      line-height: 1.55;
    }
    .invite-alert--yellow p span {
      color: #fde68a;
      font-weight: 700;
    }
    .invite-alert--red p span {
      color: #fecaca;
      font-weight: 700;
    }
    .invite-alert--green p span {
      color: #a7f3d0;
      font-weight: 700;
    }

    /* Pulse dot */
    .dot-pulse { width: 8px; height: 8px; border-radius: 50%; background: #10B981; animation: dotPulse 1.5s ease-in-out infinite; display: inline-block; }
    @keyframes dotPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(16,185,129,0.5);} 50%{ box-shadow:0 0 0 6px rgba(16,185,129,0);} }

    /* Form inputs */
    .form-stack { display: flex; flex-direction: column; gap: 1rem; }
    .form-section {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.06);
      border-radius: 1rem;
      padding: 1rem;
    }
    .form-section-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0.9rem;
    }
    .form-section-title h3 {
      color: #f4f4f5;
      font-size: 0.95rem;
      font-weight: 800;
      letter-spacing: 0.01em;
      font-family: 'Syne', sans-serif;
    }
    .form-section-title p {
      color: #71717a;
      font-size: 0.72rem;
      line-height: 1.4;
      margin-top: 0.15rem;
    }
    .required-chip {
      border: 1px solid rgba(245,200,66,0.25);
      background: rgba(245,200,66,0.08);
      color: #F5C842;
      border-radius: 999px;
      padding: 0.2rem 0.55rem;
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .field { display: flex; flex-direction: column; gap: 0.42rem; }
    .field-grid { display: grid; gap: 0.85rem; }
    .field-help {
      color: #6b7280;
      font-size: 0.73rem;
      line-height: 1.45;
    }
    input, textarea, select {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 0.9rem;
      color: #e4e4ef;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.9rem;
      padding: 0.95rem 1.15rem;
      width: 100%;
      min-height: 3rem;
      line-height: 1.45;
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
      background-clip: padding-box;
    }
    input:not([type="file"]), textarea, select {
      padding-left: 1.15rem !important;
      padding-right: 1.15rem !important;
    }
    textarea {
      min-height: 7rem;
      resize: vertical;
      line-height: 1.45;
      padding-top: 0.95rem !important;
      padding-bottom: 0.95rem !important;
    }
    input:focus, textarea:focus, select:focus {
      border-color: rgba(245,200,66,0.45);
      background: rgba(255,255,255,0.075);
      box-shadow: 0 0 0 3px rgba(245,200,66,0.08);
    }
    input::placeholder, textarea::placeholder { color: #52525b; }
    select option { background: #111827; }
    .choices {
      width: 100%;
      margin: 0;
    }
    .choices__inner,
    .choices[data-type*='select-one'] .choices__inner {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 0.9rem;
      color: #e4e4ef;
      min-height: 3rem;
      padding: 0.55rem 2.75rem 0.55rem 1.15rem;
      font-size: 0.9rem;
      box-shadow: none;
    }
    .is-focused .choices__inner,
    .is-open .choices__inner {
      border-color: rgba(245,200,66,0.45);
      background: rgba(255,255,255,0.075);
      box-shadow: 0 0 0 3px rgba(245,200,66,0.08);
    }
    .choices__list--single {
      padding: 0.2rem 0 0 0;
      color: #e4e4ef;
    }
    .choices__placeholder {
      opacity: 0.55;
    }
    .choices[data-type*='select-one']::after {
      border-color: #71717a transparent transparent;
      right: 1rem;
      margin-top: -2px;
    }
    .choices[data-type*='select-one'].is-open::after {
      border-color: transparent transparent #71717a;
      margin-top: -8px;
    }
    .choices__list--dropdown,
    .choices__list[aria-expanded] {
      background: #111827;
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 0.9rem;
      overflow: hidden;
      box-shadow: 0 18px 40px rgba(0,0,0,0.32);
      margin-top: 0.35rem;
    }
    .choices__list--dropdown .choices__item,
    .choices__list[aria-expanded] .choices__item {
      color: #e4e4ef;
      font-size: 0.9rem;
    }
    .choices__list--dropdown .choices__item--selectable.is-highlighted,
    .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
      background: rgba(245,200,66,0.12);
      color: #F5C842;
    }
    .choices__list--dropdown .choices__item--disabled,
    .choices__list[aria-expanded] .choices__item--disabled {
      opacity: 0.55;
    }
    label {
      font-size: 0.8rem;
      color: #d4d4d8;
      font-weight: 600;
      letter-spacing: 0.01em;
      display: block;
    }
    .label-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
    }
    .optional-text {
      color: #71717a;
      font-size: 0.72rem;
      font-weight: 500;
    }


    .flatpickr-input[readonly],
    .flatpickr-alt {
      cursor: pointer;
    }
    .flatpickr-alt {
      background: rgba(255,255,255,0.05) !important;
      border: 1px solid rgba(255,255,255,0.08) !important;
      border-radius: 0.9rem !important;
      color: #e4e4ef !important;
      font-family: 'DM Sans', sans-serif !important;
      font-size: 0.9rem !important;
      width: 100%;
      min-height: 3rem;
      padding: 0.95rem 1.15rem !important;
      line-height: 1.45;
      box-shadow: none !important;
      appearance: none !important;
      -webkit-appearance: none !important;
      background-clip: padding-box !important;
    }
    .flatpickr-alt::placeholder {
      color: #52525b !important;
    }
    .flatpickr-alt:focus {
      border-color: rgba(245,200,66,0.45) !important;
      background: rgba(255,255,255,0.075) !important;
      box-shadow: 0 0 0 3px rgba(245,200,66,0.08) !important;
      outline: none;
    }
    .flatpickr-calendar {
      width: 320px !important;
      background: #0b1220;
      border: 1px solid rgba(245,200,66,0.16);
      border-radius: 1rem;
      padding: 0.8rem 0.75rem 0.75rem;
      box-shadow: 0 22px 52px rgba(0,0,0,0.42);
      overflow: hidden;
    }
    .flatpickr-calendar.arrowTop:before,
    .flatpickr-calendar.arrowTop:after {
      display: none;
    }
    .flatpickr-months {
      display: flex;
      align-items: center;
      padding-bottom: 0.45rem;
      margin-bottom: 0.2rem;
      min-height: 2.6rem;
    }
    .flatpickr-months .flatpickr-month {
      position: relative;
      height: 2.35rem !important;
      color: #f4f4f5;
      fill: #f4f4f5;
      overflow: visible;
    }
    .flatpickr-current-month {
      position: absolute !important;
      inset: 0 2.2rem auto 2.2rem !important;
      width: auto !important;
      height: 2.35rem !important;
      padding: 0 !important;
      display: flex !important;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      line-height: 1.1 !important;
      transform: none !important;
      white-space: nowrap;
    }
    .flatpickr-current-month .cur-month,
    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month .flatpickr-monthDropdown-months option,
    .flatpickr-current-month input.cur-year {
      color: #f8fafc !important;
      font-weight: 700 !important;
      font-size: 1rem !important;
      background: transparent !important;
    }
    .flatpickr-current-month .cur-month {
      display: inline-block !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    .flatpickr-current-month .flatpickr-monthDropdown-months {
      appearance: none;
      -webkit-appearance: none;
      border: 0;
      padding: 0 0.1rem !important;
      margin: 0;
    }
    .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
      background: transparent;
    }
    .flatpickr-current-month input.cur-year {
      padding: 0 !important;
      margin: 0;
      text-align: left;
    }
    .flatpickr-current-month .numInputWrapper {
      width: 3.9rem;
      display: inline-flex;
      align-items: center;
    }
    .flatpickr-current-month .numInputWrapper span {
      border-color: rgba(245,200,66,0.18);
    }
    .flatpickr-months .flatpickr-prev-month,
    .flatpickr-months .flatpickr-next-month {
      top: 0.1rem;
      width: 2rem;
      height: 2rem;
      padding: 0.45rem;
      color: #cbd5e1;
      fill: #cbd5e1;
    }
    .flatpickr-months .flatpickr-prev-month svg,
    .flatpickr-months .flatpickr-next-month svg {
      width: 0.9rem;
      height: 0.9rem;
    }
    .flatpickr-weekdays {
      margin-bottom: 0.4rem;
    }
    span.flatpickr-weekday {
      color: #94a3b8;
      font-size: 0.74rem;
      font-weight: 700;
    }
    .flatpickr-days,
    .dayContainer {
      width: 100%;
      min-width: 100%;
      max-width: 100%;
    }
    .dayContainer {
      justify-content: space-between;
    }
    .flatpickr-day {
      color: #e4e4ef;
      max-width: 2.35rem;
      height: 2.35rem;
      line-height: 2.35rem;
      border-radius: 999px;
      margin: 0.06rem 0;
    }
    .flatpickr-day.today {
      border-color: rgba(245,200,66,0.55);
    }
    .flatpickr-day.prevMonthDay,
    .flatpickr-day.nextMonthDay {
      color: #334155;
    }
    .flatpickr-day.flatpickr-disabled,
    .flatpickr-day.flatpickr-disabled:hover {
      color: #273244;
      cursor: not-allowed;
    }
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange,
    .flatpickr-day.selected.inRange,
    .flatpickr-day.startRange.inRange,
    .flatpickr-day.endRange.inRange,
    .flatpickr-day.selected:focus,
    .flatpickr-day.startRange:focus,
    .flatpickr-day.endRange:focus,
    .flatpickr-day.selected:hover,
    .flatpickr-day.startRange:hover,
    .flatpickr-day.endRange:hover {
      background: #F5C842;
      border-color: #F5C842;
      color: #07090f;
    }
    .flatpickr-day:hover,
    .flatpickr-day:focus,
    .flatpickr-months .flatpickr-prev-month:hover svg,
    .flatpickr-months .flatpickr-next-month:hover svg {
      color: #F5C842;
      fill: #F5C842;
    }

    .flatpickr-calendar.hasTime.noCalendar {
      width: 13.25rem !important;
      min-width: 13.25rem !important;
      padding: 0.65rem !important;
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-innerContainer {
      display: block;
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      height: auto;
      max-height: none;
      line-height: 1;
      border-top: 0;
      background: transparent;
      padding: 0;
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-am-pm {
      display: none !important;
    }
    .flatpickr-calendar.hasTime.noCalendar .numInputWrapper {
      width: 4.3rem;
      height: 3.3rem;
      border-radius: 1rem;
      overflow: hidden;
      background: rgba(255,255,255,0.045);
      border: 1px solid rgba(255,255,255,0.08);
      transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    }
    .flatpickr-calendar.hasTime.noCalendar .numInputWrapper:hover {
      border-color: rgba(245,200,66,0.28);
      background: rgba(255,255,255,0.065);
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span {
      border-color: rgba(245,200,66,0.12);
      width: 1rem;
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span.arrowUp:after {
      border-bottom-color: rgba(245,200,66,0.75);
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span.arrowDown:after {
      border-top-color: rgba(245,200,66,0.75);
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time input.flatpickr-hour,
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time input.flatpickr-minute {
      height: 100%;
      color: #f8fafc;
      background: transparent;
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: 0.02em;
      padding: 0 1rem 0 0.85rem;
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time input.flatpickr-hour:focus,
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time input.flatpickr-minute:focus {
      outline: none;
      background: rgba(255,255,255,0.04);
    }
    .flatpickr-calendar.hasTime.noCalendar .flatpickr-time-separator {
      color: #F5C842;
      font-size: 1.25rem;
      font-weight: 800;
      line-height: 1;
      align-self: center;
      margin-top: -0.1rem;
    }

    /* File upload */
    .file-drop {
      border: 1.5px dashed rgba(245,200,66,0.24);
      border-radius: 1rem;
      padding: 1.4rem 1rem;
      text-align: center;
      cursor: pointer;
      transition: border-color 0.2s, background 0.2s, transform 0.2s;
      background: rgba(245,200,66,0.03);
    }
    .file-drop:hover {
      border-color: rgba(245,200,66,0.46);
      background: rgba(245,200,66,0.06);
    }
    .file-drop.has-file { border-color: rgba(245,200,66,0.5); background: rgba(245,200,66,0.06); }
    .file-preview-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.85rem;
      margin-top: 0.9rem;
    }
    @media (min-width: 640px) {
      .file-preview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    .file-preview-card {
      position: relative;
      overflow: hidden;
      border-radius: 1rem;
      border: 1px solid rgba(255,255,255,0.09);
      background: rgba(255,255,255,0.03);
      aspect-ratio: 4 / 3;
    }
    .file-preview-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .file-preview-remove {
      position: absolute;
      top: 0.55rem;
      right: 0.55rem;
      width: 1.8rem;
      height: 1.8rem;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(0,0,0,0.62);
      color: white;
      font-size: 0.75rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .file-preview-caption {
      position: absolute;
      inset: auto 0 0 0;
      padding: 0.45rem 0.6rem;
      background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.72) 100%);
      color: #f4f4f5;
      font-size: 0.68rem;
      line-height: 1.35;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .file-preview-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-top: 0.8rem;
    }
    .file-preview-count {
      color: #a1a1aa;
      font-size: 0.76rem;
      line-height: 1.4;
    }
    .file-clear-btn {
      border: 1px solid rgba(255,255,255,0.1);
      background: rgba(255,255,255,0.04);
      color: #e4e4ef;
      border-radius: 0.8rem;
      padding: 0.55rem 0.85rem;
      font-size: 0.76rem;
      font-weight: 700;
      cursor: pointer;
    }

    /* Modal */
    .modal-backdrop {
      position: fixed; inset: 0; z-index: 50;
      background: rgba(0,0,0,0.82);
      display: flex; align-items: center; justify-content: center;
      padding: 1rem;
      opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
    }
    .modal-backdrop.open { opacity: 1; pointer-events: all; }
    .modal-box {
      background: linear-gradient(180deg, rgba(19,24,36,0.98) 0%, rgba(12,15,23,0.98) 100%);
      border: 1px solid rgba(245,200,66,0.14);
      border-radius: 1.75rem; width: 100%; max-width: 620px;
      position: relative;
      overflow: hidden;
      box-shadow: 0 14px 36px rgba(0,0,0,0.32);
      transform: translateY(16px) scale(0.985); transition: transform 0.2s ease;
    }
    .modal-backdrop.open .modal-box { transform: translateY(0) scale(1); }
    .modal-scroll {
      max-height: min(90vh, 760px);
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      scrollbar-width: thin;
      scrollbar-color: rgba(245,200,66,0.3) transparent;
      padding: 1.25rem;
    }
    @media (min-width: 640px) {
      .modal-scroll { padding: 1.5rem; }
    }
    .modal-divider {
      height: 1px;
      background: linear-gradient(90deg, rgba(245,200,66,0.28), rgba(245,200,66,0.04), transparent);
      margin: 1rem 0 1.25rem;
    }

    /* Scroll bar */
    .modal-scroll::-webkit-scrollbar {
      width: 10px;
    }
    .modal-scroll::-webkit-scrollbar-track {
      background: transparent;
      margin: 12px 4px 12px 0;
    }
    .modal-scroll::-webkit-scrollbar-thumb {
      background: rgba(245,200,66,0.28);
      border-radius: 999px;
      border: 3px solid transparent;
      background-clip: padding-box;
    }
    .modal-scroll::-webkit-scrollbar-thumb:hover {
      background: rgba(245,200,66,0.4);
      border: 3px solid transparent;
      background-clip: padding-box;
    }
    .modal-scroll::-webkit-scrollbar-corner { background: transparent; }

    /* Stagger card animation */
    .agenda-card { animation: cardUp 0.5s ease both; }
    .agenda-card:nth-child(1) { animation-delay: 0.05s; }
    .agenda-card:nth-child(2) { animation-delay: 0.12s; }
    .agenda-card:nth-child(3) { animation-delay: 0.19s; }
    .agenda-card:nth-child(4) { animation-delay: 0.26s; }
    @keyframes cardUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }

    /* Gold button */
    .btn-gold {
      background: linear-gradient(135deg, #F5C842 0%, #B8931F 100%);
      color: #07090f; font-weight: 800; border: none;
      border-radius: 0.95rem; padding: 0.85rem 1.5rem;
      font-family: 'Syne', sans-serif; font-size: 0.875rem;
      cursor: pointer; transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
      letter-spacing: 0.02em;
      box-shadow: 0 14px 34px rgba(184,147,31,0.2);
    }
    .btn-gold:hover { opacity: 0.93; }

    /* Tab */
    .tab-btn { transition: all 0.2s; border-radius: 0.6rem; padding: 0.45rem 1.1rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; border: 1px solid transparent; }
    .tab-btn.active { background: rgba(245,200,66,0.12); color: #F5C842; border-color: rgba(245,200,66,0.3); }
    .tab-btn:not(.active) { color: #6b7280; }
    .tab-btn:not(.active):hover { color: #9ca3af; }

    /* Shimmer accent */
    .shimmer { background: linear-gradient(90deg, transparent, rgba(245,200,66,0.06), transparent); background-size: 200% 100%; animation: shimmer 2.5s linear infinite; }
    @keyframes shimmer { from{background-position:-200% center;} to{background-position:200% center;} }

    /* Empty state */
    .empty-state { opacity: 0; animation: fadeIn 0.5s ease 0.3s both; }
    @keyframes fadeIn { from{opacity:0;} to{opacity:1;} }



    .btn-soft {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      border-radius: 0.95rem;
      padding: 0.8rem 1.1rem;
      border: 1px solid rgba(255,255,255,0.1);
      background: rgba(255,255,255,0.04);
      color: #e5e7eb;
      font-size: 0.82rem;
      font-weight: 700;
      transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
    }
    .btn-soft:hover {
      border-color: rgba(245,200,66,0.24);
      background: rgba(255,255,255,0.07);
    }

    .detail-sheet {
      padding: 1.25rem;
    }
    @media (min-width: 640px) {
      .detail-sheet {
        padding: 1.5rem;
      }
    }
    .detail-meta-grid {
      display: grid;
      gap: 0.85rem;
      margin-top: 1rem;
    }
    @media (min-width: 640px) {
      .detail-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    .detail-item {
      border: 1px solid rgba(255,255,255,0.07);
      background: rgba(255,255,255,0.03);
      border-radius: 1rem;
      padding: 0.95rem 1rem;
    }
    .detail-item-label {
      display: block;
      color: #71717a;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 0.35rem;
    }
    .detail-item-value {
      color: #f4f4f5;
      font-size: 0.92rem;
      line-height: 1.55;
      word-break: break-word;
    }
    .detail-description {
      margin-top: 1rem;
      border: 1px solid rgba(255,255,255,0.07);
      background: rgba(255,255,255,0.03);
      border-radius: 1.1rem;
      padding: 1rem 1.05rem;
    }
    .detail-description p {
      color: #d4d4d8;
      font-size: 0.9rem;
      line-height: 1.7;
      white-space: pre-wrap;
      word-break: break-word;
    }
    .detail-flyer-wrap {
      margin-top: 1rem;
    }
    .detail-flyer-grid {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 0.9rem;
      margin-top: 0.45rem;
    }
    @media (min-width: 640px) {
      .detail-flyer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    .detail-flyer {
      width: 100%;
      border-radius: 1.25rem;
      border: 1px solid rgba(255,255,255,0.08);
      overflow: hidden;
      background: rgba(255,255,255,0.03);
    }
    .detail-flyer img {
      width: 100%;
      display: block;
      max-height: 20rem;
      object-fit: cover;
    }
    .detail-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1.15rem;
    }

    /* Toast */
    .toast {
      position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%) translateY(80px);
      background: #10B981; color: white; padding: 0.7rem 1.5rem;
      border-radius: 99px; font-size: 0.85rem; font-weight: 600;
      z-index: 100; transition: transform 0.35s cubic-bezier(.34,1.56,.64,1);
      white-space: nowrap;
    }
    .toast.show { transform: translateX(-50%) translateY(0); }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
      }
    }

  


    .detail-section-plain {
      background: transparent;
      border: 0;
      padding: 0;
    }
    .detail-copy {
      line-height: 1.7;
      overflow-wrap: anywhere;
      word-break: break-word;
      max-width: 100%;
      font-size: 0.98rem;
    }
    .detail-copy p {
      margin: 0 0 1.15rem;
    }
    .detail-copy p:last-child {
      margin-bottom: 0;
    }
    .detail-copy a,
    .detail-copy span,
    .detail-copy strong,
    .detail-copy em {
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .detail-flyer-link {
      border: 0;
      background: transparent;
      border-radius: 1.25rem;
      overflow: hidden;
      box-shadow: none;
    }
    .detail-flyer-image {
      width: 100%;
      display: block;
      max-height: 28rem;
      object-fit: cover;
      border-radius: 1.25rem;
    }
    .detail-flyer-file {
      min-height: 220px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #a1a1aa;
      border-radius: 1.25rem;
      background: rgba(255,255,255,0.03);
    }


    .detail-inline-link {
      color: #F5C842;
      font-weight: 700;
      text-decoration: underline;
      text-decoration-color: rgba(245,200,66,0.45);
      text-underline-offset: 0.16em;
      transition: color 0.2s ease, text-decoration-color 0.2s ease;
    }
    .detail-inline-link:hover {
      color: #fde68a;
      text-decoration-color: rgba(253,230,138,0.7);
    }
    .detail-flyer-trigger {
      width: 100%;
      position: relative;
      border: 0;
      padding: 0;
      background: transparent;
      border-radius: 1.25rem;
      overflow: hidden;
      cursor: zoom-in;
      text-align: left;
    }
    .detail-flyer-trigger::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.45) 100%);
      opacity: 0;
      transition: opacity 0.2s ease;
      pointer-events: none;
    }
    .detail-flyer-trigger:hover::after {
      opacity: 1;
    }
    .detail-flyer-hint {
      position: absolute;
      right: 0.9rem;
      bottom: 0.9rem;
      z-index: 1;
      border-radius: 999px;
      background: rgba(7,9,15,0.78);
      color: #f8fafc;
      font-size: 0.72rem;
      font-weight: 700;
      padding: 0.45rem 0.7rem;
      border: 1px solid rgba(255,255,255,0.12);
      opacity: 0;
      transform: translateY(6px);
      transition: opacity 0.2s ease, transform 0.2s ease;
      pointer-events: none;
    }
    .detail-flyer-trigger:hover .detail-flyer-hint,
    .detail-flyer-trigger:focus-visible .detail-flyer-hint {
      opacity: 1;
      transform: translateY(0);
    }
    .detail-flyer-trigger:focus-visible {
      outline: 2px solid rgba(245,200,66,0.55);
      outline-offset: 3px;
    }
    .flyer-lightbox {
      z-index: 70;
      background: rgba(3,5,10,0.9);
      backdrop-filter: blur(8px);
    }
    .flyer-lightbox-box {
      width: min(92vw, 980px);
      max-width: 980px;
      border-radius: 1.5rem;
      border-color: rgba(245,200,66,0.18);
      background: rgba(10,13,20,0.96);
      overflow: visible;
      box-shadow: 0 28px 80px rgba(0,0,0,0.5);
    }
    .flyer-lightbox-body {
      padding: 1rem;
    }
    .flyer-lightbox-image {
      display: block;
      width: 100%;
      max-height: 80vh;
      object-fit: contain;
      border-radius: 1.15rem;
      background: rgba(255,255,255,0.02);
    }
    .flyer-lightbox-caption {
      margin-top: 0.9rem;
      color: #d4d4d8;
      font-size: 0.9rem;
      line-height: 1.55;
      text-align: center;
    }
    .flyer-lightbox-close {
      position: absolute;
      top: -0.75rem;
      right: -0.75rem;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(10,13,20,0.96);
      color: #f8fafc;
      font-size: 1.6rem;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 12px 30px rgba(0,0,0,0.35);
    }
    .flyer-lightbox-close:hover {
      color: #F5C842;
      border-color: rgba(245,200,66,0.24);
    }
    @media (max-width: 640px) {
      .flyer-lightbox-box {
        width: min(94vw, 980px);
      }
      .flyer-lightbox-close {
        top: 0.65rem;
        right: 0.65rem;
      }
      .flyer-lightbox-body {
        padding: 0.9rem;
      }
    }


    /* Public form controls aligned with admin style */
    .choices {
      margin: 0;
      font-size: 14px;
      width: 100%;
    }
    .choices__inner,
    .choices[data-type*='select-one'] .choices__inner {
      min-height: 50px;
      padding: 8px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.08) !important;
      background: rgba(255,255,255,0.03) !important;
      color: #e4e4ef !important;
      box-shadow: none !important;
    }
    .is-focused .choices__inner,
    .is-open .choices__inner {
      border-color: rgba(245,200,66,0.42) !important;
      box-shadow: 0 0 0 3px rgba(245,200,66,0.12) !important;
    }
    .choices__list--single {
      padding: 4px 28px 4px 0;
      color: #e4e4ef !important;
    }
    .choices__input {
      background: transparent !important;
      color: #e4e4ef !important;
    }
    .choices__placeholder { opacity: 0.55; }
    .choices[data-type*='select-one']::after {
      border-color: var(--gold) transparent transparent;
      right: 16px;
    }
    .choices[data-type*='select-one'].is-open::after {
      border-color: transparent transparent var(--gold);
      margin-top: -7px;
    }
    .choices__list--dropdown,
    .choices__list[aria-expanded] {
      margin-top: 8px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.08) !important;
      background: #111 !important;
      color: #e4e4ef !important;
      box-shadow: 0 16px 40px rgba(0,0,0,0.35) !important;
      overflow: hidden;
    }
    .choices__list--dropdown .choices__item,
    .choices__list[aria-expanded] .choices__item {
      font-size: 14px;
      padding: 11px 14px;
      color: #e4e4ef !important;
      background: transparent !important;
    }
    .choices__list--dropdown .choices__item--choice,
    .choices__list[aria-expanded] .choices__item--choice {
      background: transparent !important;
      color: #e4e4ef !important;
    }
    .choices__list--dropdown .choices__item--selectable.is-highlighted,
    .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
      background: rgba(245,200,66,0.12) !important;
      color: #e4e4ef !important;
    }
    .choices__list--dropdown .choices__item--selectable.is-selected,
    .choices__list[aria-expanded] .choices__item--selectable.is-selected {
      background: rgba(245,200,66,0.18) !important;
      color: #e4e4ef !important;
    }
    .choices__list--dropdown .choices__item--selectable.is-highlighted.is-selected,
    .choices__list[aria-expanded] .choices__item--selectable.is-highlighted.is-selected {
      background: rgba(245,200,66,0.24) !important;
    }
    .choices__list--dropdown .choices__item--disabled,
    .choices__list[aria-expanded] .choices__item--disabled {
      color: rgba(228,228,239,0.5) !important;
    }

    .flatpickr-input[readonly],
    .admin-flatpickr-input {
      cursor: pointer;
    }
    .admin-flatpickr-input {
      width: 100%;
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.08) !important;
      background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)) !important;
      color: #e4e4ef !important;
      outline: none;
    }
    .admin-flatpickr-input::placeholder {
      color: rgba(228,228,239,0.5) !important;
    }
    .admin-flatpickr-input:focus {
      border-color: rgba(245,200,66,0.42) !important;
      box-shadow: 0 0 0 3px rgba(245,200,66,0.12) !important;
    }
    .flatpickr-calendar {
      background: linear-gradient(180deg, #111111 0%, #0a0a0a 100%) !important;
      border: 1px solid rgba(245,200,66,0.22) !important;
      border-radius: 18px !important;
      box-shadow: 0 18px 42px rgba(0,0,0,0.45) !important;
      color: #e4e4ef !important;
      overflow: hidden;
    }


    .flatpickr-calendar.arrowTop::before,
    .flatpickr-calendar.arrowTop::after,
    .flatpickr-calendar.arrowBottom::before,
    .flatpickr-calendar.arrowBottom::after {
      display: none !important;
    }
    .flatpickr-months {
      padding: 8px 8px 4px;
    }
    .flatpickr-months .flatpickr-month {
      background: transparent !important;
      color: #e4e4ef !important;
      fill: var(--gold) !important;
    }
    .flatpickr-current-month,
    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month input.cur-year {
      color: #e4e4ef !important;
      font-weight: 700;
    }
    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month input.cur-year {
      background: transparent !important;
    }
    .flatpickr-monthDropdown-months:hover,
    .flatpickr-current-month input.cur-year:hover,
    .flatpickr-current-month input.cur-year:focus {
      background: rgba(245,200,66,0.1) !important;
      color: var(--gold) !important;
    }
    .flatpickr-prev-month,
    .flatpickr-next-month {
      top: 8px !important;
      border-radius: 10px;
      color: var(--gold) !important;
      fill: var(--gold) !important;
    }
    .flatpickr-prev-month:hover,
    .flatpickr-next-month:hover {
      background: rgba(245,200,66,0.12) !important;
    }
    .flatpickr-prev-month svg,
    .flatpickr-next-month svg {
      fill: currentColor !important;
    }
    .flatpickr-weekdays {
      background: rgba(245,200,66,0.08) !important;
      border-top: 1px solid rgba(255,255,255,0.05);
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    span.flatpickr-weekday {
      color: var(--gold) !important;
      font-weight: 700;
      font-size: 12px;
    }
    .flatpickr-days {
      padding: 8px 10px 10px;
    }
    .flatpickr-day {
      color: #ece4d7 !important;
      border-radius: 10px;
      border: 1px solid transparent;
    }
    .flatpickr-day.today {
      border-color: rgba(245,200,66,0.45) !important;
      color: var(--gold) !important;
    }
    .flatpickr-day.prevMonthDay,
    .flatpickr-day.nextMonthDay,
    .flatpickr-day.flatpickr-disabled,
    .flatpickr-day.flatpickr-disabled:hover {
      color: rgba(228,228,239,0.4) !important;
    }
    .flatpickr-day.inRange,
    .flatpickr-day.prevMonthDay.inRange,
    .flatpickr-day.nextMonthDay.inRange,
    .flatpickr-day.today.inRange,
    .flatpickr-day.prevMonthDay.today.inRange,
    .flatpickr-day.nextMonthDay.today.inRange {
      background: rgba(245,200,66,0.14) !important;
      border-color: rgba(245,200,66,0.08) !important;
      box-shadow: none !important;
      color: #e4e4ef !important;
    }
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange,
    .flatpickr-day.selected:hover,
    .flatpickr-day.startRange:hover,
    .flatpickr-day.endRange:hover {
      background: linear-gradient(135deg, rgba(245,200,66,0.96), rgba(245,200,66,0.82)) !important;
      border-color: rgba(245,200,66,0.96) !important;
      color: #111 !important;
      box-shadow: 0 8px 18px rgba(245,200,66,0.28);
    }
    .flatpickr-day:hover,
    .flatpickr-day:focus {
      background: rgba(245,200,66,0.12) !important;
      border-color: rgba(245,200,66,0.16) !important;
    }
    .flatpickr-time {
      border-top: 1px solid rgba(255,255,255,0.06) !important;
      background: rgba(255,255,255,0.02) !important;
    }
    .flatpickr-time .numInputWrapper span.arrowUp:after {
      border-bottom-color: var(--gold) !important;
    }
    .flatpickr-time .numInputWrapper span.arrowDown:after {
      border-top-color: var(--gold) !important;
    }
    .flatpickr-time input,
    .flatpickr-time .flatpickr-am-pm {
      color: #e4e4ef !important;
      background: transparent !important;
    }
    .flatpickr-time input:hover,
    .flatpickr-time input:focus,
    .flatpickr-time .flatpickr-am-pm:hover,
    .flatpickr-time .flatpickr-am-pm:focus,
    .flatpickr-time .numInputWrapper:hover {
      background: rgba(245,200,66,0.12) !important;
    }
    .flatpickr-time .numInputWrapper span:hover {
      background: rgba(245,200,66,0.18) !important;
    }


/* Final public picker/select fixes */
.modal-box,
.form-section,
.field,
.field-grid { overflow: visible; }
.modal-scroll { overflow-x: visible; overflow-y: auto; }
.choices {
  width: 100%;
}
.choices.is-open {
  z-index: 1150;
}
.choices__inner,
.choices[data-type*='select-one'] .choices__inner {
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)) !important;
  color: #e4e4ef !important;
  box-shadow: none !important;
}
.is-focused .choices__inner,
.is-open .choices__inner {
  border-color: rgba(245,200,66,0.42) !important;
  box-shadow: 0 0 0 3px rgba(245,200,66,0.12) !important;
}
.choices__list--dropdown,
.choices__list[aria-expanded] {
  z-index: 1200 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #111 !important;
}
.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item,
.choices__list--dropdown .choices__item--choice,
.choices__list[aria-expanded] .choices__item--choice {
  color: #e4e4ef !important;
  background: transparent !important;
}
.choices__list--dropdown .choices__item--selectable.is-selected,
.choices__list[aria-expanded] .choices__item--selectable.is-selected {
  background: rgba(245,200,66,0.18) !important;
  color: #e4e4ef !important;
}
.flatpickr-calendar {
  z-index: 1300 !important;
  max-width: calc(100vw - 24px);
}
.flatpickr-calendar.hasTime.noCalendar {
  min-width: 192px;
}
.admin-flatpickr-input {
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)) !important;
}
.admin-flatpickr-input:focus {
  border-color: rgba(245,200,66,0.42) !important;
  box-shadow: 0 0 0 3px rgba(245,200,66,0.12) !important;
}
