/* Bikubai Golf - shared public styles */

/* ------------------------------------------------------------
 * Palette and base styles (login + dashboard)
 * ------------------------------------------------------------ */

:root {
    --bg: #f6f8f7;
    --surface: #ffffff;
    --surface-muted: #f1f5f3;
    --surface-hover: #eef3f0;
    --surface-elevated: #fbfcfb;
    --border: #d8e1dc;
    --border-strong: #b8c7bf;
    --text: #10231b;
    --text-muted: #5f6f67;
    --text-subtle: #7d8b84;
    --primary: #0f6b3d;
    --primary-hover: #0b5932;
    --primary-soft: #e7f3ec;
    --danger: #b42318;
    --warning: #b7791f;
    --success: #147a45;
    --sidebar-bg: #fbfcfa;
    --sidebar-bg-strong: #f4f7f3;
    --sidebar-border: #e4ebe6;
    --sidebar-text: #1d2f26;
    --sidebar-text-muted: #6d7b73;
    --sidebar-hover: #eff5f1;
    --sidebar-active-bg: #e8f4ed;
    --sidebar-active-text: #08743f;
    --sidebar-ping-bg: #d63b33;
    --sidebar-ping-text: #ffffff;
    --bikb-green-dark: #0b3a20;
    --bikb-green: #12492a;
    --bikb-green-light: #294d2f;
    --app-cta-bg: var(--primary);
    --app-cta-bg-hover: var(--primary-hover);
    --app-cta-border: var(--primary);
    --app-cta-shadow: rgba(11, 58, 32, 0.2);
    --bikb-sand: #f3e2c5;
    --bikb-sky: #e6f5ff;
    --bikb-surface: var(--surface-muted);
    --app-text: var(--text);
    --app-text-muted: var(--text-muted);
    --app-shell-background: linear-gradient(180deg, #f3f7f5 0%, #eef4f1 100%);
    --app-content-surface: linear-gradient(180deg, var(--surface) 0%, var(--surface-muted) 100%);
    --app-card-bg: var(--surface);
    --app-card-border: rgba(16, 35, 27, 0.06);
    --app-table-head: var(--surface-muted);
    --app-table-text: var(--text-muted);
    --app-table-row-odd: var(--surface);
    --app-table-row-even: #f8fbf9;
    --app-table-row-hover: var(--surface-hover);
    --app-surface-soft: var(--surface-elevated);
    --app-surface-border: var(--border);
    --app-sidebar-footer: #f6f8f5;
    --app-sidebar-footer-border: #e3ebe5;
    --app-theme-button-bg: #ffffff;
    --app-theme-button-border: #dce7e1;
    --app-theme-button-text: #1d2f26;
    --app-dropdown-bg: #ffffff;
    --app-dropdown-border: #dce7e1;
    --app-dropdown-item-hover: #eef5f1;
}

:root[data-theme="dark"] {
    --bg: #111d24;
    --surface: #172832;
    --surface-muted: #1d313d;
    --surface-hover: #243b49;
    --surface-elevated: #1a2d38;
    --border: #2f4652;
    --border-strong: #45606d;
    --text: #f2f7f4;
    --text-muted: #b9c8c1;
    --text-subtle: #8fa39a;
    --primary: #38b26d;
    --primary-hover: #4fc982;
    --primary-soft: rgba(56, 178, 109, 0.14);
    --danger: #ef6b5b;
    --warning: #e3b45c;
    --success: #56c987;
    --sidebar-bg: #06351f;
    --sidebar-bg-strong: #042b18;
    --sidebar-border: rgba(255, 255, 255, 0.08);
    --sidebar-text: #edf5f1;
    --sidebar-text-muted: #a7b8af;
    --sidebar-hover: rgba(255, 255, 255, 0.06);
    --sidebar-active-bg: rgba(56, 178, 109, 0.14);
    --sidebar-active-text: #b7f0cf;
    --sidebar-ping-bg: #d84b47;
    --sidebar-ping-text: #ffffff;
    --bikb-sky: #1c2631;
    --bikb-surface: var(--surface);
    --app-cta-bg: var(--primary);
    --app-cta-bg-hover: var(--primary-hover);
    --app-cta-border: var(--primary);
    --app-cta-shadow: rgba(43, 154, 90, 0.26);
    --app-text: var(--text);
    --app-text-muted: var(--text-muted);
    --app-shell-background: linear-gradient(180deg, #17242d 0%, #111d24 100%);
    --app-content-surface: linear-gradient(180deg, #172832 0%, #1a2d38 100%);
    --app-card-bg: var(--surface);
    --app-card-border: rgba(255, 255, 255, 0.08);
    --app-table-head: #203541;
    --app-table-text: var(--text-muted);
    --app-table-row-odd: #1a2b36;
    --app-table-row-even: #1d313d;
    --app-table-row-hover: #243b49;
    --app-surface-soft: var(--surface-elevated);
    --app-surface-border: var(--border);
    --app-sidebar-footer: rgba(0, 0, 0, 0.22);
    --app-sidebar-footer-border: rgba(255, 255, 255, 0.08);
    --app-theme-button-bg: rgba(255, 255, 255, 0.05);
    --app-theme-button-border: rgba(255, 255, 255, 0.1);
    --app-theme-button-text: #f0f6f2;
    --app-dropdown-bg: #1a2530;
    --app-dropdown-border: rgba(255, 255, 255, 0.08);
    --app-dropdown-item-hover: rgba(255, 255, 255, 0.06);
}

body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg);
    background-image: var(--app-shell-background);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
}

/* Center login content with full-screen background image */
.page-login {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(
            135deg,
            rgba(3, 17, 9, 0.92),
            rgba(3, 17, 9, 0.55)
        ),
        url('../images/matthew-mcbrayer-fZL3EN4aJUI-unsplash.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* ------------------------------------------------------------
 * Login view
 * ------------------------------------------------------------ */

.login-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1.5rem;
}

.login-hero {
    display: none;
}

.login-wrapper {
    width: 100%;
    max-width: 420px;
}

.login-card {
    border-radius: 1.25rem;
    overflow: hidden;
    background-color: transparent;
    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.08);
    border: none;
}

.login-card-header {
    background: var(--bikb-green-dark);
    color: #fff;
    padding: 0.9rem 1.4rem;
    position: relative;
    border-radius: 1.25rem 1.25rem 0 0;
}

.badge-tagline {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.18);
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
}

.badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #f9f871;
    box-shadow: 0 0 0 3px rgba(249, 248, 113, 0.35);
}

.login-card-body {
    padding: 1.75rem 1.75rem 1.5rem;
    background: linear-gradient(180deg, #ffffff, #f8fff9 65%, #f4f9f5 100%);
    border-radius: 0 0 1.25rem 1.25rem;
}

.form-label {
    font-weight: 500;
    font-size: 0.88rem;
    color: #22313f;
}

.form-control {
    border-radius: 0.6rem;
    border-color: #d0e2d4;
    padding: 0.6rem 0.75rem;
    font-size: 0.92rem;
}

.form-control:focus {
    border-color: var(--bikb-green-light);
    box-shadow: 0 0 0 0.16rem rgba(60, 166, 91, 0.16);
}

.login-btn {
    border-radius: 999px;
    padding: 0.65rem 1rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.82rem;
    background: linear-gradient(135deg, var(--bikb-green), var(--bikb-green-light));
    border: none;
    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.4) inset;
}

.login-btn:hover,
.login-btn:focus {
    background: linear-gradient(135deg, var(--bikb-green-dark), var(--bikb-green));
}

.login-meta {
    font-size: 0.8rem;
    color: #6c757d;
}

.forgot-link {
    font-size: 0.8rem;
    color: var(--bikb-green);
    text-decoration: none;
}

.forgot-link:hover {
    text-decoration: underline;
}

.login-support-link {
    color: var(--bikb-green);
    font-weight: 600;
    text-decoration: none;
}

.login-support-link:hover,
.login-support-link:focus {
    text-decoration: underline;
}

.login-support-separator {
    color: #9aa8a0;
    margin: 0 0.35rem;
}

.login-wrapper--support {
    max-width: 640px;
}

.support-card .login-card-body {
    padding: 1.6rem;
}

.support-header {
    display: flex;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.support-header h1 {
    color: var(--text);
    font-size: 1.45rem;
    line-height: 1.15;
    margin: 0 0 0.35rem;
}

.support-header p,
.support-section p {
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

.support-section {
    border-top: 1px solid var(--border);
    padding-top: 1rem;
    margin-top: 1rem;
}

.support-section h2 {
    color: var(--text);
    font-size: 1rem;
    margin: 0 0 0.75rem;
}

.support-faq-item {
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.7);
    margin-bottom: 0.55rem;
    padding: 0.75rem 0.9rem;
}

.support-faq-item summary {
    color: var(--text);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 650;
}

.support-faq-item p {
    margin-top: 0.55rem;
}

.support-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.9rem;
    min-width: 180px;
    width: auto;
}

.footer-note {
    text-align: center;
    font-size: 0.75rem;
    color: #6c757d;
    margin-top: 1rem;
}

.login-footer-links {
    display: flex;
    justify-content: center;
    gap: 0.9rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.login-footer-link {
    font-size: 0.82rem;
    font-weight: 600;
    color: #165b30;
    text-decoration: none;
}

.login-footer-link:hover,
.login-footer-link:focus {
    text-decoration: underline;
}

.login-wrapper--policy {
    max-width: 920px;
}

.policy-card-body {
    padding: 1.8rem 1.8rem 1.7rem;
}

.policy-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.policy-title {
    margin: 0;
    font-size: 1.5rem;
    color: #1b2b22;
}

.policy-updated {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    color: #61726a;
}

.policy-back-link {
    font-size: 0.82rem;
    font-weight: 600;
    color: #165b30;
    text-decoration: none;
    white-space: nowrap;
}

.policy-back-link:hover,
.policy-back-link:focus {
    text-decoration: underline;
}

.policy-summary {
    font-size: 0.94rem;
    color: #46574f;
    line-height: 1.65;
    margin-bottom: 1.3rem;
}

.policy-scroll {
    max-height: 60vh;
    overflow-y: auto;
    padding-right: 0.55rem;
}

.policy-section + .policy-section {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(17, 94, 38, 0.1);
}

.policy-section h2 {
    font-size: 1rem;
    margin: 0 0 0.7rem;
    color: #173622;
}

.policy-section p {
    margin: 0 0 0.7rem;
    font-size: 0.92rem;
    line-height: 1.65;
    color: #31443a;
}

.policy-section ul {
    margin: 0.2rem 0 0.7rem 1.2rem;
    padding: 0;
    color: #31443a;
}

.policy-section li {
    margin-bottom: 0.4rem;
    font-size: 0.92rem;
    line-height: 1.55;
}

.golf-visual {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1rem;
    font-size: 0.78rem;
    color: #496054;
}

.golf-ball {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 25%, #ffffff, #e5ece7 60%, #c3d2c7 100%);
    box-shadow:
        0 4px 8px rgba(0, 0, 0, 0.18),
        0 0 0 4px #ffffff;
    position: relative;
}

.golf-ball::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: inherit;
    background-image: radial-gradient(circle at 10% 10%, rgba(0,0,0,0.06) 10%, transparent 11%);
    background-size: 6px 6px;
    opacity: 0.75;
}

.golf-tee {
    width: 2px;
    height: 16px;
    background: #d6a15b;
    border-radius: 999px;
    margin: 0 auto;
    position: relative;
    top: -2px;
}

.golf-hill {
    flex: 1;
    height: 18px;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 0%, var(--bikb-green-light), var(--bikb-green-dark));
    position: relative;
}

.golf-flag {
    position: absolute;
    right: 16px;
    bottom: 6px;
    width: 11px;
    height: 11px;
    background: #f05252;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

.alert-login {
    font-size: 0.82rem;
    padding: 0.55rem 0.75rem;
    border-radius: 0.6rem;
}

/* Softer placeholders on login inputs */
.page-login ::placeholder {
    opacity: 0.5;
}

@media (max-width: 768px) {
    .login-layout {
        flex-direction: column;
        padding: 1.25rem;
        min-height: 100vh;
    }

    .login-hero {
        min-height: 50vh;
        border-radius: 1.25rem;
    }

    .login-wrapper {
        max-width: 100%;
        padding: 1.5rem 0;
    }

    .policy-header-row {
        flex-direction: column;
    }

    .policy-scroll {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

/* ------------------------------------------------------------
 * Dashboard view
 * ------------------------------------------------------------ */

/* Dashboard shell layouts */
.dashboard-shell {
    min-height: 100vh;
    display: flex;
}

/* Mobile sidebar toggle (hidden by default, shown via media query) */
.sidebar-toggle-checkbox {
    display: none;
}

.sidebar-toggle-button {
    display: none;
}

/* Backdrop for closing sidebar on mobile */
.sidebar-backdrop {
    display: none;
}

.sidebar {
    width: 260px;
    max-width: 100%;
    background: linear-gradient(180deg, var(--sidebar-bg) 0%, var(--sidebar-bg-strong) 100%);
    color: var(--sidebar-text);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    border-right: 1px solid var(--sidebar-border);
    box-shadow: 8px 0 24px rgba(16, 35, 27, 0.08);
    z-index: 10;
}

.sidebar-header {
    padding: 1.35rem 1.35rem 1rem;
    border-bottom: 1px solid var(--sidebar-border);
}

.sidebar-title {
    color: var(--primary);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
}

.sidebar-subtitle {
    font-size: 0.76rem;
    color: var(--sidebar-text-muted);
    opacity: 1;
}

.sidebar-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.4rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.18);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sidebar-tag-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #f9f871;
    box-shadow: 0 0 0 3px rgba(249, 248, 113, 0.35);
}

.sidebar-nav {
    flex: 1;
    padding: 0.8rem 0.45rem 0.5rem;
    overflow-y: auto;
}

.nav-section-title {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--sidebar-text-muted);
    opacity: 0.78;
    padding: 0.4rem 0.75rem;
    margin-top: 0.2rem;
    margin-bottom: 0.1rem;
}

.nav-section-title--with-ping {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.nav-section-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.nav-section-toggle:hover .nav-section-title,
.nav-section-toggle:focus-visible .nav-section-title {
    opacity: 1;
}

.nav-section-toggle:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--primary) 32%, transparent);
    outline-offset: 4px;
    border-radius: 0.4rem;
}

.nav-section-chevron {
    font-size: 0.72rem;
    opacity: 0.7;
    transition: transform 0.18s ease, opacity 0.18s ease;
}

.nav-section--collapsible:not(.is-expanded) .nav-section-chevron {
    transform: rotate(-90deg);
}

.nav-section-content {
    display: grid;
    gap: 0;
    margin-top: 0.2rem;
}

.nav-section--collapsible:not(.is-expanded) .nav-section-content {
    display: none;
}

.nav-item-link {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.54rem 0.72rem;
    margin: 0.05rem 0.35rem;
    border-radius: 0.55rem;
    font-size: 0.86rem;
    text-decoration: none;
    color: var(--sidebar-text);
    opacity: 0.88;
    transition: background 0.12s ease, transform 0.06s ease, opacity 0.12s ease, color 0.12s ease;
    position: relative;
}

.nav-item-link:hover {
    background: var(--sidebar-hover);
    opacity: 1;
    transform: translateX(2px);
}

.nav-item-link.active {
    background: var(--sidebar-active-bg);
    color: var(--sidebar-active-text);
    opacity: 1;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--primary), inset 0 0 0 1px rgba(15, 107, 61, 0.12);
}

.nav-item-link::after {
    content: '›';
    margin-left: auto;
    font-size: 0.8rem;
    opacity: 0.7;
}

.nav-item-link.has-sidebar-ping::after {
    margin-left: 0;
}

.sidebar-ping-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.05rem;
    padding: 0 0.35rem;
    margin-left: auto;
    border-radius: 0.38rem;
    background: var(--sidebar-ping-bg);
    color: var(--sidebar-ping-text);
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 8px 16px rgba(151, 12, 24, 0.34);
}

.sidebar-title svg,
.sidebar-header .club-badge,
.sidebar-header .club-badge * {
    color: var(--primary);
    fill: var(--primary);
    stroke: var(--primary);
}

.sidebar-ping-badge--section {
    min-width: 1.2rem;
    height: 0.95rem;
    margin-left: 0;
    font-size: 0.62rem;
    opacity: 1;
}

/* Sidebar nav icon sizing & alignment (Font Awesome) */
.sidebar-nav .fa-fw {
    font-size: 0.82rem;
    width: 1.15rem;
    text-align: center;
}

.nav-item-link.active::after {
    opacity: 1;
}

.nav-item-link.active .fa-fw {
    color: var(--primary);
}

.contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 999px;
    font-size: 0.8rem;
    text-decoration: none;
    margin-right: 0.15rem;
}

.contact-icon-email {
    background: var(--surface-muted);
    color: var(--text-muted);
}

.contact-icon-phone {
    background: var(--surface-muted);
    color: var(--text-muted);
}

.contact-icon:hover {
    background: var(--primary-soft);
    color: var(--primary);
}

.member-quick-view-trigger {
    border: 0;
    background: var(--surface-muted);
    color: var(--text-muted);
    cursor: pointer;
}

.member-quick-view-trigger:hover,
.member-quick-view-trigger:focus {
    background: var(--primary-soft);
    color: var(--primary);
}

.member-table-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    background: var(--surface-muted);
    color: var(--text);
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.member-quick-view-modal {
    border: 1px solid var(--border);
    border-radius: 1.1rem;
    box-shadow: 0 24px 56px rgba(42, 52, 39, 0.18);
}

.member-quick-view-kicker {
    color: var(--text-subtle);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    font-weight: 700;
}

.member-quick-view-summary {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.member-quick-view-summary__content {
    min-width: 0;
}

.member-quick-view-avatar {
    flex: 0 0 84px;
    width: 84px;
    height: 84px;
    border-radius: 1.1rem;
    overflow: hidden;
    background: linear-gradient(135deg, var(--surface-muted) 0%, color-mix(in srgb, var(--surface-hover) 88%, transparent) 100%);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.member-quick-view-avatar__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-quick-view-avatar__placeholder {
    color: var(--primary);
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.member-quick-view-summary__name {
    color: var(--text);
    font-size: 1.35rem;
    font-weight: 700;
}

.member-quick-view-summary__meta {
    color: var(--text-muted);
    font-size: 0.95rem;
}

.member-quick-view-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.member-quick-view-item {
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, transparent) 0%, color-mix(in srgb, var(--surface-muted) 98%, transparent) 100%);
}

.member-quick-view-item span {
    display: block;
    margin-bottom: 0.28rem;
    color: var(--text-subtle);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.member-quick-view-item strong {
    color: var(--text);
    font-size: 0.98rem;
    font-weight: 700;
    word-break: break-word;
}

.member-contact-actions {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: 1.4rem;
    align-items: center;
    gap: 0.35rem;
    min-width: 4.5rem;
}

.member-contact-actions .contact-icon {
    margin-right: 0;
}

.sidebar-footer {
    flex-shrink: 0;
    padding: 0.85rem 0.85rem 0.75rem;
    border-top: 1px solid var(--app-sidebar-footer-border);
    background: var(--app-sidebar-footer);
}

.sidebar-context-label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sidebar-text-muted);
}

.sidebar-context-select-wrap {
    position: relative;
}

.sidebar-context-icon {
    position: absolute;
    left: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
    color: color-mix(in srgb, var(--text) 62%, transparent);
    pointer-events: none;
    z-index: 1;
}

.sidebar-context-select {
    min-height: 2.55rem;
    padding-left: 2.35rem;
    border-radius: 0.8rem;
    border: 1px solid var(--border);
    background: #ffffff;
    color: var(--text);
    font-weight: 600;
    box-shadow: 0 8px 18px rgba(16, 35, 27, 0.08);
}

.sidebar-context-select:focus {
    border-color: color-mix(in srgb, var(--primary) 48%, var(--border));
    box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--primary-soft) 82%, transparent), 0 8px 18px rgba(16, 35, 27, 0.08);
}

.theme-toggle-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.45rem 0.7rem;
    border-radius: 0.65rem;
    border: 1px solid var(--app-theme-button-border);
    background: var(--app-theme-button-bg);
    color: var(--app-theme-button-text);
    font-size: 0.82rem;
    box-shadow: 0 8px 18px rgba(16, 35, 27, 0.06);
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.theme-toggle-button:hover,
.theme-toggle-button:focus {
    background: var(--sidebar-hover);
    border-color: color-mix(in srgb, var(--primary) 26%, var(--app-theme-button-border));
    color: var(--primary);
}

.page,
.main-content,
.content,
.content-shell {
    color: var(--text);
}

.card,
.panel,
.filter-panel,
.table-wrapper,
.table-responsive,
.dropdown-menu,
.modal-content,
.list-group-item,
.popover {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.card,
.panel,
.filter-panel,
.table-wrapper,
.table-responsive,
.modal-content,
.popover {
    box-shadow:
        0 14px 32px rgba(15, 23, 42, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.35);
}

.dropdown-menu {
    border: 1px solid var(--border);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.dropdown-item {
    color: var(--text);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--surface-hover);
    color: var(--text);
}

.modal-backdrop {
    --bs-backdrop-bg: #000000;
    --bs-backdrop-opacity: 0.55;
}

.table-wrapper,
.table-responsive {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
}

.table {
    background: var(--surface);
    color: var(--text);
}

.table thead,
.table thead th {
    background: var(--surface-muted);
    color: var(--text-muted);
}

.table th {
    color: var(--text-muted);
    border-bottom-color: var(--border);
}

.table td {
    color: var(--text);
    border-bottom-color: var(--border);
}

.table tbody tr:hover {
    background: var(--surface-hover);
}

.table a {
    color: var(--primary);
}

.table a:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

.form-control,
.form-select,
.filter-control,
textarea {
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0.75rem;
}

.form-control::placeholder,
textarea::placeholder {
    color: var(--text-subtle);
}

.form-control:focus,
.form-select:focus,
textarea:focus,
.filter-control:focus {
    border-color: var(--primary);
    outline: 2px solid var(--primary-soft);
    outline-offset: 1px;
    box-shadow: none;
}

.btn-primary,
.btn-success {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: #ffffff !important;
}

.btn-outline-primary,
.btn-outline-success,
.btn-secondary,
.btn-outline-secondary,
.btn-outline {
    background: var(--surface) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline:hover,
.btn-outline:focus {
    background: var(--surface-hover) !important;
    color: var(--text) !important;
    border-color: var(--border-strong) !important;
}

.badge,
.pill {
    background: var(--surface-muted);
    color: var(--text-muted);
    border: 1px solid var(--border);
}

.badge-success,
.bg-success-subtle,
.badge.bg-success {
    background: var(--primary-soft) !important;
    color: var(--success) !important;
    border-color: rgba(56, 178, 109, 0.28) !important;
}

.badge.bg-danger,
.badge-danger {
    background: color-mix(in srgb, var(--danger) 14%, var(--surface)) !important;
    color: var(--danger) !important;
    border-color: color-mix(in srgb, var(--danger) 26%, transparent) !important;
}

.dropdown-menu.sidebar-theme-menu {
    --bs-dropdown-bg: var(--app-dropdown-bg);
    --bs-dropdown-border-color: var(--app-dropdown-border);
    --bs-dropdown-color: var(--text);
    --bs-dropdown-link-color: var(--text);
    --bs-dropdown-link-hover-color: var(--primary);
    --bs-dropdown-link-hover-bg: var(--app-dropdown-item-hover);
    --bs-dropdown-link-active-color: var(--primary);
    --bs-dropdown-link-active-bg: var(--app-dropdown-item-hover);
    background-color: var(--app-dropdown-bg);
    color: var(--text);
    border: 1px solid var(--app-dropdown-border);
    padding: 0.35rem;
    border-radius: 0.8rem;
    box-shadow: 0 14px 28px rgba(16, 35, 27, 0.14);
}

.dropdown-menu.sidebar-theme-menu .dropdown-item {
    color: var(--text);
    border-radius: 0.55rem;
    font-size: 0.82rem;
    padding: 0.45rem 0.65rem;
}

.dropdown-menu.sidebar-theme-menu .dropdown-item:hover,
.dropdown-menu.sidebar-theme-menu .dropdown-item:focus,
.dropdown-menu.sidebar-theme-menu .dropdown-item.active {
    background: var(--app-dropdown-item-hover);
    color: var(--primary);
}

.logout-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.2rem;
    padding: 0.45rem 0.7rem;
    border-radius: 0.65rem;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    color: #ffffff !important;
    background: var(--danger) !important;
    box-shadow: 0 8px 18px rgba(180, 35, 24, 0.18);
}

.logout-link:hover,
.logout-link:focus {
    color: #ffffff !important;
    background: color-mix(in srgb, var(--danger) 88%, #000000) !important;
}

.logout-link span.small {
    font-size: 0.72rem;
    opacity: 0.8;
}

.logout-icon {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 2px solid #ffecec;
    border-left-color: transparent;
    border-bottom-color: transparent;
    transform: rotate(45deg);
}

.sidebar-meta {
    overflow: hidden;
    font-size: 0.7rem;
    margin-top: 0.35rem;
    color: var(--sidebar-text-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    container: app-content / inline-size;
    padding: 1.25rem 1.5rem;
    color: var(--text);
}

.content-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.content-title {
    font-size: 1.35rem;
    font-weight: 700;
}

.content-subtitle {
    font-size: 0.85rem;
    color: var(--app-text-muted);
}

.content-header > div > a.text-decoration-none.small.mb-1.d-inline-block,
.content-header a.member-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #4b5d52;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
    border-radius: 0.7rem;
    transition: background 0.14s ease, color 0.14s ease;
}

.content-header > div > a.text-decoration-none.small.mb-1.d-inline-block:hover,
.content-header a.member-back-link:hover {
    background: #f3f7f4;
    color: var(--app-cta-bg);
    text-decoration: none;
}

.pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
    font-size: 0.78rem;
    background: rgba(28, 124, 52, 0.06);
    color: #265236;
}

.pill-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--bikb-green-light);
}

.content-body {
    background: var(--app-content-surface);
    border-radius: 1.2rem;
    padding: 1.1rem 1.2rem 1.2rem;
    box-shadow:
        0 16px 32px rgba(0, 0, 0, 0.12),
        0 0 0 1px var(--app-card-border);
    color: var(--text);
}

.content .container,
.content .container-fluid,
.content .row,
.content .card,
.content .card-body,
.content .content-body,
.content .content-header,
.content .crm-calendar-shell,
.content .crm-workspace,
.content .communication-page,
.content .performance-dashboard,
.content [class*="col-"] {
    min-width: 0;
}

.content .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.content .table-responsive > .table,
.content .table-responsive > table {
    width: 100%;
    min-width: max(100%, 42rem);
}

.content .content-header > .d-flex,
.content .content-actions,
.content .crm-panel-header,
.content .communication-header,
.content .communication-actions,
.content .communication-section-heading {
    min-width: 0;
    flex-wrap: wrap;
}

.content .btn,
.content .crm-subnav__link {
    max-width: 100%;
}

@container app-content (max-width: 1280px) {
    .content .row > .col-xl-8,
    .content .row > .col-xl-7,
    .content .row > .col-xl-6,
    .content .row > .col-xl-5,
    .content .row > .col-xl-4 {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .content .row > .col-xl-3,
    .content .row > .col-xl-2,
    .content .row > .col-xl {
        flex: 0 0 auto;
        width: 33.333333%;
        max-width: 33.333333%;
    }

    .content .communication-stat-grid,
    .content .communication-choice-grid,
    .content .communication-template-grid,
    .content .communication-automation-template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content .communication-layout,
    .content .communication-layout--segments,
    .content .communication-composer-grid,
    .content .communication-review-grid {
        grid-template-columns: 1fr;
    }
}

@container app-content (max-width: 900px) {
    .content .row > .col-lg-8,
    .content .row > .col-lg-7,
    .content .row > .col-lg-6,
    .content .row > .col-lg-5,
    .content .row > .col-lg-4,
    .content .row > .col-xl-8,
    .content .row > .col-xl-7,
    .content .row > .col-xl-6,
    .content .row > .col-xl-5,
    .content .row > .col-xl-4 {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .content .row > .col-xl-3,
    .content .row > .col-xl-2,
    .content .row > .col-xl,
    .content .row > .col-lg-3,
    .content .row > .col-lg-2,
    .content .row > .col-md-6,
    .content .row > .col-md-4,
    .content .row > .col-md-3 {
        flex: 0 0 auto;
        width: 50%;
        max-width: 50%;
    }

    .content .content-header,
    .content .communication-header,
    .content .communication-section-heading,
    .content .crm-panel-header {
        flex-direction: column;
        align-items: stretch !important;
    }

    .content .content-header > .d-flex,
    .content .content-actions,
    .content .communication-actions,
    .content .crm-panel-header > .d-flex {
        width: 100%;
        justify-content: flex-start;
    }
}

@container app-content (max-width: 620px) {
    .content {
        padding-inline: 0.75rem;
    }

    .content .container-fluid {
        padding-inline: 0;
    }

    .content .row > [class*="col-"],
    .content .row > .col {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .content .crm-workspace__metrics,
    .content .communication-stat-grid,
    .content .communication-choice-grid,
    .content .communication-template-grid,
    .content .communication-automation-template-grid,
    .content .communication-review-grid,
    .content .flight-meta-grid {
        grid-template-columns: 1fr;
    }

    .content .content-header .btn,
    .content .content-actions .btn,
    .content .communication-actions .btn,
    .content .crm-panel-header .btn {
        flex: 1 1 12rem;
        white-space: normal;
    }
}

.content-header--members {
    position: relative;
    overflow: hidden;
    min-height: 12.75rem;
    margin-bottom: 1rem;
    padding: 1.35rem 1.1rem 1.6rem;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.content-header--members::after {
    content: "";
    position: absolute;
    top: -0.75rem;
    right: -1.75rem;
    bottom: -1.5rem;
    left: 28%;
    background-image:
        linear-gradient(90deg, rgba(250, 248, 242, 1) 0%, rgba(250, 248, 242, 0.992) 14%, rgba(250, 248, 242, 0.965) 28%, rgba(250, 248, 242, 0.88) 40%, rgba(250, 248, 242, 0.7) 50%, rgba(250, 248, 242, 0.4) 64%, rgba(250, 248, 242, 0.14) 80%, rgba(250, 248, 242, 0) 100%),
        linear-gradient(180deg, rgba(250, 248, 242, 0.72) 0%, rgba(250, 248, 242, 0.12) 24%, rgba(250, 248, 242, 0) 62%, rgba(250, 248, 242, 0.84) 100%),
        var(--app-hero-image, url('../images/matthew-mcbrayer-fZL3EN4aJUI-unsplash.jpg'));
    background-repeat: no-repeat;
    background-position: left center, center center, 72% 48%;
    background-size: 100% 100%, 100% 100%, cover;
    pointer-events: none;
    opacity: 0.9;
    filter: saturate(0.84) brightness(1.04);
}

.content--custom-hero .content-header--members::after {
    left: 22%;
    background-image:
        linear-gradient(90deg, rgba(250, 248, 242, 1) 0%, rgba(250, 248, 242, 0.985) 16%, rgba(250, 248, 242, 0.9) 30%, rgba(250, 248, 242, 0.68) 42%, rgba(250, 248, 242, 0.32) 56%, rgba(250, 248, 242, 0.08) 72%, rgba(250, 248, 242, 0) 84%),
        linear-gradient(180deg, rgba(250, 248, 242, 0.12) 0%, rgba(250, 248, 242, 0.04) 24%, rgba(250, 248, 242, 0) 56%, rgba(250, 248, 242, 0.46) 100%),
        var(--app-hero-image, url('../images/matthew-mcbrayer-fZL3EN4aJUI-unsplash.jpg'));
    background-position: left center, center center, 64% 46%;
    opacity: 1;
    filter: saturate(0.98) contrast(1.04) brightness(0.99);
}

.content-header--members > * {
    position: relative;
    z-index: 1;
    max-width: min(56%, 42rem);
}

.content-header--members .content-title {
    color: #0f4021;
    font-size: clamp(2rem, 3.2vw, 3.1rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.content-header--members .content-subtitle {
    margin-top: 0.65rem;
    max-width: 34rem;
    font-size: 1rem;
    color: #446556;
}

.content-body--members {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 249, 244, 0.98) 100%);
    border: 1px solid rgba(229, 221, 204, 0.9);
    border-radius: 1.25rem;
    box-shadow:
        0 12px 32px rgba(77, 61, 24, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.8);
}

.members-overview-panel {
    position: relative;
}

.members-overview-panel__top {
    position: relative;
    padding-bottom: 1.1rem;
    margin-bottom: 1.2rem !important;
}

.members-overview-panel__top::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(218, 203, 171, 0), rgba(218, 203, 171, 0.95) 15%, rgba(218, 203, 171, 0.95) 85%, rgba(218, 203, 171, 0));
}

.members-overview-panel__filters {
    padding-top: 0.1rem;
}

.members-overview-panel__filters .filter-group {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.members-overview-panel__filters .filter-input {
    flex: 1 1 21rem;
    min-width: 21rem;
    max-width: 30rem;
}

.members-overview-panel__filters .form-select,
.members-overview-panel__filters .form-control,
.members-overview-panel__filters .input-group-text {
    min-height: 2rem;
}

.members-overview-panel__filters .form-select {
    min-width: 9rem;
}

.members-overview-panel__filters .filter-group.flex-wrap .form-select[style*="max-width: 200px"] {
    min-width: 15rem;
    max-width: 18rem !important;
}

.members-overview-panel__filters .filter-group.flex-wrap .form-select[style*="max-width: 150px"] {
    min-width: 9rem;
    max-width: 10rem !important;
}

.members-overview-panel__filters .filter-group.flex-wrap .form-select[style*="max-width: 140px"] {
    min-width: 9rem;
    max-width: 10rem !important;
}

.members-overview-panel__filters .filter-group.flex-wrap .form-select[style*="max-width: 220px"] {
    min-width: 13rem;
    max-width: 16rem !important;
}

.members-overview-panel__filters .input-group.input-group-sm[style*="max-width: 140px"] {
    min-width: 8.5rem;
    max-width: 9.5rem !important;
}

.members-overview-panel__filters .input-group.input-group-sm[style*="max-width: 170px"] {
    min-width: 10.5rem;
    max-width: 11.5rem !important;
}

.members-overview-panel__filters .btn {
    min-height: 2rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
}

.members-overview-panel__filters .badge.bg-outline {
    padding: 0.42rem 0.7rem;
}

.members-overview-panel__table {
    margin-top: 1.05rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(234, 226, 212, 0.95);
}

.content-body--members .form-control,
.content-body--members .form-select,
.content-body--members .input-group-text {
    border-color: #e3dac9;
}

.content-body--members .form-control,
.content-body--members .form-select {
    background-color: rgba(255, 255, 255, 0.92);
}

.content-body--members .input-group-text {
    background-color: rgba(255, 252, 246, 0.98) !important;
    color: #6e685d;
}

.content-body--members .badge.bg-outline {
    border: 1px solid rgba(218, 203, 171, 0.95);
    background: rgba(255, 252, 246, 0.98);
    color: #6a665d !important;
}

.content-body--members .btn-outline-secondary {
    border-color: #e1d7c6;
    background: rgba(255, 255, 255, 0.88);
}

.content-body--members .btn-outline-secondary:hover,
.content-body--members .btn-outline-secondary:focus {
    border-color: #d4c7af;
    background: #fffcf5;
    color: #0f4021;
}

.content-body--members .table thead th {
    background: #f4f7f2;
    color: #6b775f;
}

.content-body--members .membership-member-link {
    color: #195633;
}

.content-body--members .membership-member-link:hover {
    color: #0f4021;
}

.table-responsive {
    margin-top: 0.6rem;
}

.table {
    font-size: 0.83rem;
}

.table thead th {
    border-bottom-width: 1px;
    color: var(--app-table-text);
    background: var(--app-table-head);
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 0.5rem;
    padding: 0.18rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid rgba(28, 124, 52, 0.35);
    background-color: #f5faf7;
}

.status-active {
    background: rgba(28, 124, 52, 0.06);
    color: #1c7c34;
}

.status-pending {
    background: rgba(255, 193, 7, 0.06);
    color: #b48312;
}

.status-inactive {
    background: rgba(108, 117, 125, 0.06);
    color: #495057;
}

/* Members list: striped rows and member link styling */
.table-members tbody tr:nth-of-type(odd) {
    background-color: var(--app-table-row-odd);
}

.table-members tbody tr:nth-of-type(even) {
    background-color: var(--app-table-row-even);
}

.table-members tbody tr:hover {
    background-color: var(--app-table-row-hover);
}

.membership-member-link {
    color: #4f6f5b;
    text-decoration: underline;
    font-weight: 400;
}

.membership-member-link:hover {
    color: #375141;
    text-decoration: underline;
}

/* Member detail view */
.member-detail-section-title {
    font-weight: 600;
}

.member-detail-table-wrapper {
    border: 1px solid var(--app-surface-border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--app-surface-soft);
    padding: 0.4rem 0.7rem;
}

.member-detail-table th {
    width: 32%;
}

.member-detail-value-cell {
    cursor: pointer;
}

.member-detail-value-cell .member-detail-input {
    min-width: 0;
}

.member-detail-table th,
.member-detail-table td {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.member-detail-section {
    padding: 0.25rem 0.15rem 0.75rem;
}

.member-detail-table tbody tr:last-child th,
.member-detail-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Member detail: profile column + tabs layouts */
.content-body--member-detail .member-detail-layout {
    align-items: flex-start;
}

.member-back-link {
    color: var(--app-text-muted);
}

.member-back-link:hover {
    color: var(--bikb-green);
}

.member-profile-card {
    border-radius: 1rem;
    background: var(--app-surface-soft);
}

.member-profile-summary {
    border-top: 1px solid var(--app-surface-border);
    padding-top: 0.75rem;
}

.member-profile-label {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.15rem;
}

.member-profile-value {
    font-size: 0.9rem;
    color: var(--app-text);
}

.member-detail-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border-bottom: 2px solid var(--app-surface-border);
    padding-bottom: 0;
    gap: 0;
}

.member-detail-tabs .nav-link {
    white-space: nowrap;
    border: 0;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    color: var(--app-text-muted);
    font-weight: 500;
    font-size: 0.82rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0;
}

.member-detail-tabs .nav-link:hover {
    color: var(--bikb-green-dark);
}

.member-detail-tabs .nav-link.active {
    color: var(--bikb-green-dark);
    background: transparent;
    border-bottom-color: var(--bikb-green);
}

.member-tab-placeholder {
    padding: 1.5rem 0;
    min-height: 120px;
}

/* Member avatar upload */
.member-avatar-row {
    display: flex;
    justify-content: flex-start;
}

.member-avatar-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.member-avatar-placeholder {
    width: 112px;
    height: 112px;
    border-radius: 0.9rem;
    border: 1px dashed color-mix(in srgb, var(--border-strong) 72%, transparent);
    background: var(--surface-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-subtle);
    font-size: 0.78rem;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.member-avatar-placeholder:not(.has-image):hover {
    border-color: var(--primary);
    background: var(--surface-hover);
}

.member-avatar-placeholder.has-image {
    border-style: solid;
    border-color: color-mix(in srgb, var(--border-strong) 68%, transparent);
    background-color: var(--surface-muted);
}

.member-avatar-placeholder.has-image .member-avatar-text {
    display: none;
}

.member-avatar-text {
    pointer-events: none;
}

.club-logo-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
}

.club-logo-placeholder {
    width: 160px;
    height: 100px;
    border-radius: 0.75rem;
    border: 1px dashed color-mix(in srgb, var(--border-strong) 72%, transparent);
    background: var(--surface-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-subtle);
    font-size: 0.78rem;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.club-logo-placeholder:not(.has-image):hover {
    border-color: rgba(79, 111, 91, 0.9);
    background-color: #eef5f0;
}

.club-logo-placeholder.has-image {
    border-style: solid;
    border-color: rgba(79, 111, 91, 0.4);
    background-color: #f5faf7;
}

.club-logo-placeholder.has-image .club-logo-text {
    display: none;
}

.club-logo-text {
    pointer-events: none;
}

.filter-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.8rem;
    align-items: center;
    justify-content: space-between;
}

.filter-group {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.6rem;
    align-items: center;
}

.filter-input {
    max-width: 520px;
    width: 500px;
    flex: 1 1 0;
}

.badge-role {
    display: inline-block;
    border-radius: 999px;
    padding: 0.12rem 0.45rem;
    font-size: 0.7rem;
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
    color: var(--primary);
    border-color: color-mix(in srgb, var(--primary) 24%, transparent);
}

.badge-handicap {
    border-radius: 999px;
    padding: 0.06rem 0.35rem;
    font-size: 0.7rem;
    background: rgba(17, 94, 38, 0.06);
    color: #115e26;
}

/* Admin user role mapping styling */
.admin-user-role-select,
.admin-user-club-select {
    border-color: #115e26;
}

.admin-user-role-select:focus,
.admin-user-club-select:focus {
    border-color: #115e26;
    box-shadow: 0 0 0 0.2rem rgba(17, 94, 38, 0.25);
}

.admin-user-add-role-btn {
    padding: 0.2rem 0.6rem;
    font-size: 0.78rem;
    line-height: 1.25;
    border-radius: 0.25rem;
}

.admin-user-role-remove {
    padding: 0.2rem 0.55rem;
    font-size: 0.78rem;
    line-height: 1.25;
}

.admin-user-member-assign,
.admin-user-member-edit-toggle {
    padding: 0.2rem 0.6rem;
    font-size: 0.78rem;
    line-height: 1.25;
}

.admin-user-member-cell {
    max-width: 420px;
}

.member-detail-table-wrapper-meta {
    overflow: visible;
}

.admin-user-member-search-wrapper {
    position: relative;
}

.admin-user-member-search-input {
    padding-right: 2.5rem;
}

.admin-user-member-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 20;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0 0 .25rem .25rem;
    max-height: 260px;
    overflow-y: auto;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

.admin-user-member-result {
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
}

.admin-user-member-result:hover {
    background-color: var(--surface-hover);
}

.admin-user-member-result-main {
    font-size: 0.85rem;
    font-weight: 500;
}

.admin-user-member-result-sub {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* ------------------------------------------------------------
 * Membership card view
 * ------------------------------------------------------------ */

.content-body--membership-card {
    max-width: 520px;
    margin: 0 auto;
}

.membership-card-root {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0.5rem 0.25rem 0;
}

.membership-tournament-mode {
    width: 100%;
    max-width: 480px;
    margin: 0 auto 1rem;
    padding: 1rem;
    border: 1px solid rgba(17, 94, 38, 0.16);
    border-radius: 1rem;
    background: linear-gradient(135deg, #f7fbf8, #eef7f1);
    box-shadow: 0 12px 28px rgba(18, 48, 36, 0.12);
    color: #123024;
}

.membership-tournament-mode__header,
.membership-tournament-mode__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.membership-tournament-mode__badge,
.membership-tournament-mode__status {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
}

.membership-tournament-mode__badge {
    color: #0f6b3a;
    background: #dff3e6;
}

.membership-tournament-mode__status {
    color: #1f3e2a;
    background: rgba(255, 255, 255, 0.8);
}

.membership-tournament-mode__title {
    margin-top: 0.75rem;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.15;
}

.membership-tournament-mode__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    margin-top: 0.45rem;
    color: #66766b;
    font-size: 0.9rem;
}

.membership-tournament-mode__footer {
    margin-top: 0.9rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(17, 94, 38, 0.12);
    font-weight: 800;
}

.membership-tournament-mode__button,
.web-tournament-mode__secondary-link,
.web-tournament-hole__save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.55rem;
    border: 1px solid #0f6b3a;
    background: #0f6b3a;
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
}

.membership-tournament-mode__button {
    min-height: 2.3rem;
    padding: 0 0.9rem;
    font-size: 0.88rem;
}

.content-body--tournament-mode {
    max-width: 860px;
    margin: 0 auto;
}

.web-tournament-mode {
    padding: 0.75rem;
}

.web-tournament-mode__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.web-tournament-mode__secondary-link {
    min-height: 2.35rem;
    padding: 0 0.95rem;
    font-size: 0.9rem;
}

.web-tournament-mode__hero,
.web-tournament-mode__summary,
.web-tournament-mode__holes {
    border: 1px solid rgba(17, 94, 38, 0.13);
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(18, 48, 36, 0.08);
}

.web-tournament-mode__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.35rem;
    background: linear-gradient(135deg, #ffffff, #eef7f1);
}

.web-tournament-mode__eyebrow {
    color: #0f6b3a;
    font-size: 0.82rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.web-tournament-mode__hero h1 {
    margin: 0.3rem 0 0;
    color: #08251b;
    font-size: 2rem;
    line-height: 1.1;
}

.web-tournament-mode__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.9rem;
    margin-top: 0.75rem;
    color: #66766b;
}

.web-tournament-mode__status-card {
    display: grid;
    gap: 0.25rem;
    min-width: 160px;
    padding: 1rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.76);
    color: #123024;
}

.web-tournament-mode__status-card strong {
    font-size: 1.25rem;
}

.web-tournament-mode__summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 1rem;
}

.web-tournament-mode__summary div {
    padding: 0.8rem;
    border-radius: 0.8rem;
    background: #f7faf8;
}

.web-tournament-mode__summary span {
    display: block;
    color: #6c7d71;
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.web-tournament-mode__summary strong {
    display: block;
    margin-top: 0.25rem;
    color: #08251b;
    font-size: 1.1rem;
}

.web-tournament-mode__holes {
    display: grid;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 1rem;
}

.web-tournament-hole {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    padding: 0.85rem;
    border: 1px solid rgba(17, 94, 38, 0.12);
    border-radius: 0.85rem;
    background: #fbfdfb;
}

.web-tournament-hole.is-current {
    border-color: rgba(15, 107, 58, 0.48);
    background: #eef8f1;
}

.web-tournament-hole__number {
    display: block;
    color: #08251b;
    font-weight: 900;
}

.web-tournament-hole__par {
    color: #6c7d71;
    font-size: 0.9rem;
}

.web-tournament-hole__form {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.web-tournament-hole__input {
    width: 4.5rem;
    min-height: 2.45rem;
    border: 1px solid rgba(17, 94, 38, 0.22);
    border-radius: 0.55rem;
    text-align: center;
    font-weight: 900;
}

.web-tournament-hole__save {
    min-height: 2.45rem;
    padding: 0 0.85rem;
}

@media (max-width: 720px) {
    .web-tournament-mode__hero,
    .web-tournament-mode__summary,
    .web-tournament-hole {
        grid-template-columns: 1fr;
    }

    .web-tournament-mode__status-card {
        min-width: 0;
    }

    .web-tournament-mode__summary {
        gap: 0.55rem;
    }

    .web-tournament-hole__form {
        justify-content: space-between;
    }

    .web-tournament-hole__input {
        flex: 1;
        max-width: 7rem;
    }
}

.membership-card-root--verify .membership-card {
    min-height: 460px;
}

.membership-card-root--verify .membership-card-body {
    justify-content: flex-start;
    padding-top: 1rem;
    padding-bottom: 1.2rem;
}

.membership-card-root--verify .membership-card-photo-wrap {
    margin-top: 1rem;
}

.membership-card-root--verify .membership-card-grid {
    margin-top: 1.2rem;
}

.membership-card-wrapper {
    width: 100%;
}

.membership-card {
    position: relative;
    margin: 0 auto;
    max-width: 480px;
    min-height: 440px;
    border-radius: 1.4rem;
    background:
        linear-gradient(145deg, var(--bikb-green-dark), var(--bikb-green-light) 50%, #f6fbf7 51%, #f8fff9 100%);
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.26),
        0 0 0 1px rgba(255, 255, 255, 0.4);
    color: #123024;
    overflow: hidden;
}

.membership-card-header {
    padding: 0.85rem 1.1rem 0.6rem;
    color: #e9f7ee;
}

.membership-card.has-club-logo {
    border: 1px solid #3a3520;
    background:
        linear-gradient(145deg, rgba(32, 44, 22, 0.9), rgba(58, 77, 40, 0.85) 50%, rgba(200, 192, 170, 0.88) 51%, rgba(235, 230, 218, 0.85) 100%),
        var(--club-logo) center top / contain no-repeat,
        #f8fff9;
}


.membership-card-club {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.membership-card-brand {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    opacity: 0.85;
}

.membership-card-body {
    padding: 0.25rem 1.1rem 1.1rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.membership-card-photo-wrap {
    display: flex;
    justify-content: center;
    margin-top: 0.3rem;
    margin-bottom: 0.35rem;
}

.membership-card-photo {
    width: 128px;
    height: 128px;
    border-radius: 999px;
    border: 3px solid rgba(255, 255, 255, 0.9);
    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.25),
        0 0 0 4px rgba(17, 94, 38, 0.3);
    background-color: #f5faf7;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-align: center;
}

.membership-card-photo-placeholder {
    padding: 0 0.5rem;
    font-size: 0.78rem;
    color: #6c7d71;
}

.membership-card-name {
    text-align: center;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.03em;
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
}

.membership-card.has-club-logo .membership-card-name {
    color: #ffffff;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
    font-size: 1.2rem;
}

.membership-card-grid {
    background: rgba(255, 255, 255, 0.86);
    border-radius: 0.9rem;
    padding: 0.65rem 0.8rem;
    margin-bottom: 0.6rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.membership-card-row {
    display: grid;
    grid-template-columns: 1.1fr 1.4fr;
    column-gap: 0.4rem;
    align-items: baseline;
    font-size: 0.78rem;
    padding: 0.15rem 0;
}

.membership-card-label {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.72rem;
    color: #7a8a7f;
}

.membership-card-value {
    font-weight: 600;
    color: #1f3e2a;
}

.membership-card-qr-section {
    margin-top: 0.4rem;
    padding-top: 0.35rem;
    border-top: 1px dashed rgba(105, 135, 115, 0.4);
    text-align: center;
}

.membership-card-wallet-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.55rem;
    text-align: center;
}

.google-wallet-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 44px;
    padding: 0 1rem;
    border-radius: 0.45rem;
    border: 1px solid #dadce0;
    background: #ffffff;
    color: #202124;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.18);
}

.google-wallet-button:hover,
.google-wallet-button:focus {
    color: #202124;
    background: #f8fafd;
    border-color: #c8d2e0;
    text-decoration: none;
}

.google-wallet-button__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    color: #ffffff;
    background: #4285f4;
    font-size: 0.78rem;
    font-weight: 700;
}

.membership-card-inactive-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 10;
}

.membership-card-inactive-overlay::before {
    content: attr(data-label);
}

.membership-card-inactive-overlay {
    font-size: 2.8rem;
    font-weight: 900;
    letter-spacing: 0.25em;
    color: rgba(200, 30, 30, 0.55);
    transform: rotate(-30deg);
    text-transform: uppercase;
    -webkit-text-stroke: 1.5px rgba(200, 30, 30, 0.7);
}

.membership-card-qr-img {
    width: 160px;
    height: 160px;
    max-width: 100%;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 0.5rem;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.24),
        0 0 0 1px rgba(0, 0, 0, 0.06);
}

@media (max-width: 992px) {
    .dashboard-shell {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
    }
}

@media (max-width: 768px) {
    .content-header--members {
        min-height: auto;
        padding: 1rem 0 1.15rem;
    }

    .content-header--members::after {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-image:
            linear-gradient(180deg, rgba(250, 248, 242, 0.98) 0%, rgba(250, 248, 242, 0.96) 50%, rgba(250, 248, 242, 0.92) 100%);
        background-size: 100% 100%;
        opacity: 1;
        filter: none;
    }

    .content-header--members > * {
        max-width: 100%;
    }

    .content-header--members .content-title {
        font-size: 1.75rem;
    }

    .content-header--members .content-subtitle {
        font-size: 0.92rem;
    }

    .members-overview-panel__top {
        padding-bottom: 0.85rem;
        margin-bottom: 0.95rem !important;
    }

    .members-overview-panel__table {
        margin-top: 0.85rem;
    }

    .member-quick-view-grid {
        grid-template-columns: 1fr;
    }

    .member-quick-view-summary {
        align-items: flex-start;
    }

    .dashboard-shell {
        position: relative;
        flex-direction: column;
    }

    .sidebar-toggle-button {
        position: fixed;
        top: 0.75rem;
        left: 0.75rem;
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 999px;
        background: rgba(20, 55, 38, 0.96);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0.18rem;
        cursor: pointer;
        z-index: 110;
    }

    .sidebar-toggle-button span {
        display: block;
        width: 1.25rem;
        height: 2px;
        border-radius: 999px;
        background: #ffffff;
    }

    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 80vw;
        max-width: 50vw;
        transform: translateX(-100%);
        transition: transform 0.25s ease-out;
        box-shadow: 4px 0 18px rgba(0, 0, 0, 0.35);
        z-index: 105;
    }

    .sidebar-toggle-checkbox:checked ~ .sidebar {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.35);
        z-index: 100;
        display: none;
    }

    .sidebar-toggle-checkbox:checked ~ .sidebar-backdrop {
        display: block;
    }

    .content {
        padding-top: 3.25rem;
    }

    /* Hide burger while sidebar is open */
    .sidebar-toggle-checkbox:checked + .sidebar-toggle-button {
        display: none;
    }
}



/* ------------------------------------------------------------
 * Language switch
 * ------------------------------------------------------------ */

.language-switch {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    gap: 6px;
    background: rgba(0, 0, 0, 0.35);
    padding: 4px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

.language-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    font-size: 0.72rem;
    font-weight: 600;
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    opacity: 0.75;
    transition: all 0.15s ease;
}

.language-switch a:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.12);
}


.language-switch a.active {
    background: #ffffff;
    color: #1c7c34;
    opacity: 1;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

.language-switch-footer {
    position: static;
    top: auto;
    right: auto;
}

.sidebar .language-switch-footer {
    background: #ffffff;
    border: 1px solid var(--border);
    box-shadow: 0 8px 18px rgba(16, 35, 27, 0.06);
}

.sidebar .language-switch-footer a {
    color: var(--sidebar-text-muted);
}

.sidebar .language-switch-footer a:hover {
    background: var(--sidebar-hover);
    color: var(--primary);
}

.sidebar .language-switch-footer a.active {
    background: var(--primary-soft);
    color: var(--primary);
    box-shadow: none;
}

.member-timeline-card {
    border-radius: 1rem;
    background: #fdfefc;
}

.content-body--member-detail .member-timeline-card {
    height: 100%;
}

.member-timeline-filter-form .form-select {
    min-width: 210px;
}

.member-timeline-scroll {
    max-height: 520px;
    overflow-y: auto;
    padding-right: 0.15rem;
}

.member-timeline-item {
    padding: 0.9rem 0;
    border-top: 1px solid #e6efe8;
}

.member-timeline-item:first-child {
    border-top: 0;
    padding-top: 0.15rem;
}

.member-timeline-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
    font-size: 0.74rem;
    font-weight: 600;
}

.member-timeline-badge--member,
.member-timeline-badge--other {
    background: #edf3ff;
    color: #29509d;
}

.member-timeline-badge--billing {
    background: #fff2d8;
    color: #926200;
}

.member-timeline-badge--handicap {
    background: #e7f8ec;
    color: #266942;
}

.member-timeline-badge--notes {
    background: #f4ebff;
    color: #6a3cb5;
}

.member-timeline-badge--scorecards {
    background: #e3f3ff;
    color: #0e5e89;
}

.member-timeline-badge--consents {
    background: #ffe9f1;
    color: #a3416f;
}

.member-timeline-title {
    font-weight: 600;
    color: #1f3e2a;
}

.member-timeline-description,
.member-timeline-values,
.member-timeline-meta {
    font-size: 0.88rem;
    color: #5d7365;
}

.member-timeline-description,
.member-timeline-values {
    margin-top: 0.35rem;
}

.marshal-calendar-table th,
.marshal-calendar-table td {
    min-width: 118px;
}

.marshal-calendar-day {
    padding: 0;
    vertical-align: top;
    background: #fff;
}

.marshal-calendar-day--outside {
    background: #f8f9fa;
}

.marshal-calendar-day--today {
    box-shadow: inset 0 0 0 2px #1c7c34;
}

.marshal-calendar-day--selected {
    box-shadow: inset 0 0 0 2px #0d6efd;
    background: #eef5ff;
}

.marshal-calendar-link {
    display: block;
    min-height: 112px;
    padding: 0.75rem;
    color: inherit;
    text-decoration: none;
}

.marshal-calendar-link:hover {
    background: #f7fbf8;
    color: inherit;
}

.marshal-calendar-assignees {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
}

.marshal-calendar-assignee {
    display: block;
    width: 100%;
    padding: 0.28rem 0.45rem;
    border: 1px solid #d6dee8;
    border-radius: 999px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

.crm-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.crm-subnav__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.65rem 1rem;
    border: 1px solid rgba(31, 41, 55, 0.18);
    border-radius: 0.9rem;
    background: #ffffff;
    color: #374151;
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.crm-subnav__link:hover {
    transform: translateY(-1px);
    color: #111827;
    background: #f8fafc;
    border-color: rgba(31, 41, 55, 0.28);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.crm-subnav__link--active {
    background: #1f2937;
    color: #ffffff;
    border-color: #1f2937;
}

.crm-subnav__link--active:hover {
    background: #111827;
    color: #ffffff;
    border-color: #111827;
}

.crm-calendar-shell {
    border-radius: 1.1rem;
    min-width: 0;
}

.crm-calendar-shell .row > [class*="col"] {
    min-width: 0;
}

.crm-week-card {
    position: relative;
    border-radius: 1rem;
    border: 1px solid rgba(25, 135, 84, 0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.crm-week-card .small {
    overflow-wrap: anywhere;
}

.crm-week-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.crm-week-card__date {
    min-width: 0;
}

.crm-week-card__weekday {
    overflow-wrap: anywhere;
}

.crm-week-card__badge {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    padding: 0.22rem 0.68rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}

.crm-week-card__badge--today {
    background: #e6f4ec;
    border: 1px solid #9bc9ad;
    color: #1e6a42;
}

.crm-week-card__badge--selected {
    background: #eef2f6;
    border: 1px solid #cfd9e3;
    color: #425466;
}

.crm-week-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(17, 101, 48, 0.12);
}

.crm-week-card--today,
.crm-week-card--selected {
    z-index: 2;
}

.crm-week-card--selected {
    border-color: rgba(25, 135, 84, 0.45);
    box-shadow: 0 0 0 1px rgba(25, 135, 84, 0.18), 0 18px 34px rgba(17, 101, 48, 0.12);
}

.crm-calendar-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: #4b5563;
}

.crm-calendar-metrics > span {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: #f4f7f5;
}

.crm-mini-calendar {
    table-layout: fixed;
    width: 100%;
    min-width: 42rem;
}

.crm-mini-calendar th,
.crm-mini-calendar td {
    width: 14.285%;
}

.crm-mini-calendar__day {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 76px;
    padding: 0.55rem;
    color: inherit;
    text-decoration: none;
}

.crm-mini-calendar__day--selected {
    box-shadow: inset 0 0 0 2px #198754;
    background: #eef8f2;
}

.crm-mini-calendar__today-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.35rem;
    padding: 0.14rem 0.5rem;
    border-radius: 999px;
    background: #e6f4ec;
    border: 1px solid #9bc9ad;
    color: #1e6a42;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
}

.crm-mini-calendar__dot {
    width: 8px;
    height: 8px;
}

.crm-calendar-page {
    --crm-calendar-green: #087342;
    --crm-calendar-green-soft: #e8f5ee;
    --crm-calendar-blue: #2563eb;
    --crm-calendar-blue-soft: #edf4ff;
    --crm-calendar-warning: #f59e0b;
    --crm-calendar-warning-soft: #fff7e6;
    --crm-calendar-danger: #dc2626;
    --crm-calendar-danger-soft: #fff1f2;
    --crm-calendar-border: rgba(15, 23, 42, 0.1);
}

.crm-calendar-header,
.crm-calendar-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.crm-calendar-header {
    margin-bottom: 1.5rem;
}

.crm-calendar-header h1,
.crm-calendar-section-head h2 {
    margin: 0;
    color: #0f172a;
    font-weight: 800;
}

.crm-calendar-header h1 {
    font-size: 1.55rem;
}

.crm-calendar-header p,
.crm-calendar-section-head p {
    margin: 0.25rem 0 0;
    color: #64748b;
}

.crm-calendar-panel {
    min-width: 0;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.8rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    padding: 1rem;
}

.crm-calendar-filters {
    display: grid;
    grid-template-columns: minmax(10rem, 1.1fr) minmax(10rem, 1.1fr) minmax(10rem, 1fr) minmax(9rem, 0.9fr) auto auto auto;
    gap: 0.75rem;
    align-items: end;
    margin-bottom: 1rem;
}

.crm-calendar-filter {
    display: grid;
    min-width: 0;
    margin: 0;
}

.crm-calendar-filter span {
    margin-bottom: 0.25rem;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 800;
}

.crm-calendar-filter .form-select,
.crm-calendar-filter .form-control {
    min-height: 2.55rem;
}

.crm-calendar-view-switch {
    display: inline-flex;
    align-items: center;
    min-height: 2.55rem;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.45rem;
    overflow: hidden;
}

.crm-calendar-view-switch .btn {
    border: 0;
    border-radius: 0;
    min-width: 4.2rem;
    min-height: 2.55rem;
}

.crm-calendar-today-btn,
.crm-calendar-filter-submit {
    min-height: 2.55rem;
    white-space: nowrap;
}

.crm-calendar-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.25rem;
}

.crm-calendar-stat {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.8rem;
    padding: 1rem;
    color: #0f172a;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.crm-calendar-stat__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: var(--crm-calendar-green-soft);
    color: var(--crm-calendar-green);
}

.crm-calendar-stat--primary .crm-calendar-stat__icon {
    background: var(--crm-calendar-blue-soft);
    color: var(--crm-calendar-blue);
}

.crm-calendar-stat--warning .crm-calendar-stat__icon {
    background: var(--crm-calendar-warning-soft);
    color: var(--crm-calendar-warning);
}

.crm-calendar-stat--danger .crm-calendar-stat__icon {
    background: var(--crm-calendar-danger-soft);
    color: var(--crm-calendar-danger);
}

.crm-calendar-stat__label,
.crm-calendar-stat__suffix {
    display: block;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 700;
}

.crm-calendar-stat strong {
    display: block;
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1.1;
}

.crm-calendar-stat em {
    grid-column: 2;
    color: #334155;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 700;
}

.crm-calendar-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.crm-calendar-day-card {
    display: flex;
    min-height: 8.2rem;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.65rem;
    padding: 0.85rem;
    color: #0f172a;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.crm-calendar-day-card:hover,
.crm-calendar-day-card--selected {
    border-color: rgba(8, 115, 66, 0.55);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.crm-calendar-day-card--selected {
    background: #f1faf5;
}

.crm-calendar-day-card__top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.crm-calendar-day-card__top strong,
.crm-calendar-day-card__top small,
.crm-calendar-day-card__metrics span,
.crm-calendar-day-card__empty {
    display: block;
}

.crm-calendar-day-card__top small,
.crm-calendar-day-card__empty,
.crm-calendar-day-card__metrics {
    color: #64748b;
    font-size: 0.8rem;
}

.crm-calendar-day-card__top b {
    align-self: flex-start;
    border: 1px solid rgba(8, 115, 66, 0.35);
    border-radius: 999px;
    background: var(--crm-calendar-green-soft);
    color: var(--crm-calendar-green);
    padding: 0.14rem 0.45rem;
    font-size: 0.72rem;
}

.crm-calendar-dot {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    margin-right: 0.45rem;
}

.crm-calendar-dot--event {
    background: var(--crm-calendar-green);
}

.crm-calendar-dot--activity {
    background: var(--crm-calendar-blue);
}

.crm-calendar-dot--task {
    background: var(--crm-calendar-warning);
}

.crm-calendar-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 31rem);
    gap: 1rem;
    align-items: start;
}

.crm-calendar-side {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.crm-calendar-timeline {
    display: grid;
    gap: 0.75rem;
}

.crm-calendar-timeline-item {
    display: grid;
    grid-template-columns: 4rem auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: stretch;
}

.crm-calendar-timeline-item time {
    color: #475569;
    font-size: 0.86rem;
}

.crm-calendar-timeline-item time strong,
.crm-calendar-timeline-item time span {
    display: block;
}

.crm-calendar-timeline-item__dot {
    width: 0.75rem;
    height: 0.75rem;
    margin-top: 1rem;
    border-radius: 999px;
    background: var(--crm-calendar-green);
}

.crm-calendar-timeline-item--activity .crm-calendar-timeline-item__dot {
    background: var(--crm-calendar-blue);
}

.crm-calendar-timeline-item--task .crm-calendar-timeline-item__dot {
    background: var(--crm-calendar-warning);
}

.crm-calendar-timeline-item__body {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto auto;
    gap: 0.8rem;
    align-items: center;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.65rem;
    padding: 0.75rem;
}

.crm-calendar-timeline-item__body h3,
.crm-calendar-timeline-item__body p {
    margin: 0;
}

.crm-calendar-timeline-item__body h3 {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 800;
}

.crm-calendar-timeline-item__body p {
    color: #64748b;
    font-size: 0.82rem;
}

.crm-calendar-type-badge,
.crm-calendar-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.35rem;
    padding: 0.32rem 0.62rem;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
}

.crm-calendar-type-badge--event,
.crm-calendar-status--success {
    background: var(--crm-calendar-green-soft);
    color: var(--crm-calendar-green);
}

.crm-calendar-type-badge--activity {
    background: var(--crm-calendar-blue-soft);
    color: var(--crm-calendar-blue);
}

.crm-calendar-type-badge--task,
.crm-calendar-status--warning {
    background: var(--crm-calendar-warning-soft);
    color: #a16207;
}

.crm-calendar-status--danger {
    background: var(--crm-calendar-danger-soft);
    color: var(--crm-calendar-danger);
}

.crm-calendar-status--neutral {
    background: #eef2f6;
    color: #475569;
}

.crm-calendar-assignee,
.crm-calendar-actions summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.45rem;
    color: #475569;
}

.crm-calendar-actions {
    position: relative;
}

.crm-calendar-actions summary {
    list-style: none;
    cursor: pointer;
}

.crm-calendar-actions summary::-webkit-details-marker {
    display: none;
}

.crm-calendar-actions div {
    position: absolute;
    z-index: 10;
    right: 0;
    top: calc(100% + 0.35rem);
    display: grid;
    width: 9rem;
    gap: 0.45rem;
    padding: 0.6rem;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.55rem;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.14);
}

.crm-calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
    color: #475569;
    font-size: 0.85rem;
}

.crm-calendar-mini-scroll {
    max-width: 100%;
    overflow-x: auto;
}

.crm-calendar-mini-table {
    width: 100%;
    min-width: 27rem;
    border-collapse: collapse;
}

.crm-calendar-mini-table th,
.crm-calendar-mini-table td {
    width: 14.285%;
    border: 1px solid #e2e8f0;
    text-align: center;
}

.crm-calendar-mini-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.78rem;
    padding: 0.45rem;
}

.crm-calendar-mini-day {
    display: grid;
    min-height: 3.15rem;
    align-content: space-between;
    color: #0f172a;
    padding: 0.45rem;
    text-decoration: none;
}

.crm-calendar-mini-day--outside {
    color: #94a3b8;
    background: #f8fafc;
}

.crm-calendar-mini-day--selected {
    background: var(--crm-calendar-green);
    color: #ffffff;
}

.crm-calendar-mini-day__dots {
    display: flex;
    justify-content: center;
    gap: 0.2rem;
}

.crm-calendar-mini-day__dots .crm-calendar-dot {
    margin-right: 0;
}

.crm-calendar-quick-list {
    display: grid;
    gap: 0.7rem;
}

.crm-calendar-quick-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
    border: 1px solid var(--crm-calendar-border);
    border-radius: 0.6rem;
    padding: 0.75rem;
}

.crm-calendar-quick-item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--crm-calendar-blue-soft);
    color: var(--crm-calendar-blue);
}

.crm-calendar-quick-item--warning span {
    background: var(--crm-calendar-warning-soft);
    color: var(--crm-calendar-warning);
}

.crm-calendar-quick-item--danger span {
    background: var(--crm-calendar-danger-soft);
    color: var(--crm-calendar-danger);
}

.crm-calendar-quick-item p {
    margin: 0;
    color: #334155;
    font-size: 0.86rem;
}

@container app-content (max-width: 1380px) {
    .crm-calendar-filters {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .crm-calendar-view-switch,
    .crm-calendar-today-btn,
    .crm-calendar-filter-submit {
        justify-self: start;
    }

    .crm-calendar-week-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@container app-content (max-width: 1040px) {
    .crm-calendar-stat-grid,
    .crm-calendar-content-grid {
        grid-template-columns: 1fr;
    }

    .crm-calendar-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container app-content (max-width: 720px) {
    .crm-calendar-header,
    .crm-calendar-section-head {
        flex-direction: column;
        align-items: stretch;
    }

    .crm-calendar-filters,
    .crm-calendar-week-grid {
        grid-template-columns: 1fr;
    }

    .crm-calendar-view-switch {
        width: 100%;
    }

    .crm-calendar-view-switch .btn {
        flex: 1 1 0;
        min-width: 0;
    }

    .crm-calendar-timeline-item,
    .crm-calendar-timeline-item__body,
    .crm-calendar-quick-item {
        grid-template-columns: 1fr;
    }

    .crm-calendar-timeline-item__dot {
        display: none;
    }

    .crm-calendar-status,
    .crm-calendar-assignee,
    .crm-calendar-actions {
        justify-self: start;
    }
}

.crm-task-page {
    --crm-task-green: #087342;
    --crm-task-green-soft: #e8f5ee;
    --crm-task-blue: #2563eb;
    --crm-task-blue-soft: #edf4ff;
    --crm-task-warning: #d97706;
    --crm-task-warning-soft: #fff7e6;
    --crm-task-danger: #dc2626;
    --crm-task-danger-soft: #fff1f2;
    --crm-task-border: rgba(15, 23, 42, 0.1);
}

.crm-task-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.crm-task-header h1 {
    margin: 0;
    color: #0f172a;
    font-size: 1.65rem;
    font-weight: 800;
}

.crm-task-header p {
    margin: 0.25rem 0 0;
    color: #64748b;
}

.crm-task-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.crm-task-stat {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    min-width: 0;
    border: 1px solid var(--crm-task-border);
    border-radius: 0.8rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    padding: 1rem;
}

.crm-task-stat__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-task-stat--danger .crm-task-stat__icon {
    background: var(--crm-task-danger-soft);
    color: var(--crm-task-danger);
}

.crm-task-stat--primary .crm-task-stat__icon {
    background: var(--crm-task-blue-soft);
    color: var(--crm-task-blue);
}

.crm-task-stat--purple .crm-task-stat__icon {
    background: #f3e8ff;
    color: #7e22ce;
}

.crm-task-stat--warning .crm-task-stat__icon {
    background: var(--crm-task-warning-soft);
    color: var(--crm-task-warning);
}

.crm-task-stat--success .crm-task-stat__icon {
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-task-stat span:not(.crm-task-stat__icon) {
    color: #475569;
    font-size: 0.86rem;
    font-weight: 700;
}

.crm-task-stat strong {
    grid-column: 2;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1;
}

.crm-task-stat em {
    grid-column: 2;
    color: #64748b;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 700;
}

.crm-task-panel {
    min-width: 0;
    border: 1px solid var(--crm-task-border);
    border-radius: 0.8rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    padding: 1.05rem;
}

.crm-task-filters {
    display: grid;
    grid-template-columns: minmax(14rem, 1.35fr) repeat(3, minmax(11rem, 1fr)) auto;
    gap: 0.85rem;
    align-items: end;
}

.crm-task-search,
.crm-task-filter,
.crm-task-sort label,
.crm-task-create-form label {
    display: grid;
    min-width: 0;
    margin: 0;
}

.crm-task-search {
    position: relative;
}

.crm-task-search i {
    position: absolute;
    left: 1rem;
    top: 50%;
    color: #64748b;
    transform: translateY(-50%);
}

.crm-task-search input {
    width: 100%;
    min-height: 2.75rem;
    border: 1px solid #d9e2dc;
    border-radius: 0.55rem;
    padding: 0.6rem 0.9rem 0.6rem 2.6rem;
}

.crm-task-filter span,
.crm-task-sort span,
.crm-task-create-form label > span {
    margin-bottom: 0.25rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.crm-task-filter .form-select,
.crm-task-sort .form-select,
.crm-task-create-form .form-control,
.crm-task-create-form .form-select {
    min-height: 2.75rem;
}

.crm-task-layout {
    display: grid;
    grid-template-columns: minmax(18rem, 28rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.crm-task-section-head,
.crm-task-board-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.crm-task-section-head {
    justify-content: flex-start;
}

.crm-task-section-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 800;
}

.crm-task-section-head p {
    margin: 0.2rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
}

.crm-task-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.65rem;
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-task-create-form {
    display: grid;
    gap: 0.95rem;
    margin-top: 1.1rem;
}

.crm-task-create-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.8rem;
}

.crm-task-board {
    overflow: visible;
}

.crm-task-sort {
    flex: 0 0 16rem;
}

.crm-task-table-scroll {
    max-width: 100%;
    margin-top: 1rem;
    overflow-x: auto;
}

.crm-task-table-scroll:has(.crm-task-actions[open]) {
    overflow: visible;
}

.crm-task-table {
    width: 100%;
    min-width: 54rem;
    border: 1px solid #dfe7e2;
    border-radius: 0.65rem;
    border-collapse: separate;
    border-spacing: 0;
    overflow: visible;
}

.crm-task-table tr:has(.crm-task-actions[open]) {
    position: relative;
    z-index: 30;
}

.crm-task-table th,
.crm-task-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e5ece8;
    vertical-align: middle;
}

.crm-task-table th {
    background: #f7faf8;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: none;
    white-space: nowrap;
}

.crm-task-table tr:last-child td {
    border-bottom: 0;
}

.crm-task-title-cell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    min-width: 0;
}

.crm-task-title-cell strong,
.crm-task-title-cell span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-task-title-cell strong {
    color: #0f172a;
    font-weight: 800;
}

.crm-task-title-cell span {
    color: #64748b;
    font-size: 0.84rem;
}

.crm-task-row-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: #eef2f6;
    color: #475569;
}

.crm-task-row-icon--danger {
    background: var(--crm-task-danger-soft);
    color: var(--crm-task-danger);
}

.crm-task-row-icon--warning {
    background: var(--crm-task-warning-soft);
    color: var(--crm-task-warning);
}

.crm-task-row-icon--success {
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-task-assignee {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 0.55rem;
    color: #334155;
    font-weight: 700;
}

.crm-task-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    background: #eef2f6;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 800;
}

.crm-task-due strong,
.crm-task-due span {
    display: block;
    white-space: nowrap;
}

.crm-task-due strong {
    color: #0f172a;
    font-size: 0.9rem;
}

.crm-task-due span {
    color: #64748b;
    font-size: 0.8rem;
}

.crm-task-due--danger strong,
.crm-task-due--danger span {
    color: var(--crm-task-danger);
}

.crm-task-due--warning strong,
.crm-task-due--warning span {
    color: var(--crm-task-warning);
}

.crm-task-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    padding: 0.35rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.crm-task-badge--priority-urgent,
.crm-task-badge--priority-high {
    background: var(--crm-task-danger-soft);
    color: var(--crm-task-danger);
}

.crm-task-badge--priority-normal {
    background: var(--crm-task-warning-soft);
    color: var(--crm-task-warning);
}

.crm-task-badge--priority-low,
.crm-task-badge--status-completed {
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-task-badge--status-open,
.crm-task-badge--status-in_progress,
.crm-task-badge--status-primary {
    background: var(--crm-task-blue-soft);
    color: var(--crm-task-blue);
}

.crm-task-badge--status-success {
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-task-badge--status-cancelled,
.crm-task-badge--status-danger {
    background: var(--crm-task-danger-soft);
    color: var(--crm-task-danger);
}

.crm-task-badge--status-neutral {
    background: #eef2f6;
    color: #475569;
}

.crm-task-actions {
    position: relative;
    display: inline-block;
}

.crm-task-actions[open] {
    z-index: 40;
}

.crm-task-actions summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--crm-task-border);
    border-radius: 0.5rem;
    color: #475569;
    list-style: none;
    cursor: pointer;
}

.crm-task-actions summary::-webkit-details-marker {
    display: none;
}

.crm-task-actions div {
    position: absolute;
    z-index: 50;
    right: 0;
    top: calc(100% + 0.35rem);
    display: grid;
    width: 10rem;
    gap: 0.45rem;
    border: 1px solid var(--crm-task-border);
    border-radius: 0.55rem;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
    padding: 0.6rem;
}

.crm-task-actions--floating div {
    position: fixed;
    z-index: 1040;
    right: auto;
    top: var(--crm-task-action-menu-top, calc(100% + 0.35rem));
    left: var(--crm-task-action-menu-left, auto);
    max-width: calc(100vw - 1rem);
}

.crm-task-board-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.95rem;
    color: #64748b;
    font-size: 0.86rem;
}

.crm-task-board-footer a {
    color: var(--crm-task-green);
    font-weight: 800;
    text-decoration: none;
}

.crm-task-empty {
    color: #64748b;
}

@container app-content (max-width: 1280px) {
    .crm-task-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-task-filters .btn {
        justify-self: start;
    }

    .crm-task-layout {
        grid-template-columns: 1fr;
    }
}

@container app-content (max-width: 860px) {
    .crm-task-stat-grid,
    .crm-task-filters,
    .crm-task-create-grid {
        grid-template-columns: 1fr;
    }

    .crm-task-board-head,
    .crm-task-board-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .crm-task-sort {
        flex-basis: auto;
    }
}

.crm-employees-page .crm-task-header .btn {
    white-space: nowrap;
}

.crm-employees-filters {
    display: grid;
    grid-template-columns: minmax(16rem, 1.35fr) repeat(3, minmax(12rem, 1fr)) minmax(8rem, auto);
    gap: 0.85rem;
    align-items: end;
}

.crm-employees-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 26rem);
    gap: 1rem;
    align-items: start;
}

.crm-employees-board,
.crm-employees-side {
    min-width: 0;
}

.crm-employees-table {
    min-width: 70rem;
}

.crm-employees-contact {
    display: grid;
    gap: 0.3rem;
    color: #475569;
    font-size: 0.86rem;
}

.crm-employees-contact span {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 0.45rem;
    overflow-wrap: anywhere;
}

.crm-employees-contact i {
    width: 1rem;
    color: #64748b;
}

.crm-employees-tags,
.crm-employees-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.crm-employee-tag {
    display: inline-flex;
    align-items: center;
    border-radius: 0.45rem;
    padding: 0.28rem 0.55rem;
    background: #eef2f6;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.crm-employee-tag--proshop {
    background: var(--crm-task-blue-soft);
    color: var(--crm-task-blue);
}

.crm-employee-tag--tournament {
    background: #f3e8ff;
    color: #6d28d9;
}

.crm-employee-tag--operations,
.crm-employee-tag--administration {
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-employee-tag--kitchen,
.crm-employee-tag--marketing {
    background: var(--crm-task-warning-soft);
    color: var(--crm-task-warning);
}

.crm-employees-status-dot {
    width: 0.44rem;
    height: 0.44rem;
    border-radius: 999px;
    background: currentColor;
    margin-right: 0.4rem;
}

.crm-employees-actions {
    justify-content: flex-end;
}

.crm-employees-actions form {
    margin: 0;
}

.crm-employees-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
}

.crm-employees-side {
    display: grid;
    gap: 1rem;
}

.crm-employees-side h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
}

.crm-employees-side-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    border-bottom: 1px solid #e5ece8;
    padding-bottom: 1rem;
}

.crm-employees-side-row strong,
.crm-employees-side-row p {
    display: block;
    margin: 0;
}

.crm-employees-side-row strong {
    color: var(--crm-task-green);
    font-size: 1.45rem;
    line-height: 1;
}

.crm-employees-side-row p {
    color: #64748b;
    font-size: 0.88rem;
}

@container app-content (max-width: 1180px) {
    .crm-employees-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-employees-layout {
        grid-template-columns: 1fr;
    }
}

@container app-content (max-width: 700px) {
    .crm-employees-filters {
        grid-template-columns: 1fr;
    }

    .crm-employees-page .crm-task-header {
        flex-direction: column;
    }

    .crm-employees-filters {
        display: grid;
    }

    .crm-employees-filters .btn,
    .crm-employees-page .crm-task-header .btn {
        width: 100%;
    }
}

.crm-settings-shell {
    display: grid;
    gap: 1rem;
}

.crm-settings-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    border-bottom: 1px solid #e5ece8;
}

.crm-settings-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    border-bottom: 3px solid transparent;
    color: #334155;
    font-weight: 800;
    padding: 0.65rem 1.15rem;
    text-decoration: none;
}

.crm-settings-tab:hover,
.crm-settings-tab--active {
    border-color: var(--crm-task-green);
    color: #0f172a;
}

.crm-settings-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 27rem);
    gap: 1rem;
    align-items: start;
}

.crm-settings-board,
.crm-settings-details {
    min-width: 0;
}

.crm-settings-section-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 1rem;
}

.crm-settings-section-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 2.6rem;
    border: 1px solid #d9e2dc;
    border-radius: 0.5rem;
    background: #ffffff;
    color: #334155;
    font-weight: 800;
    padding: 0.55rem 0.85rem;
    text-decoration: none;
}

.crm-settings-section-tab b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    min-height: 1.25rem;
    border-radius: 999px;
    background: #eef2f6;
    color: #64748b;
    font-size: 0.75rem;
}

.crm-settings-section-tab:hover,
.crm-settings-section-tab--active {
    border-color: rgba(8, 115, 66, 0.45);
    background: #f1faf5;
    color: var(--crm-task-green);
}

.crm-settings-section-tab--active b {
    background: var(--crm-task-green);
    color: #ffffff;
}

.crm-settings-table {
    min-width: 64rem;
}

.crm-settings-section-table {
    min-width: 88rem;
}

.crm-settings-inline-input,
.crm-settings-sort-input {
    min-height: 2.15rem;
    border-color: transparent;
    background: transparent;
    padding-left: 0;
}

.crm-settings-inline-input:focus,
.crm-settings-sort-input:focus {
    border-color: #bad9ca;
    background: #ffffff;
    padding-left: 0.75rem;
}

.crm-settings-sort-input {
    max-width: 6rem;
    text-align: center;
}

.crm-settings-switch {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.crm-settings-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.crm-settings-switch span {
    position: relative;
    display: inline-flex;
    width: 2.15rem;
    height: 1.1rem;
    border-radius: 999px;
    background: #cbd5e1;
    transition: background 0.18s ease;
}

.crm-settings-switch span::after {
    content: "";
    position: absolute;
    top: 0.15rem;
    left: 0.18rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
    transition: transform 0.18s ease;
}

.crm-settings-switch input:checked + span {
    background: var(--crm-task-green);
}

.crm-settings-switch input:checked + span::after {
    transform: translateX(0.95rem);
}

.crm-settings-actions {
    display: inline-flex;
    justify-content: flex-end;
    gap: 0.45rem;
}

.crm-settings-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
}

.crm-settings-new {
    margin-top: 1rem;
    border: 1px dashed #bad9ca;
    border-radius: 0.65rem;
    background: #f8fcfa;
}

.crm-settings-new summary {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    color: var(--crm-task-green);
    cursor: pointer;
    font-weight: 800;
    padding: 0.85rem 1rem;
}

.crm-settings-new-grid {
    display: grid;
    gap: 0.85rem;
    padding: 0 1rem 1rem;
}

.crm-settings-new-row {
    display: grid;
    grid-template-columns: minmax(6rem, 0.45fr) repeat(2, minmax(12rem, 1fr));
    gap: 0.75rem;
}

.crm-settings-new-row label {
    display: grid;
    gap: 0.25rem;
    margin: 0;
}

.crm-settings-new-row span {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.crm-settings-details {
    display: grid;
    gap: 1rem;
}

.crm-settings-details h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
}

.crm-settings-details dl {
    display: grid;
    gap: 0.6rem;
    margin: 0;
}

.crm-settings-details dt {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
}

.crm-settings-details dd {
    margin: -0.4rem 0 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.crm-settings-detail-card,
.crm-settings-tip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    border: 1px solid #e5ece8;
    border-radius: 0.65rem;
    background: #ffffff;
    padding: 0.85rem;
}

.crm-settings-detail-card strong,
.crm-settings-detail-card p,
.crm-settings-tip p {
    display: block;
    margin: 0;
}

.crm-settings-detail-card strong {
    color: #64748b;
    font-size: 0.78rem;
}

.crm-settings-detail-card p,
.crm-settings-tip p {
    color: #334155;
    font-size: 0.88rem;
}

.crm-settings-tip {
    border-color: #cfe7da;
    background: #eefaf3;
}

.crm-settings-readonly-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.crm-settings-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

@container app-content (max-width: 1180px) {
    .crm-settings-main-grid,
    .crm-settings-readonly-grid {
        grid-template-columns: 1fr;
    }
}

@container app-content (max-width: 760px) {
    .crm-settings-tabs,
    .crm-settings-section-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.35rem;
    }

    .crm-settings-tab,
    .crm-settings-section-tab {
        white-space: nowrap;
    }

    .crm-settings-new-row {
        grid-template-columns: 1fr;
    }
}

.crm-activity-page .crm-task-header .btn {
    white-space: nowrap;
}

.crm-activity-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(12rem, 1fr)) auto;
    gap: 0.85rem;
    align-items: end;
}

.crm-activity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.crm-activity-board {
    min-width: 0;
}

.crm-activity-table {
    min-width: 46rem;
}

.crm-task-row-icon--primary {
    background: var(--crm-task-blue-soft);
    color: var(--crm-task-blue);
}

.crm-task-row-icon--neutral {
    background: #eef2f6;
    color: #475569;
}

.crm-stats-page {
    --crm-stats-line: #0f8a4c;
    --crm-stats-line-muted: #94a3b8;
}

.crm-stats-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.crm-stats-month-form,
.crm-stats-toolbar__actions {
    display: flex;
    align-items: end;
    gap: 0.75rem;
}

.crm-stats-month-form {
    min-width: 18rem;
}

.crm-stats-main-grid,
.crm-stats-table-grid {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.crm-stats-main-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(20rem, 0.95fr);
    margin-bottom: 1rem;
}

.crm-stats-table-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.9fr);
}

.crm-stats-chart-panel {
    min-width: 0;
}

.crm-stats-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 1rem 0 0.75rem;
    color: #475569;
    font-size: 0.86rem;
    font-weight: 700;
}

.crm-stats-dot {
    display: inline-block;
    width: 0.8rem;
    height: 0.18rem;
    margin-right: 0.45rem;
    vertical-align: middle;
}

.crm-stats-dot--current {
    background: var(--crm-stats-line);
}

.crm-stats-dot--previous {
    border-top: 2px dashed var(--crm-stats-line-muted);
}

.crm-stats-chart {
    min-height: 18rem;
}

.crm-stats-chart svg {
    width: 100%;
    min-height: 16rem;
    overflow: visible;
}

.crm-stats-chart line {
    stroke: #e2e8f0;
    stroke-width: 0.35;
}

.crm-stats-chart polyline {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.1;
}

.crm-stats-chart__current {
    stroke: var(--crm-stats-line);
}

.crm-stats-chart__previous {
    stroke: var(--crm-stats-line-muted);
    stroke-dasharray: 2 2;
}

.crm-stats-chart-axis {
    display: flex;
    justify-content: space-between;
    color: #64748b;
    font-size: 0.82rem;
}

.crm-stats-insights {
    display: grid;
    gap: 0.7rem;
}

.crm-stats-insight {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 0.6rem;
    color: #0f172a;
    padding: 0.75rem;
    text-decoration: none;
}

.crm-stats-insight strong,
.crm-stats-insight p {
    display: block;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-stats-insight p {
    color: #64748b;
    font-size: 0.84rem;
}

.crm-stats-operations {
    margin-bottom: 1rem;
}

.crm-stats-operations h2 {
    margin: 0 0 0.9rem;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
}

.crm-stats-operations-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.crm-stats-operations-grid > div {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    border-right: 1px solid #e2e8f0;
}

.crm-stats-operations-grid > div:last-child {
    border-right: 0;
}

.crm-stats-operations-grid strong,
.crm-stats-operations-grid span {
    display: block;
}

.crm-stats-operations-grid strong {
    color: #0f172a;
    font-size: 1.15rem;
}

.crm-stats-operations-grid div div span {
    color: #64748b;
    font-size: 0.84rem;
}

.crm-stats-table {
    min-width: 42rem;
}

@container app-content (max-width: 1280px) {
    .crm-stats-main-grid,
    .crm-stats-table-grid,
    .crm-stats-operations-grid {
        grid-template-columns: 1fr;
    }

    .crm-stats-operations-grid > div {
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
        padding-bottom: 0.8rem;
    }

    .crm-stats-operations-grid > div:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }
}

@container app-content (max-width: 860px) {
    .crm-stats-toolbar,
    .crm-stats-month-form,
    .crm-stats-toolbar__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .crm-stats-month-form {
        min-width: 0;
    }
}

.crm-activity-followup {
    margin-top: 1rem;
}

.crm-activity-followup__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: end;
    margin-top: 1rem;
}

.crm-activity-followup__list {
    display: grid;
    max-width: 42rem;
    border: 1px solid #dfe7e2;
    border-radius: 0.65rem;
    overflow: hidden;
}

.crm-activity-followup__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    padding: 0.8rem 1rem;
    color: #0f172a;
    text-decoration: none;
}

.crm-activity-followup__item + .crm-activity-followup__item {
    border-top: 1px solid #e5ece8;
}

.crm-activity-followup__item strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-activity-followup__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.8rem;
}

.crm-activity-followup__actions .btn {
    min-width: 13rem;
}

@container app-content (max-width: 1280px) {
    .crm-activity-grid,
    .crm-activity-followup__body {
        grid-template-columns: 1fr;
    }

    .crm-activity-followup__actions {
        justify-content: flex-start;
    }
}

@container app-content (max-width: 860px) {
    .crm-activity-page .crm-task-header,
    .crm-activity-filters {
        grid-template-columns: 1fr;
    }

    .crm-activity-page .crm-task-header {
        flex-direction: column;
        align-items: stretch;
    }

    .crm-activity-page .crm-task-header .btn,
    .crm-activity-followup__actions .btn {
        width: 100%;
    }
}

.crm-checklist-ring {
    background:
        radial-gradient(circle at center, #ffffff 54%, transparent 56%),
        conic-gradient(var(--crm-task-green) var(--progress), #dfe7e2 0);
}

.crm-checklist-filters {
    display: grid;
    grid-template-columns: minmax(12rem, 0.9fr) minmax(18rem, 1.1fr) minmax(10rem, 1fr);
    gap: 0.85rem;
    align-items: end;
}

.crm-checklist-section-tabs {
    display: flex;
    max-width: 100%;
    overflow-x: auto;
    gap: 0.25rem;
    margin-bottom: 0.2rem;
}

.crm-checklist-section-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 13rem;
    gap: 0.75rem;
    border: 1px solid var(--crm-task-border);
    border-bottom-color: #dfe7e2;
    border-radius: 0.7rem 0.7rem 0 0;
    background: #ffffff;
    color: #334155;
    padding: 0.85rem 1rem;
    text-decoration: none;
    white-space: nowrap;
}

.crm-checklist-section-tab--active {
    border-color: rgba(8, 115, 66, 0.45);
    background: #f1faf5;
    color: var(--crm-task-green);
    box-shadow: inset 0 -2px 0 var(--crm-task-green);
}

.crm-checklist-section-tab b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--crm-task-green);
    color: #ffffff;
    padding: 0.2rem 0.55rem;
    font-size: 0.75rem;
}

.crm-checklist-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 34rem);
    gap: 1rem;
    align-items: start;
}

.crm-checklist-board {
    border-top-left-radius: 0;
}

.crm-checklist-shift-note {
    margin-top: 0.3rem !important;
}

.crm-checklist-table {
    min-width: 54rem;
}

.crm-checklist-check {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    margin: 0;
    cursor: pointer;
}

.crm-checklist-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.crm-checklist-check span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.25rem;
    color: transparent;
    background: #ffffff;
}

.crm-checklist-check input:checked + span {
    border-color: var(--crm-task-green);
    background: var(--crm-task-green);
    color: #ffffff;
}

.crm-checklist-check strong {
    min-width: 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.crm-checklist-comment-form {
    min-width: 12rem;
}

.crm-checklist-followup {
    display: grid;
    gap: 1rem;
}

.crm-checklist-alert {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    border-radius: 0.55rem;
    padding: 0.9rem 1rem;
    text-decoration: none;
}

.crm-checklist-alert span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
}

.crm-checklist-alert--danger {
    background: var(--crm-task-danger-soft);
    color: var(--crm-task-danger);
}

.crm-checklist-alert--success {
    background: var(--crm-task-green-soft);
    color: var(--crm-task-green);
}

.crm-checklist-progress-card {
    display: grid;
    gap: 0.65rem;
}

.crm-checklist-progress-card > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: #475569;
}

.crm-checklist-progress-card strong {
    color: var(--crm-task-green);
}

.crm-checklist-assignees {
    display: grid;
    gap: 0.55rem;
}

.crm-checklist-assignees h3 {
    margin: 0 0 0.2rem;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 800;
}

.crm-checklist-assignees p {
    margin: 0;
    color: #64748b;
}

.crm-checklist-assignee-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: center;
    color: #334155;
}

.crm-checklist-assignee-row strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-checklist-assignee-row > span:last-child {
    color: #64748b;
    font-size: 0.86rem;
}

@container app-content (max-width: 1280px) {
    .crm-checklist-layout,
    .crm-checklist-filters {
        grid-template-columns: 1fr;
    }
}

@container app-content (max-width: 860px) {
    .crm-checklist-section-tab {
        min-width: 11rem;
    }

    .crm-checklist-progress-card > div:first-child,
    .crm-checklist-assignee-row {
        align-items: flex-start;
    }
}

.marshal-calendar-help {
    padding: 0.9rem 1rem;
    border: 1px solid #d8e6da;
    border-radius: 14px;
    background: #f6fbf6;
}

.marshal-calendar-help__title {
    font-size: 1rem;
    font-weight: 700;
    color: #23412b;
    margin-bottom: 0.2rem;
}

.marshal-calendar-help__text {
    font-size: 0.98rem;
    line-height: 1.5;
    color: #4b6352;
}

.marshal-calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.25rem;
    padding: 0.15rem 0 0.35rem;
}

.marshal-calendar-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.92rem;
    color: #5b6773;
}

.marshal-calendar-legend__dot {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    display: inline-block;
}

.marshal-calendar-legend__dot--open {
    background: #2c7be5;
}

.marshal-calendar-legend__dot--mine {
    background: #23804b;
}

.marshal-calendar-legend__dot--full {
    background: #8b97a3;
}

.marshal-calendar-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.marshal-calendar-summary__pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
}

.marshal-calendar-summary__pill--open {
    background: #e8f1ff;
    color: #0b5ed7;
}

.marshal-calendar-summary__pill--busy {
    background: #fff4dd;
    color: #9a6700;
}

.marshal-calendar-summary__pill--done {
    background: #e8f6ec;
    color: #1f7a3d;
}

.marshal-calendar-summary__pill--cancelled {
    background: #fdeceb;
    color: #b42318;
}

.marshal-calendar-shifts {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.marshal-shift-card {
    width: 100%;
    padding: 0.75rem;
    border-radius: 10px;
    border: 1px solid #ccd8ff;
    background: #fff;
    text-align: left;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.marshal-shift-card--open {
    background: #ffffff;
    border-color: #0d6efd;
    box-shadow: 0 1px 0 rgba(13, 110, 253, 0.08);
}

.marshal-shift-card--open:hover,
.marshal-shift-card--mine:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 32, 54, 0.08);
}

.marshal-shift-card--mine {
    background: #eef9f1;
    border-color: #2c9a52;
}

.marshal-shift-card--neutral {
    background: #fafbfc;
    border-color: #d8dee6;
}

.marshal-shift-card__time {
    font-size: 1.05rem;
    font-weight: 700;
    color: #16324f;
    margin-bottom: 0.15rem;
}

.marshal-shift-card__status {
    font-size: 0.88rem;
    font-weight: 700;
    color: #315c8a;
    margin-bottom: 0.2rem;
}

.marshal-shift-card--mine .marshal-shift-card__status {
    color: #1f7a3d;
}

.marshal-shift-card--neutral .marshal-shift-card__status {
    color: #5d6875;
}

.marshal-shift-card__people {
    font-size: 0.95rem;
    color: #495866;
    line-height: 1.4;
}

.marshal-shift-card__action,
.marshal-shift-card .small.text-primary,
.marshal-shift-card .small.text-success {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.9rem;
    font-weight: 700;
}

.marshal-shift-card__action,
.marshal-shift-card .small.text-primary {
    color: #0d6efd;
}

.marshal-shift-card__action--leave {
    color: #1f7a3d;
}

.marshal-shift-card__action--mine,
.marshal-shift-card .small.text-success {
    color: #1f7a3d;
}

.marshal-calendar-more {
    font-size: 0.88rem;
    color: #5f6d79;
    padding: 0.2rem 0.1rem 0;
}

.marshal-forward-day {
    height: 100%;
    padding: 1rem;
    border: 1px solid #dbe7df;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(16, 24, 40, 0.05);
    cursor: pointer;
}

.marshal-forward-day--today {
    border-color: #8eb79a;
}

.marshal-forward-day.calendar-day-button--active,
.marshal-mini-calendar-day.calendar-day-button--active {
    box-shadow: inset 0 0 0 2px #1f7a3d;
    background: #f4faf6;
}

.marshal-forward-day__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
}

.marshal-forward-day__weekday {
    font-size: 1.05rem;
    font-weight: 700;
    color: #18324a;
    text-transform: lowercase;
}

.marshal-forward-day__date {
    font-size: 0.98rem;
    color: #5f6d79;
}

.marshal-forward-day__meta {
    font-size: 0.88rem;
    color: #5f6d79;
    margin-bottom: 0.75rem;
}

.marshal-forward-day__slots {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.marshal-forward-slot {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.7rem;
    border-radius: 999px;
    border: 1px solid #d9e5dd;
    background: #fff;
    color: #17324b;
    text-align: left;
}

.marshal-forward-slot--open {
    border-color: #bfd1ff;
    background: #f8fbff;
}

.marshal-forward-slot--mine {
    border-color: #b8ddc2;
    background: #f2faf4;
}

.marshal-forward-slot--neutral {
    background: #f8faf9;
    border-color: #dfe7e2;
}

.marshal-forward-slot__time {
    font-size: 0.88rem;
    font-weight: 700;
    white-space: nowrap;
}

.marshal-forward-slot__summary {
    flex: 1;
    font-size: 0.85rem;
    color: #4c5e52;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.marshal-mini-calendar-table th,
.marshal-mini-calendar-table td {
    min-width: 44px;
    width: 44px;
    padding: 0;
}

.marshal-mini-calendar-day {
    background: #fff;
    cursor: pointer;
}

.marshal-mini-calendar-day--outside {
    background: #f7f8f9;
    color: #98a2b3;
}

.marshal-mini-calendar-day__inner {
    min-height: 58px;
    padding: 0.35rem 0.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.marshal-mini-calendar-day__number {
    font-size: 0.84rem;
    font-weight: 700;
}

.marshal-mini-calendar-day__count {
    min-width: 18px;
    height: 18px;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: #1f7a3d;
    color: #fff;
    font-size: 0.72rem;
    line-height: 18px;
    text-align: center;
}

.marshal-modal .modal-content {
    border: 0;
    border-radius: 1.35rem;
    overflow: hidden;
    box-shadow: 0 28px 60px rgba(13, 40, 20, 0.22);
}

.marshal-modal__header {
    padding: 1.2rem 1.4rem 1rem;
    border-bottom: 1px solid rgba(28, 124, 52, 0.1);
    background: linear-gradient(180deg, #ffffff, #f6fbf8);
}

.marshal-modal__subtitle {
    color: #5c6d62;
    font-size: 0.95rem;
}

.marshal-modal__body {
    padding: 1.25rem 1.4rem 1.4rem;
    background: #fbfdfb;
}

.marshal-modal .form-label,
.marshal-modal .content-title,
.marshal-modal .content-subtitle {
    letter-spacing: 0;
}

.marshal-modal .form-label {
    font-size: 0.96rem;
    font-weight: 700;
    color: #20362a;
    margin-bottom: 0.45rem;
}

.marshal-modal .form-control,
.marshal-modal .form-select {
    min-height: 48px;
    border-radius: 0.85rem;
    border-color: #d4e4d9;
    font-size: 1rem;
}

.marshal-modal textarea.form-control {
    min-height: 120px;
}

.marshal-form__submit {
    min-width: 180px;
    min-height: 46px;
    border-radius: 0.9rem;
    font-weight: 700;
}

.card,
.table,
.table td,
.table th,
.dropdown-menu,
.form-control,
.form-select,
.nav-tabs .nav-link,
.alert,
.modal-content {
    color: var(--app-text);
}

.card,
.dropdown-menu,
.form-control,
.form-select,
.table-responsive,
.modal-content,
.list-group-item {
    background-color: var(--app-card-bg);
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .table-responsive,
:root[data-theme="dark"] .member-detail-table-wrapper,
:root[data-theme="dark"] .member-profile-card,
:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .nav-tabs .nav-link,
:root[data-theme="dark"] .alert,
:root[data-theme="dark"] .list-group-item,
:root[data-theme="dark"] .table td,
:root[data-theme="dark"] .table th {
    border-color: var(--app-surface-border);
}

:root[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
    --bs-table-hover-bg: rgba(60, 166, 91, 0.1);
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-surface-border);
}

:root[data-theme="dark"] .text-muted,
:root[data-theme="dark"] .small.text-muted,
:root[data-theme="dark"] .content-subtitle {
    color: var(--app-text-muted) !important;
}

:root[data-theme="dark"] .btn-outline-secondary {
    color: #d9e6dd;
    border-color: #55685b;
}

:root[data-theme="dark"] .btn-outline-secondary:hover {
    background: #26362d;
    color: #ffffff;
    border-color: #607568;
}

.crm-workspace {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 247, 0.96));
    border: 1px solid rgba(25, 135, 84, 0.12);
    border-radius: 1.25rem;
    box-shadow: 0 18px 40px rgba(15, 82, 34, 0.08);
    min-width: 0;
    padding: 1.4rem 1.5rem;
}

.crm-workspace__intro {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.crm-workspace__title {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
}

.crm-workspace__subtitle {
    margin: 0.35rem 0 0;
    color: #52616f;
    max-width: 52rem;
}

.crm-workspace__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
    gap: 0.9rem;
    width: min(100%, 720px);
}

.crm-workspace__metric {
    border: 1px solid rgba(25, 135, 84, 0.12);
    background: #ffffff;
    border-radius: 1rem;
    padding: 0.85rem 1rem;
    box-shadow: 0 14px 28px rgba(15, 82, 34, 0.06);
}

.crm-workspace__metric span {
    display: block;
    color: #5d6b79;
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
}

.crm-workspace__metric strong {
    font-size: 1.7rem;
    line-height: 1;
    color: #10361f;
}

.crm-form-card,
.crm-board-card {
    border-radius: 1.25rem;
    border: 1px solid rgba(25, 135, 84, 0.12);
    overflow: hidden;
}

.crm-panel-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.crm-form-actions {
    margin-top: 1.25rem;
    display: flex;
    justify-content: flex-start;
}

.crm-list-item--task,
.crm-list-item--activity {
    border-radius: 1rem;
    border: 1px solid rgba(25, 135, 84, 0.12);
    background: linear-gradient(180deg, #ffffff, #fbfefd);
    padding: 1rem 1rem 0.95rem;
    box-shadow: 0 14px 28px rgba(15, 82, 34, 0.05);
}

.crm-list-item__topline {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.crm-list-item__title {
    font-size: 1.06rem;
}

.crm-list-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.9rem;
    margin-top: 0.35rem;
    color: #61707e;
    font-size: 0.9rem;
}

.crm-list-item__description {
    margin-top: 0.8rem;
    color: #32414d;
}

.crm-badge-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
}

.crm-badge-chip--soft {
    background: #eef8f2;
    color: #116530;
}

.crm-badge-chip--open,
.crm-badge-chip--planned {
    background: #e8f5ee;
    color: #116530;
}

.crm-badge-chip--in_progress {
    background: #fff5db;
    color: #8c5c00;
}

.crm-badge-chip--completed {
    background: #e7f1ff;
    color: #0d5fcc;
}

.crm-badge-chip--cancelled {
    background: #fdecec;
    color: #b42318;
}

.crm-badge-chip--priority-low {
    background: #eef2f6;
    color: #52616f;
}

.crm-badge-chip--priority-normal {
    background: #e7f1ff;
    color: #0d5fcc;
}

.crm-badge-chip--priority-high {
    background: #fff3dc;
    color: #9a6700;
}

.crm-badge-chip--priority-urgent {
    background: #fdecec;
    color: #b42318;
}

.crm-note-box {
    margin-top: 0.8rem;
    border-radius: 0.9rem;
    background: #f6fbf8;
    border: 1px solid rgba(25, 135, 84, 0.1);
    padding: 0.8rem 0.9rem;
    color: #34424f;
}

.crm-note-box__label {
    display: inline-block;
    font-size: 0.76rem;
    font-weight: 700;
    color: #116530;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.crm-empty-state {
    border-radius: 1rem;
    padding: 1.3rem 1.4rem;
    background: linear-gradient(180deg, #ffffff, #f7fbf8);
    border: 1px dashed rgba(25, 135, 84, 0.24);
    color: #5c6a77;
}

.crm-empty-state h3 {
    margin: 0 0 0.35rem;
    font-size: 1.1rem;
    color: #123220;
}

.crm-staffing-tabs {
    gap: 0.5rem;
}

.crm-staffing-tabs .nav-link {
    border-radius: 999px;
    border: 1px solid rgba(25, 135, 84, 0.16);
    color: #116530;
    background: #ffffff;
    font-weight: 600;
    padding: 0.45rem 0.9rem;
}

.crm-staffing-tabs .nav-link.active {
    border-color: transparent;
}

.crm-ops-dashboard {
    --crm-ops-green: #087342;
    --crm-ops-green-soft: #e8f5ee;
    --crm-ops-danger: #d93025;
    --crm-ops-danger-soft: #fff0f0;
    --crm-ops-warning: #f59e0b;
    --crm-ops-warning-soft: #fff7e6;
    --crm-ops-info: #1d64d8;
    --crm-ops-info-soft: #eef5ff;
}

.crm-ops-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
    gap: 1.35rem;
    align-items: start;
}

.crm-ops-main,
.crm-ops-side {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1.35rem;
}

.crm-ops-panel,
.crm-ops-tip {
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.8rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.crm-ops-panel {
    padding: 1.1rem;
}

.crm-ops-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.crm-ops-section-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
}

.crm-ops-section-header span {
    color: #64748b;
    font-size: 0.83rem;
}

.crm-ops-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-ops-status-card,
.crm-ops-recommendation {
    display: flex;
    min-width: 0;
    gap: 0.8rem;
    align-items: flex-start;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.65rem;
    background: #ffffff;
    padding: 0.95rem;
}

.crm-ops-recommendation {
    background: linear-gradient(135deg, #f2faf6 0%, #ffffff 100%);
}

.crm-ops-status-card__icon,
.crm-ops-followup > span,
.crm-ops-tip > span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    background: var(--crm-ops-green-soft);
    color: var(--crm-ops-green);
}

.crm-ops-status-card__label {
    margin-bottom: 0.35rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.crm-ops-status-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.05;
}

.crm-ops-status-card p,
.crm-ops-recommendation p,
.crm-ops-followup p,
.crm-ops-tip p {
    margin: 0.35rem 0 0;
    color: #475569;
    font-size: 0.83rem;
}

.crm-ops-status-card__alert {
    display: inline-block;
    margin-left: 0.25rem;
    color: var(--crm-ops-danger);
    font-weight: 700;
}

.crm-ops-status-card--missing strong {
    color: var(--crm-ops-danger);
}

.crm-ops-status-card--missing .crm-ops-status-card__icon,
.crm-ops-followup--danger > span {
    background: var(--crm-ops-danger-soft);
    color: var(--crm-ops-danger);
}

.crm-ops-status-card--partial strong,
.crm-ops-status-card--warning strong {
    color: var(--crm-ops-warning);
}

.crm-ops-status-card--partial .crm-ops-status-card__icon,
.crm-ops-status-card--warning .crm-ops-status-card__icon,
.crm-ops-followup--warning > span {
    background: var(--crm-ops-warning-soft);
    color: var(--crm-ops-warning);
}

.crm-ops-followup--info > span {
    background: var(--crm-ops-info-soft);
    color: var(--crm-ops-info);
}

.crm-ops-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-ops-day-card {
    display: flex;
    min-height: 10.75rem;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.65rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.8rem;
    background: #ffffff;
    color: #0f172a;
    padding: 0.85rem;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.crm-ops-day-card:hover {
    border-color: rgba(8, 115, 66, 0.34);
    color: #0f172a;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.crm-ops-day-card--selected {
    border-color: rgba(8, 115, 66, 0.55);
    background: #f1faf5;
    box-shadow: inset 0 0 0 1px rgba(8, 115, 66, 0.18);
}

.crm-ops-day-card__top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.crm-ops-day-card__top strong,
.crm-ops-day-card__top span,
.crm-ops-day-card p {
    overflow-wrap: anywhere;
}

.crm-ops-day-card__top strong {
    display: block;
    font-size: 0.88rem;
}

.crm-ops-day-card__top span {
    color: #64748b;
    font-size: 0.78rem;
}

.crm-ops-day-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
}

.crm-ops-day-card--success .crm-ops-day-card__icon {
    background: var(--crm-ops-green-soft);
    color: var(--crm-ops-green);
}

.crm-ops-day-card--warning .crm-ops-day-card__icon {
    background: var(--crm-ops-warning-soft);
    color: var(--crm-ops-warning);
}

.crm-ops-day-card p {
    margin: 0;
    color: #475569;
    font-size: 0.84rem;
    font-weight: 700;
}

.crm-ops-today-badge {
    align-self: flex-start;
    border: 1px solid rgba(8, 115, 66, 0.35);
    border-radius: 999px;
    background: #e8f5ee;
    color: #087342 !important;
    padding: 0.18rem 0.45rem;
    font-size: 0.72rem !important;
    font-weight: 800;
}

.crm-ops-staffing-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.crm-ops-staffing-table {
    min-width: 44rem;
}

.crm-ops-staffing-table th {
    color: #475569;
    font-size: 0.78rem;
    text-transform: uppercase;
}

.crm-ops-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.28rem 0.58rem;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.crm-ops-status-pill--staffed {
    background: var(--crm-ops-green-soft);
    color: var(--crm-ops-green);
}

.crm-ops-status-pill--partial {
    background: var(--crm-ops-warning-soft);
    color: #a16207;
}

.crm-ops-status-pill--missing {
    background: var(--crm-ops-danger-soft);
    color: var(--crm-ops-danger);
}

.crm-ops-followup-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.crm-ops-followup {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.7rem;
    background: #ffffff;
    padding: 0.85rem;
}

.crm-ops-followup strong,
.crm-ops-tip strong {
    display: block;
    color: #0f172a;
    font-size: 0.92rem;
}

.crm-ops-followup--danger {
    background: linear-gradient(135deg, var(--crm-ops-danger-soft), #ffffff);
    border-color: rgba(217, 48, 37, 0.18);
}

.crm-ops-followup--warning {
    background: linear-gradient(135deg, var(--crm-ops-warning-soft), #ffffff);
    border-color: rgba(245, 158, 11, 0.22);
}

.crm-ops-followup--info {
    background: linear-gradient(135deg, var(--crm-ops-info-soft), #ffffff);
    border-color: rgba(29, 100, 216, 0.18);
}

.crm-ops-followup-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.6rem;
    padding: 0.8rem 0.9rem;
    color: var(--crm-ops-green);
    font-weight: 800;
    text-decoration: none;
}

.crm-ops-tip {
    display: flex;
    gap: 0.8rem;
    padding: 1rem;
    background: linear-gradient(135deg, #eef8f3 0%, #ffffff 100%);
}

.crm-proshop-planner {
    --crm-proshop-green: #087342;
    --crm-proshop-green-soft: #e8f5ee;
    --crm-proshop-warning: #f59e0b;
    --crm-proshop-warning-soft: #fff7e6;
    --crm-proshop-danger: #d93025;
    --crm-proshop-danger-soft: #fff0f0;
}

.crm-proshop-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.crm-proshop-kpi,
.crm-proshop-panel {
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.8rem;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.crm-proshop-kpi {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
}

.crm-proshop-kpi__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 999px;
    background: var(--crm-proshop-green-soft);
    color: var(--crm-proshop-green);
}

.crm-proshop-kpi--warning .crm-proshop-kpi__icon {
    background: var(--crm-proshop-warning-soft);
    color: var(--crm-proshop-warning);
}

.crm-proshop-kpi--danger .crm-proshop-kpi__icon {
    background: var(--crm-proshop-danger-soft);
    color: var(--crm-proshop-danger);
}

.crm-proshop-kpi__label {
    color: #475569;
    font-size: 0.83rem;
    font-weight: 700;
}

.crm-proshop-kpi strong {
    display: block;
    color: #0f172a;
    font-size: 1.3rem;
    line-height: 1.1;
}

.crm-proshop-kpi--warning strong {
    color: var(--crm-proshop-warning);
}

.crm-proshop-kpi--danger strong {
    color: var(--crm-proshop-danger);
}

.crm-proshop-progress {
    width: min(11rem, 100%);
    height: 0.28rem;
    margin-top: 0.55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.crm-proshop-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--crm-proshop-green);
}

.crm-proshop-panel {
    padding: 1rem;
}

.crm-proshop-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.crm-proshop-panel__header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
}

.crm-proshop-panel__header h1 {
    margin: 0;
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
}

.crm-proshop-panel__header p {
    margin: 0.2rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
}

.crm-proshop-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-proshop-day {
    display: flex;
    min-height: 11rem;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.7rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.8rem;
    padding: 0.85rem;
    color: #0f172a;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.crm-proshop-day:hover {
    border-color: rgba(8, 115, 66, 0.34);
    color: #0f172a;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.crm-proshop-day--selected {
    border-color: rgba(8, 115, 66, 0.55);
    background: #f1faf5;
}

.crm-proshop-day__top {
    display: flex;
    justify-content: space-between;
    gap: 0.45rem;
}

.crm-proshop-day__top strong {
    display: block;
    font-size: 0.9rem;
}

.crm-proshop-day__top span,
.crm-proshop-day__status {
    color: #64748b;
    font-size: 0.8rem;
}

.crm-proshop-day__today {
    align-self: flex-start;
    border: 1px solid rgba(8, 115, 66, 0.35);
    border-radius: 999px;
    background: var(--crm-proshop-green-soft);
    color: var(--crm-proshop-green) !important;
    padding: 0.14rem 0.45rem;
    font-weight: 800;
}

.crm-proshop-day__status {
    color: #334155;
    font-weight: 800;
}

.crm-proshop-day__blocks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.crm-proshop-block,
.crm-proshop-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.25rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 800;
}

.crm-proshop-block--success,
.crm-proshop-status--success {
    background: var(--crm-proshop-green-soft);
    color: var(--crm-proshop-green);
}

.crm-proshop-block--warning,
.crm-proshop-status--warning {
    background: var(--crm-proshop-warning-soft);
    color: #a16207;
}

.crm-proshop-block--danger,
.crm-proshop-status--danger {
    background: var(--crm-proshop-danger-soft);
    color: var(--crm-proshop-danger);
}

.crm-proshop-day__action {
    color: var(--crm-proshop-green);
    font-size: 0.86rem;
    font-weight: 800;
}

.crm-proshop-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
    gap: 1rem;
    align-items: stretch;
}

.crm-proshop-main,
.crm-proshop-side {
    min-width: 0;
}

.crm-proshop-staffing-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.crm-proshop-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.65rem;
}

.crm-proshop-staffing-table {
    min-width: 42rem;
}

.crm-proshop-staffing-table th,
.crm-proshop-planner-table th,
.crm-proshop-list-table th {
    color: #475569;
    font-size: 0.78rem;
    text-transform: uppercase;
}

.crm-proshop-planner-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
}

.crm-proshop-date-control {
    margin: 0;
}

.crm-proshop-date-control .form-control {
    width: 12rem;
}

.crm-proshop-selected-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.crm-proshop-selected-dates .badge {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    border-radius: 0.45rem;
    color: #0f172a;
}

.crm-proshop-planner-table,
.crm-proshop-list-table {
    min-width: 74rem;
    margin-bottom: 0;
}

.crm-proshop-create-table {
    min-width: 88rem;
}

.crm-proshop-planner-table > :not(caption) > * > *,
.crm-proshop-list-table > :not(caption) > * > * {
    padding: 0.75rem 0.9rem;
    vertical-align: middle;
}

.crm-proshop-planner-table thead th,
.crm-proshop-list-table thead th {
    background: #f8fafc;
    white-space: nowrap;
}

.crm-proshop-planner-table tbody tr + tr,
.crm-proshop-list-table tbody tr + tr {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.crm-proshop-check-cell {
    width: 3.2rem;
    min-width: 3.2rem;
    text-align: center;
}

.crm-proshop-control {
    min-width: 7.5rem;
}

.crm-proshop-date-label {
    display: inline-flex;
    align-items: center;
    min-width: 6.2rem;
    color: #334155;
    font-weight: 700;
    white-space: nowrap;
}

.crm-proshop-select-chip,
.crm-proshop-assignee {
    display: flex;
    min-width: 12rem;
    align-items: center;
    gap: 0.55rem;
}

.crm-proshop-select-chip .form-select {
    min-width: 10rem;
}

.crm-proshop-avatar {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: #dff3e9;
    color: var(--crm-proshop-green);
    font-size: 0.75rem;
    font-weight: 800;
}

.crm-proshop-status-select {
    min-width: 7rem;
    border-color: rgba(8, 115, 66, 0.18);
    background-color: #ecf8f1;
    color: var(--crm-proshop-green);
    font-weight: 700;
}

.crm-proshop-inline-details {
    position: relative;
    width: max-content;
    max-width: 100%;
}

.crm-proshop-inline-details > summary {
    list-style: none;
    cursor: pointer;
}

.crm-proshop-inline-details > summary::-webkit-details-marker {
    display: none;
}

.crm-proshop-inline-details__panel {
    position: absolute;
    z-index: 30;
    display: grid;
    width: min(18rem, 82vw);
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.15);
}

.crm-proshop-details-menu .crm-proshop-inline-details__panel {
    right: 0;
}

.crm-proshop-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.45rem;
    background: #ffffff;
    color: #334155;
    text-decoration: none;
    transition: border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.crm-proshop-icon-btn:hover,
.crm-proshop-icon-btn:focus {
    border-color: rgba(8, 115, 66, 0.35);
    color: var(--crm-proshop-green);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.crm-proshop-row-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.crm-proshop-missing-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: #334155;
    font-size: 0.9rem;
}

.crm-proshop-missing-row + .crm-proshop-missing-row {
    margin-top: 0.65rem;
}

.crm-proshop-missing-row i {
    color: var(--crm-proshop-danger);
}

.crm-proshop-advanced-panel {
    display: block;
}

.crm-proshop-advanced-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #0f172a;
    cursor: pointer;
    list-style: none;
}

.crm-proshop-advanced-panel > summary::-webkit-details-marker {
    display: none;
}

.crm-proshop-advanced-panel > summary strong,
.crm-proshop-advanced-panel > summary small {
    display: block;
}

.crm-proshop-advanced-panel > summary small {
    margin-top: 0.2rem;
    color: #64748b;
}

.crm-proshop-bulk-calendar {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.crm-proshop-calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.crm-proshop-calendar-table {
    min-width: 48rem;
}

.calendar-select-day {
    min-width: 6.5rem;
    height: 4.25rem;
    cursor: pointer;
    user-select: none;
}

@container app-content (max-width: 1280px) {
    .crm-ops-layout {
        grid-template-columns: 1fr;
    }

    .crm-ops-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-ops-week-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .crm-proshop-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-proshop-layout {
        grid-template-columns: 1fr;
    }

    .crm-proshop-week-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@container app-content (max-width: 900px) {
    .crm-ops-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-ops-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-ops-section-header,
    .crm-ops-followup {
        align-items: stretch;
    }

    .crm-ops-section-header {
        flex-direction: column;
    }

    .crm-ops-followup {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .crm-ops-followup .btn {
        grid-column: 2;
        justify-self: start;
    }

    .crm-proshop-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-proshop-panel__header {
        flex-direction: column;
        align-items: stretch;
    }

    .crm-proshop-planner-controls {
        justify-content: flex-start;
    }
}

@container app-content (max-width: 620px) {
    .crm-ops-panel {
        padding: 0.85rem;
    }

    .crm-ops-status-grid,
    .crm-ops-week-grid {
        grid-template-columns: 1fr;
    }

    .crm-ops-day-card {
        min-height: 8.75rem;
    }

    .crm-proshop-kpi-grid,
    .crm-proshop-week-grid {
        grid-template-columns: 1fr;
    }

    .crm-proshop-day {
        min-height: 8.75rem;
    }
}

@media (max-width: 1199px) {
    .crm-workspace__metrics {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
    }
}

@media (max-width: 767px) {
    .crm-workspace__metrics {
        grid-template-columns: 1fr;
    }

    .crm-list-item__topline,
    .crm-panel-header {
        flex-direction: column;
    }
}
.btn-success,
.btn-primary,
.btn-outline-success.active,
.btn-outline-success:active,
.btn-check:checked + .btn-outline-success,
.show > .btn-outline-success.dropdown-toggle,
.btn-outline-primary.active,
.btn-outline-primary:active,
.btn-check:checked + .btn-outline-primary,
.show > .btn-outline-primary.dropdown-toggle,
.crm-staffing-tabs .nav-link.active {
    background: var(--app-cta-bg) !important;
    border-color: var(--app-cta-border) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px var(--app-cta-shadow);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-outline-success.active:hover,
.btn-outline-success:active:hover,
.btn-check:checked + .btn-outline-success:hover,
.show > .btn-outline-success.dropdown-toggle:hover,
.btn-outline-primary.active:hover,
.btn-outline-primary:active:hover,
.btn-check:checked + .btn-outline-primary:hover,
.show > .btn-outline-primary.dropdown-toggle:hover,
.crm-staffing-tabs .nav-link.active:hover {
    background: var(--app-cta-bg-hover) !important;
    border-color: var(--app-cta-bg-hover) !important;
    color: #ffffff !important;
}

.btn-success:focus,
.btn-success:active:focus,
.btn-primary:focus,
.btn-primary:active:focus,
.btn-check:checked + .btn-outline-success:focus,
.btn-check:checked + .btn-outline-primary:focus,
.crm-staffing-tabs .nav-link.active:focus {
    box-shadow: 0 0 0 0.18rem rgba(27, 122, 67, 0.18), 0 10px 22px var(--app-cta-shadow) !important;
}

.btn-success:disabled,
.btn-success.disabled,
.btn-primary:disabled,
.btn-primary.disabled {
    background: color-mix(in srgb, var(--app-cta-bg) 72%, white 28%) !important;
    border-color: color-mix(in srgb, var(--app-cta-border) 72%, white 28%) !important;
    color: #ffffff !important;
}

.btn-outline-success,
.btn-outline-primary {
    color: var(--app-cta-bg) !important;
    border-color: color-mix(in srgb, var(--app-cta-border) 72%, white 28%) !important;
    background: #ffffff !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: var(--app-cta-bg-hover) !important;
    border-color: var(--app-cta-bg) !important;
    background: color-mix(in srgb, var(--app-cta-bg) 8%, white 92%) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.btn-danger {
    background: #c84a4a !important;
    border-color: #c84a4a !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(200, 74, 74, 0.18);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background: #b43b3b !important;
    border-color: #b43b3b !important;
    color: #ffffff !important;
}

.btn-outline-danger {
    color: #b43b3b !important;
    border-color: rgba(180, 59, 59, 0.34) !important;
    background: #ffffff !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
    color: #8f2f2f !important;
    border-color: #b43b3b !important;
    background: #fff6f6 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.page-link {
    border-radius: 0.65rem !important;
    border-color: rgba(31, 41, 55, 0.18) !important;
    color: #4b5d52 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.page-link:hover,
.page-link:focus {
    color: #111827 !important;
    border-color: rgba(31, 41, 55, 0.28) !important;
    background: #f8fafc !important;
}

.page-item.active .page-link {
    background: var(--app-cta-bg) !important;
    border-color: var(--app-cta-border) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px var(--app-cta-shadow) !important;
}

.form-control[type="file"]::file-selector-button {
    margin-right: 0.85rem;
    border: 1px solid var(--app-cta-border);
    background: #ffffff;
    color: var(--app-cta-bg);
    padding: 0.48rem 0.88rem;
    border-radius: 0.7rem;
    font-weight: 600;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}

.form-control[type="file"]::file-selector-button:hover {
    background: color-mix(in srgb, var(--app-cta-bg) 8%, white 92%);
    border-color: var(--app-cta-bg);
    color: var(--app-cta-bg-hover);
}

.flight-shell .card {
    border-radius: 24px;
}

.flight-header {
    margin-bottom: 1.5rem;
}

.flight-filter-card,
.flight-create-card,
.flight-info-card,
.flight-empty-state {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 248, 0.98) 100%);
}

.flight-section-heading h5,
.flight-results-heading h5,
.flight-form-section h5 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--sidebar-text);
}

.flight-helper-copy {
    max-width: 72ch;
    font-size: 0.96rem;
    line-height: 1.6;
    color: #45614f;
}

.flight-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.flight-card:hover {
    transform: translateY(-2px);
}

.flight-seats-badge {
    min-width: 72px;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    background: rgba(36, 129, 72, 0.12);
    color: var(--crm-accent-strong);
    font-weight: 700;
    text-align: center;
}

.flight-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.flight-meta-item {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.95);
}

.flight-meta-label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.flight-meta-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--sidebar-text);
}

.flight-checkbox-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(36, 129, 72, 0.18);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fcf9 100%);
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.flight-checkbox-chip:hover {
    border-color: rgba(36, 129, 72, 0.28);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.flight-choice-group {
    row-gap: 0.9rem;
}

.flight-filter-note {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.8rem 1rem;
    border-radius: 16px;
    background: rgba(36, 129, 72, 0.08);
    color: #274534;
}

.flight-filter-note__title {
    font-weight: 700;
}

.flight-filter-note__text {
    color: #4d6657;
}

.flight-checkbox-chip .form-check-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.flight-checkbox-chip .form-check-label {
    margin: 0;
    font-weight: 600;
    color: #233246;
    letter-spacing: 0.01em;
}

.flight-checkbox-indicator {
    position: relative;
    width: 1.3rem;
    height: 1.3rem;
    flex: 0 0 1.3rem;
    border: 1.5px solid rgba(36, 129, 72, 0.35);
    border-radius: 0.45rem;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8f4 100%);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: all 0.18s ease;
}

.flight-checkbox-indicator::after {
    content: "";
    position: absolute;
    left: 0.38rem;
    top: 0.14rem;
    width: 0.36rem;
    height: 0.72rem;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(40deg);
    transition: border-color 0.18s ease;
}

.flight-checkbox-chip .form-check-input:checked + .flight-checkbox-indicator {
    border-color: var(--crm-accent-strong);
    background: linear-gradient(180deg, #248148 0%, #1f6e3d 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 8px 16px rgba(36, 129, 72, 0.18);
}

.flight-checkbox-chip .form-check-input:checked + .flight-checkbox-indicator::after {
    border-color: #ffffff;
}

.flight-checkbox-chip .form-check-input:checked ~ .form-check-label {
    color: var(--crm-accent-strong);
}

.flight-checkbox-chip:has(.form-check-input:checked) {
    border-color: rgba(36, 129, 72, 0.45);
    background: linear-gradient(180deg, rgba(36, 129, 72, 0.08) 0%, rgba(255, 255, 255, 0.98) 100%);
    box-shadow: 0 12px 26px rgba(36, 129, 72, 0.12);
}

.flight-form-section {
    padding: 1.5rem;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
}

.flight-empty-state .card-body {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 992px) {
    .flight-meta-grid {
        grid-template-columns: 1fr;
    }

    .flight-form-section {
        padding: 1.1rem;
    }
}

/* ------------------------------------------------------------
 * Dark mode refinements
 * ------------------------------------------------------------ */

:root[data-theme="dark"] body {
    color-scheme: dark;
}

:root[data-theme="dark"] .content-body,
:root[data-theme="dark"] .crm-workspace,
:root[data-theme="dark"] .flight-form-section,
:root[data-theme="dark"] .flight-checkbox-chip,
:root[data-theme="dark"] .flight-empty-state .card-body,
:root[data-theme="dark"] .member-quick-view-item,
:root[data-theme="dark"] .member-quick-view-modal {
    background: linear-gradient(180deg, rgba(34, 48, 59, 0.98) 0%, rgba(24, 34, 44, 0.98) 100%);
    border-color: var(--app-surface-border);
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.02);
}

:root[data-theme="dark"] .content-header > div > a.text-decoration-none.small.mb-1.d-inline-block,
:root[data-theme="dark"] .content-header a.member-back-link {
    color: #bdd0db;
}

:root[data-theme="dark"] .content-header > div > a.text-decoration-none.small.mb-1.d-inline-block:hover,
:root[data-theme="dark"] .content-header a.member-back-link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
}

:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .input-group-text {
    background-color: #21303b;
    color: var(--app-text);
    border-color: var(--app-surface-border);
}

:root[data-theme="dark"] .form-control::placeholder {
    color: rgba(237, 243, 247, 0.54);
}

:root[data-theme="dark"] .form-control:focus,
:root[data-theme="dark"] .form-select:focus {
    background-color: #263541;
    color: var(--app-text);
    border-color: rgba(79, 190, 117, 0.72);
    box-shadow: 0 0 0 0.16rem rgba(43, 154, 90, 0.16);
}

:root[data-theme="dark"] .input-group-text {
    background-color: #263541 !important;
    color: var(--app-text-muted);
}

:root[data-theme="dark"] .nav-tabs {
    border-bottom-color: var(--app-surface-border);
}

:root[data-theme="dark"] .nav-tabs .nav-link {
    background: #202c37;
    color: #cfdae2;
}

:root[data-theme="dark"] .nav-tabs .nav-link:hover,
:root[data-theme="dark"] .nav-tabs .nav-link:focus {
    background: #263541;
    color: #ffffff;
}

:root[data-theme="dark"] .nav-tabs .nav-link.active,
:root[data-theme="dark"] .nav-pills .nav-link.active {
    background: linear-gradient(180deg, #2d9b5c 0%, #237f4a 100%);
    border-color: rgba(59, 185, 107, 0.65);
    color: #ffffff;
}

:root[data-theme="dark"] .alert-success {
    color: #d9f3e2;
    background: rgba(43, 154, 90, 0.16);
    border-color: rgba(43, 154, 90, 0.28);
}

:root[data-theme="dark"] .badge.bg-outline,
:root[data-theme="dark"] .pill {
    border-color: rgba(186, 203, 216, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: #d8e4eb !important;
}

:root[data-theme="dark"] .btn-outline-secondary {
    color: #d9e6ee;
    border-color: #546878;
    background: #202c37;
}

:root[data-theme="dark"] .btn-outline-secondary:hover,
:root[data-theme="dark"] .btn-outline-secondary:focus {
    background: #2a3947;
    color: #ffffff;
    border-color: #708596;
}

:root[data-theme="dark"] .table-responsive {
    background: rgba(19, 27, 34, 0.45);
}

:root[data-theme="dark"] .table thead th {
    background: var(--app-table-head) !important;
    color: #bfced8 !important;
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

:root[data-theme="dark"] .table tbody tr {
    color: var(--app-text);
}

:root[data-theme="dark"] .table tbody tr:nth-child(odd) {
    background: var(--app-table-row-odd);
}

:root[data-theme="dark"] .table tbody tr:nth-child(even) {
    background: var(--app-table-row-even);
}

:root[data-theme="dark"] .table tbody tr:hover {
    background: var(--app-table-row-hover);
}

:root[data-theme="dark"] .table a,
:root[data-theme="dark"] .membership-member-link {
    color: #8fd2a8;
}

:root[data-theme="dark"] .table a:hover,
:root[data-theme="dark"] .membership-member-link:hover {
    color: #b7ebc8;
}

:root[data-theme="dark"] .content-header--members .content-title {
    color: #eef4f7;
    text-shadow: 0 1px 10px rgba(9, 13, 18, 0.45);
}

:root[data-theme="dark"] .content-header--members .content-subtitle {
    color: #c2d1db !important;
}

:root[data-theme="dark"] .content-header--members::after {
    background-image:
        linear-gradient(90deg, rgba(17, 24, 31, 1) 0%, rgba(17, 24, 31, 0.985) 16%, rgba(17, 24, 31, 0.92) 30%, rgba(17, 24, 31, 0.72) 42%, rgba(17, 24, 31, 0.34) 58%, rgba(17, 24, 31, 0.1) 74%, rgba(17, 24, 31, 0) 88%),
        linear-gradient(180deg, rgba(17, 24, 31, 0.12) 0%, rgba(17, 24, 31, 0.04) 32%, rgba(17, 24, 31, 0) 58%, rgba(17, 24, 31, 0.3) 100%),
        var(--app-hero-image, url('../images/matthew-mcbrayer-fZL3EN4aJUI-unsplash.jpg'));
    background-position: left center, center center, 64% 46%;
    filter: saturate(0.92) contrast(1.02) brightness(0.88);
}

:root[data-theme="dark"] .content--custom-hero .content-header--members::after {
    background-image:
        linear-gradient(90deg, rgba(17, 24, 31, 1) 0%, rgba(17, 24, 31, 0.988) 16%, rgba(17, 24, 31, 0.93) 30%, rgba(17, 24, 31, 0.72) 44%, rgba(17, 24, 31, 0.34) 58%, rgba(17, 24, 31, 0.08) 74%, rgba(17, 24, 31, 0) 86%),
        linear-gradient(180deg, rgba(17, 24, 31, 0.08) 0%, rgba(17, 24, 31, 0.02) 30%, rgba(17, 24, 31, 0) 58%, rgba(17, 24, 31, 0.26) 100%),
        var(--app-hero-image, url('../images/matthew-mcbrayer-fZL3EN4aJUI-unsplash.jpg'));
}

:root[data-theme="dark"] .content-body--members {
    background: linear-gradient(180deg, rgba(31, 43, 54, 0.98) 0%, rgba(19, 28, 36, 0.98) 100%);
    border-color: rgba(79, 101, 121, 0.58);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.24),
        0 0 0 1px rgba(255, 255, 255, 0.02);
}

:root[data-theme="dark"] .members-overview-panel__top::after {
    background: linear-gradient(90deg, rgba(91, 114, 134, 0), rgba(91, 114, 134, 0.9) 15%, rgba(91, 114, 134, 0.9) 85%, rgba(91, 114, 134, 0));
}

:root[data-theme="dark"] .members-overview-panel__table {
    border-top-color: rgba(91, 114, 134, 0.58);
}

:root[data-theme="dark"] .content-body--members .form-control,
:root[data-theme="dark"] .content-body--members .form-select {
    background-color: #22313c;
    color: var(--app-text);
    border-color: #4a5e6f;
}

:root[data-theme="dark"] .content-body--members .input-group-text {
    background-color: #263542 !important;
    color: #bfd0db;
    border-color: #4a5e6f;
}

:root[data-theme="dark"] .content-body--members .badge.bg-outline {
    border-color: rgba(156, 173, 187, 0.28);
    background: rgba(255, 255, 255, 0.05);
    color: #d6e3ea !important;
}

:root[data-theme="dark"] .content-body--members .btn-outline-secondary {
    border-color: #4f6273;
    background: #212f3a;
    color: #d8e4eb;
}

:root[data-theme="dark"] .content-body--members .btn-outline-secondary:hover,
:root[data-theme="dark"] .content-body--members .btn-outline-secondary:focus {
    border-color: #6c8293;
    background: #293945;
    color: #ffffff;
}

:root[data-theme="dark"] .content-body--members .table thead th {
    background: #273645 !important;
    color: #c2d1db !important;
}

:root[data-theme="dark"] .member-table-pill,
:root[data-theme="dark"] .member-quick-view-trigger {
    background: rgba(255, 255, 255, 0.06);
    color: #d7e4ea;
}

:root[data-theme="dark"] .member-quick-view-trigger:hover,
:root[data-theme="dark"] .member-quick-view-trigger:focus {
    background: rgba(43, 154, 90, 0.18);
    color: #ffffff;
}

:root[data-theme="dark"] .member-quick-view-kicker,
:root[data-theme="dark"] .member-quick-view-item span,
:root[data-theme="dark"] .member-quick-view-summary__meta,
:root[data-theme="dark"] .flight-filter-note__text {
    color: #a8b8c4;
}

:root[data-theme="dark"] .member-quick-view-summary__name,
:root[data-theme="dark"] .member-quick-view-item strong,
:root[data-theme="dark"] .flight-checkbox-chip .form-check-label {
    color: #edf3f7;
}

:root[data-theme="dark"] .member-quick-view-avatar {
    background: linear-gradient(135deg, #263542 0%, #1e2b36 100%);
    border-color: var(--app-surface-border);
}

:root[data-theme="dark"] .member-quick-view-avatar__placeholder {
    color: #dce7ee;
}

:root[data-theme="dark"] .crm-workspace,
:root[data-theme="dark"] .flight-filter-note,
:root[data-theme="dark"] .flight-checkbox-chip:has(.form-check-input:checked) {
    border-color: rgba(79, 101, 121, 0.5);
}

:root[data-theme="dark"] .flight-filter-note {
    background: rgba(43, 154, 90, 0.12);
    color: #dff0e6;
}

:root[data-theme="dark"] .flight-checkbox-indicator {
    border-color: rgba(174, 193, 206, 0.3);
    background: linear-gradient(180deg, #24323d 0%, #1d2a34 100%);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
}

:root[data-theme="dark"] .flight-checkbox-chip:hover {
    border-color: rgba(79, 190, 117, 0.34);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

@media (max-width: 768px) {
    :root[data-theme="dark"] .content-header--members::after {
        background-image:
            linear-gradient(180deg, rgba(17, 24, 31, 0.94) 0%, rgba(17, 24, 31, 0.88) 52%, rgba(17, 24, 31, 0.8) 100%);
        filter: none;
    }
}

:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .btn-success {
    background: linear-gradient(180deg, #2f9e63 0%, #278652 100%) !important;
    border-color: rgba(79, 201, 130, 0.38) !important;
    color: #f7fcf9 !important;
    box-shadow: 0 10px 22px rgba(8, 24, 18, 0.18) !important;
}

:root[data-theme="dark"] .btn-primary:hover,
:root[data-theme="dark"] .btn-primary:focus,
:root[data-theme="dark"] .btn-primary:active,
:root[data-theme="dark"] .btn-success:hover,
:root[data-theme="dark"] .btn-success:focus,
:root[data-theme="dark"] .btn-success:active {
    background: linear-gradient(180deg, #38b26d 0%, #2f9e63 100%) !important;
    border-color: rgba(102, 222, 151, 0.46) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(8, 24, 18, 0.22) !important;
}

:root[data-theme="dark"] .btn-outline-primary,
:root[data-theme="dark"] .btn-outline-success {
    background: #1d313d !important;
    color: #9be7b8 !important;
    border-color: #3a5360 !important;
    box-shadow: none !important;
}

:root[data-theme="dark"] .btn-outline-primary:hover,
:root[data-theme="dark"] .btn-outline-primary:focus,
:root[data-theme="dark"] .btn-outline-success:hover,
:root[data-theme="dark"] .btn-outline-success:focus {
    background: #243b49 !important;
    color: #c8f4d8 !important;
    border-color: #4d6a79 !important;
    box-shadow: none !important;
}

:root[data-theme="dark"] .table .btn-sm,
:root[data-theme="dark"] .table-responsive .btn-sm {
    padding: 0.28rem 0.72rem;
    border-radius: 0.55rem;
    font-weight: 600;
}

:root[data-theme="dark"] .content-header .btn-sm,
:root[data-theme="dark"] .content-header .btn-primary,
:root[data-theme="dark"] .content-header .btn-success {
    box-shadow: 0 8px 18px rgba(8, 24, 18, 0.16) !important;
}

:root[data-theme="dark"] .friend-play-nav .btn {
    border-radius: 0.6rem;
    padding: 0.42rem 0.8rem;
    box-shadow: none !important;
}

:root[data-theme="dark"] .friend-play-nav .btn-outline-primary {
    background: #1b2d38 !important;
    color: #b6d5c2 !important;
    border-color: #334a57 !important;
}

:root[data-theme="dark"] .friend-play-nav .btn-outline-primary:hover,
:root[data-theme="dark"] .friend-play-nav .btn-outline-primary:focus {
    background: #233845 !important;
    color: #d8ece1 !important;
    border-color: #45606d !important;
}

:root[data-theme="dark"] .friend-play-nav .btn-primary {
    background: #274f3a !important;
    border-color: rgba(79, 201, 130, 0.22) !important;
    color: #d7f1e2 !important;
}

:root[data-theme="dark"] .friend-play-nav .btn-primary:hover,
:root[data-theme="dark"] .friend-play-nav .btn-primary:focus {
    background: #2d5d43 !important;
    border-color: rgba(79, 201, 130, 0.3) !important;
}

:root[data-theme="dark"] .flight-shell .btn-primary,
:root[data-theme="dark"] .flight-shell .btn-success {
    background: linear-gradient(180deg, #2f9e63 0%, #2a8e59 100%) !important;
    box-shadow: 0 8px 18px rgba(8, 24, 18, 0.14) !important;
}

:root[data-theme="dark"] .flight-shell .btn-outline-secondary,
:root[data-theme="dark"] .flight-shell .btn-outline-primary {
    background: #1b2d38 !important;
    border-color: #364d5a !important;
    color: #d8e4eb !important;
}

:root[data-theme="dark"] .flight-shell .btn-outline-secondary:hover,
:root[data-theme="dark"] .flight-shell .btn-outline-secondary:focus,
:root[data-theme="dark"] .flight-shell .btn-outline-primary:hover,
:root[data-theme="dark"] .flight-shell .btn-outline-primary:focus {
    background: #243b49 !important;
    border-color: #4a6574 !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] .flight-checkbox-chip {
    background: #1a2c36;
    border-color: #324957;
    box-shadow: none;
}

:root[data-theme="dark"] .flight-checkbox-chip:hover {
    background: #203541;
    border-color: #44606f;
    box-shadow: none;
}

:root[data-theme="dark"] .flight-checkbox-chip .form-check-label {
    color: #dce8ee;
}

:root[data-theme="dark"] .flight-checkbox-indicator {
    border-color: #496473;
    background: #223744;
}

:root[data-theme="dark"] .flight-checkbox-chip:has(.form-check-input:checked) {
    background: rgba(56, 178, 109, 0.12);
    border-color: rgba(56, 178, 109, 0.28);
    box-shadow: none;
}

:root[data-theme="dark"] .flight-shell .card,
:root[data-theme="dark"] .flight-info-card,
:root[data-theme="dark"] .flight-filter-card,
:root[data-theme="dark"] .flight-create-card,
:root[data-theme="dark"] .flight-empty-state,
:root[data-theme="dark"] .flight-card,
:root[data-theme="dark"] .flight-form-section {
    background: linear-gradient(180deg, rgba(26, 40, 50, 0.98) 0%, rgba(21, 34, 43, 0.98) 100%) !important;
    border-color: #304652 !important;
    color: #edf4f1 !important;
}

:root[data-theme="dark"] .flight-shell .card-body,
:root[data-theme="dark"] .flight-form-section,
:root[data-theme="dark"] .flight-meta-item {
    color: #edf4f1;
}

:root[data-theme="dark"] .flight-shell .text-muted,
:root[data-theme="dark"] .flight-helper-copy,
:root[data-theme="dark"] .flight-filter-note__text,
:root[data-theme="dark"] .flight-shell .form-text,
:root[data-theme="dark"] .flight-shell .small.text-muted {
    color: #a8bcc5 !important;
}

:root[data-theme="dark"] .flight-shell h5,
:root[data-theme="dark"] .flight-shell .fw-semibold,
:root[data-theme="dark"] .flight-meta-value,
:root[data-theme="dark"] .flight-shell .form-label {
    color: #f2f7f4 !important;
}

:root[data-theme="dark"] .flight-meta-item {
    background: #223744 !important;
    border-color: #324957 !important;
}

:root[data-theme="dark"] .flight-seats-badge {
    background: rgba(56, 178, 109, 0.16);
    color: #b7f0cf;
    border: 1px solid rgba(56, 178, 109, 0.24);
}

:root[data-theme="dark"] .flight-shell .badge.bg-light,
:root[data-theme="dark"] .flight-shell .badge.text-dark {
    background: #223744 !important;
    color: #d7e4ea !important;
    border-color: #3a5360 !important;
}

:root[data-theme="dark"] .flight-shell .border-bottom {
    border-color: #304652 !important;
}

:root[data-theme="dark"] .flight-shell .bg-light-subtle,
:root[data-theme="dark"] .flight-shell .border.rounded-4.p-3.bg-light-subtle {
    background: #1f323d !important;
    border-color: #324957 !important;
    color: #e7f0ec !important;
}

:root[data-theme="dark"] .tox.tox-tinymce {
    border-color: #304652 !important;
    border-radius: 0.85rem !important;
}

:root[data-theme="dark"] .tox .tox-editor-header,
:root[data-theme="dark"] .tox .tox-toolbar,
:root[data-theme="dark"] .tox .tox-toolbar__primary,
:root[data-theme="dark"] .tox .tox-menubar,
:root[data-theme="dark"] .tox .tox-statusbar {
    background: #1f323d !important;
    border-color: #304652 !important;
    color: #dbe7ee !important;
}

:root[data-theme="dark"] .tox .tox-edit-area__iframe,
:root[data-theme="dark"] .tox .tox-edit-area {
    background: #172832 !important;
}

:root[data-theme="dark"] .tox .tox-tbtn,
:root[data-theme="dark"] .tox .tox-tbtn svg,
:root[data-theme="dark"] .tox .tox-statusbar__path-item,
:root[data-theme="dark"] .tox .tox-statusbar__wordcount,
:root[data-theme="dark"] .tox .tox-mbtn__select-label {
    color: #dbe7ee !important;
    fill: #dbe7ee !important;
}

:root[data-theme="dark"] .tox .tox-tbtn:hover,
:root[data-theme="dark"] .tox .tox-tbtn:focus,
:root[data-theme="dark"] .tox .tox-mbtn:hover,
:root[data-theme="dark"] .tox .tox-mbtn:focus {
    background: #243b49 !important;
}

:root[data-theme="dark"] .tox .tox-edit-area::before {
    border-color: #304652 !important;
}

:root[data-theme="dark"] #single-send-preview {
    color: #dce8ee;
}

:root[data-theme="dark"] .bg-body-tertiary {
    background-color: #1b2d38 !important;
}

:root[data-theme="dark"] .bg-white.shadow-sm,
:root[data-theme="dark"] .bg-white {
    background-color: #172832 !important;
    color: #edf4f1 !important;
    border-color: #304652 !important;
}

:root[data-theme="dark"] .performance-dashboard .card,
:root[data-theme="dark"] .performance-filter-card,
:root[data-theme="dark"] .performance-metric-card,
:root[data-theme="dark"] .performance-side-card,
:root[data-theme="dark"] .performance-segment-form {
    background: rgba(26, 40, 50, 0.98) !important;
    border-color: #304652 !important;
    box-shadow: none !important;
}

:root[data-theme="dark"] .marshal-page .btn-success {
    background: #2f9e63;
    border-color: rgba(79, 201, 130, 0.32);
    color: #f7fcf9;
}

:root[data-theme="dark"] .marshal-page .btn-success:hover,
:root[data-theme="dark"] .marshal-page .btn-success:focus {
    background: #38b26d;
    border-color: rgba(102, 222, 151, 0.42);
    color: #ffffff;
}

:root[data-theme="dark"] .marshal-page .btn-outline-secondary,
:root[data-theme="dark"] .marshal-page .btn-outline-success,
:root[data-theme="dark"] .marshal-page .btn-outline-danger,
:root[data-theme="dark"] .marshal-page .btn-outline-warning {
    border-color: #3a5360;
    color: #d7e4ea;
    background: #1d313d;
}

:root[data-theme="dark"] .marshal-page .btn-outline-secondary:hover,
:root[data-theme="dark"] .marshal-page .btn-outline-success:hover,
:root[data-theme="dark"] .marshal-page .btn-outline-danger:hover,
:root[data-theme="dark"] .marshal-page .btn-outline-warning:hover {
    background: #243b49;
    border-color: #4d6a79;
    color: #ffffff;
}

:root[data-theme="dark"] .marshal-page .btn-danger {
    background: rgba(239, 107, 91, 0.16);
    border-color: rgba(239, 107, 91, 0.3);
    color: #ffb0a6;
}

:root[data-theme="dark"] .marshal-page .btn-danger:hover,
:root[data-theme="dark"] .marshal-page .btn-danger:focus {
    background: rgba(239, 107, 91, 0.22);
    border-color: rgba(239, 107, 91, 0.38);
    color: #ffd1ca;
}

:root[data-theme="dark"] .crm-settings-section-tabs .badge.text-bg-light,
:root[data-theme="dark"] .crm-settings-section-tab .badge.text-bg-light {
    background: #223744 !important;
    color: #d7e4ea !important;
    border: 1px solid #3a5360 !important;
}

:root[data-theme="dark"] .crm-settings-section-tabs .badge.text-bg-success,
:root[data-theme="dark"] .crm-settings-section-tab .badge.text-bg-success {
    background: rgba(56, 178, 109, 0.16) !important;
    color: #b7f0cf !important;
    border: 1px solid rgba(56, 178, 109, 0.24) !important;
}

:root[data-theme="dark"] .table-light,
:root[data-theme="dark"] .table-light > th,
:root[data-theme="dark"] .table-light > td,
:root[data-theme="dark"] tr.table-light > td,
:root[data-theme="dark"] tr.table-light > th {
    background-color: #223744 !important;
    color: #dce8ee !important;
    border-color: #304652 !important;
}

:root[data-theme="dark"] .tox.tox-tinymce {
    background: #172832 !important;
}

:root[data-theme="dark"] #broadcast-preview {
    color: #dce8ee;
}

:root[data-theme="dark"] .form-control[type="file"] {
    background: #1b2d38;
    border-color: #364d5a;
    color: #dbe7ee;
}

:root[data-theme="dark"] .form-control[type="file"]::file-selector-button {
    margin-right: 0.85rem;
    border: 1px solid #496473;
    background: #243b49;
    color: #d7f1e2;
    padding: 0.48rem 0.88rem;
    border-radius: 0.7rem;
    font-weight: 600;
    box-shadow: none;
}

:root[data-theme="dark"] .form-control[type="file"]::file-selector-button:hover {
    background: #2a4453;
    border-color: #5b7989;
    color: #ffffff;
}

:root[data-theme="dark"] .crm-subnav__link {
    background: #1c2d37;
    color: #d9e6ec;
    border-color: #324957;
    box-shadow: none;
}

:root[data-theme="dark"] .crm-subnav__link:hover,
:root[data-theme="dark"] .crm-subnav__link:focus {
    background: #223744;
    color: #f1f7f4;
    border-color: #45606d;
}

:root[data-theme="dark"] .crm-subnav__link--active,
:root[data-theme="dark"] .crm-subnav__link--active:hover,
:root[data-theme="dark"] .crm-subnav__link--active:focus {
    background: rgba(56, 178, 109, 0.16);
    color: #b7f0cf;
    border-color: rgba(56, 178, 109, 0.22);
}

:root[data-theme="dark"] .crm-workspace__metric {
    background: #1a2c36;
    border-color: #324957;
}

:root[data-theme="dark"] .crm-workspace__metric span {
    color: #a9bcc6;
}

:root[data-theme="dark"] .crm-workspace__metric strong {
    color: #f0f6f3;
}

:root[data-theme="dark"] .crm-list-item--task,
:root[data-theme="dark"] .crm-list-item--activity {
    background: linear-gradient(180deg, rgba(30, 46, 57, 0.98), rgba(24, 37, 47, 0.98));
    border-color: #304652;
}

:root[data-theme="dark"] .crm-list-item__description,
:root[data-theme="dark"] .crm-list-item__meta {
    color: #b3c4cd;
}

:root[data-theme="dark"] .crm-badge-chip {
    border: 1px solid #3a5360;
}

:root[data-theme="dark"] .crm-badge-chip--soft,
:root[data-theme="dark"] .crm-badge-chip--open,
:root[data-theme="dark"] .crm-badge-chip--planned {
    background: rgba(56, 178, 109, 0.14);
    color: #9be7b8;
    border-color: rgba(56, 178, 109, 0.24);
}

:root[data-theme="dark"] .crm-badge-chip--in_progress,
:root[data-theme="dark"] .crm-badge-chip--priority-high {
    background: rgba(227, 180, 92, 0.14);
    color: #f0ca80;
    border-color: rgba(227, 180, 92, 0.26);
}

:root[data-theme="dark"] .crm-badge-chip--completed,
:root[data-theme="dark"] .crm-badge-chip--priority-normal {
    background: rgba(89, 165, 255, 0.14);
    color: #a7ccff;
    border-color: rgba(89, 165, 255, 0.26);
}

:root[data-theme="dark"] .crm-badge-chip--cancelled,
:root[data-theme="dark"] .crm-badge-chip--priority-urgent {
    background: rgba(239, 107, 91, 0.14);
    color: #ffb0a6;
    border-color: rgba(239, 107, 91, 0.26);
}

:root[data-theme="dark"] .crm-badge-chip--priority-low {
    background: #223744;
    color: #c7d7df;
    border-color: #3a5360;
}

:root[data-theme="dark"] .crm-staffing-tabs .nav-link {
    background: #1d313d;
    color: #c7d8df;
    border-color: #334a57;
}

:root[data-theme="dark"] .crm-staffing-tabs .nav-link:hover,
:root[data-theme="dark"] .crm-staffing-tabs .nav-link:focus {
    background: #223744;
    color: #ecf4f7;
    border-color: #45606d;
}

:root[data-theme="dark"] .crm-staffing-tabs .nav-link.active {
    background: rgba(56, 178, 109, 0.16) !important;
    color: #b7f0cf !important;
    border-color: rgba(56, 178, 109, 0.26) !important;
    box-shadow: none !important;
}

:root[data-theme="dark"] .crm-staffing-tabs .nav-link.active:hover,
:root[data-theme="dark"] .crm-staffing-tabs .nav-link.active:focus {
    background: rgba(56, 178, 109, 0.2) !important;
    color: #d6f8e2 !important;
    border-color: rgba(56, 178, 109, 0.3) !important;
    box-shadow: none !important;
}

:root[data-theme="dark"] .crm-workspace .card.bg-light-subtle,
:root[data-theme="dark"] .card.bg-light-subtle {
    background: #223744 !important;
    border-color: #324957 !important;
}

:root[data-theme="dark"] .crm-calendar-shell .bg-light,
:root[data-theme="dark"] .crm-calendar-shell td.bg-light,
:root[data-theme="dark"] .crm-calendar-shell .bg-light.text-muted,
:root[data-theme="dark"] .crm-calendar-shell td.bg-light.text-muted {
    background: #20323d !important;
    color: #8fa39a !important;
}

:root[data-theme="dark"] .crm-mini-calendar__day--selected {
    background: #263c48;
    box-shadow: inset 0 0 0 2px rgba(56, 178, 109, 0.72);
}

:root[data-theme="dark"] .crm-mini-calendar__today-badge {
    background: rgba(56, 178, 109, 0.16);
    border: 1px solid rgba(56, 178, 109, 0.34);
    color: #a6e7bf;
}

:root[data-theme="dark"] .card .badge.text-bg-light,
:root[data-theme="dark"] .crm-list-item .badge.text-bg-light,
:root[data-theme="dark"] .daily-checklist-section-link .badge.text-bg-light {
    background: #223744 !important;
    color: #d1e0e7 !important;
    border: 1px solid #3a5360 !important;
}

:root[data-theme="dark"] .daily-checklist-section-link .badge.text-bg-success,
:root[data-theme="dark"] .card .badge.text-bg-success {
    background: rgba(56, 178, 109, 0.16) !important;
    color: #b7f0cf !important;
    border: 1px solid rgba(56, 178, 109, 0.24) !important;
}

:root[data-theme="dark"] .crm-workspace .table td.bg-light,
:root[data-theme="dark"] .crm-workspace .table th.bg-light,
:root[data-theme="dark"] .card .table td.bg-light,
:root[data-theme="dark"] .card .table th.bg-light {
    background: #223744 !important;
    color: #9eb2bc !important;
}

:root[data-theme="dark"] .crm-workspace .rounded-circle.bg-success {
    background-color: #38b26d !important;
}

:root[data-theme="dark"] .crm-workspace .rounded-circle.bg-primary {
    background-color: #5d9fff !important;
}

:root[data-theme="dark"] .crm-workspace .rounded-circle.bg-warning {
    background-color: #e3b45c !important;
}

/* ------------------------------------------------------------
 * Communication workspace
 * ------------------------------------------------------------ */

.communication-page {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.communication-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.communication-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.communication-back-link {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.45rem;
    color: var(--primary);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
}

.communication-stat-grid,
.communication-choice-grid,
.communication-template-grid,
.communication-automation-template-grid {
    display: grid;
    gap: 1rem;
}

.communication-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.communication-template-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.communication-automation-template-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.communication-stat-card,
.communication-panel,
.communication-choice-card,
.communication-group-pill,
.communication-segment-card,
.communication-automation-template {
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface);
    box-shadow: 0 12px 32px rgba(16, 35, 27, 0.06);
}

.communication-stat-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem;
    color: var(--text);
    text-decoration: none;
}

.communication-stat-card strong {
    display: block;
    color: var(--text);
    font-size: 1.7rem;
    line-height: 1.1;
}

.communication-stat-card small,
.communication-stat-label {
    display: block;
    color: var(--text-muted);
    font-size: 0.86rem;
}

.communication-stat-icon,
.communication-choice-art,
.communication-template-thumb,
.communication-segment-icon,
.communication-automation-template > span {
    display: inline-grid;
    place-items: center;
    width: 3.7rem;
    height: 3.7rem;
    border-radius: 1rem;
    font-size: 1.35rem;
}

.communication-stat-icon--amber,
.communication-segment-card:nth-child(3n + 2) .communication-segment-icon {
    color: #b36b00;
    background: #fff2d8;
}

.communication-stat-icon--blue,
.communication-template-thumb {
    color: #256fca;
    background: #e8f1ff;
}

.communication-stat-icon--green,
.communication-choice-art,
.communication-segment-icon,
.communication-automation-template > span {
    color: var(--primary);
    background: var(--primary-soft);
}

.communication-stat-icon--purple,
.communication-segment-card:nth-child(3n + 3) .communication-segment-icon {
    color: #7d48c9;
    background: #f0e9ff;
}

.communication-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 1rem;
    align-items: start;
}

.communication-layout--segments {
    grid-template-columns: minmax(0, 1fr) 360px;
}

.communication-main,
.communication-side,
.communication-composer-main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.communication-panel {
    padding: 1.1rem;
}

.communication-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.communication-section-heading h2,
.communication-help-panel h2,
.communication-builder-panel h2,
.communication-tips h2,
.communication-automation-builder h2,
.communication-automation-template h2 {
    margin: 0;
    color: var(--text);
    font-size: 1.05rem;
    line-height: 1.25;
}

.communication-section-heading p,
.communication-automation-template p,
.communication-help-panel p,
.communication-builder-panel p,
.communication-tips p {
    margin: 0.25rem 0 0;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.communication-section-heading a {
    color: var(--primary);
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
}

.communication-choice-card {
    display: flex;
    min-height: 15rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 1.2rem;
    color: var(--text);
    text-align: center;
    text-decoration: none;
}

.communication-choice-card span:not(.communication-choice-art) {
    max-width: 13rem;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.communication-choice-card i {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--primary);
}

.communication-table-wrap {
    overflow-x: auto;
}

.communication-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.communication-table th {
    padding: 0.75rem;
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.communication-table td {
    padding: 0.8rem 0.75rem;
    border-top: 1px solid var(--border);
    color: var(--text);
    vertical-align: middle;
}

.communication-table td > span,
.communication-template-row small {
    display: block;
    color: var(--text-muted);
    font-size: 0.82rem;
}

.communication-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.28rem 0.58rem;
    font-size: 0.78rem;
    font-weight: 700;
}

.communication-status--sent {
    color: #11653a;
    background: #dff3e7;
}

.communication-status--draft {
    color: #a15c00;
    background: #fff0d4;
}

.communication-status--sending {
    color: #0f5fae;
    background: #e4f0ff;
}

.communication-icon-button {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--border);
    border-radius: 0.55rem;
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
}

.communication-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.communication-row-actions form {
    margin: 0;
}

.communication-icon-button--danger {
    color: #b42318;
}

.communication-icon-button--danger:hover {
    border-color: rgba(180, 35, 24, 0.28);
    background: #fff1f0;
    color: #b42318;
}

.communication-group-strip,
.communication-template-list,
.communication-recipient-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.communication-group-pill,
.communication-template-row,
.communication-recipient-option {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.75rem;
    color: var(--text);
    text-decoration: none;
}

.communication-group-pill > span:first-child,
.communication-recipient-option > span:first-of-type {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--surface-muted);
    color: var(--primary);
}

.communication-group-pill small,
.communication-recipient-option small,
.communication-segment-card p {
    display: block;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.84rem;
}

.communication-template-row,
.communication-recipient-option,
.communication-template-card,
.communication-channel-toggle label,
.communication-delay-grid em,
.communication-token-row em,
.communication-send-options label,
.communication-filter-chip {
    border: 1px solid var(--border);
    border-radius: 0.55rem;
    background: var(--surface);
}

.communication-template-row a {
    border: 1px solid var(--border);
    border-radius: 0.45rem;
    padding: 0.35rem 0.65rem;
    color: var(--primary);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
}

.communication-tips {
    background: linear-gradient(135deg, var(--surface), var(--primary-soft));
}

.communication-tips h2,
.communication-help-panel h2 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.communication-tips > div,
.communication-help-panel > div {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.45rem 0.7rem;
    margin-top: 0.9rem;
}

.communication-tips > div::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--success);
    grid-row: span 2;
}

.communication-tips span {
    color: var(--text-muted);
    font-size: 0.86rem;
}

.communication-stepper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface);
    padding: 0.9rem;
}

.communication-stepper span {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 0.7rem;
    align-items: center;
    color: var(--text-muted);
}

.communication-stepper strong {
    display: grid;
    grid-row: span 2;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--surface-muted);
    color: var(--text);
}

.communication-stepper .is-active strong {
    background: var(--primary);
    color: #fff;
}

.communication-stepper em {
    color: var(--text);
    font-style: normal;
    font-weight: 800;
}

.communication-stepper small {
    font-size: 0.78rem;
}

.communication-composer-grid {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.communication-channel-toggle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 0.9rem;
}

.communication-channel-toggle label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.65rem;
    color: var(--text);
    cursor: pointer;
    font-weight: 700;
}

.communication-channel-toggle input,
.communication-recipient-option input,
.communication-template-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.communication-channel-toggle .is-selected,
.communication-recipient-option.is-selected,
.communication-template-card.is-selected,
.communication-delay-grid .is-selected {
    border-color: var(--primary);
    background: var(--primary-soft);
}

.communication-recipient-option {
    position: relative;
    cursor: pointer;
}

[data-broadcast-recipient-count] {
    margin: 1rem 0 0 !important;
    background: var(--primary-soft) !important;
    border-color: rgba(15, 107, 61, 0.18) !important;
}

.communication-template-card {
    display: flex;
    min-height: 9.6rem;
    flex-direction: column;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.75rem;
    text-align: center;
    cursor: pointer;
}

.communication-template-image {
    display: grid;
    place-items: center;
    min-height: 4.2rem;
    border-radius: 0.5rem;
    color: var(--primary);
    background: linear-gradient(135deg, var(--primary-soft), #eef5ff);
    font-size: 1.4rem;
}

.communication-template-card--empty {
    border-style: dashed;
}

.communication-send-review-dialog {
    width: min(1680px, calc(100vw - 2rem));
    max-width: none;
    height: calc(100vh - 2rem);
    margin: 1rem auto;
}

.communication-send-review-dialog .modal-content {
    height: 100%;
    overflow: hidden;
    border-radius: 1rem;
}

.communication-send-review-dialog .modal-body {
    overflow: auto;
    padding: 1.25rem;
}

.communication-send-review-dialog .modal-footer {
    flex-shrink: 0;
}

.communication-review-grid {
    display: grid;
    grid-template-columns: 240px minmax(260px, 1fr) 280px 280px;
    gap: 0.9rem;
    align-items: stretch;
}

.communication-review-summary,
.communication-preview-card,
.communication-send-options,
.communication-tips--compact {
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    background: var(--surface-elevated);
    padding: 0.9rem;
}

.communication-review-summary,
.communication-send-options,
.communication-automation-builder,
.communication-builder-panel {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.communication-review-summary span {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.1rem 0.55rem;
}

.communication-review-summary i {
    grid-row: span 2;
    color: var(--primary);
}

.communication-review-summary em {
    color: var(--text-muted);
    font-size: 0.84rem;
    font-style: normal;
}

.communication-preview-top {
    min-height: 5rem;
    border-radius: 0.5rem 0.5rem 0 0;
    background:
        linear-gradient(135deg, rgba(7, 47, 27, 0.86), rgba(7, 47, 27, 0.28)),
        url('../images/larvik-small.jpeg') center/cover;
    color: #fff;
    padding: 1rem;
    font-weight: 800;
}

.communication-preview-body {
    min-height: 13rem;
    padding: 1rem;
    background: var(--surface);
}

.communication-send-options label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.55rem;
    padding: 0.75rem;
}

.communication-send-options small {
    display: block;
    color: var(--text-muted);
}

.communication-send-options .is-selected {
    border-color: var(--primary);
    background: var(--primary-soft);
}

.communication-schedule-field {
    display: grid;
    gap: 0.35rem;
}

.communication-send-options .is-disabled {
    opacity: 0.65;
}

.communication-sticky-actions {
    position: sticky;
    right: 0;
    bottom: 0;
    z-index: 10;
    display: flex;
    justify-content: flex-end;
    gap: 0.8rem;
    margin-top: 0.4rem;
    padding: 0.9rem 0;
    background: linear-gradient(180deg, rgba(246, 248, 247, 0), var(--bg) 35%);
}

.communication-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface);
    padding: 0.9rem;
}

.communication-search {
    position: relative;
    min-width: 260px;
    flex: 1;
}

.communication-search span {
    position: absolute;
    top: 50%;
    left: 0.85rem;
    transform: translateY(-50%);
    color: var(--text-muted);
}

.communication-search .form-control {
    padding-left: 2.35rem;
}

.communication-filter-chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0 0.85rem;
    color: var(--primary);
    font-size: 0.84rem;
    font-weight: 700;
}

.communication-filter-chip.is-active {
    background: var(--primary);
    color: #fff;
}

.communication-segment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.communication-segment-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: 1rem;
}

.communication-segment-title {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
}

.communication-segment-title h2 {
    margin: 0;
    font-size: 1.05rem;
}

.communication-segment-title span {
    height: max-content;
    border-radius: 999px;
    background: #dff3e7;
    color: #11653a;
    padding: 0.25rem 0.5rem;
    font-size: 0.76rem;
    font-weight: 700;
}

.communication-segment-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.communication-segment-actions .btn {
    min-height: 2rem;
    border-radius: 999px;
    padding: 0.34rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.1;
    box-shadow: none;
}

.communication-segment-actions .btn .fas {
    margin-right: 0.25rem !important;
    font-size: 0.76rem;
}

.communication-segment-actions .btn-outline-success {
    border-color: rgba(15, 107, 61, 0.22);
    background: var(--surface);
}

.communication-segment-actions .communication-icon-button {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    color: var(--primary);
}

.communication-help-panel > div {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    color: var(--text-muted);
    font-size: 0.88rem;
}

.communication-help-panel > div span,
.communication-builder-panel i {
    color: var(--success);
}

.communication-builder-panel > span {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    padding: 0.6rem 0.75rem;
    color: var(--text);
}

.communication-automation-template {
    display: flex;
    min-height: 15rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem;
    text-align: center;
}

.communication-channel-icons {
    display: flex;
    gap: 0.55rem;
    color: var(--text-muted);
}

.communication-automation-builder label,
.communication-automation-field {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.communication-automation-builder label > span,
.communication-automation-field > span {
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 800;
}

.communication-event-picker {
    position: relative;
}

.communication-event-search {
    border-color: rgba(15, 107, 61, 0.22);
    background: #ffffff;
    font-weight: 650;
}

.communication-event-search:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.18rem rgba(15, 107, 61, 0.14);
}

.communication-event-options {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    left: 0;
    z-index: 30;
    display: none;
    max-height: 14rem;
    overflow-y: auto;
    border: 1px solid rgba(15, 107, 61, 0.18);
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(7, 24, 17, 0.18);
    padding: 0.35rem;
}

.communication-event-options.is-open {
    display: grid;
    gap: 0.2rem;
}

.communication-event-option {
    width: 100%;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    padding: 0.65rem 0.75rem;
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 650;
    text-align: left;
}

.communication-event-option:hover,
.communication-event-option[aria-selected="true"] {
    background: var(--primary);
    color: #ffffff;
}

.communication-token-row,
.communication-delay-grid {
    display: grid;
    gap: 0.65rem;
}

.communication-token-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.communication-token-row em,
.communication-delay-grid em {
    padding: 0.65rem;
    color: var(--text);
    font-style: normal;
    font-size: 0.84rem;
    text-align: center;
}

.communication-token-row i {
    margin-right: 0.35rem;
    color: #256fca;
}

.communication-token-option,
.communication-delay-option {
    border: 1px solid var(--border);
    border-radius: 0.55rem;
    background: var(--surface);
    padding: 0.65rem;
    color: var(--text);
    font-size: 0.84rem;
    text-align: center;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.communication-token-option:hover,
.communication-delay-option:hover {
    border-color: var(--primary);
    background: var(--primary-soft);
    color: var(--primary);
}

.communication-token-option.is-selected,
.communication-delay-option.is-selected {
    border-color: var(--primary);
    background: var(--primary);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(15, 107, 61, 0.22);
}

.communication-token-option.is-selected i {
    color: #ffffff;
}

.communication-token-option i {
    margin-right: 0.35rem;
    color: #256fca;
}

.communication-automation-modal {
    border: 1px solid rgba(15, 107, 61, 0.16);
    border-radius: 0.9rem;
    box-shadow: 0 28px 80px rgba(7, 24, 17, 0.28);
}

.communication-automation-modal .modal-header {
    align-items: flex-start;
    border-bottom: 1px solid var(--border);
    padding: 1.25rem 1.35rem;
}

.communication-automation-modal .modal-title {
    color: var(--text);
    font-weight: 850;
}

.communication-automation-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.communication-automation-summary span,
.communication-automation-content-panel {
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    background: var(--surface);
}

.communication-automation-summary span {
    padding: 0.7rem;
    color: var(--text-muted);
    font-size: 0.84rem;
}

.communication-automation-summary strong {
    display: block;
    color: var(--text);
}

.communication-automation-content-panel {
    padding: 1rem;
}

.communication-automation-content-panel + .communication-automation-content-panel {
    margin-top: 0.9rem;
}

.communication-automation-content-panel h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.9rem;
    color: var(--text);
    font-size: 1rem;
    font-weight: 850;
}

.communication-automation-content-panel h3 span {
    color: var(--primary);
}

body:has(.recipient-group-modal.show) .modal-backdrop.show {
    backdrop-filter: blur(7px);
}

.recipient-group-modal-dialog {
    width: min(1320px, calc(100vw - 4rem));
    max-width: none;
}

.recipient-group-modal-content {
    overflow: hidden;
    border: 1px solid rgba(15, 107, 61, 0.18);
    border-radius: 1rem;
    box-shadow: 0 30px 90px rgba(7, 24, 17, 0.34);
}

.recipient-group-modal-header {
    align-items: flex-start;
    border-bottom: 0;
    padding: 2rem 2.2rem 0.75rem;
}

.recipient-group-modal-header .modal-title {
    color: var(--text);
    font-size: 1.55rem;
    font-weight: 850;
}

.recipient-group-modal-body {
    padding: 0 2.2rem;
}

.member-segment-form--modal {
    display: flex;
    flex-direction: column;
    min-height: min(760px, calc(100vh - 9rem));
}

.recipient-group-modal-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.05fr) minmax(420px, 1.5fr);
    gap: 1.35rem;
    margin-bottom: 1.35rem;
}

.recipient-group-field .form-label,
.recipient-group-filter-card label > span,
.recipient-group-checkboxes > span {
    color: var(--text);
    font-size: 0.88rem;
    font-weight: 750;
}

.recipient-group-field .form-label span {
    color: var(--text-muted);
    font-weight: 600;
}

.recipient-group-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.recipient-group-type-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.2rem 0.8rem;
    align-items: start;
    min-height: 6.8rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    padding: 1rem;
    background: var(--surface);
    cursor: pointer;
}

.recipient-group-type-card:has(input:checked) {
    border-color: var(--primary);
    background: linear-gradient(135deg, var(--surface), var(--primary-soft));
    box-shadow: inset 0 0 0 1px rgba(15, 107, 61, 0.18);
}

.recipient-group-type-card > span {
    grid-row: span 2;
    color: var(--primary);
    font-size: 1.15rem;
    margin-top: 1.3rem;
}

.recipient-group-type-card strong {
    color: var(--text);
    font-size: 0.95rem;
}

.recipient-group-type-card small {
    color: var(--text-muted);
    line-height: 1.45;
}

.recipient-group-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1.35rem;
    align-items: stretch;
}

.recipient-group-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem;
}

.recipient-group-filter-card,
.recipient-group-estimate {
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
    padding: 1.15rem;
}

.recipient-group-filter-card h3,
.recipient-group-estimate h3,
.recipient-group-estimate h4 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 1rem;
    color: var(--text);
    font-size: 1rem;
    font-weight: 850;
}

.recipient-group-filter-card h3 span {
    color: var(--primary);
}

.recipient-group-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.35rem;
}

.recipient-group-two-col label,
.recipient-group-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.recipient-group-checkboxes {
    margin: 1rem 0;
}

.recipient-group-checkboxes .form-check {
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
}

.recipient-group-estimate {
    background: linear-gradient(135deg, var(--surface), var(--primary-soft));
}

.recipient-group-estimate-number {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.recipient-group-estimate-number strong {
    color: var(--primary);
    font-size: 3rem;
    line-height: 1;
}

.recipient-group-estimate-number span {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--surface);
    color: var(--primary);
    box-shadow: 0 12px 28px rgba(7, 24, 17, 0.12);
}

.recipient-group-estimate p {
    margin: 0.25rem 0 2rem;
    color: var(--primary);
    font-weight: 800;
}

.recipient-group-summary {
    min-height: 6rem;
    color: var(--text);
    font-size: 0.9rem;
    line-height: 1.55;
    white-space: pre-line;
}

.recipient-group-estimate small {
    display: flex;
    gap: 0.5rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.recipient-group-modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 1.35rem -2.2rem 0;
    border-top: 1px solid var(--border);
    padding: 1.25rem 2.2rem;
    background: var(--surface);
}

.recipient-group-modal-footer > div {
    display: flex;
    gap: 0.75rem;
}

.recipient-group-modal-footer .btn {
    min-width: 7rem;
}

.recipient-group-clear {
    color: var(--primary);
    font-weight: 750;
    text-decoration: none;
}

.member-segment-form--modal [data-segment-static-fields] {
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    padding: 1rem;
    background: var(--surface);
}

:root[data-theme="dark"] .communication-sticky-actions {
    background: linear-gradient(180deg, rgba(17, 29, 36, 0), var(--bg) 35%);
}

@media (max-width: 1300px) {
    .communication-stat-grid,
    .communication-automation-template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .communication-layout,
    .communication-layout--segments,
    .communication-composer-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 760px) {
    .communication-header,
    .communication-section-heading {
        flex-direction: column;
    }

    .communication-actions {
        width: 100%;
        justify-content: stretch;
    }

    .communication-actions .btn,
    .communication-sticky-actions .btn {
        flex: 1;
    }

    .communication-stat-grid,
    .communication-choice-grid,
    .communication-template-grid,
    .communication-segment-grid,
    .communication-automation-template-grid,
    .communication-review-grid,
    .communication-stepper,
    .communication-token-row,
    .communication-delay-grid {
        grid-template-columns: 1fr;
    }

    .communication-choice-card {
        min-height: 11rem;
    }

    .communication-sticky-actions {
        flex-direction: column;
    }
}

/*
 * Admin economy dashboard
 */
.economy-shell {
    --economy-green: #0f7a42;
    --economy-green-soft: #e4f5ea;
    --economy-blue: #2d6fb3;
    --economy-amber: #d88912;
    --economy-red: #cf3d45;
    --economy-panel-border: rgba(20, 42, 32, 0.10);
    --economy-panel-bg: rgba(255, 255, 255, 0.94);
    width: 100%;
    min-width: 0;
    container: economy / inline-size;
}

.economy-header {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.economy-header__icon {
    width: 3.4rem;
    height: 3.4rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--economy-green);
    background: var(--economy-green-soft);
    font-size: 1.45rem;
}

.economy-tabs {
    display: flex;
    gap: 1.5rem;
    border-bottom: 1px solid rgba(20, 42, 32, 0.10);
    margin-bottom: 1rem;
    overflow-x: auto;
}

.economy-tab {
    display: inline-flex;
    align-items: center;
    min-height: 2.8rem;
    padding: 0 0.15rem;
    color: #536074;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
}

.economy-tab:hover,
.economy-tab.is-active {
    color: var(--economy-green);
    border-color: var(--economy-green);
}

.economy-body {
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.economy-filter-panel {
    display: grid;
    grid-template-columns: repeat(5, minmax(11rem, 1fr)) auto;
    gap: 1rem;
    align-items: end;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--economy-panel-border);
    border-radius: 8px;
    background: var(--economy-panel-bg);
}

.economy-filter-field {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.economy-filter-field > span {
    color: #253246;
    font-size: 0.78rem;
    font-weight: 700;
}

.economy-filter-button {
    min-height: 2.45rem;
    padding-inline: 1.6rem;
}

.economy-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.economy-kpi-card,
.economy-panel {
    border: 1px solid var(--economy-panel-border);
    border-radius: 8px;
    background: var(--economy-panel-bg);
    box-shadow: 0 14px 30px rgba(15, 35, 25, 0.05);
}

.economy-kpi-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 6.4rem;
    min-width: 0;
    padding: 1rem;
}

.economy-kpi-card__icon {
    width: 3.15rem;
    height: 3.15rem;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: var(--economy-green);
    background: var(--economy-green-soft);
    font-size: 1.35rem;
}

.economy-kpi-card--warning .economy-kpi-card__icon {
    color: var(--economy-amber);
    background: #fff0d7;
}

.economy-kpi-card span:not(.economy-kpi-card__icon),
.economy-kpi-card small {
    display: block;
    color: #697486;
    font-size: 0.78rem;
    font-weight: 600;
}

.economy-kpi-card strong {
    display: block;
    color: #111827;
    font-size: 1.35rem;
    line-height: 1.2;
}

.economy-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(18rem, 0.9fr) minmax(36rem, 2.15fr) minmax(18rem, 0.85fr);
    gap: 1rem;
    align-items: start;
    min-width: 0;
}

.economy-panel {
    min-width: 0;
    padding: 1rem;
}

.economy-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.economy-panel__header--stacked {
    display: grid;
    justify-content: stretch;
    gap: 0.25rem;
}

.economy-panel__header h2,
.economy-panel__header h3 {
    margin: 0;
    color: #111827;
    font-size: 1rem;
    font-weight: 800;
}

.economy-panel__header h2 {
    font-size: 1.25rem;
}

.economy-panel__header span {
    color: #697486;
    font-size: 0.78rem;
}

.economy-club-list,
.economy-agreement-clubs,
.economy-recommendation-list,
.economy-upsell-list {
    display: grid;
    gap: 0.8rem;
}

.economy-club-item {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    padding: 0.9rem;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(20, 42, 32, 0.10);
    border-radius: 8px;
    background: #fff;
}

.economy-club-item:hover,
.economy-club-item.is-selected,
.economy-agreement-clubs a:hover,
.economy-agreement-clubs a.is-selected {
    border-color: var(--economy-green);
    box-shadow: inset 3px 0 0 var(--economy-green);
}

.economy-club-item__logo {
    width: 3.8rem;
    height: 3.8rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #0f7a42, #174f35);
    font-weight: 800;
}

.economy-club-item__body {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.economy-club-item__body strong {
    overflow: hidden;
    color: #111827;
    font-size: 0.98rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.economy-club-item__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.economy-club-item__metrics span,
.economy-club-item__health {
    color: #667085;
    font-size: 0.74rem;
}

.economy-club-item__metrics b,
.economy-club-item__health b {
    display: block;
    color: #111827;
    font-size: 0.82rem;
}

.economy-club-item__open {
    padding: 0.45rem 0.75rem;
    border: 1px solid rgba(20, 42, 32, 0.12);
    border-radius: 6px;
    color: #263345;
    background: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

.economy-panel__footer {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin-top: 1rem;
    color: #667085;
    font-size: 0.78rem;
}

.economy-main-panel {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.economy-selected-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--economy-panel-border);
    border-radius: 8px;
    background: var(--economy-panel-bg);
}

.economy-selected-header h2 {
    margin: 0;
    color: #111827;
    font-size: 1.35rem;
    font-weight: 800;
}

.economy-selected-header p {
    margin: 0.2rem 0 0;
    color: #697486;
}

.economy-selected-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.economy-status-pill,
.economy-chip,
.economy-mini-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.8rem;
    padding: 0.3rem 0.65rem;
    border-radius: 6px;
    color: #175b38;
    background: #dff4e6;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.economy-status-pill--trial,
.economy-chip--medium {
    color: #805100;
    background: #fff0c2;
}

.economy-status-pill--paused,
.economy-status-pill--follow_up,
.economy-status-pill--upsell {
    color: #755100;
    background: #ffe7b8;
}

.economy-status-pill--inactive,
.economy-status-pill--risk,
.economy-chip--low,
.economy-chip--risk {
    color: #9f1f2a;
    background: #ffd9dc;
}

.economy-chip--high,
.economy-chip--strong,
.economy-chip--upsell {
    color: #175b38;
    background: #dff4e6;
}

.economy-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    min-width: 0;
}

.economy-line-chart {
    width: 100%;
    height: 10rem;
}

.economy-line-chart line {
    stroke: #e6ebf0;
    stroke-width: 1;
}

.economy-line-chart polyline {
    fill: none;
    stroke: var(--economy-green);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
}

.economy-chart-labels {
    display: flex;
    justify-content: space-between;
    color: #697486;
    font-size: 0.72rem;
}

.economy-bar-list,
.economy-usage-list {
    display: grid;
    gap: 0.65rem;
}

.economy-bar-row,
.economy-usage-row {
    display: grid;
    grid-template-columns: minmax(5.75rem, 1fr) minmax(4rem, 1.25fr) minmax(2.75rem, auto);
    gap: 0.6rem;
    align-items: center;
    color: #344054;
    font-size: 0.82rem;
    min-width: 0;
}

.economy-bar-row > span,
.economy-usage-row > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.economy-bar-row div,
.economy-usage-row div {
    height: 0.55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef1;
}

.economy-bar-row i,
.economy-usage-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #15915a, #0f7a42);
}

.economy-bar-row b,
.economy-usage-row b {
    text-align: right;
}

.economy-doughnut-wrap {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.economy-doughnut {
    width: min(8rem, 100%);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 50%;
    position: relative;
}

.economy-doughnut::after {
    content: "";
    position: absolute;
    inset: 1.8rem;
    border-radius: 50%;
    background: #fff;
}

.economy-doughnut span {
    position: relative;
    z-index: 1;
    display: grid;
    color: #111827;
    text-align: center;
    font-weight: 800;
}

.economy-doughnut small {
    color: #697486;
    font-size: 0.68rem;
    font-weight: 700;
}

.economy-doughnut-legend {
    display: grid;
    gap: 0.45rem;
    font-size: 0.78rem;
}

.economy-doughnut-legend span {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: center;
}

.economy-doughnut-legend i {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
}

.economy-table {
    color: #243044;
    font-size: 0.84rem;
}

.economy-table thead th {
    color: #667085;
    font-size: 0.74rem;
    text-transform: uppercase;
}

.economy-table-scroll {
    max-height: min(68vh, 44rem);
    overflow: auto;
    border: 1px solid rgba(20, 42, 32, 0.10);
    border-radius: 8px;
}

.economy-table-scroll .economy-table {
    margin-bottom: 0;
}

.economy-table-scroll .economy-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #eef5f1;
    box-shadow: inset 0 -1px 0 rgba(20, 42, 32, 0.12);
}

.economy-table-scroll--agreement-products {
    max-height: 23rem;
}

.economy-table-scroll--products .economy-product-table {
    min-width: 112rem;
}

.economy-table-scroll--agreements .economy-price-table {
    min-width: 90rem;
}

.economy-recommendation-list > div,
.economy-upsell-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(20, 42, 32, 0.08);
    color: #344054;
    font-size: 0.82rem;
}

.economy-upsell-list > div {
    grid-template-columns: auto minmax(0, 1fr);
}

.economy-upsell-list strong {
    display: block;
}

.economy-upsell-list small {
    display: block;
    color: #697486;
}

.economy-upsell-list .fas {
    color: var(--economy-green);
}

.economy-panel-link {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    margin-top: 0.85rem;
    color: var(--economy-green);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.economy-side-column {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.economy-health-card {
    display: grid;
    grid-template-columns: 6.2rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.economy-health-ring {
    width: 6.2rem;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 50%;
    position: relative;
}

.economy-health-ring::after {
    content: "";
    position: absolute;
    inset: 0.55rem;
    border-radius: 50%;
    background: #fff;
}

.economy-health-ring span {
    position: relative;
    z-index: 1;
    display: grid;
    color: #0f5b35;
    text-align: center;
    font-size: 1.7rem;
    font-weight: 900;
}

.economy-health-ring small {
    color: #344054;
    font-size: 0.72rem;
}

.economy-health-card strong {
    display: block;
    color: var(--economy-green);
    margin-bottom: 0.4rem;
}

.economy-health-card p {
    margin: 0;
    color: #667085;
    font-size: 0.83rem;
}

.economy-side-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 0.5rem;
    margin: 0;
    color: #344054;
    font-size: 0.84rem;
}

.economy-side-list dt {
    color: #697486;
    font-weight: 600;
}

.economy-side-list dd {
    margin: 0;
    font-weight: 800;
}

.economy-agreement-grid {
    display: grid;
    grid-template-columns: minmax(17rem, 0.55fr) minmax(0, 1.45fr);
    gap: 1rem;
    align-items: start;
    min-width: 0;
}

.economy-agreement-clubs a {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(20, 42, 32, 0.10);
    border-radius: 8px;
    background: #fff;
}

.economy-agreement-clubs span,
.economy-agreement-clubs small {
    color: #697486;
    font-size: 0.78rem;
}

.economy-agreement-form h3 {
    margin-bottom: 1rem;
}

.economy-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.economy-form-grid label,
.economy-textarea-label {
    display: grid;
    gap: 0.35rem;
    color: #344054;
    font-size: 0.8rem;
    font-weight: 700;
}

.economy-textarea-label {
    margin-top: 1rem;
}

.economy-module-price-header {
    margin-top: 1.5rem;
}

.economy-price-table input,
.economy-price-table select {
    min-width: 8rem;
}

.economy-product-catalog {
    display: grid;
    gap: 1rem;
}

.economy-product-create-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: end;
}

.economy-product-create-grid label,
.economy-check-label {
    display: grid;
    gap: 0.35rem;
    color: #344054;
    font-size: 0.8rem;
    font-weight: 700;
}

.economy-product-create-grid__wide {
    grid-column: span 2;
}

.economy-check-label {
    display: flex;
    align-items: center;
    min-height: 2.45rem;
}

.economy-product-table input,
.economy-product-table select {
    min-width: 8.5rem;
}

.economy-product-table td:first-child input {
    min-width: 13rem;
}

.economy-product-description-row td {
    padding-top: 0;
    border-top: 0;
    background: rgba(15, 122, 66, 0.03);
}

.economy-empty-panel {
    min-height: 12rem;
    display: grid;
    place-items: center;
    color: #697486;
}

:root[data-theme="dark"] .economy-shell {
    --economy-panel-bg: rgba(24, 37, 43, 0.96);
    --economy-panel-border: rgba(255, 255, 255, 0.10);
    --economy-green-soft: rgba(51, 173, 103, 0.16);
}

:root[data-theme="dark"] .economy-tab,
:root[data-theme="dark"] .economy-panel__header span,
:root[data-theme="dark"] .economy-kpi-card span:not(.economy-kpi-card__icon),
:root[data-theme="dark"] .economy-kpi-card small,
:root[data-theme="dark"] .economy-selected-header p,
:root[data-theme="dark"] .economy-side-list dt,
:root[data-theme="dark"] .economy-health-card p {
    color: rgba(230, 236, 241, 0.68);
}

:root[data-theme="dark"] .economy-panel__header h2,
:root[data-theme="dark"] .economy-panel__header h3,
:root[data-theme="dark"] .economy-kpi-card strong,
:root[data-theme="dark"] .economy-selected-header h2,
:root[data-theme="dark"] .economy-club-item__body strong,
:root[data-theme="dark"] .economy-club-item__metrics b,
:root[data-theme="dark"] .economy-club-item__health b,
:root[data-theme="dark"] .economy-side-list dd,
:root[data-theme="dark"] .economy-doughnut span {
    color: #f5f8fb;
}

:root[data-theme="dark"] .economy-club-item,
:root[data-theme="dark"] .economy-agreement-clubs a,
:root[data-theme="dark"] .economy-product-description-row td,
:root[data-theme="dark"] .economy-doughnut::after,
:root[data-theme="dark"] .economy-health-ring::after {
    background: #16242b;
}

:root[data-theme="dark"] .economy-table-scroll .economy-table thead th {
    background: #20323a;
}

@media (max-width: 1500px) {
    .economy-dashboard-grid {
        grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.5fr);
    }

    .economy-side-column {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@container economy (max-width: 1320px) {
    .economy-filter-panel {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    }

    .economy-filter-button {
        width: 100%;
    }

    .economy-dashboard-grid {
        grid-template-columns: minmax(17rem, 0.85fr) minmax(0, 1.45fr);
    }

    .economy-side-column {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container economy (max-width: 1080px) {
    .economy-dashboard-grid,
    .economy-agreement-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 1180px) {
    .economy-filter-panel,
    .economy-dashboard-grid,
    .economy-detail-grid,
    .economy-agreement-grid,
    .economy-form-grid,
    .economy-product-create-grid {
        grid-template-columns: 1fr;
    }

    .economy-product-create-grid__wide {
        grid-column: auto;
    }

    .economy-side-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container economy (max-width: 760px) {
    .economy-kpi-grid,
    .economy-detail-grid,
    .economy-side-column,
    .economy-form-grid {
        grid-template-columns: 1fr;
    }

    .economy-selected-header,
    .economy-club-item,
    .economy-doughnut-wrap,
    .economy-health-card {
        grid-template-columns: 1fr;
    }

    .economy-selected-header {
        align-items: stretch;
    }

    .economy-selected-badges {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .economy-kpi-grid,
    .economy-side-column {
        grid-template-columns: 1fr;
    }

    .economy-selected-header,
    .economy-club-item {
        grid-template-columns: 1fr;
    }

    .economy-selected-header {
        align-items: stretch;
    }

    .economy-selected-badges {
        justify-content: flex-start;
    }

    .economy-doughnut-wrap,
    .economy-health-card {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------------------------------------
 * Consolidated Blade template styles
 * ------------------------------------------------------------ */

/* resources/views/statistics/club.blade.php */
.statistics-page {
            --stats-bg: var(--app-content-surface);
            --stats-card-bg: color-mix(in srgb, var(--surface) 96%, transparent);
            --stats-border: color-mix(in srgb, var(--border) 86%, transparent);
            --stats-text: var(--text);
            --stats-muted: var(--text-muted);
            --stats-soft: var(--text-subtle);
            --stats-accent: var(--primary);
            --stats-accent-soft: var(--primary-soft);
            --stats-success: var(--success);
            --stats-warm: var(--warning);
            --stats-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
            padding: 0;
        }

        .statistics-body {
            background: transparent;
            border: 0;
            box-shadow: none;
            padding: 0;
        }

        .statistics-shell {
            padding: 0;
        }

        .statistics-grid {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: 1.1rem;
        }

        .statistics-filter-panel {
            background: color-mix(in srgb, var(--surface) 88%, transparent);
            border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
            border-radius: 22px;
            box-shadow: var(--stats-shadow);
            padding: 1rem;
            margin-bottom: 1.15rem;
        }

        .statistics-filter-panel .form-label {
            font-size: 0.8rem;
            color: var(--stats-muted);
            font-weight: 700;
        }

        .statistics-panel,
        .statistics-kpi {
            background: var(--stats-card-bg);
            border: 1px solid var(--stats-border);
            border-radius: 22px;
            box-shadow: var(--stats-shadow);
        }

        .statistics-kpi {
            grid-column: span 3;
            padding: 1.15rem 1.2rem 1.1rem;
            position: relative;
            overflow: hidden;
        }

        .statistics-kpi::before {
            content: "";
            position: absolute;
            inset: 0 auto 0 0;
            width: 4px;
            background: linear-gradient(180deg, var(--stats-accent) 0%, color-mix(in srgb, var(--stats-accent) 25%, transparent) 100%);
        }

        .statistics-kpi--warm::before {
            background: linear-gradient(180deg, var(--stats-warm) 0%, color-mix(in srgb, var(--stats-warm) 25%, transparent) 100%);
        }

        .statistics-kpi--success::before {
            background: linear-gradient(180deg, var(--stats-success) 0%, color-mix(in srgb, var(--stats-success) 25%, transparent) 100%);
        }

        .statistics-kpi--neutral::before {
            background: linear-gradient(180deg, color-mix(in srgb, var(--text-muted) 78%, #60738a) 0%, color-mix(in srgb, var(--text-muted) 22%, transparent) 100%);
        }

        .statistics-label {
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-size: 0.72rem;
            font-weight: 700;
            color: var(--stats-soft);
            margin-bottom: 0.7rem;
        }

        .statistics-value {
            color: var(--stats-text);
            font-size: 2.05rem;
            line-height: 1;
            font-weight: 800;
            letter-spacing: -0.04em;
        }

        .statistics-value small {
            font-size: 0.95rem;
            font-weight: 700;
            color: var(--stats-muted);
        }

        .statistics-panel {
            padding: 1.35rem;
        }

        .statistics-panel--chart {
            grid-column: span 8;
        }

        .statistics-panel--donut {
            grid-column: span 4;
        }

        .statistics-panel--medium {
            grid-column: span 4;
        }

        .statistics-panel--small {
            grid-column: span 3;
            text-align: center;
            padding: 1.15rem 1rem;
        }

        .statistics-panel__header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 1rem;
            margin-bottom: 1rem;
        }

        .statistics-panel__title {
            margin: 0;
            color: var(--stats-text);
            font-size: 1.2rem;
            font-weight: 800;
            letter-spacing: -0.03em;
        }

        .statistics-panel__hint {
            margin: 0.3rem 0 0;
            color: var(--stats-muted);
            font-size: 0.9rem;
        }

        .statistics-chart-wrap {
            position: relative;
            height: 320px;
            width: 100%;
        }

        .statistics-chart-wrap--compact {
            height: 320px;
        }

        .statistics-summary-list {
            display: grid;
            gap: 0.85rem;
            margin-top: 0.35rem;
        }

        .statistics-summary-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.75rem;
            padding: 0.9rem 1rem;
            border-radius: 16px;
            background: color-mix(in srgb, var(--surface-muted) 92%, transparent);
            border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
        }

        .statistics-summary-item span {
            color: var(--stats-muted);
            font-size: 0.88rem;
            font-weight: 600;
        }

        .statistics-summary-item strong {
            color: var(--stats-text);
            font-size: 1.05rem;
            font-weight: 800;
        }

        .statistics-link-card {
            display: block;
            color: inherit;
            text-decoration: none;
            transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
        }

        .statistics-link-card:hover {
            transform: translateY(-2px);
        }

        [data-theme="dark"] .statistics-page {
            --stats-shadow: 0 24px 56px rgba(0, 0, 0, 0.24);
        }

        [data-theme="dark"] .statistics-shell,
        [data-theme="dark"] .statistics-filter-panel,
        [data-theme="dark"] .statistics-panel,
        [data-theme="dark"] .statistics-kpi {
            box-shadow: var(--stats-shadow);
        }

        .statistics-panel--small .statistics-value {
            font-size: 1.8rem;
            margin-top: 0.1rem;
        }

        @media (max-width: 1199.98px) {
            .statistics-kpi,
            .statistics-panel--medium,
            .statistics-panel--small {
                grid-column: span 6;
            }

            .statistics-panel--chart,
            .statistics-panel--donut {
                grid-column: span 12;
            }
        }

        @media (max-width: 767.98px) {
            .statistics-kpi,
            .statistics-panel--medium,
            .statistics-panel--small {
                grid-column: span 12;
            }
        }

/* resources/views/club_settings/index.blade.php */
.club-settings-tabs {
        gap: 0.55rem;
        border-bottom: 0;
    }

    .club-settings-tabs .nav-link {
        border: 1px solid #dfd7c7;
        border-radius: 0.9rem;
        padding: 0.8rem 1rem;
        background: linear-gradient(180deg, #fffdfa 0%, #f7f3ea 100%);
        color: #5c5d57;
        font-weight: 700;
        box-shadow: 0 8px 18px rgba(77, 61, 24, 0.06);
        transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
    }

    .club-settings-tabs .nav-link:hover,
    .club-settings-tabs .nav-link:focus {
        border-color: #cdbf9f;
        background: linear-gradient(180deg, #fffefb 0%, #f8f4eb 100%);
        color: #173a23;
        transform: translateY(-1px);
        box-shadow: 0 10px 22px rgba(77, 61, 24, 0.09);
    }

    .club-settings-tabs .nav-link.active {
        border-color: #0f4021;
        background: linear-gradient(135deg, #214b2b 0%, #0f4021 100%);
        color: #f7f4ec;
        box-shadow: 0 12px 24px rgba(11, 58, 32, 0.22);
    }

    .club-settings-file-preview {
        width: min(100%, 420px);
        border-radius: 1rem;
        border: 1px solid rgba(15, 64, 33, 0.12);
        background: #f8f6f1;
        overflow: hidden;
        box-shadow: 0 10px 24px rgba(77, 61, 24, 0.08);
    }

    .club-settings-file-preview img {
        display: block;
        width: 100%;
        max-height: 180px;
        object-fit: cover;
    }

    .club-settings-file-preview-meta {
        padding: 0.65rem 0.8rem;
        font-size: 0.82rem;
        color: #5f665d;
    }

/* resources/views/clubs/create.blade.php */
.club-create-page {
            --club-green: #08713d;
            --club-green-dark: #065b32;
            --club-green-soft: #eaf6ef;
            --club-border: var(--border, #dbe5df);
            --club-muted: var(--text-muted, #667085);
            --club-text: var(--text, #0f2a22);
            --club-surface: var(--surface, #fff);
            --club-surface-soft: var(--surface-elevated, #fbfdfc);
            --club-input: var(--surface, #fff);
            --club-shadow: 0 18px 38px rgba(16, 24, 40, 0.08);
        }

        :root[data-theme="dark"] .club-create-page {
            --club-green: #31c779;
            --club-green-dark: #23a766;
            --club-green-soft: rgba(49, 199, 121, 0.13);
            --club-surface: var(--surface);
            --club-surface-soft: var(--surface-muted);
            --club-input: #203541;
            --club-shadow: 0 22px 44px rgba(0, 0, 0, 0.26);
        }

        .club-create-page .back-link {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            color: var(--club-green);
            font-weight: 800;
            text-decoration: none;
        }

        .club-create-page .content-header {
            margin-bottom: 1.25rem;
        }

        .club-create-shell {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(370px, 0.56fr);
            min-height: calc(100vh - 230px);
            border: 1px solid var(--club-border);
            border-radius: 16px;
            background: var(--club-surface);
            box-shadow: var(--club-shadow);
            overflow: hidden;
        }

        .club-create-main,
        .club-create-side {
            padding: 1.5rem;
        }

        .club-create-main {
            border-right: 1px solid var(--club-border);
        }

        .club-section-heading {
            display: flex;
            align-items: center;
            gap: 0.8rem;
            padding-bottom: 1.15rem;
            margin-bottom: 1.25rem;
            border-bottom: 1px solid var(--club-border);
        }

        .club-section-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.6rem;
            height: 2.6rem;
            border-radius: 999px;
            background: var(--club-green-soft);
            color: var(--club-green);
        }

        .club-section-title {
            color: var(--club-text);
            font-size: 1rem;
            font-weight: 900;
        }

        .club-section-subtitle {
            color: var(--club-muted);
            font-size: 0.82rem;
        }

        .club-form-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.05rem 1.25rem;
        }

        .club-form-grid .is-wide {
            grid-column: 1 / -1;
        }

        .club-form-grid.locality-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .club-create-page .form-label {
            color: var(--club-text);
            font-size: 0.8rem;
            font-weight: 850;
        }

        .club-create-page .required-mark {
            color: #d92d20;
        }

        .club-create-page .form-control,
        .club-create-page .form-select {
            min-height: 3rem;
            border-radius: 10px;
            border-color: var(--club-border);
            background: var(--club-input);
            color: var(--club-text);
        }

        .club-create-page .form-control::placeholder {
            color: var(--text-subtle, #99a3ad);
        }

        .profile-card {
            margin-bottom: 1.25rem;
        }

        .logo-dropzone {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 9.6rem;
            border: 1px dashed #b8c9c0;
            border-radius: 12px;
            background: linear-gradient(180deg, var(--club-surface), var(--club-surface-soft));
            text-align: center;
        }

        .logo-dropzone i {
            color: var(--club-green);
            font-size: 1.8rem;
        }

        .logo-dropzone strong {
            display: block;
            margin-top: 0.5rem;
            color: var(--club-text);
        }

        .logo-dropzone span {
            display: block;
            color: var(--club-muted);
            font-size: 0.8rem;
        }

        .logo-file-button {
            display: inline-block;
            margin-top: 0.65rem;
            padding: 0.38rem 1rem;
            border: 1px solid var(--club-border);
            border-radius: 8px;
            background: var(--club-surface);
            color: var(--club-green);
            cursor: pointer;
            font-size: 0.78rem;
            font-weight: 850;
        }

        .logo-dropzone input {
            display: none;
        }

        .module-list {
            display: grid;
            gap: 0.75rem;
            max-height: 32rem;
            padding-right: 0.2rem;
            overflow-y: auto;
        }

        .module-box {
            border: 1px solid var(--club-border);
            border-radius: 11px;
            background: var(--club-surface);
        }

        .module-row {
            display: grid;
            grid-template-columns: auto 1.8rem minmax(0, 1fr);
            align-items: center;
            gap: 0.65rem;
            padding: 0.72rem 0.85rem;
            color: var(--club-text);
            font-size: 0.84rem;
            font-weight: 800;
        }

        .module-child-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.15rem 0.6rem;
            padding: 0 0.85rem 0.85rem;
        }

        .module-child-grid .module-row {
            padding: 0.5rem 0;
        }

        .module-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.8rem;
            height: 1.8rem;
            border-radius: 7px;
            background: var(--club-green-soft);
            color: var(--club-green);
            font-size: 0.8rem;
        }

        .module-description {
            display: block;
            margin-top: 0.15rem;
            color: var(--club-muted);
            font-size: 0.76rem;
            font-weight: 500;
        }

        .club-action-bar {
            position: sticky;
            bottom: 0;
            display: flex;
            gap: 0.75rem;
            padding: 0.75rem 1.5rem;
            border-top: 1px solid var(--club-border);
            background: color-mix(in srgb, var(--club-surface) 94%, transparent);
            backdrop-filter: blur(10px);
        }

        .club-action-bar .btn-success {
            border: none;
            background: linear-gradient(180deg, var(--club-green), var(--club-green-dark));
            box-shadow: 0 8px 18px rgba(8, 113, 61, 0.2);
            font-weight: 850;
        }

        @media (max-width: 1200px) {
            .club-create-shell {
                grid-template-columns: 1fr;
            }

            .club-create-main {
                border-right: 0;
                border-bottom: 1px solid var(--club-border);
            }
        }

        @media (max-width: 720px) {
            .club-form-grid,
            .club-form-grid.locality-grid,
            .module-child-grid {
                grid-template-columns: 1fr;
            }

            .club-create-main,
            .club-create-side,
            .club-action-bar {
                padding: 1rem;
            }
        }

/* resources/views/clubs/edit.blade.php */
.club-edit-page {
            --club-green: #08713d;
            --club-green-dark: #065b32;
            --club-green-soft: #eaf6ef;
            --club-border: var(--border, #dbe5df);
            --club-muted: var(--text-muted, #667085);
            --club-text: var(--text, #10251f);
            --club-surface: var(--surface, #fff);
            --club-surface-soft: var(--surface-elevated, #fbfdfc);
            --club-input: var(--surface, #fff);
            --club-shadow: 0 14px 30px rgba(16, 24, 40, 0.07);
        }

        :root[data-theme="dark"] .club-edit-page {
            --club-green: #31c779;
            --club-green-dark: #23a766;
            --club-green-soft: rgba(49, 199, 121, 0.13);
            --club-surface: var(--surface);
            --club-surface-soft: var(--surface-muted);
            --club-input: #203541;
            --club-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
        }

        .club-edit-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 1rem;
        }

        .club-edit-header h1 {
            margin: 0.25rem 0 0;
            color: var(--club-text);
            font-size: clamp(1.7rem, 2vw, 2.3rem);
            font-weight: 900;
            letter-spacing: 0;
        }

        .club-edit-back,
        .club-edit-delete {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            border: 0;
            background: transparent;
            font-weight: 850;
            text-decoration: none;
        }

        .club-edit-back {
            color: var(--club-green);
        }

        .club-edit-delete {
            color: #d92d20;
        }

        .club-edit-tabs {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            margin-bottom: 1.2rem;
            border-bottom: 1px solid var(--club-border);
        }

        .club-edit-tab {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            min-height: 3rem;
            padding: 0 0.35rem;
            border-bottom: 2px solid transparent;
            color: var(--club-muted);
            font-weight: 850;
            text-decoration: none;
        }

        .club-edit-tab.is-active {
            border-color: var(--club-green);
            color: var(--club-green);
        }

        .club-edit-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
            gap: 1rem;
            margin-bottom: 1rem;
        }

        .club-edit-panel {
            border: 1px solid var(--club-border);
            border-radius: 14px;
            background: var(--club-surface);
            box-shadow: var(--club-shadow);
            padding: 1.35rem;
        }

        .club-edit-panel-title {
            display: flex;
            align-items: center;
            gap: 0.45rem;
            margin-bottom: 1rem;
            color: var(--club-text);
            font-weight: 900;
        }

        .club-edit-help {
            margin: -0.55rem 0 1.1rem;
            color: var(--club-muted);
            font-size: 0.86rem;
        }

        .club-edit-form-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem 1.15rem;
        }

        .club-edit-form-grid .is-wide {
            grid-column: 1 / -1;
        }

        .club-edit-page .form-label {
            color: var(--club-text);
            font-size: 0.8rem;
            font-weight: 850;
        }

        .club-edit-page .form-control,
        .club-edit-page .form-select {
            min-height: 2.75rem;
            border-radius: 10px;
            border-color: var(--club-border);
            background: var(--club-input);
            color: var(--club-text);
        }

        .club-edit-stack {
            display: grid;
            gap: 1rem;
        }

        .club-logo-upload {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            align-items: center;
            gap: 1rem;
            min-height: 4.8rem;
            padding: 0.85rem 1rem;
            border: 1px dashed #b8c9c0;
            border-radius: 12px;
            background: linear-gradient(180deg, var(--club-surface), var(--club-surface-soft));
            cursor: pointer;
        }

        .club-logo-upload > i,
        .club-logo-upload img {
            width: 2.35rem;
            height: 2.35rem;
            border-radius: 8px;
        }

        .club-logo-upload > i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--club-green);
            font-size: 1.35rem;
        }

        .club-logo-upload img {
            object-fit: cover;
            background: var(--club-green-soft);
        }

        .club-logo-upload strong,
        .club-logo-upload small {
            display: block;
        }

        .club-logo-upload small,
        .club-module-card-description {
            color: var(--club-muted);
            font-size: 0.8rem;
        }

        .club-logo-upload-button {
            padding: 0.45rem 0.85rem;
            border: 1px solid var(--club-border);
            border-radius: 8px;
            background: var(--club-surface);
            color: var(--club-text);
            font-weight: 850;
            white-space: nowrap;
        }

        .club-logo-upload input {
            display: none;
        }

        .club-module-card-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem;
        }

        .club-module-card {
            min-height: 10.5rem;
            padding: 1rem;
            border: 1px solid var(--club-border);
            border-radius: 12px;
            background: var(--club-surface-soft);
        }

        .club-module-card-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 0.85rem;
        }

        .club-module-card-title {
            color: var(--club-text);
            font-weight: 900;
        }

        .club-module-switch {
            position: relative;
            flex: 0 0 auto;
            width: 2.3rem;
            height: 1.3rem;
            border: 0;
            border-radius: 999px;
            background: #cfd8d4;
            cursor: pointer;
        }

        .club-module-switch::after {
            content: "";
            position: absolute;
            top: 0.17rem;
            left: 0.17rem;
            width: 0.96rem;
            height: 0.96rem;
            border-radius: 999px;
            background: #fff;
            box-shadow: 0 1px 4px rgba(16, 24, 40, 0.18);
            transition: transform 0.16s ease;
        }

        .club-module-card:has(input:checked) .club-module-switch {
            background: var(--club-green);
        }

        .club-module-card:has(input:checked) .club-module-switch::after {
            transform: translateX(1rem);
        }

        .club-module-items {
            display: grid;
            gap: 0.45rem;
        }

        .club-module-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin: 0;
            color: var(--club-text);
            font-size: 0.86rem;
            font-weight: 760;
        }

        .club-module-item input {
            width: 1rem;
            height: 1rem;
            accent-color: var(--club-green);
        }

        .club-edit-action-bar {
            position: sticky;
            bottom: 0;
            display: flex;
            justify-content: flex-end;
            margin: 1rem -0.5rem -0.5rem;
            padding: 0.85rem 0.5rem 0;
            background: color-mix(in srgb, var(--body-bg, #f5faf7) 92%, transparent);
            backdrop-filter: blur(10px);
        }

        .club-edit-action-bar .btn-success {
            min-height: 2.8rem;
            padding-inline: 1.35rem;
            border: 0;
            border-radius: 8px;
            background: linear-gradient(180deg, var(--club-green), var(--club-green-dark));
            box-shadow: 0 8px 18px rgba(8, 113, 61, 0.2);
            font-weight: 850;
        }

        @media (max-width: 1200px) {
            .club-edit-grid,
            .club-module-card-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 820px) {
            .club-edit-header,
            .club-edit-tabs {
                align-items: stretch;
                flex-direction: column;
            }

            .club-edit-tabs {
                gap: 0;
                border-bottom: 0;
            }

            .club-edit-tab {
                border: 1px solid var(--club-border);
                border-radius: 10px;
                padding: 0 0.75rem;
            }

            .club-edit-form-grid {
                grid-template-columns: 1fr;
            }

            .club-logo-upload {
                grid-template-columns: auto minmax(0, 1fr);
            }

            .club-logo-upload-button {
                grid-column: 1 / -1;
                text-align: center;
            }
        }

/* resources/views/clubs/index_admin.blade.php */
.clubs-index-page {
            --club-green: #08713d;
            --club-green-dark: #065b32;
            --club-green-soft: #eaf6ef;
            --club-orange: #f79009;
            --club-orange-soft: #fff4e5;
            --club-border: var(--border, #dce6e1);
            --club-muted: var(--text-muted, #667085);
            --club-text: var(--text, #10251f);
            --club-surface: var(--surface, #fff);
            --club-surface-soft: var(--surface-elevated, #fbfdfc);
            --club-input: var(--surface, #fff);
            --club-shadow: 0 14px 30px rgba(16, 24, 40, 0.07);
        }

        :root[data-theme="dark"] .clubs-index-page {
            --club-green: #31c779;
            --club-green-dark: #23a766;
            --club-green-soft: rgba(49, 199, 121, 0.13);
            --club-orange-soft: rgba(247, 144, 9, 0.16);
            --club-surface: var(--surface);
            --club-surface-soft: var(--surface-muted);
            --club-input: #203541;
            --club-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
        }

        .clubs-index-page .content-header {
            margin-bottom: 1.25rem;
        }

        .clubs-index-page .add-club-button {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            min-height: 2.7rem;
            padding: 0 1rem;
            border: none;
            border-radius: 8px;
            background: linear-gradient(180deg, var(--club-green), var(--club-green-dark));
            box-shadow: 0 8px 18px rgba(8, 113, 61, 0.2);
            font-size: 0.92rem;
            font-weight: 850;
        }

        .club-stat-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 1rem;
            margin-bottom: 1.25rem;
        }

        .club-stat-card,
        .club-toolbar,
        .club-table-card {
            border: 1px solid var(--club-border);
            border-radius: 14px;
            background: var(--club-surface);
            box-shadow: var(--club-shadow);
        }

        .club-stat-card {
            display: flex;
            align-items: center;
            gap: 1rem;
            min-height: 5.8rem;
            padding: 1rem 1.25rem;
        }

        .club-stat-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 3.2rem;
            height: 3.2rem;
            border-radius: 999px;
            background: var(--club-green-soft);
            color: var(--club-green);
            font-size: 1.25rem;
        }

        .club-stat-icon.is-warning {
            background: var(--club-orange-soft);
            color: var(--club-orange);
        }

        .club-stat-label {
            color: var(--club-muted);
            font-size: 0.88rem;
            font-weight: 800;
        }

        .club-stat-value {
            color: var(--club-green);
            font-size: 1.65rem;
            line-height: 1;
            font-weight: 950;
        }

        .club-stat-value.is-dark {
            color: var(--club-text);
        }

        .club-stat-value.is-warning {
            color: var(--club-orange);
        }

        .club-toolbar {
            display: flex;
            justify-content: space-between;
            gap: 1rem;
            align-items: center;
            padding: 1rem;
            margin-bottom: 1.25rem;
        }

        .club-toolbar form {
            flex: 1 1 34rem;
            max-width: 34rem;
        }

        .club-toolbar .input-group-text,
        .club-toolbar .form-control {
            min-height: 3rem;
            border-color: var(--club-border);
            background: var(--club-input);
            color: var(--club-text);
        }

        .club-toolbar .form-control::placeholder {
            color: var(--text-subtle, #8fa39a);
        }

        .club-toolbar .showing-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            padding: 0.75rem 1rem;
            border-radius: 8px;
            background: var(--club-green-soft);
            color: var(--club-green-dark);
            font-weight: 850;
        }

        .club-table-card {
            padding: 0;
            overflow: visible;
        }

        .club-table {
            margin-bottom: 0;
        }

        .club-table thead th {
            padding: 1.05rem 1.2rem;
            color: var(--club-muted);
            font-size: 0.82rem;
            font-weight: 900;
            background: var(--club-surface-soft);
            border-bottom: 1px solid var(--club-border);
        }

        .club-table tbody td {
            padding: 1rem 1.2rem;
            vertical-align: middle;
            color: var(--club-text);
            border-color: var(--club-border);
        }

        .club-name-cell {
            display: flex;
            align-items: center;
            gap: 0.9rem;
            min-width: 17rem;
        }

        .club-logo {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 3.8rem;
            height: 3.8rem;
            border: 1px solid var(--club-border);
            border-radius: 13px;
            background: var(--club-green-soft);
            color: var(--club-green);
            overflow: hidden;
            font-size: 0.9rem;
            font-weight: 950;
            line-height: 1;
            text-align: center;
        }

        .club-logo img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            padding: 0.15rem;
            background: var(--club-surface);
        }

        .club-logo-fallback {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, var(--club-green-soft), color-mix(in srgb, var(--club-green-soft) 70%, var(--club-surface)));
        }

        .club-name {
            display: block;
            color: var(--club-text);
            font-size: 1rem;
            font-weight: 950;
            text-decoration: none;
        }

        .club-website {
            color: var(--club-muted);
            font-size: 0.86rem;
            text-decoration: none;
        }

        .club-website:hover {
            color: var(--club-green);
            text-decoration: underline;
        }

        .status-pill,
        .module-pill {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            border-radius: 8px;
            padding: 0.45rem 0.7rem;
            border: 1px solid #cfe5d6;
            background: var(--club-green-soft);
            color: var(--club-green);
            font-size: 0.84rem;
            font-weight: 850;
            text-decoration: none;
        }

        .status-pill.is-warning {
            border-color: #fedf89;
            background: var(--club-orange-soft);
            color: var(--club-orange);
        }

        .status-dot {
            width: 0.5rem;
            height: 0.5rem;
            border-radius: 999px;
            background: currentColor;
        }

        .club-action-button {
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 8px;
            border: 1px solid var(--club-border);
            background: var(--club-surface);
            color: var(--club-text);
            transition: border-color 0.15s ease, box-shadow 0.15s ease;
        }

        .club-action-button:hover {
            border-color: #9fc6b3;
            box-shadow: 0 6px 14px rgba(16, 24, 40, 0.08);
        }

        .club-table-card .dropdown {
            position: static;
        }

        .club-table .dropdown-menu {
            min-width: 15rem;
            padding: 0.45rem;
            border-color: var(--club-border);
            border-radius: 12px;
            box-shadow: 0 18px 35px rgba(16, 24, 40, 0.15);
        }

        :root[data-theme="dark"] .club-table .dropdown-menu {
            box-shadow: 0 22px 38px rgba(0, 0, 0, 0.32);
        }

        .club-table .dropdown-item {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            border-radius: 8px;
            padding: 0.55rem 0.7rem;
            font-size: 0.9rem;
        }

        .club-table .dropdown-item i {
            width: 1rem;
        }

        .module-summary {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            margin-bottom: 1rem;
        }

        .module-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            border-radius: 999px;
            padding: 0.35rem 0.65rem;
            background: var(--club-green-soft);
            color: var(--club-green);
            font-size: 0.78rem;
            font-weight: 800;
        }

        .module-edit-list {
            display: grid;
            gap: 0.7rem;
        }

        .module-edit-box {
            border: 1px solid var(--club-border);
            border-radius: 10px;
            padding: 0.75rem;
            background: var(--club-surface);
            color: var(--club-text);
        }

        .module-children {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.35rem 0.75rem;
            margin-top: 0.55rem;
            padding-left: 1.75rem;
        }

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

        @media (max-width: 760px) {
            .club-stat-grid,
            .module-children {
                grid-template-columns: 1fr;
            }

            .club-toolbar {
                flex-direction: column;
            }
        }

/* resources/views/broadcasts/edit_admin.blade.php */
:root[data-theme="dark"] .broadcast-preview-frame {
                        background: #172832 !important;
                        border-color: #304652 !important;
                    }

                    :root[data-theme="dark"] .broadcast-preview-frame__header {
                        background: #1f323d;
                        border-color: #304652 !important;
                        color: #b2c4cd !important;
                    }

/* resources/views/broadcasts/partials/recipient_count.blade.php */
:root[data-theme="dark"] [data-broadcast-recipient-count] {
        background: #1b2d38 !important;
        border-color: #304652 !important;
    }

/* resources/views/broadcasts/partials/communication_composer.blade.php */
.communication-send-review-dialog {
        max-width: min(1700px, calc(100vw - 32px));
        width: min(1700px, calc(100vw - 32px));
        height: calc(100vh - 32px);
        margin: 16px auto;
    }

    .communication-send-review-dialog .modal-content {
        height: 100%;
        border-radius: 20px;
        overflow: hidden;
    }

    .communication-send-review-dialog .modal-body {
        padding: 1rem 1.25rem 1.25rem;
        background: #f5faf7;
    }

    .communication-send-review-dialog .communication-review-panel {
        background: transparent;
    }

    .communication-send-review-dialog .communication-review-grid {
        display: grid;
        grid-template-columns: 250px minmax(0, 1fr) 250px;
        gap: 1rem;
        align-items: start;
    }

    .communication-send-review-dialog .communication-preview-card {
        min-height: calc(100vh - 240px);
        display: flex;
        flex-direction: column;
    }

    .communication-send-review-dialog .communication-preview-body {
        min-height: calc(100vh - 320px);
        flex: 1 1 auto;
        overflow: auto;
        background: #fff;
    }

    @media (max-width: 1199.98px) {
        .communication-send-review-dialog {
            max-width: calc(100vw - 16px);
            width: calc(100vw - 16px);
            height: calc(100vh - 16px);
            margin: 8px auto;
        }

        .communication-send-review-dialog .communication-review-grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .communication-send-review-dialog .communication-preview-card,
        .communication-send-review-dialog .communication-preview-body {
            min-height: 420px;
        }
    }

/* resources/views/crm/club/settings/index.blade.php */
.crm-settings-section-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
        }

        .crm-settings-section-tab {
            align-items: center;
            background: #fff;
            border: 1px solid rgba(15, 23, 42, .12);
            border-radius: 8px;
            color: #0f172a;
            display: inline-flex;
            gap: .65rem;
            padding: .7rem .9rem;
            text-decoration: none;
        }

        .crm-settings-section-tab:hover,
        .crm-settings-section-tab--active {
            border-color: rgba(21, 128, 61, .45);
            color: #166534;
        }

        :root[data-theme="dark"] .crm-settings-section-tab {
            background: #1d313d;
            border-color: #324957;
            color: #d9e6ec;
        }

        :root[data-theme="dark"] .crm-settings-section-tab:hover,
        :root[data-theme="dark"] .crm-settings-section-tab--active {
            background: #223744;
            border-color: rgba(56, 178, 109, 0.34);
            color: #b7f0cf;
        }

/* resources/views/crm/club/daily_checklists/index.blade.php */
.daily-checklist-hero {
            align-items: center;
            background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 96%, transparent), color-mix(in srgb, var(--surface-muted) 94%, transparent));
            border: 1px solid color-mix(in srgb, var(--primary) 16%, var(--border));
            border-radius: 24px;
            display: flex;
            justify-content: space-between;
            padding: 1.5rem;
        }

        .daily-checklist-progress {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 18px;
            min-width: 150px;
            padding: 1rem 1.25rem;
            text-align: center;
        }

        .daily-checklist-progress__value {
            color: var(--text);
            display: block;
            font-size: 1.75rem;
            font-weight: 800;
            line-height: 1;
        }

        .daily-checklist-progress__label {
            color: var(--text-muted);
            font-size: .85rem;
        }

        .daily-checklist-bar {
            background: var(--surface-muted);
            border-radius: 999px;
            height: .7rem;
            overflow: hidden;
        }

        .daily-checklist-bar__fill {
            background: var(--primary);
            border-radius: inherit;
            height: 100%;
        }

        .daily-checklist-section-nav {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
        }

        .daily-checklist-section-link {
            align-items: center;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 12px;
            color: var(--text);
            display: inline-flex;
            gap: .65rem;
            padding: .7rem .9rem;
            text-decoration: none;
            transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
        }

        .daily-checklist-section-link:hover,
        .daily-checklist-section-link--active {
            background: var(--surface-hover);
            border-color: color-mix(in srgb, var(--primary) 38%, var(--border));
            color: var(--primary);
            transform: translateY(-1px);
        }

        .daily-checklist-item {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 16px;
            margin-bottom: .75rem;
            padding: .9rem;
        }

        .daily-checklist-item__comment {
            display: flex;
            gap: .5rem;
            margin-top: .75rem;
        }

        :root[data-theme="dark"] .daily-checklist-hero {
            background: linear-gradient(180deg, rgba(26, 40, 50, 0.96), rgba(21, 34, 43, 0.96));
            border-color: var(--border);
        }

        :root[data-theme="dark"] .daily-checklist-progress,
        :root[data-theme="dark"] .daily-checklist-section-link,
        :root[data-theme="dark"] .daily-checklist-item {
            background: #1a2c36;
            border-color: #324957;
        }

        :root[data-theme="dark"] .daily-checklist-section-link:hover,
        :root[data-theme="dark"] .daily-checklist-section-link--active {
            background: #223744;
            border-color: rgba(56, 178, 109, 0.34);
            color: #b9efce;
        }

        :root[data-theme="dark"] .daily-checklist-progress__value {
            color: #edf4f1;
        }

        :root[data-theme="dark"] .daily-checklist-progress__label {
            color: #a8bcc5;
        }

        :root[data-theme="dark"] .daily-checklist-bar {
            background: #2a3f4b;
        }

        :root[data-theme="dark"] .daily-checklist-bar__fill {
            background: linear-gradient(90deg, #2f9e63 0%, #38b26d 100%);
        }

        @media (max-width: 768px) {
            .daily-checklist-hero {
                align-items: stretch;
                flex-direction: column;
                gap: 1rem;
            }

            .daily-checklist-item__comment {
                flex-direction: column;
            }

            .daily-checklist-section-link {
                justify-content: space-between;
                width: 100%;
            }
        }

/* resources/views/crm/club/stats/index.blade.php */
.crm-top-action {
            border-radius: 12px;
            font-weight: 600;
            box-shadow: none;
            border: 1px solid var(--border);
            background: var(--surface);
            color: var(--text);
        }

        .crm-top-action:hover,
        .crm-top-action:focus {
            background: var(--surface-hover);
            border-color: var(--border-strong);
            color: var(--text);
        }

        .crm-stat-highlight {
            background: var(--surface-muted);
            border: 1px solid var(--border);
            color: var(--text);
        }

        .crm-sales-warning {
            background: color-mix(in srgb, var(--warning) 18%, var(--surface) 82%);
            border-color: color-mix(in srgb, var(--warning) 38%, var(--border) 62%);
        }

        :root[data-theme="dark"] .crm-top-action {
            background: #1a2d38;
            border-color: #33505e;
            color: #e9f2ee;
        }

        :root[data-theme="dark"] .crm-top-action:hover,
        :root[data-theme="dark"] .crm-top-action:focus {
            background: #223744;
            border-color: #42616f;
        }

        :root[data-theme="dark"] .crm-stat-highlight {
            background: #243844;
            border-color: #34515f;
        }

        :root[data-theme="dark"] .crm-sales-warning {
            background: rgba(122, 89, 10, 0.34);
            border-color: rgba(227, 180, 92, 0.4);
        }

/* resources/views/crm/club/employees/edit.blade.php */
.employee-member-combobox {
        position: relative;
    }

    .employee-member-options {
        background: var(--bs-body-bg);
        border: 1px solid rgba(15, 23, 42, .14);
        border-radius: .375rem;
        box-shadow: 0 .75rem 1.75rem rgba(15, 23, 42, .12);
        left: 0;
        max-height: 18rem;
        overflow-y: auto;
        position: absolute;
        right: 0;
        top: calc(100% + .25rem);
        z-index: 20;
    }

    .employee-member-option {
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(15, 23, 42, .08);
        color: inherit;
        display: block;
        padding: .5rem .65rem;
        text-align: left;
        width: 100%;
    }

    .employee-member-option:last-child {
        border-bottom: 0;
    }

    .employee-member-option:hover,
    .employee-member-option:focus {
        background: rgba(13, 110, 253, .08);
        outline: 0;
    }

    .employee-member-clear {
        background: transparent;
        border: 0;
        color: var(--bs-secondary-color);
        position: absolute;
        right: .25rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .employee-member-search {
        padding-right: 2rem;
    }

    .employee-responsibility-options {
        display: grid;
        gap: .5rem .75rem;
        grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    }

    .employee-responsibility-option {
        border: 1px solid rgba(15, 23, 42, .12);
        border-radius: .375rem;
        padding: .65rem .75rem .65rem 2.25rem;
    }

    .employee-responsibility-percentage {
        margin-top: .5rem;
    }

/* resources/views/email_templates/partials/index.blade.php */
.template-library {
        --template-border: var(--border, rgba(15, 60, 38, 0.10));
        --template-shadow: 0 18px 44px rgba(15, 52, 38, 0.08);
        --template-green: #167c4d;
        --template-green-soft: #eef7f1;
        --template-text: var(--text, #18392b);
        --template-muted: var(--text-muted, #6e8076);
        --template-surface: var(--surface, #ffffff);
        --template-surface-muted: var(--surface-muted, #f6f9f7);
        --template-surface-elevated: var(--surface-elevated, #fbfcfb);
        --template-input: var(--surface, #ffffff);
        color: var(--template-text);
    }

    :root[data-theme="dark"] .template-library {
        --template-shadow: 0 22px 44px rgba(0, 0, 0, 0.26);
        --template-green: #31c779;
        --template-green-soft: rgba(49, 199, 121, 0.13);
        --template-surface: var(--surface);
        --template-surface-muted: var(--surface-muted);
        --template-surface-elevated: var(--surface-elevated);
        --template-input: #203541;
    }

    .template-toolbar,
    .template-card,
    .template-sidebar,
    .template-empty-card,
    .template-no-results {
        background: linear-gradient(180deg, color-mix(in srgb, var(--template-surface) 98%, transparent), color-mix(in srgb, var(--template-surface-muted) 96%, transparent));
        border: 1px solid var(--template-border);
        border-radius: 24px;
        box-shadow: var(--template-shadow);
    }
    .template-toolbar {
        padding: 1rem;
        display: flex;
        align-items: center;
        gap: 0.875rem;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 1.5rem;
    }
    .template-toolbar__left,
    .template-toolbar__right {
        display: flex;
        align-items: center;
        gap: 0.875rem;
        flex-wrap: wrap;
    }
    .template-count {
        display: inline-flex;
        align-items: center;
        padding: 0.7rem 0.95rem;
        border-radius: 14px;
        background: var(--template-surface-muted);
        color: var(--template-text);
        font-size: 0.9rem;
        font-weight: 700;
    }
    .template-search {
        position: relative;
        min-width: min(100%, 320px);
        flex: 1 1 320px;
    }
    .template-search__icon {
        position: absolute;
        left: 1rem;
        top: 50%;
        transform: translateY(-50%);
        color: #96a39c;
        pointer-events: none;
    }
    .template-search__input,
    .template-sort {
        border: 1px solid var(--template-border);
        background: var(--template-input);
        color: var(--template-text);
        border-radius: 14px;
        min-height: 48px;
        box-shadow: inset 0 1px 0 color-mix(in srgb, var(--template-surface-elevated) 60%, transparent);
    }

    .template-search__input::placeholder {
        color: var(--text-subtle, #96a39c);
    }
    .template-search__input {
        width: 100%;
        padding: 0.85rem 1rem 0.85rem 2.8rem;
    }
    .template-chip-list {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        flex-wrap: wrap;
    }
    .template-chip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0.7rem 1rem;
        border-radius: 14px;
        border: 1px solid var(--template-border);
        background: color-mix(in srgb, var(--template-surface) 92%, transparent);
        color: var(--template-muted);
        text-decoration: none;
        font-weight: 600;
        transition: all 0.18s ease;
    }
    .template-chip:hover,
    .template-chip--active {
        background: var(--template-green);
        border-color: var(--template-green);
        color: #fff;
    }
    .template-library__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }
    .template-library__main {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.25rem;
        align-content: start;
    }
    .template-card,
    .template-empty-card,
    .template-no-results,
    .template-sidebar {
        padding: 1rem;
    }
    .template-card {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        min-height: 100%;
    }
    .template-card__preview-shell {
        position: relative;
        padding: 0.65rem;
        border-radius: 22px;
        background: linear-gradient(180deg, color-mix(in srgb, var(--template-surface-muted) 95%, transparent), color-mix(in srgb, var(--template-surface) 95%, transparent));
        border: 1px solid var(--template-border);
        min-height: 178px;
        overflow: hidden;
    }
    .template-card__preview {
        background: #fff;
        border-radius: 18px;
        border: 1px solid rgba(20, 74, 48, 0.08);
        overflow: hidden;
        min-height: 165px;
        height: 165px;
    }
    .template-card__preview-frame {
        width: 200%;
        height: 330px;
        border: 0;
        transform: scale(0.5);
        transform-origin: top left;
        pointer-events: none;
        background: #fff;
    }
    .template-card__icon {
        position: absolute;
        top: 0.9rem;
        right: 0.9rem;
        width: 50px;
        height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        border: 1px solid var(--template-border);
        background: color-mix(in srgb, var(--template-surface) 96%, transparent);
        color: var(--template-green);
        font-size: 1.15rem;
        box-shadow: 0 10px 24px rgba(15, 52, 38, 0.12);
    }
    .template-card__meta {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }
    .template-card__updated {
        color: var(--template-muted);
        font-size: 0.8rem;
        margin: 0;
    }
    .template-card__title,
    .template-empty-card__title,
    .template-sidebar__title {
        font-size: 1.5rem;
        font-weight: 700;
        letter-spacing: -0.03em;
        margin: 0;
    }
    .template-card__title {
        font-size: 1.35rem;
    }
    .template-card__description,
    .template-empty-card__description,
    .template-sidebar__intro,
    .template-no-results__text {
        color: var(--template-muted);
        line-height: 1.6;
        margin: 0;
    }
    .template-card__actions {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        margin-top: auto;
        flex-wrap: wrap;
    }
    .template-action {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        min-height: 42px;
        padding: 0.65rem 0.95rem;
        border-radius: 12px;
        border: 1px solid var(--template-border);
        background: color-mix(in srgb, var(--template-surface) 92%, transparent);
        color: var(--template-green);
        text-decoration: none;
        font-weight: 600;
    }

    .template-action:hover,
    .template-action:focus {
        background: var(--template-green-soft);
        color: var(--template-green);
        border-color: color-mix(in srgb, var(--template-green) 38%, var(--template-border));
    }

    .template-action--icon {
        min-width: 42px;
        justify-content: center;
        padding-inline: 0.8rem;
        color: var(--template-muted);
    }
    .template-empty-card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        min-height: 100%;
        border-style: dashed;
        border-color: rgba(22, 124, 77, 0.35);
        background: linear-gradient(180deg, color-mix(in srgb, var(--template-surface-muted) 98%, transparent), color-mix(in srgb, var(--template-surface) 98%, transparent));
    }
    .template-empty-card__plus {
        width: 76px;
        height: 76px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: var(--template-green-soft);
        color: var(--template-green);
        font-size: 1.6rem;
        margin-bottom: 1.1rem;
    }
    .template-empty-card__cta {
        min-width: 180px;
        margin-top: 1.35rem;
    }
    .template-sidebar {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .template-sidebar__header-icon,
    .template-sidebar__point-icon,
    .template-sidebar__tip-icon {
        width: 48px;
        height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: var(--template-green-soft);
        color: var(--template-green);
    }
    .template-sidebar__point {
        display: flex;
        align-items: flex-start;
        gap: 0.85rem;
        padding-top: 1rem;
        border-top: 1px solid var(--template-border);
    }
    .template-sidebar__point:first-of-type {
        border-top: 0;
        padding-top: 0.2rem;
    }
    .template-sidebar__point-title,
    .template-sidebar__tip-title {
        font-size: 1rem;
        font-weight: 600;
        margin: 0 0 0.25rem;
    }
    .template-sidebar__point-text,
    .template-sidebar__tip-text {
        color: var(--template-muted);
        line-height: 1.55;
        margin: 0;
    }
    .template-sidebar__tip {
        margin-top: auto;
        border-radius: 18px;
        padding: 1rem;
        background: linear-gradient(180deg, var(--template-green-soft), var(--template-surface-muted));
    }

    .template-preview-modal-body {
        background: var(--surface-muted);
    }

    .template-preview-frame-shell {
        background: #fff;
    }
    .template-no-results {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 260px;
    }
    .template-no-results__title {
        font-size: 1.2rem;
        font-weight: 700;
        margin-bottom: 0.45rem;
    }
    @media (min-width: 1200px) {
        .template-library__grid {
            grid-template-columns: minmax(0, 1fr) 300px;
            align-items: start;
        }
    }
    @media (max-width: 767.98px) {
        .template-toolbar {
            padding: 0.9rem;
        }
        .template-card__title,
        .template-empty-card__title,
        .template-sidebar__title {
            font-size: 1.2rem;
        }
    }

/* resources/views/email_templates/partials/editor.blade.php */
.template-builder {
        --builder-green: #177a4f;
        --builder-green-soft: #edf7f1;
        --builder-text: #18392b;
        --builder-muted: #6d8076;
        --builder-border: rgba(17, 71, 46, 0.12);
        --builder-shadow: 0 20px 48px rgba(15, 52, 38, 0.08);
        color: var(--builder-text);
    }

    .template-builder__shell,
    .template-builder__panel,
    .template-builder__canvas-frame,
    .template-builder__advanced,
    .template-builder__preview-modal-card {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 247, 0.98));
        border: 1px solid var(--builder-border);
        border-radius: 24px;
        box-shadow: var(--builder-shadow);
    }

    .template-builder__shell {
        padding: 0.85rem;
    }

    .template-builder__topbar {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
        flex-wrap: wrap;
        margin-bottom: 0.85rem;
    }

    .template-builder__meta {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        min-width: min(100%, 360px);
    }

    .template-builder__back {
        color: var(--builder-green);
        font-size: 0.95rem;
        text-decoration: none;
        font-weight: 600;
    }

    .template-builder__title {
        font-size: 1.55rem;
        font-weight: 800;
        letter-spacing: -0.03em;
        margin: 0;
    }

    .template-builder__subtitle {
        margin: 0;
        color: var(--builder-muted);
        line-height: 1.45;
        font-size: 0.95rem;
    }

    .template-builder__topbar-right {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .template-builder__status {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        min-height: 38px;
        padding: 0.5rem 0.8rem;
        border-radius: 999px;
        background: var(--builder-green-soft);
        color: var(--builder-green);
        font-weight: 700;
        font-size: 0.92rem;
    }

    .template-builder__status-dot {
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background: currentColor;
    }

    .template-builder__name-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        margin-bottom: 0.85rem;
    }

    .template-builder__name-card {
        padding: 0.8rem;
        border-radius: 18px;
        border: 1px solid var(--builder-border);
        background: rgba(255, 255, 255, 0.94);
    }

    .template-builder__name-input {
        font-size: 1rem;
        font-weight: 600;
        min-height: 46px;
        border-radius: 14px;
        border-color: rgba(17, 71, 46, 0.12);
    }

    .template-builder__mobile-tabs {
        display: none;
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    .template-builder__mobile-tab {
        flex: 1 1 0;
        min-height: 44px;
        border-radius: 14px;
        border: 1px solid var(--builder-border);
        background: #fff;
        color: #406152;
        font-weight: 700;
    }

    .template-builder__mobile-tab.is-active {
        background: var(--builder-green);
        border-color: var(--builder-green);
        color: #fff;
    }

    .template-builder__grid {
        display: grid;
        grid-template-columns: 368px minmax(0, 1fr) 320px;
        gap: 0.95rem;
        align-items: stretch;
    }

    .template-builder__panel {
        padding: 0.85rem;
        display: flex;
        flex-direction: column;
    }

    .template-builder__panel-heading {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        margin-bottom: 0.75rem;
        flex: 0 0 auto;
    }

    .template-builder__panel-title {
        font-size: 1.05rem;
        font-weight: 800;
        margin: 0;
    }

    .template-builder__panel-text {
        margin: 0;
        color: var(--builder-muted);
        line-height: 1.45;
        font-size: 0.92rem;
    }

    .template-builder__block-library {
        display: grid;
        gap: 0.65rem;
        overflow: auto;
        padding-right: 0.25rem;
        overflow-x: hidden;
    }

    .template-builder__library-card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.8rem 0.85rem;
        border: 1px solid rgba(17, 71, 46, 0.1);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.96);
        min-width: 0;
    }

    .template-builder__library-meta {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-width: 0;
        flex: 1 1 auto;
    }

    .template-builder__library-icon {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        background: var(--builder-green-soft);
        color: var(--builder-green);
        flex: 0 0 auto;
    }

    .template-builder__library-label {
        font-weight: 700;
        margin-bottom: 0.18rem;
        font-size: 0.96rem;
    }

    .template-builder__library-help {
        font-size: 0.83rem;
        color: var(--builder-muted);
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .template-builder__canvas-actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.55rem;
        flex-wrap: wrap;
        margin-bottom: 0.75rem;
        flex: 0 0 auto;
    }

    .template-builder__device-toggle {
        display: inline-flex;
        gap: 0.5rem;
        padding: 0.3rem;
        border-radius: 999px;
        background: #eef3ef;
    }

    .template-builder__device-button {
        min-width: 92px;
        min-height: 36px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: #4a6558;
        font-weight: 700;
    }

    .template-builder__device-button.is-active {
        background: #fff;
        color: var(--builder-green);
        box-shadow: 0 6px 18px rgba(15, 52, 38, 0.08);
    }

    .template-builder__canvas-frame {
        padding: 1rem 1.15rem;
        min-height: 0;
        height: min(70vh, 860px);
        background: linear-gradient(180deg, #eef4ef, #f8fbf9);
        overflow: auto;
        overflow-x: hidden;
        flex: 1 1 auto;
    }

    .template-builder__email-shell {
        width: 100%;
        max-width: 680px;
        margin: 0 auto;
    }

    .template-builder__email-card {
        border-radius: 24px;
        overflow: hidden;
        background: #fff;
        border: 1px solid rgba(17, 71, 46, 0.08);
        box-shadow: 0 22px 46px rgba(15, 52, 38, 0.12);
    }

    .template-builder__email-header {
        padding: 1.2rem 1.4rem;
        background: linear-gradient(135deg, #163f2e, #285f44);
        color: #fff;
    }

    .template-builder__email-header-title {
        font-size: 1.28rem;
        font-weight: 800;
        margin: 0;
    }

    .template-builder__email-header-text {
        margin: 0.35rem 0 0;
        color: rgba(255, 255, 255, 0.82);
        line-height: 1.45;
        font-size: 0.95rem;
    }

    .template-builder__email-inner {
        padding: 1rem;
        background: linear-gradient(180deg, #ffffff, #f8fbf9);
    }

    .template-builder__system-card,
    .template-builder__block {
        border-radius: 18px;
        border: 1px solid rgba(17, 71, 46, 0.1);
        background: rgba(255, 255, 255, 0.98);
        margin-bottom: 0.75rem;
        position: relative;
    }

    .template-builder__system-card {
        padding: 0.85rem;
        background: linear-gradient(180deg, #f6faf7, #ffffff);
    }

    .template-builder__system-label {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.82rem;
        font-weight: 800;
        color: var(--builder-green);
        margin-bottom: 0.55rem;
        letter-spacing: 0.02em;
    }

    .template-builder__logo-shell {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        min-width: 128px;
        border-radius: 16px;
        border: 1px solid #dce7df;
        background: linear-gradient(180deg, #ffffff, #f6faf7);
        padding: 0.6rem 0.75rem;
        box-shadow: 0 14px 30px rgba(17, 46, 28, 0.08);
    }

    .template-builder__logo-eyebrow {
        font-size: 0.64rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #6b7d72;
        margin-bottom: 0.45rem;
    }

    .template-builder__logo-image {
        max-width: 122px;
        max-height: 72px;
        width: auto;
        height: auto;
        display: block;
    }

    .template-builder__logo-fallback {
        display: inline-flex;
        padding: 0.7rem 0.85rem;
        border-radius: 12px;
        border: 1px dashed #b7c6bd;
        background: #f7faf8;
        color: #547062;
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .template-builder__block {
        padding: 0.85rem;
        cursor: pointer;
        transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    }

    .template-builder__block:hover {
        border-color: rgba(23, 122, 79, 0.35);
        box-shadow: 0 14px 28px rgba(15, 52, 38, 0.08);
        transform: translateY(-1px);
    }

    .template-builder__block.is-selected {
        border-color: var(--builder-green);
        box-shadow: 0 0 0 3px rgba(23, 122, 79, 0.12), 0 14px 28px rgba(15, 52, 38, 0.08);
    }

    .template-builder__block-toolbar {
        position: absolute;
        top: 0.7rem;
        right: 0.7rem;
        display: flex;
        gap: 0.35rem;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.16s ease;
    }

    .template-builder__block:hover .template-builder__block-toolbar,
    .template-builder__block.is-selected .template-builder__block-toolbar {
        opacity: 1;
        pointer-events: auto;
    }

    .template-builder__icon-button {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        border: 1px solid rgba(17, 71, 46, 0.12);
        background: rgba(255, 255, 255, 0.98);
        color: #355847;
    }

    .template-builder__block-tag {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.8rem;
        font-weight: 800;
        color: var(--builder-green);
        margin-bottom: 0.55rem;
        letter-spacing: 0.01em;
    }

    .template-builder__block-title {
        font-weight: 800;
        margin-bottom: 0.45rem;
        color: var(--builder-text);
        line-height: 1.2;
    }

    .template-builder__block-copy {
        color: #4d6258;
        line-height: 1.5;
        font-size: 0.95rem;
    }

    .template-builder__hero-image,
    .template-builder__image {
        width: 100%;
        border-radius: 18px;
        display: block;
        object-fit: cover;
        background: #e9f2ed;
    }

    .template-builder__hero-image {
        height: 180px;
        margin-bottom: 0.85rem;
    }

    .template-builder__image {
        height: 160px;
        margin-bottom: 0.75rem;
    }

    .template-builder__cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 0.65rem 1rem;
        border-radius: 999px;
        background: linear-gradient(135deg, #1f7a4c, #2f915f);
        color: #fff;
        text-decoration: none;
        font-weight: 700;
        box-shadow: 0 10px 22px rgba(31, 122, 76, 0.18);
        font-size: 0.92rem;
    }

    .template-builder__cta--secondary {
        background: #eef6f1;
        color: var(--builder-green);
        box-shadow: none;
        border: 1px solid rgba(23, 122, 79, 0.18);
    }

    .template-builder__info-box {
        padding: 0.85rem 0.95rem;
        border-radius: 16px;
        background: #f2f7f4;
        border: 1px solid #dce8df;
    }

    .template-builder__two-column {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .template-builder__column-card,
    .template-builder__article-card {
        padding: 0.85rem;
        border-radius: 16px;
        border: 1px solid #e3ece7;
        background: #fff;
    }

    .template-builder__divider {
        border: 0;
        border-top: 1px solid #dde7e0;
        margin: 0.25rem 0;
    }

    .template-builder__empty {
        min-height: 240px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px dashed rgba(23, 122, 79, 0.28);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.75);
        text-align: center;
        padding: 1.5rem;
        color: var(--builder-muted);
    }

    .template-builder__settings-placeholder,
    .template-builder__tip-card {
        border-radius: 16px;
        border: 1px solid rgba(17, 71, 46, 0.08);
        background: rgba(255, 255, 255, 0.95);
        padding: 0.85rem;
    }

    .template-builder__tip-card {
        background: linear-gradient(180deg, #eef8f2, #f8fcf9);
    }

    .template-builder__field-row {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
        margin-bottom: 0.8rem;
    }

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

    .template-builder__field-label {
        font-size: 0.88rem;
        font-weight: 700;
    }

    .template-builder__chip-group {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .template-builder__chip {
        min-height: 36px;
        padding: 0.45rem 0.75rem;
        border-radius: 999px;
        border: 1px solid rgba(17, 71, 46, 0.12);
        background: #fff;
        color: #4b6558;
        font-weight: 700;
        font-size: 0.88rem;
    }

    .template-builder__chip.is-active {
        background: var(--builder-green);
        border-color: var(--builder-green);
        color: #fff;
    }

    .template-builder__field-token-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .template-builder__field-token {
        min-height: 32px;
        padding: 0.35rem 0.7rem;
        border-radius: 999px;
        border: 1px solid rgba(17, 71, 46, 0.12);
        background: #fff;
        color: var(--builder-green);
        font-weight: 700;
        font-size: 0.82rem;
    }

    @media (min-width: 1200px) {
        .template-builder__panel[data-mobile-panel="blocks"],
        .template-builder__panel[data-mobile-panel="settings"] {
            height: min(70vh, 860px);
        }

        .template-builder__panel[data-mobile-panel="settings"] [data-builder-settings] {
            overflow: auto;
            padding-right: 0.2rem;
        }
    }

    .template-builder__preview-modal {
        position: fixed;
        inset: 0;
        background: rgba(13, 30, 21, 0.5);
        display: none;
        align-items: center;
        justify-content: center;
        padding: 1.5rem;
        z-index: 1055;
    }

    .template-builder__preview-modal.is-open {
        display: flex;
    }

    .template-builder__preview-modal-card {
        width: min(1100px, 100%);
        padding: 1rem;
    }

    .template-builder__preview-frame {
        width: 100%;
        min-height: 74vh;
        border: 0;
        border-radius: 20px;
        background: #fff;
    }

    .template-builder__advanced summary {
        cursor: pointer;
        font-weight: 700;
        padding: 1rem 1.1rem;
    }

    .template-builder__advanced-body {
        padding: 0 1.1rem 1.1rem;
    }

    .template-builder__advanced textarea {
        min-height: 220px;
        font-family: Consolas, monospace;
        font-size: 0.88rem;
    }

    .template-builder__hidden {
        display: none !important;
    }

    @media (max-width: 1199.98px) {
        .template-builder__grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .template-builder__canvas-frame,
        .template-builder__panel[data-mobile-panel="blocks"],
        .template-builder__panel[data-mobile-panel="settings"] {
            height: auto;
        }

        .template-builder__block-library,
        .template-builder__panel[data-mobile-panel="settings"] [data-builder-settings] {
            overflow: visible;
        }
    }

    @media (max-width: 767.98px) {
        .template-builder__mobile-tabs {
            display: flex;
        }

        .template-builder__panel[data-mobile-panel] {
            display: none;
        }

        .template-builder__panel[data-mobile-panel].is-active {
            display: block;
        }

        .template-builder__canvas-frame {
            padding: 0.8rem;
        }

        .template-builder__email-inner {
            padding: 1rem;
        }

        .template-builder__two-column {
            grid-template-columns: minmax(0, 1fr);
        }

        .template-builder__topbar-right {
            justify-content: flex-start;
        }
    }

/* resources/views/score_cards/manual_create.blade.php */
.compact-round-shell {
            display: grid;
            gap: 1rem;
        }

        .compact-round-card,
        .compact-round-hero {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 8px;
            box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
            padding: 1.25rem;
        }

        .compact-round-hero {
            background: linear-gradient(180deg, var(--surface) 0%, var(--surface-muted) 100%);
            display: grid;
            gap: 1.25rem;
        }

        .compact-round-hero__header,
        .compact-round-hero__body,
        .compact-round-progress,
        .compact-round-summary {
            display: flex;
            gap: 1rem;
        }

        .compact-round-hero__header,
        .compact-round-progress {
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
        }

        .compact-round-hero__body {
            justify-content: space-between;
            flex-wrap: wrap;
        }

        .compact-round-live {
            align-items: center;
            color: var(--primary);
            display: inline-flex;
            font-size: 0.92rem;
            font-weight: 700;
            gap: 0.5rem;
        }

        .compact-round-live__dot {
            width: 10px;
            height: 10px;
            border-radius: 999px;
            background: var(--success);
            box-shadow: 0 0 0 6px color-mix(in srgb, var(--success) 18%, transparent);
        }

        .compact-round-live__club {
            color: var(--text-muted);
            font-size: 0.92rem;
            margin-top: 0.35rem;
        }

        .compact-round-hole-meta,
        .compact-round-entry {
            flex: 1 1 280px;
        }

        .compact-round-hole-title {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 0.65rem;
            margin-bottom: 0.65rem;
        }

        .compact-round-hole-title span:first-child {
            color: var(--text);
            font-size: 2rem;
            font-weight: 800;
            letter-spacing: 0;
        }

        .compact-round-hole-total {
            color: var(--text-muted);
            font-size: 1rem;
            font-weight: 600;
        }

        .compact-round-badge {
            background: var(--primary-soft);
            border-radius: 999px;
            color: var(--success);
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            padding: 0.3rem 0.65rem;
            text-transform: uppercase;
        }

        .compact-round-hole-name {
            color: var(--text);
            font-size: 1.4rem;
            font-weight: 700;
            margin-bottom: 1rem;
        }

        .compact-round-hole-stats {
            display: grid;
            gap: 0.85rem;
            grid-template-columns: repeat(3, minmax(80px, 1fr));
            max-width: 420px;
        }

        .compact-round-hole-stats span,
        .compact-round-summary span {
            color: var(--text-muted);
            display: block;
            font-size: 0.8rem;
            font-weight: 700;
            margin-bottom: 0.18rem;
            text-transform: uppercase;
        }

        .compact-round-hole-stats strong,
        .compact-round-summary strong {
            color: var(--text);
            font-size: 1.4rem;
            font-weight: 800;
        }

        .compact-round-entry__input {
            border-radius: 16px;
            font-size: 1.25rem;
            min-height: 68px;
            padding: 1rem 1.1rem;
        }

        .compact-round-entry__actions {
            display: flex;
            gap: 0.75rem;
            margin-top: 1rem;
        }

        .compact-round-entry__actions .btn {
            min-width: 150px;
        }

        .compact-round-progress__meta {
            color: var(--text-muted);
            display: flex;
            gap: 0.75rem;
            align-items: center;
        }

        .compact-round-progress__meta strong {
            color: var(--text);
        }

        .compact-round-progress__bar {
            flex: 1 1 280px;
            height: 10px;
            background: var(--surface-muted);
            border-radius: 999px;
            overflow: hidden;
        }

        .compact-round-progress__bar span {
            display: block;
            height: 100%;
            width: 0;
            background: linear-gradient(90deg, var(--primary) 0%, var(--success) 100%);
            border-radius: 999px;
            transition: width 0.2s ease;
        }

        .compact-round-summary {
            display: grid;
            grid-template-columns: repeat(5, minmax(120px, 1fr));
            margin-top: 1rem;
        }

        .compact-round-summary div {
            border-right: 1px solid var(--border);
            padding-right: 1rem;
        }

        .compact-round-summary div:last-child {
            border-right: 0;
            padding-right: 0;
        }

        .compact-round-summary #manualToPar {
            color: var(--danger);
        }

        .compact-round-note {
            background: color-mix(in srgb, var(--warning) 10%, var(--surface));
            border: 1px solid color-mix(in srgb, var(--warning) 28%, transparent);
            border-radius: 14px;
            color: color-mix(in srgb, var(--warning) 72%, var(--text));
            padding: 0.875rem 1rem;
        }

        .compact-scorecard-table {
            overflow-x: auto;
        }

        .compact-scorecard-table table {
            min-width: 980px;
        }

        .compact-scorecard-table th,
        .compact-scorecard-table td {
            border-color: var(--border);
            text-align: center;
            vertical-align: middle;
        }

        .compact-scorecard-table th {
            background: var(--surface-muted);
            color: var(--text-muted);
            font-size: 0.82rem;
            white-space: nowrap;
        }

        .compact-scorecard-hole-no {
            color: var(--text);
            font-weight: 800;
        }

        .compact-scorecard-hole-name {
            color: var(--text-muted);
            font-size: 0.72rem;
            margin-top: 0.18rem;
            white-space: nowrap;
        }

        .compact-score-input {
            border-radius: 12px;
            margin: 0 auto;
            max-width: 64px;
            text-align: center;
        }

        .compact-scorecard-active {
            background: var(--primary-soft) !important;
            box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 45%, transparent);
        }

        .compact-scorecard-total {
            font-weight: 800;
        }

        .compact-scorecard-divider th,
        .compact-scorecard-divider td {
            border-top-width: 2px;
        }

        [data-theme="dark"] .compact-round-card,
        [data-theme="dark"] .compact-round-hero {
            background: var(--surface);
            border-color: var(--border);
            box-shadow: 0 22px 44px rgba(0, 0, 0, 0.22);
        }

        [data-theme="dark"] .compact-round-hero {
            background: linear-gradient(180deg, var(--surface) 0%, var(--surface-elevated) 100%);
        }

        [data-theme="dark"] .compact-round-entry__input,
        [data-theme="dark"] .compact-score-input {
            background: #142630;
            border-color: #3a5360;
            color: var(--text);
        }

        [data-theme="dark"] .compact-round-entry__input::placeholder,
        [data-theme="dark"] .compact-score-input::placeholder {
            color: var(--text-subtle);
        }

        [data-theme="dark"] .compact-scorecard-table table,
        [data-theme="dark"] .compact-scorecard-table tbody,
        [data-theme="dark"] .compact-scorecard-table tr,
        [data-theme="dark"] .compact-scorecard-table td {
            background: transparent;
            color: var(--text);
        }

        [data-theme="dark"] .compact-scorecard-table th {
            background: #203541;
            color: var(--text-muted);
        }

        [data-theme="dark"] .compact-scorecard-table td {
            background: var(--surface);
        }

        [data-theme="dark"] .compact-scorecard-divider th,
        [data-theme="dark"] .compact-scorecard-divider td {
            border-top-color: var(--border-strong);
        }

        .compact-scorecard-hidden {
            display: none;
        }

        @media (max-width: 900px) {
            .compact-round-summary {
                grid-template-columns: repeat(2, minmax(120px, 1fr));
                gap: 0.85rem;
            }

            .compact-round-summary div {
                border-right: 0;
                padding-right: 0;
            }

            .compact-round-entry__actions {
                flex-direction: column;
            }

            .compact-round-entry__actions .btn {
                width: 100%;
            }
        }

/* resources/views/marshal_shifts/index_club.blade.php */
.marshal-page .btn-success,
    .marshal-page .btn-outline-secondary,
    .marshal-page .btn-outline-success,
    .marshal-page .btn-outline-danger,
    .marshal-page .btn-outline-warning,
    .marshal-page .btn-danger {
        border-radius: 12px;
        font-weight: 600;
        box-shadow: none;
    }

    .marshal-page .btn-success {
        background: #1f2937;
        border-color: #1f2937;
        color: #fff;
    }

    .marshal-page .btn-success:hover,
    .marshal-page .btn-success:focus {
        background: #111827;
        border-color: #111827;
        color: #fff;
    }

    .marshal-page .btn-outline-secondary,
    .marshal-page .btn-outline-success,
    .marshal-page .btn-outline-danger,
    .marshal-page .btn-outline-warning {
        border-color: rgba(31, 41, 55, 0.18);
        color: #374151;
        background: #fff;
    }

    .marshal-page .btn-outline-secondary:hover,
    .marshal-page .btn-outline-success:hover,
    .marshal-page .btn-outline-danger:hover,
    .marshal-page .btn-outline-warning:hover {
        background: #f8fafc;
        border-color: rgba(31, 41, 55, 0.28);
        color: #111827;
    }

    .marshal-page .btn-danger {
        background: #374151;
        border-color: #374151;
        color: #fff;
    }

    .marshal-page .btn-danger:hover,
    .marshal-page .btn-danger:focus {
        background: #1f2937;
        border-color: #1f2937;
        color: #fff;
    }

/* resources/views/marshal_shifts/partials/table.blade.php */
.marshal-filter-card,
    .marshal-table-card {
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    }

    .marshal-filter-card .card-body,
    .marshal-table-card .card-body {
        padding: 1.1rem 1.2rem;
    }

    .marshal-status-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 88px;
        padding: 0.42rem 0.7rem;
        border-radius: 999px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        background: #f7f9fb;
        color: #233246;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.01em;
    }

    .marshal-status-badge--assigned {
        background: #eef2f7;
        color: #162334;
    }

    .marshal-status-badge--available {
        background: #f8fafc;
        color: #475569;
    }

    .marshal-status-badge--completed,
    .marshal-status-badge--cancelled {
        background: #f3f4f6;
        color: #4b5563;
    }

    .marshal-action-row .btn {
        min-width: 84px;
    }

    .marshal-bulk-toolbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .marshal-empty {
        color: #94a3b8;
    }

    :root[data-theme="dark"] .marshal-filter-card,
    :root[data-theme="dark"] .marshal-table-card {
        border-color: #304652;
        background: rgba(26, 40, 50, 0.98);
        box-shadow: none;
    }

    :root[data-theme="dark"] .marshal-status-badge {
        border-color: #3a5360;
        background: #223744;
        color: #d7e4ea;
    }

    :root[data-theme="dark"] .marshal-status-badge--assigned {
        background: rgba(89, 165, 255, 0.14);
        color: #a7ccff;
        border-color: rgba(89, 165, 255, 0.24);
    }

    :root[data-theme="dark"] .marshal-status-badge--available {
        background: #223744;
        color: #c7d7df;
    }

    :root[data-theme="dark"] .marshal-status-badge--completed {
        background: rgba(56, 178, 109, 0.14);
        color: #9be7b8;
        border-color: rgba(56, 178, 109, 0.24);
    }

    :root[data-theme="dark"] .marshal-status-badge--cancelled {
        background: rgba(239, 107, 91, 0.14);
        color: #ffb0a6;
        border-color: rgba(239, 107, 91, 0.24);
    }

    :root[data-theme="dark"] .marshal-empty {
        color: #8fa6b1;
    }

/* resources/views/marshal_shifts/partials/stats_cards.blade.php */
.marshal-summary-card {
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
        height: 100%;
    }

    .marshal-summary-card .card-body {
        padding: 1rem 1.1rem;
    }

    .marshal-summary-label {
        color: #7a8594;
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 0.55rem;
    }

    .marshal-summary-value {
        color: #162334;
        font-size: 2rem;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -0.04em;
    }

    :root[data-theme="dark"] .marshal-summary-card {
        border-color: #304652;
        background: rgba(26, 40, 50, 0.98);
        box-shadow: none;
    }

    :root[data-theme="dark"] .marshal-summary-label {
        color: #9fb4bf;
    }

    :root[data-theme="dark"] .marshal-summary-value {
        color: #edf4f1;
    }

/* resources/views/tournament_hub/member/index.blade.php */
.tournament-quote-row {
        --bs-table-bg: #fff8e8;
        --bs-table-striped-bg: #fff3d6;
    }

    .tournament-quote-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.5rem;
        height: 1.5rem;
        border-radius: 999px;
        background: #c97700;
        color: #fff;
        font-size: 0.75rem;
    }

    .tournament-quote-note {
        color: #9a5a00;
        font-weight: 700;
    }

/* resources/views/tournament_hub/member/show.blade.php */
.tournament-member-combobox {
        position: relative;
    }

    .tournament-member-options {
        position: absolute;
        z-index: 20;
        top: calc(100% + 0.25rem);
        left: 0;
        right: 0;
        max-height: 16rem;
        overflow-y: auto;
        border: 1px solid rgba(15, 23, 42, 0.14);
        border-radius: 0.375rem;
        background: var(--bs-body-bg);
        box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.12);
    }

    .tournament-member-option {
        display: block;
        width: 100%;
        padding: 0.45rem 0.65rem;
        border: 0;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
        background: transparent;
        color: inherit;
        text-align: left;
    }

    .tournament-member-option:last-child {
        border-bottom: 0;
    }

    .tournament-member-option:hover,
    .tournament-member-option:focus {
        background: rgba(13, 110, 253, 0.08);
        outline: 0;
    }

    .tournament-member-clear {
        position: absolute;
        top: 50%;
        right: 0.25rem;
        transform: translateY(-50%);
        border: 0;
        background: transparent;
        color: var(--bs-secondary-color);
    }

    .tournament-member-search {
        padding-right: 2rem;
    }

/* resources/views/tournament_hub/public/registration.blade.php */
body.public-registration-page { margin: 0; background: linear-gradient(180deg, #f3f7f5 0%, #eef4f1 100%); color: #10231b; font-family: "Segoe UI", Arial, sans-serif; }
        .public-registration-page .container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
        .public-registration-page .py-5 { padding-top: 48px; padding-bottom: 48px; }
        .public-registration-page .row { display: flex; flex-wrap: wrap; margin: -12px; }
        .public-registration-page .row > * { box-sizing: border-box; padding: 12px; width: 100%; }
        .public-registration-page .col-lg-8, .public-registration-page .col-md-4, .public-registration-page .col-md-6, .public-registration-page .col-md-3 { width: 100%; }
        @media (min-width: 768px) { .public-registration-page .col-md-6 { width: 50%; } .public-registration-page .col-md-4 { width: 33.3333%; } .public-registration-page .col-md-3 { width: 25%; } }
        @media (min-width: 992px) { .public-registration-page .col-lg-8 { width: 66.6667%; } .public-registration-page .p-lg-5 { padding: 40px; } }
        .public-registration-page .justify-content-center { justify-content: center; }
        .public-registration-page .d-flex { display: flex; }
        .public-registration-page .justify-content-between { justify-content: space-between; }
        .public-registration-page .align-items-start { align-items: flex-start; }
        .public-registration-page .align-items-center { align-items: center; }
        .public-registration-page .flex-wrap { flex-wrap: wrap; }
        .public-registration-page .gap-3 { gap: 16px; }
        .public-registration-page .gap-2 { gap: 8px; }
        .public-registration-page .mb-0 { margin-bottom: 0; } .public-registration-page .mb-1 { margin-bottom: 4px; } .public-registration-page .mb-2 { margin-bottom: 8px; } .public-registration-page .mb-3 { margin-bottom: 16px; } .public-registration-page .mb-4 { margin-bottom: 24px; } .public-registration-page .mt-2 { margin-top: 8px; } .public-registration-page .mt-4 { margin-top: 24px; }
        .public-registration-page .p-4 { padding: 24px; }
        .public-registration-page .h3 { font-size: 2rem; line-height: 1.1; }
        .public-registration-page .small { font-size: 0.875rem; }
        .public-registration-page .text-muted { color: #5f6f67; }
        .public-registration-page .text-center { text-align: center; }
        .public-registration-page .card { background: #fff; border: 1px solid rgba(16, 35, 27, 0.08); border-radius: 18px; box-shadow: 0 12px 32px rgba(16, 35, 27, 0.08); }
        .public-registration-page .border { border: 1px solid rgba(16, 35, 27, 0.08); }
        .public-registration-page .border-0 { border: 0; }
        .public-registration-page .shadow-sm { box-shadow: 0 12px 32px rgba(16, 35, 27, 0.08); }
        .public-registration-page .bg-light-subtle, .public-registration-page .alert-light { background: #f6faf7; }
        .public-registration-page .h-100 { height: 100%; }
        .public-registration-page .badge { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; }
        .public-registration-page .text-bg-light { background: #f2f5f3; color: #284238; }
        .public-registration-page .alert { padding: 14px 16px; border-radius: 14px; }
        .public-registration-page .alert-success { background: #e8f6ee; color: #0f6b3d; }
        .public-registration-page .alert-danger { background: #fdecec; color: #b42318; }
        .public-registration-page .alert-warning { background: #fff7e6; color: #9a5a00; }
        .public-registration-page .form-label { display: block; margin-bottom: 6px; font-weight: 600; }
        .public-registration-page .form-control { width: 100%; min-height: 46px; box-sizing: border-box; padding: 12px 14px; border: 1px solid #cfd9d3; border-radius: 14px; background: #fff; font: inherit; }
        .public-registration-page .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 12px; border: 1px solid transparent; text-decoration: none; font-weight: 700; cursor: pointer; }
        .public-registration-page .btn-primary { background: #0f6b3d; color: #fff; }
        .public-registration-page .btn-outline-primary { border-color: #0f6b3d; color: #0f6b3d; background: transparent; }
        .public-registration-page .table-responsive { overflow-x: auto; }

/* resources/views/tournament_hub/public/partials/livescore/styles.blade.php */
body.public-livescore-page,
.shell {
            --gs-bg: linear-gradient(180deg, #f4f8f5 0%, #edf5f1 100%);
            --gs-surface: rgba(255, 255, 255, 0.96);
            --gs-card: #ffffff;
            --gs-border: rgba(16, 38, 29, 0.08);
            --gs-border-strong: rgba(16, 38, 29, 0.14);
            --gs-text: #15281f;
            --gs-muted: #6e8077;
            --gs-primary: #177245;
            --gs-primary-soft: #e9f6ef;
            --gs-shadow: 0 26px 64px rgba(12, 34, 24, 0.08);
            --gs-nav: #0b3a20;
            --gs-nav-accent: #38b26d;
            --gs-danger: #db2b2b;
        }

        .shell, .shell * { box-sizing: border-box; }
        body.public-livescore-page {
            margin: 0;
            background: var(--gs-bg);
            color: var(--gs-text);
            font-family: "Segoe UI", Arial, sans-serif;
        }

        .shell {
            width: min(1540px, calc(100% - 28px));
            margin: 6px auto 24px;
            background: var(--gs-surface);
            border-radius: 24px;
            border: 1px solid rgba(255,255,255,0.7);
            box-shadow: var(--gs-shadow);
            overflow: hidden;
            backdrop-filter: blur(10px);
        }

        .shell .nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            padding: 18px 28px;
            background: linear-gradient(180deg, #0b3a20 0%, #082b18 100%);
            color: #f6f8fb;
        }

        .shell .nav-left, .shell .nav-right {
            display: flex;
            align-items: center;
            gap: 28px;
        }

        .shell .nav-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: rgba(246, 248, 251, 0.88);
            text-decoration: none;
            font-weight: 700;
            padding-bottom: 10px;
            border-bottom: 3px solid transparent;
        }

        .shell .nav-link.is-active {
            border-bottom-color: var(--gs-nav-accent);
            color: #fff;
        }

        .shell .nav-icon {
            width: 18px;
            height: 18px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.35);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.72rem;
        }

        .shell .content {
            padding: 26px 28px 28px;
        }

        .shell .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            flex-wrap: wrap;
            margin-bottom: 18px;
        }

        .shell .tab-pills {
            display: inline-flex;
            border: 1px solid var(--gs-border-strong);
            border-radius: 14px;
            overflow: hidden;
            background: #fff;
        }

        .shell .tab-pill {
            min-height: 44px;
            padding: 0 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: #32453c;
            border-right: 1px solid var(--gs-border);
            border-top: 0;
            border-bottom: 0;
            border-left: 0;
            background: #fff;
            text-decoration: none;
            font: inherit;
            cursor: pointer;
        }

        .shell .tab-pill:last-child { border-right: 0; }
        .shell .tab-pill.is-active {
            background: var(--gs-primary);
            color: #fff;
        }

        .shell .round-chip {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-height: 44px;
            padding: 0 16px;
            border-radius: 14px;
            border: 1px solid var(--gs-border-strong);
            background: #fff;
            color: #40544a;
            font-weight: 600;
            white-space: nowrap;
        }

        .shell .search-box {
            width: min(340px, 100%);
            min-height: 46px;
            border-radius: 16px;
            border: 1px solid var(--gs-border-strong);
            background: #fff;
            padding: 0 16px;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            color: var(--gs-muted);
        }

        .shell .search-box input {
            border: 0;
            outline: 0;
            background: transparent;
            width: 100%;
            font: inherit;
            color: var(--gs-text);
        }

        .shell .player-select-box {
            min-height: 46px;
            border-radius: 16px;
            border: 1px solid var(--gs-border-strong);
            background: #fff;
            padding: 0 14px;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: var(--gs-muted);
            font-weight: 700;
        }

        .shell .player-select-box select {
            border: 0;
            outline: 0;
            background: transparent;
            min-width: 190px;
            font: inherit;
            color: var(--gs-text);
        }

        .shell .grid {
            display: grid;
            grid-template-columns: minmax(0, 1.95fr) minmax(310px, 0.78fr);
            gap: 22px;
            margin-bottom: 24px;
        }

        .shell .leaderboard-grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .shell .live-tab-panel {
            display: none;
        }

        .shell .live-tab-panel.is-active {
            display: block;
        }

        .shell .card {
            background: var(--gs-card);
            border: 1px solid var(--gs-border);
            border-radius: 22px;
            box-shadow: 0 16px 40px rgba(12, 34, 24, 0.05);
        }

        .shell .leaderboard-card {
            overflow: hidden;
        }

        .shell .leaderboard-head,
        .shell .flight-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            padding: 18px 20px;
            border-bottom: 1px solid var(--gs-border);
        }

        .shell .leaderboard-head {
            padding-bottom: 14px;
        }

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

        .shell .leaderboard-card {
            border-radius: 18px;
            overflow: hidden;
        }

        .shell .leaderboard-table th,
        .shell .leaderboard-table td {
            padding: 16px 14px;
            border-top: 1px solid var(--gs-border);
            text-align: left;
            vertical-align: middle;
        }

        .shell .leaderboard-table thead th {
            border-top: 0;
            color: #394c43;
            font-size: 0.86rem;
            text-transform: uppercase;
        }

        .shell .player-cell {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .shell .player-detail-trigger,
        .shell .flight-player-trigger {
            padding: 0;
            border: 0;
            background: transparent;
            color: inherit;
            font: inherit;
            text-align: left;
            cursor: pointer;
            font-weight: 800;
        }

        .shell .player-detail-trigger:hover,
        .shell .flight-player-trigger:hover {
            color: var(--gs-primary);
            text-decoration: underline;
        }

        .shell .fav-star {
            width: 34px;
            height: 34px;
            border: 1px solid transparent;
            border-radius: 10px;
            background: transparent;
            color: #aab4ae;
            font-size: 1.1rem;
            line-height: 1;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .shell .fav-star:hover,
        .shell .fav-star.is-active {
            background: #fff8e6;
            border-color: #f0d28a;
            color: #c88700;
        }

        .shell .avatar {
            width: 36px;
            height: 36px;
            border-radius: 999px;
            background: #ecefed;
            color: #576a61;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 0.86rem;
        }

        .shell .today-score.is-under { color: var(--gs-primary); font-weight: 800; }
        .shell .today-score.is-over { color: var(--gs-danger); font-weight: 800; }
        .shell .today-score.is-par { color: #45584f; font-weight: 800; }
        .shell .today-score.is-empty { color: var(--gs-muted); font-weight: 700; }

        .shell .score-pill {
            min-width: 38px;
            height: 36px;
            border-radius: 10px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #eef7f1;
            border: 1px solid #cfe5d7;
            color: var(--gs-primary);
            font-weight: 800;
        }

        .shell .score-pill.is-neutral {
            background: #eef1ef;
            border-color: #d9e2dd;
            color: #4b5e54;
        }

        .shell .status-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 36px;
            padding: 0 14px;
            border-radius: 999px;
            background: var(--gs-primary-soft);
            color: var(--gs-primary);
            font-weight: 800;
        }

        .shell .status-dot {
            width: 8px;
            height: 8px;
            border-radius: 999px;
            background: currentColor;
        }

        .shell .leaderboard-foot {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            flex-wrap: wrap;
            padding: 16px 20px;
            border-top: 1px solid var(--gs-border);
            color: var(--gs-muted);
            font-size: 0.95rem;
        }

        .shell .legend {
            display: flex;
            gap: 20px;
            flex-wrap: wrap;
        }

        .shell .legend-item {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .shell .legend-dot {
            width: 14px;
            height: 14px;
            border-radius: 999px;
        }

        .shell .legend-dot.green { background: #67d576; }
        .shell .legend-dot.gray { background: #d7ddd9; }
        .shell .legend-dot.red { background: #ff7878; }

        .shell .flight-card {
            padding: 0;
            overflow: hidden;
        }

        .shell .flight-title {
            font-size: 1.7rem;
            font-weight: 800;
        }

        .shell .flight-section {
            padding: 16px 18px;
            border-top: 1px solid var(--gs-border);
        }

        .shell .flight-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 18px;
            color: #485c52;
            margin-bottom: 14px;
            font-weight: 600;
        }

        .shell .flight-player {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 14px;
            padding: 12px 0;
            border-top: 1px solid var(--gs-border);
        }

        .shell .flight-player:first-child { border-top: 0; }

        .shell .cta-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            width: 100%;
            padding: 0 18px;
            border-radius: 14px;
            border: 1px solid #2f3a74;
            background: #fff;
            color: #2f3a74;
            text-decoration: none;
            font-weight: 800;
            cursor: pointer;
        }

        .shell .hole-by-hole-table th,
        .shell .hole-by-hole-table td {
            text-align: center;
        }

        .shell .hole-by-hole-table th:first-child,
        .shell .hole-by-hole-table td:first-child {
            text-align: left;
            min-width: 220px;
            position: sticky;
            left: 0;
            background: #fff;
            z-index: 1;
        }

        .shell .hole-by-hole-player {
            display: grid;
            gap: 4px;
        }

        .shell .hole-by-hole-name {
            font-weight: 800;
        }

        .shell .hole-by-hole-note {
            color: var(--gs-muted);
            font-size: 0.82rem;
        }

        .shell .hole-score-pill {
            min-width: 32px;
            height: 32px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 10px;
            background: #f1f5f2;
            color: #203129;
            font-weight: 800;
        }

        .shell .hole-score-pill.is-empty {
            background: #eef1ef;
            color: var(--gs-muted);
        }

        .shell .flights-board-card {
            overflow: hidden;
        }

        .shell .flights-board-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 18px;
            padding: 20px;
        }

        .shell .flight-board-item {
            border: 1px solid var(--gs-border);
            border-radius: 18px;
            background: #fbfdfc;
            padding: 18px;
        }

        .shell .flight-board-head {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 14px;
        }

        .shell .flight-board-title {
            font-size: 1.12rem;
            font-weight: 800;
        }

        .shell .flight-board-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            color: #485c52;
            margin-top: 6px;
            font-size: 0.92rem;
            font-weight: 600;
        }

        .shell .flight-board-players {
            display: grid;
            gap: 10px;
        }

        .shell .flight-board-player {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 14px;
            padding-top: 10px;
            border-top: 1px solid var(--gs-border);
        }

        .shell .flight-board-player:first-child {
            padding-top: 0;
            border-top: 0;
        }

        .shell .flight-board-player-note {
            color: var(--gs-muted);
            font-size: 0.84rem;
            margin-top: 2px;
        }

        .shell .flight-board-player-score {
            min-width: 36px;
            text-align: right;
            font-weight: 800;
        }

        .shell .info-strip {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0;
            background: #fff;
        }

        .shell .info-item {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 22px 24px;
            border-right: 1px solid var(--gs-border);
        }

        .shell .info-item:last-child { border-right: 0; }

        .shell .info-icon {
            width: 42px;
            height: 42px;
            border-radius: 14px;
            background: var(--gs-primary-soft);
            color: var(--gs-primary);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 900;
        }

        .shell .info-meta {
            display: grid;
            gap: 4px;
        }

        .shell .info-meta span:first-child {
            color: var(--gs-muted);
            font-size: 0.82rem;
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: 0.03em;
        }

        .shell .info-meta span:last-child {
            font-size: 1rem;
            font-weight: 800;
        }

        .shell .leaderboard-table tr.is-selected > td {
            background: #0b3a20;
            color: #fff;
        }

        .shell .leaderboard-table tr.is-selected .player-detail-trigger,
        .shell .leaderboard-table tr.is-selected .today-score {
            color: #fff;
        }

        .shell .leaderboard-table tr.is-selected .status-pill {
            background: #f0fbf4;
            border: 1px solid #cfe5d7;
            color: var(--gs-primary);
        }

        .shell .leaderboard-table tr.is-selected .fav-star {
            color: #d7dfda;
        }

        .shell .leaderboard-table tr.is-selected .fav-star:hover,
        .shell .leaderboard-table tr.is-selected .fav-star.is-active {
            background: #fff8e6;
            border-color: #f0d28a;
            color: #c88700;
        }

        .shell .player-inline-detail-row > td {
            padding: 0 !important;
            border-top: 0 !important;
            background: #082b18;
        }

        .shell .player-inline-detail {
            background:
                radial-gradient(circle at 12% 18%, rgba(56, 178, 109, 0.16), transparent 30%),
                linear-gradient(180deg, #0b3a20 0%, #082b18 100%);
            color: #fff;
            padding: 24px;
            border-radius: 0 0 18px 18px;
        }

        .shell .inline-detail-head {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 18px;
            margin-bottom: 18px;
        }

        .shell .inline-detail-kicker {
            color: rgba(255, 255, 255, 0.66);
            font-size: 0.78rem;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-bottom: 6px;
        }

        .shell .inline-detail-head h3 {
            margin: 0;
            font-size: 1.45rem;
            line-height: 1.1;
        }

        .shell .inline-detail-meta {
            margin-top: 6px;
            color: rgba(255, 255, 255, 0.72);
            font-weight: 800;
            font-size: 0.88rem;
            letter-spacing: 0.02em;
        }

        .shell .inline-detail-actions {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .shell .inline-detail-close {
            width: 34px;
            height: 34px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.5);
            background: rgba(255, 255, 255, 0.12);
            color: #fff;
            font-size: 1.35rem;
            line-height: 1;
            cursor: pointer;
        }

        .shell .inline-detail-close:hover {
            background: #fff;
            border-color: #fff;
            color: #0b3a20;
        }

        .shell .inline-scorecard-wrap {
            overflow-x: auto;
            border-radius: 16px;
            border: 1px solid rgba(255, 255, 255, 0.18);
            background: #f8faf9;
        }

        .shell .inline-scorecard {
            width: 100%;
            min-width: 760px;
            border-collapse: collapse;
            color: #091713;
            font-size: 0.88rem;
        }

        .shell .inline-scorecard th,
        .shell .inline-scorecard td {
            padding: 11px 10px;
            border-bottom: 1px solid #d9dfdc;
            text-align: center;
            white-space: nowrap;
        }

        .shell .inline-scorecard th:first-child {
            text-align: left;
            background: #e9eeeb;
            color: #1d2e28;
            font-weight: 900;
            text-transform: uppercase;
        }

        .shell .inline-scorecard thead th {
            color: #6d7772;
            font-size: 0.78rem;
            text-transform: uppercase;
        }

        .shell .inline-scorecard tr:last-child th,
        .shell .inline-scorecard tr:last-child td {
            border-bottom: 0;
        }

        .shell .inline-hole-score {
            width: 24px;
            height: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            line-height: 1;
        }

        .shell .inline-hole-score.is-bogey {
            border: 2px solid #8e9691;
            border-radius: 2px;
        }

        .shell .inline-hole-score.is-birdie {
            border: 2px solid #8e9691;
            border-radius: 999px;
        }

        .shell .inline-hole-score.is-eagle {
            border: 4px double #8e9691;
            border-radius: 999px;
        }

        .shell .inline-hole-score.is-empty {
            color: #8d9993;
        }

        .shell .inline-detail-empty {
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.16);
            padding: 16px;
            color: rgba(255, 255, 255, 0.74);
        }

        .shell @media (max-width: 1080px) {
            .shell .grid,
            .shell .info-strip {
                grid-template-columns: 1fr;
            }

            .shell .info-item {
                border-right: 0;
                border-top: 1px solid var(--gs-border);
            }

            .shell .info-item:first-child {
                border-top: 0;
            }
        }

        .shell @media (max-width: 760px) {
            .shell {
                width: calc(100% - 12px);
                margin: 6px auto 18px;
                border-radius: 18px;
            }

            .shell .nav,
            .shell .content {
                padding-left: 14px;
                padding-right: 14px;
            }

            .shell .nav-left,
            .shell .nav-right {
                gap: 16px;
            }

            .shell .leaderboard-table {
                min-width: 920px;
            }

            .shell .flights-board-grid {
                grid-template-columns: 1fr;
                padding: 14px;
            }

        }

/* resources/views/tournament_hub/public/partials/show/styles.blade.php */
body.public-event-page,
.event-page-shell {
        --gs-bg:
            radial-gradient(circle at top left, rgba(255, 255, 255, 0.98), rgba(241, 246, 241, 0.94) 45%, rgba(231, 240, 233, 0.95) 100%);
        --gs-surface: rgba(255, 255, 255, 0.92);
        --gs-card: rgba(255, 255, 255, 0.96);
        --gs-card-muted: #f7faf7;
        --gs-border: rgba(13, 48, 31, 0.08);
        --gs-border-strong: rgba(13, 48, 31, 0.14);
        --gs-text: #18261f;
        --gs-muted: #728177;
        --gs-primary: #2f7d45;
        --gs-primary-dark: #1f5f32;
        --gs-primary-soft: #edf6ef;
        --gs-success-bg: #eef5ee;
        --gs-shadow: 0 18px 48px rgba(25, 43, 30, 0.07);
        --gs-radius-xl: 28px;
        --gs-radius-lg: 20px;
        --gs-radius-md: 16px;
        --gs-radius-sm: 12px;
    }

    .event-page-shell, .event-page-shell * { box-sizing: border-box; }

    body.public-event-page {
        margin: 0;
        background:
            radial-gradient(circle at top center, rgba(255, 255, 255, 0.95), transparent 42%),
            linear-gradient(180deg, #f5f7f4 0%, #edf3ee 100%);
        color: var(--gs-text);
        font-family: "Segoe UI", Arial, sans-serif;
    }

    .event-page-shell {
        width: min(1600px, calc(100% - 28px));
        margin: 12px auto 20px;
        border-radius: var(--gs-radius-xl);
        background: var(--gs-surface);
        border: 1px solid rgba(255, 255, 255, 0.72);
        box-shadow: var(--gs-shadow);
        backdrop-filter: blur(10px);
        overflow: hidden;
    }

    .event-page-shell .event-topbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        padding: 14px 26px;
    }

    .event-page-shell .event-brand {
        display: flex;
        align-items: center;
        gap: 14px;
        min-width: 0;
    }

    .event-page-shell .event-brand-logo {
        width: 82px;
        height: 38px;
        object-fit: contain;
    }

    .event-page-shell .event-brand-divider {
        width: 1px;
        height: 38px;
        background: var(--gs-border);
    }

    .event-page-shell .event-club-switch {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 0.98rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .event-page-shell .event-club-switch-icon {
        color: var(--gs-muted);
        font-size: 1rem;
    }

    .event-page-shell .event-topnav {
        display: flex;
        align-items: center;
        gap: 24px;
        color: #25362d;
        font-weight: 600;
    }

    .event-page-shell .event-topnav-item {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        white-space: nowrap;
    }

    .event-page-shell .event-topnav-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        color: var(--gs-muted);
        font-size: 1.15rem;
    }

    .event-page-shell .event-page-body {
        padding: 0 18px 18px;
    }

    .event-page-shell .event-hero {
        position: relative;
        display: grid;
        grid-template-columns: minmax(260px, 420px) minmax(0, 1fr) minmax(250px, 320px);
        gap: 0;
        min-height: 250px;
        margin-bottom: 10px;
        border-radius: 24px;
        overflow: hidden;
        background:
            linear-gradient(125deg, rgba(239, 244, 238, 0.55) 0%, rgba(255, 255, 255, 0.88) 46%, rgba(233, 242, 233, 0.95) 100%);
        border: 1px solid rgba(255, 255, 255, 0.65);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    }

    .event-page-shell .event-hero::after {
        content: "";
        position: absolute;
        inset: auto -120px -150px auto;
        width: 420px;
        height: 420px;
        background: radial-gradient(circle, rgba(107, 157, 104, 0.16), transparent 72%);
        pointer-events: none;
    }

    .event-page-shell .event-hero-media {
        position: relative;
        overflow: hidden;
        background:
            linear-gradient(180deg, rgba(237, 246, 255, 0.32), rgba(255, 244, 214, 0.34)),
            linear-gradient(140deg, #95adc3 0%, #dfe7ee 28%, #ece7d7 48%, #b9ba83 78%, #75815d 100%);
    }

    .event-page-shell .event-hero-media::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 72% 16%, rgba(255, 255, 255, 0.8), transparent 18%),
            linear-gradient(180deg, rgba(12, 31, 20, 0.06), rgba(12, 31, 20, 0.16)),
            linear-gradient(180deg, transparent 54%, rgba(71, 88, 52, 0.72) 55%, rgba(110, 132, 70, 0.92) 100%);
    }

    .event-page-shell .event-hero-media::after {
        content: "";
        position: absolute;
        left: -8%;
        right: -8%;
        bottom: 18%;
        height: 28%;
        border-radius: 50%;
        background: radial-gradient(circle at 48% 35%, rgba(226, 214, 126, 0.95), rgba(154, 164, 98, 0.86) 58%, rgba(92, 109, 64, 0.9) 100%);
        transform: rotate(-9deg);
        box-shadow: 0 16px 34px rgba(30, 40, 21, 0.16);
    }

    .event-page-shell .event-hero-media-overlay {
        position: absolute;
        inset: 0;
        background:
            linear-gradient(0deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05)),
            linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.28) 78%, rgba(255, 255, 255, 0.74) 100%);
        z-index: 1;
    }

    .event-page-shell .event-hero-logo-wrap {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 28px;
        z-index: 2;
    }

    .event-page-shell .event-hero-logo {
        width: min(56%, 210px);
        object-fit: contain;
        filter: drop-shadow(0 16px 34px rgba(0, 0, 0, 0.16));
    }

    .event-page-shell .event-hero-content {
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 30px 30px;
    }

    .event-page-shell .event-hero-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: var(--gs-primary);
        font-size: 0.9rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin-bottom: 12px;
    }

    .event-page-shell .event-hero-eyebrow-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        border-radius: 999px;
        background: rgba(47, 125, 69, 0.1);
        font-size: 0.95rem;
    }

    .event-page-shell .event-hero-title {
        margin: 0 0 14px;
        font-size: clamp(2.1rem, 3.2vw, 3.2rem);
        line-height: 0.95;
        letter-spacing: -0.04em;
    }

    .event-page-shell .event-hero-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        margin-bottom: 16px;
        color: #314238;
        font-size: 0.96rem;
    }

    .event-page-shell .event-hero-meta-item {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
    }

    .event-page-shell .event-hero-meta-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.72);
        border: 1px solid var(--gs-border);
        font-size: 0.95rem;
    }

    .event-page-shell .event-hero-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .event-page-shell .event-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 0 16px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.86);
        border: 1px solid var(--gs-border);
        font-weight: 700;
        color: #29362f;
    }

    .event-page-shell .event-pill-status {
        background: var(--gs-success-bg);
        color: var(--gs-primary);
    }

    .event-page-shell .event-hero-actions {
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        gap: 18px;
        justify-content: center;
        margin: 22px 22px 22px 0;
        padding: 20px;
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(255, 255, 255, 0.82);
        box-shadow: 0 18px 36px rgba(36, 52, 39, 0.07);
    }

    .event-page-shell .event-registration-summary {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 12px;
        align-items: center;
    }

    .event-page-shell .event-registration-icon {
        width: 42px;
        height: 42px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(180deg, #3f914f, #2f7d45);
        color: #fff;
        font-size: 1.25rem;
        font-weight: 900;
        box-shadow: 0 14px 28px rgba(47, 125, 69, 0.2);
    }

    .event-page-shell .event-registration-title {
        font-size: 0.95rem;
        font-weight: 800;
        margin-bottom: 4px;
    }

    .event-page-shell .event-registration-subtitle {
        color: var(--gs-muted);
        font-size: 0.92rem;
        line-height: 1.45;
    }

    .event-page-shell .event-status-chip,
    .event-page-shell .event-mini-status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 0 14px;
        border-radius: 999px;
        background: var(--gs-success-bg);
        color: var(--gs-primary);
        font-weight: 800;
        font-size: 0.92rem;
    }

    .event-page-shell .event-inline-form {
        margin: 0;
    }

    .event-page-shell .event-action-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        min-height: 44px;
        padding: 0 14px;
        border-radius: 14px;
        border: 1px solid transparent;
        text-decoration: none;
        font-size: 0.95rem;
        font-weight: 700;
        cursor: pointer;
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    }

    .event-page-shell .event-action-button:hover {
        transform: translateY(-1px);
    }

    .event-page-shell .event-action-button-secondary {
        background: #fff;
        color: #27352d;
        border-color: var(--gs-border-strong);
    }

    .event-page-shell .event-action-button-primary {
        background: linear-gradient(180deg, #3b8c4c, #2d7641);
        color: #fff;
        box-shadow: 0 16px 30px rgba(47, 125, 69, 0.2);
    }

    .event-page-shell .event-action-button-live {
        justify-content: space-between;
        background: linear-gradient(180deg, #139054, #08723e);
        color: #fff;
        border-color: #08723e;
        box-shadow: 0 16px 28px rgba(8, 114, 62, 0.24);
        font-weight: 800;
    }

    .event-page-shell .event-action-button-live:hover {
        box-shadow: 0 18px 34px rgba(8, 114, 62, 0.3);
    }

    .event-page-shell .event-action-section {
        display: grid;
        gap: 8px;
        margin-top: 4px;
        padding-top: 12px;
        border-top: 1px solid var(--gs-border);
    }

    .event-page-shell .event-action-section-label {
        color: var(--gs-muted);
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .event-page-shell .event-action-section-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }

    .event-page-shell .event-share-feedback {
        display: none;
        color: var(--gs-primary);
        text-align: center;
        font-size: 0.88rem;
        font-weight: 700;
    }

    .event-page-shell .event-share-feedback.is-visible {
        display: block;
    }

    .event-page-shell .event-tabs {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 0 12px;
        margin-bottom: 0;
        border-bottom: 1px solid var(--gs-border);
        overflow-x: auto;
    }

    .event-page-shell .event-tab-link {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 14px 14px 12px;
        color: var(--gs-muted);
        text-decoration: none;
        font-weight: 700;
        border-bottom: 3px solid transparent;
        white-space: nowrap;
    }

    .event-page-shell .event-tab-link.is-active {
        color: var(--gs-primary);
        border-bottom-color: var(--gs-primary);
    }

    .event-page-shell .event-content-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px;
        padding: 14px 10px 0;
    }

    .event-page-shell .event-secondary-grid {
        display: grid;
        gap: 18px;
        padding: 18px 10px 0;
    }

    .event-page-shell .event-section-tabs {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin: 4px 10px 0;
        padding: 6px;
        border: 1px solid var(--gs-border);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.9);
    }

    .event-page-shell .event-section-tab {
        min-height: 38px;
        padding: 0 18px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--gs-muted);
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }

    .event-page-shell .event-section-tab.is-active {
        background: var(--gs-primary-soft);
        color: var(--gs-primary);
    }

    .event-page-shell .event-section-panel {
        display: none;
    }

    .event-page-shell .event-section-panel.is-active {
        display: block;
    }

    .event-page-shell .event-column {
        display: grid;
        gap: 18px;
        align-content: start;
    }

    .event-page-shell .event-card {
        background: var(--gs-card);
        border: 1px solid var(--gs-border);
        border-radius: 18px;
        box-shadow: 0 10px 24px rgba(18, 33, 22, 0.045);
        padding: 18px 20px;
    }

    .event-page-shell .event-card-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        margin-bottom: 14px;
    }

    .event-page-shell .event-card-head--status-only {
        justify-content: flex-end;
    }

    .event-page-shell .event-card-title {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 1.02rem;
        font-weight: 800;
    }

    .event-page-shell .event-card-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 999px;
        background: var(--gs-primary-soft);
        color: var(--gs-primary);
        font-size: 0.84rem;
    }

    .event-page-shell .event-card-link {
        color: var(--gs-primary);
        text-decoration: none;
        font-weight: 700;
        white-space: nowrap;
    }

    .event-page-shell .event-card-link-button {
        padding: 0;
        border: 0;
        background: transparent;
        font: inherit;
        cursor: pointer;
    }

    .event-page-shell .event-card-copy {
        margin: 0;
        color: var(--gs-muted);
        line-height: 1.6;
    }

    .event-page-shell .event-setup-by {
        width: fit-content;
        max-width: 100%;
        margin-top: 14px;
        padding: 10px 14px;
        background: var(--gs-card-muted);
        border: 1px solid var(--gs-border);
        border-radius: 14px;
    }

    .event-page-shell .event-detail-card {
        padding-bottom: 6px;
    }

    .event-page-shell .event-detail-stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .event-page-shell .event-detail-stat {
        padding: 10px 18px 10px 4px;
        min-height: 92px;
    }

    .event-page-shell .event-detail-stat + .event-detail-stat {
        border-left: 1px solid var(--gs-border);
        padding-left: 22px;
    }

    .event-page-shell .event-detail-label {
        color: var(--gs-muted);
        font-size: 0.84rem;
        font-weight: 700;
        margin-bottom: 8px;
    }

    .event-page-shell .event-detail-value {
        font-size: 0.92rem;
        font-weight: 800;
        line-height: 1.35;
        margin-bottom: 6px;
    }

    .event-page-shell .event-detail-note {
        color: var(--gs-muted);
        line-height: 1.45;
    }

    .event-page-shell .event-summary-grid,
    .event-page-shell .event-start-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
        margin-top: 14px;
    }

    .event-page-shell .event-summary-item {
        padding: 10px 12px;
        background: var(--gs-card-muted);
        border: 1px solid var(--gs-border);
        border-radius: 18px;
    }

    .event-page-shell .event-summary-label,
    .event-page-shell .event-player-hcp-label {
        color: var(--gs-muted);
        font-size: 0.76rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin-bottom: 6px;
    }

    .event-page-shell .event-summary-value,
    .event-page-shell .event-start-value {
        font-size: 0.92rem;
        font-weight: 800;
    }

    .event-page-shell .event-start-grid {
        margin-top: 0;
        gap: 0;
    }

    .event-page-shell .event-start-item {
        padding: 8px 20px;
        min-height: 68px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .event-page-shell .event-start-item + .event-start-item {
        border-left: 1px solid var(--gs-border);
    }

    .event-page-shell .event-player-list,
    .event-page-shell .event-flight-grid {
        display: grid;
    }

    .event-page-shell .event-player-row {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) minmax(64px, auto);
        gap: 12px;
        align-items: center;
        padding: 12px 0;
        border-top: 1px solid var(--gs-border);
    }

    .event-page-shell .event-player-row:first-child {
        border-top: 0;
        padding-top: 2px;
    }

    .event-page-shell .event-avatar {
        width: 38px;
        height: 38px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: #cf6e61;
        font-weight: 800;
    }

    .event-page-shell .event-avatar.is-alt { background: #8c79c9; }
    .event-page-shell .event-avatar.is-third { background: #56aa7b; }

    .event-page-shell .event-player-name,
    .event-page-shell .event-leaderboard-player,
    .event-page-shell .event-flight-title,
    .event-page-shell .event-empty-title {
        font-weight: 800;
    }

    .event-page-shell .event-player-note,
    .event-page-shell .event-leaderboard-note,
    .event-page-shell .event-flight-meta,
    .event-page-shell .event-flight-player-hcp,
    .event-page-shell .event-empty-state {
        color: var(--gs-muted);
    }

    .event-page-shell .event-player-hcp {
        text-align: right;
    }

    .event-page-shell .event-player-hcp-value {
        font-size: 1.05rem;
        font-weight: 800;
    }

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

    .event-players-modal[hidden] {
        display: none;
    }

    .event-players-modal {
        position: fixed;
        inset: 0;
        z-index: 1080;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 28px;
    }

    .event-players-modal__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(9, 24, 16, 0.44);
        backdrop-filter: blur(3px);
    }

    .event-players-modal__dialog {
        position: relative;
        z-index: 1;
        width: min(1080px, 100%);
        max-height: min(760px, calc(100vh - 56px));
        display: flex;
        flex-direction: column;
        padding: 18px 22px 22px;
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid var(--gs-border);
        box-shadow: 0 28px 80px rgba(12, 30, 18, 0.22);
    }

    .event-players-modal .event-card-title {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 1.02rem;
        font-weight: 800;
    }

    .event-players-modal .event-mini-status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 0 14px;
        border-radius: 999px;
        background: var(--gs-success-bg);
        color: var(--gs-primary);
        font-weight: 800;
        font-size: 0.92rem;
    }

    .event-players-modal__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding-bottom: 14px;
        border-bottom: 1px solid var(--gs-border);
    }

    .event-players-modal__actions {
        display: inline-flex;
        align-items: center;
        gap: 12px;
    }

    .event-players-modal__close {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--gs-border-strong);
        border-radius: 999px;
        background: #fff;
        color: var(--gs-text);
        font-size: 1.35rem;
        line-height: 1;
        cursor: pointer;
    }

    .event-players-modal .event-player-list--all {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 28px;
        margin-top: 4px;
        max-height: none;
        min-height: 0;
        overflow-y: auto;
        padding-right: 10px;
        scrollbar-gutter: stable;
    }

    .event-players-modal .event-player-row {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) minmax(54px, auto);
        gap: 12px;
        align-items: center;
        padding: 11px 0;
        border-top: 1px solid var(--gs-border);
    }

    .event-players-modal .event-player-row:first-child {
        border-top: 0;
        padding-top: 2px;
    }

    .event-players-modal .event-avatar {
        width: 38px;
        height: 38px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: #cf6e61;
        font-weight: 800;
    }

    .event-players-modal .event-avatar.is-alt {
        background: #8c79c9;
    }

    .event-players-modal .event-avatar.is-third {
        background: #56aa7b;
    }

    .event-players-modal .event-player-name {
        font-weight: 800;
    }

    .event-players-modal .event-player-note,
    .event-players-modal .event-empty-state {
        color: var(--gs-muted);
    }

    .event-players-modal .event-player-hcp {
        text-align: right;
    }

    .event-players-modal .event-player-hcp-label {
        color: var(--gs-muted);
        font-size: 0.76rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin-bottom: 6px;
    }

    .event-players-modal .event-player-hcp-value {
        font-size: 1.05rem;
        font-weight: 800;
    }

    .event-page-shell .event-flight-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
        max-height: 760px;
        overflow-y: auto;
        padding-right: 10px;
        scrollbar-gutter: stable;
    }

    .event-page-shell .event-flight-card {
        padding: 14px;
        border-radius: 16px;
        background: var(--gs-card-muted);
        border: 1px solid var(--gs-border);
    }

    .event-page-shell .event-flight-card.is-current-user-flight {
        background: linear-gradient(180deg, #fbfffc 0%, #f3fbf6 100%);
        border-color: #46c879;
        box-shadow: 0 14px 30px rgba(16, 128, 72, 0.12);
    }

    .event-page-shell .event-flight-title-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .event-page-shell .event-flight-title-group {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        min-width: 0;
    }

    .event-page-shell .event-flight-current-badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-height: 26px;
        padding: 0 10px;
        border-radius: 7px;
        background: linear-gradient(180deg, #109456, #05743d);
        color: #fff;
        font-size: 0.72rem;
        font-weight: 900;
        text-transform: uppercase;
        box-shadow: 0 8px 18px rgba(8, 114, 62, 0.22);
    }

    .event-page-shell .event-flight-live-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 24px;
        padding: 0 10px;
        border: 1px solid var(--gs-border);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.72);
        color: var(--gs-primary);
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .event-page-shell .event-flight-live-badge::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background: var(--gs-primary);
    }

    .event-page-shell .event-flight-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        font-size: 0.84rem;
        margin-top: 6px;
        margin-bottom: 10px;
    }

    .event-page-shell .event-flight-progress {
        padding: 10px 12px;
        margin-bottom: 12px;
        border: 1px solid var(--gs-border);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.54);
    }

    .event-page-shell .event-flight-progress__stats {
        display: grid;
        grid-template-columns: 0.85fr 1fr 0.95fr;
        gap: 10px;
        align-items: start;
    }

    .event-page-shell .event-flight-progress__stats > div {
        min-width: 0;
    }

    .event-page-shell .event-flight-progress__stats span {
        display: block;
        color: var(--gs-muted);
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .event-page-shell .event-flight-progress__stats strong {
        display: block;
        color: var(--gs-primary);
        font-size: 1.05rem;
        font-weight: 800;
        line-height: 1.25;
    }

    .event-page-shell .event-flight-progress__bar {
        height: 7px;
        margin-top: 10px;
        overflow: hidden;
        border-radius: 999px;
        background: #e6eee9;
    }

    .event-page-shell .event-flight-progress__bar span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: var(--gs-primary);
    }

    .event-page-shell .event-flight-players {
        display: grid;
        gap: 6px;
    }

    .event-page-shell .event-flight-player {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding-top: 8px;
        border-top: 1px dashed var(--gs-border);
    }

    .event-page-shell .event-flight-player:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .event-page-shell .event-empty-state {
        padding: 12px 0 2px;
        line-height: 1.5;
    }

    .event-page-shell .event-leaderboard-wrap {
        max-height: min(620px, calc(100vh - 220px));
        overflow: auto;
        scrollbar-gutter: stable;
    }

    .event-page-shell .event-leaderboard-table {
        width: 100%;
        border-collapse: collapse;
    }

    .event-page-shell .event-leaderboard-table th,
    .event-page-shell .event-leaderboard-table td {
        padding: 10px 10px;
        border-top: 1px solid var(--gs-border);
        text-align: left;
        vertical-align: middle;
    }

    .event-page-shell .event-leaderboard-table thead th {
        position: sticky;
        top: 0;
        z-index: 1;
        background: var(--gs-card);
        border-top: 0;
        color: var(--gs-muted);
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .event-page-shell .event-score-pill {
        min-width: 40px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: #eef7f1;
        border: 1px solid #cfe5d7;
        color: var(--gs-primary);
        font-weight: 800;
    }

    .event-page-shell .event-score-pill.is-neutral {
        background: #eef1ef;
        border-color: #d9e2dd;
        color: #4b5e54;
    }

    .event-page-shell .event-today-score.is-over { color: #d93030; font-weight: 800; }
    .event-page-shell .event-today-score.is-under { color: var(--gs-primary); font-weight: 800; }
    .event-page-shell .event-today-score.is-par { color: #33463d; font-weight: 800; }

    .event-page-shell .event-leaderboard-empty {
        color: var(--gs-muted);
    }

    .event-page-shell @media (max-width: 1320px) {
        .event-page-shell .event-hero {
            grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
        }

        .event-page-shell .event-hero-actions {
            grid-column: 1 / -1;
            margin: 0;
            border-radius: 0 0 24px 24px;
            border-top: 1px solid var(--gs-border);
            background: rgba(255, 255, 255, 0.92);
        }

        .event-page-shell .event-content-grid {
            grid-template-columns: 1fr;
        }
    }

    .event-page-shell @media (max-width: 980px) {
        .event-page-shell {
            width: calc(100% - 16px);
            margin: 8px auto 20px;
            border-radius: 24px;
        }

        .event-page-shell .event-topbar {
            padding: 16px 18px;
            flex-direction: column;
            align-items: flex-start;
        }

        .event-page-shell .event-page-body {
            padding: 0 12px 18px;
        }

        .event-page-shell .event-hero {
            grid-template-columns: 1fr;
        }

        .event-page-shell .event-hero-media {
            min-height: 220px;
        }

        .event-page-shell .event-hero-content {
            padding: 28px 20px;
        }

        .event-page-shell .event-hero-actions {
            padding: 22px 20px;
        }

        .event-page-shell .event-detail-stats,
        .event-page-shell .event-summary-grid,
        .event-page-shell .event-start-grid {
            grid-template-columns: 1fr 1fr;
        }

        .event-page-shell .event-detail-stat + .event-detail-stat,
        .event-page-shell .event-start-item + .event-start-item {
            border-left: 0;
            padding-left: 6px;
        }

        .event-page-shell .event-detail-stat {
            padding: 14px 6px;
        }
    }

    .event-page-shell @media (max-width: 640px) {
        .event-page-shell .event-brand {
            gap: 12px;
        }

        .event-page-shell .event-brand-logo {
            width: 82px;
        }

        .event-page-shell .event-brand-divider {
            display: none;
        }

        .event-page-shell .event-topnav {
            gap: 18px;
            font-size: 0.94rem;
        }

        .event-page-shell .event-tabs {
            padding: 0 8px;
        }

        .event-page-shell .event-tab-link {
            padding-left: 12px;
            padding-right: 12px;
        }

        .event-page-shell .event-content-grid,
        .event-page-shell .event-secondary-grid {
            padding-left: 6px;
            padding-right: 6px;
        }

        .event-page-shell .event-section-tabs {
            margin-left: 6px;
            margin-right: 6px;
            width: calc(100% - 12px);
            justify-content: space-between;
        }

        .event-page-shell .event-section-tab {
            flex: 1 1 0;
            padding: 0 10px;
        }

        .event-page-shell .event-card {
            padding: 18px;
        }

        .event-page-shell .event-detail-stats,
        .event-page-shell .event-summary-grid,
        .event-page-shell .event-start-grid {
            grid-template-columns: 1fr;
        }

        .event-page-shell .event-detail-stat + .event-detail-stat {
            border-left: 0;
            border-top: 1px solid var(--gs-border);
            padding-left: 6px;
            padding-top: 18px;
        }

        .event-page-shell .event-start-item + .event-start-item {
            border-top: 1px solid var(--gs-border);
            padding-top: 18px;
        }

        .event-page-shell .event-player-row {
            grid-template-columns: 48px minmax(0, 1fr);
        }

        .event-page-shell .event-player-hcp {
            text-align: left;
            grid-column: 2;
        }
    }

    .event-page-shell {
        width: min(1620px, calc(100% - 24px));
        border-radius: 10px;
        background: rgba(250, 252, 250, 0.96);
    }

    .event-page-shell .event-topbar {
        min-height: 70px;
        border-bottom: 1px solid var(--gs-border);
        background: rgba(255, 255, 255, 0.86);
    }

    .event-page-shell .event-topnav-item {
        color: var(--gs-text);
        text-decoration: none;
    }

    .event-page-shell .event-user-chip {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        min-height: 42px;
        padding: 0 10px;
        border-radius: 999px;
        background: var(--gs-primary-soft);
        color: var(--gs-primary-dark);
        font-weight: 800;
    }

    .event-page-shell .event-topnav-icon {
        width: 28px;
        height: 28px;
        border-radius: 999px;
        background: #fff;
        border: 1px solid var(--gs-border);
        color: #1d2d24;
        font-weight: 800;
    }

    .event-page-shell .event-page-body {
        padding: 20px 20px 28px;
    }

    .event-page-shell .event-hero {
        grid-template-columns: 170px minmax(0, 1fr) minmax(360px, 600px);
        min-height: 176px;
        margin-bottom: 16px;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid var(--gs-border);
        box-shadow: 0 12px 28px rgba(18, 33, 22, 0.055);
        overflow: visible;
    }

    .event-page-shell .event-hero::after,
    .event-page-shell .event-hero-media::before,
    .event-page-shell .event-hero-media::after {
        display: none;
    }

    .event-page-shell .event-hero-media {
        margin: 24px 0 24px 48px;
        width: 122px;
        height: 122px;
        align-self: center;
        background: #f4f0ec;
        border: 1px solid rgba(18, 33, 22, 0.05);
        overflow: hidden;
    }

    .event-page-shell .event-hero-media-overlay {
        display: none;
    }

    .event-page-shell .event-hero-logo-wrap {
        padding: 18px;
    }

    .event-page-shell .event-hero-logo {
        width: 100%;
        max-height: 100%;
        filter: none;
    }

    .event-page-shell .event-hero-content {
        padding: 28px 24px 26px 10px;
    }

    .event-page-shell .event-hero-title {
        font-size: clamp(2rem, 2.6vw, 3rem);
        line-height: 1.05;
        letter-spacing: 0;
    }

    .event-page-shell .event-hero-meta-item {
        gap: 7px;
    }

    .event-page-shell .event-pill {
        min-height: 36px;
        border-radius: 16px;
        background: #fff;
    }

    .event-page-shell .event-pill-status,
    .event-page-shell .event-mini-status,
    .event-page-shell .event-status-chip {
        border-radius: 16px;
    }

    .event-page-shell .event-hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
        gap: 12px;
        margin: 16px 18px 16px 0;
        padding: 14px 16px;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid var(--gs-border);
        box-shadow: none;
    }

    .event-page-shell .event-registration-summary {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .event-page-shell .event-registration-icon {
        width: 40px;
        height: 40px;
    }

    .event-page-shell .event-status-chip {
        justify-self: start;
        margin-left: 46px;
        margin-top: -8px;
    }

    .event-page-shell .event-action-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }

    .event-page-shell .event-action-wide {
        grid-column: 1 / -1;
    }

    .event-page-shell .event-action-button {
        min-height: 42px;
        border-radius: 8px;
    }

    .event-page-shell .event-action-button-live {
        background: linear-gradient(180deg, #139054, #08723e);
        color: #fff;
        border-color: #08723e;
        box-shadow: 0 16px 28px rgba(8, 114, 62, 0.24);
        justify-content: space-between;
    }

    .event-page-shell .event-action-section-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }

    .event-page-shell .event-overview-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.72fr) minmax(320px, 0.78fr);
        gap: 16px;
        align-items: stretch;
        padding: 0;
    }

    .event-page-shell .event-card {
        border-radius: 8px;
        border-color: var(--gs-border);
        box-shadow: 0 12px 28px rgba(18, 33, 22, 0.045);
    }

    .event-page-shell .event-detail-card {
        padding: 0;
    }

    .event-page-shell .event-detail-stats {
        height: 100%;
    }

    .event-page-shell .event-detail-stat {
        min-height: 132px;
        padding: 22px 22px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .event-page-shell .event-start-card {
        min-height: 132px;
    }

    .event-page-shell .event-start-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .event-page-shell .event-start-item {
        min-height: 78px;
        padding: 8px 18px;
    }

    .event-page-shell .event-personal-start-empty {
        min-height: 78px;
        display: flex;
        align-items: center;
        padding: 0;
    }

    .event-page-shell .event-players-card {
        grid-row: span 2;
    }

    .event-page-shell .event-player-row {
        grid-template-columns: 44px minmax(0, 1fr) minmax(54px, auto);
        padding: 11px 0;
    }

    .event-page-shell .event-about-card {
        grid-column: 1 / 3;
    }

    .event-page-shell .event-player-list--all {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 28px;
        max-height: 420px;
        overflow-y: auto;
        padding-right: 10px;
        scrollbar-gutter: stable;
    }

    .event-page-shell .event-summary-grid {
        grid-template-columns: repeat(5, minmax(130px, 1fr));
    }

    .event-page-shell .event-summary-item {
        border-radius: 8px;
        background: #fbfdfc;
    }

    .event-page-shell .event-section-tabs {
        margin: 16px 0 0;
        border-radius: 0;
        border: 0;
        border-bottom: 1px solid var(--gs-border);
        background: transparent;
        padding: 0 18px;
        display: flex;
        width: 100%;
    }

    .event-page-shell .event-section-tab {
        border-radius: 0;
        border-bottom: 3px solid transparent;
        min-height: 52px;
    }

    .event-page-shell .event-section-tab.is-active {
        background: transparent;
        border-bottom-color: var(--gs-primary);
    }

    .event-page-shell .event-secondary-grid {
        padding: 0;
    }

    .event-page-shell .event-section-panel {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

@media (max-width: 1320px) {
    .event-page-shell .event-hero {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .event-page-shell .event-hero-actions {
        grid-column: 1 / -1;
        margin: 0;
        border-radius: 0 0 8px 8px;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
    }

    .event-page-shell .event-overview-grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.7fr);
    }

    .event-page-shell .event-flight-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .event-page-shell .event-start-card,
    .event-page-shell .event-about-card {
        grid-column: 1;
    }

    .event-page-shell .event-player-list--all {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-page-shell .event-players-card {
        grid-column: 2;
        grid-row: 1 / span 3;
    }
}

@media (max-width: 980px) {
    .event-page-shell {
        width: calc(100% - 16px);
    }

    .event-page-shell .event-topbar {
        align-items: flex-start;
    }

    .event-page-shell .event-hero,
    .event-page-shell .event-overview-grid {
        grid-template-columns: 1fr;
    }

    .event-page-shell .event-hero-media {
        margin: 22px auto 0;
    }

    .event-page-shell .event-hero-content {
        padding: 22px;
    }

    .event-page-shell .event-players-card,
    .event-page-shell .event-about-card,
    .event-page-shell .event-start-card {
        grid-column: auto;
        grid-row: auto;
    }

    .event-page-shell .event-detail-stats,
    .event-page-shell .event-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-page-shell .event-flight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-page-shell .event-player-list--all {
        grid-template-columns: 1fr;
    }

    .event-players-modal__dialog {
        max-height: calc(100vh - 32px);
    }

    .event-players-modal .event-player-list--all {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-page-shell .event-detail-stat + .event-detail-stat {
        border-left: 0;
        border-top: 1px solid var(--gs-border);
    }
}

@media (max-width: 640px) {
    .event-page-shell .event-page-body {
        padding: 14px 12px 20px;
    }

    .event-page-shell .event-topnav {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
    }

    .event-page-shell .event-action-grid,
    .event-page-shell .event-detail-stats,
    .event-page-shell .event-summary-grid,
    .event-page-shell .event-flight-grid,
    .event-page-shell .event-start-grid {
        grid-template-columns: 1fr;
    }

    .event-page-shell .event-status-chip {
        margin-left: 0;
    }

    .event-page-shell .event-detail-stat {
        min-height: auto;
    }

    .event-players-modal {
        padding: 14px;
    }

    .event-players-modal__dialog {
        padding: 16px;
    }

    .event-players-modal__header {
        align-items: flex-start;
    }

    .event-players-modal .event-player-row {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .event-players-modal .event-player-list--all {
        grid-template-columns: 1fr;
    }

    .event-players-modal .event-player-hcp {
        text-align: left;
        grid-column: 2;
    }
}

/* resources/views/performance/club/courses.blade.php */
.course-analytics {
            --course-green: #0f7a3e;
            --course-green-dark: #0b5d31;
            --course-green-soft: #eaf6ef;
            --course-border: var(--border, #dfe6e2);
            --course-surface: var(--surface, #ffffff);
            --course-soft: var(--surface-elevated, #f8fbfa);
            --course-text: var(--text, #101828);
            --course-muted: var(--text-muted, #667085);
            --course-input: var(--surface, #ffffff);
            --course-shadow: 0 14px 30px rgba(16, 24, 40, 0.06);
        }

        :root[data-theme="dark"] .course-analytics {
            --course-green: #31c779;
            --course-green-dark: #23a766;
            --course-green-soft: rgba(49, 199, 121, 0.13);
            --course-soft: var(--surface-muted);
            --course-input: #203541;
            --course-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
        }

        :root[data-theme="dark"] .course-title-icon {
            background: rgba(49, 199, 121, 0.13);
            color: #31c779;
        }

        .course-analytics-header {
            margin-bottom: 1rem;
        }

        .course-title-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.4rem;
            height: 2.4rem;
            border-radius: 999px;
            background: #eaf6ef;
            color: #0b5d31;
            font-size: 1.25rem;
        }

        .course-analytics .analytics-panel,
        .course-analytics .metric-card,
        .course-analytics .course-list-panel,
        .course-analytics .detail-panel,
        .course-analytics .chart-panel,
        .course-analytics .insight-panel {
            border: 1px solid var(--course-border);
            border-radius: 12px;
            background: var(--course-surface);
            box-shadow: var(--course-shadow);
        }

        .course-analytics .analytics-panel {
            padding: 1rem;
            margin-bottom: 1rem;
        }

        .course-analytics .form-label {
            margin-bottom: 0.35rem;
            color: var(--course-text);
            font-size: 0.78rem;
            font-weight: 700;
        }

        .course-analytics .form-control,
        .course-analytics .form-select {
            min-height: 2.65rem;
            border-radius: 8px;
            border-color: var(--course-border);
            background: var(--course-input);
            color: var(--course-text);
        }

        .course-analytics .filter-submit {
            min-height: 2.65rem;
            border-radius: 8px;
            background: linear-gradient(180deg, var(--course-green), var(--course-green-dark));
            border: none;
            font-weight: 700;
        }

        .course-analytics .metric-grid {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 1rem;
            margin-bottom: 1rem;
        }

        .course-analytics .metric-card {
            display: flex;
            align-items: center;
            gap: 0.9rem;
            padding: 1rem;
            min-height: 6.2rem;
        }

        .course-analytics .metric-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.75rem;
            height: 2.75rem;
            border-radius: 999px;
            background: var(--course-green-soft);
            color: var(--course-green-dark);
            flex: 0 0 auto;
            font-size: 1.05rem;
        }

        .course-analytics .metric-label {
            color: var(--course-text);
            font-size: 0.78rem;
            font-weight: 800;
        }

        .course-analytics .metric-value {
            margin-top: 0.2rem;
            color: var(--course-text);
            font-size: 1.55rem;
            line-height: 1.05;
            font-weight: 850;
        }

        .course-analytics .metric-note {
            margin-top: 0.25rem;
            color: var(--course-muted);
            font-size: 0.76rem;
        }

        .course-analytics .metric-trend {
            margin-left: auto;
            color: #157f3f;
            font-size: 0.82rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .course-analytics .metric-trend.is-negative {
            color: #d92d20;
        }

        .course-analytics .analytics-layout {
            display: grid;
            grid-template-columns: minmax(320px, 0.48fr) minmax(0, 1fr);
            gap: 1rem;
            align-items: start;
        }

        .course-analytics .course-list-panel,
        .course-analytics .detail-panel {
            padding: 1rem;
        }

        .course-analytics .panel-title {
            margin: 0 0 1rem;
            color: var(--course-text);
            font-size: 1.05rem;
            font-weight: 850;
        }

        .course-analytics .course-list {
            display: grid;
            gap: 0.75rem;
        }

        .course-analytics .course-row {
            display: grid;
            grid-template-columns: 7.25rem minmax(0, 1fr) auto;
            gap: 0.85rem;
            padding: 0.75rem;
            border: 1px solid var(--course-border);
            border-radius: 10px;
            background: var(--course-surface);
            text-decoration: none;
            color: inherit;
            transition: border-color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
        }

        .course-analytics .course-row.is-active,
        .course-analytics .course-row:hover {
            border-color: rgba(15, 122, 62, 0.5);
            background: linear-gradient(90deg, var(--course-green-soft), var(--course-surface));
            box-shadow: 0 8px 20px rgba(16, 24, 40, 0.04);
        }

        .course-analytics .course-image {
            width: 100%;
            aspect-ratio: 1.35;
            border-radius: 8px;
            background-image: url("../images/larvik-small.jpeg");
            background-size: cover;
            background-position: center;
        }

        .course-analytics .course-name {
            color: var(--course-text);
            font-size: 1rem;
            font-weight: 850;
        }

        .course-analytics .course-meta {
            margin-top: 0.2rem;
            color: var(--course-muted);
            font-size: 0.82rem;
        }

        .course-analytics .course-stats {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.55rem;
            margin-top: 0.75rem;
        }

        .course-analytics .course-stat-label {
            color: var(--course-muted);
            font-size: 0.68rem;
        }

        .course-analytics .course-stat-value {
            color: var(--course-text);
            font-size: 0.9rem;
            font-weight: 850;
        }

        .course-analytics .course-open {
            align-self: start;
            border-radius: 8px;
            padding: 0.5rem 0.75rem;
            background: var(--course-green);
            color: #fff;
            font-weight: 800;
            font-size: 0.8rem;
        }

        .course-analytics .course-row:not(.is-active) .course-open {
            background: var(--course-surface);
            color: var(--course-text);
            border: 1px solid var(--course-border);
        }

        .course-analytics .detail-header {
            display: flex;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 0.8rem;
        }

        .course-analytics .detail-title {
            margin: 0;
            color: var(--course-text);
            font-size: 1.18rem;
            font-weight: 900;
        }

        .course-analytics .detail-subtitle {
            color: var(--course-muted);
            font-size: 0.86rem;
        }

        .course-analytics .pill-row {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            margin-bottom: 0.9rem;
        }

        .course-analytics .course-pill {
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid #dce7e1;
            background: var(--course-surface);
            color: var(--course-muted);
            font-size: 0.76rem;
            font-weight: 800;
        }

        .course-analytics .course-pill.is-primary {
            border-color: rgba(15, 122, 62, 0.42);
            background: var(--course-green-soft);
            color: var(--course-green-dark);
        }

        .course-analytics .detail-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
            gap: 0.9rem;
            margin-bottom: 0.9rem;
        }

        .course-analytics .chart-panel,
        .course-analytics .insight-panel {
            padding: 0.9rem;
        }

        .course-analytics .chart-title {
            margin-bottom: 0.75rem;
            color: var(--course-text);
            font-size: 0.9rem;
            font-weight: 850;
        }

        .course-analytics .line-chart {
            width: 100%;
            height: 170px;
            overflow: visible;
        }

        .course-analytics .bar-chart {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            align-items: end;
            gap: 1rem;
            height: 170px;
            padding-top: 0.5rem;
        }

        .course-analytics .bar-column {
            display: flex;
            flex-direction: column;
            justify-content: end;
            align-items: center;
            gap: 0.4rem;
            height: 100%;
            color: var(--course-muted);
            font-size: 0.74rem;
            text-align: center;
        }

        .course-analytics .bar-value {
            width: 52%;
            min-height: 0.4rem;
            border-radius: 7px 7px 0 0;
            background: linear-gradient(180deg, #72bd8d, #31945e);
        }

        .course-analytics .table-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: 0.9rem;
        }

        .course-analytics .analysis-table {
            margin-bottom: 0;
        }

        .course-analytics .analysis-table th {
            color: var(--course-muted);
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            background: var(--course-soft);
        }

        .course-analytics .analysis-table td {
            color: var(--course-text);
            font-size: 0.86rem;
        }

        .course-analytics .side-metric {
            display: flex;
            align-items: center;
            gap: 0.7rem;
            padding: 0.75rem 0;
            border-bottom: 1px solid var(--course-border);
        }

        .course-analytics .side-metric:last-child {
            border-bottom: 0;
        }

        .course-analytics .side-metric-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border-radius: 999px;
            background: var(--course-green-soft);
            color: var(--course-green-dark);
        }

        .course-analytics .side-metric-label {
            color: var(--course-muted);
            font-size: 0.76rem;
        }

        .course-analytics .side-metric-value {
            color: var(--course-text);
            font-weight: 850;
        }

        @media (max-width: 1280px) {
            .course-analytics .metric-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .course-analytics .analytics-layout,
            .course-analytics .detail-grid,
            .course-analytics .table-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 768px) {
            .course-analytics .metric-grid,
            .course-analytics .course-stats {
                grid-template-columns: 1fr 1fr;
            }

            .course-analytics .course-row {
                grid-template-columns: 1fr;
            }

            .course-analytics .course-image {
                aspect-ratio: 2.4;
            }
        }

/* resources/views/performance/member/index.blade.php */
.member-performance {
    --perf-card: rgba(255, 255, 255, 0.97);
    --perf-border: rgba(16, 38, 29, 0.09);
    --perf-border-strong: rgba(16, 38, 29, 0.16);
    --perf-text: #14231b;
    --perf-muted: #708078;
    --perf-primary: #14733a;
    --perf-primary-soft: #eaf6ef;
    --perf-negative: #c94743;
    --perf-negative-soft: #fff0ef;
    --perf-shadow: 0 10px 26px rgba(23, 37, 27, 0.08);
}

.member-performance,
.member-performance * {
    box-sizing: border-box;
}

.member-performance .card {
    border: 1px solid var(--perf-border) !important;
    border-radius: 12px;
    background: var(--perf-card);
    box-shadow: var(--perf-shadow) !important;
}

.member-performance .card-body {
    padding: 1rem 1.15rem;
}

.member-performance .form-label,
.member-performance .small.text-muted,
.member-performance .text-muted {
    color: var(--perf-muted) !important;
}

.member-performance .btn-primary {
    min-height: 48px;
    border-radius: 12px;
    background: #0f743c;
    border-color: #0f743c;
    color: #fff;
    font-weight: 700;
}

.member-performance .btn-primary:hover,
.member-performance .btn-primary:focus {
    background: #0b5f31;
    border-color: #0b5f31;
}

.member-performance .form-select {
    min-height: 48px;
    border-radius: 12px;
    border-color: var(--perf-border-strong);
    box-shadow: none;
}

.member-performance .table {
    margin-bottom: 0;
}

.member-performance .table td,
.member-performance .table th {
    padding: 0.45rem 0.65rem;
    border-bottom-color: rgba(16, 38, 29, 0.08);
    color: var(--perf-text);
}

.member-performance .table thead th {
    background: #f7fbf8;
    color: var(--perf-muted);
    font-size: 0.76rem;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 800;
}

.perf-section-title {
    margin: 0 0 0.25rem;
    font-size: 1.35rem;
    line-height: 1.1;
    letter-spacing: 0;
    font-weight: 800;
}

.perf-card-subtitle,
.perf-kpi-meta,
.perf-footnote,
.perf-explainer-row {
    color: var(--perf-muted);
    line-height: 1.45;
}

.perf-kpi-grid,
.perf-filter-card,
.perf-insight-grid {
    margin-bottom: 0.75rem;
}

.perf-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) minmax(190px, 0.8fr) minmax(150px, 0.45fr);
    gap: 0.7rem;
    align-items: end;
}

.perf-filter-field {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.perf-filter-field span {
    color: var(--perf-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.perf-filter-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.perf-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
}

.perf-kpi-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: start;
    min-height: 106px;
}

.perf-kpi-icon,
.perf-card-title-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--perf-primary-soft);
    color: var(--perf-primary);
    font-size: 1rem;
}

.perf-card-title-icon {
    width: 48px;
    height: 48px;
}

.perf-card-title-icon.is-negative {
    background: var(--perf-negative-soft);
    color: var(--perf-negative);
}

.perf-kpi-label {
    color: var(--perf-muted);
    font-size: 0.8rem;
    font-weight: 800;
    margin-bottom: 0.28rem;
}

.perf-kpi-value {
    font-size: 1.65rem;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 800;
    color: var(--perf-text);
}

.perf-kpi-value span {
    font-size: 1.1rem;
}

.perf-kpi-value--text {
    font-size: 1.25rem;
    line-height: 1.15;
}

.perf-kpi-delta {
    color: var(--perf-negative);
    font-weight: 800;
}

.perf-kpi-delta.is-good {
    color: var(--perf-primary);
}

.perf-insight-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(300px, 0.85fr);
    gap: 0.6rem;
}

.perf-card-title {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.75rem;
}

.perf-list {
    display: grid;
    gap: 0.75rem;
}

.perf-list-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
}

.perf-list-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--perf-text);
}

.perf-list-diff {
    font-size: 0.9rem;
    font-weight: 800;
    white-space: nowrap;
}

.perf-list-diff.is-positive {
    color: var(--perf-primary);
}

.perf-list-diff.is-negative {
    color: var(--perf-negative);
}

.perf-bar {
    height: 6px;
    border-radius: 999px;
    background: #edf1ed;
    overflow: hidden;
}

.perf-bar > span {
    display: block;
    height: 100%;
    border-radius: 999px;
}

.perf-bar.is-positive > span {
    background: #27834a;
}

.perf-bar.is-negative > span {
    background: #cf4c49;
}

.perf-footnote {
    margin-top: 1rem;
    min-height: 54px;
    padding: 0.8rem 0.9rem 0.8rem 3.35rem;
    border-radius: 10px;
    background: #f8fbf8;
    border: 1px solid var(--perf-border);
    position: relative;
}

.perf-footnote.is-negative {
    background: #fff7f6;
    border-color: rgba(184, 76, 67, 0.24);
}

.perf-footnote-icon {
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--perf-primary-soft);
    color: var(--perf-primary);
}

.perf-footnote.is-negative .perf-footnote-icon {
    background: var(--perf-negative-soft);
    color: var(--perf-negative);
}

.perf-footnote strong {
    display: block;
    color: var(--perf-text);
    margin-bottom: 0.15rem;
}

.perf-explainer {
    display: grid;
    gap: 0.72rem;
}

.perf-explainer-row {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    padding-bottom: 0.72rem;
}

.perf-dot {
    width: 10px;
    height: 10px;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: #afb7af;
}

.perf-dot.is-green { background: var(--perf-primary); }
.perf-dot.is-red { background: var(--perf-negative); }

.perf-position-pill,
.perf-assessment,
.perf-delta-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    min-width: 74px;
    padding: 0.18rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.perf-position-pill,
.perf-assessment.is-better,
.perf-delta-chip.is-better {
    background: #dcefdc;
    color: var(--perf-primary);
}

.perf-assessment.is-worse,
.perf-delta-chip.is-worse {
    background: var(--perf-negative-soft);
    color: var(--perf-negative);
}

.perf-assessment.is-neutral,
.perf-delta-chip.is-neutral {
    background: #ecefec;
    color: #56635a;
}

.perf-empty-note {
    color: var(--perf-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

@media (max-width: 1400px) {
    .perf-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .perf-insight-grid {
        grid-template-columns: 1fr 1fr;
    }

    .perf-insight-grid > :last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 992px) {
    .perf-kpi-grid,
    .perf-filter-grid,
    .perf-insight-grid {
        grid-template-columns: 1fr;
    }
}

/* resources/views/performance/shared/dashboard.blade.php */
.performance-dashboard {
        --performance-border: rgba(15, 23, 42, 0.08);
        --performance-surface: rgba(255, 255, 255, 0.96);
        --performance-surface-soft: #f7f9fb;
        --performance-text: #13253b;
        --performance-muted: #607086;
        --performance-soft: #7d8896;
        --performance-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
    }

    .performance-dashboard .card {
        border: 1px solid var(--performance-border) !important;
        border-radius: 20px;
        background: var(--performance-surface);
        box-shadow: var(--performance-shadow) !important;
    }

    .performance-dashboard .card-body {
        padding: 1.2rem 1.25rem;
    }

    .performance-dashboard .form-label,
    .performance-dashboard .small.text-muted {
        color: var(--performance-soft) !important;
    }

    .performance-dashboard .content-title,
    .performance-dashboard h5,
    .performance-dashboard .fs-5,
    .performance-dashboard .fs-4,
    .performance-dashboard .fw-semibold {
        color: var(--performance-text);
    }

    .performance-dashboard .btn-primary {
        background: #1f2937;
        border-color: #1f2937;
        color: #fff;
        border-radius: 12px;
        font-weight: 600;
        box-shadow: none;
    }

    .performance-dashboard .btn-primary:hover,
    .performance-dashboard .btn-primary:focus {
        background: #111827;
        border-color: #111827;
        color: #fff;
    }

    .performance-dashboard .btn-outline-secondary {
        border-color: rgba(31, 41, 55, 0.18);
        color: #374151;
        background: #fff;
        border-radius: 12px;
        font-weight: 600;
        box-shadow: none;
    }

    .performance-dashboard .btn-outline-secondary:hover,
    .performance-dashboard .btn-outline-secondary:focus {
        background: #f8fafc;
        border-color: rgba(31, 41, 55, 0.28);
        color: #111827;
    }

    .performance-dashboard .table > :not(caption) > * > * {
        border-bottom-color: rgba(15, 23, 42, 0.08);
        color: var(--performance-text);
    }

    .performance-dashboard .table thead th {
        color: var(--performance-muted);
        font-size: 0.78rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        font-weight: 700;
        background: #f8fafc;
    }

    .performance-filter-card {
        margin-bottom: 1.5rem;
    }

    .performance-metric-card .card-body {
        min-height: 118px;
    }

    .performance-metric-card--wide .card-body {
        min-height: 138px;
    }

    .performance-metric-label {
        color: var(--performance-soft);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.72rem;
        font-weight: 700;
        margin-bottom: 0.55rem;
    }

    .performance-metric-value {
        color: var(--performance-text);
        font-size: 2rem;
        line-height: 1.05;
        font-weight: 800;
        letter-spacing: -0.04em;
    }

    .performance-metric-value--text {
        font-size: 1.1rem;
        line-height: 1.3;
        letter-spacing: -0.02em;
    }

    .performance-metric-subvalue {
        margin-top: 0.7rem;
        color: var(--performance-muted);
        font-size: 0.92rem;
        line-height: 1.4;
    }

    .performance-metric-subvalue strong {
        color: var(--performance-text);
        font-weight: 700;
    }

    .performance-delta {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.28rem 0.6rem;
        border-radius: 999px;
        background: #f3f4f6;
        color: var(--performance-text);
        font-size: 0.84rem;
        font-weight: 700;
    }

    .performance-delta--better {
        background: #ecfdf3;
        color: #166534;
    }

    .performance-delta--worse {
        background: #fef2f2;
        color: #991b1b;
    }

    .performance-delta--neutral {
        background: #f3f4f6;
        color: #374151;
    }

    .performance-side-card + .performance-side-card {
        margin-top: 1.25rem;
    }

    .performance-segment-form {
        padding: 0.95rem;
        border-radius: 16px;
        background: var(--performance-surface-soft);
        border: 1px solid rgba(15, 23, 42, 0.06);
    }

    .performance-segment-item {
        border-top: 1px solid rgba(15, 23, 42, 0.08);
        padding-top: 0.9rem;
        margin-top: 0.9rem;
    }

    :root[data-theme="dark"] .performance-dashboard {
        --performance-border: #304652;
        --performance-surface: rgba(26, 40, 50, 0.98);
        --performance-surface-soft: #1f323d;
        --performance-text: #edf4f1;
        --performance-muted: #b0c1ca;
        --performance-soft: #91a7b3;
        --performance-shadow: none;
    }

    :root[data-theme="dark"] .performance-dashboard .table thead th {
        background: #243845;
        color: #c5d5de;
    }

    :root[data-theme="dark"] .performance-dashboard .btn-primary {
        background: #2f9e63;
        border-color: rgba(79, 201, 130, 0.3);
        color: #f7fcf9;
    }

    :root[data-theme="dark"] .performance-dashboard .btn-primary:hover,
    :root[data-theme="dark"] .performance-dashboard .btn-primary:focus {
        background: #38b26d;
        border-color: rgba(102, 222, 151, 0.4);
        color: #ffffff;
    }

    :root[data-theme="dark"] .performance-dashboard .btn-outline-secondary {
        border-color: #3a5360;
        color: #d7e4ea;
        background: #1d313d;
    }

    :root[data-theme="dark"] .performance-dashboard .btn-outline-secondary:hover,
    :root[data-theme="dark"] .performance-dashboard .btn-outline-secondary:focus {
        background: #243b49;
        border-color: #4d6a79;
        color: #ffffff;
    }

    :root[data-theme="dark"] .performance-delta {
        background: #223744;
        color: #dbe8ee;
    }

    :root[data-theme="dark"] .performance-delta--better {
        background: rgba(56, 178, 109, 0.14);
        color: #9be7b8;
    }

    :root[data-theme="dark"] .performance-delta--worse {
        background: rgba(239, 107, 91, 0.14);
        color: #ffb0a6;
    }

    :root[data-theme="dark"] .performance-delta--neutral {
        background: #223744;
        color: #c7d7df;
    }

/* resources/views/performance/shared/awards.blade.php */
.awards-dashboard {
        --awards-border: rgba(20, 58, 38, 0.10);
        --awards-surface: rgba(255, 255, 255, 0.94);
        --awards-text: #193625;
        --awards-muted: #6e7f72;
        --awards-accent: #2f8f57;
        --awards-accent-soft: rgba(47, 143, 87, 0.10);
        --awards-gold: #c99a2e;
        --awards-gold-soft: rgba(201, 154, 46, 0.12);
        --awards-shadow: 0 18px 40px rgba(25, 54, 37, 0.08);
    }

    .awards-dashboard .card {
        border: 1px solid var(--awards-border) !important;
        border-radius: 22px;
        background: var(--awards-surface);
        box-shadow: var(--awards-shadow) !important;
    }

    .awards-dashboard .card-body {
        padding: 1.35rem 1.4rem;
    }

    .awards-summary-card {
        position: relative;
        overflow: hidden;
    }

    .awards-summary-card::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 3px;
        background: linear-gradient(90deg, #41b96d 0%, #86d6a0 100%);
    }

    .awards-summary-card__body {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .awards-icon {
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        background: var(--awards-accent-soft);
        color: var(--awards-accent);
        font-size: 1rem;
    }

    .awards-icon--gold {
        background: var(--awards-gold-soft);
        color: var(--awards-gold);
    }

    .awards-summary-label,
    .awards-panel-eyebrow,
    .awards-side-text {
        color: var(--awards-muted);
    }

    .awards-summary-label {
        font-size: 0.82rem;
        line-height: 1.3;
        margin-bottom: 0.3rem;
    }

    .awards-summary-value {
        color: var(--awards-text);
        font-size: 2.05rem;
        line-height: 1;
        font-weight: 800;
        letter-spacing: -0.04em;
    }

    .awards-layout-main .card-body {
        padding: 1.15rem 1.15rem 1.2rem;
    }

    .awards-panel-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .awards-panel-title-wrap {
        display: flex;
        align-items: center;
        gap: 0.8rem;
        min-width: 0;
    }

    .awards-panel-title {
        color: var(--awards-text);
        font-size: 1.1rem;
        font-weight: 700;
        margin: 0;
    }

    .awards-panel-eyebrow {
        display: inline-flex;
        align-items: center;
        padding: 0.32rem 0.72rem;
        border-radius: 999px;
        background: rgba(47, 143, 87, 0.08);
        color: var(--awards-accent);
        font-size: 0.76rem;
        font-weight: 700;
    }

    .awards-dashboard .table {
        margin-bottom: 0;
    }

    .awards-dashboard .table > :not(caption) > * > * {
        border-bottom-color: rgba(20, 58, 38, 0.08);
        color: var(--awards-text);
        padding-top: 0.9rem;
        padding-bottom: 0.9rem;
    }

    .awards-dashboard .table thead th {
        background: #f7f6f1;
        color: var(--awards-muted);
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        font-weight: 700;
    }

    .awards-empty-state {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 18rem;
        text-align: center;
        color: var(--awards-muted);
        padding: 2rem 1.5rem;
    }

    .awards-empty-state__art {
        width: 7rem;
        height: 7rem;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1rem;
        background: radial-gradient(circle at 30% 30%, rgba(130, 191, 149, 0.26), rgba(47, 143, 87, 0.08));
        color: var(--awards-accent);
        font-size: 2.3rem;
    }

    .awards-empty-state__text {
        max-width: 18rem;
        line-height: 1.5;
    }

    .awards-member-button {
        appearance: none;
        border: 0;
        background: transparent;
        color: var(--awards-text);
        font: inherit;
        font-weight: 700;
        padding: 0;
        text-align: left;
        cursor: pointer;
    }

    .awards-member-button:hover,
    .awards-member-button:focus {
        color: var(--awards-accent);
        text-decoration: underline;
    }

    .awards-detail-row {
        display: none;
    }

    .awards-detail-row.is-open {
        display: table-row;
    }

    .awards-scorecard-panel {
        padding: 1rem;
        border-radius: 16px;
        background: #073f25;
        color: #f2fbf5;
    }

    .awards-scorecard-panel + .awards-scorecard-panel {
        margin-top: 0.85rem;
    }

    .awards-scorecard-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.6rem;
        margin-bottom: 0.85rem;
        color: rgba(242, 251, 245, 0.78);
        font-size: 0.86rem;
    }

    .awards-scorecard-title {
        margin: 0 0 0.3rem;
        font-size: 1rem;
        font-weight: 800;
        color: #fff;
    }

    .awards-scorecard-table {
        width: 100%;
        min-width: 760px;
        border-collapse: separate;
        border-spacing: 0;
        overflow: hidden;
        border-radius: 12px;
        background: #fff;
        color: #173424;
    }

    .awards-scorecard-table th,
    .awards-scorecard-table td {
        padding: 0.55rem 0.62rem;
        text-align: center;
        border-bottom: 1px solid rgba(20, 58, 38, 0.10);
        font-size: 0.84rem;
        white-space: nowrap;
    }

    .awards-scorecard-table th:first-child,
    .awards-scorecard-table td:first-child {
        text-align: left;
        background: #eef3ef;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #425a49;
    }

    .awards-scorecard-table tr:last-child th,
    .awards-scorecard-table tr:last-child td {
        border-bottom: 0;
    }

    .awards-score-cell {
        --score-ring-offset: 0;
        display: inline-flex;
        width: 1.75rem;
        height: 1.75rem;
        align-items: center;
        justify-content: center;
        position: relative;
        border-radius: 999px;
        font-weight: 900;
    }

    .awards-score-cell::before,
    .awards-score-cell::after,
    .awards-score-cell .score-ring {
        content: "";
        position: absolute;
        inset: var(--score-ring-offset);
        pointer-events: none;
    }

    .awards-score-cell::before,
    .awards-score-cell::after,
    .awards-score-cell .score-ring {
        display: none;
    }

    .awards-score-cell.is-under-par::before,
    .awards-score-cell.is-under-par::after,
    .awards-score-cell.is-under-par .score-ring {
        border-radius: 999px;
        border: 2px solid #8e9890;
    }

    .awards-score-cell.is-over-par::before,
    .awards-score-cell.is-over-par::after,
    .awards-score-cell.is-over-par .score-ring {
        border-radius: 4px;
        border: 2px solid #8e9890;
    }

    .awards-score-cell.score-mark-1::before {
        display: block;
        --score-ring-offset: 0;
    }

    .awards-score-cell.score-mark-2::before {
        display: block;
        --score-ring-offset: 0;
    }

    .awards-score-cell.score-mark-2::after {
        display: block;
        --score-ring-offset: -4px;
    }

    .awards-score-cell.score-mark-3::before {
        display: block;
        --score-ring-offset: 0;
    }

    .awards-score-cell.score-mark-3::after {
        display: block;
        --score-ring-offset: -4px;
    }

    .awards-score-cell.score-mark-3 .score-ring {
        display: block;
        --score-ring-offset: -8px;
    }

    .awards-score-cell.is-ace {
        background: #dff3e6;
        color: #0f6d3b;
        font-weight: 900;
        box-shadow: inset 0 0 0 2px #50ba73;
    }

    .awards-side-card + .awards-side-card {
        margin-top: 1rem;
    }

    .awards-side-card .card-body {
        display: flex;
        align-items: flex-start;
        gap: 0.95rem;
        padding: 1.1rem 1.15rem;
    }

    .awards-side-content {
        min-width: 0;
    }

    .awards-side-title {
        color: var(--awards-text);
        font-size: 1rem;
        font-weight: 700;
        margin-bottom: 0.3rem;
    }

    .awards-side-name {
        color: var(--awards-text);
        font-weight: 700;
        line-height: 1.35;
    }

    .awards-side-text {
        font-size: 0.88rem;
        line-height: 1.45;
    }

    :root[data-theme="dark"] .awards-dashboard {
        --awards-border: #315043;
        --awards-surface: rgba(23, 38, 31, 0.96);
        --awards-text: #edf5ef;
        --awards-muted: #a4b7a9;
        --awards-accent: #66d08b;
        --awards-accent-soft: rgba(102, 208, 139, 0.12);
        --awards-gold: #e7c56b;
        --awards-gold-soft: rgba(231, 197, 107, 0.14);
        --awards-shadow: none;
    }

    :root[data-theme="dark"] .awards-dashboard .table thead th {
        background: rgba(255, 255, 255, 0.05);
    }

    @media (max-width: 991.98px) {
        .awards-panel-header {
            flex-direction: column;
            align-items: flex-start;
        }
    }

/* ------------------------------------------------------------
 * Public app download landing
 * ------------------------------------------------------------ */

.app-download-page {
    min-height: 100vh;
    background: #081b12;
    color: #f7fbf7;
}

.app-download-shell {
    min-height: 100vh;
}

.app-download-hero {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(5, 20, 12, 0.94) 0%, rgba(8, 31, 18, 0.82) 45%, rgba(8, 31, 18, 0.34) 100%),
        url("../images/larvik.jpg") center center / cover no-repeat;
}

.app-download-media {
    position: absolute;
    inset: auto 0 0 0;
    height: 34vh;
    min-height: 220px;
    background:
        linear-gradient(180deg, rgba(8, 27, 18, 0) 0%, rgba(8, 27, 18, 0.88) 92%),
        linear-gradient(90deg, rgba(218, 179, 78, 0.18), rgba(65, 172, 107, 0.15));
    pointer-events: none;
}

.app-download-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 320px);
    align-items: center;
    gap: 2rem;
    width: min(1120px, calc(100% - 2rem));
    min-height: 100svh;
    margin: 0 auto;
    padding: 2rem 0;
}

.app-download-copy {
    max-width: 680px;
}

.app-download-logo {
    width: min(170px, 58vw);
    height: auto;
    display: block;
    margin-bottom: 1.8rem;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.28));
}

.app-download-kicker {
    width: fit-content;
    margin: 0 0 0.9rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid rgba(226, 205, 129, 0.42);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #f4dfa2;
    font-size: 0.82rem;
    font-weight: 700;
}

.app-download-copy h1 {
    max-width: 10ch;
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7vw, 5.8rem);
    line-height: 0.94;
    font-weight: 850;
    letter-spacing: 0;
}

.app-download-lead {
    max-width: 620px;
    margin: 1rem 0 0;
    color: rgba(247, 251, 247, 0.88);
    font-size: clamp(1.08rem, 2vw, 1.35rem);
    line-height: 1.55;
}

.app-download-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.35rem;
}

.app-download-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    padding: 0.8rem 1.1rem;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.app-download-actions a:hover {
    transform: translateY(-1px);
}

.app-download-primary {
    min-width: min(100%, 13.5rem);
    background: #f3c84b;
    color: #132016;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}

.app-download-store {
    min-width: 9.8rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    backdrop-filter: blur(10px);
}

.app-download-primary:hover {
    background: #ffda69;
    color: #132016;
}

.app-download-store:hover {
    border-color: rgba(255, 255, 255, 0.48);
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.app-download-status {
    max-width: 560px;
    min-height: 1.6rem;
    margin: 1rem 0 0;
    color: rgba(247, 251, 247, 0.72);
    font-size: 0.98rem;
}

.app-download-qr {
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.13);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(16px);
    padding: 1rem;
}

.app-download-qr img {
    display: block;
    width: 100%;
    max-width: 240px;
    height: auto;
    margin: 0 auto;
    border-radius: 6px;
    background: #ffffff;
}

.app-download-qr p {
    margin: 0.95rem 0 0;
    color: rgba(247, 251, 247, 0.78);
    font-size: 0.92rem;
    line-height: 1.45;
}

@media (max-width: 820px) {
    .app-download-hero {
        background:
            linear-gradient(180deg, rgba(5, 20, 12, 0.96) 0%, rgba(8, 31, 18, 0.82) 58%, rgba(8, 31, 18, 0.58) 100%),
            url("../images/larvik-small.jpeg") center center / cover no-repeat;
    }

    .app-download-content {
        grid-template-columns: 1fr;
        align-items: end;
        gap: 1.5rem;
        width: min(100% - 1.25rem, 560px);
        padding: 2rem 0 1.25rem;
    }

    .app-download-logo {
        width: min(176px, 62vw);
        margin-bottom: 2.2rem;
    }

    .app-download-copy h1 {
        max-width: 9ch;
        font-size: clamp(2.75rem, 15vw, 4.8rem);
    }

    .app-download-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .app-download-actions a {
        width: 100%;
    }

    .app-download-qr {
        display: none;
    }
}
