

/* Hide WordPress page title */

.entry-title,
.wp-block-post-title,
.page-title,
.entry-header,
.page-header {
    display: none !important;
}

/* ==========================================
   Dashboard Layout
========================================== */


.scm-dashboard{
    width:100%;
    max-width:1900px;
    margin:0 auto;
    padding:20px 40px;
}


.scm-dashboard h1{
    font-size:42px;
    font-weight:700;
    margin-bottom:15px;
}

/* ==========================================
   KPI Cards
========================================== */



.scm-kpi-row{
    display:flex;
    gap:20px;
    flex-wrap:nowrap;
    margin-top:25px;
}



.scm-kpi-card{
    flex:1;
    min-width:170px;
    max-width:220px;

    height:180px;

    background:#fff;
    border-radius:16px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    box-shadow:0 6px 20px rgba(0,0,0,.08);

    transition:.2s ease;
}

.scm-kpi-card:hover{
    transform:translateY(-2px);
}

.scm-kpi-value{
    font-size:60px;
    font-weight:700;
    color:#0057b8;
}

.scm-kpi-label{
    margin-top:15px;
    font-size:18px;
}

/* ==========================================
   Tabs
========================================== */

.scm-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:30px;
    margin-bottom:20px;
}

.scm-tab{
    border:none;
    background:#f0f0f0;
    padding:12px 18px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    white-space:nowrap;
    flex-shrink:0;
}

.scm-tab.active{
    background:#0057b8;
    color:#fff;
}

.scm-tab-content{
    margin-top:25px;
}

.scm-tab-pane{
    display:none;
}

.scm-tab-pane.active{
    display:block;
}

/* ==========================================
   Sections
========================================== */

.scm-section{
    margin-top:40px;
}

.scm-section h2{
    margin-bottom:15px;
}

/* ==========================================
   Tables
========================================== */

.scm-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.1);
}

.scm-table th{
    background:#0057b8;
    color:#fff;
    padding:12px;
    text-align:left;
}

.scm-table td{
    padding:12px;
    border-bottom:1px solid #eee;
}

.scm-table tr:hover{
    background:#f5f7fa;
}

/* Club column wider */

.scm-table th:nth-child(2),
.scm-table td:nth-child(2){
    min-width:320px;
}

/* Center points columns */

.scm-table td:nth-child(3),
.scm-table td:nth-child(4),
.scm-table td:nth-child(5),
.scm-table td:nth-child(6){
    text-align:center;
}

/* Highlight Total column */

.scm-table th:last-child{
    background:#00489b;
}

.scm-table td:last-child{
    background:#f8fbff;
}

/* ==========================================
   Championship Points
========================================== */

.scm-champ-points{
    font-size:20px;
    font-weight:700;
    color:#002b5c;
    line-height:1;
}

.scm-total-points{
    font-size:24px;
    font-weight:700;
    color:#0057b8;
    line-height:1;
}

.scm-points-breakup{
    font-size:13px;
    line-height:1.2;
    margin-top:0;
}

.scm-ind-points{
    color:#1565c0 !important;
    font-weight:600;
}

.scm-rel-points{
    color:#ef6c00 !important;
    font-weight:600;
}

/* ==========================================
   Championship Ranking Rows
========================================== */

.gold-row{
    background:#fff8dc;
}

.silver-row{
    background:#f8f8f8;
}

.bronze-row{
    background:#fff3e8;
}

.scm-event-result-card{
    background:#fff;
    border-radius:12px;
    padding:20px;
    margin-bottom:20px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.scm-event-result-card h3{
    margin-bottom:20px;
    color:#0057b8;
}

.scm-event-columns{
    display:flex;
    gap:30px;
}

.scm-gender-column{
    flex:1;
}

.scm-gender-column h4{
    margin-bottom:15px;
    padding-bottom:8px;
    border-bottom:2px solid #eee;
}

.scm-result-row{
    display:flex;
    gap:12px;
    margin-bottom:15px;
}

.scm-medal{
    font-size:24px;
    width:40px;
}

.scm-result-swimmer{
    font-weight:700;
}

.scm-result-club{
    color:#666;
    font-size:13px;
}

.scm-result-time{
    color:#0057b8;
    font-weight:700;
    margin-top:2px;
}

.scm-event-columns{
    display:flex;
    gap:40px;
    align-items:flex-start;
}

.scm-gender-column{
    flex:1;
    width:50%;
}

.scm-gender-column h4{
    text-align:center;
    background:#0057b8;
    color:#fff;
    padding:10px;
    border-radius:6px;
}

.scm-event-columns{
    display:flex;
    gap:30px;
    align-items:stretch;
}

.scm-gender-column{
    flex:1;
}

.scm-result-time{
    color:#0057b8;
    font-weight:700;
    font-size:14px;
}
.scm-results-table{
    width:100%;
    border-collapse:collapse;
}

.scm-results-table td{
    padding:8px 4px;
    border-bottom:1px solid #eee;
    vertical-align:top;
}

.scm-medal-col{
    width:40px;
    font-size:20px;
}

.scm-swimmer-col{
    width:auto;
}

.scm-time-col{
    width:90px;
    text-align:right;
    white-space:nowrap;
    color:#0057b8;
    font-weight:700;
}

.scm-result-swimmer{
    font-weight:600;
}

.scm-club-name{
    font-size:11px;
    color:#666;
    text-transform:uppercase;
}

.scm-gender-column{
    flex:1;
    width:50%;
}
.scm-event-meta{
    color:#666;
    font-size:13px;
    font-weight:600;
    margin-bottom:8px;
}

.scm-event-result-card h3{
    margin-top:0;
    margin-bottom:20px;
    color:#0057b8;
    font-size:24px;
    font-weight:700;
}
.scm-event-date-group{
    margin-bottom:40px;
}

.scm-event-date{
    background:#f5f7fa;
    padding:12px 18px;
    border-left:4px solid #0057b8;
    border-radius:6px;
    margin-bottom:20px;
}
.scm-record-card{
    background:#fff;
    padding:20px;
    border-radius:12px;
    margin-bottom:15px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.scm-record-event{
    font-weight:700;
    color:#0057b8;
    margin-bottom:8px;
}

.scm-record-swimmer{
    font-size:18px;
    font-weight:700;
}

.scm-record-club{
    color:#666;
    margin-bottom:10px;
}

.scm-old-record{
    color:#888;
}

.scm-new-record{
    color:#008000;
    font-weight:700;
}

.scm-record-holder{
    margin-top:10px;
    font-size:13px;
    color:#666;
}
.scm-age-group-card{
    background:#fff;
    border-radius:12px;
    padding:20px;
    margin-bottom:25px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.scm-age-group-card h3{
    color:#0057b8;
    margin-bottom:15px;
}

.scm-age-points{
    font-size:22px;
    font-weight:700;
    color:#0057b8;
}

.scm-medal-breakup{
    font-size:14px;
    margin-top:6px;
    white-space:nowrap;
    font-weight:600;
}
.scm-record-columns{
    display:flex;
    gap:25px;
    align-items:flex-start;
}

.scm-record-column{
    flex:1;
}

.scm-record-column h3{
    background:#0057b8;
    color:#fff;
    padding:10px;
    border-radius:6px;
    text-align:center;
    margin-bottom:15px;
}

.scm-record-card{
    background:#fff;
    padding:20px;
    border-radius:12px;
    margin-bottom:15px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

@media (max-width: 768px){

    .scm-dashboard{
        width:100%;
        max-width:none;
        padding:10px;
    }

    .scm-dashboard h1{
        font-size:32px;
        line-height:1.2;
    }

    .scm-kpi-row{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .scm-kpi-card{
        min-width:auto;
        width:auto;
        height:140px;
    }

    .scm-kpi-value{
        font-size:42px;
    }

    .scm-kpi-label{
        font-size:14px;
        text-align:center;
    }

    .scm-event-columns,
    .scm-record-columns{
        flex-direction:column;
    }

    .scm-gender-column,
    .scm-record-column{
        width:100%;
    }

    .scm-tabs{
        overflow-x:auto;
        flex-wrap:nowrap;
    }

    .scm-tab{
        flex-shrink:0;
    }
}

/* Competition Header */

.scm-competition-header{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:20px;
}

.scm-competition-logo{
    flex-shrink:0;
}

.scm-competition-logo img{
    width:90px;
    height:90px;
    object-fit:contain;
}

.scm-competition-info{
    flex:1;
}

.scm-competition-info h1{
    margin:0;
    font-size:42px;
    font-weight:700;
    line-height:1.15;
}

.scm-report-title-1{
    margin-top:8px;
    font-size:20px;
    font-weight:600;
    color:#0057b8;
}

.scm-report-title-2{
    margin-top:4px;
    font-size:15px;
    color:#444;
}

.scm-report-title-3{
    margin-top:2px;
    font-size:15px;
    color:#444;
}

/* Mobile */

@media (max-width:768px){

    .scm-competition-header{
        flex-direction:column;
        text-align:center;
        gap:10px;
    }

    .scm-competition-logo img{
        width:70px;
        height:70px;
    }

    .scm-competition-info h1{
        font-size:28px;
    }

    .scm-report-title-1{
        font-size:16px;
    }

    .scm-report-title-2,
    .scm-report-title-3{
        font-size:13px;
    }
}
/* Competition Selection */

.scm-competition-selector{
    margin-bottom:20px;
}

.scm-competition-selector label{
    display:block;
    font-weight:600;
    margin-bottom:6px;
}

.scm-competition-selector select{
    width:100%;
    max-width:650px;
}

/* Competition Header */

.scm-competition-header{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:25px;
}

.scm-competition-logo{
    flex-shrink:0;
}

.scm-competition-logo img{
    width:90px;
    height:90px;
    object-fit:contain;
}

.scm-competition-info{
    flex:1;
}

.scm-competition-info h1{
    margin:0;
    font-size:32px;
    font-weight:700;
    line-height:1.15;
}

.scm-report-title-1{
    margin-top:6px;
    font-size:18px;
    font-weight:600;
    color:#0057b8;
}

.scm-report-title-2,
.scm-report-title-3{
    margin-top:4px;
    font-size:14px;
    color:#444;
    line-height:1.4;
}

/* Mobile */

@media (max-width:768px){

    .scm-competition-header{
        flex-direction:column;
        text-align:center;
        gap:10px;
    }

    .scm-competition-logo img{
        width:70px;
        height:70px;
    }

    .scm-competition-info h1{
        font-size:24px;
    }

    .scm-report-title-1{
        font-size:15px;
    }

    .scm-report-title-2,
    .scm-report-title-3{
        font-size:13px;
    }
}

/* ==========================
   Swimmer Dashboard
========================== */

.scm-swimmer-dashboard{
    max-width:1800px;   /* was 1400px */
    width:95%;
    margin:0 auto;
    background:#f8fafc;
    font-weight:600;
}

.scm-pb-badge{
    color:#0057b8;
    font-weight:700;
}

.scm-progress-timeline{
    padding:20px;
}

.scm-performance-card{
    background:#ffffff;
    border-left:5px solid #0057b8;
    padding:15px;
    margin-bottom:12px;
    border-radius:8px;
    box-shadow:0 1px 6px rgba(0,0,0,.06);
}

.scm-comp-name{
    font-size:18px;
    font-weight:700;
}

.scm-comp-date{
    color:#666;
    font-size:13px;
    margin-top:4px;
}

.scm-swim-time{
    font-size:28px;
    font-weight:700;
    color:#0057b8;
    margin-top:10px;
}

.scm-improvement{
    text-align:center;
    color:#16a34a;
    font-weight:700;
    margin:12px 0;
}

.scm-slower{
    text-align:center;
    color:#dc2626;
    font-weight:700;
    margin:12px 0;
}


.scm-swimmer-search{
    margin-bottom:30px;
}

.scm-swimmer-search label{
    display:block;
    font-weight:600;
    margin-bottom:8px;
}

.scm-swimmer-search input{
    width:350px;
    padding:10px;
}

.scm-swimmer-search button{
    padding:10px 16px;
}

.scm-event-progress{
    background:#fff;
    border-radius:12px;
    margin-bottom:15px;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.scm-event-progress summary{
    cursor:pointer;
    padding:18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* ==============================
   Swimmer Header
============================== */

.scm-swimmer-header{
    display:flex;
    align-items:center;
    gap:20px;

    background:#ffffff;

    padding:20px;

    margin:25px 0;

    border-radius:12px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.scm-swimmer-avatar{
    width:70px;
    height:70px;

    border-radius:50%;

    background:#0057b8;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:32px;

    flex-shrink:0;
}

.scm-swimmer-info{
    flex:1;
}

.scm-swimmer-info h2{
    margin:0;

    font-size:32px;
    font-weight:700;

    line-height:1.2;
}

.scm-swimmer-club{
    margin-top:6px;

    font-size:16px;

    color:#666666;
}

/* Mobile */

@media (max-width:768px){

    .scm-swimmer-header{
        flex-direction:column;
        text-align:center;
    }

    .scm-swimmer-avatar{
        width:60px;
        height:60px;

        font-size:28px;
    }

    .scm-swimmer-info h2{
        font-size:24px;
    }

    .scm-swimmer-club{
        font-size:14px;
    }
}


/* ==========================
   Personal Bests
========================== */

.scm-pb-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:15px;
    margin-bottom:30px;
}

.scm-pb-card{
    background:#ffffff;

    border-radius:12px;

    padding:18px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

    border-left:5px solid #f59e0b;
}

.scm-pb-event{
    font-size:15px;
    font-weight:600;
    color:#444;
}

.scm-pb-time{
    margin-top:10px;

    font-size:28px;
    font-weight:700;

    color:#0057b8;
}

@media (max-width:768px){

    .scm-pb-grid{
        grid-template-columns:1fr;
    }
    
  .scm-event-summary{
        grid-template-columns:1fr;
    }

    .scm-event-summary-right{
        max-width:100%;
        width:100%;
    }

}

.scm-event-name{
    font-size:18px;
    font-weight:700;
}


.scm-improvement-badge{
    color:#16a34a;
    font-weight:700;
    margin-bottom:4px;
}

.scm-regression-badge{
    color:#dc2626;
    font-weight:700;
    margin-bottom:4px;
}
.scm-competition-count{
    color:#666;
    font-size:12px;
    margin-top:4px;
}


.scm-event-summary{
    display:grid;
    grid-template-columns:1fr 220px;
    gap:20px;
    align-items:center;
}

.scm-event-summary-right{
    min-width:180px;
    max-width:220px;

    padding:12px 15px;

    text-align:center;

    background:#f8fafc;

    border:1px solid #e5e7eb;

    border-radius:10px;
}
.scm-improvement-badge,
.scm-regression-badge,
.scm-pb-badge,
.scm-competition-count{
    display:block;
    line-height:1.5;
}

.scm-event-summary-left{
    flex:1;
}


#scm-swimmer-suggestions{
    width:350px;
    max-width:100%;

    background:#fff;

    border:1px solid #ddd;

    position:absolute;

    z-index:9999;

    box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.scm-suggestion-item{
    padding:10px 12px;
    cursor:pointer;
}

.scm-suggestion-item:hover{
    background:#f5f5f5;
}

/* ==========================
   Analytics Cards
========================== */

.scm-analytics-row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:15px;
    margin:20px 0 30px;
}

.scm-analytics-card{
    background:#fff;

    border-radius:12px;

    padding:18px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

    border-left:5px solid #0057b8;
}

.scm-analytics-title{
    font-size:13px;
    font-weight:600;
    color:#666;
    margin-bottom:10px;
}

.scm-analytics-value{
    font-size:32px;
    font-weight:700;
    color:#0057b8;
    line-height:1.2;
}

.scm-analytics-sub{
    margin-top:10px;
    color:#444;
    font-weight:600;
}

/* Most Improved Highlight */

.scm-analytics-card.improvement .scm-analytics-sub{
    color:#16a34a;
}

/* Mobile */

@media (max-width:768px){

    .scm-analytics-row{
        flex-direction:column;
    }

    .scm-analytics-card{
        min-width:100%;
    }
}
.scm-event-medals{
    margin-top:6px;
    margin-bottom:6px;

    font-size:13px;
    font-weight:700;

    color:#374151;
}
.scm-medal-badge{
    display:inline-block;

    margin-top:8px;

    padding:4px 10px;

    border-radius:20px;

    font-size:12px;
    font-weight:700;
}

.scm-medal-badge.gold{
    background:#fff7cc;
    color:#9a6700;
}

.scm-medal-badge.silver{
    background:#eef2f7;
    color:#4b5563;
}

.scm-medal-badge.bronze{
    background:#fef0e7;
    color:#92400e;
}
.scm-recent-competitions{
    margin:25px 0;
}

.scm-competition-card{
    background:#fff;
    border-radius:12px;
    margin-bottom:15px;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.scm-competition-card summary{
    cursor:pointer;
    padding:18px;
    list-style:none;
}

.scm-competition-name{
    font-size:18px;
    font-weight:700;
    color:#0057b8;
}

.scm-competition-summary{
    margin-top:8px;
    font-size:14px;
    color:#666;
}

.scm-competition-details{
    padding:15px 20px;
}

.scm-competition-event-row{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:10px 0;

    border-bottom:1px solid #eee;
}

.scm-competition-event-row:last-child{
    border-bottom:none;
}

.scm-competition-event-row .event{
    flex:1;
    font-weight:600;
}

.scm-competition-event-row .time{
    width:120px;
    text-align:center;
    font-weight:700;
    color:#0057b8;
}

.scm-competition-event-row .place{
    width:90px;
    text-align:right;
    font-weight:600;
}
.scm-pb-tag{
    color:#f59e0b;
    font-size:12px;
    font-weight:700;
    margin-left:4px;
}
.scm-record-tag{
    color:#b45309;
    font-size:12px;
    font-weight:700;
    margin-left:4px;
}

.scm-pdf-download{
    margin-top:10px;
}
.scm-dashboard-actions{
    display:flex;
    align-items:center;
    gap:24px;
    margin-top:18px;
}

.scm-filter-label{
    font-weight:600;
    min-width:90px;
}

.scm-radio{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
}

.scm-btn{
    margin-left:20px;
    padding:10px 22px;
    background:#0057b8;
    color:#fff;
    border:0;
    border-radius:5px;
    cursor:pointer;
    font-weight:600;
}


.scm-view-details {
    font-size: 12px;
    color: #666;
    font-weight: 600;
    margin-top: 4px;
}

details[open] .scm-view-details {
    display: none;
}
.scm-benchmark-card {
    background:#fff;
    border:1px solid #ddd;
    border-radius:8px;
    margin-bottom:12px;
    overflow:hidden;
}

.scm-benchmark-card summary {
    padding:15px;
    cursor:pointer;
    list-style:none;
}

.scm-benchmark-title {
    font-weight:600;
    font-size:16px;
}

.scm-benchmark-cutoff {
    margin-top:6px;
    color:#555;
}

.scm-benchmark-details {
    padding:15px;
    border-top:1px solid #eee;
}


.scm-benchmark-row {
    display:grid;
    grid-template-columns:
        45px
        180px
        90px
        1fr;

    gap:10px;
    align-items:start;
}

.scm-benchmark-status {
    margin-top:8px;
    font-weight:600;
}

.scm-benchmark-cutoff {
    margin-top:8px;
    display:flex;
    flex-direction:column;
    gap:4px;
}

@media (max-width: 768px) {

    .scm-benchmark-row {

        grid-template-columns:
            35px
            110px
            75px
            1fr;

        font-size:12px;
    }
}
@media (max-width: 768px) {

    #age-group-champions .scm-results-table {
        table-layout: fixed;
        width: 100%;
    }

    #age-group-champions .scm-results-table th:first-child,
    #age-group-champions .scm-results-table td:first-child {
        width: 50px;
        text-align: center;
    }

    #age-group-champions .scm-results-table th:last-child,
    #age-group-champions .scm-results-table td:last-child {
        width: 90px;
    }

    #age-group-champions .scm-result-swimmer {
        font-size: 16px;
        line-height: 1.3;
    }

    #age-group-champions .scm-club-name {
        font-size: 11px;
        line-height: 1.2;
        text-transform: uppercase;

    }

    #age-group-champions .scm-age-points {
        font-size: 28px;
    }

    #age-group-champions .scm-medal-breakup {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 4px;
        font-size: 12px;
    }
}

@media (max-width: 768px) {

    .scm-age-group-card h3 {
        font-size: 32px;
    }

    .scm-gender-column h4 {
        font-size: 24px;
        padding: 12px;
    }

}

.scm-benchmark-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.scm-benchmark-row div {
    flex: 1;
}
.scm-current-swimmer {
    background: #e8f5e9;
    border-left: 4px solid #2e7d32;
    font-weight: 600;
}

.scm-benchmark-qt-status {
    font-weight: 600;
    white-space: nowrap;
}

.scm-gender-column h5 {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.scm-qt-empty {
    padding: 30px 10px;
    text-align: center;
    color: #888;
    font-style: italic;
}

.scm-record-info {
    margin-bottom: 10px;
    padding: 8px 10px;
    background: #f8f9fa;
    border-left: 4px solid #f0b323;
    border-radius: 4px;
    font-size: 13px;
}

.scm-admin-actions {
    margin-left: auto;
}

.scm-btn-download {
    display: inline-block;
    padding: 8px 14px;
    background: #0057b8;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
}