/* Existing Home dashboard styles reused for the access/crew pages. */


        /* =========================================
           HOME DASHBOARD
           ========================================= */

        .dashboard {
            width: 100%;
            max-width: 1500px;
            box-sizing: border-box;
            padding: 5px 20px 40px 0;
            font-family: "Open Sans", sans-serif;
            color: #222222;
        }


        /* =========================================
           SUMMARY CARDS
           ========================================= */

        .dashboard-summary {
            display: grid;
            grid-template-columns: repeat(5, minmax(140px, 1fr));
            gap: 14px;
            margin-bottom: 25px;
        }

        .summary-card {
            min-height: 90px;
            padding: 16px 18px;
            background-color: #ffffff;
            border: 1px solid #dddddd;
            border-radius: 6px;
            box-sizing: border-box;
            text-decoration: none;
            color: #222222;
            transition:
                border-color 0.2s ease,
                box-shadow 0.2s ease,
                transform 0.2s ease;
        }

        .summary-card:hover {
            border-color: #00a4d3;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
            transform: translateY(-1px);
        }

        .summary-number {
            display: block;
            margin-bottom: 4px;
            font-family: "Open Sans", sans-serif;
            font-size: 24pt;
            font-weight: 700;
            line-height: 1;
            color: #0082a7;
        }

        .summary-label {
            display: block;
            font-size: 9pt;
            font-weight: 600;
            color: #555555;
        }


        /* =========================================
           MAIN DASHBOARD GRID
           ========================================= */

        .dashboard-grid {
            display: grid;
            grid-template-columns: minmax(500px, 2fr) minmax(300px, 1fr);
            gap: 20px;
            margin-bottom: 20px;
        }

        .dashboard-panel {
            background-color: #ffffff;
            border: 1px solid #dddddd;
            border-radius: 6px;
            overflow: hidden;
        }

        .quick-actions-panel {
            align-self: start;
        }

        .dashboard-panel-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            min-height: 46px;
            padding: 0 16px;
            border-bottom: 1px solid #e2e2e2;
            background-color: #f5f5f5;
        }

        .dashboard-panel-title {
            margin: 0;
            font-family: "Open Sans", sans-serif;
            font-size: 12pt;
            font-weight: 700;
            color: #222222;
        }

        .dashboard-panel-link {
            display: inline-block;
            padding: 6px 10px;
            border: 1px solid #cccccc;
            border-radius: 4px;
            background-color: #ffffff;
            color: #555555;
            font-size: 8.5pt;
            font-weight: 600;
            text-decoration: none;
            transition:
                border-color 0.2s ease,
                color 0.2s ease,
                background-color 0.2s ease;
        }

        .dashboard-panel-link:hover {
            border-color: #00a4d3;
            color: #0082a7;
            background-color: #f9fcfd;
            text-decoration: none;
        }

        .dashboard-panel-select {
            height: 30px;
            min-width: 110px;
            padding: 0 28px 0 10px;
            border: 1px solid #cccccc;
            border-radius: 4px;
            background-color: #ffffff;
            color: #555555;
            font-family: "Open Sans", sans-serif;
            font-size: 8.5pt;
            font-weight: 600;
            cursor: pointer;
        }

        .dashboard-panel-select:hover {
            border-color: #00a4d3;
        }

        .dashboard-panel-select:focus {
            outline: none;
            border-color: #00a4d3;
        }

        .dashboard-panel-body {
            padding: 0;
        }


        /* =========================================
           EVENTS
           ========================================= */

        .event-row {
            display: grid;
            grid-template-columns:
                minmax(140px, 2fr)
                minmax(100px, 1fr)
                minmax(90px, .8fr);
            gap: 15px;
            align-items: center;
            min-height: 64px;
            padding: 8px 16px;
            border-bottom: 1px solid #eeeeee;
            box-sizing: border-box;
        }

        .event-row:last-child {
            border-bottom: 0;
        }

        .event-row:hover {
            background-color: #f9fcfd;
        }

        .event-row > div {
            min-width: 0;
            overflow-wrap: anywhere;
        }

        .event-name {
            display: block;
            margin-bottom: 3px;
            font-size: 10pt;
            font-weight: 700;
            color: #006995;
            text-decoration: none;
        }

        .event-name:hover {
            text-decoration: underline;
        }

        .event-detail {
            display: block;
            font-size: 8.5pt;
            color: #666666;
        }

        .event-date {
            font-size: 9pt;
            color: #333333;
        }

        .event-status {
            display: inline-block;
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 8pt;
            font-weight: 600;
            background-color: #e7f7fa;
            color: #006995;
        }


        /* =========================================
           ACTION REQUIRED
           ========================================= */

        .action-item {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 13px 16px;
            border-bottom: 1px solid #eeeeee;
        }

        .action-item:last-child {
            border-bottom: 0;
        }

        .action-indicator {
            width: 8px;
            height: 8px;
            margin-top: 5px;
            border-radius: 50%;
            background-color: #e8623f;
            flex: 0 0 auto;
        }

        .action-content {
            flex: 1;
        }

        .action-title {
            display: block;
            margin-bottom: 2px;
            font-size: 9pt;
            font-weight: 600;
            color: #333333;
            text-decoration: none;
        }

        .action-title:hover {
            color: #0082a7;
            text-decoration: underline;
        }

        .action-detail {
            display: block;
            font-size: 8pt;
            color: #777777;
        }


      /* =========================================
       RECENT ACTIVITY
       ========================================= */

    .activity-table-wrap {
        width:100%;
        overflow-x:auto;
    }

    .activity-table {
        width:100%;
        border-collapse:collapse;
        table-layout:fixed;
    }

    .activity-table th {
        padding:9px 12px;
        background:#f7f7f7;
        border-bottom:1px solid #dddddd;
        border-right:1px solid #dddddd;
        text-align:left;
        font-size:8pt;
        font-weight:700;
        color:#666666;
    }

    .activity-table td {
        padding:10px 12px;
        border-bottom:1px solid #eeeeee;
        border-right:1px solid #eeeeee;
        vertical-align:top;
        font-size:8.5pt;
        line-height:1.45;
        color:#444444;
    }

    .activity-table th:last-child,
    .activity-table td:last-child {
        border-right:0;
    }

    .activity-table tbody tr:last-child td {
        border-bottom:0;
    }

    .activity-table tbody tr:hover td {
        background:#f9fcfd;
    }

    .activity-user {
        width:120px;
        font-weight:600;
        color:#333333;
    }

    .activity-description {
        width:auto;
    }

    .activity-date {
        width:150px;
        white-space:nowrap;
        color:#666666;
    }

    .activity-ip {
        width:115px;
        color:#888888;
    }


        /* =========================================
           QUICK ACTIONS
           ========================================= */

        .quick-actions {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            padding: 16px;
        }

        .quick-action {
            display: block;
            padding: 11px 12px;
            border: 1px solid #00a4d3;
            border-radius: 4px;
            background-color: #ffffff;
            color: #006995;
            font-size: 9pt;
            font-weight: 600;
            text-align: center;
            text-decoration: none;
            transition:
                background-color 0.2s ease,
                color 0.2s ease;
        }

        .quick-action:hover {
            color: #ffffff;
            background-color: #00a4d3;
        }


        /* =========================================
           EMPTY STATES
           ========================================= */

        .dashboard-empty {
            padding: 25px 16px;
            font-size: 9pt;
            color: #777777;
            text-align: center;
        }


        /* =========================================
           RESPONSIVE
           ========================================= */

        @media (max-width: 1100px) {

            .dashboard-summary {
                grid-template-columns: repeat(3, 1fr);
            }

            .dashboard-grid {
                grid-template-columns: 1fr;
            }

            .event-row {
                grid-template-columns:
                    minmax(120px, 2fr)
                    minmax(90px, 1fr)
                    minmax(80px, .8fr);
                gap: 10px;
            }

        }


        @media (max-width: 750px) {

            .dashboard-summary {
                grid-template-columns: 1fr 1fr;
            }

            .dashboard-panel-header {
                flex-wrap: wrap;
                padding-top: 8px;
                padding-bottom: 8px;
            }

            .event-row {
                grid-template-columns: 1fr;
                gap: 5px;
                padding-top: 12px;
                padding-bottom: 12px;
            }

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

        }

    
.crew-access-stack { display:grid; gap:16px; }
.crew-access-grid { width:100%; border-collapse:collapse; font-family:"Open Sans",sans-serif; font-size:13px; }
.crew-access-grid th { background:#f7f7f7; text-align:left; }
.crew-access-grid th,.crew-access-grid td { padding:10px 12px; border-bottom:1px solid #eee; border-right:1px solid #ddd; }
.crew-access-grid th:last-child,.crew-access-grid td:last-child { border-right:0; }
.crew-home-grid { table-layout:fixed; }
.crew-home-grid th:nth-child(1) { width:30%; }
.crew-home-grid th:nth-child(2) { width:24%; }
.crew-home-grid th:nth-child(3),.crew-home-grid th:nth-child(4) { width:12%; }
.crew-home-grid th:nth-child(5),.crew-home-grid th:nth-child(6) { width:11%; }
.crew-home-grid th,.crew-home-grid td { overflow-wrap:anywhere; }
.crew-access-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:14px 0; }
.crew-access-controls select { padding:8px; border:1px solid #ddd; font:inherit; max-width:100%; }
.crew-access-button { background:#0082a7; color:white; border:0; border-radius:3px; padding:9px 16px; cursor:pointer; font:inherit; }
.crew-access-notice { display:block; padding:10px 0; }
.crew-access-stack a { color:#0082a7; }

.crew-event-table-scroll { overflow-x:auto; }
@media (max-width:700px) { .crew-event-table-scroll .crew-access-grid { min-width:620px; } }

/* Match the event Crew grid treatment while retaining these crew-facing columns. */
.crew-event-grid { background:#fff; color:#444; font-size:8.5pt; }
.crew-event-grid th { background:#f7f7f7; color:#666; font-size:7.5pt; font-weight:700; border-bottom:1px solid #ddd; border-right-color:#ddd; }
.crew-event-grid td { height:58px; box-sizing:border-box; color:#444; border-right-color:#eee; vertical-align:middle; overflow-wrap:anywhere; }
.crew-event-grid tr:hover td { background:#fafafa; }
.crew-event-grid tr:last-child td { border-bottom:0; }
.crew-event-grid td:first-child { color:#0082a7; font-weight:600; }

.crew-panel-note { margin:0; padding:15px; font-size:9pt; line-height:1.5; }
.crew-access-grid .elmo-center-column { text-align:center; }
html[data-elmo-theme="dark"] .crew-event-grid { background:#1b242f; color:#e5ecf3; }
html[data-elmo-theme="dark"] .crew-event-grid th { background:#26323f; color:#e5ecf3; border-color:#3a4b5c; }
html[data-elmo-theme="dark"] .crew-event-grid td { color:#e5ecf3; border-color:#3a4b5c; }
html[data-elmo-theme="dark"] .crew-event-grid tr:hover td { background:#26323f; }

.crew-package-contents { margin-top: .5rem; font-weight: normal; }
.crew-package-contents summary { cursor: pointer; color: var(--link-color, #008aab); }
.crew-package-contents ul { margin: .5rem 0; padding-left: 1.4rem; }
.crew-package-contents > details { margin: .5rem 0 .5rem 1rem; }

.crew-member-identity { display:flex; align-items:center; gap:10px; width:100%; min-width:0; }
.crew-member-photo { width:40px; height:40px; object-fit:cover; border-radius:6px; flex-shrink:0; border:1px solid #e2e2e2; background-color:#f3f3f3; }

.crew-billing-grid-frame { border-top:1px solid #ddd; border-bottom:1px solid #ddd; box-sizing:border-box; }
html[data-elmo-theme="dark"] .crew-billing-grid-frame { border-color:#3a4b5c; }

.crew-status { display:inline-block; min-width:72px; padding:4px 9px; border-radius:4px; box-sizing:border-box; text-align:center; font-size:8pt; font-weight:600; line-height:1.3; white-space:nowrap; }
.crew-status-offered { background-color:#eeeeee; color:#555555; }
.crew-status-penciled { background-color:#fff3cd; color:#705d00; }
.crew-status-confirmed { background-color:#e6f4ea; color:#2f6b3c; }

/* Crew Home uses the existing event cards and actions. */
.crew-home-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.crew-home-heading h2 { margin:0; font-size:15pt; }
.crew-home-heading > span { color:#666; font-size:9pt; }
.crew-home-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px; margin-bottom:18px; background:#eef9fc; border:1px solid #a4d8e6; border-left:4px solid #00a4d3; border-radius:6px; }
.crew-home-kicker { color:#006d8d; font-size:9pt; font-weight:700; }
.crew-home-hero h2 { margin:8px 0; font-size:22pt; line-height:1.25; overflow-wrap:anywhere; }
.crew-home-hero p { margin:8px 0 12px; font-size:10pt; }
.crew-home .event-card-body { font-size:9pt; line-height:1.6; }
.crew-home-links { display:grid; gap:12px; }
.crew-home-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.crew-home-tag { display:inline-block; border-radius:4px; padding:3px 8px; font-size:8pt; font-weight:600; background:#e8f4f9; color:#006d8d; }
.crew-home-tag-pending { background:#fff1d2; color:#795600; }
.crew-home-tag-success { background:#e6f4ea; color:#2f6b3c; }
.crew-home .event-card-header { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.crew-home-amount { font-size:22pt; font-weight:700; }
html[data-elmo-theme="dark"] .crew-home-heading > span { color:#b5c3d0; }
html[data-elmo-theme="dark"] .crew-home-hero { background:#19323f; border-color:#39768b; color:#e5ecf3; }
html[data-elmo-theme="dark"] .crew-home-kicker { color:#8bd9ec; }
html[data-elmo-theme="dark"] .crew-home-tag-pending { background:#584619; color:#ffe39b; }
html[data-elmo-theme="dark"] .crew-home-tag-success { background:#244d35; color:#b7edc7; }
@media (max-width:600px) { .crew-home-hero { align-items:flex-start; flex-direction:column; padding:16px; } .crew-home-hero h2 { font-size:19pt; } }

.crew-daily-plan { margin-bottom:22px; }
.crew-daily-plan input:not([type="submit"]) { box-sizing:border-box; width:100%; min-width:90px; border:1px solid #ccc; border-radius:4px; padding:8px; font:inherit; background:#fff; color:#333; }
.crew-daily-plan input[type="time"] { min-width:125px; }
.crew-daily-plan td { vertical-align:top; }
.crew-daily-plan input[type="submit"] { cursor:pointer; font-family:inherit; }
html[data-elmo-theme="dark"] .crew-daily-plan input:not([type="submit"]) { background:#111a23; color:#e5ecf3; border-color:#46576a; color-scheme:dark; }

.crew-daily-plan .crew-event-grid { min-width:1100px; }
.crew-daily-plan .crew-event-grid td:first-child { min-width:105px; white-space:nowrap; }
.crew-daily-plan .crew-event-table-scroll { border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
html[data-elmo-theme="dark"] .crew-daily-plan .crew-event-table-scroll { border-color:#3a4b5c; }

.crew-daily-plan .crew-event-grid td.crew-plan-middle { vertical-align:middle; }
.crew-events-dashboard .crew-home-hero { margin-bottom:0; }
.crew-events-dashboard .crew-home-hero h2 { font-size:17pt; }
.crew-events-muted { color:#707070; font-size:9pt; margin:6px 0 0; }
.crew-year-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.crew-year-heading h2 { font-size:13pt; margin:0; }
.crew-year-heading > div { display:flex; align-items:center; gap:8px; font-size:9pt; }
.crew-year-heading select { font:inherit; padding:8px 12px; border:1px solid #ccc; border-radius:4px; background:#fff; color:#333; }
.crew-year-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.crew-year-stat { border:1px solid #ddd; border-radius:6px; padding:16px; background:#fff; }
.crew-year-stat span { display:block; font-size:9pt; font-weight:600; }
.crew-year-stat strong { display:block; font-size:24pt; color:#0082a7; margin:8px 0; overflow-wrap:anywhere; }
.crew-year-stat small,.crew-year-note { font-size:8pt; color:#707070; }
.crew-year-note { margin:10px 0 0; line-height:1.5; }
html[data-elmo-theme="dark"] .crew-year-stat { background:#1b242f; border-color:#3a4b5c; }
html[data-elmo-theme="dark"] .crew-year-stat strong { color:#80d7ee; }
html[data-elmo-theme="dark"] .crew-year-stat small,html[data-elmo-theme="dark"] .crew-year-note,html[data-elmo-theme="dark"] .crew-events-muted { color:#b5c3d0; }
html[data-elmo-theme="dark"] .crew-year-heading select { background:#1b242f; color:#e5ecf3; border-color:#3a4b5c; }
@media(max-width:700px) { .crew-year-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .crew-year-stat { padding:12px; } .crew-year-stat strong { font-size:20pt; } }

/* Dashboard action links retain button contrast over generic link colors. */
.crew-events-dashboard a.event-button-primary,
.crew-events-dashboard a.event-button-primary:visited,
.crew-events-dashboard a.event-button-primary:hover,
.crew-events-dashboard a.event-button-primary:focus,
.crew-events-dashboard a.event-button-primary:active { color:#fff !important; text-decoration:none; }
