/* Nav Container für 3x2 Grid Layout */
.nav-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 30px;
    max-width: fit-content;
    margin: 40px auto;
    padding: 20px;
}

/* Tennis Courts Container für 4-spaltiges Grid */
.tennis-courts-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
    justify-items: center;
}

/* Tennisplatz Container */
.court-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}

.planvigo-tennis-court {
    position: relative;
    background: var(--pv-primary);
    border-radius: 8px;
    border: 2px solid #fff;
    overflow: hidden;
}

.tennis-court-background {
    width: 100%;
    height: 100%;
    position: relative;
}

/* Progress Bar Stats */
.progress-stats-container {
    box-sizing: border-box;
    max-width: 1500px;
    margin: 40px auto;
    padding: 20px;
    border-radius: 15px;
  background: var(--pv-color-bg);
    font-family: var(--pv-font-body-family);
    color: var(--pv-font-body-color);
}

/* ---- Home: Unified layout (matches pv-card system) ---- */
.pv-home-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 20px;
    align-items: stretch;
    margin-bottom: 40px;
}

.pv-home-top-grid .pv-card {
    margin: 0;
}

@media (max-width: 1100px) {
    .pv-home-top-grid {
        grid-template-columns: 1fr;
    }
}

.pv-home-quick-btn {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-start;
}

.pv-home-section {
    margin-bottom: 40px;
}

.pv-home-season-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.pv-home-season-title {
    margin: 0;
}

.pv-home-season-dates {
    margin: 6px 0 0 0;
    color: var(--pv-color-text-secondary, #646970);
}

.pv-home-season-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    gap: 20px;
    margin-top: 10px;
}

.pv-home-kpi {
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: all 0.3s ease;
    padding: 16px;
    gap: 6px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

/* Planning management: acceptance summary (Seasons -> Planung verwalten) */
.pv-planning-acceptance-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 16px 0;
}

.pv-planning-acceptance-summary.pv-planning-acceptance-summary--single {
    grid-template-columns: minmax(0, 240px);
}

@media (max-width: 900px) {
    .pv-planning-acceptance-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .pv-planning-acceptance-summary {
        grid-template-columns: 1fr;
    }
}

.pv-planning-acceptance-item {
    background: var(--pv-surface, #fff);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    padding: 14px;
}

.pv-planning-acceptance-label {
    font-size: 0.9rem;
    color: var(--pv-color-text-secondary, #646970);
    margin-bottom: 6px;
}

.pv-planning-acceptance-value {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--pv-color-text-primary, #2c3338);
    line-height: 1.1;
}

.pv-planning-acceptance-item.is-accepted {
    border-left: 4px solid #1a7f37;
}

.pv-planning-acceptance-item.is-invited {
    border-left: 4px solid var(--pv-primary, #ff5a5f);
}

.pv-planning-acceptance-item.is-rejected {
    border-left: 4px solid #d63638;
}

.pv-planning-acceptance-item.is-pending {
    border-left: 4px solid #b59b00;
}

.pv-home-kpi-value {
    text-align: left;
    font-family: var(--pv-font-family-secondary);
    font-weight: var(--pv-font-h4-weight);
    font-size: var(--pv-font-h2-size);
    line-height: var(--pv-font-h3-line-height);
    color: var(--pv-color-text-primary);
    margin-top: 4px;
}

.pv-home-kpi-label {
    text-align: left;
    font-family: var(--pv-font-h4-family);
    font-weight: var(--pv-font-h5-weight);
    font-size: var(--pv-font-h4-size);
    line-height: var(--pv-font-h4-line-height);
    color: var(--pv-color-text-primary);
    margin: 0;
}

.pv-home-warning {
    border-left: 5px solid #fcd31c;
}

.pv-home-warning-body {
    padding: 10px 0;
    text-align: center;
}

.pv-home-warning-title {
    color: var(--pv-color-error, #d63638);
    justify-content: center;
}

.pv-home-warning-text {
    margin: 10px 0 0 0;
    font-size: 1.05rem;
    color: var(--pv-color-text-secondary, #50575e);
}

.pv-home-setup-wrapper {
    display: none;
    margin-top: 30px;
}

.pv-home-setup-header {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}

.pv-home-setup-progress {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--pv-color-text-secondary, #646970);
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    line-height: 1.2;
}

/* Season selector modal (uses existing .cp-modal / .cp-modal-content) */
@keyframes pvFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.pv-home-season-modal-content {
    max-width: 560px;
    padding: 35px;
    border-radius: 16px;
    animation: pvFadeIn 0.25s ease;
}

.pv-home-modal-title {
    margin: 0 0 10px 0;
    text-align: center;
    font-size: 1.8rem;
    color: #2c3338;
}

.pv-home-modal-subtitle {
    text-align: center;
    margin: 0 0 30px 0;
    color: #646970;
    line-height: 1.5;
}

.pv-home-season-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 60vh;
    overflow-y: auto;
    padding: 2px;
}

.pv-home-season-form {
    margin: 0;
}

.pv-home-season-btn {
    width: 100%;
    text-align: left;
    padding: 16px 20px;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.2s ease;
}

.pv-home-season-btn .dashicons {
    color: #a7aaad;
}

.pv-home-season-name {
    display: block;
    font-size: 1.05rem;
    color: #1d2327;
    margin-bottom: 4px;
}

.pv-home-season-range {
    font-size: 0.9rem;
    color: #646970;
}

.pv-home-season-btn:hover {
    border-color: var(--pv-primary);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.pv-home-season-btn:hover .dashicons,
.pv-home-season-btn:hover .pv-home-season-name {
    color: var(--pv-primary);
}

.pv-home-modal-footer {
    margin-top: 15px;
    text-align: center;
    border-top: 1px solid #eee;
    padding-top: 15px;
}

.pv-home-modal-footer-form {
    margin: 0;
}

.pv-home-modal-dismiss {
    background: none;
    border: none;
    color: #8c8f94;
    cursor: pointer;
    text-decoration: underline;
    font-size: 0.85em;
    padding: 5px;
}

.stats-title {
    /* Override global h2 styles from admin-style.css (flex + centered) */
    display: block;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    margin: 0 0 10px 0;
    font-family: var(--pv-font-h2-family);
    font-weight: var(--pv-font-h2-weight);
    font-size: var(--pv-font-h4-size);
    line-height: var(--pv-font-h4-line-height);
    color: var(--pv-font-h2-color);
}

.progress-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.progress-item {
    padding: 0;
}

/* Progress cards (4 squares side-by-side) */
.progress-card {
    border-radius: 20px;
    /* Don't force square cards; keep height content-driven */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: all 0.3s ease;

    padding: 16px;
    gap: 6px;

    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
}




.progress-card-number {
    text-align: left;
    font-family: var(--pv-font-family-secondary);
    font-weight: var(--pv-font-h4-weight);
    font-size: var(--pv-font-h2-size);
    line-height: var(--pv-font-h3-line-height);
    color: var(--pv-color-text-primary);
    margin-top: 4px;
}

.progress-card-label {
    text-align: left;
    font-family: var(--pv-font-h4-family);
    font-weight: var(--pv-font-h5-weight);
    font-size: var(--pv-font-h4-size);
    line-height: var(--pv-font-h4-line-height);
    color: var(--pv-color-text-primary);
    margin: 0;
}

.progress-card-footer {
    margin-top: 0;
}

.progress-card-bar {
    height: 10px;
    background: var(--pv-color-border);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.progress-card-bar .progress-fill {
    border-radius: 12px;
}

/* Quick Actions (right thin container) */
.quick-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
    align-items: stretch;
}

.quick-actions .btn {
    display: block;
    text-align: center;
    padding: 10px 12px;
    font-size: var(--pv-font-body-size);
    width: 100%;
    line-height: var(--pv-font-body-line-height);
    white-space: normal;
}


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

@media (max-width: 560px) {
    .progress-stats {
        grid-template-columns: 1fr;
    }
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.progress-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--pv-color-text-primary);
    font-size: var(--pv-font-h3-size);
}

.progress-label i {
    color: var(--pv-primary);
    font-size: var(--pv-font-h3-size);
}

.progress-value {
    font-weight: 700;
    color: var(--pv-primary);
    font-size: var(--pv-font-h5-size);
}

.progress-bar {
    height: 1px;
    background: var(--pv-color-border);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.progress-fill {
    height: 100%;
    border-radius: 10px;
    transition: width 1.5s ease-in-out;
    position: relative;
    overflow: hidden;
}


/* Individual progress colors */
.progress-clubs {
    background: linear-gradient(90deg, var(--pv-primary), var(--pv-primary));
}

.progress-trainers {
    background: linear-gradient(90deg, var(--pv-primary), var(--pv-primary));
}

.progress-players {
    background: linear-gradient(90deg, var(--pv-primary), var(--pv-primary));
}

.progress-courts {
    background: linear-gradient(90deg, var(--pv-primary), var(--pv-primary));
}

/* Setup Kanban Board - Home (Setup Aufgaben) */
.setup-kanban-container {
    box-sizing: border-box;
    margin: 40px auto;
    margin-top: 20px;
    max-width: 1500px;
    height: fit-content;
    width: 100%;
    padding: 30px;
    border-radius: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 2px solid #e8e8e8;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.kanban-title {
    text-align: center;
    margin: 0 0 40px 0;
    color: var(--pv-primary);
    font-weight: 700;
    font-size: 32px;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    padding-bottom: 15px;
}

.kanban-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--pv-primary), #ff9478);
    border-radius: 2px;
}

/* The home page renders a single list (header + cards). */
.setup-kanban {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 6px;
    width: 100%;
}

.kanban-column {
    background: white;
    border: 2px solid #e8e8e8;
    border-radius: 16px;
    padding: 20px;
    min-height: 400px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.kanban-column:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: var(--pv-primary);
}

.column-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
    padding: 18px 22px;
    background: linear-gradient(
        135deg,
        rgba(255, 120, 95, 0.08) 0%,
        rgba(255, 120, 95, 0.00) 60%,
        rgba(255, 120, 95, 0.04) 100%
    );
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.column-header h3 {
    margin: 0;
    flex: 0 1 auto;
    font-size: var(--pv-font-h4-size);
    font-weight: 700;
    color: #333;
}

.column-header i {
    font-size: 32px;
    color: var(--pv-primary);
    flex-shrink: 0;
}

.task-count {
    background: #6c757d;
    color: white;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: var(--pv-font-small-size);
    font-weight: 700;
    min-width: 30px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Column Colors */
.column-header.critical i {
    color: var(--pv-primary);
    font-size: 28px;
}

.column-header.critical .task-count {
    background: var(--pv-primary);
}

.column-header.important i {
    color: var(--pv-primary);
    font-size: 28px;
}

.column-header.important .task-count {
    background: var(--pv-primary);
}

.column-header.optional i {
    color: var(--pv-primary);
    font-size: 28px;
}

.column-header.optional .task-count {
    background: #28a745;
}

/* Kanban Cards */
.kanban-card {
    border-radius: 12px;
    padding: 18px 18px;
    margin: 0 0 -12px 0;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-height: auto;
    width: 98%;
    border-left: 6px solid var(--pv-primary);
}



.kanban-card h4 {
    margin: 0 0 4px 0;
    color: #333;
    font-family: var(--pv-font-h5-family);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: normal;
}

.kanban-card p {
    margin: 0;
    color: #666;
    font-family: var(--pv-font-body-family);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 400;
}

.setup-task-main {
    flex: 1 1 auto;
    min-width: 0;
}

.setup-task-side {
    flex: 0 0 auto;
    align-self: center;
}

.setup-task-status {
    font-family: var(--pv-font-small-family);
    font-size: 14px;
    line-height: var(--pv-font-small-line-height);
    font-weight: 700;
    white-space: nowrap;
    color: var(--pv-color-text-primary);
    padding: 8px 14px;
    border-radius: 20px;
    background: #e8e8e8;
}

.setup-task-status--done {
    background: #d4edda;
    color: #155724;
}

.setup-task-status--open {
    background: #fff3cd;
    color: #856404;
}

.setup-progress {
    width: auto;
    min-width: 90%;
    padding: 0;
    flex-shrink: 0;
}

.setup-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.setup-progress-spacer {
    display: block;
}

.setup-progress-count {
    font-family: var(--pv-font-small-family);
    font-size: 13px;
    line-height: var(--pv-font-small-line-height);
    font-weight: 600;
    color: #666;
}

.setup-progress-bar {
    width: 100%;
    height: 10px;
    background: #e8e8e8;
    border-radius: 10px;
    overflow: hidden;
}

.setup-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--pv-primary), #ff9478);
    border-radius: 10px;
    transition: width 0.3s ease;
}

.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: auto;
}

.priority {
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.priority.critical {
    background: linear-gradient(135deg, #f8b1b7, #fc8c98);
    color: #66171f;
}

.priority.important {
    background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    color: #856404;
}

.priority.optional {
    background: linear-gradient(135deg, #d4edda, #c3e6cb);
    color: #155724;
}

/* Responsive - Kugeliger */
@media (max-width: 768px) {
    .setup-kanban-container {
        margin: 20px;
        padding: 20px;
        border-radius: 15px;
    }
    
    .setup-kanban {
        gap: 16px;
    }
    
    .kanban-column {
        padding: 20px;
        border-radius: 15px;
    }
    
    .card-footer {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
}


/* Responsive */
@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .stat-card-tilt-left,
    .stat-card-tilt-right {
        transform: none;
    }
    
    .stat-card-tilt-left:hover,
    .stat-card-tilt-right:hover {
        transform: translateY(-5px);
    }
}

/* Responsive Grid für kleinere Bildschirme */
@media (max-width: 1024px) {
    .tennis-courts-container {
        grid-template-columns: repeat(3, 1fr);
        max-width: 900px;
    }
}

@media (max-width: 768px) {
    .tennis-courts-container {
        grid-template-columns: repeat(2, 1fr);
        max-width: 600px;
    }
}

@media (max-width: 480px) {
    .tennis-courts-container {
        grid-template-columns: 1fr;
        max-width: 300px;
    }
}

.nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 50px;
    width: 370px;
    height: 300px;
    background-color: var(--pv-primary);
    transition: transform 0.3s ease;
    margin: 0; /* Entferne margin-bottom da Grid das Layout übernimmt */
}

.nav-item {
    display: flex;
    flex-direction: column; /* Icon über Text */
    align-items: center;
    justify-content: center; /* Zentriert vertikal */
    gap: 10px; /* Genau 10px Abstand zwischen Icon und Text */
    width: 100%;
    height: 100%;
    text-align: center;
}

#nav-icon {
    color: var(--pv-button-text-color);
    font-size: 170px; /* Größer und gut proportioniert */
    margin: 0; /* Abstand nach unten */
    justify-self: center;
    align-self: center;
    margin-right: 150px;
}

.nav-label {
    font-family: var(--pv-font-family-primary);
    font-size: var(--pv-font-h3-size);
    font-weight: 900;
    color: var(--pv-button-text-color);
    line-height: 1.3;
    text-align: center;
    margin-top: 160px;
}

.nav-wrapper:hover {
    transform: scale(1.05);
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(220, 53, 69, 0.3);
}

.nav-wrapper:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}

/* Modern Overview Cards */
.pv-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    padding: 20px;
}

.pv-overview-item {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid rgba(0,0,0,0.04);
}

.pv-overview-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    background: rgba(255, 120, 95, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pv-overview-icon-wrapper i {
    font-size: 28px;
    color: var(--pv-primary);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pv-overview-details {
    display: flex;
    flex-direction: column;
}

.pv-overview-value {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3338;
    line-height: 1.1;
    font-family: var(--pv-font-family);
}

.pv-overview-label {
    font-size: 0.95rem;
    color: #646970;
    margin-top: 4px;
    font-weight: 500;
}

/* Modern Season Card */
.pv-season-card-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    gap: 30px;
}

.pv-season-info-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pv-season-label {
    font-size: 0.9rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.pv-season-title-large {
    font-size: 2rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
    line-height: 1.2;
}

.pv-season-dates-visual {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 10px;
}

.pv-date-box {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f8fafc;
    padding: 8px 16px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.pv-date-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.pv-date-icon-month {
    font-size: 8px;
    text-transform: uppercase;
    background: #FF785F; /* Primary */
    color: white;
    width: 100%;
    text-align: center;
    border-radius: 6px 6px 0 0;
    padding: 2px 0;
    font-weight: 700;
}

.pv-date-icon-day {
    font-size: 16px;
    font-weight: 700;
    color: #334155;
    line-height: 1;
    padding: 2px 0;
}

.pv-date-text {
    display: flex;
    flex-direction: column;
}

.pv-date-label {
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 500;
}

.pv-date-value {
    font-size: 1rem;
    font-weight: 600;
    color: #334155;
}

.pv-season-arrow {
    color: #cbd5e1;
    font-size: 24px;
}

@media (max-width: 768px) {
    .pv-season-card-content {
        flex-direction: column;
        align-items: flex-start;
    }
    .pv-season-dates-visual {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* Fully Integrated Season Card - Modern & Cohesive */
.pv-season-integrated-card {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 12px;
    padding: 20px 24px;
    border: 1px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.pv-season-integrated-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--pv-primary);
}

.pv-season-content-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    z-index: 2;
}

.pv-season-icon-large {
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    flex-shrink: 0;
}

.pv-season-icon-large i {
    font-size: 24px;
    color: var(--pv-primary);
    width: 24px;
    height: 24px;
}

.pv-season-details-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pv-season-name-hero {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
}

.pv-season-meta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 5px;
}

.pv-season-date-badge {
    font-size: 0.85rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
}

.pv-season-date-badge i {
    font-size: 14px;
    color: #94a3b8;
}

.pv-season-arrow-small {
    color: #cbd5e1;
    font-weight: 700;
    font-size: 14px;
}

.pv-season-actions {
    flex-shrink: 0;
}

.pv-season-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--pv-primary);
    color: #fff;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(255, 120, 95, 0.25);
}

.pv-season-action-btn:hover {
    background: #e05e46; /* slightly darker primary */
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 120, 95, 0.35);
}

@media (max-width: 700px) {
    .pv-season-content-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .pv-season-icon-large {
        display: none;
    }
    .pv-season-actions {
        width: 100%;
        margin-top: 5px;
    }
    .pv-season-action-btn {
        justify-content: center;
        width: 100%;
    }
}

/* --- Modern Season Card Refined --- */
.pv-season-card-modern {
    padding: 0 !important;
    overflow: hidden;
    /* Ensure it behaves like other cards externally */
    margin-bottom: 20px;
}

.pv-season-grid-layout {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    min-height: 220px;
}

@media (max-width: 1100px) {
    .pv-season-grid-layout {
        grid-template-columns: 1fr;
    }
}

/* Left Section: Info & Dates */
.pv-season-main-info {
    padding: 35px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    border-right: 1px solid #eee;
}

.pv-season-status-badge {
background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: fit-content;
}

.pv-season-hero-title {
    font-size: 32px;
    font-weight: 800;
    margin: -30px 0 50px 0;
    line-height: 1.2;
}

/* Visual Date Display */
.pv-season-dates-visual-refined {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.pv-date-box-refined {
    display: flex;
    flex-direction: column;
}

.pv-date-label-small {
    font-size: 11px;
    text-transform: uppercase;
    color: #95a5a6;
    font-weight: 600;
    margin-bottom: 4px;
}

.pv-date-content-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.pv-date-day-large {
    font-size: 38px;
    font-weight: 300;
    color: var(--pv-primary);
    line-height: 1;
}

.pv-date-month-year {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.pv-date-month {
    font-size: 15px;
    font-weight: 700;
    color: #34495e;
    text-transform: uppercase;
}

.pv-date-year {
    font-size: 13px;
    color: #7f8c8d;
}

.pv-season-date-divider {
    color: #bdc3c7;
    font-size: 20px;
    padding-top: 15px; /* Align with numbers roughly */
}

/* CTA Button */
.pv-season-cta-btn {
    display: inline-flex;
    align-items: center;
    background: var(--pv-primary);
    color: white;
    padding: 12px 24px;
    border-radius: 6px; /* Slightly rounded */
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s ease;
    width: fit-content;
    box-shadow: 0 4px 12px rgba(255, 120, 95, 0.25);
}

.pv-season-cta-btn:hover {
    background: #e66a53;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 6px 15px rgba(255, 120, 95, 0.35);
}

.pv-season-cta-btn .dashicons {
    margin-right: 8px;
}

/* Right Section: Stats Sidebar */
.pv-season-stats-sidebar {
    background: #fcfcfc; /* Slight off-white contrast */
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pv-season-stats-title {
    font-size: 14px;
    text-transform: uppercase;
    color: #95a5a6;
    margin: 0 0 20px 0;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.pv-season-stats-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Reuse existing .pv-overview-item but override some styles for this context if needed */
.pv-season-stat-item.pv-overview-item {
    background: #fff;
    border: 1px solid #eee;
    padding: 15px;
    margin: 0;
    /* Ensure it looks good in column */
}

.pv-season-stat-item .pv-overview-value {
    font-size: 20px; /* Slightly smaller than main dashboard stats */
}

.pv-season-stat-item .pv-overview-icon-wrapper {
    width: 40px;
    height: 40px;
}

.pv-season-stat-item .pv-overview-icon-wrapper .dashicons {
    font-size: 20px;
    line-height: 40px;
}


/* --- New Season Calendar Visual --- */
.pv-season-calendar-row {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Or space-between if desired to fill */
    gap: 30px;
    margin-bottom: 25px;
    width: 100%;
}

.pv-cal-icon-container {
    display: flex;
    flex-direction: column;
    width: 90px;
    height: 100px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    border: 1px solid #eee;
    text-align: center;
}

.pv-cal-header-month {
    background: var(--pv-primary); /* Primary Month Bar */
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 6px 0;
    letter-spacing: 1px;
    width: 100%;
}

.pv-cal-body-day {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 700;
    color: #2c3e50;
    background: #fff;
}

.pv-cal-arrow {
    font-size: 24px;
    color: #bdc3c7;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Full Text Dates Below */
.pv-season-text-dates {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 15px;
    color: #7f8c8d;
    background: #f9f9f9;
    padding: 12px 20px;
    border-radius: 8px;
    width: fit-content;
}

.pv-season-date-val {
    font-weight: 600;
    color: #34495e;
}

.pv-season-text-divider {
    color: #ccc;
    font-weight: 300;
}

/* --- Season Progress Bar (Replaces Arrow) --- */
.pv-season-progress-wrapper {
    flex-grow: 1; /* Takes up all available space between icons */
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 15px;
}

.pv-season-progress-bar {
    width: 100%;
    height: 50px;
    background-color: #f0f0f0;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}

.pv-season-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--pv-primary) 0%, #ee8775 100%);
    border-radius: 5px;
    transition: width 1s ease-in-out;
}

.pv-season-progress-labels {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.pv-season-progress-val {
    font-size: 13px;
    font-weight: 700;
    color: #95a5a6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


/* --- New Season Layout: Progress on Top, Icons Below --- */

.pv-season-progress-container-new {
    width: 100%;
    margin-bottom: 25px; /* Space between bar and icons */
    position: relative;
    padding: 0 5px; /* Optical adjustment */
}

.pv-season-progress-bar-large {
    width: 100%;
    height: 12px;
    background-color: #f0f0f0;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.pv-season-progress-fill-large {
    height: 100%;
    background: linear-gradient(90deg, var(--pv-primary) 0%, #ee8775 100%);
    border-radius: 6px;
    transition: width 1s ease-in-out;
}

.pv-season-progress-text-overlay {
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #95a5a6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 8px;
}

/* Bottom Row: [Icon Left] - [Dates Center] - [Icon Right] */
.pv-season-bottom-row-new {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Vertically center everything */
    position: relative;
}

/* Icon Wrappers to push to edges */
.pv-cal-icon-wrapper-left {
    flex-shrink: 0;
}

.pv-cal-icon-wrapper-right {
    flex-shrink: 0;
}

/* Centered Text Dates */
.pv-season-text-dates-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    text-align: center;
    padding: 0 15px;
}

.pv-season-date-val-large {
    font-size: 16px;
    font-weight: 600;
    color: #34495e;
}

.pv-season-date-separator {
    color: #bdc3c7;
    font-weight: 300;
    font-size: 14px;
}


/* --- New Season Layout: Icons Top, Progress Middle, Dates Bottom --- */

.pv-season-top-icons-row {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 25px; /* Space between icons and progress bar */
}

/* Thicker Progress Bar */
.pv-season-progress-container-thick {
    width: 100%;
    margin-bottom: 25px; /* Space between bar and dates */
    position: relative;
    padding: 0 5px;
}

.pv-season-progress-bar-thick {
    width: 100%;
    height: 35px; /* Significantly thicker */
    background-color: #ecf0f1;
    border-radius: 13px; /* High radius for pill shape */
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.05);
}

.pv-season-progress-fill-thick {
    height: 100%;
    background: linear-gradient(90deg, var(--pv-primary) 0%, #ee8775 100%);
    border-radius: 18px;
    transition: width 1s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center; /* Center text */
}

.pv-progress-inner-text {
    color: white;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.pv-season-progress-text-below {
    text-align: center;
    margin-top: 8px;
    font-size: 13px;
    color: #95a5a6;
    font-weight: 600;
}

/* Dates at Bottom */
.pv-season-text-dates-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    width: 100%;
}

.pv-season-date-val-bottom {
    font-size: 15px;
    font-weight: 600;
    color: #7f8c8d;
}


/* --- New Season Layout: [Icon] [Date Box] [Icon] --- */

.pv-season-top-row-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 30px; /* Space above progress bar */
    gap: 15px;
}

/* Center Text Date Box */
.pv-season-text-dates-clean-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background-color: #f7f9fa; /* Subtle background */
    padding: 12px 25px;
    border-radius: 12px;
    border: 1px solid #edf2f7; /* Very subtle border */
    flex-grow: 1; /* Allow it to take up space between icons, but maybe maximize width? */
    max-width: 60%; /* Prevent it from squishing icons */
    margin: 0 auto;
    box-shadow: 0 2px 6px rgba(0,0,0,0.02); /* Very soft shadow */
}

.pv-season-date-val-clean {
    font-size: 15px;
    font-weight: 600;
    color: #576574;
}

.pv-season-date-separator-clean {
    color: #cbd5e0;
    font-weight: 300;
    font-size: 18px;
}

/* Ensure progress bar has top margin removed/adjusted if needed */
.pv-season-progress-container-thick {
    margin-top: 0;
}

/* Adjustments for Title Header */
.pv-season-card-modern .pv-card-header {
    background: #fff; /* Match left column */
    border-bottom: 1px solid #eee; /* Separate header from content */
    margin: 0;
}

.pv-season-main-info {
    padding-top: 25px; /* Reduce top padding since header is above */
}

.pv-season-stats-sidebar {
    padding-top: 25px;
    border-top: 1px solid #eee; /* Add border to match left side separation */
    margin-top: -1px; /* Overlap border */
}

/* Ensure right column header alignment if needed */
/* Since header is full width, it covers both. Right column starts below border. */

