/*
 * =========================================================
 * DEWPOINT - OWNER STAFF / TEAM ACCOUNTS
 * =========================================================
 *
 * Dedicated styles for:
 * Owner > Management > Staff
 *
 * 7B-5B1:
 * Copy-only modularization stage.
 *
 * Original shared CSS remains unchanged until
 * browser verification is complete.
 * =========================================================
 */

/* =========================================================
   BASE OWNER TEAM / STAFF STYLES
   Source: dewpoint-app.css
   ========================================================= */

/* ===== OWNER TEAM / STAFF ===== */

.owner-team-page .booking-page-head>button{
    background:#fff;
    color:#087e41;
}

.owner-team-kpis article:nth-child(2){
    background:#effbf4;
    border-color:#57d487;
}

.owner-team-kpis article:nth-child(3){
    background:#f7faf9;
}

.team-form-panel{
    max-width:980px;
}

.team-member-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:14px;
}

.team-member-form label{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:9px;
    font-weight:800;
}

.team-member-form input,
.team-member-form select{
    border:1px solid var(--line);
    background:#fff;
    border-radius:8px;
    padding:11px;
    font-size:10px;
}

.team-member-form input:focus,
.team-member-form select:focus{
    outline:2px solid #31cc72;
    outline-offset:1px;
}

.team-member-form .primary{
    grid-column:1/-1;
    max-width:320px;
    margin:5px 0 0;
}

.team-account-list{
    display:flex;
    flex-direction:column;
    margin-top:14px;
}

.team-account-list article{
    display:grid;
    grid-template-columns:46px minmax(180px,1fr) 90px auto;
    align-items:center;
    gap:13px;
    border-top:1px solid var(--line);
    padding:14px 4px;
}

.team-account-list article.disabled{
    opacity:.62;
    background:#fafbfb;
}

.team-avatar{
    width:42px!important;
    height:42px!important;
    flex:none;
}

.team-account-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.team-account-main>div{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.team-account-main b{
    font-size:11px;
}

.team-account-main span,
.team-account-main small{
    color:var(--muted);
    font-size:8px;
}

.team-account-main em{
    border-radius:20px;
    padding:4px 7px;
    font-size:7px;
    font-style:normal;
    font-weight:900;
}

.team-account-main em.manager{
    color:#4b58a3;
    background:#edf0ff;
}

.team-account-main em.staff{
    color:#087e40;
    background:#e5f9ec;
}

.team-status{
    justify-self:start;
    border-radius:20px;
    padding:6px 9px;
    font-size:7px;
    font-weight:900;
}

.team-status.active{
    color:#078d43;
    background:#e5faed;
}

.team-status.inactive{
    color:#7c8783;
    background:#edf1ef;
}

.team-account-actions{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
}

.team-account-actions button{
    border:1px solid var(--line);
    color:#31534a;
    background:#fff;
    border-radius:7px;
    padding:7px 9px;
    font-size:7px;
    font-weight:900;
}

.team-account-actions button.disable{
    color:#bc4f38;
    border-color:#f0b6a7;
    background:#fff1ed;
}

.team-account-actions button.activate{
    color:#078d43;
    border-color:#50d083;
    background:#ecfbf2;
}

.team-empty{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:42px 20px;
}

.team-empty>span{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e5f9ec;
    color:#08a64a;
    font-size:25px;
}

.team-empty h3{
    margin:13px 0 4px;
    font-size:15px;
}

.team-empty p{
    color:var(--muted);
    font-size:9px;
}

.team-empty .primary{
    width:auto;
}

@media (max-width:800px){
    .team-account-list article{
        grid-template-columns:42px 1fr auto;
    }

    .team-account-actions{
        grid-column:2/-1;
        justify-content:flex-start;
    }
}

@media (max-width:600px){
    .team-member-form{
        grid-template-columns:1fr;
    }

    .team-member-form .primary{
        grid-column:auto;
        max-width:none;
    }

    .team-account-list article{
        grid-template-columns:42px 1fr;
        align-items:start;
    }

    .team-status{
        grid-column:2;
    }

    .team-account-actions{
        grid-column:1/-1;
    }

    .team-account-actions button{
        flex:1;
    }
}


/* =========================================================
   DEWPOINT TEAM THEME OVERRIDES
   Source: dewpoint-dashboard.css
   ========================================================= */

/* =========================================================
   DEWPOINT TEAM / STAFF PAGE
   VENUE ACCESS HERO THEME
   ========================================================= */


/* Main Venue Access hero */
.owner-team-page .booking-page-head{
    background:
        linear-gradient(
            115deg,
            var(--dp-sidebar),
            var(--dp-accent)
        ) !important;

    border:1px solid
        color-mix(
            in srgb,
            var(--dp-accent) 35%,
            transparent
        ) !important;

    box-shadow:
        0 14px 32px
        color-mix(
            in srgb,
            var(--dp-accent) 12%,
            transparent
        ) !important;
}


/* VENUE ACCESS overline */
.owner-team-page .booking-page-head > div > small{
    color:
        color-mix(
            in srgb,
            var(--dp-accent-2) 35%,
            white
        ) !important;
}


/* Team / Staff Accounts title */
.owner-team-page .booking-page-head h2{
    color:#fff !important;
}


/* Subtitle */
.owner-team-page .booking-page-head p{
    color:rgba(255,255,255,.82) !important;
}


/* + Add Team Member */
.owner-team-page .booking-page-head > button{
    color:var(--dp-accent-text) !important;
    background:#fff !important;

    border:
        1px solid
        rgba(255,255,255,.65) !important;

    box-shadow:
        0 7px 18px
        rgba(15,23,42,.12) !important;
}


/* Button hover */
.owner-team-page .booking-page-head > button:hover{
    background:var(--dp-theme-soft) !important;
    border-color:#fff !important;
}


/* =========================================================
   SMALL TEAM PAGE ACCENTS
   ========================================================= */

/* KPI helper text */
.owner-team-page .owner-team-kpis article em{
    color:var(--dp-accent-text) !important;
}


/* Selected/emphasized KPI border if one is highlighted */
.owner-team-page .owner-team-kpis article:hover{
    border-color:var(--dp-theme-border) !important;
}


/* Team Directory overline */
.owner-team-page .title small{
    color:var(--dp-accent-text) !important;
}


/* Empty-state icon */
.owner-team-page .team-empty > span{
    color:var(--dp-accent-text) !important;
    background:var(--dp-theme-soft) !important;
}


/* Add First Team Member */
.owner-team-page .team-empty > button.primary{
    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        ) !important;

    color:#fff !important;
}


/* Create/Save account */
.owner-team-page .team-member-form > button.primary{
    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        ) !important;

    color:#fff !important;
}


/* Form focus */
.owner-team-page .team-member-form input:focus,
.owner-team-page .team-member-form select:focus{
    border-color:var(--dp-accent) !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--dp-accent) 12%,
            transparent
        ) !important;

    outline:none !important;
}


/* Smooth theme switching */
.owner-team-page .booking-page-head,
.owner-team-page .booking-page-head > button,
.owner-team-page .team-empty > span,
.owner-team-page .team-empty > button{
    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

/* ==========================================================
   KRADPC 2B-12D4A
   STAFF BOOKINGS TABLE OWNERSHIP - MICRO BATCH 01
   Migrated from dewpoint-dashboard.css
   ========================================================== */

.staff-bookings-table{
    width:max(100%, 920px);

    border-collapse:collapse;

    min-width:920px;

    background:#fff;
}

.staff-bookings-table tbody tr{
    transition:
        background .16s ease;
}

.staff-bookings-table tbody tr:hover{
    background:
        var(--dp-theme-faint);
}

.staff-bookings-table td.amount{
    white-space:nowrap;

    font-weight:900;

    color:#253044;
}

.staff-bookings-table td.reference{
    white-space:nowrap;

    font-size:11px;

    color:#718096;
}

/* ============================================================
   KRADPC 2B-13H-R4 — STAFF DASHBOARD COURT STATUS

   Scoped replacement for former global
   .staff-court-card state rules.

   Applies only to Staff live dashboard.
   ============================================================ */

/* AVAILABLE */
.staff-v3-live-panel
.staff-court-card.available .mini-court {
    background:
        color-mix(
            in srgb,
            var(--dp-accent) 58%,
            white
        ) !important;

    border-color:var(--dp-accent) !important;
}

.staff-v3-live-panel
.staff-court-card.available .mini-court span {
    border-color:rgba(255,255,255,.95) !important;
}

.staff-v3-live-panel
.staff-court-card.available .court-net {
    background:var(--dp-accent-2) !important;
}

/* IN USE */
.staff-v3-live-panel
.staff-court-card.busy .mini-court {
    background:#60a5fa !important;
    border-color:#2563eb !important;
}

.staff-v3-live-panel
.staff-court-card.busy .mini-court span {
    border-color:rgba(255,255,255,.95) !important;
}

.staff-v3-live-panel
.staff-court-card.busy .court-net {
    background:#1d4ed8 !important;
}

/* ON HOLD */
.staff-v3-live-panel
.staff-court-card.hold .mini-court {
    background:#fbbf24 !important;
    border-color:#d97706 !important;
}

.staff-v3-live-panel
.staff-court-card.hold .mini-court span {
    border-color:rgba(255,255,255,.95) !important;
}

.staff-v3-live-panel
.staff-court-card.hold .court-net {
    background:#b45309 !important;
}

/* OFFLINE */
.staff-v3-live-panel
.staff-court-card.offline .mini-court {
    background:#cbd5e1 !important;
    border-color:#64748b !important;
}

.staff-v3-live-panel
.staff-court-card.offline .mini-court span {
    border-color:rgba(255,255,255,.9) !important;
}

.staff-v3-live-panel
.staff-court-card.offline .court-net {
    background:#475569 !important;
}


/* =========================================================
   DEWPOINT STAFF COURT OPERATIONS
   ========================================================= */

.staff-court-operations-page{
    display:flex;
    flex-direction:column;
    gap:16px;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.staff-court-ops-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:22px 24px;

    border:1px solid #e1e8ee;
    border-radius:17px;

    background:
        linear-gradient(
            135deg,
            #fff 0%,
            var(--dp-theme-faint) 100%
        );

    box-shadow:
        0 8px 24px
        rgba(15,23,42,.045);
}

.staff-court-ops-head > div > b{
    display:block;

    margin-bottom:4px;

    color:var(--dp-accent-text);

    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}

.staff-court-ops-head h2{
    margin:0;

    color:#172033;

    font-size:24px;
    line-height:1.15;
}

.staff-court-ops-head p{
    margin:6px 0 0;

    color:#718096;

    font-size:12px;
}

.staff-court-ops-head > button{
    flex:0 0 auto;

    padding:10px 14px;

    border:1px solid var(--dp-theme-border);
    border-radius:10px;

    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        );

    color:#fff;

    font-size:10px;
    font-weight:900;

    cursor:pointer;
}


/* ---------------------------------------------------------
   SUMMARY
   --------------------------------------------------------- */

.staff-court-ops-summary{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:10px;
}

.staff-court-ops-summary article{
    padding:15px;

    text-align:center;

    border:1px solid #e1e8ee;
    border-radius:14px;

    background:#fff;

    box-shadow:
        0 6px 18px
        rgba(15,23,42,.04);
}

.staff-court-ops-summary strong{
    display:block;

    font-size:22px;
    line-height:1;
}

.staff-court-ops-summary small{
    display:block;

    margin-top:5px;

    font-size:10px;
    font-weight:800;
}

.staff-court-ops-summary .available{
    border-color:
        var(--dp-theme-border);

    background:
        var(--dp-theme-faint);
}

.staff-court-ops-summary .available strong,
.staff-court-ops-summary .available small{
    color:
        var(--dp-accent-text);
}

.staff-court-ops-summary .busy strong,
.staff-court-ops-summary .busy small{
    color:#2563eb;
}

.staff-court-ops-summary .hold strong,
.staff-court-ops-summary .hold small{
    color:#d97706;
}

.staff-court-ops-summary .offline strong,
.staff-court-ops-summary .offline small{
    color:#64748b;
}


/* ---------------------------------------------------------
   COURT CARDS
   --------------------------------------------------------- */

.staff-court-ops-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:12px;
}

.staff-court-ops-card{
    display:flex;
    flex-direction:column;

    min-height:275px;

    padding:17px;

    border:1px solid #e1e8ee;
    border-radius:16px;

    background:#fff;

    box-shadow:
        0 7px 22px
        rgba(15,23,42,.045);

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.staff-court-ops-card:hover{
    transform:translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(15,23,42,.07);
}


/* ---------------------------------------------------------
   TITLE / STATUS
   --------------------------------------------------------- */

.staff-court-ops-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.staff-court-ops-title h3{
    margin:0;

    color:#172033;

    font-size:14px;
}

.staff-court-ops-title span{
    padding:5px 8px;

    border-radius:999px;

    font-size:8px;
    font-weight:900;
    letter-spacing:.04em;
}

.staff-court-ops-card.available
.staff-court-ops-title span{
    color:
        var(--dp-accent-text);

    background:
        var(--dp-theme-soft);
}

.staff-court-ops-card.busy
.staff-court-ops-title span{
    color:#1d4ed8;
    background:#dbeafe;
}

.staff-court-ops-card.hold
.staff-court-ops-title span{
    color:#b45309;
    background:#fef3c7;
}

.staff-court-ops-card.offline
.staff-court-ops-title span{
    color:#475569;
    background:#e2e8f0;
}


/* ---------------------------------------------------------
   MINI COURTS
   --------------------------------------------------------- */

.staff-court-ops-card .mini-court{
    margin:22px auto 20px;
}


/* AVAILABLE = selected theme */
.staff-court-ops-card.available .mini-court{
    background:
        color-mix(
            in srgb,
            var(--dp-accent) 58%,
            white
        ) !important;

    border-color:
        var(--dp-accent) !important;
}

.staff-court-ops-card.available
.mini-court span{
    border-color:
        rgba(255,255,255,.95) !important;
}

.staff-court-ops-card.available
.court-net{
    background:
        var(--dp-accent-2) !important;
}


/* BUSY = BLUE */
.staff-court-ops-card.busy .mini-court{
    background:#60a5fa !important;
    border-color:#2563eb !important;
}

.staff-court-ops-card.busy
.mini-court span{
    border-color:
        rgba(255,255,255,.95) !important;
}

.staff-court-ops-card.busy
.court-net{
    background:#1d4ed8 !important;
}


/* HOLD = ORANGE */
.staff-court-ops-card.hold .mini-court{
    background:#fbbf24 !important;
    border-color:#d97706 !important;
}

.staff-court-ops-card.hold
.mini-court span{
    border-color:
        rgba(255,255,255,.95) !important;
}

.staff-court-ops-card.hold
.court-net{
    background:#b45309 !important;
}


/* OFFLINE = GRAY */
.staff-court-ops-card.offline .mini-court{
    background:#cbd5e1 !important;
    border-color:#64748b !important;
}

.staff-court-ops-card.offline
.mini-court span{
    border-color:
        rgba(255,255,255,.9) !important;
}

.staff-court-ops-card.offline
.court-net{
    background:#475569 !important;
}


/* ---------------------------------------------------------
   DETAILS
   --------------------------------------------------------- */

.staff-court-ops-detail{
    flex:1;

    display:flex;
    flex-direction:column;

    text-align:center;
}

.staff-court-ops-detail b{
    color:#253044;

    font-size:12px;
}

.staff-court-ops-detail small{
    display:block;

    margin-top:4px;

    color:#7b8796;

    font-size:10px;
    line-height:1.35;
}


/* ---------------------------------------------------------
   VIEW SCHEDULE BUTTON
   --------------------------------------------------------- */

.staff-court-ops-card > button{
    width:100%;

    margin-top:15px;
    padding:9px 10px;

    border:
        1px solid
        var(--dp-theme-border);

    border-radius:9px;

    background:
        var(--dp-theme-faint);

    color:
        var(--dp-accent-text);

    font-size:9px;
    font-weight:900;

    cursor:pointer;

    transition:
        background .18s ease,
        color .18s ease;
}

.staff-court-ops-card > button:hover{
    color:#fff;

    background:
        var(--dp-accent);
}


/* ---------------------------------------------------------
   OPERATIONS NOTE
   --------------------------------------------------------- */

.staff-court-ops-note{
    padding:17px 19px;

    border:
        1px solid
        var(--dp-theme-border);

    border-radius:14px;

    background:
        var(--dp-theme-faint);
}

.staff-court-ops-note b{
    color:
        var(--dp-accent-text);

    font-size:10px;
    font-weight:900;
    letter-spacing:.10em;
}

.staff-court-ops-note p{
    margin:5px 0 0;

    color:#667386;

    font-size:11px;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width:1200px){

    .staff-court-ops-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media (max-width:800px){

    .staff-court-ops-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .staff-court-ops-summary{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media (max-width:560px){

    .staff-court-ops-head{
        padding:18px;
    }

    .staff-court-ops-head h2{
        font-size:21px;
    }

    .staff-court-ops-grid{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   DEWPOINT STAFF REPORTS
   ========================================================= */

.staff-reports-page{
    display:flex;
    flex-direction:column;
    gap:16px;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.staff-reports-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:22px 24px;

    border:1px solid #e1e8ee;
    border-radius:17px;

    background:
        linear-gradient(
            135deg,
            #fff 0%,
            var(--dp-theme-faint) 100%
        );

    box-shadow:
        0 8px 24px
        rgba(15,23,42,.045);
}

.staff-reports-head > div:first-child > b{
    display:block;

    margin-bottom:4px;

    color:var(--dp-accent-text);

    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}

.staff-reports-head h2{
    margin:0;

    color:#172033;

    font-size:24px;
    line-height:1.15;
}

.staff-reports-head p{
    margin:6px 0 0;

    color:#718096;

    font-size:12px;
}


/* ---------------------------------------------------------
   ACTION BUTTONS
   --------------------------------------------------------- */

.staff-report-actions{
    display:flex;
    gap:8px;
}

.staff-report-actions button{
    padding:10px 14px;

    border-radius:10px;

    font-size:10px;
    font-weight:900;

    cursor:pointer;
}

.staff-report-actions .secondary{
    border:1px solid var(--dp-theme-border);

    background:#fff;

    color:var(--dp-accent-text);
}

.staff-report-actions .primary{
    border:1px solid var(--dp-accent);

    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        );

    color:#fff;
}


/* ---------------------------------------------------------
   DATE RANGE
   --------------------------------------------------------- */

.staff-report-range{
    display:flex;
    gap:7px;

    width:max-content;
    max-width:100%;

    padding:5px;

    border:1px solid #e1e8ee;
    border-radius:12px;

    background:#f8fafc;
}

.staff-report-range button{
    padding:9px 15px;

    border:0;
    border-radius:9px;

    background:transparent;

    color:#64748b;

    font-size:11px;
    font-weight:800;

    cursor:pointer;
}

.staff-report-range button:hover{
    color:var(--dp-accent-text);

    background:
        var(--dp-theme-faint);
}

.staff-report-range button.active{
    color:#fff;

    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        );

    box-shadow:
        0 5px 14px
        color-mix(
            in srgb,
            var(--dp-accent) 18%,
            transparent
        );
}


/* ---------------------------------------------------------
   KPI CARDS
   --------------------------------------------------------- */

.staff-report-kpis{
    display:grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    gap:10px;
}

.staff-report-kpis article{
    min-height:105px;

    padding:16px;

    border:1px solid #e1e8ee;
    border-radius:14px;

    background:#fff;

    box-shadow:
        0 6px 18px
        rgba(15,23,42,.04);
}

.staff-report-kpis article:first-child,
.staff-report-kpis article:last-child{
    border-color:
        var(--dp-theme-border);

    background:
        var(--dp-theme-faint);
}

.staff-report-kpis strong{
    display:block;

    margin-bottom:7px;

    color:var(--dp-accent-text);

    font-size:21px;
    line-height:1;
}

.staff-report-kpis b{
    display:block;

    color:#334155;

    font-size:11px;
}

.staff-report-kpis small{
    display:block;

    margin-top:4px;

    color:#8995a5;

    font-size:9px;
    line-height:1.3;
}


/* ---------------------------------------------------------
   REPORT GRID
   --------------------------------------------------------- */

.staff-report-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:15px;
}

.staff-report-card{
    padding:20px;

    border:1px solid #e1e8ee;
    border-radius:17px;

    box-shadow:
        0 8px 24px
        rgba(15,23,42,.045);
}

.staff-report-over{
    display:block;

    color:var(--dp-accent-text);

    font-size:9px;
    font-weight:900;
    letter-spacing:.11em;
}

.staff-report-card h3,
.staff-court-report-card h3{
    margin:5px 0 18px;

    color:#172033;

    font-size:17px;
}


/* ---------------------------------------------------------
   PAID VS UNPAID
   --------------------------------------------------------- */

.staff-payment-breakdown{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:10px;
}

.staff-payment-breakdown > div{
    padding:22px;

    text-align:center;

    border-radius:14px;
}

.staff-payment-breakdown strong{
    display:block;

    font-size:28px;
    line-height:1;
}

.staff-payment-breakdown small{
    display:block;

    margin-top:7px;

    font-size:10px;
    font-weight:900;
}

.staff-payment-breakdown .paid{
    background:#ecfdf5;
}

.staff-payment-breakdown .paid strong,
.staff-payment-breakdown .paid small{
    color:#047857;
}

.staff-payment-breakdown .unpaid{
    background:#fff7ed;
}

.staff-payment-breakdown .unpaid strong,
.staff-payment-breakdown .unpaid small{
    color:#b45309;
}


/* ---------------------------------------------------------
   UTILIZATION
   --------------------------------------------------------- */

.staff-utilization-meter{
    text-align:center;
}

.staff-utilization-meter > strong{
    display:block;

    color:var(--dp-accent-text);

    font-size:34px;
    line-height:1;
}

.staff-utilization-meter > div{
    height:11px;

    margin:18px 0 10px;

    overflow:hidden;

    border-radius:999px;

    background:#edf1f4;
}

.staff-utilization-meter > div > span{
    display:block;

    height:100%;

    border-radius:inherit;

    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        );

    transition:width .3s ease;
}

.staff-utilization-meter small{
    color:#7b8796;

    font-size:10px;
}


/* ---------------------------------------------------------
   COURT PERFORMANCE TABLE
   --------------------------------------------------------- */

.staff-court-report-card{
    padding:20px;

    border:1px solid #e1e8ee;
    border-radius:17px;

    box-shadow:
        0 8px 24px
        rgba(15,23,42,.045);
}

.staff-court-report-table-wrap{
    width:100%;
    overflow-x:auto;
}

.staff-court-report-table{
    width:100%;

    min-width:620px;

    border-collapse:collapse;
}

.staff-court-report-table thead{
    background:
        var(--dp-theme-faint);
}

.staff-court-report-table th{
    padding:12px 14px;

    text-align:left;

    border-bottom:
        1px solid
        #e5eaf0;

    color:#6b7788;

    font-size:9px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.staff-court-report-table td{
    padding:13px 14px;

    border-bottom:
        1px solid
        #edf1f4;

    color:#4b5563;

    font-size:11px;
}

.staff-court-report-table tbody tr:last-child td{
    border-bottom:0;
}

.staff-court-report-table tbody tr:hover{
    background:
        var(--dp-theme-faint);
}

.staff-court-report-table td strong{
    color:#253044;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width:1200px){

    .staff-report-kpis{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}

@media (max-width:800px){

    .staff-reports-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .staff-report-grid{
        grid-template-columns:1fr;
    }

    .staff-report-actions{
        width:100%;
    }

    .staff-report-actions button{
        flex:1;
    }

}

@media (max-width:600px){

    .staff-reports-head{
        padding:18px;
    }

    .staff-reports-head h2{
        font-size:21px;
    }

    .staff-report-kpis{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .staff-report-range{
        width:100%;
    }

    .staff-report-range button{
        flex:1;
        padding:9px 6px;
    }

}


/* ---------------------------------------------------------
   REPORT PRINT MODE
   --------------------------------------------------------- */

@media print{

    .rail,
    .content > header,
    .developer-mode-bar,
    .staff-report-actions,
    .staff-report-range{
        display:none !important;
    }

    .content{
        padding:0 !important;
    }

    .staff-reports-page{
        gap:10px;
    }

    .staff-reports-head,
    .staff-report-kpis article,
    .staff-report-card,
    .staff-court-report-card{
        box-shadow:none !important;
    }

    .staff-reports-head{
        border:1px solid #aaa !important;
        background:#fff !important;
    }

}


