/* ==========================================================================
   ORGANIZER PANEL STYLESHEET
   ========================================================================== */

:root {
    --org-primary: #108560;
    --org-primary-hover: #0a694b;
    --org-primary-light: #e4fbf1;
    --org-accent: #f59e0b;
    --org-dark: #0f272e;
    --org-card-bg: #ffffff;
    --org-border: #dceae5;
    --org-muted: #7d9397;
    --org-badge-bg: #d9f7ea;
}

/* ==========================================================================
   ORGANIZER LAYOUT: FIXED SIDEBAR, SCROLLBAR HIDING, COLLAPSED MODE
   ========================================================================== */

.organizer-layout {
    background-color: #f6faf8;
}

/* Organizer Shell */
.organizer-shell {
    display: block;
    min-height: 100vh;
    padding-top: 70px;
    background: #f6faf8;
}

/* Fixed Topbar */
.organizer-topbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 260px;
    height: 70px;
    z-index: 1020;
    border-bottom: 1px solid var(--org-border);
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    transition: left 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.organizer-topbar-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.organizer-topbar-greeting {
    font-size: 0.85rem;
    color: #556c70;
}

.organizer-greeting-prefix {
    color: #0f272e;
    font-weight: 850;
    margin-right: 4px;
}

.organizer-greeting-name {
    color: var(--org-primary, #108560);
    font-weight: 800;
}

/* Profile menu trigger styling in organizer topbar */
.organizer-topbar .admin-profile-trigger {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 46px;
    padding: 5px 11px 5px 6px;
    border: 1px solid #cfe6dc;
    border-radius: 13px;
    background: linear-gradient(145deg, #ffffff 0%, #f3faf6 100%);
    box-shadow: 0 3px 10px rgba(15, 57, 49, 0.06);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.organizer-topbar .admin-profile-trigger:hover {
    background: linear-gradient(145deg, #ffffff 0%, #e9f8f0 100%);
    border-color: #9edfc2;
    box-shadow: 0 6px 16px rgba(15, 90, 65, 0.12);
    transform: translateY(-1px);
}

.organizer-topbar .organizer-profile-menu[open] > .organizer-profile-trigger {
    border-color: #8bd8b8;
    background: #e9f8f0;
    box-shadow: 0 0 0 3px rgba(16, 133, 96, 0.09), 0 6px 16px rgba(15, 90, 65, 0.1);
}

.organizer-topbar .organizer-profile-trigger:focus-visible {
    outline: 3px solid rgba(16, 133, 96, 0.24);
    outline-offset: 3px;
}

.organizer-topbar-avatar {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, #108560 0%, #0c6a4d 100%) !important;
    color: #ffffff !important;
    font-weight: 900;
    font-size: 0.82rem;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 6px rgba(16, 133, 96, 0.25);
    overflow: hidden;
}

.organizer-topbar-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.organizer-topbar .admin-profile-label,
.organizer-profile-label {
    display: grid;
    gap: 3px;
    text-align: left;
}

/* User name: Crisp high-contrast dark color */
.organizer-topbar .admin-profile-label strong,
.organizer-username {
    color: #0f272e !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

/* Role badge: Clear primary green */
.organizer-topbar .admin-profile-label small,
.organizer-user-badge {
    color: #108560 !important;
    font-size: 0.62rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.organizer-profile-caret {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    color: #7d9397;
    font-size: 0.62rem;
    margin-left: 1px;
    border: 1px solid #dcebe4;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.8);
    transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.organizer-topbar details[open] .organizer-profile-caret {
    transform: rotate(180deg);
    color: #108560;
    background: #ffffff;
}

.organizer-topbar .admin-profile-dropdown {
    top: calc(100% + 9px);
    width: 278px;
    border-color: #d7e8e0;
    border-radius: 16px;
    box-shadow: 0 22px 52px rgba(5, 31, 41, 0.2);
}

.organizer-topbar .admin-profile-dropdown .admin-profile-summary {
    min-height: 82px;
    padding: 17px;
    border-bottom-color: #e8f1ed;
    background: linear-gradient(125deg, #f3faf6, #ffffff 78%);
}

.organizer-topbar .admin-profile-dropdown .admin-avatar {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 2px solid #ffffff;
    box-shadow: 0 3px 9px rgba(16, 133, 96, 0.2);
}

.organizer-topbar .admin-profile-dropdown .admin-profile-summary > div {
    min-width: 0;
    gap: 4px;
}

.organizer-topbar .admin-profile-dropdown .admin-profile-summary strong {
    overflow: hidden;
    color: #173640;
    font-size: 0.8rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organizer-topbar .admin-profile-dropdown .admin-profile-summary small {
    color: #0b9870;
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.organizer-topbar .admin-profile-dropdown > a,
.organizer-topbar .admin-profile-dropdown form button {
    min-height: 47px;
    padding: 12px 17px;
    color: #35575d;
    font-size: 0.76rem;
    font-weight: 700;
    transition: background 0.16s ease, color 0.16s ease;
}

.organizer-topbar .admin-profile-dropdown > a i,
.organizer-topbar .admin-profile-dropdown form button i {
    margin-left: auto;
    color: #8ba39d;
    font-size: 0.7rem;
    transition: transform 0.16s ease, color 0.16s ease;
}

.organizer-topbar .admin-profile-dropdown > a:hover,
.organizer-topbar .admin-profile-dropdown form button:hover {
    color: #087352;
    background: #f0faf6;
}

.organizer-topbar .admin-profile-dropdown > a:hover i {
    color: #087352;
    transform: translateX(2px);
}

.organizer-topbar .admin-profile-dropdown form button {
    border-top: 1px solid #edf3f1;
    color: #a33f43;
}

.organizer-topbar .admin-profile-dropdown form button i {
    color: #c47b7c;
}

.organizer-topbar .admin-profile-dropdown form button:hover {
    color: #9f272e;
    background: #fff4f3;
}

.organizer-topbar .admin-profile-dropdown form button:hover i {
    color: #a33f43;
}

.organizer-topbar .admin-profile-dropdown a:focus-visible,
.organizer-topbar .admin-profile-dropdown form button:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid rgba(16, 133, 96, 0.2);
    outline-offset: -3px;
}

/* Notification trigger in white topbar */
.organizer-topbar .admin-topbar-button {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #f4faf7;
    border: 1px solid #d5ece2;
    color: #0f272e;
    cursor: pointer;
    position: relative;
    transition: all 0.18s ease;
}

.organizer-topbar .admin-topbar-button:hover {
    background: #e6f6ee;
    border-color: #aee7d0;
    color: #108560;
}

.organizer-topbar .admin-topbar-button b {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #dc2626;
    color: #ffffff;
    border-radius: 999px;
    padding: 2px 5px;
    font-size: 0.58rem;
    font-weight: 900;
    border: 2px solid #ffffff;
    line-height: 1;
}

.organizer-quick-links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: 12px;
}

.organizer-top-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 9px;
    font-size: 0.72rem;
    font-weight: 850;
    color: var(--org-primary);
    background: var(--org-primary-light);
    text-decoration: none;
    transition: all 0.15s ease;
    border: 1px solid #c2eedb;
}

.organizer-top-btn:hover {
    background: var(--org-primary);
    color: #fff;
    transform: translateY(-1px);
}

/* Fixed Sidebar Layout */
.organizer-sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 260px;
    height: 100vh !important;
    z-index: 1040;
    background: #0f272e !important;
    color: #e4fbf1;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none !important; /* Firefox: completely hide scrollbar */
    -ms-overflow-style: none !important; /* IE / Edge */
    box-shadow: 2px 0 20px rgba(0, 0, 0, 0.08);
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hide visible scrollbar across all engines */
.organizer-sidebar::-webkit-scrollbar,
.organizer-nav::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

/* Sidebar Top Block: Logo + Brand Title + Show/Hide Toggle Button */
.organizer-sidebar-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 14px;
    background: #0b1e23;
    border-bottom: 1px solid #1a3942;
    min-height: 70px;
    box-sizing: border-box;
    transition: padding 0.25s ease;
}

.organizer-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #ffffff;
    min-width: 0;
    overflow: hidden;
    flex: 1;
}

.organizer-sidebar-logo-box {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, #108560 0%, #0d694c 100%);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(16, 133, 96, 0.35);
    overflow: hidden;
}

.organizer-sidebar-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.organizer-sidebar-logo-fallback {
    font-size: 1.15rem;
    color: #e4fbf1;
}

.organizer-sidebar-brand-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
}

.organizer-brand-title {
    font-size: 0.92rem;
    font-weight: 850;
    color: #ffffff;
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.organizer-brand-sub {
    font-size: 0.6rem;
    font-weight: 850;
    color: #27c995;
    letter-spacing: 0.16em;
    line-height: 1.3;
}

.organizer-sidebar-toggle-btn {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #9fe2c6;
    cursor: pointer;
    font-size: 0.95rem;
    transition: all 0.18s ease;
    padding: 0;
}

.organizer-sidebar-toggle-btn:hover {
    background: var(--org-primary);
    color: #ffffff;
    border-color: var(--org-primary);
    transform: scale(1.05);
}

/* Sidebar Sub-Badge */
.organizer-sidebar-badge {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 12px 12px 8px;
    padding: 10px 12px;
    background: linear-gradient(135deg, rgba(16, 133, 96, 0.22) 0%, rgba(15, 39, 46, 0.4) 100%);
    border: 1px solid rgba(72, 220, 168, 0.2);
    border-radius: 12px;
    color: #e4fbf1;
    transition: all 0.25s ease;
}

.organizer-badge-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    background: rgba(16, 133, 96, 0.35);
    color: #5ee3ae;
    font-size: 1rem;
}

.organizer-badge-info strong {
    display: block;
    font-size: 0.74rem;
    color: #ffffff;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.organizer-badge-info small {
    display: block;
    font-size: 0.6rem;
    color: #8da4a6;
    white-space: nowrap;
}

/* Organizer Navigation List: Scrollable with hidden scrollbar */
.organizer-nav {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 8px 12px 24px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.organizer-nav a,
.organizer-nav summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 9px;
    color: #b5c7c4;
    background: transparent;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 0;
    transition: all 0.15s ease;
    list-style: none;
    white-space: nowrap;
    position: relative;
    user-select: none;
}

.organizer-nav summary::-webkit-details-marker {
    display: none;
}

.organizer-nav a:hover,
.organizer-nav summary:hover {
    background: rgba(255, 255, 255, 0.07);
    color: #ffffff;
}

.organizer-nav a.is-active,
.organizer-nav summary.is-active {
    background: rgba(16, 133, 96, 0.28);
    color: #ffffff;
    box-shadow: inset 3px 0 #27c995;
}

.organizer-nav .sidebar-icon {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    color: #5ee3ae;
    font-size: 1rem;
    transition: transform 0.2s ease, color 0.2s ease;
}

.organizer-nav a:hover .sidebar-icon,
.organizer-nav summary:hover .sidebar-icon,
.organizer-nav a.is-active .sidebar-icon,
.organizer-nav summary.is-active .sidebar-icon {
    color: #ffffff;
}

.organizer-nav .sidebar-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organizer-nav details summary::after {
    content: '›';
    margin-left: auto;
    font-size: 1.15rem;
    line-height: 1;
    color: #6d8689;
    transition: transform 0.2s ease;
}

.organizer-nav details[open] > summary::after {
    transform: rotate(90deg);
    color: #27c995;
}

.organizer-submenu {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 2px;
    margin-bottom: 4px;
    padding-left: 20px;
    border-left: 1px dashed rgba(255, 255, 255, 0.12);
    margin-left: 22px;
}

.organizer-submenu a {
    padding: 7px 10px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #92a7a5;
}

.organizer-submenu a:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.05);
}

.organizer-submenu a.is-active {
    color: #48dca8;
    background: rgba(16, 133, 96, 0.2);
    font-weight: 700;
    box-shadow: none;
}

.submenu-bullet {
    font-size: 0.55rem;
    margin-right: 6px;
    color: #48dca8;
    opacity: 0.75;
}

/* Organizer Main Content */
.organizer-main-content {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 70px);
    margin-left: 260px;
    width: calc(100% - 260px);
    padding: clamp(26px, 3.5vw, 42px) clamp(24px, 3.2vw, 40px) 50px;
    box-sizing: border-box;
    transition: margin-left 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==========================================================================
   COLLAPSED SIDEBAR: SHOW ONLY MENU ICONS, HIDE NAMES
   ========================================================================== */
@media (min-width: 781px) {
    body.organizer-sidebar-collapsed .organizer-sidebar,
    html.organizer-sidebar-collapsed body .organizer-sidebar {
        width: 74px !important;
        min-width: 74px !important;
    }

    body.organizer-sidebar-collapsed .organizer-topbar,
    html.organizer-sidebar-collapsed body .organizer-topbar {
        left: 74px !important;
        width: calc(100% - 74px) !important;
    }

    body.organizer-sidebar-collapsed .organizer-main-content,
    html.organizer-sidebar-collapsed body .organizer-main-content {
        margin-left: 74px !important;
        width: calc(100% - 74px) !important;
    }

    /* Top Header in Collapsed Mode */
    body.organizer-sidebar-collapsed .organizer-sidebar-top,
    html.organizer-sidebar-collapsed body .organizer-sidebar-top {
        flex-direction: column !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 12px 6px !important;
    }

    body.organizer-sidebar-collapsed .organizer-sidebar-brand,
    html.organizer-sidebar-collapsed body .organizer-sidebar-brand {
        justify-content: center !important;
    }

    body.organizer-sidebar-collapsed .organizer-sidebar-brand-text,
    html.organizer-sidebar-collapsed body .organizer-sidebar-brand-text {
        display: none !important;
    }

    body.organizer-sidebar-collapsed .organizer-sidebar-toggle-btn,
    html.organizer-sidebar-collapsed body .organizer-sidebar-toggle-btn {
        width: 32px;
        height: 32px;
        min-width: 32px;
        margin: 0 auto;
    }

    /* Badge in Collapsed Mode */
    body.organizer-sidebar-collapsed .organizer-sidebar-badge,
    html.organizer-sidebar-collapsed body .organizer-sidebar-badge {
        margin: 8px 6px !important;
        padding: 8px 4px !important;
        justify-content: center !important;
    }

    body.organizer-sidebar-collapsed .organizer-badge-info,
    html.organizer-sidebar-collapsed body .organizer-badge-info {
        display: none !important;
    }

    /* Menu in Collapsed Mode: SHOW ONLY MENU ICONS, HIDE NAMES */
    body.organizer-sidebar-collapsed .organizer-nav,
    html.organizer-sidebar-collapsed body .organizer-nav {
        padding: 8px 6px 20px !important;
        align-items: center !important;
    }

    body.organizer-sidebar-collapsed .organizer-nav a,
    html.organizer-sidebar-collapsed body .organizer-nav a,
    body.organizer-sidebar-collapsed .organizer-nav summary,
    html.organizer-sidebar-collapsed body .organizer-nav summary {
        justify-content: center !important;
        padding: 12px 0 !important;
        width: 48px !important;
        height: 48px !important;
        margin: 0 auto !important;
        border-radius: 12px !important;
    }

    body.organizer-sidebar-collapsed .organizer-nav .sidebar-text,
    html.organizer-sidebar-collapsed body .organizer-nav .sidebar-text,
    body.organizer-sidebar-collapsed .organizer-nav details summary::after,
    html.organizer-sidebar-collapsed body .organizer-nav details summary::after,
    body.organizer-sidebar-collapsed .organizer-submenu,
    html.organizer-sidebar-collapsed body .organizer-submenu {
        display: none !important;
    }

    body.organizer-sidebar-collapsed .organizer-nav .sidebar-icon,
    html.organizer-sidebar-collapsed body .organizer-nav .sidebar-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 1.25rem !important;
        margin: 0 !important;
    }

    /* Active state in collapsed mode */
    body.organizer-sidebar-collapsed .organizer-nav a.is-active,
    html.organizer-sidebar-collapsed body .organizer-nav a.is-active,
    body.organizer-sidebar-collapsed .organizer-nav summary.is-active,
    html.organizer-sidebar-collapsed body .organizer-nav summary.is-active {
        background: var(--org-primary) !important;
        box-shadow: 0 4px 14px rgba(16, 133, 96, 0.45) !important;
    }

    body.organizer-sidebar-collapsed .organizer-nav a.is-active .sidebar-icon,
    html.organizer-sidebar-collapsed body .organizer-nav a.is-active .sidebar-icon,
    body.organizer-sidebar-collapsed .organizer-nav summary.is-active .sidebar-icon,
    html.organizer-sidebar-collapsed body .organizer-nav summary.is-active .sidebar-icon {
        color: #ffffff !important;
    }

    /* Floating Tooltip on Hover in Collapsed Mode */
    body.organizer-sidebar-collapsed .organizer-nav a[data-title]:hover::before,
    html.organizer-sidebar-collapsed body .organizer-nav a[data-title]:hover::before {
        content: attr(data-title);
        position: fixed;
        left: 82px;
        top: var(--organizer-tooltip-top, 50%);
        background: #09171b;
        color: #ffffff;
        padding: 7px 12px;
        border-radius: 8px;
        font-size: 0.78rem;
        font-weight: 700;
        white-space: nowrap;
        pointer-events: none;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
        border: 1px solid #1a3942;
        z-index: 1060;
        transform: translateY(-50%);
        animation: orgTooltipFade 0.15s ease forwards;
    }

    @keyframes orgTooltipFade {
        from { opacity: 0; transform: translate(-4px, -50%); }
        to { opacity: 1; transform: translate(0, -50%); }
    }
}

.organizer-sidebar-flyout {
    position: fixed;
    top: var(--organizer-flyout-top, 8px);
    left: 82px;
    z-index: 1065;
    width: 248px;
    max-height: calc(100vh - 16px);
    overflow-y: auto;
    padding: 10px;
    border: 1px solid rgba(148, 181, 176, 0.24);
    border-radius: 14px;
    background: #0b1e23;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.4);
    animation: orgFlyoutFade 0.14s ease-out;
}

.organizer-sidebar-flyout-title {
    display: block;
    padding: 5px 10px 9px;
    color: #8da4a6;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
}

.organizer-sidebar-flyout-links {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.organizer-sidebar-flyout-links a {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #b5c7c4;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.organizer-sidebar-flyout-links a:hover,
.organizer-sidebar-flyout-links a:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.organizer-sidebar-flyout-links a.is-active {
    background: rgba(16, 133, 96, 0.24);
    color: #48dca8;
    font-weight: 700;
}

.organizer-sidebar-flyout-links .submenu-bullet {
    flex: 0 0 14px;
    margin-right: 7px;
}

@keyframes orgFlyoutFade {
    from { opacity: 0; transform: translateX(-4px); }
    to { opacity: 1; transform: translateX(0); }
}

/* ==========================================================================
   MOBILE RESPONSIVENESS (<= 780px)
   ========================================================================== */
@media (max-width: 780px) {
    .organizer-sidebar-flyout {
        display: none;
    }

    .organizer-topbar {
        left: 0 !important;
        width: 100% !important;
        padding: 0 16px;
    }

    .organizer-main-content {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .organizer-sidebar {
        width: 275px !important;
        transform: translateX(-100%);
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .organizer-sidebar.is-open {
        transform: translateX(0) !important;
        box-shadow: 16px 0 32px rgba(0, 0, 0, 0.4);
    }

    .organizer-sidebar-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(4, 17, 27, 0.65);
        z-index: 1035;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
        border: 0;
    }

    body.organizer-mobile-open .organizer-sidebar-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .captain-mobile-sidebar-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 16px;
        background: #09171b;
        border-bottom: 1px solid #1a3942;
        color: #ffffff;
    }
}

/* Stat Grid */
.organizer-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

@media (max-width: 1100px) {
    .organizer-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (max-width: 600px) {
    .organizer-stat-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

.organizer-stat-card {
    position: relative;
    padding: 22px 24px;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.organizer-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(16, 133, 96, 0.08);
}

.organizer-stat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.organizer-stat-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 1.3rem;
    background: var(--org-primary-light);
}

.organizer-stat-tag {
    font-size: 0.6rem;
    font-weight: 850;
    padding: 3px 8px;
    border-radius: 6px;
    background: #f0f6f4;
    color: var(--org-muted);
    text-transform: uppercase;
}

.organizer-stat-card h3 {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 950;
    color: var(--org-dark);
    letter-spacing: -0.04em;
    line-height: 1;
}

.organizer-stat-card p {
    margin: 8px 0 0;
    font-size: 0.74rem;
    color: var(--org-muted);
    font-weight: 600;
}

/* Quick Action Row */
.organizer-quick-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.quick-action-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid var(--org-border);
    border-radius: 14px;
    background: #ffffff;
    text-decoration: none;
    color: var(--org-dark);
    transition: all 0.15s ease;
}

.quick-action-card:hover {
    border-color: var(--org-primary);
    background: var(--org-primary-light);
    transform: translateY(-2px);
    color: var(--org-primary);
}

.quick-action-card span {
    font-size: 1.6rem;
}

.quick-action-card strong {
    display: block;
    font-size: 0.8rem;
}

.quick-action-card small {
    display: block;
    font-size: 0.65rem;
    color: var(--org-muted);
}

/* Filter / Tab Bar */
.organizer-tab-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 6px;
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 12px;
}

.organizer-tab-item {
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--org-muted);
    text-decoration: none;
    transition: all 0.15s ease;
}

.organizer-tab-item:hover {
    color: var(--org-dark);
    background: #f2f7f5;
}

.organizer-tab-item.is-active {
    color: var(--org-primary);
    background: var(--org-primary-light);
}

.organizer-tab-item b {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(16, 133, 96, 0.12);
    font-size: 0.62rem;
}

/* Grounds Cards Grid */
.grounds-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.ground-card {
    border: 1px solid var(--org-border);
    border-radius: 16px;
    background: #ffffff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    transition: all 0.2s ease;
}

.ground-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(16, 133, 96, 0.09);
    border-color: #9fe2c6;
}

.ground-card-cover {
    position: relative;
    height: 160px;
    background: linear-gradient(135deg, #108560 0%, #084834 100%);
    display: grid;
    place-items: center;
    color: #ffffff;
}

.ground-card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ground-type-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.64rem;
    font-weight: 900;
    text-transform: uppercase;
    background: rgba(15, 39, 46, 0.85);
    color: #ffffff;
    backdrop-filter: blur(4px);
}

.ground-status-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.64rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ground-status-badge.is-active {
    background: #e1fbf1;
    color: #0c7553;
}

.ground-status-badge.is-pending {
    background: #fff3d6;
    color: #9b6814;
}

.ground-status-badge.is-inactive {
    background: #ffebe8;
    color: #a83d36;
}

.ground-card-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ground-card-title {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-weight: 850;
    color: var(--org-dark);
}

.ground-card-title a {
    color: inherit;
    text-decoration: none;
}

.ground-card-title a:hover {
    color: var(--org-primary);
}

.ground-card-location {
    font-size: 0.72rem;
    color: var(--org-muted);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ground-facility-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.facility-chip {
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.62rem;
    font-weight: 800;
    background: #f2faf6;
    color: #0b684a;
    border: 1px solid #d5ece2;
}

.ground-pricing-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    margin-top: auto;
    border-top: 1px solid #edf4f1;
}

.ground-price strong {
    font-size: 1.15rem;
    color: var(--org-primary);
}

.ground-price small {
    display: block;
    font-size: 0.6rem;
    color: var(--org-muted);
}

.ground-card-actions {
    display: flex;
    gap: 8px;
}

/* Ground Details Page */
.ground-hero {
    display: grid;
    grid-template-columns: 1.4fr 0.6fr;
    gap: 20px;
    margin-bottom: 24px;
    padding: 24px;
    border: 1px solid var(--org-border);
    border-radius: 18px;
    background: #ffffff;
}

@media (max-width: 900px) {
    .ground-hero {
        grid-template-columns: 1fr;
    }
}

.ground-hero-title h1 {
    margin: 8px 0;
    font-size: 1.8rem;
    color: var(--org-dark);
    letter-spacing: -0.03em;
}

.ground-section-card {
    border: 1px solid var(--org-border);
    border-radius: 16px;
    background: #ffffff;
    padding: 22px;
    margin-bottom: 20px;
}

.ground-section-card h2 {
    margin: 0 0 16px;
    font-size: 1.15rem;
    color: var(--org-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.ground-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.ground-info-item {
    padding: 12px;
    border-radius: 10px;
    background: #f9fcfb;
    border: 1px solid #e7f2ed;
}

.ground-info-item small {
    display: block;
    font-size: 0.62rem;
    text-transform: uppercase;
    font-weight: 850;
    color: var(--org-muted);
}

.ground-info-item strong {
    display: block;
    margin-top: 4px;
    font-size: 0.85rem;
    color: var(--org-dark);
}

/* Facility Checklist Grid */
.facility-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px;
}

.facility-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #dce9e4;
    background: #ffffff;
    font-size: 0.78rem;
    font-weight: 750;
    color: var(--org-dark);
}

.facility-box.is-available {
    background: #f1fcf7;
    border-color: #aee7d0;
    color: #076b4a;
}

.facility-box.is-available span {
    color: #108560;
}

/* Fee Matrix Table */
.fee-table {
    width: 100%;
    border-collapse: collapse;
}

.fee-table th {
    padding: 10px 12px;
    font-size: 0.65rem;
    text-transform: uppercase;
    color: var(--org-muted);
    border-bottom: 2px solid var(--org-border);
    text-align: left;
}

.fee-table td {
    padding: 12px;
    font-size: 0.8rem;
    border-bottom: 1px solid #edf4f1;
    color: var(--org-dark);
}

/* Universal System-Wide Footer */
.app-site-footer {
    padding: 22px 24px;
    margin-top: 40px;
    border-top: 1px solid var(--org-border, #dceae5);
    background: #ffffff;
    color: #6a8286;
    font-size: 0.74rem;
}

.organizer-footer {
    margin-top: auto !important;
    padding-top: 52px !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    border-top: none !important;
}

.organizer-footer .footer-container {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    padding: 18px 24px;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
}

.app-site-footer .footer-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    max-width: 100%;
    margin: 0 auto;
}

.app-site-footer .footer-left,
.app-site-footer .footer-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.app-site-footer .footer-badge {
    padding: 3px 8px;
    border-radius: 6px;
    background: #eef6f3;
    color: var(--org-primary, #108560);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.app-site-footer a {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}

.app-site-footer a:hover {
    color: var(--org-primary, #108560);
}

.app-site-footer .footer-divider {
    color: #b5c7c4;
}

.app-site-footer .footer-tagline {
    color: #92a8a8;
    font-size: 0.68rem;
}

@media (max-width: 768px) {
    .app-site-footer .footer-container {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ==========================================================================
   ORGANIZER STATISTICS & CHARTS
   ========================================================================== */
.organizer-stats-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
}

.organizer-page-title {
    margin: 0 0 6px;
    font-size: 1.55rem;
    font-weight: 850;
    color: var(--org-dark);
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
    gap: 12px;
}

.organizer-page-desc {
    margin: 0;
    font-size: 0.86rem;
    color: var(--org-muted);
    line-height: 1.5;
}

.organizer-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 32px;
}

@media (max-width: 992px) {
    .organizer-chart-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

.organizer-chart-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    padding: 24px 26px;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.organizer-chart-card:hover {
    box-shadow: 0 8px 24px rgba(16, 133, 96, 0.08);
}

.organizer-chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #edf4f1;
}

.organizer-chart-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 850;
    color: var(--org-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.organizer-chart-badge {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.organizer-chart-badge.is-orange {
    background: #fef3c7;
    color: #b45309;
}

.organizer-chart-badge.is-purple {
    background: #f3e8ff;
    color: #7e22ce;
}

.organizer-chart-badge.is-green {
    background: var(--org-primary-light);
    color: var(--org-primary);
}

.organizer-chart-container {
    position: relative;
    width: 100%;
    height: 290px;
}

/* Leaderboard Tables in Organizer Light Theme */
.organizer-table-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
    overflow: hidden;
    margin-bottom: 28px;
    display: flex;
    flex-direction: column;
}

.organizer-table-card .table-responsive {
    flex: 1 1 auto;
    margin-bottom: 0;
}

.organizer-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 22px;
    border-bottom: 1px solid var(--org-border);
    background: #fafdfc;
}

.organizer-table-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 850;
    color: var(--org-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.organizer-table {
    width: 100%;
    border-collapse: collapse;
}

.organizer-table th {
    padding: 13px 18px;
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 850;
    letter-spacing: 0.05em;
    color: var(--org-muted);
    background: #f4faf7;
    border-bottom: 1px solid var(--org-border);
    text-align: left;
    white-space: nowrap;
}

.organizer-table td {
    padding: 14px 18px;
    font-size: 0.84rem;
    color: var(--org-dark);
    border-bottom: 1px solid #edf4f1;
    vertical-align: middle;
    white-space: nowrap;
}

.organizer-table tbody tr {
    transition: background 0.15s ease;
}

.organizer-table tbody tr:hover {
    background: #f6fbf9;
}

.organizer-rank {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 900;
    background: #edf4f1;
    color: var(--org-muted);
}

.organizer-rank.rank-1 {
    background: #fef3c7;
    color: #b45309;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.25);
}

.organizer-rank.rank-2 {
    background: #f1f5f9;
    color: #475569;
}

.organizer-rank.rank-3 {
    background: #ffedd5;
    color: #c2410c;
}

.organizer-player-name {
    font-weight: 800;
    color: var(--org-dark);
    display: block;
    line-height: 1.25;
    max-width: 170px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.organizer-player-sub {
    font-size: 0.70rem;
    color: var(--org-muted);
    display: block;
    max-width: 170px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.organizer-team-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 7px;
    font-size: 0.70rem;
    font-weight: 750;
    background: #eef6f3;
    color: var(--org-primary);
    border: 1px solid #cce8dc;
    max-width: 130px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.organizer-metric-val {
    font-size: 0.98rem;
    font-weight: 900;
    color: var(--org-dark);
}

.organizer-metric-val.is-gold {
    color: #d97706;
}

.organizer-metric-val.is-green {
    color: #108560;
}

/* ==========================================================================
   ORGANIZER PANEL SHARED COMPONENTS (Scorers, Officials, Management, Awards)
   ========================================================================== */

/* Page Action Header */
.organizer-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
}

.organizer-page-header .page-title {
    font-size: 1.55rem;
    font-weight: 850;
    color: var(--org-dark);
    margin: 0 0 6px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: -0.02em;
}

.organizer-page-header .page-subtitle {
    font-size: 0.86rem;
    color: var(--org-muted);
    margin: 0;
    line-height: 1.5;
}

/* Primary Action Buttons */
.organizer-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #108560 0%, #0c6a4d 100%);
    color: #ffffff !important;
    font-size: 0.84rem;
    font-weight: 800;
    border-radius: 12px;
    border: none;
    box-shadow: 0 4px 12px rgba(16, 133, 96, 0.25);
    transition: all 0.2s ease;
    text-decoration: none;
    cursor: pointer;
}

.organizer-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(16, 133, 96, 0.35);
    background: linear-gradient(135deg, #0e7856 0%, #0a5a41 100%);
}

.organizer-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: #ffffff;
    color: var(--org-dark);
    font-size: 0.84rem;
    font-weight: 750;
    border-radius: 12px;
    border: 1px solid var(--org-border);
    transition: all 0.15s ease;
    text-decoration: none;
    cursor: pointer;
}

.organizer-btn-outline:hover {
    background: #f6fbf9;
    border-color: var(--org-primary);
    color: var(--org-primary);
}

/* Generic Clean Organizer Card */
.organizer-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
    overflow: hidden;
    margin-bottom: 28px;
}

.organizer-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 22px;
    border-bottom: 1px solid var(--org-border);
    background: #fafdfc;
}

.organizer-card-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 850;
    color: var(--org-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.organizer-card-body,
.organizer-card .card-body {
    padding: 22px 24px;
}

/* Light Themed Modals */
.organizer-modal .modal-content {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 18px;
    box-shadow: 0 20px 40px rgba(15, 39, 46, 0.16);
    overflow: hidden;
}

.organizer-modal .modal-header {
    background: #fafdfc;
    border-bottom: 1px solid var(--org-border);
    padding: 20px 26px;
}

.organizer-modal .modal-title {
    font-size: 1.1rem;
    font-weight: 850;
    color: var(--org-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.organizer-modal .modal-body {
    padding: 26px;
    color: var(--org-dark);
}

.organizer-modal .modal-footer {
    background: #fbfdfc;
    border-top: 1px solid var(--org-border);
    padding: 16px 26px;
}

.organizer-modal .form-label {
    font-size: 0.76rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--org-dark);
    margin-bottom: 6px;
}

.organizer-modal .form-control,
.organizer-modal .form-select {
    border: 1px solid #d2e4de;
    border-radius: 10px;
    padding: 11px 15px;
    font-size: 0.86rem;
    color: var(--org-dark);
    background-color: #ffffff;
    transition: all 0.2s ease;
}

.organizer-modal .form-control:focus,
.organizer-modal .form-select:focus {
    border-color: var(--org-primary);
    box-shadow: 0 0 0 3px rgba(16, 133, 96, 0.15);
    outline: none;
}

/* List Items in Organizer Panels */
.organizer-list-item {
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid #edf4f1;
    background: #ffffff;
    margin-bottom: 10px;
    transition: all 0.15s ease;
}

.organizer-list-item:hover {
    background: #f7fbf9;
    border-color: #cde4db;
    transform: translateX(2px);
}

/* Officials Responsive Grid & Card Styling */
.organizer-officials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.organizer-official-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
    padding: 22px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.organizer-official-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(16, 133, 96, 0.08);
}

/* Trophy Award Cards */
.organizer-trophy-card {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(16, 133, 96, 0.04);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.organizer-trophy-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(16, 133, 96, 0.09);
    border-color: #bfe0d4;
}

.organizer-trophy-watermark {
    position: absolute;
    top: -10px;
    right: 6px;
    font-size: 5rem;
    opacity: 0.07;
    pointer-events: none;
    user-select: none;
}

.organizer-trophy-content {
    padding: 26px;
}

.organizer-trophy-footer {
    padding: 16px 26px;
    border-top: 1px solid #edf4f1;
    background: #fafdfc;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.organizer-recipient-box {
    background: #f4faf7;
    border: 1px solid #d9ede5;
    border-radius: 12px;
    padding: 16px 18px;
    margin: 18px 0;
}

/* Points Table Special Highlighting */
.qualify-spot {
    background-color: #f2fbf7 !important;
}

.qualify-spot:hover {
    background-color: #e5f6ef !important;
}

.qualify-badge {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #108560;
    margin-right: 6px;
}

/* ==========================================================================
   PAYMENTS & FINANCIAL LEDGER COMPONENTS
   ========================================================================== */
.payment-amount {
    font-weight: 850;
    color: var(--org-dark);
    font-size: 0.95rem;
}

.payment-ref-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 6px;
    font-family: monospace;
    font-size: 0.74rem;
    font-weight: 750;
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
}

.payment-status-paid {
    background: #e1fbf1;
    color: #0c7553;
    border: 1px solid #a9ebd3;
    font-size: 0.70rem;
    font-weight: 750;
    padding: 4px 9px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.payment-status-pending {
    background: #fff3d6;
    color: #9b6814;
    border: 1px solid #fde68a;
    font-size: 0.70rem;
    font-weight: 750;
    padding: 4px 9px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.payment-status-failed {
    background: #ffebe8;
    color: #a83d36;
    border: 1px solid #fecaca;
    font-size: 0.70rem;
    font-weight: 750;
    padding: 4px 9px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.payment-gateway-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.70rem;
    font-weight: 800;
    background: #f8fafc;
    color: #475569;
    border: 1px solid #e2e8f0;
}

/* ==========================================================================
   COMMUNICATIONS & BROADCAST HUB
   ========================================================================== */
.bulletin-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-left: 5px solid var(--org-primary);
    position: relative;
}

.bulletin-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.07);
}

.bulletin-card.urgent {
    border-left-color: #d97706;
}

.bulletin-card.notice {
    border-left-color: #0284c7;
}

.bulletin-card.system {
    border-left-color: #7e22ce;
}

.bulletin-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--org-dark);
    margin-bottom: 8px;
    line-height: 1.35;
}

.bulletin-message {
    color: #475569;
    font-size: 0.88rem;
    line-height: 1.6;
    margin-bottom: 14px;
}

.bulletin-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.bulletin-badge-audience {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.74rem;
    font-weight: 750;
    background: #eef6f3;
    color: #0c7553;
    border: 1px solid #cce8dc;
}

.bulletin-badge-channel {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.74rem;
    font-weight: 750;
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
}

.bulletin-time {
    color: #64748b;
    font-size: 0.78rem;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
}

.hotline-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    margin-bottom: 12px;
    transition: background 0.2s ease;
}

.hotline-row:last-child {
    margin-bottom: 0;
}

.hotline-row:hover {
    background: #f1f5f9;
}

.hotline-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.channel-status-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    margin-bottom: 10px;
    font-size: 0.82rem;
}

.channel-status-pill:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   LIVE STREAM & MEDIA COVERAGE
   ========================================================================== */
.media-stream-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.media-stream-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -5px rgba(0, 0, 0, 0.1);
}

.stream-viewport {
    position: relative;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    aspect-ratio: 16 / 9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.stream-live-pill {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #dc2626;
    color: #ffffff;
    font-size: 0.70rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.5);
}

.stream-scheduled-pill {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #0284c7;
    color: #ffffff;
    font-size: 0.70rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.stream-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ffffff;
    animation: livePulse 1.4s infinite;
}

@keyframes livePulse {
    0% { transform: scale(0.9); opacity: 1; }
    50% { transform: scale(1.3); opacity: 0.5; }
    100% { transform: scale(0.9); opacity: 1; }
}

.stream-viewer-chip {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(4px);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 750;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.stream-setup-badge {
    position: absolute;
    bottom: 12px;
    left: 14px;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(4px);
    color: #cbd5e1;
    font-size: 0.70rem;
    padding: 3px 9px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.stream-card-body {
    padding: 20px 22px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* ==========================================================================
   EXECUTIVE REPORTS & ANALYTICS
   ========================================================================== */
.reports-kpi-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    height: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.reports-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -5px rgba(0, 0, 0, 0.08);
}

.metric-trend-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 20px;
    font-size: 0.70rem;
    font-weight: 750;
    background: #eef6f3;
    color: #108560;
    border: 1px solid #cce8dc;
}

.reports-progress-wrap {
    background: #f1f5f9;
    border-radius: 8px;
    height: 8px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.reports-progress-bar {
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(90deg, #108560, #13a878);
    transition: width 0.6s ease;
}

.reports-progress-bar.amber {
    background: linear-gradient(90deg, #d97706, #f59e0b);
}

.reports-progress-bar.blue {
    background: linear-gradient(90deg, #0284c7, #38bdf8);
}

.reports-progress-bar.purple {
    background: linear-gradient(90deg, #7e22ce, #a855f7);
}

.report-summary-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px 20px;
}

/* ==========================================================================
   TOURNAMENT RULES & MATCH DEFAULTS
   ========================================================================== */
.rule-switch-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 16px;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.rule-switch-card:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.rule-switch-card:last-child {
    margin-bottom: 0;
}

.rule-switch-card .form-check-input {
    width: 2.75em;
    height: 1.45em;
    cursor: pointer;
}

.rule-switch-card .form-check-input:checked {
    background-color: var(--org-primary);
    border-color: var(--org-primary);
}

.rule-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 750;
    background: #eef6f3;
    color: var(--org-primary);
    border: 1px solid #cce8dc;
}

/* ==========================================================================
   NOTIFICATIONS & SYSTEM ALERTS
   ========================================================================== */
.notification-item-card {
    background: #ffffff;
    border: 1px solid var(--org-border);
    border-radius: 14px;
    padding: 18px 22px;
    margin-bottom: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    position: relative;
}

.notification-item-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px -4px rgba(0, 0, 0, 0.06);
}

.notification-item-card.is-unread {
    background: #fbfdfc;
    border-left: 4px solid var(--org-primary);
}

.notification-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.notification-title {
    font-size: 0.96rem;
    font-weight: 800;
    color: var(--org-dark);
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.notification-message {
    color: #475569;
    font-size: 0.86rem;
    line-height: 1.55;
    margin-bottom: 6px;
}

.notification-time {
    color: #94a3b8;
    font-size: 0.74rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ==========================================================================
   ORGANIZER OPERATIONS: RESPONSIVE SPORTS DESK
   ========================================================================== */
.organizer-main-content {
    background-color: #f3f7f6;
    background-image:
        radial-gradient(ellipse at 90% 0%, rgba(16, 133, 96, 0.065), transparent 32rem),
        linear-gradient(180deg, #f7faf9 0%, #f1f6f4 100%);
}

.organizer-main-content > .organizer-page-header,
.organizer-main-content > .captain-page-heading,
.organizer-main-content > .organizer-tournament-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 156px;
    padding: clamp(22px, 3vw, 34px);
    margin-bottom: 26px !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background:
        radial-gradient(circle at 86% 18%, rgba(102, 229, 177, 0.22), transparent 19rem),
        linear-gradient(118deg, #102c33 0%, #124d43 54%, #107653 100%);
    box-shadow: 0 16px 34px rgba(15, 57, 49, 0.14);
}

.organizer-main-content > .organizer-page-header::after,
.organizer-main-content > .captain-page-heading::after,
.organizer-main-content > .organizer-tournament-heading::after {
    position: absolute;
    z-index: -1;
    right: 6%;
    bottom: -116px;
    width: 270px;
    height: 270px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    box-shadow:
        0 0 0 26px rgba(255, 255, 255, 0.035),
        0 0 0 54px rgba(255, 255, 255, 0.025);
    content: "";
    pointer-events: none;
}

.organizer-main-content > .organizer-page-header > div:first-child,
.organizer-main-content > .captain-page-heading > div:first-child,
.organizer-main-content > .organizer-tournament-heading > div:first-child {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.organizer-main-content > .organizer-page-header .page-title,
.organizer-main-content > .captain-page-heading h1,
.organizer-main-content > .organizer-tournament-heading h1 {
    color: #ffffff !important;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 850;
    letter-spacing: -0.035em;
    line-height: 1.2;
}

.organizer-main-content > .organizer-page-header .page-title i {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.12);
    color: #a5f3cf !important;
    font-size: 1rem;
}

.organizer-main-content > .organizer-page-header .page-subtitle,
.organizer-main-content > .captain-page-heading p,
.organizer-main-content > .organizer-tournament-heading p {
    max-width: 680px;
    color: rgba(237, 250, 245, 0.76);
    font-size: 0.88rem;
    line-height: 1.65;
}

.organizer-main-content > .captain-page-heading .captain-eyebrow {
    margin-bottom: 8px;
    color: #9be9c4;
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 0.17em;
}

.organizer-main-content > .organizer-page-header > div:last-child,
.organizer-main-content > .captain-page-heading > a,
.organizer-main-content > .captain-page-heading > div:last-child,
.organizer-main-content > .organizer-tournament-heading > a {
    position: relative;
    z-index: 1;
}

.organizer-main-content > .organizer-page-header .organizer-btn-primary,
.organizer-main-content > .captain-page-heading .captain-primary-button,
.organizer-main-content > .organizer-tournament-heading .captain-primary-button {
    min-height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: #d4f8e6;
    box-shadow: 0 8px 18px rgba(2, 30, 24, 0.16);
    color: #124b3d !important;
}

.organizer-main-content > .organizer-page-header .organizer-btn-primary:hover,
.organizer-main-content > .captain-page-heading .captain-primary-button:hover,
.organizer-main-content > .organizer-tournament-heading .captain-primary-button:hover {
    background: #ffffff;
    color: #0b6949 !important;
}

.organizer-main-content > .organizer-page-header .organizer-btn-outline {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.organizer-main-content > .organizer-page-header .organizer-btn-outline:hover {
    border-color: rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.organizer-main-content .organizer-card,
.organizer-main-content .organizer-table-card,
.organizer-main-content .reports-kpi-card,
.organizer-main-content .organizer-official-card,
.organizer-main-content .organizer-trophy-card,
.organizer-main-content .media-stream-card,
.organizer-main-content .organizer-stat-card,
.organizer-main-content .captain-panel,
.organizer-main-content .captain-tournament-card {
    border-color: #e0ebe7;
    box-shadow: 0 8px 22px rgba(19, 57, 48, 0.045);
}

.organizer-main-content .organizer-card,
.organizer-main-content .reports-kpi-card,
.organizer-main-content .organizer-official-card,
.organizer-main-content .organizer-trophy-card,
.organizer-main-content .media-stream-card,
.organizer-main-content .organizer-stat-card,
.organizer-main-content .captain-panel,
.organizer-main-content .captain-tournament-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.organizer-main-content .organizer-card-header,
.organizer-main-content .organizer-table-header {
    background: linear-gradient(105deg, #f7fbf9, #ffffff);
}

.organizer-main-content .organizer-tab-bar {
    width: 100%;
    padding: 7px;
    border-color: #e0ebe7;
    border-radius: 14px;
    box-shadow: 0 5px 16px rgba(19, 57, 48, 0.035);
}

.organizer-main-content .organizer-tab-item {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
}

.organizer-main-content .organizer-tab-item.is-active {
    box-shadow: inset 0 0 0 1px rgba(16, 133, 96, 0.08);
}

.organizer-main-content .organizer-table th {
    color: #536d69;
    background: #f3f8f6;
}

.organizer-main-content .organizer-table tbody tr:last-child td {
    border-bottom: 0;
}

.organizer-main-content .organizer-table-card,
.organizer-main-content .organizer-card,
.organizer-main-content .captain-panel {
    border-radius: 18px;
}

.organizer-main-content .form-control,
.organizer-main-content .form-select,
.organizer-main-content .input-group-text {
    min-height: 42px;
    border-color: #d8e6e1;
    border-radius: 10px;
}

.organizer-main-content .form-control:focus,
.organizer-main-content .form-select:focus {
    border-color: #20a879;
    box-shadow: 0 0 0 3px rgba(32, 168, 121, 0.13);
}

.organizer-nav a.is-active {
    background: linear-gradient(100deg, rgba(27, 164, 116, 0.24), rgba(27, 164, 116, 0.1)) !important;
    box-shadow: inset 3px 0 #55dfa8;
}

.organizer-sidebar-badge {
    border: 1px solid rgba(102, 229, 177, 0.16);
    background: linear-gradient(115deg, rgba(16, 133, 96, 0.22), rgba(16, 133, 96, 0.08));
}

/* Section-specific identities: a shared layout with its own accent palette. */
.organizer-main-content:has(> .organizer-page-header--scorers) {
    --organizer-accent: #d99425;
    --organizer-accent-soft: #fff5e1;
    --organizer-hero-start: #16332e;
    --organizer-hero-mid: #13634f;
    --organizer-hero-end: #368345;
    --organizer-hero-glow: rgba(255, 213, 123, 0.23);
}

.organizer-main-content:has(> .organizer-page-header--officials) {
    --organizer-accent: #167b9c;
    --organizer-accent-soft: #e8f5fa;
    --organizer-hero-start: #102b3b;
    --organizer-hero-mid: #155c70;
    --organizer-hero-end: #138473;
    --organizer-hero-glow: rgba(119, 217, 255, 0.23);
}

.organizer-main-content:has(> .organizer-page-header--management) {
    --organizer-accent: #6753c4;
    --organizer-accent-soft: #f0edfc;
    --organizer-hero-start: #20254c;
    --organizer-hero-mid: #4a3b8e;
    --organizer-hero-end: #1b6e83;
    --organizer-hero-glow: rgba(185, 170, 255, 0.24);
}

.organizer-main-content:has(> .organizer-page-header--awards),
.organizer-main-content:has(> .organizer-tournament-heading) {
    --organizer-accent: #bc841c;
    --organizer-accent-soft: #fff7e7;
    --organizer-hero-start: #352716;
    --organizer-hero-mid: #805216;
    --organizer-hero-end: #176b53;
    --organizer-hero-glow: rgba(255, 216, 123, 0.24);
}

.organizer-main-content:has(> .organizer-page-header--payments) {
    --organizer-accent: #2473ab;
    --organizer-accent-soft: #eaf4fb;
    --organizer-hero-start: #102438;
    --organizer-hero-mid: #214b70;
    --organizer-hero-end: #087f6f;
    --organizer-hero-glow: rgba(116, 191, 255, 0.24);
}

.organizer-main-content:has(> .organizer-page-header--communication) {
    --organizer-accent: #a74668;
    --organizer-accent-soft: #f9edf1;
    --organizer-hero-start: #311f37;
    --organizer-hero-mid: #78364f;
    --organizer-hero-end: #147153;
    --organizer-hero-glow: rgba(255, 158, 127, 0.22);
}

.organizer-main-content:has(> .organizer-page-header--media) {
    --organizer-accent: #a34277;
    --organizer-accent-soft: #f8edf4;
    --organizer-hero-start: #211e3d;
    --organizer-hero-mid: #663559;
    --organizer-hero-end: #107653;
    --organizer-hero-glow: rgba(255, 144, 183, 0.22);
}

.organizer-main-content:has(> .organizer-page-header--reports) {
    --organizer-accent: #16728f;
    --organizer-accent-soft: #e9f5f9;
    --organizer-hero-start: #142b42;
    --organizer-hero-mid: #155d75;
    --organizer-hero-end: #107653;
    --organizer-hero-glow: rgba(112, 213, 255, 0.23);
}

.organizer-main-content:has(> .organizer-page-header--settings) {
    --organizer-accent: #7256aa;
    --organizer-accent-soft: #f2edfa;
    --organizer-hero-start: #282344;
    --organizer-hero-mid: #51437f;
    --organizer-hero-end: #126d60;
    --organizer-hero-glow: rgba(207, 174, 255, 0.23);
}

.organizer-main-content:has(> .organizer-page-header--notifications) {
    --organizer-accent: #a8781a;
    --organizer-accent-soft: #fff7e7;
    --organizer-hero-start: #362b1b;
    --organizer-hero-mid: #805c19;
    --organizer-hero-end: #127450;
    --organizer-hero-glow: rgba(255, 204, 113, 0.23);
}

.organizer-main-content:has(> .organizer-tournament-heading) {
    --organizer-hero-start: #102c33;
    --organizer-hero-mid: #15594d;
    --organizer-hero-end: #8a631b;
    --organizer-hero-glow: rgba(255, 211, 120, 0.24);
}

.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) > .organizer-page-header,
.organizer-main-content:has(> .organizer-tournament-heading) > .organizer-tournament-heading {
    background:
        radial-gradient(circle at 86% 18%, var(--organizer-hero-glow), transparent 19rem),
        linear-gradient(118deg, var(--organizer-hero-start) 0%, var(--organizer-hero-mid) 54%, var(--organizer-hero-end) 100%);
}

.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .organizer-card,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .organizer-table-card,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .reports-kpi-card,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .organizer-official-card,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .organizer-trophy-card,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .media-stream-card,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .notification-item-card,
.organizer-main-content:has(> .organizer-tournament-heading) .captain-tournament-card {
    box-shadow: inset 0 3px var(--organizer-accent), 0 8px 22px rgba(19, 57, 48, 0.045);
}

.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .organizer-card-title i,
.organizer-main-content:has(> .organizer-page-header[class*="organizer-page-header--"]) .organizer-table-title i {
    color: var(--organizer-accent) !important;
}

.organizer-main-content:has(> .organizer-tournament-heading) .organizer-tournament-heading h1 {
    color: #ffffff !important;
}

/* Give forms, grids, and metric panels a predictable rhythm at every width. */
.organizer-main-content > .organizer-page-header,
.organizer-main-content > .captain-page-heading {
    margin-bottom: 30px !important;
}

.organizer-main-content .organizer-card,
.organizer-main-content .organizer-table-card,
.organizer-main-content .reports-kpi-card,
.organizer-main-content .organizer-official-card,
.organizer-main-content .organizer-trophy-card,
.organizer-main-content .media-stream-card,
.organizer-main-content .notification-item-card,
.organizer-main-content .captain-tournament-card {
    min-width: 0;
}

.organizer-layout .modal.organizer-modal {
    position: fixed;
    z-index: 1085;
    inset: 0;
    display: none !important;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 24px;
    background: rgba(7, 23, 38, 0.66);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.organizer-layout .modal.organizer-modal.show {
    display: block !important;
}

body.organizer-modal-open {
    overflow: hidden;
}

.organizer-layout .modal.organizer-modal .modal-dialog {
    display: flex;
    align-items: center;
    width: min(620px, 100%);
    max-width: 100%;
    min-height: calc(100% - 48px);
    margin: 0 auto;
}

.organizer-layout .modal.organizer-modal .modal-content {
    width: 100%;
    max-height: calc(100dvh - 48px);
    overflow: hidden;
    border: 1px solid rgba(221, 237, 230, 0.95);
    box-shadow: 0 28px 80px rgba(4, 22, 28, 0.28);
}

.organizer-layout .modal.organizer-modal .modal-content > form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: calc(100dvh - 48px);
}

.organizer-layout .modal.organizer-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: 16px;
}

.organizer-layout .modal.organizer-modal .modal-title {
    min-width: 0;
    margin: 0;
    line-height: 1.35;
}

.organizer-layout .modal.organizer-modal .btn-close {
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--org-border);
    border-radius: 10px;
    background: #f4faf7;
    color: #516a6d;
    font-size: 1.35rem;
    line-height: 1;
    opacity: 1;
}

.organizer-layout .modal.organizer-modal .btn-close::before {
    content: "×";
}

.organizer-layout .modal.organizer-modal .btn-close:hover {
    border-color: #b9e5d3;
    background: var(--org-primary-light);
    color: var(--org-primary-hover);
}

.organizer-layout .modal.organizer-modal .btn-close:focus-visible {
    outline: 3px solid rgba(16, 133, 96, 0.25);
    outline-offset: 2px;
}

.organizer-layout .modal.organizer-modal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.organizer-layout .modal.organizer-modal .modal-footer {
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
}

.organizer-layout .modal.organizer-modal .form-label {
    display: block;
    line-height: 1.4;
}

.organizer-layout .modal.organizer-modal .form-control,
.organizer-layout .modal.organizer-modal .form-select {
    width: 100%;
    min-height: 44px;
}

.organizer-layout .modal.organizer-modal textarea.form-control {
    min-height: 96px;
    resize: vertical;
}

.organizer-layout .modal.organizer-modal .mb-3 {
    margin-bottom: 18px !important;
}

.organizer-layout .modal.organizer-modal .mb-2 {
    margin-bottom: 12px !important;
}

.organizer-layout .modal-backdrop {
    z-index: 1080;
    background: rgba(7, 23, 38, 0.66);
}

.organizer-layout .modal-backdrop.show {
    opacity: 1;
}

.organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between {
    gap: 18px;
    min-height: 132px;
}

.organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between > div:last-child {
    flex: 0 0 50px;
    width: 50px !important;
    height: 50px !important;
    border-radius: 15px !important;
    display: grid !important;
    place-items: center;
}

.organizer-main-content .d-flex.align-items-center {
    align-items: center !important;
}

.organizer-main-content .d-flex.align-items-start {
    align-items: flex-start !important;
}

.organizer-main-content .d-flex.justify-content-center {
    justify-content: center !important;
}

.organizer-main-content .d-flex.justify-content-between {
    justify-content: space-between !important;
}

.organizer-main-content .d-flex.flex-column {
    flex-direction: column !important;
}

.organizer-main-content .d-inline-flex {
    display: inline-flex !important;
}

.organizer-main-content .flex-shrink-0 {
    flex-shrink: 0 !important;
}

.organizer-main-content .gap-1 {
    gap: 4px !important;
}

.organizer-main-content .gap-2 {
    gap: 8px !important;
}

.organizer-main-content .gap-3 {
    gap: 16px !important;
}

.organizer-main-content .gap-4 {
    gap: 24px !important;
}

.organizer-main-content .organizer-stat-icon,
.organizer-main-content .notification-icon-wrap,
.organizer-main-content .hotline-icon,
.organizer-main-content .organizer-sidebar-logo-box {
    display: grid;
    place-items: center;
}

.organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between h3 {
    overflow-wrap: normal;
    word-break: normal;
    font-size: clamp(1.2rem, 1.65vw, 1.65rem) !important;
    line-height: 1.15;
}

.organizer-main-content .reports-kpi-card > .d-flex {
    flex-wrap: wrap;
    align-items: flex-start !important;
    gap: 8px 10px;
}

.organizer-main-content .reports-kpi-card > .d-flex > * {
    min-width: 0;
}

.organizer-main-content .reports-kpi-card > .d-flex.border-top {
    justify-content: space-between;
    row-gap: 5px;
}

.organizer-main-content .reports-kpi-card > .d-flex.border-top > :last-child {
    margin-left: auto;
    text-align: right;
}

.organizer-main-content .organizer-officials-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 265px), 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.organizer-main-content .organizer-official-card {
    min-height: 190px;
    padding: 23px;
    gap: 20px;
    border-radius: 18px;
}

.organizer-main-content .organizer-official-card > div:first-child .d-flex.align-items-center {
    gap: 14px;
    min-width: 0;
}

.organizer-main-content .organizer-official-card > div:first-child .d-flex.align-items-center > div:last-child {
    min-width: 0;
}

.organizer-main-content .organizer-official-card h6 {
    margin: 0 0 6px !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.organizer-main-content .organizer-official-card > div:last-child {
    gap: 12px;
    flex-wrap: wrap;
}

.organizer-main-content .organizer-tournament-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
    gap: 18px;
}

.organizer-main-content .captain-tournament-card {
    min-height: 142px;
    padding: 20px;
    gap: 18px;
    border: 1px solid #e0ebe7;
    border-radius: 18px;
}

.organizer-main-content .captain-tournament-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.organizer-main-content .captain-tournament-copy h3 {
    margin-top: 8px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.organizer-main-content .organizer-tab-bar + .organizer-tournament-grid {
    margin-top: 0;
}

.organizer-main-content .organizer-table-card {
    overflow: hidden;
}

.organizer-main-content > .organizer-page-header > div:last-child,
.organizer-main-content > .captain-page-heading > div:last-child {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.organizer-main-content > .organizer-page-header .organizer-btn-primary,
.organizer-main-content > .organizer-page-header .organizer-btn-outline,
.organizer-main-content .organizer-table .organizer-btn-primary,
.organizer-main-content .organizer-table .organizer-btn-outline {
    min-height: 40px;
    justify-content: center;
    white-space: nowrap;
}

@media (min-width: 781px) {
    .organizer-main-content > .organizer-page-header > div:first-child {
        flex: 1 1 480px;
        max-width: 600px;
    }

    .organizer-main-content > .organizer-page-header > div:last-child {
        flex: 0 1 auto;
        margin-left: auto;
    }
}

.organizer-main-content .row {
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    margin-right: -12px;
    margin-left: -12px;
}

.organizer-main-content .row > [class*="col-"] {
    display: flex;
    flex: 0 0 100%;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-right: 12px;
    padding-left: 12px;
}

.organizer-main-content .row > [class*="col-"] > .organizer-card,
.organizer-main-content .row > [class*="col-"] > .organizer-table-card,
.organizer-main-content .row > [class*="col-"] > .reports-kpi-card,
.organizer-main-content .row > [class*="col-"] > .organizer-trophy-card,
.organizer-main-content .row > [class*="col-"] > .media-stream-card {
    width: 100%;
    flex: 1 1 auto;
}

.organizer-main-content .table-responsive {
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-color: #b8d4c9 #f3f8f6;
    scrollbar-width: thin;
}

.organizer-main-content .organizer-table {
    min-width: 720px;
    table-layout: auto;
}

.organizer-main-content .table-responsive:has(.organizer-table thead th:nth-child(5)) .organizer-table {
    min-width: 820px;
}

.organizer-main-content .table-responsive:has(.organizer-table thead th:nth-child(6)) .organizer-table {
    min-width: 920px;
}

.organizer-main-content .table-responsive:has(.organizer-table thead th:nth-child(7)) .organizer-table {
    min-width: 1000px;
}

.organizer-main-content .table-responsive:has(.organizer-table thead th:nth-child(8)) .organizer-table {
    min-width: 1080px;
}

.organizer-main-content .table-responsive::-webkit-scrollbar {
    height: 8px;
}

.organizer-main-content .table-responsive::-webkit-scrollbar-track {
    background: #f1f6f4;
}

.organizer-main-content .table-responsive::-webkit-scrollbar-thumb {
    border: 2px solid #f1f6f4;
    border-radius: 999px;
    background: #9bbcaf;
}

.organizer-main-content .row > * {
    min-width: 0;
    max-width: 100%;
}

.organizer-main-content .d-flex.flex-wrap {
    flex-wrap: wrap !important;
}

.organizer-main-content canvas {
    max-width: 100%;
}

@media (max-width: 780px) {
    .organizer-main-content > .organizer-page-header,
    .organizer-main-content > .captain-page-heading {
        margin-bottom: 23px !important;
    }

    .organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between {
        min-height: 118px;
        padding: 18px;
    }

    .organizer-main-content .organizer-official-card {
        min-height: 170px;
    }

    .organizer-main-content .organizer-tournament-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (min-width: 576px) {
    .organizer-main-content .row > .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 768px) {
    .organizer-main-content .row > .col-md-6,
    .organizer-main-content .row > .col-12.col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .organizer-main-content .row > .col-md-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .organizer-main-content .row > .col-md-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
}

@media (min-width: 992px) {
    .organizer-main-content .row > .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .organizer-main-content .row > .col-lg-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .organizer-main-content .row > .col-lg-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .organizer-main-content .row > .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .organizer-main-content .row > .col-lg-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }

    .organizer-main-content .row > .col-lg-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .organizer-main-content .organizer-scorer-dashboard-grid > .col-lg-8 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .organizer-main-content .organizer-scorer-dashboard-grid > .organizer-scorer-sidebar {
        display: grid;
        flex: 0 0 100%;
        gap: 16px;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        max-width: 100%;
        align-items: stretch;
    }

    .organizer-main-content .organizer-scorer-sidebar > .organizer-card {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    .organizer-main-content .row > .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .organizer-main-content .row > .col-xl-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

@media (max-width: 600px) {
    .organizer-main-content .row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
    }

    .organizer-main-content > .organizer-page-header,
    .organizer-main-content > .captain-page-heading {
        margin-bottom: 20px !important;
    }

    .organizer-main-content > .organizer-page-header > div:last-child {
        gap: 9px !important;
    }

    .organizer-main-content > .organizer-page-header .organizer-btn-primary,
    .organizer-main-content > .organizer-page-header .organizer-btn-outline {
        min-height: 42px;
        padding: 10px 12px;
        font-size: 0.76rem;
    }

    .organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between {
        min-height: 108px;
        gap: 12px;
        padding: 16px;
    }

    .organizer-main-content .organizer-card-body.d-flex.align-items-center.justify-content-between > div:last-child {
        flex-basis: 44px;
        width: 44px !important;
        height: 44px !important;
        border-radius: 13px !important;
    }

    .organizer-main-content .organizer-officials-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        margin-bottom: 22px;
    }

    .organizer-main-content .organizer-official-card {
        min-height: 0;
        padding: 19px;
        gap: 16px;
    }

    .organizer-main-content .captain-tournament-card {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 17px;
        gap: 13px;
    }

    .organizer-main-content .captain-tournament-card > div:last-child {
        width: 100%;
    }

    .organizer-main-content .captain-tournament-card > div:last-child a {
        width: 100%;
        justify-content: center;
    }

    .organizer-main-content .organizer-table-card {
        border-radius: 15px;
    }

    .organizer-main-content .reports-kpi-card > .d-flex,
    .organizer-main-content .reports-kpi-card > .d-flex.border-top {
        align-items: flex-start !important;
        flex-wrap: wrap;
        gap: 8px;
    }

    .organizer-main-content .reports-kpi-card > .d-flex > * {
        min-width: 0;
        max-width: 100%;
    }

    .organizer-main-content .reports-kpi-card h3 {
        overflow-wrap: anywhere;
    }
}

@media (hover: hover) {
    .organizer-main-content .organizer-card:hover,
    .organizer-main-content .reports-kpi-card:hover,
    .organizer-main-content .organizer-official-card:hover,
    .organizer-main-content .organizer-trophy-card:hover,
    .organizer-main-content .media-stream-card:hover,
    .organizer-main-content .organizer-stat-card:hover,
    .organizer-main-content .captain-panel:hover,
    .organizer-main-content .captain-tournament-card:hover {
        transform: translateY(-3px);
        border-color: #bfddd1;
        box-shadow: 0 14px 28px rgba(19, 57, 48, 0.09);
    }
}

@media (max-width: 780px) {
    .organizer-main-content {
        padding: 22px 18px 34px;
    }

    .organizer-main-content > .organizer-page-header,
    .organizer-main-content > .captain-page-heading,
    .organizer-main-content > .organizer-tournament-heading {
        align-items: flex-start;
        gap: 18px;
        min-height: 0;
        margin-bottom: 20px !important;
        border-radius: 18px;
    }

    .organizer-main-content > .organizer-page-header > div:last-child,
    .organizer-main-content > .captain-page-heading > a,
    .organizer-main-content > .captain-page-heading > div:last-child,
    .organizer-main-content > .organizer-tournament-heading > a {
        width: 100%;
    }

    .organizer-main-content > .organizer-page-header > div:last-child {
        display: flex;
        flex-wrap: wrap;
    }

    .organizer-main-content > .organizer-page-header .organizer-btn-primary,
    .organizer-main-content > .organizer-page-header .organizer-btn-outline,
    .organizer-main-content > .captain-page-heading .captain-primary-button,
    .organizer-main-content > .organizer-tournament-heading .captain-primary-button {
        justify-content: center;
    }

    .organizer-main-content .organizer-tab-bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .organizer-main-content .organizer-tab-item {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

@media (max-width: 600px) {
    .organizer-main-content {
        padding: 16px 12px 28px;
    }

    .organizer-main-content > .organizer-page-header,
    .organizer-main-content > .captain-page-heading,
    .organizer-main-content > .organizer-tournament-heading {
        padding: 21px 18px;
        border-radius: 16px;
    }

    .organizer-main-content > .organizer-page-header .page-title {
        align-items: flex-start;
        gap: 10px;
    }

    .organizer-main-content > .organizer-page-header .page-title i {
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        border-radius: 11px;
        font-size: 0.9rem;
    }

    .organizer-main-content > .organizer-page-header .page-subtitle,
    .organizer-main-content > .captain-page-heading p {
        font-size: 0.81rem;
    }

    .organizer-main-content .organizer-card-body,
    .organizer-main-content .organizer-card .card-body {
        padding: 17px;
    }

    .organizer-main-content .organizer-table-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 15px 16px;
    }

    .organizer-main-content .organizer-table th,
    .organizer-main-content .organizer-table td {
        padding-right: 13px;
        padding-left: 13px;
    }

    .organizer-main-content .organizer-stat-card {
        padding: 18px;
    }

    .organizer-main-content .organizer-trophy-content {
        padding: 20px;
    }

    .organizer-main-content .organizer-trophy-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding: 15px 20px;
    }

    .organizer-main-content .notification-item-card {
        gap: 12px;
        padding: 15px;
    }
}

@media (max-width: 780px) {
    .organizer-topbar .organizer-profile-menu {
        z-index: 1;
    }

    .organizer-topbar .organizer-profile-menu[open] {
        z-index: 5;
    }

    .organizer-topbar .organizer-profile-menu .admin-profile-dropdown {
        position: fixed;
        top: 78px;
        right: 12px;
        left: auto;
        width: min(290px, calc(100vw - 24px));
        max-height: calc(100dvh - 90px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

/* Restore the spacing utilities used by organizer views but omitted from the local Bootstrap build. */
.organizer-main-content .mt-0 { margin-top: 0 !important; }
.organizer-main-content .mt-1 { margin-top: 0.25rem !important; }
.organizer-main-content .mt-2 { margin-top: 0.5rem !important; }
.organizer-main-content .mt-3 { margin-top: 1rem !important; }
.organizer-main-content .mt-4 { margin-top: 1.5rem !important; }
.organizer-main-content .mt-5 { margin-top: 3rem !important; }
.organizer-main-content .mt-auto { margin-top: auto !important; }
.organizer-main-content .mb-0 { margin-bottom: 0 !important; }
.organizer-main-content .mb-1 { margin-bottom: 0.25rem !important; }
.organizer-main-content .mb-2 { margin-bottom: 0.5rem !important; }
.organizer-main-content .mb-3 { margin-bottom: 1rem !important; }
.organizer-main-content .mb-4 { margin-bottom: 1.5rem !important; }
.organizer-main-content .mb-5 { margin-bottom: 3rem !important; }
.organizer-main-content .mb-auto { margin-bottom: auto !important; }

.organizer-ground-profile {
    --ground-ink: #132f35;
    --ground-muted: #71868a;
    --ground-green: #11845f;
    --ground-border: #e0ebe7;
    display: grid;
    gap: 22px;
    min-width: 0;
}

.organizer-ground-profile [hidden] {
    display: none !important;
}

.ground-profile-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    align-items: center;
    gap: clamp(24px, 5vw, 64px);
    min-height: 310px;
    overflow: hidden;
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    color: #f5fbf8;
    background:
        radial-gradient(circle at 12% 120%, rgba(17, 132, 95, 0.22), transparent 28rem),
        linear-gradient(120deg, #0e1f25 0%, #172d31 62%, #1b3334 100%);
    box-shadow: 0 20px 44px rgba(9, 35, 36, 0.15);
}

.ground-profile-hero::before,
.ground-profile-hero::after {
    position: absolute;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(221, 255, 239, 0.08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.ground-profile-hero::before {
    top: -205px;
    left: 40%;
    box-shadow: 0 0 0 28px rgba(221, 255, 239, 0.025), 0 0 0 58px rgba(221, 255, 239, 0.02);
}

.ground-profile-hero::after {
    right: -150px;
    bottom: -210px;
    width: 330px;
    height: 330px;
    border-color: rgba(91, 226, 166, 0.15);
    box-shadow: 0 0 0 32px rgba(91, 226, 166, 0.035), 0 0 0 66px rgba(91, 226, 166, 0.02);
}

.ground-profile-copy,
.ground-profile-cover {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.ground-profile-eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 16px;
    color: #c6dad3;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ground-profile-status,
.ground-featured-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 25px;
    padding: 4px 9px;
    border: 1px solid rgba(115, 237, 185, 0.22);
    border-radius: 999px;
    color: #a6f1cc;
    background: rgba(21, 134, 94, 0.22);
    letter-spacing: 0.05em;
}

.ground-profile-status.is-inactive,
.ground-profile-status.is-pending_approval {
    border-color: rgba(255, 205, 122, 0.25);
    color: #ffdfa8;
    background: rgba(167, 106, 28, 0.2);
}

.ground-featured-tag {
    border-color: rgba(255, 201, 91, 0.2);
    color: #ffdfa0;
    background: rgba(164, 111, 20, 0.16);
}

.ground-profile-copy h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.8rem, 3.2vw, 2.75rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.ground-profile-short-name {
    margin: 8px 0 0;
    color: #9fb7b1;
    font-size: 0.86rem;
}

.ground-profile-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 15px;
    color: #c1d4cd;
    font-size: 0.72rem;
}

.ground-rating-score {
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 850;
}

.ground-rating-score span {
    color: #b6c7c0;
    font-size: 0.68rem;
    font-weight: 650;
}

.ground-rating-stars,
.ground-review-stars {
    color: #ffbd48;
    letter-spacing: 0.04em;
}

.ground-profile-location {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    max-width: 660px;
    margin: 15px 0 0;
    color: #c5d6d0;
    font-size: 0.82rem;
    line-height: 1.6;
}

.ground-profile-location i {
    margin-top: 3px;
    color: #65dfaa;
}

.ground-profile-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 23px;
}

.ground-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.ground-action-button:hover {
    transform: translateY(-1px);
}

.ground-action-button.is-light {
    border-color: #ffffff;
    color: #0c6c53;
    background: #ffffff;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12);
}

.ground-action-button.is-light:hover {
    color: #07583f;
    background: #e7fbf1;
}

.ground-action-button.is-outline {
    border-color: rgba(107, 220, 173, 0.4);
    color: #9cf0c7;
    background: rgba(255, 255, 255, 0.035);
}

.ground-action-button.is-outline:hover,
.ground-action-button.is-subtle:hover {
    border-color: rgba(107, 220, 173, 0.68);
    color: #ffffff;
    background: rgba(16, 133, 96, 0.18);
}

.ground-action-button.is-subtle {
    border-color: rgba(222, 240, 231, 0.16);
    color: #d1e5dc;
    background: rgba(255, 255, 255, 0.055);
}

.ground-action-button.is-primary {
    border-color: #0c7754;
    color: #ffffff;
    background: linear-gradient(135deg, #15976b, #0c7754);
    box-shadow: 0 6px 16px rgba(14, 111, 78, 0.16);
}

.ground-action-button.is-primary:hover {
    border-color: #086344;
    background: linear-gradient(135deg, #11825d, #086344);
}

.ground-profile-cover {
    display: grid;
    align-self: stretch;
    min-height: 220px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    background: #197e4c;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.23);
}

.ground-profile-cover > img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
}

.ground-profile-cover-placeholder {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 14px;
    min-height: 220px;
    color: rgba(255, 255, 255, 0.8);
    background:
        radial-gradient(circle at 50% 46%, transparent 0 54px, rgba(209, 255, 227, 0.19) 55px 58px, transparent 59px 79px, rgba(209, 255, 227, 0.15) 80px 84px, transparent 85px),
        linear-gradient(145deg, #188050, #0f653f);
}

.ground-cover-ball {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 50%;
    color: #d2ffe3;
    font-size: 1.6rem;
}

.ground-profile-cover-placeholder > span:last-child {
    color: rgba(221, 255, 235, 0.72);
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.2em;
}

.ground-cover-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 15px;
    color: #ffffff;
    background: rgba(9, 29, 27, 0.75);
    backdrop-filter: blur(10px);
}

.ground-cover-caption span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.68rem;
    font-weight: 750;
}

.ground-cover-caption i {
    color: #88e6b9;
}

.ground-profile-tabs {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    gap: 4px;
    min-width: 0;
    margin-top: -1px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid #e0e8e4;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(18, 51, 44, 0.07);
    scrollbar-width: thin;
}

.ground-profile-tab {
    position: relative;
    display: inline-flex;
    flex: 1 0 auto;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 120px;
    min-height: 48px;
    padding: 11px 16px;
    border: 0;
    border-radius: 11px;
    color: #607579;
    background: transparent;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.16s ease, background 0.16s ease;
}

.ground-profile-tab i {
    color: #7e9991;
    font-size: 0.8rem;
}

.ground-profile-tab b {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 6px;
    border-radius: 999px;
    color: #5a756e;
    background: #edf5f1;
    font-size: 0.64rem;
    font-weight: 850;
}

.ground-profile-tab:hover {
    color: #0b704f;
    background: #f3faf6;
}

.ground-profile-tab.is-active {
    color: #0b704f;
    background: #e9f8f0;
    box-shadow: inset 0 0 0 1px #d5f0e2;
}

.ground-profile-tab.is-active i {
    color: #0b9a68;
}

.ground-profile-tab.is-active::after {
    position: absolute;
    right: 18px;
    bottom: -6px;
    left: 18px;
    height: 3px;
    border-radius: 999px;
    background: #15976b;
    content: "";
}

.ground-profile-tab:focus-visible,
.ground-match-share:focus-visible,
.ground-match-view:focus-visible {
    outline: 3px solid rgba(17, 132, 95, 0.25);
    outline-offset: 2px;
}

.ground-profile-panels {
    min-width: 0;
}

.ground-profile-panel {
    min-width: 0;
    padding: clamp(18px, 2.7vw, 30px);
    border: 1px solid var(--ground-border);
    border-radius: 19px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(16, 53, 43, 0.045);
}

.ground-profile-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 21px;
}

.ground-section-kicker {
    display: block;
    margin-bottom: 5px;
    color: #16845f;
    font-size: 0.6rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

.ground-profile-section-heading h2,
.ground-booking-panel h2 {
    margin: 0;
    color: var(--ground-ink);
    font-size: clamp(1.12rem, 2vw, 1.45rem);
    font-weight: 850;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

.ground-panel-type {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid #d9ebe2;
    border-radius: 999px;
    color: #197151;
    background: #f1faf5;
    font-size: 0.68rem;
    font-weight: 800;
    white-space: nowrap;
}

.ground-about-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ground-about-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 18px;
    border: 1px solid #e6efeb;
    border-radius: 15px;
    background: linear-gradient(145deg, #ffffff, #f9fcfa);
}

.ground-about-card h3 {
    margin: 0 0 7px;
    color: var(--ground-ink);
    font-size: 0.84rem;
    font-weight: 850;
}

.ground-about-card p {
    margin: 0;
    color: #657b7e;
    font-size: 0.76rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.ground-about-card strong {
    color: #173d34;
}

.ground-about-card a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: #0b8058;
    font-size: 0.72rem;
    font-weight: 800;
    text-decoration: none;
}

.ground-about-card a:hover {
    color: #075f40;
    text-decoration: underline;
}

.ground-about-icon {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: #13845e;
    background: #e7f8ef;
}

.ground-about-icon.is-blue {
    color: #317b9d;
    background: #e9f5fb;
}

.ground-about-icon.is-amber {
    color: #b2741c;
    background: #fff4df;
}

.ground-about-icon.is-green {
    color: #198052;
    background: #e8f7ec;
}

.ground-muted-copy {
    display: inline-block;
    margin-top: 6px;
    color: #829391;
    font-size: 0.69rem;
}

.ground-profile-section-heading.is-compact {
    margin: 28px 0 14px;
}

.ground-profile-facilities {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.ground-profile-facilities span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 11px;
    border: 1px solid #dcefe5;
    border-radius: 999px;
    color: #346458;
    background: #f2faf5;
    font-size: 0.7rem;
    font-weight: 750;
}

.ground-profile-facilities i {
    color: #13845e;
    font-size: 0.63rem;
}

.ground-booking-panel {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.7fr);
    align-items: center;
    gap: 24px;
    margin-top: 27px;
    padding: 22px;
    border: 1px solid #d8ece1;
    border-radius: 17px;
    background:
        radial-gradient(circle at 0 0, rgba(102, 221, 166, 0.12), transparent 22rem),
        #f4faf6;
}

.ground-booking-panel p {
    margin: 8px 0 0;
    color: #708480;
    font-size: 0.74rem;
    line-height: 1.6;
}

.ground-booking-panel form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 10px;
}

.ground-booking-panel label,
.ground-review-fields label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: #45615d;
    font-size: 0.68rem;
    font-weight: 800;
}

.ground-booking-panel input,
.ground-booking-panel select,
.ground-review-fields input,
.ground-review-fields select,
.ground-review-fields textarea {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #d4e4dc;
    border-radius: 9px;
    color: #173d34;
    background: #ffffff;
    font: inherit;
    font-size: 0.73rem;
}

.ground-booking-panel input:focus,
.ground-booking-panel select:focus,
.ground-review-fields input:focus,
.ground-review-fields select:focus,
.ground-review-fields textarea:focus {
    border-color: #1a9a6b;
    outline: 3px solid rgba(26, 154, 107, 0.12);
}

.ground-booking-panel .ground-action-button {
    grid-column: 1 / -1;
}

.ground-admin-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid #edf2ef;
}

.ground-admin-controls > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7b8e8c;
    font-size: 0.69rem;
    font-weight: 750;
}

.ground-admin-controls > span i {
    color: #6b9683;
}

.ground-admin-controls .ground-action-button {
    min-height: 36px;
    padding: 8px 12px;
    border-color: #dce8e2;
    color: #526b65;
    background: #ffffff;
    font-size: 0.68rem;
}

.ground-match-grid,
.ground-tournament-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 15px;
}

.ground-match-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2eae6;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 4px 13px rgba(15, 55, 43, 0.045);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.ground-match-card:hover {
    transform: translateY(-2px);
    border-color: #c9e7d7;
    box-shadow: 0 12px 24px rgba(15, 55, 43, 0.09);
}

.ground-match-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 48px;
    padding: 12px 14px;
    border-bottom: 1px solid #eef3f0;
}

.ground-match-format {
    overflow: hidden;
    color: #344d4d;
    font-size: 0.72rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ground-match-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 23px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #9b6410;
    background: #fff3d9;
    font-size: 0.59rem;
    font-weight: 850;
    text-transform: uppercase;
}

.ground-match-status.is-live,
.ground-match-status.is-in_progress {
    color: #a12c33;
    background: #fff0ef;
}

.ground-match-status.is-completed,
.ground-match-status.is-finished {
    color: #26704d;
    background: #e7f7ec;
}

.ground-match-meta {
    display: grid;
    gap: 8px;
    padding: 12px 14px 0;
    color: #778986;
    font-size: 0.65rem;
}

.ground-match-meta span {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.45;
}

.ground-match-meta i {
    flex: 0 0 12px;
    margin-top: 2px;
    color: #16845f;
}

.ground-match-teams {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 92px;
    padding: 15px 14px;
}

.ground-match-team {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ground-match-team.is-away {
    justify-content: flex-end;
}

.ground-match-teams strong {
    color: #1c3338;
    font-size: 0.82rem;
    font-weight: 850;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-align: left;
}

.ground-match-teams strong:last-child {
    text-align: right;
}

.ground-match-teams > span {
    color: #a0afaa;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ground-match-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding: 11px 13px;
    border-top: 1px solid #e9efec;
    background: #f8faf9;
}

.ground-match-card-footer > span {
    color: #6b7d79;
    font-size: 0.62rem;
    font-weight: 750;
}

.ground-match-card-footer > div {
    display: flex;
    align-items: center;
    gap: 7px;
}

.ground-match-share,
.ground-match-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 7px 9px;
    border: 1px solid #d8e6de;
    border-radius: 8px;
    color: #48615b;
    background: #ffffff;
    font: inherit;
    font-size: 0.63rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.ground-match-share:hover {
    border-color: #b8e3cd;
    color: #0b8058;
    background: #effaf4;
}

.ground-match-view {
    border-color: #0c7754;
    color: #ffffff;
    background: #11845f;
}

.ground-match-view:hover {
    border-color: #086344;
    color: #ffffff;
    background: #086d4c;
}

.ground-profile-pagination {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

.ground-tournament-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 18px;
    border: 1px solid #e2ebe6;
    border-radius: 15px;
    background: linear-gradient(145deg, #ffffff, #f8fbf9);
}

.ground-tournament-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 13px;
    color: #ae7214;
    background: #fff4dc;
}

.ground-tournament-card > div {
    min-width: 0;
}

.ground-tournament-status {
    color: #19805a;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ground-tournament-card h3 {
    margin: 5px 0 7px;
    color: #1d383b;
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ground-tournament-card p,
.ground-tournament-card small {
    display: block;
    margin: 0;
    color: #71837f;
    font-size: 0.68rem;
    line-height: 1.5;
}

.ground-tournament-card small {
    margin-top: 5px;
    color: #8b9b96;
}

.ground-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ground-photo-card {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e2ebe6;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 5px 15px rgba(15, 55, 43, 0.045);
}

.ground-photo-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eff7f2;
}

.ground-photo-card figcaption {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 39px;
    padding: 10px 12px;
    color: #4f6961;
    font-size: 0.67rem;
    font-weight: 750;
}

.ground-photo-card figcaption i {
    color: #16845f;
}

.ground-review-summary {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid #f2e4c3;
    border-radius: 12px;
    background: #fffbf1;
}

.ground-review-summary strong {
    color: #624a17;
    font-size: 1.05rem;
    font-weight: 900;
}

.ground-review-summary > span {
    color: #efa929;
}

.ground-review-summary small {
    color: #8d8062;
    font-size: 0.63rem;
    white-space: nowrap;
}

.ground-review-form {
    margin-bottom: 19px;
    padding: 20px;
    border: 1px solid #dcece3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f4faf6, #ffffff 70%);
}

.ground-review-form-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.ground-review-form-heading h3 {
    margin: 0;
    color: #193937;
    font-size: 0.86rem;
    font-weight: 850;
}

.ground-review-form-heading p {
    margin: 5px 0 0;
    color: #748681;
    font-size: 0.7rem;
}

.ground-review-form-heading > i {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    color: #be851f;
    background: #fff1d2;
}

.ground-review-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 0.55fr);
    align-items: end;
    gap: 12px;
}

.ground-review-fields .ground-review-message {
    grid-column: 1 / -1;
}

.ground-review-fields textarea {
    min-height: 88px;
    resize: vertical;
}

.ground-review-fields .ground-action-button {
    justify-self: start;
}

.ground-review-list {
    display: grid;
    gap: 11px;
}

.ground-review-card {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 16px;
    border: 1px solid #e8efeb;
    border-radius: 13px;
    background: #ffffff;
}

.ground-review-avatar {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    color: #0a7654;
    background: #e7f7ee;
    font-size: 0.84rem;
    font-weight: 900;
}

.ground-review-card > div {
    flex: 1 1 auto;
    min-width: 0;
}

.ground-review-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ground-review-card-heading strong {
    color: #284144;
    font-size: 0.76rem;
    font-weight: 850;
}

.ground-review-stars {
    font-size: 0.73rem;
}

.ground-review-stars span {
    color: #d4ddd8;
}

.ground-review-card p {
    margin: 8px 0 6px;
    color: #5c716d;
    font-size: 0.74rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.ground-review-card small {
    color: #94a29e;
    font-size: 0.63rem;
}

.ground-profile-empty {
    display: grid;
    justify-items: center;
    gap: 9px;
    min-height: 230px;
    padding: 32px 20px;
    border: 1px dashed #d6e5dc;
    border-radius: 15px;
    text-align: center;
    background: #fbfdfc;
}

.ground-profile-empty.is-compact {
    min-height: 175px;
}

.ground-profile-empty > span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 16px;
    color: #16845f;
    background: #e9f8f0;
    font-size: 1.1rem;
}

.ground-profile-empty h3 {
    margin: 3px 0 0;
    color: #294442;
    font-size: 0.88rem;
    font-weight: 850;
}

.ground-profile-empty p {
    margin: 0 0 5px;
    color: #7c8e89;
    font-size: 0.72rem;
}

body.ground-public-layout > main {
    padding: clamp(88px, 10vw, 124px) clamp(16px, 4vw, 48px) 72px;
}

body.ground-public-layout .organizer-ground-profile {
    width: min(100%, 1360px);
    margin: 0 auto;
}

@media (max-width: 1100px) {
    .ground-match-grid,
    .ground-tournament-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ground-photo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .organizer-ground-profile {
        gap: 16px;
    }

    .ground-profile-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        min-height: 0;
        padding: 24px;
        border-radius: 20px;
    }

    .ground-profile-cover {
        min-height: 200px;
    }

    .ground-profile-cover > img,
    .ground-profile-cover-placeholder {
        min-height: 200px;
        max-height: 260px;
    }

    .ground-profile-tabs {
        justify-content: flex-start;
        border-radius: 13px;
    }

    .ground-profile-tab {
        min-width: 112px;
        min-height: 45px;
        padding: 10px 12px;
    }

    .ground-booking-panel {
        grid-template-columns: minmax(0, 1fr);
        gap: 17px;
    }

    .ground-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .ground-profile-hero {
        padding: 20px;
    }

    .ground-profile-copy h1 {
        font-size: 1.8rem;
    }

    .ground-profile-actions {
        gap: 8px;
    }

    .ground-profile-actions .ground-action-button {
        flex: 1 1 auto;
    }

    .ground-profile-cover,
    .ground-profile-cover > img,
    .ground-profile-cover-placeholder {
        min-height: 175px;
    }

    .ground-profile-panel {
        padding: 17px 14px;
        border-radius: 16px;
    }

    .ground-profile-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .ground-profile-section-heading > .ground-action-button,
    .ground-profile-section-heading > .ground-review-summary {
        align-self: stretch;
    }

    .ground-about-grid,
    .ground-match-grid,
    .ground-tournament-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ground-booking-panel {
        padding: 17px;
    }

    .ground-booking-panel form,
    .ground-review-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .ground-review-fields .ground-review-message {
        grid-column: auto;
    }

    .ground-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .ground-photo-card figcaption {
        padding: 9px;
        font-size: 0.61rem;
    }

    .ground-match-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .ground-match-card-footer > div {
        width: 100%;
    }

    .ground-match-card-footer > div > * {
        flex: 1 1 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .organizer-main-content *,
    .organizer-main-content *::before,
    .organizer-main-content *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
