*{box-sizing:border-box}body{margin:0;background:#f3f5f8;color:#172033;font-family:'DM Sans',sans-serif}.site-shell{min-height:100vh}.topbar{height:76px;background:#101a2b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.brand-mark{width:42px;height:42px;border:1px solid #c9a96e;border-radius:12px;display:grid;place-items:center;color:#d7b875;font-size:27px}.brand b{display:block;font:800 17px Manrope;letter-spacing:1.4px}.brand b span{color:#d5b36e}.brand small{display:block;font-size:9px;letter-spacing:2.2px;color:#94a2b8;margin-top:2px}.event-label,.top-right{font-size:10px;letter-spacing:1.5px;color:#b8c2d2;font-weight:700}.event-label i{display:inline-block;height:12px;border-left:1px solid #657187;margin:0 12px -3px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#36d399;box-shadow:0 0 0 4px rgba(54,211,153,.12);margin-right:8px}.signal{display:inline-block;width:7px;height:7px;background:#36d399;border-radius:50%;margin-right:8px}.content-wrap{max-width:1440px;padding:0 5.2%}.hero{margin:32px 0 22px;min-height:190px;border-radius:18px;background:linear-gradient(110deg,#17243a 0%,#1c2e49 70%,#263c58 100%);color:white;padding:35px 42px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.hero:after{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(216,185,123,.15);border-radius:50%;right:8%;top:-120px;box-shadow:0 0 0 35px rgba(216,185,123,.035),0 0 0 75px rgba(216,185,123,.025)}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#bfa16a}.hero h1{font:800 clamp(27px,4vw,43px) Manrope;letter-spacing:1px;margin:10px 0 5px}.hero h1 em{font-style:normal;color:#d9bb7c}.hero p{color:#b9c4d3;margin:0;font-size:13px}.hero-piece{font-size:130px;color:rgba(222,194,139,.2);line-height:1;margin-right:7%;z-index:1}.main-nav{display:flex;gap:8px;border-bottom:1px solid #dfe4eb;margin-bottom:28px}.main-nav a{padding:15px 20px;color:#657187;text-decoration:none;font-weight:700;font-size:13px;border-bottom:3px solid transparent}.main-nav a span{font-size:10px;color:#a5adba;margin-right:9px}.main-nav a.active{color:#17243a;border-color:#c4a365}.main-nav a.active span{color:#bd9957}.toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.toolbar h2{font:800 25px Manrope;margin:5px 0 0;color:#17243a}.toolbar .section-kicker{color:#a58a59}.filter-wrap{width:260px}.filter-wrap label{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#788398;margin-bottom:6px}.form-select{border:1px solid #dce2e9;border-radius:9px;padding:11px 38px 11px 13px;font-size:13px;font-weight:700;color:#26354b;box-shadow:none}.content-panel{background:#fff;border:1px solid #e4e8ee;border-radius:14px;box-shadow:0 8px 28px rgba(24,39,63,.045);overflow:hidden}.panel-head{height:62px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f4}.panel-title{display:flex;align-items:center;gap:10px;font:800 13px Manrope;color:#25344b}.panel-icon{color:#b6975e;font-size:19px}.refresh-meta{font-size:9px;letter-spacing:1px;color:#8c96a6;font-weight:800}.refresh-meta .live-dot{width:6px;height:6px;margin-left:8px}.data-table{margin:0;font-size:12px;white-space:nowrap}.data-table thead th{background:#f8f9fb;color:#8490a1;font-size:9px;letter-spacing:1.2px;font-weight:800;padding:15px 18px;border-bottom:1px solid #e9edf2}.data-table tbody td{padding:14px 18px;border-color:#edf0f4;vertical-align:middle;color:#526075}.data-table tbody tr:hover{background:#fbfcfe}.rank{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f0f2f5;color:#657187;font-weight:800}.rank-1{background:#f8edcf;color:#9b7427}.rank-2{background:#e9edf2;color:#657187}.rank-3{background:#f5e5d9;color:#a56d43}.player-name{font-weight:800;color:#24334a;font-size:12px;display:flex;align-items:center;gap:8px}.muted{display:block;color:#9aa4b2;font-size:10px;margin-top:4px}.team-name{color:#7d8999!important}.points{font:800 17px Manrope;color:#b18e4e}.match-grid{padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.match-card{border:1px solid #e6eaf0;border-radius:12px;padding:16px;background:#fff}.match-card-top{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #edf0f4;color:#8b95a4;font-size:9px;letter-spacing:1px;font-weight:800}.match-card-top small{margin-left:auto}.status-badge,.result-badge{display:inline-block;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:800;letter-spacing:.5px}.status-badge.live{background:#e5fbf2;color:#149566}.status-badge.waiting{background:#fff5df;color:#a77b28}.status-badge.done{background:#edf1f6;color:#657187}.result-badge{background:#edf2f8;color:#344761;min-width:46px;text-align:center}.result-badge.draw{background:#f6f0e3;color:#9a793b}.match-player{display:flex;align-items:center;gap:10px;padding:14px 0}.match-player div{flex:1;min-width:0}.match-player b{font-size:12px;color:#26354b;display:block}.match-player small{font-size:10px;color:#9aa4b2}.match-player strong{font-size:15px;color:#b18e4e}.color-chip,.mini-color{display:grid;place-items:center;border-radius:7px;width:29px;height:29px;font-size:10px;font-weight:900}.white-chip{background:#f1f3f6;color:#59677a;border:1px solid #dfe4eb}.black-chip{background:#26354b;color:#fff}.versus{text-align:center;font-size:9px;color:#b3bbc6;font-weight:800;letter-spacing:2px}.match-card-foot{border-top:1px solid #edf0f4;padding-top:11px;display:flex;justify-content:space-between;color:#9aa4b2;font-size:9px;letter-spacing:.5px}.round-banner{margin:20px 22px;padding:17px 20px;border-radius:10px;background:#17263d;color:#fff;display:flex;justify-content:space-between;align-items:center}.round-banner .section-kicker{color:#d2b779}.round-banner h3{font:800 20px Manrope;margin:4px 0 0}.round-banner h3 small{font:500 12px 'DM Sans';color:#aab7c8;margin-left:8px}.round-date{font-size:11px;color:#b7c2d1}.pairing-table{margin-bottom:8px}.table-number{font:800 15px Manrope;color:#b18e4e}.mini-color{display:inline-grid;width:22px;height:22px;font-size:9px}.empty-state,.loading-state,.error-state{padding:55px 20px;text-align:center;color:#8b96a5;font-size:12px}.empty-state div{font-size:38px;color:#c1a36b;margin-bottom:8px}.empty-state b{display:block;font-size:10px;letter-spacing:1.6px;color:#526075}.empty-state p{margin:7px 0 0}.error-state{color:#bd5555}.error-state small{display:block;margin-top:6px}.loading-state .spinner-border{margin-right:8px}.footer{display:flex;justify-content:space-between;padding:22px 2px;color:#9ba5b3;font-size:9px;letter-spacing:1.2px}.footer b{color:#657187}.table-responsive{min-height:150px}@media(max-width:850px){.topbar{padding:0 20px}.event-label{display:none}.content-wrap{padding:0 18px}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:28px}.hero-piece{font-size:90px;margin-right:0}}@media(max-width:600px){.topbar{height:65px}.top-right{font-size:8px}.hero{min-height:155px;margin-top:18px;padding:24px 20px}.hero-piece{font-size:70px}.hero p{max-width:250px;font-size:11px}.main-nav{gap:0;overflow:auto}.main-nav a{padding:13px 11px;font-size:11px;white-space:nowrap}.main-nav a span{display:none}.toolbar{align-items:stretch;gap:14px;flex-direction:column}.toolbar h2{font-size:22px}.filter-wrap{width:100%}.panel-head{padding:0 14px}.refresh-meta{font-size:8px}.match-grid{grid-template-columns:1fr;padding:12px}.round-banner{margin:12px;padding:14px}.data-table thead th,.data-table tbody td{padding:12px 11px}.footer{gap:10px;flex-direction:column}.hero h1{font-size:27px}}
/* Live score vertical ticker */
.ticker-caption{padding:13px 20px 0;color:#8b96a5;font-size:9px;font-weight:800;letter-spacing:1.4px}
.live-ticker-viewport{height:470px;overflow:hidden;position:relative;padding:14px 20px 20px;mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%)}
.live-ticker-track{display:flex;flex-direction:column;gap:12px;animation:chessTickerUp 95s linear infinite;will-change:transform}
.live-ticker-viewport:hover .live-ticker-track{animation-play-state:paused}
.ticker-match-card{width:100%;flex:0 0 auto;box-shadow:0 3px 12px rgba(24,39,63,.035)}
@keyframes chessTickerUp{from{transform:translateY(0)}to{transform:translateY(-33.333333%)}}
.history-table{min-width:900px}
@media(prefers-reduced-motion:reduce){.live-ticker-track{animation:none}}
@media(max-width:600px){.live-ticker-viewport{height:420px;padding:12px}.live-ticker-track{animation-duration:110s}.filter-wrap{width:100%}}

/* Live Standing: dark navy tournament board with podium highlights */
.standing-ticker-caption{padding:13px 20px 10px;color:#d9c38f;font-size:9px;font-weight:800;letter-spacing:1.4px}
.standing-ticker-table{padding:0 20px 20px;background:#101a2b}
.standing-ticker-header,.standing-ticker-row{display:grid;grid-template-columns:70px minmax(170px,1.45fr) minmax(130px,1.2fr) 70px 105px 75px;align-items:center;gap:12px;min-width:780px}
.standing-ticker-header{padding:15px 18px;background:#263b59;color:#e0c27e;font-size:9px;letter-spacing:1.1px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.12);border-radius:9px 9px 0 0}
.standing-ticker-viewport{height:490px;overflow:hidden;position:relative;background:#172943;border:1px solid rgba(255,255,255,.1);border-top:0;border-radius:0 0 10px 10px;mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%)}
.standing-ticker-track{display:flex;flex-direction:column;animation:standingTickerUp 105s linear infinite;will-change:transform}
.standing-ticker-group{display:flex;flex-direction:column;flex:0 0 auto}
.standing-ticker-row{min-height:67px;padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.09);background:#1c304c;color:#f3f6fb;font-size:12px}
.standing-ticker-row:nth-child(even){background:#203652}
.standing-ticker-row:hover{filter:brightness(1.12)}
.standing-ticker-row .player-name{font-size:12px;color:#fff}
.standing-ticker-row .muted{margin-top:3px;color:#b6c3d5}
.standing-ticker-row .team-name{color:#d0d9e6!important}
.standing-ticker-row .points{color:#f0cc78}
.standing-ticker-row .rank{background:rgba(255,255,255,.13);color:#f2f5fa;border:1px solid rgba(255,255,255,.12)}
/* Podium rows: gold, silver and bronze */
.standing-ticker-row.standing-rank-1{background:linear-gradient(100deg,#e7c66e 0%,#f4dfa0 52%,#d8b45b 100%);color:#263247;border-color:#c9a34d}
.standing-ticker-row.standing-rank-1 .player-name,.standing-ticker-row.standing-rank-1 .team-name,.standing-ticker-row.standing-rank-1 .muted,.standing-ticker-row.standing-rank-1 .points{color:#263247!important}
.standing-ticker-row.standing-rank-1 .rank{background:#9a742b;color:#fff;border-color:rgba(255,255,255,.4)}
.standing-ticker-row.standing-rank-2{background:linear-gradient(100deg,#c5ced9 0%,#edf1f5 52%,#aeb9c7 100%);color:#273448;border-color:#aeb9c7}
.standing-ticker-row.standing-rank-2 .player-name,.standing-ticker-row.standing-rank-2 .team-name,.standing-ticker-row.standing-rank-2 .muted,.standing-ticker-row.standing-rank-2 .points{color:#273448!important}
.standing-ticker-row.standing-rank-2 .rank{background:#657487;color:#fff;border-color:rgba(255,255,255,.45)}
.standing-ticker-row.standing-rank-3{background:linear-gradient(100deg,#b87950 0%,#d69a70 52%,#a96742 100%);color:#fff}
.standing-ticker-row.standing-rank-3 .player-name,.standing-ticker-row.standing-rank-3 .team-name,.standing-ticker-row.standing-rank-3 .muted,.standing-ticker-row.standing-rank-3 .points{color:#fff!important}
.standing-ticker-row.standing-rank-3 .rank{background:#75452d;color:#fff;border-color:rgba(255,255,255,.35)}
.standing-ticker-viewport:hover .standing-ticker-track{animation-play-state:paused}
@keyframes standingTickerUp{from{transform:translateY(0)}to{transform:translateY(-33.333333%)}}
@media(max-width:600px){.standing-ticker-table{padding:0 10px 12px}.standing-ticker-caption{padding-left:12px}.standing-ticker-viewport{height:440px}.standing-ticker-track{animation-duration:120s}}
@media(prefers-reduced-motion:reduce){.standing-ticker-track{animation:none}}

/* === Navy table theme: keep the surrounding panels white === */
.standing-ticker-table{background:#fff!important}
.standing-ticker-caption{background:#fff!important;color:#9a8359!important}
.standing-ticker-viewport{background:#172943!important;border-color:rgba(23,41,67,.12)!important}
.standing-ticker-row,
.standing-ticker-row:nth-child(even),
.standing-ticker-row.standing-rank-1,
.standing-ticker-row.standing-rank-2,
.standing-ticker-row.standing-rank-3{background:#1c304c!important;color:#f3f6fb!important;border-color:rgba(255,255,255,.09)!important}
.standing-ticker-row:nth-child(even){background:#203652!important}
.standing-ticker-row .team-name{color:#d0d9e6!important}
.standing-ticker-row .muted{color:#b6c3d5!important}
.standing-ticker-row .points{color:#f0cc78!important}
.standing-ticker-row .player-name{color:#fff!important}
.standing-ticker-row.standing-rank-1 .player-name{color:#f2c75f!important}
.standing-ticker-row.standing-rank-2 .player-name{color:#d6dee8!important}
.standing-ticker-row.standing-rank-3 .player-name{color:#d69a70!important}
.standing-ticker-row.standing-rank-1 .rank{background:#a77d24!important;color:#fff!important;border:1px solid #d9b85e!important}
.standing-ticker-row.standing-rank-2 .rank{background:#718096!important;color:#fff!important;border:1px solid #c3ccd8!important}
.standing-ticker-row.standing-rank-3 .rank{background:#805035!important;color:#fff!important;border:1px solid #bd8967!important}

/* Live Match cards: navy content, white text, gold score accents */
.live-ticker-viewport{background:#fff}
.live-ticker-track .match-card{background:#1c304c!important;border-color:#344b69!important;color:#f3f6fb!important}
.live-ticker-track .match-card-top{color:#c0ccdc!important;border-color:#405571!important}
.live-ticker-track .match-player b{color:#fff!important}
.live-ticker-track .match-player small{color:#b6c3d5!important}
.live-ticker-track .match-player strong{color:#f0cc78!important}
.live-ticker-track .match-card-foot{color:#bdc9d9!important;border-color:#405571!important}
.live-ticker-track .versus{color:#d0b778!important}

/* Pairing and history tables: navy table only; outer panel stays white */
.pairing-table,.history-table{background:#1c304c!important;color:#f3f6fb!important}
.pairing-table thead th,.history-table thead th{background:#263b59!important;color:#e0c27e!important;border-color:#405571!important}
.pairing-table tbody td,.history-table tbody td{background:#1c304c!important;color:#e1e8f1!important;border-color:#405571!important}
.pairing-table tbody tr:nth-child(even) td,.history-table tbody tr:nth-child(even) td{background:#203652!important}
.pairing-table tbody tr:hover td,.history-table tbody tr:hover td{background:#294361!important}
.pairing-table .table-number,.history-table .table-number{color:#f0cc78!important}
.pairing-table .muted,.history-table .muted{color:#b6c3d5!important}
/* Perbaikan horizontal scroll Live Standing di mobile */
.standing-ticker-table {
    width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.standing-ticker-header,
.standing-ticker-viewport {
    min-width: 780px;
    width: 780px;
}

.standing-ticker-viewport {
    overflow: hidden;
}

@media (max-width: 600px) {
    .standing-ticker-table {
        padding: 0 10px 12px;
        scrollbar-width: thin;
    }
}

/* ======================================
   LIVE STANDING + SPONSOR SIDEBAR
====================================== */

#contentArea.table-responsive {
    overflow-x: visible;
}

.standing-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.3fr) minmax(220px, 0.8fr);
    gap: 20px;
    align-items: start;
    width: 100%;
}

.standing-main {
    min-width: 0;
}

/* Sponsor sidebar */
.sponsor-sidebar {
    background: #f8fafc;
    border: 1px solid #e3e9f1;
    border-radius: 12px;
    padding: 18px;
    min-width: 0;
}

.sponsor-heading {
    text-align: center;
    margin-bottom: 18px;
}

.sponsor-heading span {
    display: inline-block;
    color: #c59b4b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 7px;
}

.sponsor-heading h3 {
    color: #203653;
    font-size: 19px;
    font-weight: 800;
    margin: 0 0 8px;
}

.sponsor-heading p {
    color: #718096;
    font-size: 12px;
    line-height: 1.6;
    margin: 0;
}

.sponsor-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sponsor-card {
    background: #ffffff;
    border: 1px solid #e5eaf0;
    border-radius: 10px;
    padding: 15px 10px;
    text-align: center;
    transition: all .25s ease;
}

.sponsor-card:hover {
    border-color: #d4ad5d;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(32, 54, 83, .08);
}

.sponsor-logo-placeholder {
    width: 100%;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f4f8;
    border-radius: 7px;
    color: #9aa7b7;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.sponsor-name {
    color: #203653;
    font-size: 12px;
    font-weight: 700;
    margin-top: 10px;
}

/* Tablet */
@media (max-width: 991px) {
    .standing-layout {
        grid-template-columns: minmax(0, 1fr) 220px;
        gap: 12px;
    }

    .sponsor-sidebar {
        padding: 12px;
    }
}

/* Mobile: sponsor berada di bawah standing */
@media (max-width: 767px) {
    #contentArea.table-responsive {
        overflow-x: visible;
    }

    .standing-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .sponsor-sidebar {
        width: 100%;
    }

    .sponsor-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .sponsor-logo-placeholder {
        height: 65px;
    }
}

/* ======================================
   FOOTER NAVY THEME
====================================== */

/* ======================================
   FOOTER FULL WIDTH NAVY
====================================== */

.footers {
    position: relative;
    isolation: isolate;
    margin-top: 30px !important;
    padding: 28px 30px;
    background: transparent !important;
    color: #ffffff;
    border-radius: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    z-index: 1;
}

/* Background memenuhi lebar layar */
.footers::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #203653;
}

.footers span {
    color: #ffffff;
    font-size: 11px;
    letter-spacing: 1px;
}

.footers b {
    color: #e8b75d;
    font-weight: 800;
}

/* Mobile */
@media (max-width: 600px) {
    .footers {
        flex-direction: column;
        text-align: center;
        padding: 25px 15px;
        gap: 12px;
    }
}
