/* Public pages: Jadwal, Hasil, Juara - Kemenkes/Tosca theme */
:root{
    --pubk-main:#2f7d71;
    --pubk-dark:#1f5f56;
    --pubk-deep:#143d38;
    --pubk-soft:#ecf8f5;
    --pubk-soft-2:#f6fbfa;
    --pubk-line:rgba(47,125,113,.14);
    --pubk-text:#1f2933;
    --pubk-muted:#667b7b;
    --pubk-shadow:0 20px 50px rgba(20,61,56,.10);
}

.public-kemenkes-page{
    color:var(--pubk-text);
}

.public-kemenkes-page a{
    color:var(--pubk-dark);
}

.pubk-hero{
    position:relative;
    overflow:hidden;
    border-radius:2rem;
    padding:2rem;
    background:
        radial-gradient(circle at 92% 10%, rgba(255,255,255,.20), transparent 24%),
        radial-gradient(circle at 18% 0%, rgba(172,255,236,.18), transparent 28%),
        linear-gradient(135deg, #3c8b7f 0%, #2f7d71 42%, #225d55 100%);
    box-shadow:var(--pubk-shadow);
    color:#fff;
}

.pubk-hero::before,
.pubk-hero::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.10);
    pointer-events:none;
}

.pubk-hero::before{
    width:260px;
    height:260px;
    right:-85px;
    top:-75px;
}

.pubk-hero::after{
    width:190px;
    height:190px;
    left:-70px;
    bottom:-90px;
}

.pubk-hero > *{
    position:relative;
    z-index:1;
}

.pubk-chip{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.6rem 1rem;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-weight:700;
}

.pubk-chip-dot{
    width:.65rem;
    height:.65rem;
    border-radius:999px;
    background:#bff4c8;
    box-shadow:0 0 0 .28rem rgba(191,244,200,.18);
}

.pubk-title{
    font-size:clamp(2rem, 4vw, 3.4rem);
    line-height:1.08;
    font-weight:850;
    letter-spacing:-.035em;
    margin:1rem 0 .8rem;
}

.pubk-subtitle{
    max-width:850px;
    color:rgba(255,255,255,.87);
    font-size:1.05rem;
    line-height:1.8;
    margin:0;
}

.pubk-hero-panel{
    height:100%;
    border-radius:1.5rem;
    padding:1.25rem;
    background:rgba(15,63,57,.42);
    border:1px solid rgba(255,255,255,.13);
    backdrop-filter:blur(10px);
}

.pubk-hero-panel-title{
    color:rgba(255,255,255,.68);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.72rem;
    font-weight:800;
    margin-bottom:.55rem;
}

.pubk-hero-panel h2{
    color:#fff;
    font-weight:800;
    margin-bottom:.6rem;
}

.pubk-quick-list{
    display:grid;
    gap:.75rem;
    margin-top:1.2rem;
}

.pubk-quick-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:.85rem .95rem;
    border-radius:1rem;
    background:rgba(255,255,255,.10);
    color:rgba(255,255,255,.88);
}

.pubk-quick-item strong{
    color:#fff;
    text-align:right;
}

.pubk-stat-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:1rem;
}

.pubk-stat-card{
    position:relative;
    overflow:hidden;
    min-height:130px;
    border-radius:1.4rem;
    padding:1.15rem;
    background:#fff;
    border:1px solid var(--pubk-line);
    box-shadow:0 15px 35px rgba(20,61,56,.07);
}

.pubk-stat-card::after{
    content:"";
    position:absolute;
    width:96px;
    height:96px;
    right:-32px;
    bottom:-34px;
    border-radius:50%;
    background:rgba(47,125,113,.07);
}

.pubk-stat-icon{
    width:2.7rem;
    height:2.7rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    background:var(--pubk-soft);
    font-size:1.1rem;
    margin-bottom:.8rem;
}

.pubk-stat-label{
    color:var(--pubk-muted);
    font-weight:700;
    font-size:.92rem;
}

.pubk-stat-value{
    color:var(--pubk-deep);
    font-weight:850;
    font-size:1.9rem;
    line-height:1.15;
}

.pubk-stat-value.text-value{
    font-size:1.25rem;
    line-height:1.35;
}

.pubk-panel{
    background:#fff;
    border:1px solid var(--pubk-line);
    border-radius:1.6rem;
    box-shadow:var(--pubk-shadow);
    overflow:hidden;
}

.pubk-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    padding:1.25rem 1.35rem;
    border-bottom:1px solid var(--pubk-line);
    background:linear-gradient(180deg, rgba(47,125,113,.08), rgba(47,125,113,.02));
}

.pubk-panel-head h2{
    font-size:1.35rem;
    font-weight:850;
    color:var(--pubk-deep);
    margin:0 0 .25rem;
}

.pubk-panel-head p{
    color:var(--pubk-muted);
    margin:0;
}

.pubk-panel-body{
    padding:1.25rem;
}

.pubk-badge-soft{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.5rem .8rem;
    border-radius:999px;
    background:var(--pubk-soft);
    border:1px solid var(--pubk-line);
    color:var(--pubk-dark);
    font-weight:800;
    font-size:.88rem;
}

.pubk-table-wrap{
    overflow:auto;
    border-radius:1.2rem;
    border:1px solid rgba(47,125,113,.10);
}

.pubk-table{
    margin:0;
    vertical-align:middle;
}

.pubk-table thead th{
    background:#f0faf7;
    color:#18443e;
    border-bottom:1px solid rgba(47,125,113,.12);
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    padding:1rem;
}

.pubk-table tbody td{
    padding:1rem;
    border-color:rgba(47,125,113,.08);
}

.pubk-table tbody tr:hover td{
    background:#fbfefe;
}

.pubk-match-title{
    display:flex;
    align-items:center;
    gap:.65rem;
    font-weight:850;
    color:#173f3a;
}

.pubk-versus{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2rem;
    height:2rem;
    border-radius:.75rem;
    background:#edf8f5;
    color:var(--pubk-dark);
    font-size:.75rem;
    font-weight:900;
    flex:0 0 auto;
}

.pubk-muted{
    color:var(--pubk-muted);
}

.pubk-status{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    border-radius:999px;
    padding:.45rem .75rem;
    font-weight:800;
    font-size:.83rem;
    border:1px solid transparent;
    white-space:nowrap;
}

.pubk-status-scheduled{
    background:#e8f6ff;
    color:#0b5d87;
    border-color:#cfeeff;
}

.pubk-status-live{
    background:#fff1f2;
    color:#b4232f;
    border-color:#ffd6da;
}

.pubk-status-finished{
    background:#ecfdf3;
    color:#137044;
    border-color:#ccf8db;
}

.pubk-status-default{
    background:#f4f5f7;
    color:#53606b;
    border-color:#e5e7eb;
}

.pubk-status-gold{
    background:#fff7d6;
    color:#9a6500;
    border-color:#ffe8a3;
}

.pubk-status-silver{
    background:#f2f4f7;
    color:#596574;
    border-color:#d8dde7;
}

.pubk-status-bronze{
    background:#fff0e5;
    color:#9a4a0b;
    border-color:#ffd7b8;
}

.pubk-card-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:1rem;
}

.pubk-match-card{
    border:1px solid var(--pubk-line);
    border-radius:1.35rem;
    background:linear-gradient(180deg, #fff, #fbfefe);
    padding:1.1rem;
    box-shadow:0 12px 28px rgba(20,61,56,.06);
    height:100%;
}

.pubk-match-card-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:.8rem;
    margin-bottom:.9rem;
}

.pubk-round-chip{
    display:inline-flex;
    max-width:100%;
    border-radius:999px;
    padding:.4rem .7rem;
    background:#eef8f5;
    color:#23665d;
    font-weight:800;
    font-size:.82rem;
}

.pubk-vs-box{
    display:grid;
    gap:.55rem;
    margin:.85rem 0;
}

.pubk-player-line{
    display:flex;
    align-items:center;
    gap:.65rem;
    min-height:2.6rem;
    padding:.65rem .75rem;
    border-radius:1rem;
    background:#f6fbfa;
    border:1px solid rgba(47,125,113,.08);
    font-weight:800;
    color:#183f3b;
}

.pubk-player-line.winner{
    background:#ecfdf3;
    border-color:#bfefcd;
    color:#137044;
}

.pubk-player-dot{
    width:.7rem;
    height:.7rem;
    border-radius:999px;
    background:#87c9be;
    flex:0 0 auto;
}

.pubk-player-line.winner .pubk-player-dot{
    background:#22a35a;
}

.pubk-empty{
    text-align:center;
    padding:3rem 1.5rem;
    border:1px dashed rgba(47,125,113,.25);
    border-radius:1.4rem;
    background:#fbfefe;
    color:var(--pubk-muted);
}

.pubk-empty-icon{
    width:4rem;
    height:4rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1.4rem;
    background:var(--pubk-soft);
    margin:0 auto 1rem;
    font-size:1.7rem;
}

.pubk-standings-grid{
    display:grid;
    gap:1rem;
}

.pubk-standing-card{
    border:1px solid var(--pubk-line);
    border-radius:1.3rem;
    overflow:hidden;
    background:#fff;
}

.pubk-standing-title{
    padding:1rem 1.1rem;
    background:#f0faf7;
    border-bottom:1px solid rgba(47,125,113,.10);
    font-weight:850;
    color:#153f3a;
}

.pubk-champion-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:1.15rem;
}

.pubk-champion-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--pubk-line);
    border-radius:1.7rem;
    background:#fff;
    box-shadow:0 15px 34px rgba(20,61,56,.08);
    height:100%;
}

.pubk-champion-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:7rem;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,255,255,.28), transparent 24%),
        linear-gradient(135deg, #3c8b7f, #225d55);
}

.pubk-champion-body{
    position:relative;
    z-index:1;
    padding:1.25rem;
    text-align:center;
}

.pubk-champion-photo-wrap{
    width:8rem;
    height:8rem;
    margin:1.1rem auto .95rem;
    border-radius:2rem;
    padding:.35rem;
    background:#fff;
    box-shadow:0 15px 34px rgba(0,0,0,.14);
}

.pubk-champion-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:1.65rem;
    background:#eef8f5;
}

.pubk-photo-placeholder{
    width:100%;
    height:100%;
    border-radius:1.65rem;
    background:#eef8f5;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#23665d;
    font-weight:900;
    font-size:2rem;
}

.pubk-champion-name{
    color:#163f3a;
    font-weight:850;
    font-size:1.25rem;
    margin-bottom:.2rem;
}

.pubk-champion-meta{
    color:var(--pubk-muted);
    line-height:1.55;
}

.pubk-champion-note{
    margin-top:1rem;
    padding:.8rem .9rem;
    border-radius:1rem;
    background:#f6fbfa;
    border:1px solid rgba(47,125,113,.08);
    color:#4c6766;
    font-size:.92rem;
}

.pubk-medal-ribbon{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    margin-bottom:.3rem;
}

.pubk-rank-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:2.25rem;
    height:2.25rem;
    padding:0 .75rem;
    border-radius:.9rem;
    background:rgba(255,255,255,.16);
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    font-weight:900;
}

.pubk-action-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.6rem;
}

.pubk-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    border-radius:999px;
    padding:.7rem 1rem;
    text-decoration:none;
    font-weight:800;
}

.pubk-btn-primary{
    color:#fff!important;
    background:linear-gradient(135deg, var(--pubk-main), var(--pubk-dark));
    box-shadow:0 12px 25px rgba(47,125,113,.22);
}

.pubk-btn-light{
    color:var(--pubk-dark)!important;
    background:#fff;
    border:1px solid var(--pubk-line);
}

@media (max-width: 991.98px){
    .pubk-stat-grid,
    .pubk-card-grid,
    .pubk-champion-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    .pubk-hero{
        border-radius:1.6rem;
        padding:1.45rem;
    }
}

@media (max-width: 767.98px){
    .pubk-stat-grid,
    .pubk-card-grid,
    .pubk-champion-grid{
        grid-template-columns:1fr;
    }

    .pubk-panel-head{
        flex-direction:column;
        align-items:stretch;
    }

    .pubk-action-row{
        justify-content:flex-start;
    }

    .pubk-title{
        font-size:2rem;
    }
}
