:root {
    --brand-primary: #1E51B4;
    --brand-secondary: #F15A38;
    --accent-success: #0ac074;
    --court-blue: #3b82f6;
    --court-orange: #f97316;
}

header {
    background-image: url("/static/assets/images/dashboard-background.png");
}

/* Flatpickr style */
#calendar-container .flatpickr-calendar {
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 14px;
    box-shadow: 0 8px 24px -4px rgba(0,0,0,0.08) !important;
    font-family: inherit;
    transform: scale(0.88);
    transform-origin: top center;
    margin-bottom: -24px;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: var(--accent-success) !important;
    border-color: var(--accent-success) !important;
    color: #fff !important;
}
.flatpickr-day.today { border-color: #ffc107 !important; }
.flatpickr-day.today:hover { background: #ffc107 !important; color: #212529 !important; }


/* ─── Select2 Custom Styles ─────────────────────────────────────────────────
   Covers both multi-select (slot picker) and single-select (player count).
   ────────────────────────────────────────────────────────────────────────── */


/* ── Shared: dropdown panel ──────────────────────────────────────────────── */

.select2-dropdown {
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    margin-top: 4px;
}

.select2-results__options {
    padding: 4px;
}

.select2-container--default .select2-results__option {
    padding: 8px 10px;
    font-size: 0.875rem;
    color: #374151;
    border-radius: 8px;
    transition: background 0.1s;
}

/* Hover */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #f3f4f6 !important;
    color: #111827 !important;
}

/* Already selected */
.select2-container--default .select2-results__option[aria-selected="true"] {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    font-weight: 500;
}

/* Disabled (booked/unavailable) — muted + italic */
.select2-container--default .select2-results__option[aria-disabled="true"] {
    color: #d1d5db !important;
    background: transparent !important;
    cursor: not-allowed;
    font-style: italic;
}

/* Prevent highlight flash on disabled hover */
.select2-container--default
.select2-results__option--highlighted[aria-selected][aria-disabled="true"] {
    background: transparent !important;
    color: #d1d5db !important;
}


/* ── Multi-select: selection box ─────────────────────────────────────────── */

.select2-container--default .select2-selection--multiple {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 0.45rem 0.65rem;
    min-height: 46px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    cursor: pointer;
    transition: border-color 0.15s;
}

.select2-container--default .select2-selection--multiple:hover {
    border-color: #d1d5db;
    background: #f9fafb;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

/* Chip list */
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Individual chip */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 9999px;
    padding: 3px 10px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #1d4ed8;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}

/* Chip × remove button */
.select2-container--default
.select2-selection--multiple .select2-selection__choice__remove {
    color: #93c5fd;
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    padding: 0;
    order: 2;
    line-height: 1;
    transition: color 0.1s;
    background: transparent !important;
}

.select2-container--default
.select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #1d4ed8;
    background: transparent !important;
}

.select2-container--default
.select2-selection--multiple .select2-selection__choice__display {
    order: 1;
}

/* Inline search field inside the box */
.select2-container--default
.select2-selection--multiple .select2-search--inline .select2-search__field {
    font-size: 0.875rem;
    color: #111827;
    margin: 0;
    padding: 2px 0;
}

.select2-container--default
.select2-selection--multiple .select2-search--inline .select2-search__field::placeholder {
    color: #9ca3af;
}


/* ── Single-select: selection box ────────────────────────────────────────── */

.select2-container--default .select2-selection--single {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 0.65rem 0.75rem;
    height: auto !important;
    display: flex;
    align-items: center;
    transition: border-color 0.15s;
}

.select2-container--default .select2-selection--single:hover {
    border-color: #d1d5db;
    background: #f9fafb;
}

.select2-container--default.select2-container--focus .select2-selection--single {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #111827 !important;
    font-size: 0.875rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9ca3af !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%);
    right: 12px !important;
}