/* =========================================================
   DEWPOINT THEME-AWARE TEXT / FONT ACCENTS
   Override remaining Pickle Mania green accents
   ========================================================= */


/* Venue / court name */
.shell:not(.player-shell) .content > header b,
.shell:not(.player-shell) .content > header strong,
.shell:not(.player-shell) .venue-name,
.shell:not(.player-shell) .court-name{
    color:var(--dp-accent-text) !important;
}


/* Section eyebrow / overline / highlighted labels */
.shell:not(.player-shell) .eyebrow,
.shell:not(.player-shell) .overline,
.shell:not(.player-shell) .section-label,
.shell:not(.player-shell) .section-kicker,
.shell:not(.player-shell) .panel-label,
.shell:not(.player-shell) .card-label{
    color:var(--dp-accent-text) !important;
}


/* Links and accent text */
.shell:not(.player-shell) a:not(.button):not(.btn){
    color:var(--dp-accent-text);
}


/* Highlighted values / totals */
.shell:not(.player-shell) .accent,
.shell:not(.player-shell) .highlight,
.shell:not(.player-shell) .stat-value,
.shell:not(.player-shell) .metric-value{
    color:var(--dp-accent-text) !important;
}


/* Common owner dashboard accent text */
.shell:not(.player-shell) .owner-dashboard small,
.shell:not(.player-shell) .owner-dashboard-redesign small{
    border-color:var(--dp-accent-soft);
}


/* Active tabs */
.shell:not(.player-shell) .tabs button.active,
.shell:not(.player-shell) .tab-buttons button.active,
.shell:not(.player-shell) [role="tab"].active{
    color:var(--dp-accent-text) !important;
    border-color:var(--dp-accent) !important;
}


/* Buttons that previously inherit Pickle Mania green */
.shell:not(.player-shell) button.primary,
.shell:not(.player-shell) .btn-primary,
.shell:not(.player-shell) .primary-button{
    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        ) !important;

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


/* Focus / selected elements */
.shell:not(.player-shell) input:focus,
.shell:not(.player-shell) select:focus,
.shell:not(.player-shell) textarea:focus{
    border-color:var(--dp-accent) !important;
    outline-color:var(--dp-accent-soft) !important;
}


/* Generic green-looking Pickle Mania utility classes
   scoped ONLY to Dewpoint management pages */
.shell:not(.player-shell) .text-green,
.shell:not(.player-shell) .green-text,
.shell:not(.player-shell) .text-success:not(.status-success),
.shell:not(.player-shell) .brand-green{
    color:var(--dp-accent-text) !important;
}


/* Keep TRUE statuses semantically green.
   Paid / Available / Success should stay green. */
.shell:not(.player-shell) .status-success,
.shell:not(.player-shell) .status-paid,
.shell:not(.player-shell) .status-available,
.shell:not(.player-shell) .paid,
.shell:not(.player-shell) .available{
    color:#15803d;
}


/* =========================================================
   DEWPOINT FULL MANAGEMENT THEME ACCENTS
   Dashboard / Profile / Court / Court Schedule /
   Booking Calendar / Live Court Status
   ========================================================= */

:root{
    --dp-theme-soft:var(--dp-accent-soft);
    --dp-theme-border:color-mix(in srgb,var(--dp-accent) 28%,white);
    --dp-theme-faint:color-mix(in srgb,var(--dp-accent) 7%,white);
    --dp-theme-mid:color-mix(in srgb,var(--dp-accent) 16%,white);
}


/* =========================================================
   GENERAL DEWPOINT MANAGEMENT ACCENTS
   ========================================================= */

.shell:not(.player-shell) .section-row > button,
.shell:not(.player-shell) .text-action,
.shell:not(.player-shell) .court-count,
.shell:not(.player-shell) .profile-stats em{
    color:var(--dp-accent-text) !important;
}

.shell:not(.player-shell) .text-action{
    background:var(--dp-theme-faint) !important;
    border-color:var(--dp-theme-border) !important;
}


/* Generic decorative icons */
.shell:not(.player-shell) .quick button,
.shell:not(.player-shell) .payment-method-info article > span{
    color:var(--dp-accent-text) !important;
}


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

/* Owner / venue avatar */
.shell:not(.player-shell) .venue > span,
.shell:not(.player-shell) .user > span{
    color:var(--dp-accent-text) !important;
    background:
        linear-gradient(
            135deg,
            var(--dp-theme-soft),
            color-mix(in srgb,var(--dp-accent-2) 45%,white)
        ) !important;
}


/* Dashboard decorative values */
.shell:not(.player-shell) .stats em,
.shell:not(.player-shell) .kpis em,
.shell:not(.player-shell) .booking-mix .mix-row b{
    color:var(--dp-accent-text) !important;
}


/* Booking demographics donut */
.shell:not(.player-shell) .demo-legend i.returning{
    background:var(--dp-accent) !important;
}

.shell:not(.player-shell) .donut b{
    color:var(--dp-accent-text) !important;
}


/* Popular hours bars */
.shell:not(.player-shell) .hour-bars em{
    background:
        linear-gradient(
            90deg,
            var(--dp-accent),
            var(--dp-accent-2)
        ) !important;
}


/* Today at a glance / summary icons */
.shell:not(.player-shell) .manual-selection-summary > span{
    background:var(--dp-accent) !important;
}


/* =========================================================
   PROFILE
   ========================================================= */

.shell:not(.player-shell) .profile-avatar{
    color:var(--dp-accent-text) !important;

    background:
        linear-gradient(
            135deg,
            var(--dp-theme-soft),
            color-mix(in srgb,var(--dp-accent-2) 38%,white)
        ) !important;
}


/* Verified owner badge */
.shell:not(.player-shell) .profile-card > span{
    color:var(--dp-accent-text) !important;
    background:var(--dp-theme-soft) !important;
}


/* Choose / Change Photo */
.shell:not(.player-shell) .profile-card > button,
.shell:not(.player-shell) .profile-photo-actions label,
.shell:not(.player-shell) .profile-photo-actions button{
    color:var(--dp-accent-text) !important;
    border-color:var(--dp-accent) !important;
}

.shell:not(.player-shell) .profile-photo-actions button{
    color:#fff !important;
    background:var(--dp-accent) !important;
}


/* Profile upload / court photo upload buttons */
.shell:not(.player-shell) .owner-court-info-panel button,
.shell:not(.player-shell) .owner-court-config-panel button{
    border-color:var(--dp-accent) !important;
}


/* =========================================================
   COURT PAGE
   ========================================================= */

/* COURT INFO / section accents */
.shell:not(.player-shell) .owner-court-info-panel > small,
.shell:not(.player-shell) .owner-court-config-panel > small,
.shell:not(.player-shell) .court-info-grid small{
    color:var(--dp-accent-text) !important;
}


/* Court Live toggle */
.shell:not(.player-shell) .court-live-switch.on,
.shell:not(.player-shell) .court-live-control button.on,
.shell:not(.player-shell) .setting-toggle button.on{
    background:var(--dp-accent) !important;
}


/* Court information panel tint */
.shell:not(.player-shell) .owner-court-info-panel .court-info-grid,
.shell:not(.player-shell) .court-live-control{
    border-color:var(--dp-theme-border) !important;
}


/* Upload buttons inside Court page */
.shell:not(.player-shell) .owner-court-info-panel button:not(.danger){
    color:var(--dp-accent-text);
    border-color:var(--dp-accent);
}


/* =========================================================
   COURT SCHEDULE / MANUAL AVAILABILITY
   ========================================================= */

/* Days */
.shell:not(.player-shell) .manual-date-strip small{
    color:var(--dp-accent-text) !important;
}

.shell:not(.player-shell) .manual-date-strip button.active{
    color:#fff !important;

    background:
        linear-gradient(
            145deg,
            var(--dp-accent),
            var(--dp-accent-2)
        ) !important;

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

    box-shadow:
        0 8px 20px
        color-mix(in srgb,var(--dp-accent) 25%,transparent)
        !important;
}

.shell:not(.player-shell) .manual-date-strip button.active small,
.shell:not(.player-shell) .manual-date-strip button.active em{
    color:#fff !important;
}


/* Available court cells */







/* Selected cells */







/* Active manual reason */
.shell:not(.player-shell) .manual-reasons button.active{
    color:var(--dp-accent-text) !important;
    background:var(--dp-theme-soft) !important;
    border-color:var(--dp-accent) !important;
}


/* Schedule legend */







/* =========================================================
   LIVE COURT STATUS
   ========================================================= */

/*
   Decorative "available" presentation follows selected theme.
   Operational state remains readable from the wording itself.
*/

.shell:not(.player-shell) .court-overview .available{
    color:var(--dp-accent-text) !important;
    background:var(--dp-theme-faint) !important;
    border-color:var(--dp-theme-border) !important;
}


/* Live court cards / decorative court visuals */
.shell:not(.player-shell) .court-net,
.shell:not(.player-shell) .live-court-card .court-net{
    color:var(--dp-accent) !important;
    border-color:var(--dp-accent) !important;
}


/* Live badge where used as decorative venue accent */
.shell:not(.player-shell) .court-live-control .live,
.shell:not(.player-shell) .live-court-status .live-badge{
    color:var(--dp-accent-text) !important;
    background:var(--dp-theme-soft) !important;
}


/* =========================================================
   OWNER DASHBOARD REVENUE / HIGHLIGHTS
   ========================================================= */

.shell:not(.player-shell) .revenue-snapshot b,
.shell:not(.player-shell) .revenue-snapshot strong,
.shell:not(.player-shell) .owner-dashboard .revenue-value{
    color:var(--dp-accent-text) !important;
}


/* =========================================================
   IMPORTANT SEMANTIC COLORS
   Keep these meanings independent of selected theme.
   ========================================================= */

/* Positive system status */
.shell:not(.player-shell) .status-success,
.shell:not(.player-shell) .status-paid,
.shell:not(.player-shell) .paid{
    color:#15803d !important;
}


/* Pending / warning */
.shell:not(.player-shell) .pending,
.shell:not(.player-shell) .status-warning{
    /* preserve existing warning styling */
}


/* Booking conflict / booked / error */




/* Open Play remains distinguishable from manual selected */




/* Lapsed / unavailable remain neutral */




/* =========================================================
   FALLBACK FOR BROWSERS WITHOUT color-mix()
   ========================================================= */

@supports not (color:color-mix(in srgb,red,white)){

    :root{
        --dp-theme-border:var(--dp-accent-soft);
        --dp-theme-faint:var(--dp-accent-soft);
        --dp-theme-mid:var(--dp-accent-soft);
    }
}


