/* =====================================================
   PARADISE PLAYER DASHBOARD
   CLEAN VERSION
   ČASŤ 1/5
===================================================== */


/* =========================
   ZÁKLAD
========================= */

.paradise-player-dashboard {

    width:100%;
    max-width:1200px;

    margin:0 auto;
    padding:0;

    font-family:inherit;

    background:transparent;

}


.paradise-player-dashboard *,
.paradise-player-dashboard *::before,
.paradise-player-dashboard *::after {

    box-sizing:border-box;

}



/* =========================
   HEADER PROFIL
========================= */


.paradise-player-header {

    background:linear-gradient(
        135deg,
        #111,
        #333
    );

    color:white;

    padding:20px;

    border-radius:15px;

    margin-bottom:20px;

}



.player-profile {

    display:flex;

    align-items:center;

    gap:18px;

}



.player-photo {

    width:80px;

    height:80px;

    border-radius:50%;

    overflow:hidden;

    background:#fff;

    flex-shrink:0;

}



.player-photo img {

    width:100%;

    height:100%;

    object-fit:cover;

}



.player-name h3 {

    margin:0;

    font-size:28px;

    font-weight:800;

    color:#fff;

}



.player-team {

    margin-top:8px;

    font-size:17px;

    font-weight:600;

    color:rgba(255,255,255,.9);

}



/* =========================
   SUMÁRNE KARTY
========================= */


.paradise-summary-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-bottom:20px;

}



.paradise-summary-card {

    background:#fff;

    padding:18px;

    border-radius:15px;

    text-align:center;

    border:1px solid #eee;

    box-shadow:

    0 3px 10px rgba(0,0,0,.08);

}



.paradise-summary-card strong {

    display:block;

    font-size:14px;

    color:#666;

}



.paradise-summary-card span {

    display:block;

    margin-top:8px;

    font-size:32px;

    font-weight:700;

    color:#111;

}



/* =========================
   HLAVNÉ SEKČNÉ KARTY
========================= */


.paradise-dashboard-card {

    background:#fff;

    border-radius:14px;

    padding:18px;

    box-shadow:0 3px 12px rgba(0,0,0,.08);

    margin-bottom:18px;

    font-family:inherit;

}


.paradise-dashboard-card h4 {

    margin:0 0 15px;

    font-size:16px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:space-between;

    color:#222;

}



.paradise-dashboard-card strong {

    font-weight:700;

}



.paradise-dashboard-card span {

    font-family:inherit;

}



/* =========================
   DOCHÁDZKA / SEZÓNA
========================= */


.paradise-match-summary {

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:6px;

    width:100%;

}



.paradise-match-summary > div {

    background:#fff;

    min-height:85px;

    padding:8px 3px;

    border-radius:10px;

    border:1px solid #eee;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    box-shadow:

    0 2px 8px rgba(0,0,0,.08);

}



.paradise-match-summary strong {

    display:block;

    font-size:18px;

    font-weight:800;

    line-height:1.1;

    color:#111;

    margin:4px 0;

}



.paradise-match-summary span {

    display:block;

    font-size:9px;

    color:#666;

}



/* =========================
   INDIVIDUÁLNE ŠTATISTIKY
========================= */


.sl-player-stats {

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:6px;

}



.sl-player-stats > div {

    background:#fff;

    padding:10px 5px;

    border-radius:10px;

    border:1px solid #eee;

    text-align:center;

    font-size:12px;

    box-shadow:

    0 2px 8px rgba(0,0,0,.08);

}

/* =====================================================
   ZÁPASY
   ČASŤ 2/5
===================================================== */


/* =========================
   TABY
========================= */


.match-tabs {

    display:flex;

    gap:10px;

    margin-bottom:20px;

    flex-wrap:wrap;

}



.match-tab {

    background:#f3f4f6;

    color:#111;

    border:1px solid #ddd;

    border-radius:10px;

    padding:10px 16px;

    cursor:pointer;

    font-weight:600;

    transition:.2s ease;

}



.match-tab:hover {

    background:#9ca3af;

    color:#fff;

}



.match-tab.active {

    background:#1d6cff;

    color:#fff;

    border-color:#1d6cff;

}



/* obsah záložiek */


.match-tab-content {

    display:none;

}



.match-tab-content.active {

    display:block;

}



/* =========================
   GRID ZÁPASOV
========================= */


.matches-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}



/* =========================
   KARTA ZÁPASU
========================= */


.paradise-last-match-card {

    background:#fff;

    border-radius:18px;

    padding:14px;

    box-shadow:

    0 4px 15px rgba(0,0,0,.08);

    transition:.2s ease;

}



.paradise-last-match-card:hover {

    transform:translateY(-2px);

    box-shadow:

    0 8px 20px rgba(0,0,0,.12);

}



/* výsledok */


.paradise-last-match-card.win {

    border-left:6px solid #22c55e;

}



.paradise-last-match-card.draw {

    border-left:6px solid #f59e0b;

}



.paradise-last-match-card.loss {

    border-left:6px solid #ef4444;

}



/* odkaz na zápas */


.paradise-match-link {

    display:block;

    color:inherit;

    text-decoration:none;

}



/* dátum */


.match-date {

    text-align:center;

    font-size:12px;

    color:#777;

    margin-bottom:10px;

}



/* tímy */


.match-teams {

    display:flex;

    justify-content:center;

    align-items:center;

    gap:20px;

}



.match-team {

    width:100px;

    text-align:center;

    font-size:12px;

    font-weight:600;

}



.match-team img {

    width:45px;

    height:45px;

    object-fit:contain;

    display:block;

    margin:0 auto 6px;

}



/* skóre */


.match-score {

    font-size:26px;

    font-weight:800;

    color:#111;

}



/* body */


.match-points {

    margin-top:10px;

    text-align:center;

    color:#b77900;

    font-size:13px;

    font-weight:700;

}



/* =========================
   NAČÍTAŤ VIAC
========================= */


.match-load-more,
.attendance-load-more {

    margin-top:12px;

    background:#111;

    color:#fff;

    border:none;

    padding:9px 16px;

    border-radius:10px;

    cursor:pointer;

    font-weight:600;

    transition:.2s ease;

}



.match-load-more:hover,
.attendance-load-more:hover {

    background:#333;

}



/* =========================
   MVP
========================= */


.mvp-badge {

    float:right;

    font-size:13px;

    font-weight:700;

    background:#fff7d6;

    color:#b77900;

    padding:5px 10px;

    border-radius:20px;

}

/* =====================================================
   MODALY + HISTÓRIA + KREDITY + ČLENSTVO
   ČASŤ 3/5
===================================================== */


/* =========================
   HISTÓRIA DOCHÁDZKY
========================= */


.attendance-history-toggle {

    float:right;

    cursor:pointer;

    font-size:20px;

    opacity:.8;

    transition:.2s ease;

}



.attendance-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



.attendance-modal {

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    z-index:9999;

    align-items:center;

    justify-content:center;

}



.attendance-modal.active {

    display:flex;

}



.attendance-modal-box {

    width:90%;

    max-width:450px;

    background:#fff;

    border-radius:16px;

    padding:25px;

    position:relative;

    box-shadow:

    0 10px 30px rgba(0,0,0,.25);

}



.attendance-close {

    position:absolute;

    right:20px;

    top:15px;

    cursor:pointer;

    font-size:20px;

    font-weight:bold;

    color:#666;

}



/* =========================
   HISTÓRIA KREDITOV
========================= */


.member-credit-card,
.reward-card {

    min-height:140px;

}



.member-credit-card h4,
.reward-card h4 {

    font-size:16px;

}



.member-history-toggle,
.reward-history-toggle {

    float:right;

    display:inline-block;

    cursor:pointer;

    font-size:20px;

    background:transparent;

    border:none;

    padding:0;

    margin:0;

    color:inherit;

    opacity:.8;

    transition:.2s ease;

}



.member-history-toggle:hover,
.reward-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



.mycred-history-box {

    max-height:400px;

    overflow-y:auto;

}



.mycred-history-box table {

    width:100%;

    border-collapse:collapse;

}



.mycred-history-box td,
.mycred-history-box th {

    padding:10px;

    border-bottom:1px solid #eee;

}



.paradise-credit-history table {

    background:#fff;

    border-radius:15px;

    overflow:hidden;

}



.paradise-credit-history td {

    padding:12px;

}



/* =========================
   ČLENSTVO
========================= */


.membership-status {

    font-size:14px;

    font-weight:600;

    padding:0;

    background:transparent;

}



.membership-green,
.membership-orange,
.membership-red {

    font-size:14px;

}



/* platobné tlačidlo */


.membership-payment-button a,
.membership-payment-button input[type="submit"],
.membership-payment-button button {

    display:inline-block;

    background:#e53935;

    color:#fff;

    padding:6px 14px;

    border-radius:18px;

    font-size:13px;

    font-weight:700;

    border:none;

    cursor:pointer;

    text-decoration:none;

    transition:.2s ease;

}



.membership-payment-button a:hover,
.membership-payment-button input[type="submit"]:hover,
.membership-payment-button button:hover {

    background:#c62828;

    transform:translateY(-1px);

}



/* =========================
   TOPUP KREDITY
========================= */


.credit-topup-toggle {

    margin-top:8px;

    display:block;

    color:#1976d2;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

    text-decoration:underline;

}



.credit-topup-toggle:hover {

    color:#125ca1;

}



/* kreditné taby */


.credit-tabs {

    display:flex;

    gap:10px;

    margin-bottom:15px;

}



.credit-tab {

    flex:1;

    padding:8px 12px;

    border-radius:8px;

    border:none;

    cursor:pointer;

    background:#eee;

    font-weight:600;

}



.credit-tab.active {

    background:#222;

    color:#fff;

}



.credit-tab-content {

    display:none;

}



.credit-tab-content.active {

    display:block;

}

/* =========================
   ODMENY
========================= */


.reward-points {

    display:block !important;

    margin-top:8px !important;

    font-size:16px !important;

    font-weight:700 !important;

    color:#111 !important;

}


/* história odmien */

.reward-history-toggle {

    display:inline !important;

    float:right;

    cursor:pointer;

    font-size:20px !important;

    font-weight:normal !important;

    background:transparent !important;

    color:inherit !important;

    border:none !important;

    padding:0 !important;

    margin:0 !important;

    opacity:.8;

    transition:.2s;

}


.reward-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



/* katalóg odmien */

.reward-catalog-toggle {

    margin-top:8px;

    display:block;

    color:#1976d2;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

}


.reward-catalog-toggle:hover {

    color:#125ca1;

}



/* karta odmeny */

.reward-item {

    background:#fff;

    border-radius:15px;

    padding:15px;

    margin-bottom:12px;

    text-align:center;

    box-shadow:0 3px 10px rgba(0,0,0,.08);

}


.reward-item img {

    width:80px;

    height:80px;

    object-fit:cover;

    border-radius:12px;

}


.reward-item h5 {

    margin:10px 0 5px;

    font-size:16px;

}


.reward-item p {

    color:#b77900;

    font-weight:700;

}



/* tlačidlo vybrať odmenu */

.redeem-reward {

    background:#111;

    color:white;

    border:none;

    border-radius:10px;

    padding:8px 18px;

    cursor:pointer;

    font-weight:700;

    transition:.2s;

}


.redeem-reward:hover {

    background:#333;

}


.redeem-reward:disabled {

    background:#ccc;

    cursor:not-allowed;

}



/* úspešná správa */

.reward-success-message {

    background:#22c55e;

    color:white;

    padding:12px 18px;

    border-radius:12px;

    font-weight:700;

    margin-bottom:15px;

    text-align:center;

}

/* =========================
   PLAYBOOK
========================= */


.playbook-progress {

    margin-top:20px;

    padding:15px;

    background:#f5f5f5;

    border-radius:12px;

}


.playbook-progress-bar {

    height:12px;

    background:#ddd;

    border-radius:20px;

    overflow:hidden;

    margin:10px 0;

}


.playbook-progress-fill {

    height:100%;

    background:#1e9b4b;

    border-radius:20px;

    transition:.4s;

}


.playbook-progress-numbers {

    font-size:16px;

}


.playbook-points-total {

    margin-top:8px;

    font-weight:bold;

}



/* klikateľná playbook karta */

.playbook-card-link {

    color:inherit;

    text-decoration:none;

    display:block;

}



.playbook-dashboard-card {

    cursor:pointer;

}



.playbook-dashboard-card:hover {

    transform:translateY(-2px);

    transition:.2s ease;

}


/* názov + batéria */

.playbook-title {

    display:flex;

    align-items:center;

    width:100%;

}


.playbook-name {

    white-space:nowrap;

}



.playbook-progress-battery {

    margin-left:auto;

    margin-right:15px;

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    width:90px;

    height:24px;

    border:2px solid #333;

    border-radius:6px;

    overflow:hidden;

    background:#e5e7eb;

    flex-shrink:0;

}


.playbook-progress-battery .battery-fill {

    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:var(--progress);

    background:#22c55e;

    z-index:1;

}


.playbook-progress-battery .battery-percent {

    position:relative;

    z-index:2;

    color:#111;

    font-size:12px;

    font-weight:700;

}


/* =========================
   MOBILNÉ ÚPRAVY
========================= */


@media(max-width:768px){

    .matches-grid {

        grid-template-columns:1fr;

    }


    .playbook-progress-battery {

        width:75px;

        margin-right:8px;

    }

}


@media(max-width:600px){


    .paradise-summary-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .paradise-match-summary {

        grid-template-columns:repeat(5,1fr);

    }


    .match-teams {

        gap:10px;

    }


    .match-team {

        width:80px;

        font-size:11px;

    }


    .match-score {

        font-size:22px;

    }

}

/* =========================
   DODATOČNÉ OPRAVY A FINÁLNE ÚPRAVY
========================= */


/* odkazy v histórii odmien */

.reward-history-modal .mycred-history-box a {

    color:#2271b1;

    font-weight:600;

    text-decoration:none;

}


.reward-history-modal .mycred-history-box a:hover {

    color:#135e96;

    text-decoration:underline;

}



/* stav členstva */

.membership-status {

    font-size:14px !important;

    font-weight:600;

    padding:0 !important;

    background:transparent !important;

    border-radius:0 !important;

}


.membership-green,
.membership-orange,
.membership-red {

    font-size:14px !important;

}



/* platba členstva */

.membership-payment-button a,
.membership-payment-button input[type="submit"],
.membership-payment-button button {

    display:inline-block;

    background:#e53935;

    color:#fff;

    padding:6px 14px;

    border-radius:18px;

    font-size:13px;

    font-weight:700;

    text-decoration:none;

    border:none;

    cursor:pointer;

    transition:.2s ease;

}


.membership-payment-button a:hover,
.membership-payment-button input[type="submit"]:hover,
.membership-payment-button button:hover {

    background:#c62828;

    transform:translateY(-1px);

}



/* kreditná história */



.mycred-history-box {

    max-height:400px;

    overflow-y:auto;

}


.mycred-history-box table {

    width:100%;

    border-collapse:collapse;

}


.mycred-history-box td,
.mycred-history-box th {

    padding:10px;

    border-bottom:1px solid #eee;

}


.paradise-credit-history table {

    background:#fff;

    border-radius:15px;

    overflow:hidden;

}


.paradise-credit-history td {

    padding:12px;

}



/* ikony histórie */

.member-history-toggle,
.reward-history-toggle {

    float:right;

    display:inline !important;

    cursor:pointer;

    font-size:20px !important;

    background:transparent !important;

    border:none !important;

    padding:0 !important;

    margin:0 !important;

    color:inherit !important;

    opacity:.8;

    transition:.2s;

}


.member-history-toggle:hover,
.reward-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



/* TOPUP prepínač */

.credit-topup-toggle {

    margin-top:8px;

    display:block;

    color:#1976d2;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

    text-decoration:underline;

}


.credit-topup-toggle:hover {

    color:#125ca1;

}

/* =========================
   MEMBER + REWARD CARDS
========================= */


.member-credit-card,
.reward-card {

    display:flex;

    flex-direction:column;

    justify-content:flex-start;
    min-height:140px;

}


/* nadpis horných kariet */

.member-credit-card strong,
.reward-card strong {

    display:flex;

    align-items:center;

    justify-content:space-between;

    width:100%;

    font-size:16px;

}


/* história ikonky */

.member-history-toggle,
.reward-history-toggle {

    margin-left:auto;

    cursor:pointer;

    font-size:16px;

    line-height:1;

}







/* farby stavu */

.membership-green {

    color:#2e9d4d;

}


.membership-orange {

    color:#d88900;

}


.membership-red {

    color:#d32f2f;

}




/* odkazy pod kartami */

.credit-topup-toggle,
.reward-catalog-toggle {

    margin-top:auto;

    padding-top:14px;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

}

.member-credit-card .credit-topup-toggle,
.reward-card .reward-catalog-toggle {

    margin-top:auto;

    text-align:center;

}

/* =========================
   CENTER MEMBER + REWARD CONTENT
========================= */


.member-credit-card,
.reward-card {

    min-height:140px;

}


/* stav členstva v strede */

.member-credit-card .membership-status {

    flex:1;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-top:0;

}



/* počet bodov v odmenách */

.reward-card .reward-points {

    flex:1;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-top:0;

    font-size:16px;

}



/* spodné odkazy ostávajú dole */

.member-credit-card .credit-topup-toggle,
.reward-card .reward-catalog-toggle {

    margin-top:auto;

    text-align:center;

}

.playbook-profile-progress {
    width:50%;
    margin-top:10px;
}

.playbook-layout{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:30px;
}


.playbook-sidebar{
    padding:15px;
}


.playbook-filter{
    cursor:pointer;
    padding:10px 0;
}


.playbook-content{
    min-width:0;
}

/* Playbook desktop: compact video cards in a responsive grid */
.playbook-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    align-items:start;
}

.playbook-grid .playbook-card{
    min-width:0;
}



@media(min-width:769px) and (max-width:1199px){

.playbook-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

}

@media(max-width:768px){

.playbook-grid{
    grid-template-columns:1fr;
}

.playbook-layout{
    display:block;
}


.playbook-sidebar{
    margin-bottom:20px;
}

}

.playbook-mobile-filter{
    display:none;
    width:100%;
    padding:12px;
}


@media(max-width:768px){

.playbook-sidebar h3{
    display:none;
}


.playbook-mobile-filter{
    display:block;
}


.playbook-sidebar .playbook-filter{
    display:none;
}

}

.playbook-filter{
    cursor:pointer;
    padding:10px 0;
    transition:0.2s;
}


.playbook-filter.active{
    font-weight:700;
}


.playbook-filter.active:before{
    content:'➤ ';
}

.playbook-sidebar{
    padding:10px 0;
}


.playbook-sidebar h3{
    margin-bottom:20px;
}


.playbook-filter{
    padding:8px 0;
    cursor:pointer;
    font-size:15px;
}


.playbook-filter.active{
    font-weight:700;
}


.playbook-filter.active:before{
    content:'➤ ';
}

.playbook-card{
    display:flex;
    flex-direction:column;
    gap:12px;
}


.playbook-category-label{
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
}


.playbook-card h3{
    margin:0;
    line-height:1.3;
}


.playbook-video{
    width:100%;
}


.playbook-video-frame{
    width:100%;
    max-width:100%;
    aspect-ratio:16 / 9;
    height:auto;
}


.playbook-points{
    margin-top:auto;
}


.playbook-status{
    font-size:14px;
    font-weight:600;
}

.playbook-card {
    position: relative;
}


.playbook-card.is-completed {
    opacity: 0.75;
}


.playbook-card.is-completed:after {

    content: "✓";

    position: absolute;

    top: 12px;

    right: 12px;

    width: 28px;

    height: 28px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 16px;

    background: #fff;

}

.paradise-mobile-nav {
    display:none;
}


@media(max-width:768px){

    .paradise-mobile-nav {

        position:fixed;

        bottom:0;
        left:0;
        right:0;

        height:70px;

        background:#111;

        display:flex;

        justify-content:space-around;

        align-items:center;

        border-top:1px solid rgba(255,255,255,0.1);

        z-index:9999;

    }


    .mobile-nav-item {

        background:none;

        border:0;

        color:#aaa;

        font-size:12px;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:5px;

        cursor:pointer;

    }


    .mobile-nav-item.active {

        color:#00ff88;

    }


    .mobile-nav-item span {

        font-size:11px;

    }


    .paradise-player-dashboard {

        padding-bottom:90px;

    }

}

.mobile-team-logo {

    width: 28px;
    height: 28px;

    object-fit: contain;

    display: block;

    margin: 0 auto 3px;

}


.mobile-icon-fallback {

    width: 28px;
    height: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 24px;

}
.paradise-mobile-nav .mobile-svg-icon {

    width: 34px;
    height: 34px;

    fill: currentColor;

}


.paradise-mobile-nav .mobile-team-logo {

    width: 34px;
    height: 34px;

    object-fit: contain;

}


.paradise-mobile-nav .mobile-nav-item {

    font-size: 14px;

    font-weight: 600;

    color: white;

}


.paradise-mobile-nav .mobile-nav-item.active {

    color: #111;

}


.paradise-mobile-nav .mobile-nav-item span {

    margin-top: 3px;

}

/* =========================
   MOBILNÁ NAVIGÁCIA FARBY
========================= */

.paradise-mobile-nav {

    background:#111;

    border-top:1px solid rgba(255,255,255,.08);

}


.paradise-mobile-nav .mobile-nav-item {

    color:white;

}


.paradise-mobile-nav .mobile-nav-item.active {

    color:#00ff88;

}


.paradise-mobile-nav .mobile-nav-item:hover {

    color:#00ff88;

}


.paradise-mobile-nav .mobile-nav-item span {

    font-size:11px;

    font-weight:700;

}

.match-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    top: -8px;
}

.match-date,
.match-venue {
    font-size: 14px;
}

.paradise-remove-player {
    margin-left:10px;
    padding:1px 6px;
    font-size:11px;
    line-height:14px;
    height:18px;
    background:#dc3545;
    color:white;
    border:none;
    border-radius:3px;
    cursor:pointer;
    vertical-align:middle;
}

.paradise-remove-player:hover {
    background:#bb2d3b;
}


.paradise-modal {
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    z-index:9999;
    align-items:center;
    justify-content:center;
}


.paradise-modal-box {

    background:#fff;
    width:90%;
    max-width:360px;
    padding:25px;
    border-radius:10px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.25);

}


.paradise-modal-box h3 {

    margin-top:0;

}


.paradise-modal-btn {

    padding:8px 16px;
    border:none;
    border-radius:5px;
    cursor:pointer;

}


.paradise-modal-confirm {

    background:#dc3545;
    color:white;

}


.paradise-modal-cancel {

    background:#6c757d;
    color:white;
    margin-left:10px;

}

@media(max-width:768px){

.paradise-player-dashboard .mobile-section{
    display:none;
}

.paradise-player-dashboard #section-profile{
    display:block;
}

}



/* Paradise player dashboard overview */
.paradise-dashboard-player-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-bottom:18px;
}
.paradise-dashboard-player-strip > div{
    padding:16px 18px;
    border-radius:14px;
    background:#f7f8fa;
    border:1px solid #e6e8ec;
}
.paradise-dashboard-player-strip span,
.paradise-dashboard-player-strip strong{
    display:block;
}
.paradise-dashboard-player-strip span{
    font-size:.82rem;
    opacity:.7;
    margin-bottom:5px;
}
.paradise-dashboard-player-strip strong{
    font-size:1.05rem;
}
@media (max-width:700px){
    .paradise-dashboard-player-strip{grid-template-columns:1fr;}
}

.paradise-stats-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}
.paradise-stats-grid > div{
    padding:14px 10px;
    text-align:center;
    border:1px solid #e6e8ec;
    border-radius:12px;
    background:#fff;
}
.paradise-stats-grid strong,
.paradise-stats-grid small{
    display:block;
}
.paradise-stats-grid strong{
    font-size:1.35rem;
}
.paradise-stats-grid small{
    margin-top:4px;
    opacity:.7;
}
.paradise-standing-mini{
    margin-top:12px;
    padding:12px 14px;
    border-radius:12px;
    background:#f7f8fa;
    display:flex;
    justify-content:space-between;
    gap:12px;
}
@media (max-width:900px){
    .paradise-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:500px){
    .paradise-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .paradise-standing-mini{display:block;}
}

.paradise-dashboard-player-stats-native{
    margin-bottom:16px;
}
.paradise-dashboard-player-stats-native .paradise-player-season-stats{
    width:100%;
}
.paradise-dashboard-player-stats-native .paradise-match-summary{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}
.paradise-dashboard-player-stats-native .paradise-match-summary > div{
    padding:15px 10px;
    text-align:center;
    border:1px solid #e6e8ec;
    border-radius:12px;
    background:#fff;
}
.paradise-dashboard-player-stats-native .paradise-match-summary strong,
.paradise-dashboard-player-stats-native .paradise-match-summary span{
    display:block;
}
.paradise-dashboard-player-stats-native .paradise-match-summary strong{
    font-size:1.35rem;
}
.paradise-dashboard-player-stats-native .paradise-match-summary span{
    margin-top:4px;
    opacity:.7;
    font-size:.85rem;
}
@media (max-width:900px){
    .paradise-dashboard-player-stats-native .paradise-match-summary{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media (max-width:500px){
    .paradise-dashboard-player-stats-native .paradise-match-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* =========================================================
   PARADISE CLUB SYSTEM — 1.3 VISUAL SYSTEM
   Modern sports-club / esports-inspired dashboard
   Palette: graphite + Paradise green + clean white
========================================================= */

:root{
    --paradise-green:#00e676;
    --paradise-green-dark:#00a95c;
    --paradise-ink:#101318;
    --paradise-muted:#6b7280;
    --paradise-bg:#f4f6f8;
    --paradise-card:#ffffff;
    --paradise-border:#e5e7eb;
    --paradise-radius:18px;
}

/* Player dashboard shell */
.paradise-dashboard{
    max-width:1180px;
    margin:0 auto;
    padding:24px;
    color:var(--paradise-ink);
    background:var(--paradise-bg);
    border-radius:24px;
    box-sizing:border-box;
}

.paradise-dashboard-header{
    position:relative;
    overflow:hidden;
    min-height:150px;
    display:flex;
    align-items:flex-end;
    padding:28px 30px;
    margin-bottom:18px;
    border-radius:22px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(0,230,118,.32), transparent 34%),
        linear-gradient(135deg,#0b0d10 0%,#171b20 62%,#0c3b27 100%);
    box-shadow:0 12px 30px rgba(16,19,24,.16);
}

.paradise-dashboard-header:after{
    content:"";
    position:absolute;
    right:-45px;
    bottom:-80px;
    width:220px;
    height:220px;
    border:28px solid rgba(0,230,118,.12);
    border-radius:50%;
}

.paradise-dashboard-header > div{
    position:relative;
    z-index:1;
}

.paradise-dashboard-header p{
    margin:0 0 5px;
    color:rgba(255,255,255,.65);
    font-size:13px;
    font-weight:600;
}

.paradise-dashboard-header h2{
    margin:0;
    font-size:32px;
    line-height:1.05;
    letter-spacing:-.7px;
}

/* Team / player identity */
.paradise-dashboard-player-strip{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:14px;
    margin:0 0 18px;
}

.paradise-dashboard-player-strip > div{
    padding:18px 20px;
    border:1px solid var(--paradise-border);
    border-radius:var(--paradise-radius);
    background:var(--paradise-card);
    box-shadow:0 5px 18px rgba(16,19,24,.045);
}

.paradise-dashboard-player-strip span{
    display:block;
    margin-bottom:6px;
    color:var(--paradise-muted);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.paradise-dashboard-player-strip strong{
    display:block;
    font-size:18px;
}

/* KPI cards */
.paradise-dashboard-cards{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin-bottom:20px;
}

.paradise-dashboard-card{
    min-height:126px;
    box-sizing:border-box;
    padding:18px;
    border:1px solid var(--paradise-border);
    border-radius:var(--paradise-radius);
    background:var(--paradise-card);
    box-shadow:0 5px 18px rgba(16,19,24,.045);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.paradise-dashboard-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(16,19,24,.08);
    border-color:#d7dce2;
}

.paradise-dashboard-card > span{
    display:block;
    margin-bottom:16px;
    color:var(--paradise-muted);
    font-size:12px;
    font-weight:700;
}

.paradise-dashboard-card > strong{
    display:block;
    font-size:27px;
    line-height:1.05;
    letter-spacing:-.5px;
}

.paradise-dashboard-card > small{
    display:block;
    margin-top:8px;
    color:var(--paradise-muted);
    font-size:12px;
}

.paradise-dashboard-points{
    color:#fff;
    border-color:#101318;
    background:linear-gradient(145deg,#101318,#1c2420);
}

.paradise-dashboard-points > span,
.paradise-dashboard-points > small{
    color:rgba(255,255,255,.62);
}

.paradise-dashboard-points > strong{
    color:var(--paradise-green);
}

.paradise-dashboard-membership strong{
    font-size:21px;
}

/* Sections */
.paradise-dashboard-section,
}

.paradise-dashboard-section-heading{
    display:block;
    margin-bottom:16px;
}

.paradise-dashboard-section-heading h3{
    margin:0;
    font-size:19px;
    letter-spacing:-.25px;
}

.paradise-dashboard-section-heading span{
    color:var(--paradise-muted);
    font-size:12px;
    font-weight:600;
}


.paradise-load-more-matches{
    width:100%;
    margin-top:12px;
    padding:11px 16px;
    border:1px solid #dfe3e7;
    border-radius:11px;
    background:#fff;
    color:#101318;
    font-weight:700;
    cursor:pointer;
    transition:.18s ease;
}

.paradise-load-more-matches:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}

/* Payment / task / quick links */
.paradise-dashboard-task-list{
    display:grid;
    gap:8px;
}

.paradise-dashboard-task{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:14px 16px;
    border:1px solid var(--paradise-border);
    border-radius:13px;
    background:#fafbfc;
}

.paradise-dashboard-task small{
    display:block;
    margin-top:3px;
    color:var(--paradise-muted);
}

.paradise-dashboard-task > span{
    white-space:nowrap;
    color:var(--paradise-green-dark);
    font-weight:800;
}

.paradise-dashboard-links{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.paradise-dashboard-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:10px 12px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:12px;
    background:#fff;
    color:#20242a;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.18s ease;
}

.paradise-dashboard-links a:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}

/* Buttons inside dashboard */
.paradise-dashboard .button,
.paradise-dashboard button,
.paradise-dashboard input[type="submit"]{
    border-radius:10px;
    font-weight:700;
}

.paradise-dashboard a.button{
    background:#101318;
    color:#fff;
    border:0;
    padding:10px 15px;
}

.paradise-dashboard a.button:hover{
    background:#242a31;
}

/* Trainer portal */
.paradise-trainer-dashboard,
.trainer-portal,
.paradise-trainer{
    color:var(--paradise-ink);
}

.paradise-trainer-dashboard .button,
.trainer-portal .button{
    border-radius:10px;
    font-weight:700;
}

.paradise-trainer-dashboard table,
.trainer-portal table{
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border:1px solid var(--paradise-border);
    border-radius:15px;
    background:#fff;
}

.paradise-trainer-dashboard th,
.paradise-trainer-dashboard td,
.trainer-portal th,
.trainer-portal td{
    padding:12px 14px;
    border-bottom:1px solid #edf0f2;
}

.paradise-trainer-dashboard th,
.trainer-portal th{
    background:#f6f7f8;
    color:#5f6670;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

/* Mobile */
@media(max-width:1000px){
    .paradise-dashboard-cards{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .paradise-dashboard-links{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .paradise-dashboard{
        padding:12px;
        border-radius:0;
    }

    .paradise-dashboard-header{
        min-height:120px;
        padding:22px;
        border-radius:18px;
    }

    .paradise-dashboard-header h2{
        font-size:27px;
    }

    .paradise-dashboard-player-strip{
        grid-template-columns:1fr;
    }

    .paradise-dashboard-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .paradise-dashboard-card{
        min-height:112px;
        padding:15px;
    }

    .paradise-dashboard-card > strong{
        font-size:23px;
    }

    .paradise-dashboard-section,
    }

    .paradise-dashboard-links{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:430px){
    .paradise-dashboard-cards{
        gap:8px;
    }

    .paradise-dashboard-card{
        padding:13px;
    }

    .paradise-dashboard-card > strong{
        font-size:21px;
    }

}

/* 1.3.1 — player header refinement */
.paradise-dashboard-profile{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:18px;
}
.paradise-dashboard-team-logo{
    width:78px;
    height:78px;
    flex:0 0 78px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.10);
    box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.paradise-dashboard-team-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:9px;
    box-sizing:border-box;
}
.paradise-dashboard-team-logo span{
    font-size:34px;
}
.paradise-dashboard-greeting p{
    margin:0 0 5px;
    color:var(--paradise-green);
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
}
.paradise-dashboard-greeting h2{
    color:#fff;
    margin:0;
}
.paradise-dashboard-current-team{
    margin-top:8px;
    color:rgba(255,255,255,.72);
    font-size:14px;
    font-weight:700;
}
@media(max-width:500px){
    .paradise-dashboard-profile{
        gap:13px;
    }
    .paradise-dashboard-team-logo{
        width:62px;
        height:62px;
        flex-basis:62px;
    }
    .paradise-dashboard-team-logo img{
        padding:7px;
    }
    .paradise-dashboard-greeting h2{
        font-size:25px;
    }
    .paradise-dashboard-current-team{
        font-size:13px;
    }
}

/* 1.3.2 — header cleanup */
.paradise-dashboard-team-logo{
    border-color:rgba(255,255,255,.95);
    background:#fff;
}
.paradise-dashboard-team-logo img{
    background:#fff;
}
.paradise-dashboard-greeting p{
    display:none;
}
.paradise-dashboard-greeting h2{
    margin:0;
}

/* 1.3.3 — interactive dashboard cards and mobile app navigation */
.paradise-dashboard-card-button{
    width:100%;
    appearance:none;
    text-align:left;
    font:inherit;
    color:inherit;
    cursor:pointer;
}
.paradise-dashboard-card-button:focus-visible{
    outline:3px solid rgba(0,230,118,.35);
    outline-offset:2px;
}
.paradise-dashboard-panels{
    margin:0 0 20px;
}
.paradise-dashboard-panel{
    display:none;
    padding:22px;
    border:1px solid var(--paradise-border);
    border-radius:var(--paradise-radius);
    background:#fff;
    box-shadow:0 8px 24px rgba(16,19,24,.06);
    animation:paradisePanelIn .18s ease;
}
.paradise-dashboard-panel.active{display:block;}
@keyframes paradisePanelIn{
    from{opacity:0;transform:translateY(-5px)}
    to{opacity:1;transform:translateY(0)}
}
.paradise-dashboard-panel-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}
.paradise-dashboard-panel-heading h3{margin:0;font-size:19px;}
.paradise-panel-close{
    width:32px;height:32px;
    border:0;border-radius:50%;
    background:#f0f2f4;color:#606770;
    font-size:22px;line-height:1;
    cursor:pointer;
}
.paradise-panel-balance{
    margin-bottom:16px;
    font-size:36px;
    font-weight:800;
    color:var(--paradise-green-dark);
}
.paradise-panel-balance small{font-size:16px;}
.paradise-point-history{display:grid;gap:8px;}
.paradise-point-row{
    display:flex;align-items:center;justify-content:space-between;gap:15px;
    padding:12px 14px;border:1px solid #edf0f2;border-radius:12px;background:#fafbfc;
}
.paradise-point-row small{display:block;margin-top:3px;color:var(--paradise-muted);}
.paradise-point-row .positive{color:var(--paradise-green-dark);}
.paradise-point-row .negative{color:#d64545;}
.paradise-panel-attendance-value{font-size:36px;font-weight:800;}
.paradise-attendance-bar{height:9px;border-radius:99px;background:#edf0f2;overflow:hidden;margin-top:15px;}
.paradise-attendance-bar span{display:block;height:100%;border-radius:inherit;background:var(--paradise-green);}
.paradise-dashboard-legacy-membership,
.paradise-dashboard-legacy-tasks{display:none!important;}

/* Native-style mobile bottom navigation */
.paradise-mobile-nav{display:none;}
@media(max-width:700px){
    body{padding-bottom:76px;}
    .paradise-mobile-nav{
        position:fixed;
        z-index:9999;
        left:10px;right:10px;bottom:10px;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:4px;
        padding:7px;
        border:1px solid rgba(255,255,255,.65);
        border-radius:18px;
        background:rgba(255,255,255,.94);
        box-shadow:0 10px 35px rgba(0,0,0,.16);
        backdrop-filter:blur(14px);
    }
    .paradise-mobile-nav button{
        border:0;background:transparent;border-radius:12px;
        padding:8px 4px;color:#69717b;
        font:inherit;font-size:11px;font-weight:700;
        cursor:pointer;
    }
    .paradise-mobile-nav button span{
        display:block;font-size:18px;line-height:20px;margin-bottom:2px;
    }
    .paradise-mobile-nav button.active{
        color:#101318;background:#eefbf5;
    }
}

.paradise-dashboard-card-button.is-active{
    border-color:var(--paradise-green-dark);
    box-shadow:0 0 0 2px rgba(0,169,92,.10),0 10px 24px rgba(16,19,24,.08);
}

/* 1.3.6 — reliable mobile navigation */
@media(max-width:700px){
    .paradise-mobile-nav{
        display:grid !important;
        pointer-events:auto;
        touch-action:manipulation;
    }
    .paradise-mobile-nav button{
        pointer-events:auto;
        -webkit-tap-highlight-color:transparent;
    }
}

/* 1.3.8 — no-JS fallback for dashboard navigation */
.paradise-dashboard-card-button{
    display:block;
    text-decoration:none;
    box-sizing:border-box;
}
.paradise-trainer-dashboard .paradise-dashboard-panel:target,
.paradise-parent-dashboard .paradise-dashboard-panel:target{
    display:block;
    scroll-margin-top:20px;
}
.paradise-mobile-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:42px;
    text-decoration:none;
}


/* 1.4.0 — Home always returns to the dashboard overview */
.paradise-dashboard:not(.paradise-panel-view-active) .paradise-dashboard-panels .paradise-dashboard-panel{
    display:none;
}

/* 1.4.1 — completed tasks live inside the Tasks section */
.paradise-tasks-completed-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:16px;
    padding:14px 16px;
    border:1px solid #e8ebee;
    border-radius:12px;
    background:#f7f8f9;
}
.paradise-tasks-completed-summary span{
    color:#606770;
    font-size:13px;
    font-weight:700;
}
.paradise-tasks-completed-summary strong{
    font-size:20px;
    color:var(--paradise-green-dark);
}

/* 1.4.2 — contextual quick overviews */
.paradise-panel-quick{
    margin:0 0 20px;
    padding-bottom:16px;
    border-bottom:1px solid #edf0f2;
}
.paradise-panel-quick .paradise-dashboard-section-heading{
    margin-bottom:10px;
}
.paradise-panel-quick .paradise-dashboard-section-heading h4{
    margin:0;
    font-size:13px;
    color:#606770;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.paradise-panel-quick-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.paradise-panel-quick-links a{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 13px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    transition:.18s ease;
}
.paradise-panel-quick-links a:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-point-history,
.paradise-tasks-completed-summary,
#paradise-membership-pending{
    scroll-margin-top:20px;
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        display:grid;
        grid-template-columns:1fr;
    }
    .paradise-panel-quick-links a{
        width:100%;
    }
}

/* 1.4.3 — inline quick navigation */
.paradise-inline-subpanel{
    display:none;
    margin-top:14px;
    padding:15px;
    border:1px solid #e8ebee;
    border-radius:14px;
    background:#fafbfc;
    scroll-margin-top:20px;
}
.paradise-inline-subpanel:target,
.paradise-inline-subpanel-open{
    display:block;
}
.paradise-inline-subheading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}
.paradise-inline-subheading strong{font-size:14px;}
.paradise-inline-close{
    width:28px;height:28px;border:0;border-radius:50%;
    background:#e9ecef;color:#555;cursor:pointer;font-size:18px;
}
.paradise-mini-catalog,.paradise-payment-history{display:grid;gap:7px;}
.paradise-mini-catalog-item,.paradise-payment-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 12px;border:1px solid #e8ebee;border-radius:10px;background:#fff;
}
.paradise-mini-catalog-item small,.paradise-payment-row small{
    display:block;color:#6b7280;margin-top:3px;
}
.paradise-mini-catalog-item > span,.paradise-payment-row > span{
    color:var(--paradise-green-dark);font-size:12px;font-weight:800;
}
.paradise-inline-muted{color:#6b7280;font-size:12px;}

/* 1.4.4 — contextual links */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.paradise-panel-quick-links a{
    width:100%;
    justify-content:center;
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .paradise-panel-quick-links a{
        min-height:42px;
        padding:8px 7px;
        font-size:11px;
    }
}

/* 1.4.5 — inline quick links are controls, not navigation */
.paradise-panel-quick-links .paradise-inline-link{
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 13px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    text-decoration:none;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.paradise-panel-quick-links .paradise-inline-link:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-inline-subpanel{
    display:none !important;
}
.paradise-inline-subpanel.active{
    display:block !important;
}
.paradise-inline-title{
    display:block;
    margin-bottom:12px;
    font-size:14px;
}

/* 1.4.6 — native, JS-free quick panels */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.paradise-quick-detail{
    min-width:0;
}
.paradise-quick-detail summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 10px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    user-select:none;
}
.paradise-quick-detail summary::-webkit-details-marker{display:none;}
.paradise-quick-detail[open] summary{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-quick-detail .paradise-inline-subpanel{
    display:block !important;
    margin-top:8px;
    grid-column:1 / -1;
}
.paradise-quick-detail:not([open]) .paradise-inline-subpanel{
    display:none !important;
}

/* 1.4.7 — quick action buttons stay side-by-side, opened content stays full-width */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.paradise-quick-detail{
    width:100%;
    min-width:0;
}
.paradise-quick-detail .paradise-inline-subpanel{
    width:calc(200% + 8px);
    box-sizing:border-box;
}
.paradise-quick-detail:nth-child(2) .paradise-inline-subpanel{
    margin-left:calc(-100% - 8px);
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .paradise-quick-detail .paradise-inline-subpanel{
        width:calc(200% + 8px);
    }
}

/* 1.4.8 — all quick-action groups: buttons side-by-side, content full-width */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.paradise-quick-detail{
    width:100%;
    min-width:0;
}
.paradise-quick-detail .paradise-inline-subpanel{
    width:calc(200% + 8px);
    box-sizing:border-box;
    margin-top:8px;
}
.paradise-quick-detail:nth-child(2n) .paradise-inline-subpanel{
    margin-left:calc(-100% - 8px);
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .paradise-quick-detail .paradise-inline-subpanel{
        width:calc(200% + 8px);
    }
}

/* 1.4.9 — one quick action open at a time */
.paradise-panel-quick-links{
    align-items:start;
}
.paradise-quick-detail .paradise-inline-subpanel{
    grid-column:1 / -1;
}

/* 1.4.10 — exclusive PP quick selector, no JS/details ambiguity */
.paradise-exclusive-quick{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.paradise-quick-radio{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.paradise-quick-label{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 10px;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    box-sizing:border-box;
}
.paradise-quick-radio:checked + .paradise-quick-label{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-quick-content{
    grid-column:1 / -1;
    display:none;
    width:100%;
    box-sizing:border-box;
    margin-top:2px;
    padding:15px;
    border:1px solid #e8ebee;
    border-radius:14px;
    background:#fafbfc;
}
#paradise-pp-catalog-toggle:checked ~ .paradise-pp-catalog-content{
    display:block;
}
#paradise-pp-history-toggle:checked ~ .paradise-pp-history-content{
    display:block;
}

/* 1.4.11 — exclusive selectors for every quick-action group */
.paradise-exclusive-quick .paradise-quick-content{
    display:none;
}
.paradise-exclusive-quick .paradise-quick-radio:nth-of-type(1):checked ~ .paradise-quick-content:nth-of-type(1),
.paradise-exclusive-quick .paradise-quick-radio:nth-of-type(2):checked ~ .paradise-quick-content:nth-of-type(2),
.paradise-exclusive-quick .paradise-quick-radio:nth-of-type(3):checked ~ .paradise-quick-content:nth-of-type(3){
    display:block;
}

/* 1.4.13 — rewards in the inline catalog are actionable */
.paradise-mini-catalog .paradise-catalog-inline-buy{
    width:100%;
    text-align:left;
    font:inherit;
    cursor:pointer;
    border:1px solid #e8ebee;
    border-radius:10px;
    background:#fff;
    color:#20242a;
}
.paradise-mini-catalog .paradise-catalog-inline-buy:hover:not(:disabled){
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-mini-catalog .paradise-catalog-inline-buy:disabled{
    cursor:not-allowed;
    opacity:.55;
}
.paradise-mini-catalog .paradise-catalog-inline-buy > span:first-child{
    display:flex;
    flex-direction:column;
    gap:2px;
}

/* 1.4.18 — reward redemption confirmation */

.paradise-reward-info-button{border:0;background:none;color:var(--paradise-green-dark);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:0 3px;margin-left:3px}.paradise-reward-variant{width:100%;box-sizing:border-box;margin-top:4px;padding:7px 9px;border:1px solid #dfe5e2;border-radius:8px;background:#fff;color:#20242a;font:inherit;font-size:11px}.paradise-reward-modal-close{position:absolute;right:10px;top:7px;border:0;background:none;color:#6b7280;font-size:25px;line-height:1;cursor:pointer}.paradise-reward-modal-description{text-align:left;color:#4b5563;font-size:14px;line-height:1.6;white-space:pre-line;max-height:60vh;overflow:auto}
.paradise-reward-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    visibility:hidden;
    opacity:0;
    transition:opacity .18s ease, visibility .18s ease;
}
.paradise-reward-modal.is-visible{
    visibility:visible;
    opacity:1;
}
.paradise-reward-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,20,25,.58);
    backdrop-filter:blur(3px);
}
.paradise-reward-modal-dialog{
    position:relative;
    width:min(390px,100%);
    box-sizing:border-box;
    padding:25px 22px 20px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 60px rgba(0,0,0,.22);
    text-align:center;
    transform:translateY(10px) scale(.98);
    transition:transform .18s ease;
}
.paradise-reward-modal.is-visible .paradise-reward-modal-dialog{
    transform:translateY(0) scale(1);
}
.paradise-reward-modal-icon{
    width:58px;
    height:58px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f3f8f5;
    overflow:hidden;
}
.paradise-reward-modal-logo{
    display:block;
    width:48px;
    height:48px;
    object-fit:contain;
}
.paradise-reward-modal-logo-fallback{
    font-size:25px;
    font-weight:900;
    color:var(--paradise-green-dark);
}
.paradise-reward-modal-dialog h3{
    margin:0 0 8px;
    font-size:19px;
    line-height:1.3;
}
.paradise-reward-modal-variant{
    margin:0 0 15px;
    color:#687078;
    font-size:13px;
    line-height:1.45;
}
.paradise-reward-modal-variant span{
    font-weight:800;
    color:#343a40;
}
.paradise-reward-modal-reward{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 18px;
    padding:13px 14px;
    border:1px solid #e7eaec;
    border-radius:12px;
    background:#f8f9fa;
    text-align:left;
}
.paradise-reward-modal-reward strong{
    display:block;
    font-size:14px;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.paradise-reward-modal-cash{
    display:block;
    color:var(--paradise-green-dark);
    font-size:15px;
    font-weight:900;
    line-height:1.5;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.paradise-reward-modal-note{
    margin-top:9px;
    color:#687078;
    font-size:11px;
    line-height:1.45;
    text-align:center;
}
.paradise-reward-modal-note strong{
    color:var(--paradise-green-dark);
    font-weight:900;
}
.paradise-reward-modal-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}
.paradise-reward-modal-actions button{
    min-height:42px;
    border-radius:10px;
    padding:9px 12px;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.paradise-reward-modal-cancel{
    border:1px solid #dfe3e6;
    background:#fff;
    color:#343a40;
}
.paradise-reward-modal-confirm{
    border:1px solid var(--paradise-green-dark);
    background:var(--paradise-green-dark);
    color:#fff;
}
@media(max-width:500px){
    .paradise-reward-modal{
        padding:16px;
    }
    .paradise-reward-modal-dialog{
        padding:22px 17px 17px;
        border-radius:16px;
    }
}

/* 1.4.22 — compact membership status heading */
.paradise-membership-status-heading{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #e8ebee;
    border-radius:12px;
    background:#fff;
    color:#343a40;
    font-size:13px;
    line-height:1.35;
}
.paradise-membership-status-heading strong{
    font-weight:800;
}
.paradise-status-dot{
    flex:0 0 9px;
    width:9px;
    height:9px;
    border-radius:50%;
}
.paradise-status-dot.is-paid{
    background:#35a66f;
    box-shadow:0 0 0 3px rgba(53,166,111,.12);
}
.paradise-status-dot.is-unpaid{
    background:#d85c5c;
    box-shadow:0 0 0 3px rgba(216,92,92,.12);
}

/* 1.4.23 — membership renewal selector */
.paradise-membership-renewal{
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #e8ebee;
    border-radius:12px;
    background:#f8faf9;
}
.paradise-membership-renewal-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
}
.paradise-membership-renewal-row > div{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.paradise-membership-renewal-row strong{
    font-size:13px;
}
.paradise-membership-renewal-row small{
    color:#6b7280;
    font-size:11px;
}
.paradise-membership-renewal-row select{
    min-height:38px;
    padding:7px 10px;
    border:1px solid #dfe4e7;
    border-radius:9px;
    background:#fff;
    font:inherit;
    font-size:12px;
}
.paradise-membership-renewal-row button{
    min-height:38px;
    padding:8px 14px;
    border:1px solid var(--paradise-green-dark);
    border-radius:9px;
    background:var(--paradise-green-dark);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
@media(max-width:600px){
    .paradise-membership-renewal-row{
        grid-template-columns:1fr;
    }
    .paradise-membership-renewal-row select,
    .paradise-membership-renewal-row button{
        width:100%;
    }
}

/* 1.4.25 — pending membership payment content */
.paradise-pending-payment-card{display:flex;align-items:center;justify-content:space-between;gap:14px}
.paradise-pending-payment-main{display:flex;flex-direction:column;gap:3px}
.paradise-pending-payment-main strong{font-size:16px}
.paradise-pending-payment-main span{font-size:11px;color:#6b7280}
.paradise-pending-payment-card .button{flex-shrink:0}
@media(max-width:500px){.paradise-pending-payment-card{flex-direction:column;align-items:stretch}.paradise-pending-payment-card .button{width:100%;text-align:center}}

/* 1.4.27 — membership and payment-order modals */
.paradise-membership-modal,.paradise-document-modal{
    position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;
    padding:16px;visibility:hidden;opacity:0;transition:opacity .18s ease,visibility .18s ease;
}
.paradise-membership-modal.is-visible,.paradise-document-modal.is-visible{visibility:visible;opacity:1}
.paradise-membership-modal-backdrop,.paradise-document-modal-backdrop{
    position:absolute;inset:0;background:rgba(15,22,18,.60);backdrop-filter:blur(4px);
}
.paradise-membership-modal-dialog{
    position:relative;width:min(420px,100%);padding:25px 22px 20px;background:#fff;border-radius:18px;
    box-shadow:0 20px 70px rgba(20,50,38,.25);text-align:center;transform:translateY(10px) scale(.98);
    transition:transform .18s ease;
}
.paradise-membership-modal.is-visible .paradise-membership-modal-dialog{transform:translateY(0) scale(1)}
.paradise-membership-modal-icon{
    width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:#e8f5ee;color:#236b4e;font-size:25px;font-weight:900;
}
.paradise-membership-modal-dialog h3{margin:0 0 5px;font-size:19px}
.paradise-membership-modal-lead{margin:0 0 12px;color:#6b756f;font-size:12px}
.paradise-membership-modal-summary{
    display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #e3ebe6;border-radius:12px;
    background:#f7f9f8;margin-bottom:17px;
}
.paradise-membership-modal-summary strong{font-size:22px;color:#174f3b}
.paradise-membership-modal-summary span{font-size:12px;color:#66706b}
.paradise-membership-modal-actions{display:grid;gap:9px}
.paradise-membership-modal-actions button,.paradise-membership-payme{
    min-height:43px;border-radius:10px;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;
    cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;
}
.paradise-membership-doc,.paradise-membership-payme{background:#174f3b;border:1px solid #174f3b;color:#fff}
.paradise-membership-modal-secondary{background:#fff;border:1px solid #dfe5e1;color:#29302d}
.paradise-membership-modal-close{
    position:absolute;right:12px;top:10px;width:32px;height:32px;border:0;background:transparent;
    color:#6b756f;font-size:24px;cursor:pointer;
}
.paradise-document-modal{padding:10px}
.paradise-document-modal-dialog{
    position:relative;width:min(1050px,100%);height:min(94vh,900px);background:#fff;border-radius:16px;
    overflow:hidden;box-shadow:0 20px 80px rgba(20,50,38,.3);display:flex;flex-direction:column;
}
.paradise-document-modal-toolbar{
    flex:0 0 auto;min-height:54px;padding:8px 12px 8px 18px;display:flex;align-items:center;
    justify-content:space-between;gap:10px;background:#174f3b;color:#fff;
}
.paradise-document-modal-toolbar > div{display:flex;align-items:center;gap:6px}
.paradise-document-modal-toolbar button,.paradise-document-open{
    border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;
    border-radius:8px;padding:7px 10px;font:inherit;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer;
}
.paradise-document-modal-toolbar button:last-child{font-size:20px;padding:3px 9px}
.paradise-document-frame{width:100%;height:100%;border:0;background:#f4f6f5}
@media(max-width:600px){
    .paradise-membership-modal{padding:12px}
    .paradise-document-modal{padding:0}
    .paradise-document-modal-dialog{height:100vh;border-radius:0}
    .paradise-document-modal-toolbar{padding-left:12px}
    .paradise-document-modal-toolbar > div{gap:4px}
    .paradise-document-open{display:none}
    .paradise-document-modal-toolbar button{padding:7px 8px}
}

/* 1.4.31 — payment order modal mobile layout */
.paradise-document-modal{
    padding:10px;
}
.paradise-document-modal-dialog{
    width:min(1050px,100%);
    height:min(94dvh,900px);
    min-height:0;
}
.paradise-document-modal-toolbar{
    flex:0 0 auto;
    min-height:58px;
    padding:8px 10px 8px 16px;
}
.paradise-document-toolbar-actions{
    display:flex;
    align-items:center;
    gap:6px;
}
.paradise-document-modal-toolbar .paradise-document-close{
    width:38px;
    height:38px;
    min-width:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    line-height:1;
    padding:0;
    border-radius:9px;
    background:rgba(255,255,255,.16);
    color:#fff;
    border:1px solid rgba(255,255,255,.3);
}
.paradise-document-frame{
    flex:1 1 auto;
    min-height:0;
}
@media(max-width:600px){
    .paradise-document-modal{
        padding:0;
        align-items:stretch;
    }
    .paradise-document-modal-dialog{
        width:100%;
        height:100dvh;
        max-height:100dvh;
        border-radius:0;
    }
    .paradise-document-modal-toolbar{
        min-height:60px;
        padding:8px 8px 8px 12px;
        gap:6px;
    }
    .paradise-document-modal-toolbar > strong{
        min-width:0;
        font-size:13px;
        white-space:nowrap;
    }
    .paradise-document-toolbar-actions{
        margin-left:auto;
        gap:4px;
    }
    .paradise-document-modal-toolbar button,
    .paradise-document-open{
        min-height:40px;
        padding:6px 8px;
        font-size:10px;
    }
    .paradise-document-modal-toolbar .paradise-document-close{
        width:40px;
        min-width:40px;
        height:40px;
        font-size:26px;
        padding:0;
    }
}

/* 1.4.33 — pending membership payment vertical layout */
.paradise-pending-payment-card{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:10px;
}
.paradise-pending-payment-main{
    width:100%;
}
.paradise-pending-payment-card .button{
    width:100%;
    box-sizing:border-box;
    text-align:center;
}

/* 1.4.34 — document link in membership payment history */
.paradise-payment-history-status{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
    text-align:right;
}
.paradise-payment-history-document{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 9px;
    border:1px solid #dfe5e1;
    border-radius:8px;
    background:#fff;
    color:#174f3b;
    font-size:11px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
}
.paradise-payment-history-document:hover{
    background:#f3f8f5;
    border-color:#c9d9d0;
}
@media(max-width:600px){
    .paradise-payment-history-status{
        align-items:flex-start;
        text-align:left;
    }
}

.paradise-payment-history-period {
    display: block;
    margin-top: 2px;
    font-weight: 600;
}

/* 1.4.51 — player photo + integrated Paradise club mark */
.paradise-dashboard-header{
    position:relative;
    overflow:hidden;
}
.paradise-dashboard-profile{
    position:relative;
    min-height:118px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px 28px;
    overflow:hidden;
    isolation:isolate;
}
.paradise-dashboard-profile::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 30%),
        radial-gradient(circle at 95% 90%, rgba(255,255,255,.06), transparent 35%);
    pointer-events:none;
}
.paradise-dashboard-player-photo{
    width:78px;
    height:78px;
    flex:0 0 78px;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    border:4px solid rgba(255,255,255,.92);
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    position:relative;
    z-index:2;
}
.paradise-dashboard-player-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.paradise-dashboard-greeting{
    position:relative;
    z-index:2;
    min-width:0;
}
.paradise-dashboard-greeting h2{
    margin:0;
    color:#fff;
    font-size:clamp(24px,3vw,34px);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.02em;
}
.paradise-dashboard-current-team{
    margin-top:7px;
    color:rgba(255,255,255,.82);
    font-size:14px;
    font-weight:600;
}
.paradise-dashboard-club-mark{
    position:absolute;
    right:-10px;
    top:-28px;
    width:190px;
    height:190px;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:.94;
    pointer-events:none;
}
.paradise-dashboard-club-mark::before{
    content:"";
    position:absolute;
    width:164px;
    height:164px;
    border-radius:50%;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12);
}
.paradise-dashboard-club-mark img{
    position:relative;
    width:175px;
    height:175px;
    object-fit:contain;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
}
@media(max-width:600px){
    .paradise-dashboard-profile{
        min-height:96px;
        gap:12px;
        padding:17px 18px;
        padding-right:110px;
    }
    .paradise-dashboard-player-photo{
        width:60px;
        height:60px;
        flex-basis:60px;
        border-width:3px;
    }
    .paradise-dashboard-greeting h2{
        font-size:22px;
    }
    .paradise-dashboard-current-team{
        margin-top:5px;
        font-size:12px;
    }
    .paradise-dashboard-club-mark{
        right:-22px;
        top:-30px;
        width:140px;
        height:140px;
    }
    .paradise-dashboard-club-mark::before{
        width:120px;
        height:120px;
    }
    .paradise-dashboard-club-mark img{
        width:130px;
        height:130px;
    }
}

/* =========================================================
   1.4.52 — Paradise Club System visual shell
   Desktop: premium club dashboard with sidebar.
   Mobile: native-app style bottom navigation.
========================================================= */
.paradise-dashboard{
    --pc-green:#0d6b43;
    --pc-green-2:#12905a;
    --pc-green-soft:#eaf7f0;
    --pc-ink:#142019;
    --pc-muted:#78827d;
    --pc-bg:#f5f7f6;
    --pc-line:#e6ebe8;
    max-width:1440px;
    min-height:calc(100vh - 40px);
    margin:20px auto;
    padding:0;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:0;
    overflow:hidden;
    background:var(--pc-bg);
    color:var(--pc-ink);
    border:1px solid #e3e9e5;
    border-radius:28px;
    box-shadow:0 22px 70px rgba(24,42,33,.10);
}

/* Sidebar */
.paradise-dashboard-sidebar{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:28px 18px 20px;
    background:#fff;
    border-right:1px solid var(--pc-line);
}
.paradise-sidebar-brand{
    display:flex;
    align-items:center;
    gap:11px;
    padding:2px 9px 28px;
}
.paradise-sidebar-logo{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:13px;
    background:var(--pc-green-soft);
}
.paradise-sidebar-logo img{
    width:38px;
    height:38px;
    object-fit:contain;
}
.paradise-sidebar-brand strong,
.paradise-sidebar-brand span{
    display:block;
}
.paradise-sidebar-brand strong{
    color:#142019;
    font-size:14px;
    line-height:1.15;
    font-weight:800;
}
.paradise-sidebar-brand span{
    margin-top:3px;
    color:#9aa39e;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.paradise-sidebar-nav{
    display:grid;
    gap:5px;
}
.paradise-sidebar-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:47px;
    padding:0 13px;
    border-radius:13px;
    color:#66716b;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.18s ease;
}
.paradise-sidebar-nav a:hover{
    color:var(--pc-green);
    background:#f4f8f5;
}
.paradise-sidebar-nav a.is-active{
    color:#fff;
    background:linear-gradient(135deg,var(--pc-green),#0a5b39);
    box-shadow:0 8px 20px rgba(13,107,67,.20);
}
.paradise-sidebar-nav a.paradise-sidebar-nav-subitem{
    min-height:40px;
    padding-left:28px;
    font-size:12px;
}
.paradise-sidebar-nav a.paradise-sidebar-nav-subitem .paradise-nav-icon{
    font-size:15px;
}
.paradise-nav-icon{
    width:22px;
    text-align:center;
    font-size:17px;
    line-height:1;
}
.paradise-sidebar-user{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:auto;
    padding:15px 8px 4px;
    border-top:1px solid var(--pc-line);
}
.paradise-sidebar-avatar{
    width:38px;
    height:38px;
    flex:0 0 38px;
    overflow:hidden;
    border-radius:50%;
    background:#eef2ef;
}
.paradise-sidebar-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.paradise-sidebar-user strong,
.paradise-sidebar-user span{
    display:block;
}
.paradise-sidebar-user strong{
    color:#26322b;
    font-size:12px;
    font-weight:800;
}
.paradise-sidebar-user span{
    margin-top:2px;
    color:#929b96;
    font-size:10px;
}
.paradise-sidebar-logout{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    padding:10px 8px;
    border-radius:10px;
    color:#68736d;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    box-sizing:border-box;
    transition:background .15s ease,color .15s ease;
}
.paradise-sidebar-logout:hover{
    background:#f0f5f2;
    color:#087546;
}

/* Main */
.paradise-dashboard-main{
    min-width:0;
    padding:28px 30px 34px;
    background:var(--pc-bg);
}
.paradise-dashboard-header{
    min-height:178px;
    margin:0 0 22px;
    padding:0;
    border-radius:24px;
    display:block;
    overflow:hidden;
    background:
        radial-gradient(circle at 86% 18%,rgba(93,222,158,.24),transparent 28%),
        linear-gradient(135deg,#0a5f3b 0%,#0c7b4a 58%,#08472e 100%);
    box-shadow:0 14px 35px rgba(13,107,67,.20);
}
.paradise-dashboard-header:after{
    right:-52px;
    bottom:-110px;
    width:300px;
    height:300px;
    border:34px solid rgba(255,255,255,.07);
}
.paradise-dashboard-profile{
    min-height:178px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    gap:18px;
    padding:30px 34px;
}
.paradise-dashboard-player-photo{
    width:84px;
    height:84px;
    flex:0 0 84px;
    border:4px solid rgba(255,255,255,.92);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.paradise-dashboard-greeting h2{
    font-size:34px;
    color:#fff;
}
.paradise-dashboard-current-team{
    margin-top:9px;
    color:rgba(255,255,255,.78);
    font-size:14px;
    font-weight:600;
}
.paradise-dashboard-club-mark{
    right:4px;
    top:-55px;
    width:245px;
    height:245px;
    opacity:.95;
}
.paradise-dashboard-club-mark:before{
    width:210px;
    height:210px;
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.10);
}
.paradise-dashboard-club-mark img{
    width:225px;
    height:225px;
}

/* KPI cards — clean white cards like the mockup */
.paradise-dashboard-cards{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:22px;
}
.paradise-dashboard-card{
    position:relative;
    min-height:126px;
    padding:19px 20px;
    border:1px solid var(--pc-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 22px rgba(29,48,38,.045);
}
.paradise-dashboard-card:hover{
    transform:translateY(-2px);
    border-color:#d6e1da;
    box-shadow:0 12px 28px rgba(29,48,38,.09);
}
.paradise-dashboard-card>span{
    color:var(--pc-green);
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:.04em;
}
.paradise-dashboard-card>strong{
    color:#17221c;
    font-size:26px;
}
.paradise-dashboard-card>small{
    color:#7c8781;
    font-size:11px;
}
.paradise-dashboard-points{
    color:#fff;
    border:0;
    background:linear-gradient(145deg,#103e2c,#0c6d44);
}
.paradise-dashboard-points>span,
.paradise-dashboard-points>small{color:rgba(255,255,255,.68);}
.paradise-dashboard-points>strong{color:#fff;}

.paradise-dashboard-panel{
    padding:24px;
}
.paradise-dashboard-panel-heading h3{
    color:#17221c;
    font-size:20px;
}
.paradise-panel-quick{
    border-color:var(--pc-line);
}
.paradise-quick-label{
    border-radius:11px !important;
}
.paradise-quick-radio:checked+.paradise-quick-label{
    color:#fff !important;
    background:var(--pc-green) !important;
}

}

/* Mobile bottom nav */
.paradise-mobile-nav{
    display:none;
}
@media(max-width:900px){
    .paradise-dashboard{
        display:block;
        min-height:0;
        margin:0;
        max-width:none;
        border:0;
        border-radius:0;
        box-shadow:none;
        background:var(--pc-bg);
    }
    .paradise-dashboard-sidebar{display:none;}
    .paradise-dashboard-main{
        padding:16px 14px 92px;
    }
    .paradise-dashboard-header{
        min-height:154px;
        margin-bottom:16px;
        border-radius:22px;
    }
    .paradise-dashboard-profile{
        min-height:154px;
        padding:20px 18px;
        padding-right:102px;
        gap:12px;
    }
    .paradise-dashboard-player-photo{
        width:62px;
        height:62px;
        flex-basis:62px;
        border-width:3px;
    }
    .paradise-dashboard-greeting h2{
        font-size:23px;
    }
    .paradise-dashboard-current-team{
        margin-top:6px;
        font-size:12px;
    }
    .paradise-dashboard-club-mark{
        right:-30px;
        top:-25px;
        width:155px;
        height:155px;
    }
    .paradise-dashboard-club-mark:before{
        width:132px;
        height:132px;
    }
    .paradise-dashboard-club-mark img{
        width:145px;
        height:145px;
    }
    .paradise-dashboard-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-bottom:16px;
    }
    .paradise-dashboard-card{
        min-height:112px;
        padding:16px;
        border-radius:17px;
    }
    .paradise-dashboard-card>strong{
        font-size:22px;
    }
    .paradise-dashboard-card>small{
        font-size:10px;
    }
    .paradise-mobile-nav{
        position:fixed;
        z-index:9999;
        left:10px;
        right:10px;
        bottom:10px;
        height:66px;
        display:grid !important;
        grid-template-columns:repeat(5,1fr);
        gap:2px;
        padding:6px;
        border:1px solid rgba(255,255,255,.72);
        border-radius:21px;
        background:rgba(255,255,255,.94);
        box-shadow:0 12px 40px rgba(19,39,29,.18);
        backdrop-filter:blur(16px);
    }
    .paradise-mobile-nav a{
        min-height:54px;
        border-radius:15px;
        color:#6d7771;
        font-size:9px;
        font-weight:800;
        text-decoration:none;
    }
    .paradise-mobile-nav a span{
        display:block;
        margin-bottom:3px;
        font-size:19px;
        line-height:20px;
    }
    .paradise-mobile-nav a.active,
    .paradise-mobile-nav a.is-active{
        color:var(--pc-green);
        background:var(--pc-green-soft);
    }
}
@media(max-width:500px){
    .paradise-dashboard-main{
        padding-left:10px;
        padding-right:10px;
    }
    .paradise-dashboard-cards{
        grid-template-columns:1fr;
    }
    .paradise-dashboard-card{
        min-height:100px;
    }
}

/* 1.4.53 — keep the Paradise crest strictly inside the green hero */
.paradise-dashboard-header{
    position:relative !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile{
    position:relative;
    z-index:2;
    overflow:hidden;
}
.paradise-dashboard-club-mark{
    position:absolute !important;
    z-index:1 !important;
    pointer-events:none;
}
.paradise-dashboard-club-mark img{
    display:block;
    max-width:100%;
    max-height:100%;
}
@media(max-width:900px){
    .paradise-dashboard-header{
        overflow:hidden !important;
    }
    .paradise-dashboard-club-mark{
        position:absolute !important;
    }
}

/* 1.4.54 — club crest belongs to the hero, not the player profile block */
.paradise-dashboard-header{
    position:relative !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile{
    position:static !important;
    overflow:visible !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark{
    position:absolute !important;
    right:4px !important;
    top:-55px !important;
    z-index:1 !important;
}
.paradise-dashboard-profile .paradise-dashboard-greeting,
.paradise-dashboard-profile .paradise-dashboard-player-photo{
    position:relative;
    z-index:3;
}
@media(max-width:900px){
    .paradise-dashboard-profile .paradise-dashboard-club-mark{
        right:-30px !important;
        top:-25px !important;
    }
}

/* 1.4.55 — Paradise crest as a small badge on the player's photo */
.paradise-dashboard-header{
    position:relative !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile{
    position:relative !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark{
    position:absolute !important;
    left:92px !important;
    right:auto !important;
    top:calc(50% + 18px) !important;
    width:38px !important;
    height:38px !important;
    z-index:5 !important;
    opacity:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:#fff !important;
    border:3px solid #fff !important;
    box-shadow:0 5px 14px rgba(0,0,0,.22) !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark::before{
    display:none !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    filter:none !important;
}
@media(max-width:900px){
    .paradise-dashboard-profile .paradise-dashboard-club-mark{
        left:62px !important;
        top:calc(50% + 13px) !important;
        width:31px !important;
        height:31px !important;
        border-width:2px !important;
    }
}

/* 1.4.56 — Home overview + dedicated Matches view */
.paradise-home-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:0 0 22px;
}
.paradise-home-card{
    min-height:118px;
    padding:19px 20px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--pc-line,#e6ebe8);
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 22px rgba(29,48,38,.045);
}
.paradise-home-card>span{
    color:var(--pc-green,#0d6b43);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.paradise-home-card>strong{
    margin-top:10px;
    color:#17221c;
    font-size:22px;
    line-height:1.15;
}
.paradise-home-card>small{
    margin-top:5px;
    color:#7c8781;
    font-size:11px;
}
.paradise-home-card-points{
    color:#fff;
    border:0;
    background:linear-gradient(145deg,#103e2c,#0c6d44);
}
.paradise-home-card-points>span,
.paradise-home-card-points>small{color:rgba(255,255,255,.72);}
.paradise-home-card-points>strong{color:#fff;font-size:28px;}

.paradise-home-articles{
    margin:0 0 22px;
    padding:22px;
    border:1px solid var(--pc-line,#e6ebe8);
    border-radius:20px;
    background:#fff;
    box-shadow:0 7px 25px rgba(29,48,38,.045);
}
.paradise-home-section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:16px;
}
.paradise-home-section-heading h3{
    margin:0;
    color:#17221c;
    font-size:19px;
}
.paradise-home-section-heading a{
    color:var(--pc-green,#0d6b43);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}
.paradise-home-article-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.paradise-home-article{
    display:block;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    border:1px solid #edf0ee;
    border-radius:15px;
    background:#fafcfb;
    transition:.18s ease;
}
.paradise-home-article:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 22px rgba(29,48,38,.08);
}
.paradise-home-article-image{
    height:130px;
    overflow:hidden;
    background:#eef2ef;
}
.paradise-home-article-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.paradise-home-article-body{
    padding:12px 14px 14px;
}
.paradise-home-article-body small{
    display:block;
    margin-bottom:5px;
    color:#8a948e;
    font-size:10px;
}
.paradise-home-article-body strong{
    display:block;
    color:#26322b;
    font-size:13px;
    line-height:1.35;
}

/* The home overview is the default view. */
.paradise-dashboard.paradise-panel-view-active .paradise-home-overview,
.paradise-dashboard.paradise-panel-view-active .paradise-home-articles,

@media(max-width:900px){
    .paradise-home-overview{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .paradise-home-card{
        min-height:105px;
        padding:16px;
        border-radius:17px;
    }
    .paradise-home-card>strong{
        font-size:19px;
    }
    .paradise-home-card-points>strong{
        font-size:23px;
    }
    .paradise-home-articles{
        padding:16px;
        border-radius:18px;
    }
    .paradise-home-article-grid{
        grid-template-columns:1fr;
    }
    .paradise-home-article-image{
        height:150px;
    }
}
@media(max-width:500px){
    .paradise-home-overview{
        grid-template-columns:1fr 1fr;
    }
    .paradise-home-card{
        min-height:102px;
        padding:14px;
    }
    .paradise-home-card>strong{
        font-size:18px;
    }
}

/* 1.4.59 — complete next-match card */
.paradise-home-card-match{
    justify-content:flex-start;
}
.paradise-home-match-opponent{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    margin-top:9px;
}
.paradise-home-match-opponent img,
.paradise-home-match-placeholder{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    object-fit:contain;
    border-radius:50%;
    background:#f1f5f2;
    color:#6c7972;
    font-size:18px;
}
.paradise-home-match-opponent strong{
    margin-top:0 !important;
    font-size:17px !important;
}
.paradise-home-card-match small{
    display:block;
    margin-top:5px;
    color:#7c8781;
}
@media(max-width:900px){
    .paradise-home-match-opponent img,
    .paradise-home-match-placeholder{
        width:38px;
        height:38px;
    }
}

}
.paradise-home-match-logo{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 7px;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(13,107,67,.10);
    overflow:hidden;
}
.paradise-home-match-logo img{
    width:48px;
    height:48px;
    display:block;
    object-fit:contain;
    background:transparent;
}
.paradise-home-match-logo span{
    color:#748078;
    font-size:23px;
}
.paradise-home-match-name{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#334039 !important;
    font-size:13px !important;
    line-height:1.2;
    font-weight:700 !important;
}
.paradise-home-match-meta{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    margin-top:6px;
}
.paradise-home-match-meta span{
    color:#7c8781;
    font-size:10px;
    line-height:1.25;
}
.paradise-home-match-empty{
    margin-top:15px;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.paradise-home-match-empty strong{
    margin:0 !important;
}
.paradise-home-match-empty small{
    margin-top:5px;
}

    width:100%;
    margin-top:7px;
    overflow:hidden;
}
.paradise-home-matches-track{
    display:flex;
    width:100%;
    transition:transform .28s ease;
}
.paradise-home-match-slide{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:inherit;
    text-decoration:none;
    text-align:center;
}
.paradise-home-match-slide .paradise-home-match-logo{
    width:58px;
    height:58px;
    margin:0 auto 7px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(13,107,67,.10);
    overflow:hidden;
}
.paradise-home-match-slide .paradise-home-match-logo img{
    width:48px;
    height:48px;
    object-fit:contain;
    display:block;
    background:transparent;
}
.paradise-home-match-slide .paradise-home-match-logo span{
    font-size:23px;
    color:#748078;
}
.paradise-home-match-slide .paradise-home-match-name{
    max-width:90%;
    font-size:13px !important;
    font-weight:700 !important;
}
.paradise-home-match-slide .paradise-home-match-meta{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    margin-top:6px;
}
.paradise-home-match-slide .paradise-home-match-meta span{
    color:#7c8781;
    font-size:10px;
    line-height:1.25;
}
.paradise-home-match-dots{
    display:flex;
    justify-content:center;
    gap:5px;
    margin-top:9px;
}
.paradise-home-match-dots i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#d7dfda;
}
.paradise-home-match-dots i.active{
    width:14px;
    border-radius:8px;
    background:var(--pc-green,#0d6b43);
}
    }
    .paradise-home-matches-carousel{
        touch-action:pan-y;
    }
}

/* 1.4.64 — stabilize Home match carousel rendering on mobile */
.paradise-home-card-match{
    min-width:0 !important;
    overflow:hidden !important;
}
.paradise-home-matches-carousel{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    position:relative !important;
}
.paradise-home-matches-track{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:translate3d(0,0,0);
    will-change:transform;
}
.paradise-home-match-slide{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    min-height:108px;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:center !important;
    padding:4px 8px 2px !important;
}
.paradise-home-match-slide .paradise-home-match-logo{
    flex:0 0 58px !important;
}
@media(max-width:900px){
    .paradise-home-matches-carousel{
        min-height:125px !important;
        touch-action:pan-y !important;
    }
    .paradise-home-matches-track{
        min-height:125px !important;
    }
    .paradise-home-match-slide{
        min-height:125px !important;
    }
}

}

/* 1.4.74 — article category label */
.paradise-home-article-category{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-bottom:6px;
    padding:3px 8px;
    border-radius:999px;
    background:#edf7f1;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:9px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.paradise-home-article-body small{
    margin-top:0;
}

/* 1.4.75 — article category aligned to the right */
.paradise-home-article-body{
    position:relative;
}
.paradise-home-article-body .paradise-home-article-category{
    float:right;
    margin:0 0 5px 8px;
}
.paradise-home-article-body small{
    display:block;
    clear:both;
}
@media(max-width:500px){
    .paradise-home-article-body .paradise-home-article-category{
        float:right;
        margin-left:6px;
    }
}

/* 1.4.76 — article meta row: date left, category right */
.paradise-home-article-body{
    position:relative;
}
.paradise-home-article-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    margin:0 0 5px;
}
.paradise-home-article-meta small{
    display:block;
    margin:0 !important;
    color:#8a948e;
    font-size:10px;
    line-height:1.2;
}
.paradise-home-article-meta .paradise-home-article-category{
    float:none !important;
    flex:0 1 auto;
    margin:0 !important;
}
.paradise-home-article-body > strong{
    display:block;
}

/* 1.4.77 — Home shows overview only; PP panel opens only from PP navigation.
   Rewards area is visually flat, without an extra nested window. */
.paradise-dashboard:not(.paradise-panel-view-active) .paradise-dashboard-panels{
    display:none !important;
}
.paradise-dashboard.paradise-panel-view-active .paradise-dashboard-panels{
    display:block;
}
.paradise-dashboard-panel[data-panel-content="points"]{
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:0 !important;
}
.paradise-dashboard-panel[data-panel-content="points"] .paradise-dashboard-panel-heading{
    display:none !important;
}
.paradise-dashboard-panel[data-panel-content="points"] .paradise-panel-balance{
    margin:0 0 14px;
}
.paradise-dashboard-panel[data-panel-content="points"] .paradise-panel-quick{
    margin:0;
}

/* 1.4.78 — stronger Paradise Points balance + clickable match history */
.paradise-points-balance{
    display:flex;
    align-items:center;
    gap:13px;
    width:100%;
    box-sizing:border-box;
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid rgba(13,107,67,.10);
    border-radius:16px;
    background:linear-gradient(135deg,#f5faf7 0%,#ffffff 100%);
}
.paradise-points-balance-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:18px;
}
.paradise-points-balance-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
}
.paradise-points-balance-main span{
    color:#7d8882;
    font-size:10px;
    line-height:1.2;
}
.paradise-points-balance-main strong{
    color:var(--paradise-green-dark,#0d6b43);
    font-size:28px;
    line-height:1.05;
    font-weight:850;
    letter-spacing:-.02em;
}
.paradise-points-balance-unit{
    margin-left:auto;
    padding:5px 9px;
    border-radius:999px;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:11px;
    font-weight:850;
}
.paradise-point-match-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:inherit;
    text-decoration:none;
}
.paradise-point-match-link strong{
    text-decoration:underline;
    text-decoration-color:rgba(13,107,67,.25);
    text-underline-offset:2px;
}
.paradise-point-match-link:hover strong{
    color:var(--paradise-green-dark,#0d6b43);
}
.paradise-point-match-arrow{
    color:var(--paradise-green-dark,#0d6b43);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}
@media(max-width:900px){
    .paradise-points-balance{
        padding:12px 13px;
        border-radius:14px;
    }
    .paradise-points-balance-icon{
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:16px;
    }
    .paradise-points-balance-main strong{
        font-size:25px;
    }
}

/* 1.4.79 — PP history links stay visually identical to normal text */
.paradise-point-match-link,
.paradise-point-match-link:hover,
.paradise-point-match-link:focus,
.paradise-point-match-link:active{
    display:inline;
    color:inherit !important;
    text-decoration:none !important;
    background:none !important;
    border:0 !important;
    padding:0 !important;
    box-shadow:none !important;
}
.paradise-point-match-link strong{
    color:inherit !important;
    text-decoration:none !important;
}
.paradise-point-match-arrow{
    display:none !important;
}

/* 1.4.80 — PP match history links: identical typography, reliable click target */
.paradise-point-match-link{
    display:inline !important;
    position:relative;
    z-index:2;
    pointer-events:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:inherit !important;
    font:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
    letter-spacing:inherit !important;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    cursor:pointer;
}
.paradise-point-match-link:hover,
.paradise-point-match-link:focus,
.paradise-point-match-link:active{
    color:inherit !important;
    text-decoration:none !important;
    background:transparent !important;
    outline:none;
}

/* 1.4.81 — PP history link typography matches ordinary log text */
.paradise-point-match-link,
.paradise-point-match-link strong{
    font-weight:400 !important;
}

/* 1.4.82 — membership status dot on Home */
.paradise-home-membership-status{
    display:flex;
    align-items:center;
    gap:7px;
}
.paradise-home-membership-status .paradise-status-dot{
    flex:0 0 9px;
    width:9px;
    height:9px;
}


/* 1.4.85 — PP earning guide */
.paradise-points-help{
    margin:-5px 0 16px;
    border:1px solid rgba(13,107,67,.10);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.paradise-points-help summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 13px;
    color:#0d6b43;
    font-size:11px;
    font-weight:700;
    user-select:none;
}
.paradise-points-help summary::-webkit-details-marker{
    display:none;
}
.paradise-points-help summary::after{
    content:'＋';
    margin-left:7px;
    font-size:14px;
    line-height:1;
}
.paradise-points-help[open] summary::after{
    content:'−';
}
.paradise-points-help-content{
    padding:0 13px 12px;
    border-top:1px solid rgba(13,107,67,.08);
}
.paradise-points-help-intro{
    margin:10px 0 8px;
    color:#66716b;
    font-size:10px;
    line-height:1.4;
}
.paradise-points-help-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 0;
    border-top:1px solid #f0f2f1;
}
.paradise-points-help-row span{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.paradise-points-help-row strong{
    color:#26322b;
    font-size:11px;
    line-height:1.2;
}
.paradise-points-help-row small{
    margin-top:2px;
    color:#8a948e;
    font-size:9px;
    line-height:1.2;
}
.paradise-points-help-row b{
    flex:0 0 auto;
    color:#0d6b43;
    font-size:11px;
    white-space:nowrap;
}
.paradise-points-help-note{
    margin:9px 0 0;
    color:#8a948e;
    font-size:9px;
    line-height:1.35;
}

/* 1.4.86 — PP badge + help modal */
.paradise-points-balance-icon{
    font-size:12px !important;
    font-weight:850 !important;
    letter-spacing:-.02em;
}
.paradise-points-help-trigger{
    margin-left:auto;
    flex:0 0 34px;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(13,107,67,.14);
    border-radius:50%;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:15px;
    font-weight:850;
    line-height:32px;
    text-align:center;
    cursor:pointer;
}
.paradise-points-help-trigger:hover,
.paradise-points-help-trigger:focus{
    background:#dcefe4;
    color:var(--paradise-green-dark,#0d6b43);
    outline:none;
}
.paradise-pp-help-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
}
.paradise-pp-help-modal.is-open{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.paradise-pp-help-backdrop{
    position:absolute;
    inset:0;
    background:rgba(20,29,24,.48);
    backdrop-filter:blur(2px);
}
.paradise-pp-help-dialog{
    position:relative;
    z-index:1;
    width:min(430px,100%);
    max-height:min(90vh,620px);
    overflow:auto;
    box-sizing:border-box;
    padding:24px 20px 20px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.20);
}
.paradise-pp-help-close{
    position:absolute;
    top:10px;
    right:10px;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#f1f4f2;
    color:#59635e;
    font-size:22px;
    line-height:30px;
    cursor:pointer;
}
.paradise-pp-help-dialog-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 10px;
    border-radius:50%;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:12px;
    font-weight:850;
}
.paradise-pp-help-dialog h3{
    margin:0 0 5px;
    text-align:center;
    color:#26322b;
    font-size:20px;
}
.paradise-pp-help-dialog .paradise-points-help-intro{
    margin:0 0 10px;
    text-align:center;
}
.paradise-pp-help-dialog .paradise-points-help-row{
    padding:10px 0;
}
@media(max-width:500px){
    .paradise-pp-help-modal.is-open{
        align-items:flex-end;
        padding:0;
    }
    .paradise-pp-help-dialog{
        width:100%;
        max-height:86vh;
        border-radius:20px 20px 0 0;
        padding:22px 16px 18px;
    }
}

/* 1.4.88 — Tasks: single active box, useful completed summary, task modal */
.paradise-tasks-quick .paradise-quick-content{
    padding:0;
    border:0;
    background:transparent;
}
.paradise-dashboard-task-clickable{
    width:100%;
    text-align:left;
    font:inherit;
    cursor:pointer;
    transition:.16s ease;
}
.paradise-dashboard-task-clickable:hover{
    border-color:rgba(13,107,67,.25);
    background:#f5faf7;
    transform:translateY(-1px);
}
.paradise-dashboard-task-main{
    min-width:0;
}
.paradise-dashboard-task-main strong{
    display:block;
}
.paradise-task-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:14px;
}
.paradise-task-summary > div{
    padding:12px 14px;
    border:1px solid var(--paradise-border);
    border-radius:12px;
    background:#fafbfc;
}
.paradise-task-summary small{
    display:block;
    color:var(--paradise-muted);
    font-size:10px;
}
.paradise-task-summary strong{
    display:block;
    margin-top:3px;
    color:var(--paradise-green-dark);
    font-size:22px;
}
.paradise-completed-task-list{
    display:grid;
    gap:0;
}
.paradise-completed-task-list > .paradise-inline-title{
    margin-bottom:7px;
}
.paradise-completed-task-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 0;
    border-top:1px solid #eef0ef;
}
.paradise-completed-task-row span{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.paradise-completed-task-row strong{
    font-size:11px;
    color:#26322b;
}
.paradise-completed-task-row small{
    margin-top:2px;
    color:var(--paradise-muted);
    font-size:9px;
}
.paradise-completed-task-row b{
    color:var(--paradise-green-dark);
    white-space:nowrap;
    font-size:11px;
}
.paradise-task-empty-completed{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:16px;
    border:1px dashed #dfe4e1;
    border-radius:12px;
    background:#fafbfc;
}
.paradise-task-empty-completed strong{
    color:#26322b;
    font-size:12px;
}
.paradise-task-empty-completed span{
    color:var(--paradise-muted);
    font-size:10px;
}
.paradise-task-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
}
.paradise-task-modal.is-open{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.paradise-task-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(20,29,24,.48);
    backdrop-filter:blur(2px);
}
.paradise-task-modal-dialog{
    position:relative;
    z-index:1;
    width:min(480px,100%);
    max-height:90vh;
    overflow:auto;
    box-sizing:border-box;
    padding:25px 22px 21px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.20);
}
.paradise-task-modal-close{
    position:absolute;
    top:10px;
    right:10px;
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:#f1f4f2;
    color:#59635e;
    font-size:22px;
    line-height:30px;
    cursor:pointer;
}
.paradise-task-modal-kicker{
    color:var(--paradise-green-dark);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.paradise-task-modal-dialog h3{
    margin:5px 38px 10px 0;
    color:#26322b;
    font-size:20px;
}
.paradise-task-modal-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:15px;
}
.paradise-task-modal-meta span,
.paradise-task-modal-meta strong{
    padding:5px 8px;
    border-radius:999px;
    background:#f1f6f3;
    color:#4c5b53;
    font-size:10px;
}
.paradise-task-modal-meta strong{
    color:var(--paradise-green-dark);
}
.paradise-task-modal-description{
    color:#4f5954;
    font-size:12px;
    line-height:1.55;
    white-space:pre-line;
}
.paradise-task-modal-video{
    display:inline-flex;
    margin-top:16px;
}
@media(max-width:500px){
    .paradise-task-modal.is-open{
        align-items:flex-end;
        padding:0;
    }
    .paradise-task-modal-dialog{
        width:100%;
        max-height:86vh;
        border-radius:20px 20px 0 0;
        padding:22px 16px 18px;
    }
    .paradise-task-summary strong{
        font-size:20px;
    }
}


/* Clearing the hash via Home returns to the default overview. */
.paradise-dashboard .paradise-home-overview,
.paradise-dashboard .paradise-home-articles{
    /* default remains visible unless a target rule above hides them */
}



/* 1.5.647 — NEW Player Dashboard Matches
   This is intentionally independent from the old match widget styling. */
.paradise-player-matches-content{
    width:100%;
}
.paradise-player-match-tabs{
    display:flex;
    gap:8px;
    width:100%;
    margin:0 0 18px;
    padding:4px;
    box-sizing:border-box;
    border-radius:12px;
    background:#f0f4f1;
}
.paradise-player-match-tab{
    flex:1 1 0;
    min-width:0;
    border:0;
    border-radius:9px;
    padding:11px 14px;
    background:transparent;
    color:#707b75;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:.18s ease;
}
.paradise-player-match-tab.active{
    color:var(--pc-green,#0d6b43);
    background:#fff;
    box-shadow:0 2px 8px rgba(20,55,40,.08);
}
.paradise-player-match-content{
    display:none;
}
.paradise-player-match-content.active{
    display:block;
}
.paradise-player-matches-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.paradise-player-match-card{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:14px 16px;
    border:1px solid var(--pc-line,#e3e9e5);
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:transform .15s ease,box-shadow .15s ease;
}
.paradise-player-match-card:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 18px rgba(20,55,40,.07);
}
.paradise-player-match-info{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px 14px;
    margin:0 0 12px;
    color:#7a847f;
    font-size:11px;
    line-height:1.3;
    white-space:nowrap;
}
.paradise-player-match-info > div{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}
.paradise-player-match-teams{
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);
    align-items:center;
    gap:10px;
    width:100%;
}
.paradise-player-match-team{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:0;
    text-align:center;
}
.paradise-player-match-team img{
    width:48px;
    height:48px;
    object-fit:contain;
    border-radius:50%;
    background:#f5f7f5;
    border:1px solid rgba(20,65,45,.08);
    padding:5px;
    box-sizing:border-box;
}
.paradise-player-match-team span{
    width:100%;
    color:#334039;
    font-size:12px;
    line-height:1.25;
    font-weight:600;
    overflow-wrap:anywhere;
}
.paradise-player-match-score{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:32px;
    border-radius:10px;
    background:#f1f5f2;
    color:#405149;
    font-size:12px;
    font-weight:700;
}
.paradise-player-match-card.win{border-left:4px solid var(--pc-green,#0d6b43);}
.paradise-player-match-card.draw{border-left:4px solid #f4b740;}
.paradise-player-match-card.loss{border-left:4px solid #ef5350;}
.paradise-player-load-more{
    display:flex;
    width:100%;
    margin:14px auto 0;
    padding:11px 16px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe5e1;
    border-radius:11px;
    background:#fff;
    color:#17221c;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.paradise-player-load-more:hover,
.paradise-player-load-more:focus,
.paradise-player-load-more:focus-visible,
.paradise-player-load-more:active{
    background:#fff;
    color:#17221c;
    border-color:#dfe5e1;
    outline:none;
    box-shadow:none;
    transform:none;
}
.paradise-player-load-more.is-hidden{
    display:none !important;
}
.paradise-player-matches-empty{
    margin:0;
    color:var(--pc-muted,#707b75);
}
@media(max-width:700px){
    .paradise-player-match-tabs{
        margin-bottom:16px;
    }
    .paradise-player-match-tab{
        min-height:42px;
        padding:0 10px;
        font-size:13px;
    }
    .paradise-player-match-info{
        flex-direction:row;
        flex-wrap:nowrap;
        gap:6px 10px;
        font-size:10px;
    }
    .paradise-player-match-info > div{
        max-width:48%;
    }
    .paradise-player-match-teams{
        grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
        gap:7px;
    }
    .paradise-player-match-team img{
        width:42px;
        height:42px;
        padding:4px;
    }
    .paradise-player-match-team span{
        font-size:11px;
    }
    .paradise-player-match-score{
        min-width:34px;
        height:29px;
        border-radius:9px;
        font-size:11px;
    }
}

/* 1.5.647 — restored match-card geometry, scoped only to the new dashboard section */
.paradise-player-match-card{
    position:relative;
}
.paradise-player-match-card-content{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100%;
    min-width:0;
    box-sizing:border-box;
}
.paradise-player-match-card-content > .paradise-player-match-info{
    display:flex !important;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    height:auto;
    min-height:20px;
    margin:0 0 12px !important;
    padding:0 !important;
    position:static;
    box-sizing:border-box;
}
.paradise-player-match-card-content > .paradise-player-match-teams{
    display:grid !important;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    min-height:70px;
    margin:0 !important;
    padding:0 !important;
    position:static;
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);
    align-items:center;
}
.paradise-player-match-team{
    min-width:0;
    width:auto;
    box-sizing:border-box;
}
.paradise-player-match-team img{
    display:block;
    margin:0 auto 6px;
}
.paradise-player-match-score{
    align-self:center;
    justify-self:center;
    white-space:nowrap;
}
.paradise-player-upcoming-games > .paradise-player-match-card[style*="display:none"]{
    display:none !important;
}
@media(max-width:900px){
    .paradise-player-match-card{
        border-radius:14px;
        padding:13px 12px;
    }
    .paradise-player-match-card-content > .paradise-player-match-info{
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        justify-content:center !important;
        align-items:center !important;
        gap:6px 10px !important;
        margin-bottom:11px !important;
        font-size:10px;
        white-space:nowrap;
    }
    .paradise-player-match-info > div{
        max-width:48%;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .paradise-player-match-card-content > .paradise-player-match-teams{
        grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
        min-height:66px;
    }
    .paradise-player-match-team img{
        width:42px;
        height:42px;
    }
}


/* 1.5.647 — restored Home overview styling from the stable dashboard */
/* The home overview is the default view. */
.paradise-dashboard.paradise-panel-view-active .paradise-home-overview,
.paradise-dashboard.paradise-panel-view-active .paradise-home-articles,
.paradise-dashboard.paradise-match-view .paradise-home-overview,
.paradise-dashboard.paradise-match-view .paradise-home-articles {

    display:none;

}
/* 1.4.61 — centered next-match card */
.paradise-home-card-match {

    justify-content:flex-start;
    text-align:center;

}
.paradise-home-card-match>span {

    align-self:flex-start;
    text-align:left;

}
.paradise-home-match-centered {

    width:100%;
    margin-top:7px;
    display:flex;
    flex-direction:column;
    align-items:center;

}
.paradise-home-match-logo {

    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 7px;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(13,107,67,.10);
    overflow:hidden;

}
/* 1.4.64 — stabilize Home match carousel rendering on mobile */
.paradise-home-card-match {

    min-width:0 !important;
    overflow:hidden !important;

}
/* 1.4.74 — article category label */
.paradise-home-article-category {

    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-bottom:6px;
    padding:3px 8px;
    border-radius:999px;
    background:#edf7f1;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:9px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;

}

.paradise-dashboard[data-dashboard-view="membership"] .paradise-home-overview,
.paradise-dashboard[data-dashboard-view="membership"] .paradise-home-articles,
.paradise-dashboard[data-dashboard-view="membership"] .paradise-dashboard-matches-anchor {
display:none !important;
}
/* 1.4.91 — navigation works as native anchors; JS is enhancement only */
/* Any dashboard panel target becomes the sole visible app section. */
.paradise-trainer-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-overview,
.paradise-trainer-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-articles,
.paradise-trainer-dashboard:has(.paradise-dashboard-panel:target) .paradise-dashboard-matches-anchor,
.paradise-parent-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-overview,
.paradise-parent-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-articles,
.paradise-parent-dashboard:has(.paradise-dashboard-panel:target) .paradise-dashboard-matches-anchor {

    display:none !important;

}
/* Matches has its own anchor and must never show the Home overview at the same time. */

/* 1.4.93 — authoritative home visibility */
html body .paradise-dashboard:not([data-dashboard-view="home"]) .paradise-home-overview,
html body .paradise-dashboard:not([data-dashboard-view="home"]) .paradise-home-articles {

    /* JS applies the final important state; this is only a fallback. */

}
html body .paradise-trainer-dashboard:has(#paradise-matches:target) .paradise-home-overview,
html body .paradise-trainer-dashboard:has(#paradise-matches:target) .paradise-home-articles,
html body .paradise-trainer-dashboard:has(#paradise-matches:target) .paradise-dashboard-legacy-tasks,
html body .paradise-parent-dashboard:has(#paradise-matches:target) .paradise-home-overview,
html body .paradise-parent-dashboard:has(#paradise-matches:target) .paradise-home-articles,
html body .paradise-parent-dashboard:has(#paradise-matches:target) .paradise-dashboard-legacy-tasks {

    display:none !important;

}

/* 1.5.647 — Home summary cards */
.paradise-home-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    width:100%;
    box-sizing:border-box;
}
.paradise-home-card{
    min-width:0;
    box-sizing:border-box;
}
.paradise-home-card-points,
.paradise-home-card-membership,
.paradise-home-overview > .paradise-home-card{
    min-height:132px;
}
@media(max-width:900px){
    .paradise-home-overview{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:560px){
    .paradise-home-overview{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .paradise-home-card-points,
    .paradise-home-card-membership,
    .paradise-home-overview > .paradise-home-card{
        min-height:118px;
    }
}

/* 1.5.647 — The panel wrapper must remain inside the dashboard gray zone.
   Old Match-specific CSS used to hide this wrapper entirely. */
.paradise-dashboard.paradise-panel-view-active .paradise-dashboard-panels{
    display:block !important;
    width:100%;
    box-sizing:border-box;
    margin:0 0 20px !important;
}
.paradise-dashboard[data-dashboard-view="matches"] .paradise-dashboard-panels{
    display:block !important;
}
.paradise-dashboard[data-dashboard-view="matches"] .paradise-dashboard-panels > #paradise-panel-matches{
    display:block !important;
    position:relative;
    width:100%;
    box-sizing:border-box;
    margin:0 !important;
}

/* 1.5.647 — Matches sits immediately below the green profile header.
   It is inside .paradise-dashboard-main (the gray dashboard zone), but
   intentionally outside the Home/secondary panel wrapper. */
.paradise-dashboard-main > #paradise-panel-matches{
    width:100%;
    box-sizing:border-box;
    margin:0 0 20px !important;
    padding:22px !important;
    border:1px solid var(--paradise-border) !important;
    border-radius:var(--paradise-radius) !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(16,19,24,.06) !important;
}
.paradise-dashboard-main > #paradise-panel-matches:not(.active){
    display:none !important;
}
.paradise-dashboard-main > #paradise-panel-matches.active{
    display:block !important;
}
.paradise-dashboard-main > #paradise-panel-matches .paradise-player-matches-content{
    width:100%;
}

/* 1.5.647 — task videos play directly inside the task modal */
.paradise-task-modal-video{
    display:block;
    width:100%;
    margin-top:16px;
    text-decoration:none;
}
.paradise-task-video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:14px;
    background:#101412;
}
.paradise-task-video-frame iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}

/* 1.5.647 — optional task proof */
.paradise-task-modal-submit{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #edf0ee;
}
.paradise-task-modal-submit[hidden]{
    display:none !important;
}
.paradise-task-proof-label{
    font-size:12px;
    font-weight:700;
    color:#26322b;
}
.paradise-task-proof-label span{
    font-weight:500;
    color:var(--paradise-muted);
}
.paradise-task-modal-submit input[type="file"]{
    width:100%;
    box-sizing:border-box;
    padding:9px;
    border:1px solid #dfe5e1;
    border-radius:10px;
    background:#fafcfb;
    font:inherit;
    font-size:11px;
}
.paradise-task-proof-note{
    color:var(--paradise-muted);
    font-size:10px;
    line-height:1.45;
}
.paradise-task-submit-button{
    width:100%;
    margin-top:5px;
    padding:11px 14px;
    border:0;
    border-radius:10px;
    background:var(--paradise-green-dark);
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

/* 1.5.647 — no empty/black video strip when a task has no instruction video */
.paradise-task-modal-video[hidden],
.paradise-task-modal-video[style*="display: none"]{
    display:none !important;
}

/* 1.5.647 — completed task details + trainer feedback */
.paradise-completed-task-row{
    width:100%;
    text-align:left;
    font:inherit;
    color:inherit;
    cursor:pointer;
    border:0;
}
.paradise-task-modal-feedback{
    margin-top:16px;
    padding:13px 14px;
    border-radius:12px;
    background:#f5f8f6;
    border:1px solid #e5ebe7;
}
.paradise-task-modal-feedback[hidden]{
    display:none !important;
}
.paradise-task-modal-feedback-label{
    display:block;
    margin-bottom:6px;
    font-size:11px;
    font-weight:700;
    color:#536158;
}
.paradise-task-modal-feedback-text{
    font-size:13px;
    line-height:1.5;
    color:#26322b;
}

/* 1.5.647 — larger completed-task typography */
.paradise-completed-task-row{
    font-size:14px !important;
    min-height:58px;
    padding:12px 14px !important;
}
.paradise-completed-task-row strong{
    font-size:14px !important;
    line-height:1.35;
}
.paradise-completed-task-row small{
    display:block;
    margin-top:4px;
    font-size:11px !important;
}
.paradise-completed-task-row b{
    font-size:13px !important;
    white-space:nowrap;
}
@media(max-width:600px){
    .paradise-completed-task-row{
        font-size:14px !important;
        min-height:56px;
        padding:11px 12px !important;
    }
    .paradise-completed-task-row strong{
        font-size:14px !important;
    }
}

/* 1.5.647 — keep completed-task rows light */
.paradise-completed-task-row,
.paradise-completed-task-row:hover,
.paradise-completed-task-row:focus,
.paradise-completed-task-row:active{
    background:#fff !important;
    color:#26322b !important;
    -webkit-appearance:none;
    appearance:none;
}
.paradise-completed-task-row strong,
.paradise-completed-task-row b{
    color:#26322b !important;
}
.paradise-completed-task-row small{
    color:#718078 !important;
}

/* 1.5.647 — visual hint that completed tasks are clickable */
.paradise-completed-task-row{
    position:relative;
    gap:10px;
}
.paradise-completed-task-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    margin-left:auto;
    border-radius:50%;
    background:#eef5f0;
    color:var(--paradise-green-dark,#2f6b4f);
}
.paradise-completed-task-hint-icon{
    font-size:15px;
    line-height:1;
}
.paradise-completed-task-row:hover .paradise-completed-task-hint,
.paradise-completed-task-row:focus-visible .paradise-completed-task-hint{
    background:#dfece4;
    transform:translateY(-1px);
}
@media(max-width:600px){
    .paradise-completed-task-hint{
        flex-basis:28px;
        width:28px;
        height:28px;
    }
    .paradise-completed-task-hint-icon{
        font-size:14px;
    }
}

.paradise-assignment-pdf{margin:14px 0;}
.paradise-assignment-pdf-link{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:10px;background:#f0f6f2;color:#2f6b4f;text-decoration:none;font-weight:700;}
.paradise-assignment-pdf-link.is-completed{background:#e5f2e9;}

/* 1.5.647 — task PDF in dashboard modal */
.paradise-task-modal-pdf{
    display:inline-flex;
    align-items:center;
    margin-top:12px;
}
.paradise-task-modal-pdf[hidden]{
    display:none !important;
}
.paradise-task-modal-submit[hidden]{
    display:none !important;
}

/* 1.5.647 — PDF-only tasks: no video proof and no manual submission */
.paradise-task-modal-video[hidden],
.paradise-task-modal-submit[hidden]{display:none!important;}
.paradise-task-modal-pdf[hidden]{display:none!important;}

/* 1.5.647 — PDF stays inside task modal */
.paradise-task-modal-pdf-viewer{margin-top:14px;width:100%;height:min(70vh,680px);border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-task-modal-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer iframe{width:100%;height:100%;border:0;display:block;}
.paradise-task-modal-pdf.is-completed{opacity:.8;pointer-events:none;}

/* 1.5.647 — standalone PDF also stays inside the app */
.paradise-assignment-pdf-link{border:0;cursor:pointer;font:inherit;}
.paradise-assignment-pdf-viewer{margin-top:12px;width:100%;height:min(70vh,680px);border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-assignment-pdf-viewer iframe{width:100%;height:100%;border:0;display:block;}

.paradise-pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px;background:#f0f4f1;}
.paradise-pdf-toolbar button{border:0;border-radius:7px;padding:4px 12px;cursor:pointer;background:#fff;font-size:20px;line-height:1;}
.paradise-pdf-canvas-wrap{height:calc(min(70vh,680px) - 45px);overflow:auto;text-align:center;background:#6b6b6b;padding:10px;}
.paradise-pdf-canvas-wrap canvas{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.18);max-width:100%;height:auto;}

/* 1.5.647 — native PDF object stays inside the app */
.paradise-task-modal-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:14px;border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-task-modal-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer object{display:block;width:100%;height:100%;border:0;}
.paradise-assignment-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:12px;border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-assignment-pdf-viewer object{display:block;width:100%;height:100%;border:0;}

.paradise-task-modal-pdf:not([hidden]){display:inline-flex!important;align-items:center;cursor:pointer;}
.paradise-task-modal-pdf-viewer:not([hidden]){display:block!important;}

.paradise-task-modal-pdf-viewer,.paradise-assignment-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:12px;overflow:auto;background:#777;text-align:center;padding:10px;box-sizing:border-box;}
.paradise-task-modal-pdf-viewer[hidden],.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer canvas,.paradise-assignment-pdf-viewer canvas{background:#fff;max-width:100%;height:auto;box-shadow:0 1px 5px rgba(0,0,0,.2);}
.paradise-pdf-loading{padding:30px;color:#fff;}

.paradise-task-modal-pdf-viewer,.paradise-assignment-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:12px;overflow:hidden;background:#777;}
.paradise-task-modal-pdf-viewer[hidden],.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer iframe,.paradise-assignment-pdf-viewer iframe{display:block;width:100%;height:100%;border:0;}

.paradise-assignment-form-task{margin-top:16px;padding:16px;border-radius:12px;background:var(--paradise-card-bg,#fff);}
.paradise-form-field{margin:0 0 16px;} .paradise-form-field>label{display:block;margin-bottom:7px;}
.paradise-form-field input[type=text],.paradise-form-field textarea,.paradise-form-field select{width:100%;box-sizing:border-box;padding:10px;border-radius:8px;}
.paradise-form-check{font-weight:400!important;}

.paradise-task-modal-form-task{margin-top:16px;padding:16px;border-radius:12px;background:#f5f7f6;}
.paradise-task-modal-form-task[hidden]{display:none!important;}
.paradise-task-modal-form-task .paradise-form-field{margin-bottom:14px;}
.paradise-task-modal-form-task input[type=text],.paradise-task-modal-form-task textarea,.paradise-task-modal-form-task select{width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #d5dcda;border-radius:8px;background:#fff;}
.paradise-task-modal-form-task textarea{min-height:90px;resize:vertical;}
.paradise-task-form-submit{margin-top:6px;}

.paradise-notifications{position:relative;margin-left:auto;z-index:30;}
.paradise-notification-button{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);cursor:pointer;font-size:19px;}
.paradise-notification-button b{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#d94a4a;color:#fff;font-size:11px;line-height:18px;}
.paradise-notification-popover{position:absolute;right:0;top:50px;width:min(390px,calc(100vw - 30px));background:#fff;border:1px solid #e4e9e6;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.14);overflow:hidden;}
.paradise-notification-popover[hidden]{display:none!important;}
.paradise-notification-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf0ee;}
.paradise-notification-head button{border:0;background:none;font-size:11px;cursor:pointer;}
.paradise-notification-item{display:flex;gap:11px;padding:13px 15px;text-decoration:none;color:inherit;border-bottom:1px solid #f0f2f1;}
.paradise-notification-item.is-unread{background:#f1f8f3;}
.paradise-notification-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9f2ec;flex:none;}
.paradise-notification-item strong,.paradise-notification-item small,.paradise-notification-item em{display:block;}
.paradise-notification-item strong{font-size:13px;}
.paradise-notification-item small{margin-top:3px;font-size:12px;color:#5f6964;}
.paradise-notification-item em{margin-top:5px;font-size:10px;color:#98a09c;font-style:normal;}
.paradise-notification-empty{padding:28px 18px;text-align:center;color:#7b837f;font-size:13px;}
@media(max-width:700px){
 .paradise-notifications{margin-left:8px;}
 .paradise-notification-popover{position:fixed;right:12px;top:70px;width:calc(100vw - 24px);max-height:70vh;overflow:auto;}
}

.paradise-notification-button{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:transparent;
    box-shadow:none;
}
.paradise-notification-button:hover,
.paradise-notification-button:focus{
    background:transparent;
}
.paradise-notification-bell{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .15s ease;
}
.paradise-notification-button:hover .paradise-notification-bell{
    transform:scale(1.08);
}

/* Notification panel design */
.paradise-notification-popover{
    position:fixed !important;
    top:70px !important;
    right:18px !important;
    left:auto !important;
    width:min(400px,calc(100vw - 28px));
    max-height:calc(100vh - 90px);
    border:0;
    border-radius:16px;
    box-shadow:0 18px 48px rgba(24,42,32,.20);
    overflow:hidden;
    background:#fff;
    z-index:10000 !important;
}
.paradise-notification-head{
    padding:15px 17px 13px;
    background:#f8faf8;
    border-bottom:1px solid #e7ece9;
}
.paradise-notification-head strong{
    font-size:15px;
    font-weight:700;
    color:#26332c;
}
.paradise-notification-head button{
    padding:5px 0;
    color:#65736b;
    font-size:11px;
    font-weight:600;
}
.paradise-notification-head button:hover{
    color:#2d6b45;
}
.paradise-notification-list{
    max-height:430px;
    overflow-y:auto;
}
.paradise-notification-item{
    position:relative;
    align-items:flex-start;
    gap:12px;
    padding:14px 17px;
    min-height:66px;
    box-sizing:border-box;
    border-bottom:1px solid #eef1ef;
    transition:background .15s ease;
}
.paradise-notification-item:last-child{
    border-bottom:0;
}
.paradise-notification-item:hover{
    background:#f7faf8;
}
.paradise-notification-item.is-unread{
    background:#f0f7f2;
}
.paradise-notification-item.is-unread:hover{
    background:#eaf4ed;
}
.paradise-notification-icon{
    width:34px;
    height:34px;
    margin-top:1px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 34px;
    background:#e9f2ec;
    color:#2d6b45;
    font-size:12px;
    font-weight:800;
    letter-spacing:-.2px;
}
.paradise-notification-icon-assignment_new,
.paradise-notification-icon-assignment_approved{
    background:#e7f3ea;
    color:#2f7548;
}
.paradise-notification-icon-points_awarded{
    background:#fff4d9;
    color:#9b7417;
    font-size:10px;
}
.paradise-notification-icon-reward_new{
    background:#f7ead1;
    color:#9b6c17;
    font-size:15px;
}
.paradise-notification-content{
    min-width:0;
    padding-right:12px;
}
.paradise-notification-item strong{
    color:#26332c;
    font-size:13px;
    line-height:1.25;
    font-weight:700;
}
.paradise-notification-item small{
    color:#5f6c64;
    font-size:12px;
    line-height:1.4;
    margin-top:4px;
}
.paradise-notification-item em{
    color:#9aa49f;
    font-size:10px;
    line-height:1.2;
    margin-top:5px;
}
.paradise-notification-dot{
    position:absolute;
    top:17px;
    right:14px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d94a4a;
}
.paradise-notification-empty{
    padding:38px 20px;
    color:#7b8780;
    font-size:13px;
    background:#fff;
}
.paradise-notification-list::-webkit-scrollbar{width:6px;}
.paradise-notification-list::-webkit-scrollbar-thumb{background:#d7dfda;border-radius:10px;}
@media(max-width:700px){
    .paradise-notification-popover{
        top:62px;
        right:12px;
        width:calc(100vw - 24px);
        max-height:70vh;
    }
    .paradise-notification-list{max-height:60vh;}
}

.paradise-catalog-product{
    position:relative;
}
.paradise-catalog-new-badge{
    position:absolute;
    top:12px;
    right:12px;
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 9px;
    border-radius:999px;
    background:#2f7548;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
}
.paradise-catalog-product-new{
    scroll-margin-top:24px;
    outline:2px solid #2f7548;
    outline-offset:2px;
}

.paradise-dashboard-reward-new{
    outline:2px solid #2f7548;
    outline-offset:2px;
    border-radius:12px;
    scroll-margin-top:24px;
}
.paradise-dashboard-reward-new-badge{
    position:absolute;
    top:8px;
    right:8px;
    z-index:2;
    padding:4px 8px;
    border-radius:999px;
    background:#2f7548;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.06em;
}

.paradise-notification-icon-match_result{background:#e8f0f7;color:#356b8d;}
.paradise-notification-icon-match_mvp{background:#f7ead1;color:#9b6c17;font-size:9px;}

.paradise-notification-icon-points_match_win,
.paradise-notification-icon-points_match_draw,
.paradise-notification-icon-points_match_mvp,
.paradise-notification-icon-points_match_appearance{
    background:#fff4d9;
    color:#9b7417;
    font-size:10px;
}

.paradise-notification-icon-match_appearance{
    background:#e8f0f7;
    color:#356b8d;
    font-size:14px;
}

.paradise-dashboard-header .paradise-notifications{
    overflow:visible !important;
}
.paradise-dashboard-header .paradise-notification-popover{
    overflow:hidden !important;
}
@media(max-width:700px){
    .paradise-notification-popover{
        top:70px !important;
        right:12px !important;
        width:calc(100vw - 24px) !important;
        max-height:70vh !important;
        overflow:auto !important;
    }
}

/* Match card: date centered above teams, venue centered below teams. */
.paradise-player-match-card .paradise-player-match-card-content,
.paradise-match-card .paradise-match-card-content {
    display:flex;
    flex-direction:column;
    align-items:center;
}

.paradise-player-match-card .paradise-player-match-info,
.paradise-match-card .paradise-match-info {
    width:100%;
    display:flex;
    justify-content:center;
    text-align:center;
    order:1;
}

.paradise-player-match-card .paradise-player-match-teams,
.paradise-match-card .paradise-match-teams {
    order:2;
    width:100%;
}

.paradise-player-match-card .match-venue,
.paradise-match-card .match-venue {
    order:3;
    width:100%;
    margin-top:10px;
    text-align:center;
}

/* Player attendance summary */
.paradise-panel-attendance-summary{display:flex;align-items:center;gap:24px;margin-bottom:18px}
.paradise-attendance-bar-wrap{flex:1}
.paradise-player-attendance-list{margin-top:16px}
.paradise-player-attendance-list-heading{margin-bottom:8px}
.paradise-player-attendance-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;margin-bottom:6px;border:1px solid #e6e6e6;border-radius:10px;background:#fff}
.paradise-player-attendance-date{display:flex;flex-direction:column;gap:2px;min-width:0}
.paradise-player-attendance-date strong{font-size:14px}
.paradise-player-attendance-date span{font-size:13px;color:#777;overflow:hidden;text-overflow:ellipsis}
.paradise-player-attendance-status{display:flex;align-items:flex-end;flex-direction:column;gap:2px;white-space:nowrap;font-size:13px}
.paradise-player-attendance-status.is-present{color:#2d7d46}
.paradise-player-attendance-status.is-absent{color:#b33}
.paradise-player-attendance-status small{font-size:12px;font-weight:600}
.paradise-player-attendance-empty,.paradise-player-attendance-more{color:#777;font-size:13px}
@media(max-width:600px){
    .paradise-panel-attendance-summary{align-items:flex-start;gap:14px}
    .paradise-attendance-bar-wrap{padding-top:12px}
    .paradise-player-attendance-row{padding:10px}
    .paradise-player-attendance-status{font-size:12px}
}

.paradise-trainer-upcoming-schedules{margin-bottom:20px}
.paradise-trainer-upcoming-schedules h2{font-size:18px;margin:0 0 10px}
.paradise-trainer-upcoming-list{display:grid;gap:7px}
.paradise-trainer-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;background:#fff;border:1px solid #ddd;border-radius:10px;text-decoration:none}
.paradise-trainer-upcoming-card span:first-child{display:flex;flex-direction:column;gap:3px}
.paradise-trainer-upcoming-card small{color:#777}
@media(max-width:600px){.paradise-trainer-upcoming-card{padding:11px 12px}.paradise-trainer-upcoming-card>span:last-child{font-size:12px}}

.paradise-trainer-upcoming-schedules{margin:0 0 20px}
.paradise-trainer-upcoming-schedules h2{font-size:18px;margin:0 0 10px}
.paradise-trainer-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;margin-bottom:7px;background:#fff;border:1px solid #ddd;border-radius:10px;text-decoration:none}
.paradise-trainer-upcoming-card span:first-child{display:flex;flex-direction:column;gap:3px}
.paradise-trainer-upcoming-card small{color:#777}
@media(max-width:600px){.paradise-trainer-upcoming-card{padding:11px 12px}.paradise-trainer-upcoming-card>span:last-child{font-size:12px}}

.paradise-trainer-upcoming-schedules{margin:0 0 20px}.paradise-trainer-upcoming-schedules h2{font-size:18px;margin:0 0 10px}
.paradise-trainer-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;margin-bottom:7px;background:#fff;border:1px solid #ddd;border-radius:10px;text-decoration:none}
.paradise-trainer-upcoming-card span:first-child{display:flex;flex-direction:column;gap:3px}.paradise-trainer-upcoming-card small{color:#777}
@media(max-width:600px){.paradise-trainer-upcoming-card{padding:11px 12px}.paradise-trainer-upcoming-card>span:last-child{font-size:12px}}


/* 1.5.647 — dashboard layout and interaction refinements */
.paradise-home-card-match .paradise-home-matches-carousel{position:relative;}
.paradise-home-match-nav{
    position:absolute;top:50%;z-index:3;width:30px;height:30px;margin-top:-15px;
    padding:0;display:flex;align-items:center;justify-content:center;
    border:1px solid #dfe7e2;border-radius:50%;background:#fff;color:#315044;
    box-shadow:0 4px 12px rgba(20,55,40,.10);font:inherit;font-size:22px;line-height:1;cursor:pointer;
}
.paradise-home-match-prev{left:4px}.paradise-home-match-next{right:4px}
.paradise-home-match-nav:hover{background:#f3f8f5;border-color:#bfd3c7}
.paradise-home-match-nav:disabled{opacity:.25;cursor:default}
.paradise-home-matches-carousel .paradise-home-matches-track{
    padding-left:0 !important;padding-right:0 !important;box-sizing:border-box;
}
@media(max-width:900px){
    .paradise-home-match-nav{width:28px;height:28px;margin-top:-14px}
    .paradise-home-matches-carousel .paradise-home-matches-track{padding-left:0 !important;padding-right:0 !important}
}
@media(max-width:700px){
    .paradise-home-article-grid{grid-template-columns:1fr !important}
    .paradise-home-article-image{height:150px}
}
@media(min-width:901px){
    .paradise-dashboard .matches-grid,
    .paradise-dashboard .paradise-player-matches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .paradise-dashboard .paradise-mini-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.paradise-pp-help-dialog .paradise-points-help-intro{font-size:14px;line-height:1.55}
.paradise-pp-help-dialog .paradise-points-help-row strong{font-size:14px}
.paradise-pp-help-dialog .paradise-points-help-row small{font-size:12px;line-height:1.4}
.paradise-pp-help-dialog .paradise-points-help-row b{font-size:14px}
.paradise-pp-help-dialog .paradise-points-help-note{font-size:12px;line-height:1.5}
.paradise-pp-help-close,
.paradise-task-modal-close,
.paradise-membership-modal-close,
.paradise-document-modal-toolbar .paradise-document-close{
    background:transparent !important;border-color:transparent !important;box-shadow:none !important;
}
.paradise-pp-help-close:hover,
.paradise-task-modal-close:hover,
.paradise-membership-modal-close:hover,
.paradise-document-modal-toolbar .paradise-document-close:hover{background:transparent !important}


/* 1.5.647 — mobile bottom navigation refinement */
@media (max-width: 767px) {
    .paradise-mobile-nav {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        bottom: 0 !important;
        padding: 5px 4px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        z-index: 1000 !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle {
        min-width: 0 !important;
        min-height: 52px !important;
        padding: 5px 2px !important;
        gap: 2px !important;
        font-size: 10.5px !important;
        line-height: 1.05 !important;
        font-weight: 600 !important;
        border: 0 !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    .paradise-mobile-nav-icon {
        width: 25px !important;
        height: 25px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 19px !important;
        line-height: 1 !important;
    }

    /* Distinct, colourful navigation icons */
    .paradise-mobile-nav > a[data-mobile-panel="home"] .paradise-mobile-nav-icon {
        color: #d97745 !important;
    }
    .paradise-mobile-nav > a[data-mobile-panel="matches"] .paradise-mobile-nav-icon {
        color: #b85c38 !important;
        font-size: 21px !important;
    }
    .paradise-mobile-nav > a[data-mobile-panel="membership"] .paradise-mobile-nav-icon {
        color: #b58a3b !important;
        font-size: 19px !important;
    }
    .paradise-mobile-nav > a[data-mobile-panel="points"] .paradise-mobile-nav-icon {
        color: #d49a24 !important;
        font-size: 20px !important;
    }
    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-icon {
        color: #8b6fa8 !important;
    }

    .paradise-mobile-nav-training {
        position: relative !important;
        min-width: 0 !important;
    }

    .paradise-mobile-nav-training-toggle {
        width: 100% !important;
        color: inherit !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-chevron {
        position: absolute !important;
        top: 3px !important;
        right: 5px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        opacity: .65 !important;
    }

    .paradise-mobile-nav-training.is-open .paradise-mobile-nav-chevron {
        transform: rotate(180deg) !important;
    }

    /* Compact submenu that always stays inside the viewport */
    .paradise-mobile-training-menu {
        position: absolute !important;
        left: auto !important;
        right: 0 !important;
        bottom: calc(100% + 5px) !important;
        transform: none !important;
        width: min(150px, calc(100vw - 16px)) !important;
        max-width: calc(100vw - 16px) !important;
        padding: 5px !important;
        border-radius: 12px !important;
        background: var(--paradise-card, #fff) !important;
        box-shadow: 0 6px 22px rgba(0,0,0,.15) !important;
        border: 1px solid rgba(0,0,0,.08) !important;
        z-index: 1010 !important;
        box-sizing: border-box !important;
    }

    .paradise-mobile-training-menu[hidden] {
        display: none !important;
    }

    .paradise-mobile-training-menu a {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 38px !important;
        padding: 7px 10px !important;
        border-radius: 9px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-sub-icon {
        width: 20px !important;
        text-align: center !important;
        font-size: 15px !important;
    }

    .paradise-mobile-nav > a.is-active,
    .paradise-mobile-nav > a.active,
    .paradise-mobile-nav-training-toggle[aria-expanded="true"] {
        font-weight: 700 !important;
    }

    body {
        padding-bottom: 0 !important;
    }
}


/* 1.5.647 — compact mobile navigation typography and colourful training submenu icons */
@media (max-width: 767px) {
    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle {
        font-size: 9.5px !important;
    }

    .paradise-mobile-training-menu a {
        font-size: 11px !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] .paradise-mobile-sub-icon {
        color: #4f83c2 !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="tasks"] .paradise-mobile-sub-icon {
        color: #55a06a !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] {
        color: inherit !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="tasks"] {
        color: inherit !important;
    }
}


/* 1.5.647 — restore original mobile menu text size; clear calendar icon */
@media (max-width: 767px) {
    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle {
        font-size: 12.5px !important;
        line-height: 1.1 !important;
    }

    .paradise-mobile-training-menu a {
        font-size: 11px !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] .paradise-mobile-sub-icon {
        color: #4f83c2 !important;
    }
}


/* 1.5.647 — restore the actual original text size.
   The previous rule applied the icon font size to every <span>, including labels. */
@media (max-width: 767px) {
    .paradise-mobile-nav > a > span:not(.paradise-mobile-nav-icon),
    .paradise-mobile-nav-training-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron) {
        font-size: 11px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }

    .paradise-mobile-nav-icon {
        font-size: 19px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-nav > a[data-mobile-panel="matches"] .paradise-mobile-nav-icon {
        font-size: 21px !important;
    }

    .paradise-mobile-nav > a[data-mobile-panel="membership"] .paradise-mobile-nav-icon {
        font-size: 19px !important;
    }

    .paradise-mobile-nav > a[data-mobile-panel="points"] .paradise-mobile-nav-icon {
        font-size: 20px !important;
    }

    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-chevron {
        font-size: 11px !important;
    }
}


/* 1.5.647 — compact horizontal training submenu */
@media (max-width: 767px) {
    .paradise-mobile-training-menu {
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 16px) !important;
        padding: 4px !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-training-menu a {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        min-height: 36px !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-training-menu .paradise-mobile-sub-icon {
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] .paradise-mobile-sub-icon {
        color: #4f83c2 !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="tasks"] .paradise-mobile-sub-icon {
        color: #55a06a !important;
    }
}


/* 1.5.647 — submenu typography override */
@media (max-width: 767px) {
    .paradise-mobile-training-menu a,
    .paradise-mobile-training-menu a span:not(.paradise-mobile-sub-icon) {
        font-size: 11px !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
    }

    .paradise-mobile-training-menu .paradise-mobile-sub-icon {
        font-size: 16px !important;
        line-height: 1 !important;
        width: 20px !important;
        flex: 0 0 20px !important;
    }
}


/* 1.5.647 — Trainer dashboard visual shell aligned with the Player dashboard */
.paradise-trainer-dashboard{
    --pc-green:#0d6b43;
    --pc-green-2:#12905a;
    --pc-green-soft:#eaf7f0;
    --pc-ink:#142019;
    --pc-muted:#78827d;
    --pc-bg:#f5f7f6;
    --pc-line:#e6ebe8;
}

.paradise-trainer-dashboard .paradise-dashboard-header{
    min-height:178px;
}

.paradise-trainer-content{
    min-width:0;
}

.paradise-trainer-welcome{
    margin-bottom:20px;
}
.paradise-trainer-eyebrow{
    display:block;
    margin-bottom:5px;
    color:var(--pc-green);
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
}
.paradise-trainer-welcome h1{
    margin:0;
    color:var(--pc-ink);
    font-size:25px;
    line-height:1.15;
}
.paradise-trainer-welcome p{
    margin:6px 0 0;
    color:var(--pc-muted);
    font-size:13px;
}

.paradise-trainer-module-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}
.paradise-trainer-module{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    border:1px solid var(--pc-line);
    border-radius:16px;
    background:#fff;
    color:var(--pc-ink);
    box-shadow:0 6px 20px rgba(24,42,33,.05);
    text-align:left;
    cursor:pointer;
    font:inherit;
}
.paradise-trainer-module:hover,
.paradise-trainer-module.is-active{
    border-color:rgba(13,107,67,.25);
    background:var(--pc-green-soft);
}
.paradise-trainer-module-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#f1f5f3;
    font-size:21px;
}
.paradise-trainer-module strong,
.paradise-trainer-module small{
    display:block;
}
.paradise-trainer-module strong{
    font-size:13px;
    font-weight:800;
}
.paradise-trainer-module small{
    margin-top:3px;
    color:var(--pc-muted);
    font-size:10px;
}

.paradise-trainer-panel{
    min-height:220px;
    padding:22px;
    border:1px solid var(--pc-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,19,24,.06);
}
.paradise-trainer-panel-placeholder{
    min-height:170px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.paradise-trainer-panel-placeholder strong{
    font-size:20px;
}
.paradise-trainer-panel-placeholder span{
    margin-top:6px;
    color:var(--pc-muted);
    font-size:12px;
}

.paradise-trainer-mobile-nav{
    display:none;
}

@media(max-width:900px){
    .paradise-trainer-dashboard .paradise-dashboard-header{
        min-height:154px;
    }
    .paradise-trainer-module-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767px){
    .paradise-trainer-dashboard .paradise-dashboard-main{
        padding-bottom:92px;
    }
    .paradise-trainer-welcome{
        margin-bottom:14px;
    }
    .paradise-trainer-welcome h1{
        font-size:20px;
    }
    .paradise-trainer-module-grid{
        display:none;
    }
    .paradise-trainer-panel{
        min-height:220px;
        padding:16px;
    }
    .paradise-trainer-mobile-nav{
        display:grid !important;
    }
    .paradise-trainer-mobile-nav > a{
        min-height:52px !important;
        padding:5px 2px !important;
        gap:2px !important;
        font-size:11px !important;
    }
    .paradise-trainer-mobile-nav .paradise-mobile-nav-icon{
        font-size:19px !important;
    }
}


/* 1.5.647 — registration form */
.paradise-registration{
    max-width:720px;
    margin:0 auto;
}
.paradise-registration-form{
    padding:24px;
    border:1px solid #e6ebe8;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,19,24,.06);
}
.paradise-registration-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.paradise-registration-form label{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.paradise-registration-form label.full{
    grid-column:1/-1;
}
.paradise-registration-form label span{
    font-size:12px;
    font-weight:700;
}
.paradise-registration-form input{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #dfe6e2;
    border-radius:10px;
    font:inherit;
    background:#fff;
}
.paradise-registration-form button{
    margin-top:18px;
    width:100%;
    padding:12px 18px;
    border:0;
    border-radius:11px;
    background:#0d6b43;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.paradise-registration-errors,
.paradise-registration-success{
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:12px;
}
.paradise-registration-errors{background:#fff0f0;color:#9b2929}
.paradise-registration-success{background:#eaf7f0;color:#0d6b43}
.paradise-registration-success span{display:block;margin-top:4px}
@media(max-width:600px){
    .paradise-registration-grid{grid-template-columns:1fr}
    .paradise-registration-form label.full{grid-column:auto}
    .paradise-registration-form{padding:18px}
}

.paradise-registration-form select{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #dfe6e2;
    border-radius:10px;
    font:inherit;
    background:#fff;
}

.paradise-registration-team-info{
    grid-column:1/-1;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:13px 14px;
    border:1px solid #dfeae4;
    border-radius:11px;
    background:#f3faf6;
}
.paradise-registration-team-info > span{
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#0d6b43;
}
.paradise-registration-team-info strong{
    font-size:14px;
}
.paradise-registration-team-info small{
    color:#78827d;
    font-size:11px;
}

.paradise-registration-form select{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #dfe6e2;
    border-radius:10px;
    font:inherit;
    background:#fff;
}

.paradise-registration-consents{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:2px;
}
.paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start;
    gap:9px !important;
    font-size:12px;
}
.paradise-consent input{
    width:auto !important;
    margin-top:2px;
    flex:0 0 auto;
}
.paradise-consent a{
    margin-left:5px;
}

/* 1.5.647 — consent labels must remain visible */
.paradise-registration-consents .paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    width:100%;
    color:#202522 !important;
    visibility:visible !important;
    opacity:1 !important;
}
.paradise-registration-consents .paradise-consent span{
    display:block !important;
    color:#202522 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    visibility:visible !important;
    opacity:1 !important;
}
.paradise-registration-consents .paradise-consent input[type="checkbox"]{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    margin:2px 0 0 0 !important;
    flex:0 0 16px !important;
}
.paradise-registration-consents .paradise-consent a{
    color:#0d6b43 !important;
    text-decoration:underline !important;
}

/* 1.5.647 — isolate consent markup from generic label/span form CSS */
.paradise-registration-form .paradise-registration-consents{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    width:100% !important;
    color:#202522 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:9px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#202522 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-text{
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:#202522 !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
    visibility:visible !important;
    opacity:1 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-text a{
    display:inline !important;
    color:#0d6b43 !important;
    text-decoration:underline !important;
    visibility:visible !important;
}
.paradise-registration-form .paradise-registration-consents input[type="checkbox"]{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:16px !important;
    min-width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:2px 0 0 0 !important;
    padding:0 !important;
    flex:0 0 16px !important;
}

/* 1.5.647 — explicit clickable consent links */
.paradise-registration-form .paradise-registration-consents .paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:9px !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link{
    display:block !important;
    color:#202522 !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
    text-decoration:underline !important;
    cursor:pointer !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link:hover{
    color:#0d6b43 !important;
}

/* 1.5.647 trainer dashboard */
.paradise-trainer-team-switcher{display:flex;align-items:center;gap:10px;margin:0 0 22px;padding:12px 16px;background:#fff;border:1px solid #e5e8e6;border-radius:14px}
.paradise-trainer-team-switcher select{min-width:220px;padding:9px 34px 9px 12px;border:1px solid #d8dedb;border-radius:9px;background:#fff}



.paradise-trainer-membership-form{min-width:240px}
.membership-mode-buttons{display:flex;gap:5px;margin-bottom:7px}
.membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;cursor:pointer;font-size:11px}
.membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.membership-months-fields input,.membership-until-fields input{width:130px;padding:7px;border:1px solid #d8dedb;border-radius:7px}
.membership-months-fields small,.membership-until-fields small{display:block;color:#77817d;font-size:10px;margin-top:3px}
.paradise-trainer-membership-submit{margin-top:8px;border:0;border-radius:8px;padding:8px 12px;background:#2d7d46;color:#fff;cursor:pointer}
@media(max-width:800px){.paradise-trainer-team-switcher{align-items:flex-start;flex-direction:column}.paradise-trainer-team-switcher select{width:100%;min-width:0}}@media(max-width:800px){}

/* 1.5.647 — Trainer Players cards */
.paradise-trainer-player-tools{margin:0 0 18px}
.paradise-trainer-player-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:0 14px;max-width:520px}
.paradise-trainer-player-search span{font-size:23px;color:#6f7b75}
.paradise-trainer-player-search input{width:100%;border:0!important;outline:0;padding:13px 0;background:transparent;font-size:15px}
.paradise-trainer-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-player-card{background:#fff;border:1px solid #e4eae7;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-player-card-top{display:flex;align-items:center;gap:12px}
.paradise-trainer-player-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;background:#eef2ef}
.paradise-trainer-player-avatar img{width:100%;height:100%;object-fit:cover}
.paradise-trainer-player-name h3{margin:0 0 3px;font-size:17px}
.paradise-trainer-player-name span{font-size:12px;color:#77827d}
.paradise-trainer-player-membership{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px 12px;border-radius:12px}
.paradise-trainer-player-membership.is-paid{background:#eff8f1}
.paradise-trainer-player-membership.is-unpaid{background:#fff3f2}
.membership-status-dot{width:9px;height:9px;border-radius:50%;background:#d35b51;flex:0 0 9px}
.is-paid .membership-status-dot{background:#2f8a50}
.paradise-trainer-player-membership small{display:block;font-size:9px;letter-spacing:.08em;color:#76817c;font-weight:700}
.paradise-trainer-player-membership strong{display:block;font-size:13px;margin-top:2px}
.paradise-trainer-player-membership span:last-child{display:block;font-size:11px;color:#6f7975;margin-top:2px}
.paradise-trainer-player-actions{display:flex;gap:8px}
.paradise-trainer-player-actions button{flex:1;border:1px solid #dce4df;background:#fff;border-radius:9px;padding:9px 8px;font-size:12px;cursor:pointer}
.paradise-trainer-player-actions .paradise-trainer-player-pay-btn{background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-player-detail,.paradise-trainer-player-payment{margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee}
.trainer-player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trainer-player-detail-grid small{display:block;color:#7a8580;font-size:10px}.trainer-player-detail-grid strong{display:block;font-size:12px;margin-top:2px;word-break:break-word}
.paradise-trainer-player-payment .membership-mode-buttons{display:flex;gap:5px;margin-bottom:8px}
.paradise-trainer-player-payment .membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px}
.paradise-trainer-player-payment .membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.paradise-trainer-player-payment input[type="number"],.paradise-trainer-player-payment input[type="date"]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d8dedb;border-radius:8px}
.paradise-trainer-player-payment small{display:block;color:#77817d;font-size:10px;margin:4px 0 8px}
.paradise-trainer-player-payment .paradise-trainer-membership-submit{width:100%;margin-top:4px}
.paradise-trainer-player-empty{padding:30px;text-align:center;color:#718079;background:#fff;border:1px dashed #d8e0db;border-radius:16px}
.paradise-trainer-player-empty strong{display:block;color:#28332e;margin-bottom:4px}
@media(max-width:700px){
 .paradise-trainer-player-grid{grid-template-columns:1fr}
 .paradise-trainer-player-search{max-width:none}
}

/* 1.5.647 — trainer player cards */
.paradise-trainer-player-tools{margin:0 0 18px}
.paradise-trainer-player-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:0 14px;max-width:520px}
.paradise-trainer-player-search span{font-size:23px;color:#6f7b75}.paradise-trainer-player-search input{width:100%;border:0!important;outline:0;padding:13px 0;background:transparent;font-size:15px}
.paradise-trainer-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-player-card{background:#fff;border:1px solid #e4eae7;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-player-card-top{display:flex;align-items:center;gap:12px}.paradise-trainer-player-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;background:#eef2ef}.paradise-trainer-player-avatar img{width:100%;height:100%;object-fit:cover}
.paradise-trainer-player-name h3{margin:0 0 3px;font-size:17px}.paradise-trainer-player-name span{font-size:12px;color:#77827d}
.paradise-trainer-player-membership{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px 12px;border-radius:12px}.paradise-trainer-player-membership.is-paid{background:#eff8f1}.paradise-trainer-player-membership.is-unpaid{background:#fff3f2}
.membership-status-dot{width:9px;height:9px;border-radius:50%;background:#d35b51;flex:0 0 9px}.is-paid .membership-status-dot{background:#2f8a50}
.paradise-trainer-player-membership small{display:block;font-size:9px;letter-spacing:.08em;color:#76817c;font-weight:700}.paradise-trainer-player-membership strong{display:block;font-size:13px;margin-top:2px}.paradise-trainer-player-membership span:last-child{display:block;font-size:11px;color:#6f7975;margin-top:2px}
.paradise-trainer-player-actions{display:flex;gap:8px}.paradise-trainer-player-actions button{flex:1;border:1px solid #dce4df;background:#fff;border-radius:9px;padding:9px 8px;font-size:12px;cursor:pointer}.paradise-trainer-player-actions .paradise-trainer-player-pay-btn{background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-player-detail,.paradise-trainer-player-payment{margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee}.trainer-player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trainer-player-detail-grid small{display:block;color:#7a8580;font-size:10px}.trainer-player-detail-grid strong{display:block;font-size:12px;margin-top:2px;word-break:break-word}
.paradise-trainer-player-payment .membership-mode-buttons{display:flex;gap:5px;margin-bottom:8px}.paradise-trainer-player-payment .membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px}.paradise-trainer-player-payment .membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.paradise-trainer-player-payment input[type="number"],.paradise-trainer-player-payment input[type="date"]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d8dedb;border-radius:8px}.paradise-trainer-player-payment small{display:block;color:#77817d;font-size:10px;margin:4px 0 8px}.paradise-trainer-player-payment .paradise-trainer-membership-submit{width:100%;margin-top:4px}
.paradise-trainer-player-empty{padding:30px;text-align:center;color:#718079;background:#fff;border:1px dashed #d8e0db;border-radius:16px}.paradise-trainer-player-empty strong{display:block;color:#28332e;margin-bottom:4px}
@media(max-width:700px){.paradise-trainer-player-grid{grid-template-columns:1fr}.paradise-trainer-player-search{max-width:none}}

/* 1.5.647 trainer player cards */
.paradise-trainer-player-tools{margin:0 0 18px}
.paradise-trainer-player-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:0 14px;max-width:520px}
.paradise-trainer-player-search span{font-size:23px;color:#6f7b75}
.paradise-trainer-player-search input{width:100%;border:0!important;outline:0;padding:13px 0;background:transparent;font-size:15px}
.paradise-trainer-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-player-card{background:#fff;border:1px solid #e4eae7;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-player-card-top{display:flex;align-items:center;gap:12px}
.paradise-trainer-player-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;background:#eef2ef}
.paradise-trainer-player-avatar img{width:100%;height:100%;object-fit:cover}
.paradise-trainer-player-name h3{margin:0 0 3px;font-size:17px}
.paradise-trainer-player-name span{font-size:12px;color:#77827d}
.paradise-trainer-player-membership{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px 12px;border-radius:12px}
.paradise-trainer-player-membership.is-paid{background:#eff8f1}
.paradise-trainer-player-membership.is-unpaid{background:#fff3f2}
.membership-status-dot{width:9px;height:9px;border-radius:50%;background:#d35b51;flex:0 0 9px}
.is-paid .membership-status-dot{background:#2f8a50}
.paradise-trainer-player-membership small{display:block;font-size:9px;letter-spacing:.08em;color:#76817c;font-weight:700}
.paradise-trainer-player-membership strong{display:block;font-size:13px;margin-top:2px}
.paradise-trainer-player-membership span:last-child{display:block;font-size:11px;color:#6f7975;margin-top:2px}
.paradise-trainer-player-actions{display:flex;gap:8px}
.paradise-trainer-player-actions button{flex:1;border:1px solid #dce4df;background:#fff;border-radius:9px;padding:9px 8px;font-size:12px;cursor:pointer}
.paradise-trainer-player-actions .paradise-trainer-player-pay-btn{background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-player-detail,.paradise-trainer-player-payment{margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee}
.trainer-player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trainer-player-detail-grid small{display:block;color:#7a8580;font-size:10px}
.trainer-player-detail-grid strong{display:block;font-size:12px;margin-top:2px;word-break:break-word}
.paradise-trainer-player-payment .membership-mode-buttons{display:flex;gap:5px;margin-bottom:8px}
.paradise-trainer-player-payment .membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px}
.paradise-trainer-player-payment .membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.paradise-trainer-player-payment input[type="number"],.paradise-trainer-player-payment input[type="date"]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d8dedb;border-radius:8px}
.paradise-trainer-player-payment small{display:block;color:#77817d;font-size:10px;margin:4px 0 8px}
.paradise-trainer-player-payment .paradise-trainer-membership-submit{width:100%;margin-top:4px}
.paradise-trainer-player-empty{padding:30px;text-align:center;color:#718079;background:#fff;border:1px dashed #d8e0db;border-radius:16px}
.paradise-trainer-player-empty strong{display:block;color:#28332e;margin-bottom:4px}
@media(max-width:700px){.paradise-trainer-player-grid{grid-template-columns:1fr}.paradise-trainer-player-search{max-width:none}}

/* 1.5.647 — trainer player action buttons */
.paradise-trainer-dashboard .paradise-trainer-player-actions .paradise-trainer-player-detail-btn{
    color:#24312b !important;
    background:#fff !important;
    border:1px solid #dce4df !important;
    opacity:1 !important;
    visibility:visible !important;
}
.paradise-trainer-dashboard .paradise-trainer-player-actions .paradise-trainer-player-pay-btn{
    color:#fff !important;
    background:#087546 !important;
    border:1px solid #087546 !important;
    opacity:1 !important;
    visibility:visible !important;
}
.paradise-trainer-dashboard .paradise-trainer-player-actions button{
    min-height:42px;
    font-weight:600;
}
.paradise-trainer-dashboard .paradise-trainer-player-detail[hidden],
.paradise-trainer-dashboard .paradise-trainer-player-payment[hidden]{display:none !important}

/* 1.5.647 — simple cash payment amount */
.paradise-trainer-dashboard .paradise-trainer-payment-amount{display:block;margin:0 0 5px}
.paradise-trainer-dashboard .paradise-trainer-payment-amount small{display:block;margin-bottom:6px;color:#66736d;font-size:11px;font-weight:700}
.paradise-trainer-dashboard .paradise-trainer-payment-input{display:flex;align-items:center;max-width:220px;border:1px solid #d8e0db;border-radius:10px;background:#fff;overflow:hidden}
.paradise-trainer-dashboard .paradise-trainer-payment-input input{width:100%;border:0!important;outline:0!important;background:transparent;padding:10px 11px;font-size:16px}
.paradise-trainer-dashboard .paradise-trainer-payment-input span{padding-right:11px;color:#68756f;font-weight:600}
.paradise-trainer-dashboard .paradise-trainer-payment-help{display:block;margin:5px 0 10px;color:#7a8580;font-size:10px}

/* 1.5.647 — trainer player contact links */
.paradise-trainer-dashboard .paradise-trainer-player-contact{
    color:#087546 !important;
    text-decoration:none !important;
    cursor:pointer;
}
.paradise-trainer-dashboard .paradise-trainer-player-contact:hover{
    text-decoration:underline !important;
}

/* 1.5.647 — trainer attendance */
.paradise-trainer-attendance-selector{background:#fff;border:1px solid #e3e9e5;border-radius:16px;padding:14px;margin-bottom:14px}
.paradise-trainer-attendance-selector label{display:block}.paradise-trainer-attendance-selector span{display:block;font-size:11px;font-weight:700;color:#69756f;margin-bottom:6px}
.paradise-trainer-attendance-selector select{width:100%;max-width:620px;border:1px solid #d8e0db;border-radius:10px;background:#fff;padding:11px;font-size:14px}
.paradise-trainer-attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f8f6;border:1px solid #e2e9e5;border-radius:16px;padding:14px 16px;margin-bottom:12px}
.paradise-trainer-attendance-summary strong{display:block;font-size:16px}.paradise-trainer-attendance-summary span{display:block;font-size:12px;color:#748079;margin-top:3px}
.attendance-points-badge{white-space:nowrap;background:#e9f5ed;color:#087546;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.paradise-trainer-attendance-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.attendance-mark-all{border:1px solid #d4dfd9;background:#fff;border-radius:10px;padding:9px 12px;font-weight:700;color:#26332d;cursor:pointer}
.attendance-counter{font-size:12px;color:#6f7b75}.attendance-counter strong{color:#087546}
.paradise-trainer-attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.paradise-trainer-attendance-player{display:flex;align-items:center;gap:10px;padding:11px 12px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;cursor:pointer;transition:.15s}
.paradise-trainer-attendance-player input{position:absolute;opacity:0;pointer-events:none}
.attendance-player-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#edf2ef;flex:0 0 40px}.attendance-player-avatar img{width:100%;height:100%;object-fit:cover}
.attendance-player-name{font-size:13px;font-weight:700;flex:1;min-width:0}.attendance-player-state{font-size:9px;font-weight:800;color:#8a9490}
.paradise-trainer-attendance-player.is-present{background:#eef8f1;border-color:#b9d9c3}.paradise-trainer-attendance-player.is-present .attendance-player-state{color:#087546}
.paradise-trainer-attendance-save{width:100%;margin-top:14px;border:0;border-radius:12px;padding:13px;background:#087546;color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.paradise-trainer-attendance-empty{padding:28px;background:#fff;border:1px dashed #d8e0db;border-radius:16px;text-align:center;color:#718079}.paradise-trainer-attendance-empty strong{display:block;color:#26332d;margin-bottom:5px}
@media(max-width:700px){.paradise-trainer-attendance-list{grid-template-columns:1fr}.paradise-trainer-attendance-summary{align-items:flex-start}.paradise-trainer-attendance-actions{align-items:stretch;flex-direction:column}}

/* 1.5.647 — trainer matches */
.paradise-trainer-matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-match-card{background:#fff;border:1px solid #e2e8e4;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-match-card-head{display:flex;justify-content:space-between;align-items:center;color:#6f7b75;font-size:12px;margin-bottom:16px}
.paradise-trainer-match-card-head strong{font-size:17px;color:#26332d}
.paradise-trainer-match-teams{display:grid;grid-template-columns:1fr 38px 1fr;gap:8px;align-items:center}
.match-team{text-align:center;min-width:0}.match-team-label{display:block;font-size:9px;letter-spacing:.06em;color:#8a9490;font-weight:800;margin-bottom:5px}
.match-team strong{display:block;font-size:13px;line-height:1.25}
.match-team.is-selected strong{color:#087546}
.match-vs{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f0f4f1;color:#75817b;font-size:10px;font-weight:800}
.paradise-trainer-match-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;padding-top:12px;border-top:1px solid #edf1ee}
.paradise-trainer-match-meta span{font-size:10px;color:#68746e;background:#f7f9f8;border-radius:7px;padding:5px 7px}
.paradise-trainer-match-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:9px;color:#8a9490}
@media(max-width:700px){.paradise-trainer-matches-grid{grid-template-columns:1fr}}

/* 1.5.647 — trainer matches use the same source as player dashboard */
.paradise-trainer-match-card{display:block;text-decoration:none;color:inherit}
.paradise-trainer-match-card .trainer-match-logo{display:block;width:42px;height:42px;object-fit:contain;margin:8px auto}
.paradise-trainer-match-card .match-team strong{display:block}
.paradise-trainer-match-card:hover{transform:translateY(-1px);box-shadow:0 9px 25px rgba(0,0,0,.06)}

/* 1.5.647 — trainer matches use the exact player-dashboard match UI */
.paradise-trainer-matches-content .paradise-trainer-match-empty-text{
    margin:18px 0;
    padding:20px;
    text-align:center;
    color:#748079;
    background:#fff;
    border:1px dashed #d9e1dc;
    border-radius:14px;
}

/* 1.5.647 — trainer statistics */
.paradise-trainer-stats-block{background:#fff;border:1px solid #e2e8e4;border-radius:18px;padding:16px;margin-bottom:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-stats-block-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.paradise-trainer-stats-block-head span:first-child{display:block;font-size:9px;letter-spacing:.1em;color:#087546;font-weight:800}
.paradise-trainer-stats-block-head h2{margin:4px 0 0;font-size:20px;color:#26332d}
.paradise-trainer-stats-season{font-size:11px!important;color:#7a8580!important;white-space:nowrap}
.paradise-trainer-stats-table-wrap{overflow-x:auto;border:1px solid #e1e7e4;border-radius:13px}
.paradise-trainer-stats-table{width:100%;min-width:700px;border-collapse:collapse;font-size:12px}
.paradise-trainer-stats-table th{background:#f5f7f6;color:#6d7873;font-size:10px;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:11px 10px;border-bottom:1px solid #e1e7e4;white-space:nowrap}
.paradise-trainer-stats-table td{padding:11px 10px;border-bottom:1px solid #edf0ee;white-space:nowrap;color:#34403b}
.paradise-trainer-stats-table tr:last-child td{border-bottom:0}
.paradise-trainer-stats-table .stats-player-name,.paradise-trainer-stats-table .stats-team-name{font-weight:800;color:#26332d}
.paradise-trainer-standings-table .is-selected-team td{background:#eef8f1}
.paradise-trainer-standings-table .is-selected-team .stats-team-name{color:#087546}
.paradise-trainer-stats-empty{padding:24px;text-align:center;color:#75817b;background:#f8faf9;border-radius:12px}
@media(max-width:700px){.paradise-trainer-stats-block{padding:12px}.paradise-trainer-stats-block-head{align-items:flex-start;flex-direction:column}.paradise-trainer-stats-table{min-width:680px}}

/* 1.5.647 — trainer statistics tabs */
.paradise-trainer-stats-tabs{display:flex;gap:7px;margin:0 0 14px;padding:4px;background:#f0f4f1;border-radius:12px;width:max-content}
.paradise-trainer-stats-tab{border:0;background:transparent;border-radius:9px;padding:9px 18px;font-size:12px;font-weight:800;color:#718079;cursor:pointer}
.paradise-trainer-stats-tab.active{background:#fff;color:#087546;box-shadow:0 2px 7px rgba(0,0,0,.06)}
.paradise-trainer-stats-tab-content{display:none}.paradise-trainer-stats-tab-content.active{display:block}
@media(max-width:700px){.paradise-trainer-stats-tabs{width:100%}.paradise-trainer-stats-tab{flex:1}}

/* 1.5.647 — final trainer statistics layout */
.paradise-trainer-subtable-title{font-size:13px;font-weight:800;color:#26332d;margin:18px 0 9px}
.paradise-trainer-goalkeepers-title{margin-top:22px;padding-top:18px;border-top:1px solid #edf1ee}
.paradise-trainer-stats-controls{display:flex;align-items:flex-end;gap:8px;margin:0 0 10px}
.paradise-stats-search,.paradise-stats-sort{display:block;min-width:180px}.paradise-stats-sort{min-width:145px}
.paradise-stats-search span,.paradise-stats-sort span{display:block;font-size:9px;font-weight:800;color:#75817b;margin:0 0 5px}
.paradise-stats-search input,.paradise-stats-sort select{width:100%;height:38px;border:1px solid #dce4df;border-radius:10px;background:#fff;padding:0 10px;font-size:12px;color:#26332d;box-sizing:border-box}
.trainer-stats-sort-direction{height:38px;width:38px;border:1px solid #dce4df;border-radius:10px;background:#fff;font-weight:800;color:#087546;cursor:pointer}
.paradise-trainer-stats-no-results{display:none;padding:12px;text-align:center;font-size:11px;color:#75817b}.paradise-trainer-stats-no-results.is-visible{display:block}
@media(max-width:700px){
 .paradise-trainer-stats-controls{display:grid;grid-template-columns:minmax(0,1fr) 116px 36px;gap:6px}
 .paradise-stats-search,.paradise-stats-sort{min-width:0}
 .paradise-trainer-stats-table-wrap{overflow:hidden;border-radius:11px}
 .paradise-trainer-stats-table{width:100%;min-width:0;table-layout:fixed;font-size:10px}
 .paradise-trainer-stats-table th,.paradise-trainer-stats-table td{padding:8px 3px;text-align:center;white-space:nowrap}
 .paradise-trainer-stats-table th:first-child,.paradise-trainer-stats-table td:first-child{text-align:left;width:34%;overflow:hidden;text-overflow:ellipsis}
 .paradise-trainer-goalkeepers-table th:first-child,.paradise-trainer-goalkeepers-table td:first-child{width:29%}
 /* Team standings: keep all 8 columns inside the phone and never overlap text. */
 .paradise-trainer-standings-table{font-size:9px}
 .paradise-trainer-standings-table th,.paradise-trainer-standings-table td{padding:8px 2px;white-space:nowrap;text-align:center}
 .paradise-trainer-standings-table th:nth-child(1),.paradise-trainer-standings-table td:nth-child(1){width:7%}
 .paradise-trainer-standings-table th:nth-child(2),.paradise-trainer-standings-table td:nth-child(2){width:37%;text-align:left;overflow:hidden;text-overflow:ellipsis}
 .paradise-trainer-standings-table th:nth-child(n+3),.paradise-trainer-standings-table td:nth-child(n+3){width:9.3%}
 .paradise-trainer-standings-table .stats-team-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* 1.5.647 — team standings mobile layout */
@media(max-width:700px){
    .paradise-trainer-standings-table{
        width:100%;
        min-width:0;
        table-layout:fixed;
        font-size:9px;
    }
    .paradise-trainer-standings-table th,
    .paradise-trainer-standings-table td{
        padding:8px 2px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        text-align:center;
    }
    .paradise-trainer-standings-table th:nth-child(1),
    .paradise-trainer-standings-table td:nth-child(1){width:6%}
    .paradise-trainer-standings-table th:nth-child(2),
    .paradise-trainer-standings-table td:nth-child(2){
        width:44%;
        text-align:left;
    }
    .paradise-trainer-standings-table th:nth-child(n+3),
    .paradise-trainer-standings-table td:nth-child(n+3){width:8.333%}
    .paradise-trainer-standings-table .stats-team-name{
        display:block;
        width:100%;
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        box-sizing:border-box;
    }
    .paradise-trainer-standings-table th:nth-child(7),
    .paradise-trainer-standings-table th:nth-child(8){font-size:8px}
}

/* 1.5.647 — force team standings column geometry on mobile */
@media(max-width:700px){
    .paradise-trainer-team-table-block .paradise-trainer-stats-table-wrap{
        overflow:hidden !important;
        width:100%;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        table-layout:fixed !important;
        font-size:9px;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-rank{width:6%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-team{width:46%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-stat{width:7%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-score{width:10%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-points{width:10%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table th,
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td{
        box-sizing:border-box;
        padding:8px 3px !important;
        vertical-align:middle;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table th{
        font-size:8px;
        white-space:nowrap;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td{
        white-space:nowrap;
        text-align:center;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td.stats-team-name{
        display:table-cell !important;
        width:auto !important;
        max-width:none !important;
        text-align:left;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:normal;
        line-height:1.15;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td.stats-team-name{
        font-size:9px;
    }
}

/* 1.5.647 — player dashboard statistics */
.player-stats-section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.player-stats-section-head>div>span,.paradise-trainer-stats-block-head>div>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#087546}
.player-stats-section-head h4{margin:4px 0 0;font-size:20px}.player-stats-section-head small{font-size:10px;color:#75817b}
.player-stats-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.player-stats-summary-grid>div{background:#f2f8f4;border-radius:12px;padding:12px 7px;text-align:center}
.player-stats-summary-grid strong{display:block;font-size:20px;color:#1f3028}.player-stats-summary-grid span{font-size:9px;color:#75817b}
.player-stats-empty{color:#75817b;font-size:12px;margin:12px 0}.player-dashboard-stats-tabs{margin:12px 0 10px}
.player-dashboard-stats-content{display:none}.player-dashboard-stats-content.active{display:block}
.player-stats-subtitle{font-size:12px;font-weight:800;color:#26332d;margin:0 0 8px}.player-goalkeepers-title{margin-top:18px;padding-top:16px;border-top:1px solid #edf1ee}
.player-stats-table-wrap{width:100%;overflow:hidden;border:1px solid #e1e8e4;border-radius:12px}
.player-dashboard-stats-table,.player-dashboard-standings-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}
.player-dashboard-stats-table th,.player-dashboard-stats-table td,.player-dashboard-standings-table th,.player-dashboard-standings-table td{padding:9px 5px;border-bottom:1px solid #e8eeeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.player-dashboard-stats-table th:first-child,.player-dashboard-stats-table td:first-child,.player-dashboard-standings-table th:nth-child(2),.player-dashboard-standings-table td:nth-child(2){text-align:left}
.player-dashboard-stats-table th:first-child,.player-dashboard-stats-table td:first-child{width:34%}
.player-dashboard-stats-table tr:last-child td,.player-dashboard-standings-table tr:last-child td{border-bottom:0}
.player-dashboard-stats-table .is-current-player td,.player-dashboard-standings-table .is-current-team td{background:#eef8f2;font-weight:700;color:#087546}
.current-player-mark{display:inline-block;margin-left:5px;font-size:8px;color:#087546;font-weight:800}
.player-dashboard-standings-table col.rank{width:6%}.player-dashboard-standings-table col.team{width:42%}.player-dashboard-standings-table col:not(.rank):not(.team):not(.score):not(.points){width:7%}.player-dashboard-standings-table col.score{width:11%}.player-dashboard-standings-table col.points{width:13%}
@media(max-width:700px){.player-stats-summary-grid{gap:5px}.player-stats-summary-grid>div{padding:10px 4px}.player-stats-summary-grid strong{font-size:18px}.player-dashboard-stats-table,.player-dashboard-standings-table{font-size:9px}.player-dashboard-stats-table th,.player-dashboard-stats-table td,.player-dashboard-standings-table th,.player-dashboard-standings-table td{padding:8px 2px}.player-dashboard-stats-table th:first-child,.player-dashboard-stats-table td:first-child{width:33%}.player-dashboard-standings-table th:nth-child(2),.player-dashboard-standings-table td:nth-child(2){width:42%;white-space:normal;line-height:1.15}}

/* 1.5.647 player statistics navigation */
.player-dashboard-stats-tabs{display:flex;gap:4px;background:#eef3f0;border-radius:14px;padding:4px}
.player-dashboard-stats-tabs .paradise-trainer-stats-tab{flex:1;border:0;border-radius:10px;background:transparent;padding:9px 8px;font-weight:700;cursor:pointer}
.player-dashboard-stats-tabs .paradise-trainer-stats-tab.active{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.08);color:#087546}
.player-dashboard-stats-content{display:none!important}
.player-dashboard-stats-content.active{display:block!important}

/* 1.5.647 — player dashboard: Zápasy submenu + personal statistics */
@media(max-width:767px){
    .paradise-mobile-nav-matches{position:relative;display:flex;align-items:stretch;justify-content:center}
    .paradise-mobile-nav-matches-toggle{
        width:100%;border:0;background:transparent;color:#69717b;border-radius:12px;
        padding:8px 4px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;
        display:flex;flex-direction:column;align-items:center;gap:2px;
    }
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-icon{font-size:20px;line-height:20px}
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-chevron{font-size:9px;line-height:8px}
    .paradise-mobile-nav-matches.is-open .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-matches.is-active .paradise-mobile-nav-matches-toggle{color:#087546;background:#eefbf5}
    .paradise-mobile-matches-menu{
        position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
        min-width:150px;padding:6px;border:1px solid #dfe7e2;border-radius:16px;
        background:rgba(255,255,255,.98);box-shadow:0 12px 35px rgba(19,39,29,.18);
        z-index:10001;
    }
    .paradise-mobile-matches-menu[hidden]{display:none}
    .paradise-mobile-matches-menu a{
        display:flex!important;flex-direction:row!important;align-items:center!important;
        justify-content:flex-start!important;gap:8px!important;min-height:42px!important;
        padding:7px 10px!important;border-radius:11px;color:#44514b!important;
        text-decoration:none!important;font-size:11px!important;font-weight:700!important;
    }
    .paradise-mobile-matches-menu a:hover,.paradise-mobile-matches-menu a.is-active{
        background:#eefbf5;color:#087546!important;
    }
}
@media(min-width:768px){
    .paradise-mobile-nav-matches{display:none}
}
.paradise-home-card-personal-stats{grid-column:1/-1}
.paradise-home-personal-stats-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.paradise-home-personal-stats-head>span{font-size:13px;font-weight:800;color:#087546;text-transform:uppercase;letter-spacing:.04em}
.paradise-home-personal-stats-head a{font-size:11px;font-weight:800;color:#087546;text-decoration:none}
.paradise-home-personal-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.paradise-home-personal-stats-grid>div{background:#f2f8f4;border-radius:12px;padding:10px;text-align:center}
.paradise-home-personal-stats-grid strong{display:block;font-size:19px;color:#1f3028}
.paradise-home-personal-stats-grid small{font-size:9px;color:#75817b}
.paradise-player-stats-personal-card,.paradise-player-stats-team-card{background:#fff;border:1px solid #e1e8e4;border-radius:18px;padding:18px;margin-bottom:14px}
.paradise-player-stats-personal-head,.paradise-player-stats-team-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.paradise-player-stats-personal-head span,.paradise-player-stats-team-head span{display:block;font-size:9px;font-weight:800;letter-spacing:.12em;color:#087546}
.paradise-player-stats-personal-head strong{display:block;font-size:20px;margin-top:4px;color:#1f3028}
.paradise-player-stats-personal-head b{font-size:10px;color:#087546;background:#eef8f2;padding:6px 8px;border-radius:10px}
.paradise-player-stats-personal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.paradise-player-stats-personal-grid>div{background:#f4f7f5;border-radius:12px;padding:11px 5px;text-align:center}
.paradise-player-stats-personal-grid strong{display:block;font-size:18px;color:#1f3028}
.paradise-player-stats-personal-grid span{font-size:9px;color:#75817b}
.paradise-player-stats-team-head h4{margin:4px 0 0;font-size:19px;color:#1f3028}
.paradise-player-stats-team-head small{font-size:10px;color:#75817b}
.paradise-player-stats-table-wrap{overflow-x:auto;border:1px solid #e1e8e4;border-radius:12px}
.paradise-player-stats-table{width:100%;min-width:520px;border-collapse:collapse;table-layout:fixed;font-size:11px}
.paradise-player-stats-table th,.paradise-player-stats-table td{padding:10px 6px;border-bottom:1px solid #e8eeeb;text-align:center;white-space:nowrap}
.paradise-player-stats-table th:first-child,.paradise-player-stats-table td:first-child{text-align:left;width:38%}
.paradise-player-stats-table tr:last-child td{border-bottom:0}
.paradise-player-stats-table .is-current-player td{background:#eef8f2;font-weight:700;color:#087546}
.paradise-player-stats-empty{color:#75817b;font-size:12px;margin:0}
@media(max-width:767px){
    .paradise-home-card-personal-stats{grid-column:1/-1}
    .paradise-home-personal-stats-grid{gap:5px}
    .paradise-home-personal-stats-grid>div{padding:9px 3px}
    .paradise-home-personal-stats-grid strong{font-size:17px}
    .paradise-home-personal-stats-grid small{font-size:8px}
    .paradise-player-stats-personal-card,.paradise-player-stats-team-card{padding:14px}
    .paradise-player-stats-personal-grid{grid-template-columns:repeat(5,1fr);gap:4px}
    .paradise-player-stats-personal-grid>div{padding:9px 2px}
    .paradise-player-stats-personal-grid strong{font-size:16px}
    .paradise-player-stats-personal-grid span{font-size:8px}
}

/* 1.5.647 — player dashboard: match submenu uses the same compact typography as Training */
@media (max-width: 767px) {
    .paradise-mobile-nav-matches-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron) {
        font-size: 11px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }
    .paradise-mobile-matches-menu {
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 16px) !important;
        padding: 4px !important;
        white-space: nowrap !important;
    }
    .paradise-mobile-matches-menu a {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        min-height: 36px !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    .paradise-mobile-matches-menu .paradise-mobile-sub-icon {
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 16px !important;
    }
}

/* 1.5.647 — player dashboard navigation + role-aware home statistics */
@media (max-width: 767px) {
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training {
        height: 54px !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle {
        min-height: 54px !important;
        height: 54px !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 2px !important;
        font-size: 9px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-nav-matches-toggle > span:not(.paradise-mobile-nav-icon),
    .paradise-mobile-nav-training-toggle > span:not(.paradise-mobile-nav-icon) {
        font-size: 9px !important;
        line-height: 1.1 !important;
        margin: 0 0 3px !important;
    }

    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-icon,
    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-icon {
        font-size: 19px !important;
        line-height: 20px !important;
        margin: 0 0 3px !important;
    }

    .paradise-mobile-matches-menu,
    .paradise-mobile-training-menu {
        min-width: 0 !important;
        width: max-content !important;
        max-width: calc(100vw - 20px) !important;
        padding: 4px !important;
        border-radius: 14px !important;
    }

    .paradise-mobile-matches-menu a,
    .paradise-mobile-training-menu a {
        min-height: 36px !important;
        height: 36px !important;
        padding: 6px 10px !important;
        gap: 7px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-matches-menu a > span:not(.paradise-mobile-sub-icon),
    .paradise-mobile-training-menu a > span:not(.paradise-mobile-sub-icon) {
        font-size: 11px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .paradise-mobile-matches-menu .paradise-mobile-sub-icon,
    .paradise-mobile-training-menu .paradise-mobile-sub-icon {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        font-size: 16px !important;
        margin: 0 !important;
    }

    .paradise-home-card-personal-stats {
        padding: 18px !important;
    }

    .paradise-home-personal-stats-head {
        margin-bottom: 14px !important;
    }

    .paradise-home-personal-stats-head > div {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .paradise-home-personal-stats-head > div > span {
        font-size: 12px !important;
        letter-spacing: .04em !important;
    }

    .paradise-home-personal-stats-head > div > small {
        font-size: 10px !important;
        color: #7a8580 !important;
    }

    .paradise-home-personal-stats-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 7px !important;
    }

    .paradise-home-personal-stats-grid > div {
        min-width: 0;
        padding: 11px 5px !important;
        border-radius: 12px !important;
    }

    .paradise-home-personal-stats-grid strong {
        font-size: 18px !important;
        line-height: 1.1 !important;
    }

    .paradise-home-personal-stats-grid small {
        display: block;
        margin-top: 4px !important;
        font-size: 8.5px !important;
        line-height: 1.1 !important;
    }

    .paradise-home-personal-stats-empty {
        padding: 14px;
        border-radius: 12px;
        background: #f5f7f6;
        color: #78837e;
        text-align: center;
        font-size: 11px;
    }
}

/* 1.5.647 — equal mobile nav controls, full player stats table, sortable headers */
@media(max-width:767px){
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training{
        display:flex !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        height:54px !important;
        min-height:54px !important;
        width:100% !important;
        padding:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }
    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle{
        appearance:none !important;
        -webkit-appearance:none !important;
        border:0 !important;
        outline:0 !important;
        box-shadow:none !important;
        background:transparent !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        flex-direction:column !important;
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        box-sizing:border-box !important;
        padding:0 !important;
        margin:0 !important;
    }

    .paradise-player-stats-table-wrap{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
    }
    .paradise-player-stats-table{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        table-layout:fixed !important;
        border-collapse:collapse !important;
        font-size:9px !important;
    }
    .paradise-player-stats-table th,
    .paradise-player-stats-table td{
        box-sizing:border-box !important;
        padding:8px 2px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }
    .paradise-player-stats-table th:first-child,
    .paradise-player-stats-table td:first-child{
        width:36% !important;
        text-align:left !important;
    }
    .paradise-player-stats-table th:not(:first-child),
    .paradise-player-stats-table td:not(:first-child){
        width:10.666% !important;
        text-align:center !important;
    }
    .paradise-stats-sort{
        display:flex !important;
        width:100% !important;
        align-items:center !important;
        justify-content:center !important;
        gap:1px !important;
        border:0 !important;
        padding:0 !important;
        margin:0 !important;
        background:transparent !important;
        color:inherit !important;
        font:inherit !important;
        font-weight:800 !important;
        cursor:pointer !important;
        white-space:nowrap !important;
    }
    .paradise-player-stats-table th:first-child .paradise-stats-sort{
        justify-content:flex-start !important;
    }
    .paradise-stats-sort span{
        font-size:8px !important;
        opacity:.55;
    }

    .paradise-home-personal-stats-grid{
        grid-template-columns:repeat(3,1fr) !important;
        gap:7px !important;
    }
    .paradise-home-personal-stats-grid > div{
        padding:10px 4px !important;
    }
    .paradise-home-personal-stats-grid strong{
        font-size:17px !important;
    }
    .paradise-home-personal-stats-grid small{
        font-size:8px !important;
    }
}

/* 1.5.647 — training card, stat info and perfectly aligned nav */
.paradise-home-training-day{
    margin-top:5px;
    font-size:15px;
    font-weight:800;
    color:#26332d;
}
.paradise-home-training-meta{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-top:8px;
}
.paradise-home-training-meta strong{
    font-size:15px !important;
    line-height:1.25;
    color:#26332d;
}
.paradise-stat-info{
    appearance:none;border:0;background:#f2f8f4;color:inherit;
    border-radius:12px;padding:9px 5px;text-align:center;
    cursor:pointer;font:inherit;min-width:0;
}
.paradise-stat-info strong{display:block;font-size:19px;line-height:1.1;color:#1f3028}
.paradise-stat-info span{font-size:9px;color:#75817b}
.paradise-stat-info:active{transform:scale(.98)}
.paradise-stat-info-popover{
    position:fixed;z-index:10050;left:50%;bottom:82px;transform:translateX(-50%);
    width:min(320px,calc(100vw - 32px));padding:16px 42px 16px 16px;
    border:1px solid #dfe7e2;border-radius:16px;background:#fff;
    box-shadow:0 14px 42px rgba(19,39,29,.22);
}
.paradise-stat-info-popover strong{display:block;font-size:14px;color:#1f3028;margin-bottom:5px}
.paradise-stat-info-popover p{margin:0;font-size:11px;line-height:1.45;color:#69756f}
.paradise-stat-info-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:22px;color:#75817b;cursor:pointer}
@media(max-width:767px){
    /* The wrapper itself is the grid item; give it the exact same geometry as <a>. */
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training{
        width:auto !important;
        height:54px !important;
        min-height:54px !important;
        align-self:stretch !important;
        display:block !important;
        position:relative !important;
        margin:0 !important;
        padding:0 !important;
    }
    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle{
        width:100% !important;height:54px !important;min-height:54px !important;
        border-radius:15px !important;padding:0 !important;margin:0 !important;
        justify-content:center !important;gap:0 !important;
    }
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-icon,
    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-icon{
        margin-bottom:3px !important;
    }
    .paradise-mobile-nav-matches-toggle > span:last-child,
    .paradise-mobile-nav-training-toggle > span:last-child{
        margin:0 !important;font-size:9px !important;line-height:1 !important;
    }
    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle{
        color:#6d7771 !important;
        font-weight:800 !important;
    }
    .paradise-mobile-nav-matches.is-active .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-matches.is-open .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training.is-active .paradise-mobile-nav-training-toggle,
    .paradise-mobile-nav-training.is-open .paradise-mobile-nav-training-toggle{
        color:var(--pc-green) !important;
        background:var(--pc-green-soft) !important;
    }
    .paradise-home-training-day{font-size:14px}
    .paradise-home-training-meta strong{font-size:14px !important}
    .paradise-stat-info{padding:10px 3px}
    .paradise-stat-info strong{font-size:18px}
}

/* 1.5.647 — personal statistics 3x2 + preserve tile text on interaction */
.paradise-player-stats-personal-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
}
.paradise-player-stats-personal-grid .paradise-stat-info{
    color:#1f3028 !important;
    -webkit-text-fill-color:#1f3028 !important;
    background:#f2f8f4 !important;
}
.paradise-player-stats-personal-grid .paradise-stat-info strong,
.paradise-player-stats-personal-grid .paradise-stat-info span{
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
}
.paradise-player-stats-personal-grid .paradise-stat-info:hover,
.paradise-player-stats-personal-grid .paradise-stat-info:focus,
.paradise-player-stats-personal-grid .paradise-stat-info:active{
    color:#1f3028 !important;
    -webkit-text-fill-color:#1f3028 !important;
    background:#e8f4ed !important;
    outline:none !important;
}
@media(max-width:767px){
    .paradise-player-stats-personal-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:7px !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info{
        min-width:0 !important;
        width:100% !important;
        min-height:74px !important;
        padding:10px 4px !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info strong{
        font-size:18px !important;
        line-height:1.1 !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info span{
        display:block !important;
        margin-top:4px !important;
        font-size:8.5px !important;
        line-height:1.1 !important;
    }
}

/* 1.5.647 — full personal-stat labels + aligned home card headings */
@media (max-width: 767px) {
    .paradise-player-stats-personal-grid .paradise-stat-info span {
        font-size: 8px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        min-height: 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .paradise-home-card-personal-stats .paradise-home-personal-stats-head,
    .paradise-home-card-training .paradise-home-training-head,
    .paradise-home-card-match .paradise-home-match-head {
        min-height: 28px !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    .paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span,
    .paradise-home-card-training .paradise-home-training-head > span,
    .paradise-home-card-match .paradise-home-match-head > span {
        font-size: 12px !important;
        line-height: 1.15 !important;
        font-weight: 800 !important;
        letter-spacing: .04em !important;
    }

    .paradise-home-card-training .paradise-home-training-day {
        margin-top: 4px !important;
    }

    .paradise-home-card-training .paradise-home-training-meta {
        margin-top: 7px !important;
    }
}

/* 1.5.647 — unified home card headings + livelier next-training card */
.paradise-home-card-eyebrow{
    display:block !important;
    color:#087546 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    letter-spacing:.10em !important;
    text-transform:uppercase !important;
    margin:0 0 14px !important;
}
.paradise-home-card-training{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.paradise-home-card-training:after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-52px;
    bottom:-58px;
    border-radius:50%;
    background:rgba(8,117,70,.055);
    pointer-events:none;
}
.paradise-home-training-main{
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
    z-index:1;
}
.paradise-home-training-icon{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#eaf6ef;
    font-size:23px;
    box-shadow:inset 0 0 0 1px rgba(8,117,70,.06);
}
.paradise-home-training-info{
    min-width:0;
}
.paradise-home-training-info > strong{
    display:block;
    font-size:20px !important;
    line-height:1.15 !important;
    color:#26332d !important;
}
.paradise-home-training-day{
    display:inline-block !important;
    margin-top:6px !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    background:#e8f5ed !important;
    color:#087546 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:800 !important;
}
.paradise-home-training-meta{
    position:relative;
    z-index:1;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    margin-top:14px !important;
}
.paradise-home-training-meta strong{
    display:inline-flex !important;
    align-items:center;
    padding:8px 10px !important;
    border:1px solid #e0e9e4;
    border-radius:10px;
    background:#fff;
    font-size:13px !important;
    line-height:1 !important;
    color:#3c4842 !important;
}
.paradise-home-card-personal-stats .paradise-home-card-eyebrow,
.paradise-home-card-match .paradise-home-card-eyebrow{
    margin-bottom:14px !important;
}
@media(max-width:767px){
    .paradise-home-card-eyebrow{
        font-size:11px !important;
        letter-spacing:.10em !important;
        margin-bottom:12px !important;
    }
    .paradise-home-training-main{gap:10px}
    .paradise-home-training-icon{width:42px;height:42px;flex-basis:42px;font-size:21px;border-radius:13px}
    .paradise-home-training-info > strong{font-size:19px !important}
    .paradise-home-training-day{font-size:9px !important;padding:4px 8px !important}
    .paradise-home-training-meta{margin-top:12px !important;gap:5px !important}
    .paradise-home-training-meta strong{font-size:12px !important;padding:7px 8px !important}
}

/* 1.5.647 — normalize all mobile navigation items to one exact geometry */
@media (max-width: 767px) {
    .paradise-mobile-nav {
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        align-items:stretch !important;
        justify-items:stretch !important;
        height:54px !important;
        min-height:54px !important;
        padding:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav > button,
    .paradise-mobile-nav > div {
        align-self:stretch !important;
        justify-self:stretch !important;
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex-direction:column !important;
        position:relative !important;
        top:0 !important;
        bottom:auto !important;
        transform:none !important;
    }

    .paradise-mobile-nav > a > *,
    .paradise-mobile-nav > button > *,
    .paradise-mobile-nav > div > a,
    .paradise-mobile-nav > div > button {
        position:static !important;
        margin:0 !important;
    }

    .paradise-mobile-nav > a .mobile-nav-icon,
    .paradise-mobile-nav > a .paradise-mobile-nav-icon,
    .paradise-mobile-nav > button .mobile-nav-icon,
    .paradise-mobile-nav > button .paradise-mobile-nav-icon,
    .paradise-mobile-nav > div .mobile-nav-icon,
    .paradise-mobile-nav > div .paradise-mobile-nav-icon {
        height:22px !important;
        min-height:22px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        line-height:22px !important;
    }

    .paradise-mobile-nav > a > span:last-child,
    .paradise-mobile-nav > button > span:last-child,
    .paradise-mobile-nav > div > a > span:last-child,
    .paradise-mobile-nav > div > button > span:last-child {
        line-height:11px !important;
        height:11px !important;
        min-height:11px !important;
        margin-top:3px !important;
    }

    /* Dropdown wrappers must occupy the exact same grid cell as a normal item. */
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training {
        display:flex !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        overflow:visible !important;
    }

    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle {
        flex:1 1 auto !important;
        align-self:stretch !important;
        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;
    }
}

/* 1.5.647 — player team table typography */
@media (max-width: 767px) {
    .paradise-player-stats-table th,
    .paradise-player-stats-table td {
        font-size: 10px !important;
    }

    .paradise-player-stats-table td:first-child {
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    .paradise-player-stats-table td:not(:first-child) {
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    .paradise-player-stats-table th {
        font-size: 9px !important;
        font-weight: 800 !important;
    }

    .paradise-player-stats-table .paradise-stats-sort {
        font-size: 9px !important;
    }
}

/* 1.5.647 — trainer/player role switch */
.paradise-dashboard-header{
    position:relative;
}
.paradise-role-switch{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:78px;
    height:38px;
    padding:0 13px;
    border-radius:12px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px;
    font-weight:800;
    box-shadow:0 4px 14px rgba(0,0,0,.08);
    transition:.15s ease;
}
.paradise-role-switch:hover{
    background:rgba(255,255,255,.25);
    transform:translateY(-1px);
}
.paradise-role-switch > span:first-child{font-size:15px;line-height:1}
.paradise-role-switch > span:last-child{line-height:1}
.paradise-player-header{
    position:relative;
}
.paradise-player-header .player-profile{
    padding-right:90px;
}
.paradise-player-header .player-role-switch{
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.18);
}
@media(max-width:767px){
    .paradise-dashboard-header .paradise-role-switch{
        min-width:64px;
        height:34px;
        padding:0 9px;
        font-size:9px;
        border-radius:10px;
    }
    .paradise-dashboard-header .paradise-role-switch > span:first-child{font-size:13px}
    .paradise-player-header .player-profile{padding-right:76px}
    .paradise-player-header .player-role-switch{
        right:12px;
        min-width:60px;
        height:32px;
        padding:0 8px;
        font-size:9px;
    }
}

/* 1.5.647 — role switch occupies the same header position as player notifications */
header.paradise-dashboard-header .paradise-role-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    bottom:auto !important;
    left:auto !important;
    margin:0 !important;
    z-index:1000 !important;
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    padding:0 !important;
    border-radius:12px !important;
    box-sizing:border-box !important;
}
header.paradise-dashboard-header .paradise-role-switch > span:first-child{
    font-size:15px !important;
}
header.paradise-dashboard-header .paradise-role-switch > span:last-child{
    font-size:9px !important;
}
@media(max-width:700px){
    header.paradise-dashboard-header .paradise-role-switch{
        top:10px !important;
        right:10px !important;
        width:38px !important;
        min-width:38px !important;
        height:38px !important;
    }
}

/* 1.5.647 — active profile switch at notification position */
header.paradise-dashboard-header .paradise-profile-mode-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    width:auto !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    z-index:1001 !important;
}
header.paradise-dashboard-header .paradise-profile-mode-switch:hover{
    background:rgba(255,255,255,.25) !important;
}
@media(max-width:700px){
    header.paradise-dashboard-header .paradise-profile-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player profile switch: visible in player header */
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    width:auto !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    z-index:1001 !important;
}
.paradise-player-header{
    position:relative !important;
}
@media(max-width:700px){
    .paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player mode switch uses the same reliable coach detection as the player profile */
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:20 !important;
}
@media(max-width:700px){
    .paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
        top:10px !important;
        right:10px !important;
    }
}

/* 1.5.647 — force the player/trainer profile switch into the green header */
.paradise-player-header{
    position:relative !important;
    overflow:visible !important;
}
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:9999 !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    width:auto !important;
    height:42px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.18) !important;
    border:1px solid rgba(255,255,255,.30) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch span{
    color:#fff !important;
    display:block !important;
}
@media(max-width:700px){
    .paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player mode switch, same account relationship as trainer dashboard */
.paradise-player-dashboard .paradise-player-header{
    position:relative !important;
    overflow:visible !important;
}
.paradise-player-dashboard .paradise-player-header .player-mode-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:99999 !important;
    display:flex !important;
    width:auto !important;
    min-width:72px !important;
    height:42px !important;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 12px !important;
    margin:0 !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#087546 !important;
    border:1px solid rgba(255,255,255,.65) !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    box-shadow:0 5px 16px rgba(0,0,0,.12) !important;
}
.paradise-player-dashboard .paradise-player-header .player-mode-switch:hover{
    background:#f3faf6 !important;
    color:#087546 !important;
}
@media(max-width:700px){
    .paradise-player-dashboard .paradise-player-header .player-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player dashboard active-profile switch */
.paradise-player-dashboard .paradise-player-header{
    position:relative !important;
    overflow:visible !important;
    padding-right:110px !important;
}
.paradise-player-dashboard .paradise-player-header > .player-mode-switch{
    position:absolute !important;
    top:50% !important;
    right:18px !important;
    transform:translateY(-50%) !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:100000 !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    width:72px !important;
    height:38px !important;
    padding:0 8px !important;
    margin:0 !important;
    border-radius:11px !important;
    background:#ffffff !important;
    color:#087546 !important;
    border:1px solid rgba(255,255,255,.8) !important;
    box-shadow:0 4px 14px rgba(0,0,0,.14) !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
.paradise-player-dashboard .paradise-player-header > .player-mode-switch span{
    display:block !important;
    color:#087546 !important;
}
@media(max-width:700px){
    .paradise-player-dashboard .paradise-player-header{
        padding-right:82px !important;
    }
    .paradise-player-dashboard .paradise-player-header > .player-mode-switch{
        right:10px !important;
        width:60px !important;
        min-width:60px !important;
        height:34px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — unified player/trainer profile header */
.paradise-player-header-unified{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    min-height:88px !important;
    padding:18px 20px !important;
    margin:0 0 16px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#087546 0%,#075d3a 100%) !important;
    color:#fff !important;
    overflow:hidden !important;
}
.paradise-player-header-unified:after{
    content:"";
    position:absolute;
    width:150px;
    height:150px;
    right:-65px;
    bottom:-90px;
    border-radius:50%;
    background:rgba(255,255,255,.07);
    pointer-events:none;
}
.paradise-player-profile{
    position:relative;
    z-index:1;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    min-width:0 !important;
}
.paradise-player-photo{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:rgba(255,255,255,.18) !important;
    border:2px solid rgba(255,255,255,.45) !important;
}
.paradise-player-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}
.paradise-player-info{
    min-width:0 !important;
}
.paradise-player-info h2{
    margin:0 !important;
    color:#fff !important;
    font-size:19px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
}
.paradise-player-current-team{
    margin-top:4px !important;
    color:rgba(255,255,255,.82) !important;
    font-size:11px !important;
    font-weight:700 !important;
}
.paradise-player-header-unified .unified-mode-switch{
    position:relative !important;
    z-index:2 !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    width:72px !important;
    height:42px !important;
    padding:0 10px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
.paradise-player-header-unified .unified-mode-switch:hover{
    background:rgba(255,255,255,.25) !important;
}
@media(max-width:700px){
    .paradise-player-header-unified{
        min-height:76px !important;
        padding:14px 12px !important;
        border-radius:15px !important;
        gap:10px !important;
    }
    .paradise-player-photo{
        width:44px !important;
        height:44px !important;
        flex-basis:44px !important;
    }
    .paradise-player-info h2{font-size:16px !important}
    .paradise-player-current-team{font-size:9px !important}
    .paradise-player-header-unified .unified-mode-switch{
        min-width:60px !important;
        width:60px !important;
        height:36px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — simple active player status */
.paradise-player-header-unified .paradise-profile-status{
    position:relative !important;
    z-index:2 !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
@media(max-width:700px){
    .paradise-player-header-unified .paradise-profile-status{
        min-width:60px !important;
        height:36px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — active profile status in the actual player dashboard header */
.paradise-dashboard-header{
    position:relative !important;
}
.paradise-dashboard-profile-status{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:100 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
@media(max-width:700px){
    .paradise-dashboard-profile-status{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — active player status in bottom-right corner */
.paradise-dashboard-header .paradise-dashboard-profile-status{
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    left:auto !important;
}
@media(max-width:700px){
    .paradise-dashboard-header .paradise-dashboard-profile-status{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
    }
}

/* 1.5.647 — player status becomes a switch only for trainer + player accounts */
.paradise-dashboard-profile-status-link{
    cursor:pointer !important;
    text-decoration:none !important;
    transition:transform .15s ease, background .15s ease !important;
}
.paradise-dashboard-profile-status-link:hover{
    background:rgba(255,255,255,.27) !important;
    color:#fff !important;
    transform:translateY(-1px) !important;
}

/* 1.5.647 — trainer/player switch aligned with the player profile status */
.paradise-trainer-header .paradise-profile-mode-switch{
    position:absolute !important;
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    width:72px !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    z-index:1001 !important;
}
.paradise-trainer-header .paradise-profile-mode-switch:hover{
    background:rgba(255,255,255,.27) !important;
    color:#fff !important;
}
@media(max-width:700px){
    .paradise-trainer-header .paradise-profile-mode-switch{
        right:10px !important;
        bottom:10px !important;
        width:60px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player and trainer dashboards use the same maximum width */
.paradise-dashboard{
    width:100% !important;
    max-width:1440px !important;
    box-sizing:border-box !important;
}
.paradise-dashboard-main{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
}
@media(min-width:701px){
    .paradise-dashboard{
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

/* 1.5.647 — trainer switch is anchored to the green header, not the inner profile */
.paradise-trainer-header > .paradise-dashboard-profile{
    position:static !important;
}
.paradise-trainer-header .paradise-profile-mode-switch{
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    left:auto !important;
    transform:none !important;
}
@media(max-width:700px){
    .paradise-trainer-header .paradise-profile-mode-switch{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
        left:auto !important;
        transform:none !important;
    }
}

/* 1.5.647 — both dashboards share the same full-width mobile shell */
#paradise-dashboard-top.paradise-dashboard,
.paradise-dashboard{
    width:100% !important;
    max-width:1440px !important;
    box-sizing:border-box !important;
}
.paradise-dashboard-main{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* Both profile switches are direct children of the green header. */
.paradise-dashboard-header{
    position:relative !important;
}
.paradise-dashboard-header .paradise-profile-mode-switch,
.paradise-dashboard-header .paradise-dashboard-profile-status{
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    left:auto !important;
    transform:none !important;
}
@media(max-width:700px){
    #paradise-dashboard-top.paradise-dashboard,
    .paradise-dashboard{
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .paradise-dashboard-main{
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
        box-sizing:border-box !important;
    }
    .paradise-dashboard-header .paradise-profile-mode-switch,
    .paradise-dashboard-header .paradise-dashboard-profile-status{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
        left:auto !important;
        transform:none !important;
    }
}

/* 1.5.647 — both dashboards use the full available viewport width */
#paradise-dashboard-top.paradise-dashboard,
.paradise-trainer-dashboard{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
}
#paradise-dashboard-top.paradise-dashboard .paradise-dashboard-main,
.paradise-trainer-dashboard .paradise-dashboard-main{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
}
@media(max-width:700px){
    #paradise-dashboard-top.paradise-dashboard,
    .paradise-trainer-dashboard{
        width:100vw !important;
        max-width:none !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
        border-radius:0 !important;
    }
    #paradise-dashboard-top.paradise-dashboard .paradise-dashboard-main,
    .paradise-trainer-dashboard .paradise-dashboard-main{
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
        box-sizing:border-box !important;
    }
    .paradise-trainer-header .paradise-profile-mode-switch{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
        left:auto !important;
        transform:none !important;
    }
}

/* 1.5.647 — desktop player home stats in one row */
@media(min-width:768px){
    .paradise-home-personal-stats-grid{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    .paradise-home-personal-stats-grid > div{
        min-width:0 !important;
        padding:10px 8px !important;
    }
}

/* 1.5.647 — personal stats: all six metrics in one row on desktop */
@media(min-width:768px){
    .paradise-player-stats-personal-grid{
        display:grid !important;
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:8px !important;
        width:100% !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info{
        min-width:0 !important;
        width:100% !important;
        box-sizing:border-box !important;
    }
}

/* Team table header: clean light header instead of black */
.paradise-player-stats-table thead th{
    background:#f2f8f4 !important;
    color:#26332d !important;
    border-bottom:1px solid #dce7e1 !important;
}
.paradise-player-stats-table thead th .paradise-stats-sort{
    color:#26332d !important;
    background:transparent !important;
}
.paradise-player-stats-table thead th .paradise-stats-sort:hover{
    color:#087546 !important;
    background:transparent !important;
}

/* 1.5.647 — larger player names and stat numbers in team table */
.paradise-player-stats-table tbody td{
    font-size:14px !important;
}
.paradise-player-stats-table tbody td:first-child{
    font-size:15px !important;
    font-weight:700 !important;
}
.paradise-player-stats-table tbody td:not(:first-child){
    font-size:15px !important;
    font-weight:800 !important;
}
.paradise-player-stats-table thead th{
    font-size:11px !important;
}
.paradise-player-stats-table thead th .paradise-stats-sort{
    font-size:11px !important;
}
@media(max-width:767px){
    .paradise-player-stats-table tbody td{
        font-size:13px !important;
    }
    .paradise-player-stats-table tbody td:first-child{
        font-size:14px !important;
    }
    .paradise-player-stats-table tbody td:not(:first-child){
        font-size:14px !important;
    }
}

/* 1.5.647 — registration account type */
.paradise-registration-account-type{
    grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;
    align-items:stretch;margin-bottom:16px;
}
.paradise-registration-section-label{display:flex;align-items:center;font-weight:800;color:#18352a;padding:0 4px}
.paradise-registration-type-option{
    display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dce7e1;
    border-radius:12px;background:#fff;cursor:pointer;
}
.paradise-registration-type-option input{accent-color:#087546}
.paradise-registration-type-option span{display:flex;flex-direction:column;gap:2px}
.paradise-registration-type-option strong{font-size:13px}
.paradise-registration-type-option small{font-size:10px;color:#68756f}
@media(max-width:767px){.paradise-registration-account-type{grid-template-columns:1fr}.paradise-registration-section-label{padding:0}}

.paradise-parent-zone{padding:20px;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.06)}
.paradise-parent-zone h2{margin:0 0 16px;color:#087546}
.paradise-parent-child{padding:12px 14px;margin:0 0 8px;border:1px solid #dfe9e3;border-radius:10px;background:#f8fbf9}
.paradise-parent-zone form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.paradise-parent-zone select{min-width:260px;padding:9px;border:1px solid #d7e2dc;border-radius:8px}
.paradise-parent-zone button{padding:9px 14px;border:0;border-radius:8px;background:#087546;color:#fff;font-weight:700;cursor:pointer}

/* 1.5.647 — parent dashboard */
.paradise-parent-dashboard{max-width:1100px;margin:0 auto;padding:0 0 28px}
.paradise-parent-hero{
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#087546,#0a9b5d);
    color:#fff;box-shadow:0 10px 28px rgba(8,117,70,.16);margin-bottom:18px;
}
.paradise-parent-eyebrow,.paradise-parent-section-label{font-size:10px;font-weight:900;letter-spacing:.12em}
.paradise-parent-hero h1{margin:5px 0 4px;font-size:30px;color:#fff}
.paradise-parent-hero p{margin:0;opacity:.86;font-size:13px}
.paradise-parent-count{min-width:90px;text-align:center;padding:12px 16px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);border-radius:15px}
.paradise-parent-count strong{display:block;font-size:27px;line-height:1}
.paradise-parent-count span{display:block;margin-top:5px;font-size:10px}
.paradise-parent-children-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.paradise-parent-child-card{
    display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #dfe9e3;
    border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.04)
}
.paradise-parent-child-avatar{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eaf6ef;font-size:22px}
.paradise-parent-child-body h2{margin:0 0 6px;font-size:18px;color:#21332a}
.paradise-parent-team{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f5ee;color:#087546;font-size:10px;font-weight:900}
.paradise-parent-muted{font-size:11px;color:#7a8780}
.paradise-parent-empty,.paradise-parent-pending{
    padding:20px;border-radius:16px;background:#f7faf8;border:1px dashed #cddbd3;
    display:flex;flex-direction:column;gap:5px;color:#4b5a52
}
.paradise-parent-request-card{padding:22px;border-radius:18px;background:#fff;border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.paradise-parent-request-card h2{margin:5px 0;color:#20362b;font-size:21px}
.paradise-parent-request-card p{margin:0 0 15px;color:#6d7872;font-size:12px}
.paradise-parent-request-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.paradise-parent-request-form label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:240px}
.paradise-parent-request-form label span{font-size:10px;font-weight:800;color:#4d5c54}
.paradise-parent-request-form select{width:100%;padding:10px 11px;border:1px solid #d5e1da;border-radius:10px;background:#fff}
.paradise-parent-request-form button{padding:10px 15px;border:0;border-radius:10px;background:#087546;color:#fff;font-weight:800;cursor:pointer}
.paradise-parent-notice{padding:12px 14px;border-radius:11px;background:#f4f8f5;border:1px solid #dfe9e3;margin-bottom:14px;font-size:12px}
.paradise-parent-notice.success{background:#edf8f1;color:#087546}
.paradise-parent-notice.error{background:#fff3f1;color:#9b3528}
@media(max-width:767px){
    .paradise-parent-dashboard{padding:0 0 24px}
    .paradise-parent-hero{padding:20px;border-radius:16px}
    .paradise-parent-hero h1{font-size:25px}
    .paradise-parent-children-grid{grid-template-columns:1fr}
    .paradise-parent-request-form label{min-width:100%}
    .paradise-parent-request-form button{width:100%}
}

/* 1.5.647 — parent child detail */
.paradise-parent-child-card{color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.paradise-parent-child-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.08)}
.paradise-parent-child-overview{margin-bottom:18px}
.paradise-parent-child-overview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;padding:22px 24px;border-radius:18px;background:#fff;border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.paradise-parent-child-overview-head h2{margin:6px 0 7px;font-size:28px;color:#20362b}
.paradise-parent-child-overview-head small{color:#718078}
.paradise-parent-back{display:inline-block;margin-bottom:12px;color:#087546;font-size:11px;font-weight:800;text-decoration:none}
.paradise-parent-child-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.paradise-parent-child-summary-grid>div{padding:17px;border-radius:15px;background:linear-gradient(145deg,#fff,#f7fbf8);border:1px solid #e0e9e4}
.paradise-parent-child-summary-grid span,.paradise-parent-stats-head span{display:block;font-size:9px;letter-spacing:.1em;font-weight:900;color:#087546}
.paradise-parent-child-summary-grid strong{display:block;margin-top:8px;font-size:17px;color:#26352e}
.paradise-parent-child-summary-grid small{display:block;margin-top:5px;color:#718078;font-size:11px}
.paradise-parent-stats-card{margin-top:12px;padding:18px;border-radius:15px;background:#fff;border:1px solid #dfe9e3}
.paradise-parent-stats-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.paradise-parent-stats-head small{font-size:10px;color:#6e7b74;font-weight:800}
.paradise-parent-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.paradise-parent-stats-grid>div{text-align:center;padding:11px 5px;border-radius:10px;background:#f6faf7}
.paradise-parent-stats-grid strong{display:block;font-size:19px;color:#18362a}
.paradise-parent-stats-grid small{display:block;margin-top:3px;font-size:9px;color:#728078}
@media(max-width:767px){
 .paradise-parent-child-overview-head{padding:18px;align-items:flex-start;flex-direction:column}
 .paradise-parent-child-overview-head h2{font-size:24px}
 .paradise-parent-child-summary-grid{grid-template-columns:1fr}
 .paradise-parent-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 1.5.647 — parent attendance */
.paradise-parent-attendance-card{
    margin-top:12px;padding:18px;border-radius:15px;background:#fff;border:1px solid #dfe9e3;
}
.paradise-parent-attendance-card .paradise-parent-stats-head strong{
    font-size:10px;color:#6e7b74;font-weight:800;
}
.paradise-parent-attendance-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-attendance-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 12px;border-radius:10px;background:#f6faf7;
}
.paradise-parent-attendance-row strong{display:block;font-size:12px;color:#26352e}
.paradise-parent-attendance-row small{display:block;margin-top:3px;color:#77847d;font-size:9px}
.paradise-parent-attendance-present{
    flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e8f6ed;color:#087546;
    font-size:9px;font-weight:900;
}
@media(max-width:767px){
    .paradise-parent-attendance-row{align-items:flex-start}
    .paradise-parent-attendance-present{margin-top:1px}
}

/* 1.5.647 — parent payments */
.paradise-parent-payment-card{margin-top:12px;padding:18px;border-radius:15px;background:#fff;border:1px solid #dfe9e3}
.paradise-parent-payment-status{padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900!important;letter-spacing:0!important}
.paradise-parent-payment-status.paid{background:#e8f6ed;color:#087546}
.paradise-parent-payment-status.expiring{background:#fff7e5;color:#9a6900}
.paradise-parent-payment-status.unpaid{background:#fff1ef;color:#9b3528}
.paradise-parent-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.paradise-parent-payment-summary>div{padding:12px;border-radius:10px;background:#f6faf7}
.paradise-parent-payment-summary small{display:block;font-size:8px;font-weight:900;color:#718078;letter-spacing:.06em}
.paradise-parent-payment-summary strong{display:block;margin-top:5px;font-size:15px;color:#21352b}
.paradise-parent-payment-history>strong{display:block;font-size:11px;margin-bottom:7px;color:#34433b}
.paradise-parent-payment-row{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;background:#f6faf7;border-radius:9px;margin-top:5px}
.paradise-parent-payment-row span{display:block;font-size:11px;font-weight:800;color:#35443c}
.paradise-parent-payment-row small{display:block;margin-top:2px;font-size:9px;color:#78847e}
.paradise-parent-payment-row>strong{font-size:12px;color:#263b30}
.paradise-parent-payment-empty{padding:11px;border-radius:10px;background:#f7faf8;color:#738079;font-size:10px}
@media(max-width:767px){
 .paradise-parent-payment-summary{grid-template-columns:1fr 1fr}
 .paradise-parent-payment-summary>div:last-child{grid-column:1/-1}
}

.paradise-parent-pay-button{
    margin:0 0 14px;padding:10px 15px;border:0;border-radius:10px;
    background:#087546;color:#fff;font-size:11px;font-weight:900;cursor:pointer;
}
.paradise-parent-pay-button:disabled{opacity:.65;cursor:wait}

.paradise-parent-pay-box{
    display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;
}
.paradise-parent-pay-box label{display:flex;flex-direction:column;gap:5px;min-width:210px}
.paradise-parent-pay-box label span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#66746c}
.paradise-parent-pay-amount{
    padding:10px 11px;border:1px solid #d5e1da;border-radius:10px;background:#fff;
    font-size:12px;font-weight:700;color:#263a30;
}
.paradise-parent-pay-box .paradise-parent-pay-button{margin:0}
@media(max-width:767px){
 .paradise-parent-pay-box label,.paradise-parent-pay-box button{width:100%}
}

/* 1.5.647 — parent notifications */
.paradise-parent-notifications-card{
    margin-bottom:18px;padding:18px;border-radius:18px;background:#fff;
    border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)
}
.paradise-parent-notifications-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px
}
.paradise-parent-notifications-head h2{margin:4px 0 0;font-size:21px;color:#20362b}
.paradise-parent-notifications-badge{
    padding:5px 9px;border-radius:999px;background:#edf8f1;color:#087546;
    font-size:9px;font-weight:900
}
.paradise-parent-notifications-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-notification{
    display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border-radius:11px;
    background:#f6faf7;border:1px solid transparent;color:inherit;text-decoration:none
}
.paradise-parent-notification.is-unread{background:#eef8f2;border-color:#d8ecdf}
.paradise-parent-notification-icon{
    flex:0 0 24px;width:24px;height:24px;border-radius:8px;display:flex;
    align-items:center;justify-content:center;background:#087546;color:#fff;font-size:12px;font-weight:900
}
.paradise-parent-notification strong{display:block;font-size:12px;color:#26382f}
.paradise-parent-notification p{margin:3px 0 0;font-size:10px;line-height:1.45;color:#6f7c75}
.paradise-parent-notification small{display:block;margin-top:4px;font-size:8px;color:#89948e}

.paradise-parent-notifications-empty{
    display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:11px;
    background:#f7faf8;border:1px dashed #d8e3dc;
}
.paradise-parent-notifications-empty-icon{
    flex:0 0 25px;width:25px;height:25px;border-radius:50%;display:flex;
    align-items:center;justify-content:center;background:#e8f6ed;color:#087546;
    font-size:12px;font-weight:900;
}
.paradise-parent-notifications-empty strong{display:block;font-size:11px;color:#34443b}
.paradise-parent-notifications-empty p{margin:3px 0 0;font-size:9px;color:#78847e}

/* 1.5.647 — parent matches, aligned with dashboard cards */
.paradise-parent-matches-card{
    margin-top:12px;padding:18px;border-radius:15px;background:#fff;
    border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)
}
.paradise-parent-matches-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px
}
.paradise-parent-matches-head h3{margin:4px 0 0;font-size:20px;color:#20362b}
.paradise-parent-matches-head>span:last-child{font-size:9px;color:#718078;font-weight:800}
.paradise-parent-matches-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-match-row{
    display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;
    padding:11px 12px;border-radius:11px;background:#f6faf7;
    border:1px solid transparent;text-decoration:none;color:inherit;transition:.15s ease
}
.paradise-parent-match-row:hover{border-color:#d8e8de;transform:translateY(-1px)}
.paradise-parent-match-date{
    width:46px;height:46px;border-radius:12px;background:#eaf6ef;
    display:flex;flex-direction:column;align-items:center;justify-content:center;color:#087546
}
.paradise-parent-match-date strong{font-size:17px;line-height:1}
.paradise-parent-match-date span{font-size:8px;font-weight:900;margin-top:3px;text-transform:uppercase}
.paradise-parent-match-info strong{display:block;font-size:12px;color:#26382f}
.paradise-parent-match-info span{display:block;margin-top:3px;font-size:9px;color:#718078}
.paradise-parent-match-info small{display:block;margin-top:3px;font-size:9px;color:#7c8982}
.paradise-parent-match-home{
    padding:5px 8px;border-radius:999px;background:#e9f5ee;color:#087546;
    font-size:8px;font-weight:900;white-space:nowrap
}
@media(max-width:767px){
    .paradise-parent-matches-card{padding:15px}
    .paradise-parent-match-row{grid-template-columns:46px minmax(0,1fr) auto;padding:9px}
    .paradise-parent-match-date{width:42px;height:42px}
    .paradise-parent-match-date strong{font-size:15px}
    .paradise-parent-match-info strong{font-size:11px}
    .paradise-parent-match-home{font-size:7px;padding:5px 6px}
}

/* 1.5.647 — parent dashboard uses the shared dashboard navigation styles. */
/* 1.5.647 — parent uses the same green header and notification treatment as player/trainer */
.paradise-parent-dashboard .paradise-dashboard-header{
    position:relative;
    overflow:hidden;
    min-height:178px;
    margin:0 0 18px;
    padding:0;
    border-radius:24px;
}
.paradise-parent-dashboard .paradise-dashboard-profile{
    min-height:178px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    gap:18px;
    padding:30px 34px;
}
.paradise-parent-dashboard .paradise-dashboard-greeting h2{color:#fff}
.paradise-parent-dashboard .paradise-dashboard-current-team{color:rgba(255,255,255,.78)}
@media(max-width:900px){
    .paradise-parent-dashboard .paradise-dashboard-header{min-height:154px}
    .paradise-parent-dashboard .paradise-dashboard-profile{min-height:154px;padding:20px 18px;padding-right:102px}
}

/* 1.5.647 — parent home cards mirror player/trainer dashboard */
.paradise-parent-home-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:0 0 18px;
}
.paradise-parent-home-cards .paradise-home-card{
    min-width:0;
}
.paradise-parent-home-cards .paradise-home-card-personal-stats{
    grid-column:1 / -1;
}
.paradise-parent-single-match{
    min-height:120px;
}
@media(max-width:900px){
    .paradise-parent-home-cards{grid-template-columns:1fr}
    .paradise-parent-home-cards .paradise-home-card-personal-stats{grid-column:auto}
}

@media(max-width:767px){.paradise-parent-home-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.paradise-parent-home-cards .paradise-home-card-personal-stats{grid-column:1/-1}}

/* 1.5.647 — parent navigation and content structure */
.paradise-parent-inline-child-picker{
    display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;
    background:#f6faf7;border:1px solid #e0eae4;border-radius:12px
}
.paradise-parent-inline-child-picker label{font-size:9px;font-weight:900;text-transform:uppercase;color:#738078}
.paradise-parent-inline-child-picker select{min-width:180px;border:0;background:transparent;font-size:12px;font-weight:800;color:#20362b;outline:0}
.paradise-parent-membership-card-link{display:inline-block;margin-top:10px;font-size:9px;font-weight:900;color:#087546;text-decoration:none}
.paradise-parent-section-heading{margin:0 0 14px}
.paradise-parent-section-heading h2{margin:4px 0 0;font-size:22px;color:#20362b}
.paradise-parent-matches-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-parent-matches-group{background:#fff;border:1px solid #dfe9e3;border-radius:15px;padding:16px}
.paradise-parent-matches-group-head{font-size:13px;color:#20362b;margin-bottom:10px}
.paradise-parent-match-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-match-list-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;border-radius:10px;background:#f6faf7;text-decoration:none;color:inherit}
.paradise-parent-match-list-date{font-size:10px;font-weight:900;color:#087546}
.paradise-parent-match-list-row strong{font-size:11px;color:#26382f}
.paradise-parent-match-list-row small{display:block;margin-top:3px;font-size:8px;color:#78847e}
.paradise-parent-match-score{white-space:nowrap}
.paradise-parent-match-result{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:900}
.paradise-parent-match-result.win{background:#e5f5eb;color:#087546}
.paradise-parent-match-result.loss{background:#faeaea;color:#a23b3b}
.paradise-parent-match-result.draw{background:#f1f2ee;color:#6f7772}
@media(max-width:767px){
 .paradise-parent-matches-columns{grid-template-columns:1fr}
 .paradise-parent-match-list-row{grid-template-columns:48px minmax(0,1fr) auto auto}
}

/* 1.5.647 — parent sections are shown only through navigation */
.paradise-parent-content-panel{display:none}
.paradise-parent-content-panel.is-active{display:block}
.paradise-parent-matches-panel{display:none}
.paradise-parent-content-panel .paradise-player-matches-content{margin-top:0}

/* 1.5.647 — parent "Iné" section */
#parent-panel-other .paradise-parent-request-card{
    max-width:760px;
}
#parent-panel-other .paradise-parent-section-heading{
    margin-bottom:16px;
}

/* 1.5.647 — public Paradise login */
.paradise-login-page{
    min-height:calc(100vh - 80px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px 20px;
    box-sizing:border-box;
    background:linear-gradient(180deg,#f4f8f5 0%,#ffffff 100%);
}
.paradise-login-card{
    width:min(100%,430px);
    padding:38px 38px 32px;
    box-sizing:border-box;
    border:1px solid #dce7e0;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 50px rgba(25,57,43,.10);
    text-align:center;
}
.paradise-login-logo img{display:block;width:86px;height:86px;object-fit:contain;margin:0 auto 14px}
.paradise-login-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;color:#087546}
.paradise-login-card h1{margin:7px 0 5px;font-size:30px;line-height:1.1;color:#20362b}
.paradise-login-intro{margin:0 0 24px;color:#7a8580;font-size:12px}
.paradise-login-form{text-align:left}
.paradise-login-form form{margin:0}
.paradise-login-form label{display:block;margin:0 0 7px;font-size:10px;font-weight:900;color:#405048}
.paradise-login-form input[type=text],
.paradise-login-form input[type=password]{
    width:100%;height:46px;padding:0 13px;box-sizing:border-box;border:1px solid #d8e3dd;border-radius:11px;
    background:#fbfdfc;font-size:13px;color:#20362b;outline:0;
}
.paradise-login-form input:focus{border-color:#0d7548;box-shadow:0 0 0 3px rgba(13,117,72,.10)}
.paradise-login-form .login-username,.paradise-login-form .login-password{margin:0 0 15px}
.paradise-login-form .login-remember{display:flex;align-items:center;gap:7px;margin:0 0 16px;font-size:10px;color:#69756f}
.paradise-login-form .login-remember input{margin:0}
.paradise-login-form .login-submit{margin:0}
.paradise-login-page .paradise-login-form input[type=submit],
.paradise-login-page .paradise-login-button{
    display:block !important;
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:11px !important;
    background:#087546 !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-align:center !important;
    text-indent:0 !important;
    text-decoration:none !important;
    line-height:46px !important;
    cursor:pointer !important;
    padding:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    box-shadow:none !important;
}
.paradise-login-page .paradise-login-form input[type=submit]:hover,
.paradise-login-page .paradise-login-form input[type=submit]:focus,
.paradise-login-page .paradise-login-form input[type=submit]:active,
.paradise-login-page .paradise-login-button:hover,
.paradise-login-page .paradise-login-button:focus,
.paradise-login-page .paradise-login-button:active{
    background:#075d39 !important;
    color:#fff !important;
    text-align:center !important;
    text-indent:0 !important;
}

.paradise-login-lost{display:block;margin:17px 0 0;font-size:10px;font-weight:800;color:#087546;text-decoration:none}
.paradise-login-register{margin-top:24px;padding-top:19px;border-top:1px solid #edf1ee;font-size:10px;color:#7b8580}
.paradise-login-register a{color:#087546;font-weight:900;text-decoration:none}
.paradise-login-error{margin:0 0 17px;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#a43f3f;font-size:10px;font-weight:800}
@media(max-width:520px){
    .paradise-login-page{padding:24px 14px}
    .paradise-login-card{padding:30px 22px 26px;border-radius:20px}
}

/* 1.5.647 — branded password recovery */
.paradise-login-logo-horizontal{width:auto!important;height:auto!important;margin:0 auto 18px!important}
.paradise-login-logo-horizontal img{width:auto!important;height:auto!important;max-width:250px!important;max-height:78px!important;object-fit:contain}
.paradise-forgot-form{text-align:left;margin-top:20px}
.paradise-forgot-form label{display:block;margin:0 0 7px;font-size:10px;font-weight:900;color:#405048}
.paradise-forgot-form input[type=email]{width:100%;height:46px;padding:0 13px;box-sizing:border-box;border:1px solid #d8e3dd;border-radius:11px;background:#fbfdfc;font-size:13px;color:#20362b;outline:0}
.paradise-forgot-form input[type=email]:focus{border-color:#0d7548;box-shadow:0 0 0 3px rgba(13,117,72,.10)}
.paradise-forgot-form button{width:100%;height:46px;margin-top:14px;border:0;border-radius:11px;background:#087546;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
.paradise-forgot-form button:hover{background:#075d39}
.paradise-login-success{margin:0 0 17px;padding:11px 12px;border-radius:10px;background:#eef8f2;color:#087546;font-size:10px;font-weight:800;line-height:1.5}

.paradise-forgot-form input[type=password]{
    width:100%;height:46px;padding:0 13px;box-sizing:border-box;border:1px solid #d8e3dd;
    border-radius:11px;background:#fbfdfc;font-size:13px;color:#20362b;outline:0;
}
.paradise-forgot-form input[type=password]:focus{border-color:#0d7548;box-shadow:0 0 0 3px rgba(13,117,72,.10)}

/* 1.5.647 — parent home fallback/child chooser */
.paradise-parent-empty-home{max-width:760px;padding:32px;border:1px solid #e2ebe5;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(25,57,43,.06)}
.paradise-parent-empty-home h2{margin:7px 0 8px}
.paradise-parent-empty-home p{color:#718078}
.paradise-parent-child-choice-list{display:grid;gap:10px;margin-top:18px}
.paradise-parent-child-choice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;border:1px solid #dce7e0;border-radius:13px;text-decoration:none;background:#fbfdfc;color:#20362b}
.paradise-parent-child-choice span{font-size:11px;color:#087546;font-weight:800}

/* 1.5.647 — dashboard logout */
.paradise-sidebar-user-info{min-width:0}
.paradise-dashboard-logout{
    display:inline-block;
    margin-top:5px;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    color:inherit;
    opacity:.72;
    text-decoration:none;
    transition:opacity .15s ease;
}
.paradise-dashboard-logout:hover{opacity:1;text-decoration:underline}
@media(max-width:700px){
    .paradise-dashboard-logout{font-size:9px;margin-top:4px}
}

/* 1.5.647 — informational manual notification */
.paradise-notification-icon-admin_message{background:#e8f1f8;color:#2d668c;font-size:17px;font-weight:800;line-height:1;}

/* 1.5.647 — training change warning icon */
.paradise-notification-icon-training_change,
.paradise-notification-icon-player_training_change,
.paradise-notification-icon-parent_training_change,
.paradise-notification-icon-training_cancelled,
.paradise-notification-icon-training_override{
    background:#fff0e6;
    color:#c75b16;
    font-size:16px;
    font-weight:900;
}

/* 1.5.647 — manual notification icon variants */
.paradise-notification-icon-admin_message_warning{background:#fff0e6;color:#c75b16;font-size:16px;font-weight:900;}
.paradise-notification-icon-admin_message_success{background:#e7f3ea;color:#2f7548;font-size:16px;font-weight:900;}
.paradise-notification-icon-admin_message_calendar{background:#e8f1f8;color:#2d668c;font-size:15px;}
.paradise-notification-icon-admin_message_payment{background:#fff4d9;color:#9b7417;font-size:15px;font-weight:900;}
.paradise-notification-icon-admin_message_star{background:#fff4d9;color:#9b7417;font-size:16px;font-weight:900;}
.paradise-notification-icon-admin_message_announcement{background:#f0eaf8;color:#73509a;font-size:15px;}

/* Registration desktop layout — clean two-column form with club logo */
.paradise-registration{
    width:min(920px,calc(100% - 32px));
    max-width:920px;
    margin:32px auto 48px;
}
.paradise-registration-header{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 22px;
    padding:0 6px;
}
.paradise-registration-logo{
    display:block;
    width:92px;
    height:92px;
    object-fit:contain;
    flex:0 0 92px;
}
.paradise-registration-logo-full{
    width:200px;
    height:auto;
    max-width:42vw;
    flex:0 0 auto;
}
.paradise-registration-header h1{
    margin:0;
    font-size:28px;
    line-height:1.15;
    font-weight:800;
}
.paradise-registration-header p{
    margin:6px 0 0;
    color:#6f7974;
    font-size:14px;
}
.paradise-registration-form{
    padding:28px;
    border-radius:20px;
}
.paradise-registration-account-type{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:20px;
}
.paradise-registration-section-label{
    grid-column:1/-1;
    margin-bottom:0;
    font-size:12px;
    font-weight:800;
}
.paradise-registration-type-option{
    min-height:72px;
    box-sizing:border-box;
    padding:13px 15px;
    border:1px solid #dfe6e2;
    border-radius:12px;
    background:#fff;
    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    gap:11px !important;
    cursor:pointer;
}
.paradise-registration-type-option input{
    width:18px !important;
    height:18px;
    flex:0 0 18px;
    margin:0;
}
.paradise-registration-type-option span{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.paradise-registration-type-option small{
    color:#78827d;
    font-size:11px;
    font-weight:400;
}
.paradise-registration-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
}
.paradise-registration-form label.full{
    grid-column:1/-1;
}
.paradise-registration-form button{
    max-width:none;
}
@media(max-width:600px){
    .paradise-registration{
        width:calc(100% - 24px);
        margin:20px auto 32px;
    }
    .paradise-registration-header{
        margin-bottom:16px;
    }
    .paradise-registration-logo{
        width:68px;
        height:68px;
        flex-basis:68px;
    }
    .paradise-registration-logo-full{
        width:150px;
        height:auto;
        max-width:48vw;
        flex-basis:auto;
    }
    .paradise-registration-header h1{
        font-size:23px;
    }
    .paradise-registration-account-type{
        grid-template-columns:1fr;
    }
    .paradise-registration-form{
        padding:18px;
    }
}


/* Player Person photo */
.paradise-parent-child-photo{
    width:64px;
    height:64px;
    flex:0 0 64px;
    border-radius:50%;
    overflow:hidden;
    background:#f2f4f3;
}
.paradise-parent-child-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

/* Shared account profile */
.paradise-profile{width:min(860px,calc(100% - 32px));margin:32px auto 56px}
.paradise-profile h2{margin:0 0 22px}
.paradise-profile-header{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:18px;border-radius:18px;background:#fff;border:1px solid #e4e9e6}
.paradise-profile-header img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.paradise-profile-header h3{margin:0 0 4px}.paradise-profile-header p{margin:0;color:#6f7974}
.paradise-profile form,.paradise-profile-section{padding:22px;margin-top:18px;border-radius:18px;background:#fff;border:1px solid #e4e9e6}
.paradise-profile form p{margin:0 0 15px}
.paradise-profile input[type="text"],.paradise-profile input[type="email"],.paradise-profile input[type="password"]{width:100%;max-width:560px;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d7dfdb;border-radius:10px}
.paradise-profile input:disabled{background:#f3f5f4}.paradise-profile small{display:block;margin-top:5px;color:#7a837f}
.paradise-profile-section-heading h3{margin:0 0 4px}.paradise-profile-section-heading p{margin:0 0 16px;color:#6f7974}
.paradise-profile-message{padding:11px 14px;border-radius:10px;margin:14px 0}.paradise-profile-message-success{background:#eef8f1}.paradise-profile-message-error{background:#fff1f1}
.paradise-profile-submit{margin-top:4px}.paradise-passkey-card{padding:0!important;border:0!important;background:transparent!important}
@media(max-width:600px){.paradise-profile{width:calc(100% - 24px);margin:20px auto 36px}.paradise-profile-header{padding:16px}.paradise-profile-header img{width:72px;height:72px}.paradise-profile form,.paradise-profile-section{padding:16px}}


/* 1.5.647 — mobile account avatar menu: inside dashboard header */
.paradise-account-menu{display:none;position:absolute;z-index:10001;top:10px;right:10px;}
.paradise-account-button{width:42px;height:42px;padding:2px;border:0;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 3px 12px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.paradise-account-button img{display:block;width:36px;height:36px;border-radius:50%;object-fit:cover;}
.paradise-account-button:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.paradise-account-popover{position:fixed;top:70px;right:12px;width:min(300px,calc(100vw - 24px));background:#fff;border:1px solid #e4e9e6;border-radius:16px;box-shadow:0 18px 48px rgba(24,42,32,.20);overflow:hidden;z-index:10002;}
.paradise-account-popover[hidden]{display:none!important;}
.paradise-account-user{display:flex;align-items:center;gap:11px;padding:14px 16px;background:#f8faf8;border-bottom:1px solid #e7ece9;}
.paradise-account-user img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;}
.paradise-account-user strong,.paradise-account-user span{display:block;}
.paradise-account-user strong{font-size:14px;color:#26332c;line-height:1.2;}
.paradise-account-user span{margin-top:3px;font-size:11px;color:#6c7871;}
.paradise-account-links{display:flex;flex-direction:column;padding:6px 0;}
.paradise-account-links a{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 16px;color:#26332c;text-decoration:none;font-size:13px;font-weight:600;}
.paradise-account-links a:hover,.paradise-account-links a:focus{background:#f2f7f3;color:#2d6b45;outline:0;}
.paradise-account-links a:first-child{font-weight:700;}
.paradise-account-links a span{flex:1;}
.paradise-account-logout{border-top:1px solid #edf0ee;margin-top:5px;padding-top:5px!important;color:#a54848!important;}
/* 1.5.647 — compact account submenu and close after selection */
.paradise-account-popover{width:min(250px,calc(100vw - 24px));border-radius:14px;}
.paradise-account-user{gap:9px;padding:10px 13px;}
.paradise-account-user img{width:36px;height:36px;flex-basis:36px;}
.paradise-account-user strong{font-size:13px;}
.paradise-account-user span{font-size:10px;margin-top:2px;}
.paradise-account-links{padding:4px 0;}
.paradise-account-links a{gap:9px;min-height:38px;padding:0 13px;font-size:12px;}
.paradise-account-logout{margin-top:3px;padding-top:3px!important;}

/* 1.5.647 — mobile account icon matches the notification bell */
.paradise-account-button{
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
}
.paradise-account-icon{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    display:block;
    transition:transform .15s ease;
}
.paradise-account-button:hover .paradise-account-icon,
.paradise-account-button:focus-visible .paradise-account-icon{
    transform:scale(1.08);
}
@media(min-width:701px){
    .paradise-account-button{display:none;}
}

/* Dashboard profile panel layout. */
.paradise-dashboard-profile-panel .paradise-profile{width:100%;max-width:none;margin:0;}
.paradise-dashboard-profile-panel .paradise-profile h2{margin-top:0;}
.paradise-dashboard-profile-panel .paradise-profile-header,.paradise-dashboard-profile-panel .paradise-profile form,.paradise-dashboard-profile-panel .paradise-profile-section{box-sizing:border-box;}


/* 1.5.647 — stable registration fields inside the existing dashboard profile. */
.paradise-dashboard-profile-panel .paradise-profile-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:18px}
.paradise-dashboard-profile-panel .paradise-profile-field{margin:0 0 15px}
.paradise-dashboard-profile-panel .paradise-profile-field-full{grid-column:1/-1}
.paradise-dashboard-profile-panel .paradise-profile-field input,.paradise-dashboard-profile-panel .paradise-profile-field select,.paradise-dashboard-profile-panel .paradise-profile-field textarea{width:100%;max-width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d7dfdb;border-radius:10px;background:#fff;font:inherit}
.paradise-dashboard-profile-panel .paradise-profile-field textarea{min-height:78px;resize:vertical}
@media(max-width:600px){.paradise-dashboard-profile-panel .paradise-profile-registration-grid{grid-template-columns:1fr;gap:0}.paradise-dashboard-profile-panel .paradise-profile-field-full{grid-column:auto}}

/* 1.5.647 — Parent profile uses the same dashboard panel shell as player/trainer. */
.paradise-parent-dashboard #parent-panel-profile{
    width:100%;
    max-width:100%;
    margin:0;
    box-sizing:border-box;
}
.paradise-parent-dashboard #parent-panel-profile .paradise-profile{
    width:100%;
    max-width:none;
    margin:0;
    box-sizing:border-box;
}
.paradise-parent-dashboard #parent-panel-profile .paradise-profile-view{width:100%;box-sizing:border-box}
@media(max-width:600px){
    .paradise-parent-dashboard #parent-panel-profile .paradise-profile{margin:0;width:100%;}
}

/* 1.5.647 — keep all parent dashboard content panels inside one shared content shell. */
.paradise-parent-panels{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}
.paradise-parent-panels > .paradise-parent-content-panel{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* 1.5.647 — parent Môj profil uses the exact dashboard panel surface.
 * Parent navigation still controls visibility via .is-active, so only the
 * profile panel receives the shared panel shell; other parent panels remain unchanged.
 */


/* 1.5.647 — parent dashboard shell/profile visual parity only.
 * Keep the parent's existing panel/navigation logic intact; only align the
 * outer shell width and make Môj profil use the same panel surface as player/trainer.
 */
.paradise-parent-dashboard{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
}
.paradise-parent-dashboard .paradise-dashboard-main{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}
.paradise-parent-dashboard #parent-panel-profile{
    padding:22px !important;
    border:1px solid var(--paradise-border) !important;
    border-radius:var(--paradise-radius) !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(16,19,24,.06) !important;
    box-sizing:border-box !important;
}
.paradise-parent-dashboard #parent-panel-profile .paradise-profile{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
@media(max-width:700px){
    .paradise-parent-dashboard{
        width:100vw !important;
        max-width:none !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
    }
    .paradise-parent-dashboard .paradise-dashboard-main{
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }
    .paradise-parent-dashboard #parent-panel-profile{
        padding:16px !important;
    }
}

/* 1.5.647 — parent home upcoming training carousel */
.paradise-home-card-training .paradise-home-trainings-carousel{position:relative;overflow:hidden;min-width:0;}
.paradise-home-trainings-track{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;min-width:100%;transition:transform .28s ease;will-change:transform;}
.paradise-home-training-slide{flex:0 0 100%;width:100%;min-width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:108px;padding:4px 34px 2px;}
.paradise-home-training-nav{position:absolute;top:50%;z-index:3;width:30px;height:30px;margin-top:-15px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #dfe7e2;border-radius:50%;background:#fff;color:#315044;box-shadow:0 4px 12px rgba(20,55,40,.10);font:inherit;font-size:22px;line-height:1;cursor:pointer;}
.paradise-home-training-prev{left:4px}.paradise-home-training-next{right:4px}
.paradise-home-training-nav:hover{background:#f3f8f5;border-color:#bfd3c7}
.paradise-home-training-nav:disabled{opacity:.25;cursor:default}
.paradise-home-training-dots{display:flex;justify-content:center;gap:5px;margin-top:9px}
.paradise-home-training-dots i{width:5px;height:5px;border-radius:50%;background:#d7dfda}
.paradise-home-training-dots i.active{width:14px;border-radius:8px;background:var(--pc-green,#0d6b43)}
@media(max-width:900px){
 .paradise-home-trainings-carousel{touch-action:pan-y}
 .paradise-home-training-nav{width:28px;height:28px;margin-top:-14px}
 .paradise-home-training-slide{min-height:125px;padding-left:32px;padding-right:32px}
}


/* 1.5.647 — training time centered in unified training cards */
.paradise-home-training-meta .paradise-home-training-time{width:100%;justify-content:center;text-align:center;}


/* 1.5.647 — clean, consistent upcoming-training card layout across player, parent and trainer */
.paradise-home-card-training .paradise-home-trainings-carousel{
    width:100%;
    min-width:0;
}
.paradise-home-card-training .paradise-home-trainings-track{
    align-items:stretch;
}
.paradise-home-card-training .paradise-home-training-slide{
    position:relative;
    min-height:128px;
    padding:6px 46px 4px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.paradise-home-card-training .paradise-home-training-main{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.paradise-home-card-training .paradise-home-training-info{
    width:100%;
    min-width:0;
    text-align:center;
}
.paradise-home-card-training .paradise-home-training-info > strong{
    margin:0;
    font-size:18px !important;
    line-height:1.2 !important;
}
.paradise-home-card-training .paradise-home-training-day{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    margin:7px auto 0 !important;
}
.paradise-home-card-training .paradise-home-training-meta{
    width:100%;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    margin-top:10px !important;
}
.paradise-home-card-training .paradise-home-training-meta strong{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-align:center !important;
}
.paradise-home-card-training .paradise-home-training-time{
    order:1;
    font-size:21px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    color:#26332d !important;
}
.paradise-home-card-training .paradise-home-training-date{
    order:2;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    color:#7c8781 !important;
}
.paradise-home-card-training .paradise-home-training-nav{
    top:50%;
}
@media(max-width:767px){
    .paradise-home-card-training .paradise-home-training-slide{
        min-height:122px;
        padding-left:38px;
        padding-right:38px;
    }
    .paradise-home-card-training .paradise-home-training-info > strong{
        font-size:17px !important;
    }
    .paradise-home-card-training .paradise-home-training-time{
        font-size:20px !important;
    }
    .paradise-home-card-training .paradise-home-training-date{
        font-size:10px !important;
    }
}


/* 1.5.647 — refreshed membership home card */
.paradise-parent-home-cards .paradise-home-card-membership{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-parent-home-cards .paradise-home-card-membership:after{
    content:"";
    position:absolute;
    width:110px;
    height:110px;
    right:-48px;
    bottom:-55px;
    border-radius:50%;
    background:rgba(8,117,70,.055);
    pointer-events:none;
}
.paradise-home-membership-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    position:relative;
    z-index:1;
}
.paradise-home-membership-head .paradise-home-card-eyebrow{
    margin-bottom:12px !important;
}
.paradise-home-membership-mark{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e9f6ef;
    color:#087546;
    font-size:15px;
    font-weight:900;
}
.paradise-home-card-membership.is-unpaid .paradise-home-membership-mark{
    background:#fff3e8;
    color:#b56b1e;
}
.paradise-home-membership-status{
    display:flex;
    align-items:center;
    gap:8px;
    position:relative;
    z-index:1;
}
.paradise-home-membership-status strong{
    color:#17221c;
    font-size:20px;
    line-height:1.15;
}
.paradise-home-membership-validity{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-top:6px;
    position:relative;
    z-index:1;
}
.paradise-home-membership-validity strong{
    color:#26332d;
    font-size:11px;
    line-height:1.25;
}
.paradise-home-membership-validity small{
    color:#7c8781;
    font-size:10px;
    line-height:1.2;
}
.paradise-parent-membership-card-link{
    position:relative;
    z-index:1;
    margin-top:auto !important;
    padding-top:12px;
    font-size:10px !important;
}
@media(max-width:767px){
    .paradise-home-membership-status strong{font-size:17px}
    .paradise-home-membership-mark{width:25px;height:25px;flex-basis:25px;font-size:13px}
}

/* 1.5.647 — unified membership card presentation across player, parent and trainer */
.paradise-membership-card-unified{
    position:relative;
    overflow:hidden;
    box-sizing:border-box;
}
.paradise-membership-card-unified:after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-52px;
    bottom:-60px;
    border-radius:50%;
    background:rgba(8,117,70,.055);
    pointer-events:none;
}
.paradise-membership-card-unified.is-paid,
.paradise-membership-card-unified:has(.membership-green){
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-membership-card-unified.is-unpaid,
.paradise-membership-card-unified:has(.membership-orange),
.paradise-membership-card-unified:has(.membership-red){
    background:linear-gradient(145deg,#ffffff 0%,#fffaf5 100%);
}
/* Player */
.member-credit-card.paradise-membership-card-unified{
    min-height:140px;
}
.member-credit-card.paradise-membership-card-unified > strong,
.member-credit-card.paradise-membership-card-unified > .membership-status,
.member-credit-card.paradise-membership-card-unified > .credit-topup-toggle{
    position:relative;
    z-index:1;
}
.member-credit-card.paradise-membership-card-unified > strong:first-child{
    color:#17221c;
}
.member-credit-card.paradise-membership-card-unified .membership-status{
    font-size:18px;
    font-weight:700;
}
.member-credit-card.paradise-membership-card-unified .credit-topup-toggle{
    color:#087546;
    font-weight:700;
}
/* Parent */
.paradise-home-card-membership.paradise-membership-card-unified{
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid{
    background:linear-gradient(145deg,#ffffff 0%,#fffaf5 100%);
}
/* Trainer */
.paradise-trainer-player-membership.paradise-membership-card-unified{
    position:relative;
    margin:15px 0;
    padding:13px 14px;
    border:1px solid #e1e9e4;
    box-shadow:0 5px 16px rgba(0,0,0,.025);
}
.paradise-trainer-player-membership.paradise-membership-card-unified.is-paid{
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-trainer-player-membership.paradise-membership-card-unified.is-unpaid{
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%);
}
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified,
    .paradise-home-card-membership.paradise-membership-card-unified{
        min-height:118px;
    }
}

/* 1.5.647 — force the same visual treatment on the actual player/trainer markup */
.member-credit-card.paradise-membership-card-unified,
.paradise-home-card-membership.paradise-membership-card-unified,
.paradise-trainer-player-membership.paradise-membership-card-unified {
    border:1px solid #e1e9e4 !important;
    border-radius:16px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.member-credit-card.paradise-membership-card-unified.is-unpaid,
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid,
.paradise-trainer-player-membership.paradise-membership-card-unified.is-unpaid {
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.member-credit-card.paradise-membership-card-unified {
    padding:18px !important;
}
.member-credit-card.paradise-membership-card-unified > strong:first-child {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin-bottom:12px !important;
}
.member-credit-card.paradise-membership-card-unified .membership-status {
    display:block !important;
    margin-bottom:8px !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified {
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified > div {
    position:relative;
    z-index:1;
}
.paradise-trainer-player-membership.paradise-membership-card-unified small {
    display:block !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    color:#6b756f !important;
    margin-bottom:3px !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified strong {
    display:block !important;
    font-size:15px !important;
    color:#17221c !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified span:not(.membership-status-dot) {
    display:block !important;
    color:#68736d !important;
    font-size:13px !important;
}

/* 1.5.647 — player membership card matches the parent card presentation */
.member-credit-card.paradise-membership-card-unified {
    min-height: 140px !important;
    padding: 18px !important;
    border: 1px solid #e1e9e4 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.035) !important;
    box-sizing: border-box !important;
    background: linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange,
.member-credit-card.paradise-membership-card-unified.membership-red {
    background: linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.player-membership-head {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    position:relative !important;
    z-index:2 !important;
}
.player-membership-title {
    font-size:16px !important;
    font-weight:700 !important;
    color:#17221c !important;
}
.player-membership-body {
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:2 !important;
}
.member-credit-card.paradise-membership-card-unified .membership-status {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    background:rgba(46,157,77,.10) !important;
    color:#248341 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:center !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange .membership-status,
.member-credit-card.paradise-membership-card-unified.membership-red .membership-status {
    background:rgba(216,137,0,.11) !important;
    color:#b66f00 !important;
}
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified {
        min-height:118px !important;
        padding:16px !important;
    }
    .player-membership-body { min-height:58px !important; }
    .member-credit-card.paradise-membership-card-unified .membership-status { font-size:15px !important; }
}


/* 1.5.647 — player membership card cache-busted and explicitly aligned */
.member-credit-card.paradise-membership-card-unified {
    width:100% !important;
    min-height:140px !important;
    padding:18px !important;
    border:1px solid #e1e9e4 !important;
    border-radius:16px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
    box-sizing:border-box !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange,
.member-credit-card.paradise-membership-card-unified.membership-red {
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-head {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    margin:0 0 10px !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-title {
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    color:#17221c !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-body {
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.member-credit-card.paradise-membership-card-unified .membership-status {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    background:rgba(46,157,77,.10) !important;
    color:#248341 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:center !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange .membership-status,
.member-credit-card.paradise-membership-card-unified.membership-red .membership-status {
    background:rgba(216,137,0,.11) !important;
    color:#b66f00 !important;
}
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified {
        min-height:118px !important;
        padding:16px !important;
    }
    .member-credit-card.paradise-membership-card-unified .player-membership-body {
        min-height:58px !important;
    }
    .member-credit-card.paradise-membership-card-unified .membership-status {
        font-size:15px !important;
    }
}

/* 1.5.647 — player membership card uses the same content hierarchy as parent */
.member-credit-card.paradise-membership-card-unified {
    min-height: 160px !important;
    padding: 18px !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-head {
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    margin:0 0 12px !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-status-row {
    display:flex !important; align-items:center !important; gap:8px !important;
    position:relative; z-index:2;
}
.member-credit-card.paradise-membership-card-unified .player-membership-status-row strong {
    font-size:18px !important; color:#17221c !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-validity {
    display:flex !important; flex-direction:column !important; gap:2px !important;
    margin-top:7px !important; position:relative; z-index:2;
}
.member-credit-card.paradise-membership-card-unified .player-membership-validity strong {
    display:block !important; font-size:13px !important; color:#36443c !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-validity small {
    display:block !important; font-size:11px !important; color:#758079 !important;
}
.member-credit-card.paradise-membership-card-unified.is-paid .paradise-status-dot { background:#2e9d4d !important; }
.member-credit-card.paradise-membership-card-unified.is-expiring .paradise-status-dot { background:#d88900 !important; }
.member-credit-card.paradise-membership-card-unified.is-unpaid .paradise-status-dot { background:#d32f2f !important; }
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified { min-height:145px !important; padding:16px !important; }
    .member-credit-card.paradise-membership-card-unified .player-membership-status-row strong { font-size:16px !important; }
}


/* 1.5.647 — player home membership card uses the same presentation as parent */
.paradise-home-card-membership.paradise-membership-card-unified{
    position:relative !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    padding:18px !important;
    border:1px solid #e1e9e4 !important;
    border-radius:16px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid{
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 0 12px !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-card-eyebrow{
    margin:0 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    color:#087546 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid .paradise-home-card-eyebrow{color:#9b641f !important;}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-mark{
    width:28px !important; height:28px !important; flex:0 0 28px !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    border-radius:50% !important; background:#e9f6ef !important; color:#087546 !important;
    font-size:15px !important; font-weight:900 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid .paradise-home-membership-mark{
    background:#fff3e8 !important; color:#b56b1e !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-status{
    display:flex !important; align-items:center !important; gap:8px !important;
    margin:0 !important; position:relative !important; z-index:1 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-status strong{
    margin:0 !important; color:#17221c !important; font-size:20px !important;
    line-height:1.15 !important; font-weight:700 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-validity{
    display:flex !important; flex-direction:column !important; gap:3px !important;
    margin-top:7px !important; position:relative !important; z-index:1 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-validity strong{
    color:#26332d !important; font-size:12px !important; line-height:1.25 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-validity small{
    color:#7c8781 !important; font-size:10px !important; line-height:1.2 !important;
}
@media(max-width:767px){
    .paradise-home-card-membership.paradise-membership-card-unified{padding:16px !important;}
    .paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-status strong{font-size:18px !important;}
    .paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-mark{width:25px !important;height:25px !important;flex-basis:25px !important;font-size:13px !important;}
}

/* 1.5.647 — exact shared heading style for upcoming training and match cards */
.paradise-home-card-section-title{
    display:block !important;
    align-self:flex-start !important;
    width:100% !important;
    margin:0 0 14px !important;
    color:#087546 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
    text-align:left !important;
}
.paradise-home-card-training .paradise-home-card-section-title,
.paradise-home-card-match .paradise-home-card-section-title{
    flex:0 0 auto !important;
}
@media(max-width:767px){
    .paradise-home-card-section-title{
        font-size:13px !important;
        margin-bottom:12px !important;
    }
}

/* 1.5.647 — exact heading size for player home “Moje štatistiky” */
.paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span.paradise-home-card-eyebrow,
.paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span{
    display:block !important;
    margin:0 !important;
    color:#087546 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
}
@media(max-width:767px){
    .paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span.paradise-home-card-eyebrow,
    .paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span{
        font-size:14px !important;
        line-height:1.2 !important;
        letter-spacing:.03em !important;
    }
}

/* 1.5.647 — dashboard top alignment: remove theme/content top gap.
 * Keep the dashboard itself unchanged; only pull the plugin shell to the top
 * so player, parent and trainer start at the same vertical position.
 */
.paradise-dashboard,
.paradise-player-dashboard {
    margin-top: -24px !important;
}
@media (max-width:700px){
    .paradise-dashboard,
    .paradise-player-dashboard {
        margin-top: -12px !important;
    }
}


/* 1.5.647 — shared dashboard top alignment without overflowing the page.
 * Use the previously safe shell offset for all three dashboards.
 */
.paradise-dashboard,
.paradise-player-dashboard {
    margin-top: -24px !important;
}
@media (max-width:700px) {
    .paradise-dashboard,
    .paradise-player-dashboard {
        margin-top: -12px !important;
    }
}


/* Sport Leagues standings: full layout on desktop, mini layout on mobile. */
.paradise-standing-mobile{display:none;}
@media(max-width:768px){
    .paradise-standing-desktop{display:none;}
    .paradise-standing-mobile{display:block;}
}

/* 1.5.647 — player Team submenu: Program / Tabuľka / Štatistiky */
.paradise-sidebar-nav-group{display:grid;gap:3px}
.paradise-sidebar-nav-group-toggle{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:47px;
    padding:0 13px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:#66716b;
    font:inherit;
    font-size:13px;
    font-weight:700;
    text-align:left;
    cursor:pointer;
    transition:.18s ease;
}
.paradise-sidebar-nav-group-toggle:hover,
.paradise-sidebar-nav-group.is-open .paradise-sidebar-nav-group-toggle,
.paradise-sidebar-nav-group.is-active .paradise-sidebar-nav-group-toggle{
    color:var(--pc-green);
    background:#f4f8f5;
}
.paradise-sidebar-nav-chevron{margin-left:auto;font-size:13px;line-height:1;transition:transform .18s ease}
.paradise-sidebar-nav-group.is-open .paradise-sidebar-nav-chevron{transform:rotate(180deg)}
.paradise-sidebar-nav-submenu{display:grid;gap:3px}
.paradise-sidebar-nav-submenu[hidden]{display:none}
.paradise-sidebar-nav-submenu a{min-height:40px;padding-left:28px;font-size:12px}
.paradise-sidebar-nav-submenu a .paradise-nav-icon{font-size:15px}
.paradise-sidebar-nav-group.is-active .paradise-sidebar-nav-group-toggle{color:#fff;background:linear-gradient(135deg,var(--pc-green),#0a5b39);box-shadow:0 8px 20px rgba(13,107,67,.20)}
.paradise-player-standing-content{background:transparent;border:0;border-radius:0;padding:0;overflow:auto}


/* Trainer team total statistics */
.paradise-trainer-team-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;}
.paradise-trainer-team-summary-card{padding:18px;border:1px solid rgba(30,40,35,.08);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:7px;}
.paradise-trainer-team-summary-card span{font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.65;}
.paradise-trainer-team-summary-card strong{font-size:28px;line-height:1.1;}
@media(max-width:700px){.paradise-trainer-team-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* 1.5.647 — trainer tasks panel */
.paradise-trainer-task-list{display:grid;gap:12px;}
.paradise-trainer-task-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e1e6e2;border-radius:12px;background:#fff;}
.paradise-trainer-task-card-main strong{display:block;font-size:16px;}
.paradise-trainer-task-card-main p{margin:7px 0;color:#4b554f;}
.paradise-trainer-task-card-main small{color:#68736d;}
.paradise-trainer-task-card-action{flex:0 0 auto;}
.paradise-trainer-task-completed{color:#2d7d46;white-space:nowrap;}
@media (max-width:700px){.paradise-trainer-task-card{flex-direction:column;}.paradise-trainer-task-card-action{width:100%;}.paradise-trainer-task-card-action .button{width:100%;}}

/* 1.5.647 — registration consents span the full form grid width */
.paradise-registration-form .paradise-registration-consents.full{
    grid-column:1/-1 !important;
    width:100% !important;
    min-width:0 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
}
@media(max-width:700px){
    .paradise-registration-form .paradise-registration-consents.full{
        grid-column:1/-1 !important;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent{
        display:flex !important;
        flex-direction:row !important;
        align-items:flex-start !important;
        width:100% !important;
        max-width:100% !important;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent-link{
        flex:1 1 0 !important;
        min-width:0 !important;
        width:auto !important;
        max-width:none !important;
        white-space:normal !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
    }
}

/* 1.5.647 — registration password fields stay together; consent text uses full mobile width */
.paradise-registration-password-row{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
    width:100%;
}
.paradise-registration-password-row label{
    min-width:0;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
}
@media(max-width:600px){
    .paradise-registration-password-row{
        grid-template-columns:1fr;
        gap:14px;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent{
        width:100% !important;
        box-sizing:border-box !important;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent-link{
        flex:1 1 0 !important;
        min-width:0 !important;
        width:auto !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
}

/* 1.5.647 — parent child selector moved into the shared dashboard header next to the profile switch. */
.paradise-parent-header-actions{
    position:absolute !important;
    right:18px !important;
    bottom:14px !important;
    z-index:101 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}
.paradise-parent-header-actions .paradise-dashboard-profile-status{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    flex:0 0 auto !important;
}
.paradise-parent-header-child-picker{
    position:relative !important;
    min-width:190px !important;
    height:38px !important;
    padding:0 34px 0 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
}
.paradise-parent-header-child-picker label{
    flex:0 0 auto !important;
    margin:0 !important;
    color:rgba(255,255,255,.72) !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
}
.paradise-parent-header-child-picker select{
    min-width:0 !important;
    width:100% !important;
    height:36px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:#fff !important;
    font:inherit !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
}
.paradise-parent-header-child-picker select option{
    color:#20362b !important;
    background:#fff !important;
}
.paradise-parent-header-child-chevron{
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-58%) !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1 !important;
    pointer-events:none !important;
}
@media(max-width:700px){
    .paradise-parent-header-actions{
        right:10px !important;
        bottom:10px !important;
        gap:7px !important;
        max-width:calc(100% - 20px) !important;
    }
    .paradise-parent-header-child-picker{
        min-width:0 !important;
        width:min(185px, calc(100vw - 92px)) !important;
        height:36px !important;
        padding:0 29px 0 10px !important;
        gap:8px !important;
        border-radius:10px !important;
    }
    .paradise-parent-header-child-picker label{font-size:8px !important}
    .paradise-parent-header-child-picker select{height:36px !important;font-size:10px !important}
    .paradise-parent-header-child-chevron{right:10px !important;font-size:16px !important}
}

/* 1.5.647 — entire parent child picker is clickable; preserve active panel when switching child. */
.paradise-parent-header-child-picker{cursor:pointer !important;}
.paradise-parent-header-child-picker label,.paradise-parent-header-child-chevron{cursor:pointer !important;}

/* 1.5.647 — parent Paradise Points */
.paradise-parent-points-panel .paradise-points-balance{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 18px rgba(0,0,0,.05)}
.paradise-parent-points-history{margin:18px 0 28px}
.paradise-parent-points-history-list{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden}
.paradise-parent-points-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06)}
.paradise-parent-points-history-row:last-child{border-bottom:0}
.paradise-parent-points-history-row small{display:block;margin-top:4px;opacity:.65}
.paradise-parent-points-history-row .is-positive{color:#15803d}.paradise-parent-points-history-row .is-negative{color:#b91c1c}

/* 1.5.647 — parent child-dependent panels can explain the required child context. */
.paradise-parent-child-required-panel .paradise-parent-section-heading{max-width:720px;}
.paradise-parent-child-required-panel .paradise-parent-child-choice{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;}


/* 1.5.647 — parent PP uses the same quick-switch UI as player/trainer dashboards. */
#paradise-parent-pp-catalog-toggle:checked ~ .paradise-pp-catalog-content{display:block;}
#paradise-parent-pp-history-toggle:checked ~ .paradise-pp-history-content{display:block;}
.paradise-parent-points-panel .paradise-panel-quick{margin-top:4px;}
.paradise-parent-points-panel .paradise-points-balance{margin:18px 0;}
.paradise-parent-points-panel .paradise-point-history{display:grid;gap:0;background:#fff;border:1px solid #e8ebee;border-radius:14px;overflow:hidden;}
.paradise-parent-points-panel .paradise-point-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eef1ef;}
.paradise-parent-points-panel .paradise-point-row:last-child{border-bottom:0;}
.paradise-parent-points-panel .paradise-point-row small{display:block;margin-top:3px;color:#7b8580;font-size:9px;}
.paradise-parent-points-panel .paradise-point-row .positive{color:#15803d;}
.paradise-parent-points-panel .paradise-point-row .negative{color:#b91c1c;}


/* 1.5.647 — player refresh: prevent the server-rendered Home panel from
   flashing before paradise-dashboard.js restores ?paradise_view=. */
#paradise-dashboard-top.paradise-dashboard-preload .paradise-home-overview,
#paradise-dashboard-top.paradise-dashboard-preload .paradise-home-articles,
#paradise-dashboard-top.paradise-dashboard-preload .paradise-dashboard-legacy-tasks,
#paradise-dashboard-top.paradise-dashboard-preload .paradise-dashboard-panel{
    display:none !important;
}
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-matches #paradise-panel-matches,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-standing #paradise-panel-standing,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-player-stats #paradise-panel-player-stats,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-tasks #paradise-panel-tasks,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-testing #paradise-panel-testing,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-membership #paradise-panel-membership,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-points #paradise-panel-points,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-profile #paradise-panel-profile{
    display:block !important;
}


#parent-dashboard.paradise-dashboard-preload .paradise-parent-content-panel,
.paradise-parent-dashboard.paradise-dashboard-preload .paradise-parent-content-panel,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-dashboard-panel,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-home-overview,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-home-articles,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-dashboard-legacy-tasks{
    display:none !important;
}
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-matches #parent-panel-matches,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-standing #parent-panel-standing,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-player-stats #parent-panel-player-stats,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-payments #parent-panel-payments,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-points #parent-panel-points,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-other #parent-panel-other,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-profile #parent-panel-profile,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-statistics #trainer-panel-statistics,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-standing #trainer-panel-standing,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-matches #trainer-panel-matches,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-attendance #trainer-panel-attendance,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-tasks #trainer-panel-tasks,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-testing #trainer-panel-testing,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-players #trainer-panel-players,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-points #trainer-panel-points,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-profile #trainer-panel-profile{
    display:block !important;
}

/* 1.5.647 — tablet / landscape navigation refinement across all dashboards */
@media (min-width: 768px) and (max-width: 1100px) and (pointer: coarse) {
    .paradise-mobile-nav {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
        transform: translateX(-50%) !important;
        width: min(760px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        min-height: 70px !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: 4px !important;
        padding: 7px !important;
        box-sizing: border-box !important;
        border-radius: 20px !important;
        z-index: 10000 !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav > .paradise-mobile-nav-training,
    .paradise-mobile-nav > .paradise-mobile-nav-matches {
        min-width: 0 !important;
        width: 100% !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    /* Keep grouped navigation items visible on tablets. Older mobile rules
       hide these wrappers by default, which otherwise removes Tím entirely
       in landscape mode. */
    .paradise-mobile-nav > .paradise-mobile-nav-matches,
    .paradise-mobile-nav > .paradise-mobile-nav-training {
        display: block !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle,
    .paradise-mobile-nav-matches > .paradise-mobile-nav-matches-toggle {
        min-height: 56px !important;
        width: 100% !important;
        padding: 7px 5px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: transparent !important;
        color: inherit !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .paradise-mobile-nav-icon {
        width: 28px !important;
        height: 25px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-nav > a > span:not(.paradise-mobile-nav-icon),
    .paradise-mobile-nav-training-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron),
    .paradise-mobile-nav-matches-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron) {
        display: block !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-chevron,
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-chevron {
        position: absolute !important;
        top: 5px !important;
        right: 7px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        opacity: .55 !important;
    }

    .paradise-mobile-nav-training.is-open .paradise-mobile-nav-chevron,
    .paradise-mobile-nav-matches.is-open .paradise-mobile-nav-chevron {
        transform: rotate(180deg) !important;
    }

    .paradise-mobile-nav > a.is-active,
    .paradise-mobile-nav > a.active,
    .paradise-mobile-nav-training-toggle[aria-expanded="true"],
    .paradise-mobile-nav-matches-toggle[aria-expanded="true"] {
        background: var(--pc-green-soft, #e8f3ec) !important;
        color: var(--pc-green, #17633f) !important;
    }

    .paradise-mobile-training-menu,
    .paradise-mobile-matches-menu {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        bottom: calc(100% + 8px) !important;
        transform: translateX(-50%) !important;
        width: max-content !important;
        min-width: 150px !important;
        max-width: min(260px, calc(100vw - 24px)) !important;
        padding: 6px !important;
        box-sizing: border-box !important;
        border-radius: 14px !important;
        background: var(--paradise-card, #fff) !important;
        border: 1px solid rgba(0,0,0,.08) !important;
        box-shadow: 0 10px 28px rgba(19,39,29,.18) !important;
        z-index: 10010 !important;
    }

    .paradise-mobile-training-menu[hidden],
    .paradise-mobile-matches-menu[hidden] {
        display: none !important;
    }

    .paradise-mobile-training-menu a,
    .paradise-mobile-matches-menu a {
        min-height: 40px !important;
        padding: 8px 11px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border-radius: 9px !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    .paradise-mobile-sub-icon {
        width: 21px !important;
        height: 21px !important;
        flex: 0 0 21px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }

    .paradise-dashboard-main {
        padding-bottom: 105px !important;
    }

    /* Landscape phones and compact tablets still need the account/profile
       control in the header. A later legacy rule hides it above 700px. */
    header.paradise-dashboard-header .paradise-account-menu {
        display: block !important;
        position: absolute !important;
        top: 14px !important;
        right: 68px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 10001 !important;
    }
    header.paradise-dashboard-header .paradise-account-menu-with-notifications {
        right: 68px !important;
    }
    header.paradise-dashboard-header .paradise-account-button {
        display: flex !important;
        width: 42px !important;
        height: 42px !important;
    }
}

/* 1.5.647 — Push notification controls in Môj profil → Bezpečnosť. */
.paradise-push-status-row{display:flex;align-items:center;margin:4px 0 14px}
.paradise-push-status{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:10px;background:#f3f7f4;color:#53635a;font-size:13px;font-weight:700}
.paradise-push-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.paradise-push-actions .button{margin:0;min-height:42px}
.paradise-push-settings .paradise-profile-message{margin-bottom:0}
@media(max-width:600px){.paradise-push-actions{flex-direction:column;align-items:stretch}.paradise-push-actions .button{width:100%}}

/* Match-result notifications use the opponent's team crest instead of the generic icon. */
.paradise-notification-team-logo{
    overflow:hidden;
    padding:0;
    background:#fff;
    border:1px solid #e3e8e4;
}
.paradise-notification-team-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}


/* Dashboard Builder runtime layout hooks. */
.paradise-dashboard-builder-active [data-builder-width="half"]{width:calc(50% - 8px);max-width:calc(50% - 8px);}
.paradise-dashboard-builder-active [data-builder-width="full"]{width:100%;max-width:100%;}
@media(max-width:900px){.paradise-dashboard-builder-active [data-builder-width="half"]{width:100%;max-width:100%;}}

/* Playbook library */
.playbook-library-subtitle{margin:4px 0 0;opacity:.7}
.playbook-description{font-size:14px;line-height:1.5}
.playbook-instructions{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:9px;background:#f5f5f5;font-size:14px}
.paradise-task-modal-playbook{margin:14px 0}
.paradise-task-modal-playbook-progress{font-weight:700;margin-bottom:10px}
.paradise-task-playbook-exercise{border:1px solid #e2e2e2;border-radius:12px;padding:12px;margin-bottom:12px;background:#fff}
.paradise-task-playbook-heading{margin-bottom:6px}
.paradise-task-playbook-instructions{font-size:14px;margin-bottom:10px}
.paradise-task-playbook-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:8px}
.paradise-task-playbook-status{font-size:13px;font-weight:600;margin-top:7px}
.paradise-task-submit-button:disabled{opacity:.5;cursor:not-allowed}

.paradise-task-playbook-description{font-size:14px;line-height:1.5;margin-bottom:8px;opacity:.9}

/* 1.5.666 — Playbook: main category + modal subcategory filtering */
.playbook-main-filters{display:flex;gap:8px;margin-bottom:16px}
.playbook-main-filter{flex:1;border:1px solid #cfd6df;background:#eef2f6;color:#25313d;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:700;min-height:46px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.playbook-main-filter:hover{background:#e2e8ee}
.playbook-main-filter.active{background:#0e73bc;color:#fff;border-color:#0e73bc}
.playbook-main-filter:focus-visible{outline:2px solid #0e73bc;outline-offset:2px}
.playbook-category-trigger{color:#25313d}
.playbook-category-trigger:hover{background:#f4f6f8}
.playbook-category-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9dde3;background:#fff;border-radius:10px;padding:11px 12px;cursor:pointer;font-size:15px;text-align:left}
.playbook-category-trigger-value{font-weight:700}
.playbook-category-modal[hidden],.playbook-category-options[hidden]{display:none}
.playbook-category-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.playbook-category-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.playbook-category-modal-dialog{position:relative;width:min(420px,100%);max-height:min(80vh,600px);overflow:auto;background:#fff;border-radius:14px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.playbook-category-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.playbook-category-modal-dialog h3{margin:0 36px 18px 0}
.playbook-category-option{display:flex;align-items:center;gap:10px;padding:11px 4px;cursor:pointer;border-bottom:1px solid #eee}
.playbook-category-option:hover,.playbook-category-option:focus-within{color:#25313d !important;background:#f4f6f8 !important}
.playbook-category-option:hover span,.playbook-category-option:focus-within span,.playbook-category-option:hover label,.playbook-category-option:focus-within label{color:#25313d !important}
.playbook-category-option input + span{color:#25313d !important}
.playbook-category-option:last-child{border-bottom:0}
.playbook-category-option input{margin:0}
@media(max-width:768px){.playbook-main-filters{display:grid;grid-template-columns:1fr 1fr}.playbook-category-modal{padding:12px}.playbook-category-modal-dialog{max-height:85vh;padding:20px}}


/* 1.5.670 — Playbook desktop video grid */
@media (min-width: 1200px) {
    .paradise-playbook .playbook-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .paradise-playbook .playbook-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .paradise-playbook .playbook-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* 1.5.672 — Playbook cards on all screen sizes + filter hover */
.playbook-main-filter:hover{color:#25313d !important;background:#e2e8ee !important}
.playbook-main-filter.active:hover{color:#fff !important;background:#0e73bc !important;border-color:#0e73bc !important}
.playbook-category-trigger:hover,.playbook-category-trigger:focus{color:#25313d !important;background:#f4f6f8 !important}
.playbook-category-trigger:hover *,.playbook-category-trigger:focus *{color:#25313d !important}

.paradise-playbook .playbook-grid .playbook-card{
    background:#fff;
    border:1px solid #e1e5ea;
    border-radius:16px;
    padding:12px;
    box-shadow:0 4px 14px rgba(31,41,55,.08);
    overflow:hidden;
}
.paradise-playbook .playbook-video{
    border-radius:11px;
    overflow:hidden;
}
.paradise-playbook .playbook-video-frame{
    display:block;
    border-radius:11px;
}
.paradise-playbook .playbook-instructions{
    background:#f1f3f5;
    border-radius:10px;
    padding:10px 12px;
    margin-top:0;
}


/* 1.5.673 — Parent tasks */
.paradise-parent-task-list{display:grid;gap:12px}
.paradise-parent-task-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--paradise-border);border-radius:14px;background:#fafbfc}
.paradise-parent-task-main{min-width:0;flex:1}
.paradise-parent-task-main>strong{display:block;font-size:16px;color:#101318}
.paradise-parent-task-main p{margin:6px 0;color:var(--paradise-muted);line-height:1.5}
.paradise-parent-task-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--paradise-muted)}
.paradise-parent-task-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.paradise-parent-task-actions form{margin:0}
.paradise-parent-task-actions button{border:1px solid var(--paradise-border);border-radius:10px;padding:9px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.paradise-parent-task-complete{background:var(--paradise-green-dark);color:#fff;border-color:var(--paradise-green-dark)!important}
.paradise-parent-task-remind{background:#f1f3f5;color:#20252b}
.paradise-parent-task-actions button:hover{filter:brightness(.97)}
.paradise-parent-task-empty{padding:20px;border:1px dashed var(--paradise-border);border-radius:14px;background:#fafbfc;color:var(--paradise-muted);text-align:center}
.paradise-parent-completed-tasks{margin-top:22px}
.paradise-parent-completed-tasks h4{margin:0 0 10px}
.paradise-parent-completed-task{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--paradise-border);font-size:14px}
.paradise-parent-task-notice{margin:0 0 14px;padding:11px 14px;border-radius:10px;font-size:13px}
.paradise-parent-task-notice.is-success{background:#eef8f2;color:#17633e}
.paradise-parent-task-notice.is-error{background:#fff1f1;color:#9a2d2d}
@media(max-width:700px){.paradise-parent-task-card{display:block}.paradise-parent-task-actions{margin-top:14px;justify-content:flex-start}.paradise-parent-task-actions button{width:100%}}

/* 1.5.675 — Parent tasks quick switcher */
.paradise-parent-tasks-switcher{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.paradise-parent-tasks-switcher .paradise-quick-label{
    color:#20242a !important;
    background:#fafbfc !important;
}
.paradise-parent-tasks-switcher .paradise-quick-label:hover,
.paradise-parent-tasks-switcher .paradise-quick-label:focus{
    color:#20242a !important;
    background:#eef6f1 !important;
}
.paradise-parent-tasks-switcher .paradise-quick-radio:checked + .paradise-quick-label{
    color:#fff !important;
    background:var(--pc-green) !important;
    border-color:var(--pc-green) !important;
}
.paradise-parent-tasks-switcher .paradise-quick-content{
    grid-column:1 / -1;
}


/* 1.5.680 — training participation response cards (shared across dashboards) */
.paradise-training-response-intro{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#f4f7f5;border:1px solid var(--paradise-border);color:#20252b}
.paradise-training-response-intro strong{font-size:15px}.paradise-training-response-intro span{font-size:13px;color:var(--paradise-muted)}
.paradise-training-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-training-response-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:16px;border:1px solid var(--paradise-border);border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(20,30,25,.05)}
.paradise-training-response-date{min-width:62px;text-align:center;padding:9px 8px;border-radius:12px;background:#eef7f1;color:var(--pc-green)}
.paradise-training-response-date strong{display:block;font-size:17px;line-height:1.1}.paradise-training-response-date span{display:block;margin-top:3px;font-size:11px;color:#527062;text-transform:capitalize}
.paradise-training-response-info{min-width:0;display:flex;flex-direction:column;gap:4px}.paradise-training-response-info strong{font-size:15px}.paradise-training-response-info span{font-size:12px;color:var(--paradise-muted)}
.paradise-training-response-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.paradise-training-response-actions form{margin:0}
.paradise-training-response-button{width:100%;border:1px solid var(--paradise-border);border-radius:11px;padding:10px 12px;background:#f7f8f8;color:#20252b;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.15s ease}
.paradise-training-response-button:hover,.paradise-training-response-button:focus{background:#edf3ef;color:#20252b;border-color:#b8c9be;outline:none}
.paradise-training-response-button.is-selected.is-yes{background:var(--pc-green);border-color:var(--pc-green);color:#fff}.paradise-training-response-button.is-selected.is-no{background:#b84a4a;border-color:#b84a4a;color:#fff}
.paradise-training-response-status{grid-column:1/-1;padding:9px 11px;border-radius:10px;font-size:12px;font-weight:700;display:flex;justify-content:space-between;gap:10px}.paradise-training-response-status span{white-space:nowrap}
/* 1.5.684 — centered participation status */
.paradise-training-response-status{justify-content:center;text-align:center}
.paradise-training-response-status.is-yes{background:#eef8f2;color:#17633e}.paradise-training-response-status.is-no{background:#fff1f1;color:#9a2d2d}.paradise-training-response-status.is-pending{background:#f5f6f7;color:#697178;font-weight:600}
@media(max-width:760px){.paradise-training-response-grid{grid-template-columns:1fr}.paradise-training-response-card{grid-template-columns:58px 1fr}.paradise-training-response-actions{grid-column:1/-1}}


/* 1.5.685 — trainer participation + training management */
.paradise-trainer-training-actions{display:flex;align-items:flex-start;gap:8px;margin-top:12px;position:relative;z-index:2}
.paradise-trainer-training-cancel,.paradise-trainer-training-move summary,.paradise-trainer-training-move button{border:1px solid #d9e4de;border-radius:10px;background:#fff;color:#315044;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}
.paradise-trainer-training-cancel{color:#a13a3a;border-color:#ead6d6}
.paradise-trainer-training-cancel:hover,.paradise-trainer-training-move summary:hover{background:#f8fbf9}
.paradise-trainer-training-move{position:relative}
.paradise-trainer-training-move summary{list-style:none}
.paradise-trainer-training-move summary::-webkit-details-marker{display:none}
.paradise-trainer-training-move form{position:absolute;right:0;top:42px;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:260px;padding:12px;background:#fff;border:1px solid #dfe8e2;border-radius:14px;box-shadow:0 12px 30px rgba(20,55,40,.12)}
.paradise-trainer-training-move label{font-size:10px;font-weight:800;color:#6b7871}.paradise-trainer-training-move input{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #d8e2dc;border-radius:8px;padding:8px;background:#fff}
.paradise-trainer-training-move button{grid-column:1/-1;background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-participation-box{background:#fff;border:1px solid #dfe8e2;border-radius:16px;padding:15px 16px;margin:0 0 14px}
.paradise-trainer-participation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.paradise-trainer-participation-head strong{display:block;color:#26332d;font-size:16px}.paradise-trainer-participation-head span{display:block;color:#758079;font-size:11px;margin-top:3px}.paradise-trainer-participation-counts{display:flex;gap:10px;font-size:12px}.paradise-trainer-participation-counts b{font-weight:800}
.paradise-trainer-participation-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.paradise-trainer-participation-columns>div{background:#f7faf8;border-radius:12px;padding:11px 12px;min-width:0}.paradise-trainer-participation-columns small{display:block;font-size:9px;font-weight:900;letter-spacing:.06em;color:#6d7a73;margin-bottom:7px}.paradise-trainer-participation-columns ul{margin:0;padding-left:18px}.paradise-trainer-participation-columns li{font-size:12px;color:#304039;margin:3px 0}.paradise-trainer-participation-none{font-size:11px;color:#87918c}
@media(max-width:700px){.paradise-trainer-training-actions{flex-wrap:wrap}.paradise-trainer-training-move form{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}.paradise-trainer-participation-columns{grid-template-columns:1fr}.paradise-trainer-participation-head{align-items:flex-start;flex-direction:column}}

/* 1.5.687 — trainer participation toggles and visible training management */
.paradise-trainer-participation-counts{display:flex;gap:8px;flex-wrap:wrap}
.paradise-trainer-participation-toggle{border:1px solid transparent;border-radius:10px;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.15s ease;background:#fff}
.paradise-trainer-participation-toggle.is-yes{border-color:#b9dec7;color:#17633e;background:#eef8f2}
.paradise-trainer-participation-toggle.is-no{border-color:#e7c1c1;color:#9a2d2d;background:#fff1f1}
.paradise-trainer-participation-toggle:hover,.paradise-trainer-participation-toggle.is-open{filter:brightness(.97);box-shadow:0 0 0 2px rgba(0,0,0,.04)}
.paradise-trainer-participation-toggle span{margin-left:5px}
.paradise-trainer-participation-lists{margin-top:10px}
.paradise-trainer-participation-list{background:#f7faf8;border-radius:12px;padding:11px 12px}
.paradise-trainer-participation-list ul{margin:0;padding-left:18px}
.paradise-trainer-participation-list li{font-size:12px;color:#304039;margin:3px 0}
.paradise-trainer-participation-list[hidden]{display:none!important}
.paradise-trainer-attendance-training-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;background:#f7faf8;border:1px solid #dfe8e2;border-radius:14px}
.paradise-trainer-attendance-training-actions form{margin:0}
.paradise-trainer-attendance-training-actions .paradise-trainer-training-move form{margin:0}
.paradise-trainer-home-overview .paradise-trainer-training-actions{margin-top:14px;justify-content:center}
.paradise-trainer-home-overview .paradise-trainer-training-actions form{margin:0}
@media(max-width:700px){.paradise-trainer-participation-counts{width:100%}.paradise-trainer-participation-toggle{flex:1;min-width:0}}

/* 1.5.687 — trainer participation controls: consistent desktop/mobile layout */
.paradise-trainer-participation-counts{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:auto}
.paradise-trainer-participation-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;white-space:nowrap;min-height:40px;padding:8px 14px!important;border:1px solid transparent!important;border-radius:10px!important;font:inherit!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease!important;opacity:1!important}
.paradise-trainer-participation-toggle.is-yes,.paradise-trainer-participation-toggle.is-yes:hover,.paradise-trainer-participation-toggle.is-yes:focus,.paradise-trainer-participation-toggle.is-yes.is-open{background:#eef8f2!important;color:#17633e!important;border-color:#b9dec7!important}
.paradise-trainer-participation-toggle.is-no,.paradise-trainer-participation-toggle.is-no:hover,.paradise-trainer-participation-toggle.is-no:focus,.paradise-trainer-participation-toggle.is-no.is-open{background:#fff1f1!important;color:#9a2d2d!important;border-color:#e7c1c1!important}
.paradise-trainer-participation-toggle:hover,.paradise-trainer-participation-toggle:focus{box-shadow:0 0 0 2px rgba(0,0,0,.05)!important;filter:none!important;opacity:1!important}
.paradise-trainer-participation-toggle:active{transform:translateY(1px)}
.paradise-trainer-participation-toggle span{margin-left:0!important}
.paradise-trainer-training-cancel:hover,.paradise-trainer-training-cancel:focus{background:#fff!important;color:#a13a3a!important;border-color:#ead6d6!important;opacity:1!important}
.paradise-trainer-training-move summary:hover,.paradise-trainer-training-move summary:focus{background:#fff!important;color:#315044!important;border-color:#d9e4de!important;opacity:1!important}
.paradise-trainer-training-move button:hover,.paradise-trainer-training-move button:focus{background:#087546!important;color:#fff!important;border-color:#087546!important;opacity:1!important}
@media(max-width:700px){
 .paradise-trainer-participation-head{width:100%;align-items:center!important;text-align:center!important}
 .paradise-trainer-participation-counts{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
 .paradise-trainer-participation-toggle{width:100%!important;min-width:0!important}
}


/* 1.5.688 — trainer mobile controls and reschedule modal */
.paradise-trainer-training-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.paradise-trainer-training-actions>form,.paradise-trainer-training-actions>.paradise-trainer-training-move{flex:1 1 0!important;min-width:0!important;margin:0!important}
.paradise-trainer-training-actions .paradise-trainer-training-cancel,.paradise-trainer-training-actions .paradise-trainer-training-move summary{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;box-sizing:border-box!important;min-height:40px!important;white-space:nowrap!important}
.paradise-trainer-move-modal-backdrop{position:fixed!important;inset:0!important;background:rgba(15,35,27,.48)!important;z-index:2147483000!important}
.paradise-trainer-training-move form.paradise-trainer-move-modal-form{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(420px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;box-sizing:border-box!important;z-index:2147483001!important;margin:0!important;background:#fff!important;padding:18px!important;border:1px solid #dfe8e2!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(15,35,27,.28)!important}
.paradise-trainer-modal-open{overflow:hidden!important}
@media(max-width:700px){.paradise-trainer-training-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.paradise-trainer-training-actions>form,.paradise-trainer-training-actions>.paradise-trainer-training-move{width:100%!important;min-width:0!important}.paradise-trainer-training-actions .paradise-trainer-training-cancel,.paradise-trainer-training-actions .paradise-trainer-training-move summary{font-size:11px!important;padding:8px 6px!important}.paradise-trainer-training-move form.paradise-trainer-move-modal-form{grid-template-columns:1fr 1fr!important}}

/* 1.5.689 — trainer action modals styled like reward confirmation */
.paradise-trainer-action-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
    visibility:visible!important;
    opacity:1!important;
}
.paradise-trainer-action-modal-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(15,20,25,.58)!important;
    backdrop-filter:blur(3px)!important;
}
.paradise-trainer-action-modal-dialog{
    position:relative!important;
    width:min(390px,100%)!important;
    box-sizing:border-box!important;
    padding:25px 22px 20px!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 18px 60px rgba(0,0,0,.22)!important;
    text-align:center!important;
    z-index:1!important;
}
.paradise-trainer-action-modal-icon{
    width:54px!important;height:54px!important;margin:0 auto 12px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    border-radius:50%!important;background:#eef8f2!important;color:#17633e!important;
    font-size:25px!important;font-weight:900!important;
}
.paradise-trainer-action-modal-icon.is-danger{background:#fff1f1!important;color:#a13a3a!important}
.paradise-trainer-action-modal-dialog h3{margin:0 0 7px!important;font-size:19px!important;line-height:1.25!important;color:#20252b!important}
.paradise-trainer-action-modal-intro{margin:0 0 16px!important;color:#687078!important;font-size:13px!important;line-height:1.45!important}
.paradise-trainer-move-modal-form{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    text-align:left!important;
}
.paradise-trainer-action-modal-heading{grid-column:1/-1;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#687078;text-align:left}
.paradise-trainer-action-modal-description{grid-column:1/-1;margin-top:-5px;font-size:11px;color:#7a847f;text-align:left}
.paradise-trainer-move-modal-form label{font-size:10px!important;font-weight:800!important;color:#6b7871!important}
.paradise-trainer-move-modal-form input{display:block!important;width:100%!important;box-sizing:border-box!important;margin-top:5px!important;border:1px solid #d8e2dc!important;border-radius:9px!important;padding:9px!important;background:#fff!important;color:#20252b!important}
.paradise-trainer-move-modal-form button[type="submit"]{grid-column:1/-1!important;min-height:42px!important;border:1px solid var(--paradise-green-dark)!important;border-radius:10px!important;background:var(--paradise-green-dark)!important;color:#fff!important;font:inherit!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important}
.paradise-trainer-action-modal-cancel,.paradise-trainer-action-modal-confirm{min-height:42px!important;border-radius:10px!important;padding:9px 12px!important;font:inherit!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important}
.paradise-trainer-action-modal-cancel{border:1px solid #dfe3e6!important;background:#fff!important;color:#343a40!important}
.paradise-trainer-action-modal-confirm{border:1px solid #a13a3a!important;background:#a13a3a!important;color:#fff!important}
.paradise-trainer-action-modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:2px!important}
.paradise-trainer-move-modal-form .paradise-trainer-action-modal-cancel{grid-column:1/-1!important;order:3!important}
.paradise-trainer-move-modal-form button[type="submit"]:hover,.paradise-trainer-move-modal-form button[type="submit"]:focus{background:var(--paradise-green-dark)!important;color:#fff!important;border-color:var(--paradise-green-dark)!important;opacity:1!important}
.paradise-trainer-action-modal-cancel:hover,.paradise-trainer-action-modal-cancel:focus{background:#fff!important;color:#343a40!important;border-color:#dfe3e6!important;opacity:1!important}
.paradise-trainer-action-modal-confirm:hover,.paradise-trainer-action-modal-confirm:focus{background:#8f3030!important;color:#fff!important;border-color:#8f3030!important;opacity:1!important}
@media(max-width:500px){
    .paradise-trainer-action-modal{padding:16px!important}
    .paradise-trainer-action-modal-dialog{padding:22px 17px 17px!important;border-radius:16px!important}
}

/* 1.5.693 — public Elementor homepage shortcodes */
.paradise-public-widget{width:100%;box-sizing:border-box}
.paradise-public-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.paradise-public-training-team{background:#fff;border:1px solid #e4ebe7;border-radius:16px;padding:18px;box-shadow:0 8px 26px rgba(20,40,30,.06)}
.paradise-public-training-team h3{margin:0 0 12px;font-size:18px;color:#183d2c}
.paradise-public-training-item{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #edf1ee}
.paradise-public-training-date{display:flex;flex-direction:column;text-align:center;line-height:1.15}.paradise-public-training-date strong{font-size:12px;color:#183d2c}.paradise-public-training-date span{font-size:11px;color:#78837d;margin-top:3px}
.paradise-public-training-main{min-width:0}.paradise-public-training-main strong{display:block;font-size:13px;color:#20272b}.paradise-public-training-main small{display:block;margin-top:3px;font-size:11px;color:#7a847f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paradise-public-training-item time{font-size:14px;font-weight:800;color:#17633e;white-space:nowrap}
.paradise-public-matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.paradise-public-match-card{display:block;text-decoration:none!important;background:#fff;border:1px solid #e4ebe7;border-radius:16px;padding:16px;box-shadow:0 8px 26px rgba(20,40,30,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.paradise-public-match-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,40,30,.1);border-color:#cfdcd5}
.paradise-public-match-date{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;color:#183d2c}.paradise-public-match-date strong{font-size:14px}.paradise-public-match-date span{font-size:12px;color:#78837d}
.paradise-public-match-teams{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;gap:8px;text-align:center}.paradise-public-match-teams>div{display:flex;flex-direction:column;align-items:center;gap:6px;color:#20272b;font-size:12px;font-weight:800}.paradise-public-match-teams img{width:38px;height:38px;object-fit:contain}.paradise-public-match-teams>b{font-size:11px;color:#87918c}
.paradise-public-match-venue{display:block;text-align:center;margin-top:12px;color:#7a847f;font-size:11px}
.paradise-public-empty{padding:20px;border:1px dashed #d8e2dc;border-radius:14px;text-align:center;color:#78837d;background:#fafcfb}
@media(max-width:700px){.paradise-public-training-grid,.paradise-public-matches-grid{grid-template-columns:1fr}.paradise-public-training-team{padding:15px}.paradise-public-training-item{grid-template-columns:58px 1fr auto}.paradise-public-match-card{padding:14px}}


/* 1.5.702 — notification actions */
.paradise-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.paradise-notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.paradise-notification-actions button{border:0;background:transparent;padding:5px 0;cursor:pointer;font-size:11px;font-weight:600;line-height:1.2;color:#65736b;}
.paradise-notification-actions button:hover{color:#2d6b45;background:transparent;}
.paradise-notification-actions .paradise-notification-delete-all{color:#9b5b5b;}
.paradise-notification-actions .paradise-notification-delete-all:hover{color:#b23b3b;background:transparent;}
.paradise-notification-actions .paradise-notification-delete-all.is-confirm{color:#fff;background:#b23b3b;border-radius:7px;padding:6px 9px;}
.paradise-notification-actions button:disabled{opacity:.5;cursor:wait;}
@media(max-width:767px){
  .paradise-notification-head{align-items:flex-start;gap:8px;}
  .paradise-notification-actions{gap:8px;}
  .paradise-notification-actions button{font-size:10px;}
}

/* 1.5.772 — eFlorbal category label */
.paradise-reward-category{display:inline-block;margin:4px 0 8px;padding:3px 8px;border-radius:999px;background:#f1f3f5;color:#555;font-size:12px;font-weight:600}

/* Full user catalog — step 1: search, categories and product grid */
.paradise-catalog-toolbar{
    margin:18px 0 20px;
    padding:16px;
    border:1px solid #e1e8e4;
    border-radius:16px;
    background:#f8faf9;
}
.paradise-catalog-search-wrap{margin-bottom:14px;}
.paradise-catalog-search-wrap label{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:700;
    color:#53615a;
}
.paradise-catalog-search{
    width:100%;
    min-height:42px;
    padding:9px 12px;
    border:1px solid #d5ded9;
    border-radius:10px;
    background:#fff;
    box-sizing:border-box;
}
.paradise-catalog-search:focus{outline:2px solid rgba(47,117,72,.18);outline-offset:1px;border-color:#2f7548;}
.paradise-catalog-categories{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.paradise-catalog-filter{
    appearance:none;
    border:1px solid #d5ded9;
    border-radius:999px;
    background:#fff;
    color:#4e5b55;
    padding:8px 13px;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.paradise-catalog-filter:hover{transform:translateY(-1px);border-color:#aebdb5;}
.paradise-catalog-filter.is-active{background:#2f7548;border-color:#2f7548;color:#fff;}
.paradise-catalog-products{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.paradise-catalog-product{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:16px;
    border:1px solid #e1e8e4;
    border-radius:16px;
    background:#fff;
    box-sizing:border-box;
}
.paradise-catalog-product[hidden]{display:none!important;}
.paradise-catalog-product > img{
    display:block;
    width:100%;
    height:210px;
    object-fit:contain;
    border-radius:12px;
    background:#f6f8f7;
    margin-bottom:12px;
}
.paradise-catalog-product h3{margin:0 0 5px;line-height:1.3;}
.paradise-catalog-product .paradise-reward-category{
    display:inline-flex;
    align-self:flex-start;
    margin:0 0 8px;
    padding:4px 8px;
    border-radius:999px;
    background:#eef4f0;
    color:#48705a;
    font-size:11px;
    font-weight:700;
}
.paradise-catalog-filter-empty{grid-column:1/-1;margin:0;padding:24px;text-align:center;color:#718078;}
@media(max-width:900px){.paradise-catalog-products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
    .paradise-catalog-products{grid-template-columns:1fr;gap:12px;}
    .paradise-catalog-toolbar{padding:12px;}
    .paradise-catalog-product > img{height:190px;}
}

.paradise-catalog-category-modal-dialog{max-height:85vh;padding:20px}}

/* 1.5.772 — dashboard catalogue category picker/filter hardening */
.paradise-dashboard-catalog-filter .playbook-category-modal[hidden]{display:none !important;}
.paradise-dashboard-catalog-filter .paradise-catalog-filter-card[hidden]{display:none !important;}

/* Paradise catalog pagination */
.paradise-catalog-load-more-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:12px;
}
.paradise-catalog-load-more{
    appearance:none;
    border:1px solid #111;
    background:#111;
    color:#fff;
    border-radius:10px;
    padding:10px 18px;
    font-weight:700;
    cursor:pointer;
}
.paradise-catalog-load-more:hover:not(:disabled){opacity:.9;}
.paradise-catalog-load-more:disabled{opacity:.55;cursor:wait;}
.paradise-catalog-load-more-status{min-height:18px;font-size:12px;opacity:.7;}

/* 1.5.772 — dashboard product detail */
.paradise-reward-detail-trigger{
    appearance:none;
    border:0;
    background:none;
    padding:0;
    margin:0;
    color:#20242a;
    font:inherit;
    font-weight:800;
    text-align:left;
    cursor:pointer;
}
.paradise-reward-detail-trigger:hover{text-decoration:underline;text-underline-offset:2px;}
.paradise-reward-detail-link{
    align-self:flex-start;
    margin-top:1px;
    color:var(--paradise-green-dark);
    font-size:11px;
    font-weight:700;
}
.paradise-reward-detail-dialog{
    width:min(520px,100%);
    max-height:min(88vh,760px);
    overflow:auto;
    text-align:left;
    padding:18px;
}
.paradise-reward-detail-dialog .paradise-reward-modal-close{z-index:3;}
.paradise-reward-detail-image{
    width:100%;
    aspect-ratio:1.45;
    border-radius:14px;
    overflow:hidden;
    background:#f3f5f6;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
}
.paradise-reward-detail-image img{width:100%;height:100%;object-fit:contain;display:block;}
.paradise-reward-detail-placeholder{font-size:44px;}
.paradise-reward-detail-category{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:3px 9px;
    border-radius:999px;
    background:#f1f6f3;
    color:var(--paradise-green-dark);
    font-size:11px;
    font-weight:800;
    margin-bottom:7px;
}
.paradise-reward-detail-dialog h3{padding-right:28px;margin:0 0 10px;}
.paradise-reward-detail-price{
    width:100%;
    margin:4px 0 14px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
    font-size:21px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}
.paradise-reward-detail-price .paradise-reward-cost-pp{color:#c88a00 !important;}
.paradise-reward-detail-price .paradise-reward-cost-plus{color:#20242a !important;padding:0 7px !important;}
.paradise-reward-detail-price .paradise-reward-cost-euro{color:#2f6fd6 !important;}
.paradise-reward-detail-field label{display:block;font-size:12px;font-weight:800;margin-bottom:5px;}
.paradise-reward-detail-field select{font-size:13px;padding:10px 11px;margin-top:0;}
.paradise-reward-detail-variant-status{display:block;min-height:18px;margin-top:5px;font-size:11px;color:#6b7280;}
.paradise-reward-detail-stock{font-size:12px;color:#6b7280;margin:8px 0 14px;}
.paradise-reward-detail-buy{
    width:100%;
    min-height:44px;
    border:1px solid var(--paradise-green-dark);
    border-radius:10px;
    background:var(--paradise-green-dark);
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}
.paradise-reward-detail-buy:disabled{opacity:.5;cursor:not-allowed;}
.paradise-reward-detail-action{width:100%;}
.paradise-reward-detail-insufficient{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #e6c7c7;border-radius:10px;background:#fff6f6;color:#b42318;font:inherit;font-size:13px;font-weight:900;text-align:center;}
.paradise-reward-detail-insufficient[hidden]{display:none !important;}
@media(max-width:500px){
    .paradise-reward-detail-dialog{padding:15px;border-radius:16px;}
    .paradise-reward-detail-image{aspect-ratio:1.25;}
}

/* 1.5.779 — simplified catalog product card
   Two columns only: image | name + price.
   Legacy <=900px reward-card rules were removed because they used a
   56px | content | buy layout and conflicted with the new card. */
.paradise-mini-catalog{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
}
.paradise-reward-card{
    position:relative !important;
    display:grid !important;
    grid-template-columns:140px minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) !important;
    gap:16px !important;
    align-items:center !important;
    min-width:0 !important;
    min-height:170px !important;
    padding:14px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:1px solid #e4e8eb !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:none !important;
    cursor:pointer !important;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease !important;
}
.paradise-reward-card:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 5px 16px rgba(0,0,0,.06) !important;
}
.paradise-reward-card:focus-visible{
    outline:2px solid #111 !important;
    outline-offset:2px !important;
}
.paradise-reward-card[hidden]{display:none !important;}
.paradise-reward-card-media{
    position:static !important;
    inset:auto !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:140px !important;
    min-width:140px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.paradise-reward-image{
    width:140px !important;
    height:140px !important;
    min-width:140px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f7f8f8 !important;
}
.paradise-reward-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
    padding:4px !important;
    box-sizing:border-box !important;
}
.paradise-reward-info{
    position:static !important;
    inset:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
}
.paradise-reward-card-title{
    position:static !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#20242a !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    text-align:left !important;
    overflow-wrap:anywhere !important;
}
.paradise-reward-cost{
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    white-space:nowrap !important;
    text-align:left !important;
    font-size:21px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}
.paradise-reward-cost-pp{color:#c88a00 !important;}
.paradise-reward-cost-plus{color:#20242a !important;padding:0 7px !important;}
.paradise-reward-cost-euro{color:#2f6fd6 !important;}
.paradise-reward-card .paradise-reward-card-category,
.paradise-reward-card .paradise-reward-stock,
.paradise-reward-card .paradise-reward-variant,
.paradise-reward-card .paradise-eflorbal-live-status,
.paradise-reward-card .paradise-catalog-inline-buy,
.paradise-reward-card .paradise-reward-detail-link,
.paradise-reward-card .paradise-reward-detail-trigger{display:none !important;}
@media(max-width:700px){
    .paradise-mini-catalog{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
    .paradise-reward-card{
        grid-template-columns:120px minmax(0,1fr) !important;
        gap:14px !important;
        min-height:148px !important;
        padding:12px !important;
    }
    .paradise-reward-card-media,
    .paradise-reward-image{
        width:120px !important;
        min-width:120px !important;
        height:120px !important;
    }
    .paradise-reward-card-title{font-size:16px !important;}
    .paradise-reward-cost{font-size:19px !important;}
}



/* 1.5.788 — polished reward description */
.paradise-reward-detail-description{
    color:#3f4850;
    font-size:14px;
    line-height:1.72;
    text-align:left;
    white-space:pre-line;
    margin:4px 0 18px;
}
.paradise-reward-detail-description > p{
    margin:0 0 15px;
}
.paradise-reward-detail-description > p:last-child{margin-bottom:0;}
.paradise-reward-description-properties{
    margin:18px 0 2px;
    padding:15px 17px;
    border:1px solid #e4ebe7;
    border-radius:12px;
    background:#f8faf9;
}
.paradise-reward-description-properties h4{
    margin:0 0 10px;
    color:#20242a;
    font-size:14px;
    font-weight:900;
}
.paradise-reward-description-properties ul{
    margin:0;
    padding:0;
    list-style:none;
}
.paradise-reward-description-properties li{
    position:relative;
    margin:0 0 7px;
    padding-left:17px;
    color:#4b5563;
}
.paradise-reward-description-properties li:last-child{margin-bottom:0;}
.paradise-reward-description-properties li::before{
    content:'•';
    position:absolute;
    left:0;
    top:0;
    color:var(--paradise-green-dark);
    font-weight:900;
}
.paradise-reward-modal-description > p{margin:0 0 14px;}
.paradise-reward-modal-description .paradise-reward-description-properties{margin-top:16px;}

/* 1.5.792 — manufacturer/distributor collapsed in reward detail */
.paradise-reward-detail-description .paradise-reward-manufacturer{
    margin:18px 0 4px;
    border-top:1px solid #e6e9ec;
    padding-top:2px;
}
.paradise-reward-detail-description .paradise-reward-manufacturer-toggle{
    display:flex;
    align-items:center;
    width:100%;
    cursor:pointer;
    font-weight:600;
    color:#5f6670;
    padding:10px 0;
    border:0;
    background:none;
    text-align:left;
    font:inherit;
}
.paradise-reward-detail-description .paradise-reward-manufacturer-toggle::before{
    content:'+';
    display:inline-block;
    width:22px;
    font-weight:700;
    color:#8a9199;
}
.paradise-reward-detail-description .paradise-reward-manufacturer.is-open .paradise-reward-manufacturer-toggle::before{content:'−';}
.paradise-reward-detail-description .paradise-reward-manufacturer-body{
    padding:2px 0 8px 22px;
    color:#69717a;
    font-size:13px;
}
.paradise-reward-detail-description .paradise-reward-manufacturer-body[hidden]{display:none!important;}
.paradise-reward-detail-description .paradise-reward-manufacturer-body p{margin:0 0 7px;}

/* Paradise Chat */
.paradise-chat-launch{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0;padding:0;color:#fff;flex:0 0 42px;vertical-align:middle;}
.paradise-chat-launch svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.paradise-chat-launch:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.12);}
.paradise-chat-count{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#d64545;color:#fff;font-size:11px;line-height:18px;font-weight:700;}
.paradise-chat-overlay{position:fixed;inset:0;z-index:99999;background:rgba(18,35,27,.42);display:flex;align-items:center;justify-content:center;padding:24px;}
.paradise-chat-overlay[hidden]{display:none!important;}
.paradise-chat-modal{width:min(980px,96vw);height:min(700px,88vh);background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:hidden;display:grid;grid-template-columns:320px 1fr;color:#20352a;}
.paradise-chat-list{border-right:1px solid #e7eee9;display:flex;flex-direction:column;min-width:0;background:#fbfdfc;}
.paradise-chat-list-head{height:70px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eee9;}
.paradise-chat-list-head strong{font-size:22px;color:#2f8e5d;}
.paradise-chat-list-head button{border:0;background:transparent;font-size:28px;color:#789083;cursor:pointer;line-height:1;}
.paradise-chat-new{padding:12px 14px;border-bottom:1px solid #edf2ee;}
.paradise-chat-new button{width:100%;border:0;border-radius:12px;background:#e9f5ee;color:#2f8e5d;font-weight:700;padding:11px;cursor:pointer;}
.paradise-chat-conversations,.paradise-chat-contacts{overflow:auto;flex:1;padding:8px;}
.paradise-chat-conversation,.paradise-chat-contact-option{width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;padding:4px;border-radius:13px;color:inherit;}
.paradise-chat-conversation:hover,.paradise-chat-conversation.active,.paradise-chat-contact-option:hover{background:#edf7f1;}
/* Impulz Chat: prevent theme hover styles from turning a conversation green with unreadable text. */
.paradise-chat-conversation:hover .paradise-chat-conversation-main,
.paradise-chat-conversation.active .paradise-chat-conversation-main,
.paradise-chat-conversation .paradise-chat-conversation-main:hover,
.paradise-chat-conversation .paradise-chat-conversation-main:focus{background:transparent !important;color:#20352a !important;}
.paradise-chat-conversation:hover .paradise-chat-conversation-main strong,
.paradise-chat-conversation:hover .paradise-chat-conversation-main small,
.paradise-chat-conversation:hover .paradise-chat-conversation-main em,
.paradise-chat-conversation.active .paradise-chat-conversation-main strong,
.paradise-chat-conversation.active .paradise-chat-conversation-main small,
.paradise-chat-conversation.active .paradise-chat-conversation-main em{color:inherit !important;}
.paradise-chat-contact-option:hover{color:#20352a !important;background:#edf7f1 !important;}
.paradise-chat-contact-option:hover strong,.paradise-chat-contact-option:hover small{color:inherit !important;}
/* 1.5.861 — selected contact keeps the normal text colour on click/focus. */
.paradise-chat-contact-option:focus,.paradise-chat-contact-option:active{color:#20352a !important;background:#edf7f1;}
.paradise-chat-contact-option:hover strong,.paradise-chat-contact-option:focus strong,.paradise-chat-contact-option:focus-visible strong,.paradise-chat-contact-option:active strong{color:#20352a !important;}
.paradise-chat-contact-option:hover small,.paradise-chat-contact-option:focus small,.paradise-chat-contact-option:focus-visible small,.paradise-chat-contact-option:active small{color:#829188 !important;}
/* 1.5.863 — keep selected chat contact text colours on desktop hover/focus/active. */
.paradise-chat-conversation-main{min-width:0;flex:1;width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:7px 6px;cursor:pointer;color:inherit;border-radius:10px;}
.paradise-chat-conversation-delete{width:30px;height:30px;flex:0 0 30px;border:0;border-radius:50%;background:transparent;color:#9aa59f;font-size:20px;line-height:28px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;}
.paradise-chat-conversation:hover .paradise-chat-conversation-delete,.paradise-chat-conversation-delete:focus{opacity:1;}
.paradise-chat-conversation-delete:hover{background:#f3e9e9;color:#b34b4b;}
.paradise-chat-conversation img,.paradise-chat-contact-option img,.paradise-chat-contact img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;}
.paradise-chat-conversation span,.paradise-chat-contact-option span,.paradise-chat-contact span{min-width:0;display:flex;flex-direction:column;flex:1;}
.paradise-chat-conversation strong,.paradise-chat-contact-option strong,.paradise-chat-contact strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-conversation small,.paradise-chat-contact-option small,.paradise-chat-contact small{color:#829188;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-conversation em{font-style:normal;color:#68776f;font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-conversation-main>b{background:#3f9b67;color:#fff;border-radius:12px;min-width:20px;height:20px;line-height:20px;text-align:center;font-size:11px;}
.paradise-chat-contact-list-title{padding:10px 8px;color:#6c7d73;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.paradise-chat-window{display:grid;grid-template-rows:70px minmax(0,1fr) auto;min-width:0;min-height:0;}
.paradise-chat-window-head{border-bottom:1px solid #e7eee9;padding:12px 18px;display:flex;align-items:center;}
.paradise-chat-contact{display:flex;align-items:center;gap:10px;}
.paradise-chat-contact strong{font-size:15px;}
.paradise-chat-messages{overflow:auto;padding:22px;background:#fff;display:flex;flex-direction:column;gap:9px;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.paradise-chat-message{max-width:min(72%,560px);display:flex;flex-direction:column;gap:3px;}
.paradise-chat-message>div{padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.45;word-break:break-word;}
.paradise-chat-message.mine{align-self:flex-end;align-items:flex-end;}
.paradise-chat-message.mine>div{background:#3f9b67;color:#fff;border-bottom-right-radius:5px;}
.paradise-chat-message.theirs{align-self:flex-start;align-items:flex-start;}
.paradise-chat-message.theirs>div{background:#edf4ef;color:#26382f;border-bottom-left-radius:5px;}
.paradise-chat-message time{font-size:10px;color:#94a19a;padding:0 5px;}
.paradise-chat-compose{border-top:1px solid #e7eee9;padding:12px;display:flex;gap:10px;background:#fbfdfc;flex:0 0 auto;box-sizing:border-box;}
.paradise-chat-compose textarea{resize:none;min-height:46px;max-height:120px;flex:1;border:1px solid #dce7df;border-radius:14px;padding:12px;font:inherit;outline:none;}
.paradise-chat-compose textarea:focus{border-color:#69ad84;box-shadow:0 0 0 3px rgba(63,155,103,.10);}
.paradise-chat-compose button{border:0;border-radius:14px;background:#3f9b67;color:#fff;padding:0 20px;font-weight:700;cursor:pointer;}
.paradise-chat-compose button:disabled,.paradise-chat-compose textarea:disabled{opacity:.5;cursor:not-allowed;}
.paradise-chat-empty,.paradise-chat-empty-list{margin:auto;color:#8a9890;text-align:center;font-size:13px;padding:25px;}
@media(max-width:700px){
 .paradise-chat-overlay{padding:0;align-items:stretch;}
 .paradise-chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;grid-template-columns:1fr;}
 .paradise-chat-list{display:none;}
 .paradise-chat-modal.show-list .paradise-chat-list{display:flex;position:absolute;inset:0;background:#fbfdfc;z-index:2;}
 .paradise-chat-window{height:100%;min-height:0;}
 .paradise-chat-message{max-width:84%;}
 .paradise-chat-launch{width:42px;height:42px;margin:0;}
}

.paradise-chat-back{display:none;border:0;background:transparent;font-size:28px;color:#718078;cursor:pointer;margin-right:6px;}
@media(max-width:700px){.paradise-chat-back{display:block;}.paradise-chat-window-head{padding-left:12px;}}

/* 1.5.852 — unified dashboard header actions.
 * Chat, notifications and account share one flex row; no per-icon absolute positioning.
 */
header.paradise-dashboard-header .paradise-header-actions{
    position:absolute;
    top:10px;
    right:10px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    height:42px;
    z-index:1001;
}
header.paradise-dashboard-header .paradise-header-actions > .paradise-chat-launch,
header.paradise-dashboard-header .paradise-header-actions > .paradise-notifications,
header.paradise-dashboard-header .paradise-header-actions > .paradise-account-menu{
    position:relative;
    top:auto; right:auto; bottom:auto; left:auto;
    margin:0;
    flex:0 0 42px;
    width:42px;
    height:42px;
}
header.paradise-dashboard-header .paradise-header-actions > .paradise-notifications{
    display:block;
}
header.paradise-dashboard-header .paradise-header-actions .paradise-notification-button,
header.paradise-dashboard-header .paradise-header-actions .paradise-account-button{
    width:42px !important;
    height:42px !important;
    margin:0 !important;
}
header.paradise-dashboard-header .paradise-header-actions .paradise-chat-launch{
    width:42px !important;
    height:42px !important;
}
@media(max-width:700px){
    header.paradise-dashboard-header .paradise-header-actions{
        top:10px;
        right:10px;
        gap:6px;
    }
}
@media(max-width:900px){
    header.paradise-dashboard-header .paradise-account-menu{
        display:block !important;
    }
}

@media(max-width:700px){.paradise-chat-conversation-delete{opacity:1;}}

/* =====================================================
   PARADISE PLAYER DASHBOARD
   CLEAN VERSION
   ČASŤ 1/5
===================================================== */


/* =========================
   ZÁKLAD
========================= */

.paradise-player-dashboard {

    width:100%;
    max-width:1200px;

    margin:0 auto;
    padding:0;

    font-family:inherit;

    background:transparent;

}


.paradise-player-dashboard *,
.paradise-player-dashboard *::before,
.paradise-player-dashboard *::after {

    box-sizing:border-box;

}



/* =========================
   HEADER PROFIL
========================= */


.paradise-player-header {

    background:linear-gradient(
        135deg,
        #111,
        #333
    );

    color:white;

    padding:20px;

    border-radius:15px;

    margin-bottom:20px;

}



.player-profile {

    display:flex;

    align-items:center;

    gap:18px;

}



.player-photo {

    width:80px;

    height:80px;

    border-radius:50%;

    overflow:hidden;

    background:#fff;

    flex-shrink:0;

}



.player-photo img {

    width:100%;

    height:100%;

    object-fit:cover;

}



.player-name h3 {

    margin:0;

    font-size:28px;

    font-weight:800;

    color:#fff;

}



.player-team {

    margin-top:8px;

    font-size:17px;

    font-weight:600;

    color:rgba(255,255,255,.9);

}



/* =========================
   SUMÁRNE KARTY
========================= */


.paradise-summary-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-bottom:20px;

}



.paradise-summary-card {

    background:#fff;

    padding:18px;

    border-radius:15px;

    text-align:center;

    border:1px solid #eee;

    box-shadow:

    0 3px 10px rgba(0,0,0,.08);

}



.paradise-summary-card strong {

    display:block;

    font-size:14px;

    color:#666;

}



.paradise-summary-card span {

    display:block;

    margin-top:8px;

    font-size:32px;

    font-weight:700;

    color:#111;

}



/* =========================
   HLAVNÉ SEKČNÉ KARTY
========================= */


.paradise-dashboard-card {

    background:#fff;

    border-radius:14px;

    padding:18px;

    box-shadow:0 3px 12px rgba(0,0,0,.08);

    margin-bottom:18px;

    font-family:inherit;

}


.paradise-dashboard-card h4 {

    margin:0 0 15px;

    font-size:16px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:space-between;

    color:#222;

}



.paradise-dashboard-card strong {

    font-weight:700;

}



.paradise-dashboard-card span {

    font-family:inherit;

}



/* =========================
   DOCHÁDZKA / SEZÓNA
========================= */


.paradise-match-summary {

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:6px;

    width:100%;

}



.paradise-match-summary > div {

    background:#fff;

    min-height:85px;

    padding:8px 3px;

    border-radius:10px;

    border:1px solid #eee;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    box-shadow:

    0 2px 8px rgba(0,0,0,.08);

}



.paradise-match-summary strong {

    display:block;

    font-size:18px;

    font-weight:800;

    line-height:1.1;

    color:#111;

    margin:4px 0;

}



.paradise-match-summary span {

    display:block;

    font-size:9px;

    color:#666;

}



/* =========================
   INDIVIDUÁLNE ŠTATISTIKY
========================= */


.sl-player-stats {

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:6px;

}



.sl-player-stats > div {

    background:#fff;

    padding:10px 5px;

    border-radius:10px;

    border:1px solid #eee;

    text-align:center;

    font-size:12px;

    box-shadow:

    0 2px 8px rgba(0,0,0,.08);

}

/* =====================================================
   ZÁPASY
   ČASŤ 2/5
===================================================== */


/* =========================
   TABY
========================= */


.match-tabs {

    display:flex;

    gap:10px;

    margin-bottom:20px;

    flex-wrap:wrap;

}



.match-tab {

    background:#f3f4f6;

    color:#111;

    border:1px solid #ddd;

    border-radius:10px;

    padding:10px 16px;

    cursor:pointer;

    font-weight:600;

    transition:.2s ease;

}



.match-tab:hover {

    background:#9ca3af;

    color:#fff;

}



.match-tab.active {

    background:#1d6cff;

    color:#fff;

    border-color:#1d6cff;

}



/* obsah záložiek */


.match-tab-content {

    display:none;

}



.match-tab-content.active {

    display:block;

}



/* =========================
   GRID ZÁPASOV
========================= */


.matches-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}



/* =========================
   KARTA ZÁPASU
========================= */


.paradise-last-match-card {

    background:#fff;

    border-radius:18px;

    padding:14px;

    box-shadow:

    0 4px 15px rgba(0,0,0,.08);

    transition:.2s ease;

}



.paradise-last-match-card:hover {

    transform:translateY(-2px);

    box-shadow:

    0 8px 20px rgba(0,0,0,.12);

}



/* výsledok */


.paradise-last-match-card.win {

    border-left:6px solid #22c55e;

}



.paradise-last-match-card.draw {

    border-left:6px solid #f59e0b;

}



.paradise-last-match-card.loss {

    border-left:6px solid #ef4444;

}



/* odkaz na zápas */


.paradise-match-link {

    display:block;

    color:inherit;

    text-decoration:none;

}



/* dátum */


.match-date {

    text-align:center;

    font-size:12px;

    color:#777;

    margin-bottom:10px;

}



/* tímy */


.match-teams {

    display:flex;

    justify-content:center;

    align-items:center;

    gap:20px;

}



.match-team {

    width:100px;

    text-align:center;

    font-size:12px;

    font-weight:600;

}



.match-team img {

    width:45px;

    height:45px;

    object-fit:contain;

    display:block;

    margin:0 auto 6px;

}



/* skóre */


.match-score {

    font-size:26px;

    font-weight:800;

    color:#111;

}



/* body */


.match-points {

    margin-top:10px;

    text-align:center;

    color:#b77900;

    font-size:13px;

    font-weight:700;

}



/* =========================
   NAČÍTAŤ VIAC
========================= */


.match-load-more,
.attendance-load-more {

    margin-top:12px;

    background:#111;

    color:#fff;

    border:none;

    padding:9px 16px;

    border-radius:10px;

    cursor:pointer;

    font-weight:600;

    transition:.2s ease;

}



.match-load-more:hover,
.attendance-load-more:hover {

    background:#333;

}



/* =========================
   MVP
========================= */


.mvp-badge {

    float:right;

    font-size:13px;

    font-weight:700;

    background:#fff7d6;

    color:#b77900;

    padding:5px 10px;

    border-radius:20px;

}

/* =====================================================
   MODALY + HISTÓRIA + KREDITY + ČLENSTVO
   ČASŤ 3/5
===================================================== */


/* =========================
   HISTÓRIA DOCHÁDZKY
========================= */


.attendance-history-toggle {

    float:right;

    cursor:pointer;

    font-size:20px;

    opacity:.8;

    transition:.2s ease;

}



.attendance-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



.attendance-modal {

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    z-index:9999;

    align-items:center;

    justify-content:center;

}



.attendance-modal.active {

    display:flex;

}



.attendance-modal-box {

    width:90%;

    max-width:450px;

    background:#fff;

    border-radius:16px;

    padding:25px;

    position:relative;

    box-shadow:

    0 10px 30px rgba(0,0,0,.25);

}



.attendance-close {

    position:absolute;

    right:20px;

    top:15px;

    cursor:pointer;

    font-size:20px;

    font-weight:bold;

    color:#666;

}



/* =========================
   HISTÓRIA KREDITOV
========================= */


.member-credit-card,
.reward-card {

    min-height:140px;

}



.member-credit-card h4,
.reward-card h4 {

    font-size:16px;

}



.member-history-toggle,
.reward-history-toggle {

    float:right;

    display:inline-block;

    cursor:pointer;

    font-size:20px;

    background:transparent;

    border:none;

    padding:0;

    margin:0;

    color:inherit;

    opacity:.8;

    transition:.2s ease;

}



.member-history-toggle:hover,
.reward-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



.mycred-history-box {

    max-height:400px;

    overflow-y:auto;

}



.mycred-history-box table {

    width:100%;

    border-collapse:collapse;

}



.mycred-history-box td,
.mycred-history-box th {

    padding:10px;

    border-bottom:1px solid #eee;

}



.paradise-credit-history table {

    background:#fff;

    border-radius:15px;

    overflow:hidden;

}



.paradise-credit-history td {

    padding:12px;

}



/* =========================
   ČLENSTVO
========================= */


.membership-status {

    font-size:14px;

    font-weight:600;

    padding:0;

    background:transparent;

}



.membership-green,
.membership-orange,
.membership-red {

    font-size:14px;

}



/* platobné tlačidlo */


.membership-payment-button a,
.membership-payment-button input[type="submit"],
.membership-payment-button button {

    display:inline-block;

    background:#e53935;

    color:#fff;

    padding:6px 14px;

    border-radius:18px;

    font-size:13px;

    font-weight:700;

    border:none;

    cursor:pointer;

    text-decoration:none;

    transition:.2s ease;

}



.membership-payment-button a:hover,
.membership-payment-button input[type="submit"]:hover,
.membership-payment-button button:hover {

    background:#c62828;

    transform:translateY(-1px);

}



/* =========================
   TOPUP KREDITY
========================= */


.credit-topup-toggle {

    margin-top:8px;

    display:block;

    color:#1976d2;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

    text-decoration:underline;

}



.credit-topup-toggle:hover {

    color:#125ca1;

}



/* kreditné taby */


.credit-tabs {

    display:flex;

    gap:10px;

    margin-bottom:15px;

}



.credit-tab {

    flex:1;

    padding:8px 12px;

    border-radius:8px;

    border:none;

    cursor:pointer;

    background:#eee;

    font-weight:600;

}



.credit-tab.active {

    background:#222;

    color:#fff;

}



.credit-tab-content {

    display:none;

}



.credit-tab-content.active {

    display:block;

}

/* =========================
   ODMENY
========================= */


.reward-points {

    display:block !important;

    margin-top:8px !important;

    font-size:16px !important;

    font-weight:700 !important;

    color:#111 !important;

}


/* história odmien */

.reward-history-toggle {

    display:inline !important;

    float:right;

    cursor:pointer;

    font-size:20px !important;

    font-weight:normal !important;

    background:transparent !important;

    color:inherit !important;

    border:none !important;

    padding:0 !important;

    margin:0 !important;

    opacity:.8;

    transition:.2s;

}


.reward-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



/* katalóg odmien */

.reward-catalog-toggle {

    margin-top:8px;

    display:block;

    color:#1976d2;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

}


.reward-catalog-toggle:hover {

    color:#125ca1;

}



/* karta odmeny */

.reward-item {

    background:#fff;

    border-radius:15px;

    padding:15px;

    margin-bottom:12px;

    text-align:center;

    box-shadow:0 3px 10px rgba(0,0,0,.08);

}


.reward-item img {

    width:80px;

    height:80px;

    object-fit:cover;

    border-radius:12px;

}


.reward-item h5 {

    margin:10px 0 5px;

    font-size:16px;

}


.reward-item p {

    color:#b77900;

    font-weight:700;

}



/* tlačidlo vybrať odmenu */

.redeem-reward {

    background:#111;

    color:white;

    border:none;

    border-radius:10px;

    padding:8px 18px;

    cursor:pointer;

    font-weight:700;

    transition:.2s;

}


.redeem-reward:hover {

    background:#333;

}


.redeem-reward:disabled {

    background:#ccc;

    cursor:not-allowed;

}



/* úspešná správa */

.reward-success-message {

    background:#22c55e;

    color:white;

    padding:12px 18px;

    border-radius:12px;

    font-weight:700;

    margin-bottom:15px;

    text-align:center;

}

/* =========================
   PLAYBOOK
========================= */


.playbook-progress {

    margin-top:20px;

    padding:15px;

    background:#f5f5f5;

    border-radius:12px;

}


.playbook-progress-bar {

    height:12px;

    background:#ddd;

    border-radius:20px;

    overflow:hidden;

    margin:10px 0;

}


.playbook-progress-fill {

    height:100%;

    background:#1e9b4b;

    border-radius:20px;

    transition:.4s;

}


.playbook-progress-numbers {

    font-size:16px;

}


.playbook-points-total {

    margin-top:8px;

    font-weight:bold;

}



/* klikateľná playbook karta */

.playbook-card-link {

    color:inherit;

    text-decoration:none;

    display:block;

}



.playbook-dashboard-card {

    cursor:pointer;

}



.playbook-dashboard-card:hover {

    transform:translateY(-2px);

    transition:.2s ease;

}


/* názov + batéria */

.playbook-title {

    display:flex;

    align-items:center;

    width:100%;

}


.playbook-name {

    white-space:nowrap;

}



.playbook-progress-battery {

    margin-left:auto;

    margin-right:15px;

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    width:90px;

    height:24px;

    border:2px solid #333;

    border-radius:6px;

    overflow:hidden;

    background:#e5e7eb;

    flex-shrink:0;

}


.playbook-progress-battery .battery-fill {

    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:var(--progress);

    background:#22c55e;

    z-index:1;

}


.playbook-progress-battery .battery-percent {

    position:relative;

    z-index:2;

    color:#111;

    font-size:12px;

    font-weight:700;

}


/* =========================
   MOBILNÉ ÚPRAVY
========================= */


@media(max-width:768px){

    .matches-grid {

        grid-template-columns:1fr;

    }


    .playbook-progress-battery {

        width:75px;

        margin-right:8px;

    }

}


@media(max-width:600px){


    .paradise-summary-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .paradise-match-summary {

        grid-template-columns:repeat(5,1fr);

    }


    .match-teams {

        gap:10px;

    }


    .match-team {

        width:80px;

        font-size:11px;

    }


    .match-score {

        font-size:22px;

    }

}

/* =========================
   DODATOČNÉ OPRAVY A FINÁLNE ÚPRAVY
========================= */


/* odkazy v histórii odmien */

.reward-history-modal .mycred-history-box a {

    color:#2271b1;

    font-weight:600;

    text-decoration:none;

}


.reward-history-modal .mycred-history-box a:hover {

    color:#135e96;

    text-decoration:underline;

}



/* stav členstva */

.membership-status {

    font-size:14px !important;

    font-weight:600;

    padding:0 !important;

    background:transparent !important;

    border-radius:0 !important;

}


.membership-green,
.membership-orange,
.membership-red {

    font-size:14px !important;

}



/* platba členstva */

.membership-payment-button a,
.membership-payment-button input[type="submit"],
.membership-payment-button button {

    display:inline-block;

    background:#e53935;

    color:#fff;

    padding:6px 14px;

    border-radius:18px;

    font-size:13px;

    font-weight:700;

    text-decoration:none;

    border:none;

    cursor:pointer;

    transition:.2s ease;

}


.membership-payment-button a:hover,
.membership-payment-button input[type="submit"]:hover,
.membership-payment-button button:hover {

    background:#c62828;

    transform:translateY(-1px);

}



/* kreditná história */



.mycred-history-box {

    max-height:400px;

    overflow-y:auto;

}


.mycred-history-box table {

    width:100%;

    border-collapse:collapse;

}


.mycred-history-box td,
.mycred-history-box th {

    padding:10px;

    border-bottom:1px solid #eee;

}


.paradise-credit-history table {

    background:#fff;

    border-radius:15px;

    overflow:hidden;

}


.paradise-credit-history td {

    padding:12px;

}



/* ikony histórie */

.member-history-toggle,
.reward-history-toggle {

    float:right;

    display:inline !important;

    cursor:pointer;

    font-size:20px !important;

    background:transparent !important;

    border:none !important;

    padding:0 !important;

    margin:0 !important;

    color:inherit !important;

    opacity:.8;

    transition:.2s;

}


.member-history-toggle:hover,
.reward-history-toggle:hover {

    transform:scale(1.15);

    opacity:1;

}



/* TOPUP prepínač */

.credit-topup-toggle {

    margin-top:8px;

    display:block;

    color:#1976d2;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

    text-decoration:underline;

}


.credit-topup-toggle:hover {

    color:#125ca1;

}

/* =========================
   MEMBER + REWARD CARDS
========================= */


.member-credit-card,
.reward-card {

    display:flex;

    flex-direction:column;

    justify-content:flex-start;
    min-height:140px;

}


/* nadpis horných kariet */

.member-credit-card strong,
.reward-card strong {

    display:flex;

    align-items:center;

    justify-content:space-between;

    width:100%;

    font-size:16px;

}


/* história ikonky */

.member-history-toggle,
.reward-history-toggle {

    margin-left:auto;

    cursor:pointer;

    font-size:16px;

    line-height:1;

}







/* farby stavu */

.membership-green {

    color:#2e9d4d;

}


.membership-orange {

    color:#d88900;

}


.membership-red {

    color:#d32f2f;

}




/* odkazy pod kartami */

.credit-topup-toggle,
.reward-catalog-toggle {

    margin-top:auto;

    padding-top:14px;

    font-size:12px;

    font-weight:600;

    cursor:pointer;

}

.member-credit-card .credit-topup-toggle,
.reward-card .reward-catalog-toggle {

    margin-top:auto;

    text-align:center;

}

/* =========================
   CENTER MEMBER + REWARD CONTENT
========================= */


.member-credit-card,
.reward-card {

    min-height:140px;

}


/* stav členstva v strede */

.member-credit-card .membership-status {

    flex:1;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-top:0;

}



/* počet bodov v odmenách */

.reward-card .reward-points {

    flex:1;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-top:0;

    font-size:16px;

}



/* spodné odkazy ostávajú dole */

.member-credit-card .credit-topup-toggle,
.reward-card .reward-catalog-toggle {

    margin-top:auto;

    text-align:center;

}

.playbook-profile-progress {
    width:50%;
    margin-top:10px;
}

.playbook-layout{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:30px;
}


.playbook-sidebar{
    padding:15px;
}


.playbook-filter{
    cursor:pointer;
    padding:10px 0;
}


.playbook-content{
    min-width:0;
}

/* Playbook desktop: compact video cards in a responsive grid */
.playbook-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    align-items:start;
}

.playbook-grid .playbook-card{
    min-width:0;
}



@media(min-width:769px) and (max-width:1199px){

.playbook-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

}

@media(max-width:768px){

.playbook-grid{
    grid-template-columns:1fr;
}

.playbook-layout{
    display:block;
}


.playbook-sidebar{
    margin-bottom:20px;
}

}

.playbook-mobile-filter{
    display:none;
    width:100%;
    padding:12px;
}


@media(max-width:768px){

.playbook-sidebar h3{
    display:none;
}


.playbook-mobile-filter{
    display:block;
}


.playbook-sidebar .playbook-filter{
    display:none;
}

}

.playbook-filter{
    cursor:pointer;
    padding:10px 0;
    transition:0.2s;
}


.playbook-filter.active{
    font-weight:700;
}


.playbook-filter.active:before{
    content:'➤ ';
}

.playbook-sidebar{
    padding:10px 0;
}


.playbook-sidebar h3{
    margin-bottom:20px;
}


.playbook-filter{
    padding:8px 0;
    cursor:pointer;
    font-size:15px;
}


.playbook-filter.active{
    font-weight:700;
}


.playbook-filter.active:before{
    content:'➤ ';
}

.playbook-card{
    display:flex;
    flex-direction:column;
    gap:12px;
}


.playbook-category-label{
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
}


.playbook-card h3{
    margin:0;
    line-height:1.3;
}


.playbook-video{
    width:100%;
}


.playbook-video-frame{
    width:100%;
    max-width:100%;
    aspect-ratio:16 / 9;
    height:auto;
}


.playbook-points{
    margin-top:auto;
}


.playbook-status{
    font-size:14px;
    font-weight:600;
}

.playbook-card {
    position: relative;
}


.playbook-card.is-completed {
    opacity: 0.75;
}


.playbook-card.is-completed:after {

    content: "✓";

    position: absolute;

    top: 12px;

    right: 12px;

    width: 28px;

    height: 28px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 16px;

    background: #fff;

}

.paradise-mobile-nav {
    display:none;
}


@media(max-width:768px){

    .paradise-mobile-nav {

        position:fixed;

        bottom:0;
        left:0;
        right:0;

        height:70px;

        background:#111;

        display:flex;

        justify-content:space-around;

        align-items:center;

        border-top:1px solid rgba(255,255,255,0.1);

        z-index:9999;

    }


    .mobile-nav-item {

        background:none;

        border:0;

        color:#aaa;

        font-size:12px;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:5px;

        cursor:pointer;

    }


    .mobile-nav-item.active {

        color:#00ff88;

    }


    .mobile-nav-item span {

        font-size:11px;

    }


    .paradise-player-dashboard {

        padding-bottom:90px;

    }

}

.mobile-team-logo {

    width: 28px;
    height: 28px;

    object-fit: contain;

    display: block;

    margin: 0 auto 3px;

}


.mobile-icon-fallback {

    width: 28px;
    height: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 24px;

}
.paradise-mobile-nav .mobile-svg-icon {

    width: 34px;
    height: 34px;

    fill: currentColor;

}


.paradise-mobile-nav .mobile-team-logo {

    width: 34px;
    height: 34px;

    object-fit: contain;

}


.paradise-mobile-nav .mobile-nav-item {

    font-size: 14px;

    font-weight: 600;

    color: white;

}


.paradise-mobile-nav .mobile-nav-item.active {

    color: #111;

}


.paradise-mobile-nav .mobile-nav-item span {

    margin-top: 3px;

}

/* =========================
   MOBILNÁ NAVIGÁCIA FARBY
========================= */

.paradise-mobile-nav {

    background:#111;

    border-top:1px solid rgba(255,255,255,.08);

}


.paradise-mobile-nav .mobile-nav-item {

    color:white;

}


.paradise-mobile-nav .mobile-nav-item.active {

    color:#00ff88;

}


.paradise-mobile-nav .mobile-nav-item:hover {

    color:#00ff88;

}


.paradise-mobile-nav .mobile-nav-item span {

    font-size:11px;

    font-weight:700;

}

.match-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    top: -8px;
}

.match-date,
.match-venue {
    font-size: 14px;
}

.paradise-remove-player {
    margin-left:10px;
    padding:1px 6px;
    font-size:11px;
    line-height:14px;
    height:18px;
    background:#dc3545;
    color:white;
    border:none;
    border-radius:3px;
    cursor:pointer;
    vertical-align:middle;
}

.paradise-remove-player:hover {
    background:#bb2d3b;
}


.paradise-modal {
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    z-index:9999;
    align-items:center;
    justify-content:center;
}


.paradise-modal-box {

    background:#fff;
    width:90%;
    max-width:360px;
    padding:25px;
    border-radius:10px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.25);

}


.paradise-modal-box h3 {

    margin-top:0;

}


.paradise-modal-btn {

    padding:8px 16px;
    border:none;
    border-radius:5px;
    cursor:pointer;

}


.paradise-modal-confirm {

    background:#dc3545;
    color:white;

}


.paradise-modal-cancel {

    background:#6c757d;
    color:white;
    margin-left:10px;

}

@media(max-width:768px){

.paradise-player-dashboard .mobile-section{
    display:none;
}

.paradise-player-dashboard #section-profile{
    display:block;
}

}



/* Paradise player dashboard overview */
.paradise-dashboard-player-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-bottom:18px;
}
.paradise-dashboard-player-strip > div{
    padding:16px 18px;
    border-radius:14px;
    background:#f7f8fa;
    border:1px solid #e6e8ec;
}
.paradise-dashboard-player-strip span,
.paradise-dashboard-player-strip strong{
    display:block;
}
.paradise-dashboard-player-strip span{
    font-size:.82rem;
    opacity:.7;
    margin-bottom:5px;
}
.paradise-dashboard-player-strip strong{
    font-size:1.05rem;
}
@media (max-width:700px){
    .paradise-dashboard-player-strip{grid-template-columns:1fr;}
}

.paradise-stats-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}
.paradise-stats-grid > div{
    padding:14px 10px;
    text-align:center;
    border:1px solid #e6e8ec;
    border-radius:12px;
    background:#fff;
}
.paradise-stats-grid strong,
.paradise-stats-grid small{
    display:block;
}
.paradise-stats-grid strong{
    font-size:1.35rem;
}
.paradise-stats-grid small{
    margin-top:4px;
    opacity:.7;
}
.paradise-standing-mini{
    margin-top:12px;
    padding:12px 14px;
    border-radius:12px;
    background:#f7f8fa;
    display:flex;
    justify-content:space-between;
    gap:12px;
}
@media (max-width:900px){
    .paradise-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:500px){
    .paradise-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .paradise-standing-mini{display:block;}
}

.paradise-dashboard-player-stats-native{
    margin-bottom:16px;
}
.paradise-dashboard-player-stats-native .paradise-player-season-stats{
    width:100%;
}
.paradise-dashboard-player-stats-native .paradise-match-summary{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}
.paradise-dashboard-player-stats-native .paradise-match-summary > div{
    padding:15px 10px;
    text-align:center;
    border:1px solid #e6e8ec;
    border-radius:12px;
    background:#fff;
}
.paradise-dashboard-player-stats-native .paradise-match-summary strong,
.paradise-dashboard-player-stats-native .paradise-match-summary span{
    display:block;
}
.paradise-dashboard-player-stats-native .paradise-match-summary strong{
    font-size:1.35rem;
}
.paradise-dashboard-player-stats-native .paradise-match-summary span{
    margin-top:4px;
    opacity:.7;
    font-size:.85rem;
}
@media (max-width:900px){
    .paradise-dashboard-player-stats-native .paradise-match-summary{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media (max-width:500px){
    .paradise-dashboard-player-stats-native .paradise-match-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* =========================================================
   PARADISE CLUB SYSTEM — 1.3 VISUAL SYSTEM
   Modern sports-club / esports-inspired dashboard
   Palette: graphite + Paradise green + clean white
========================================================= */

:root{
    --paradise-green:#00e676;
    --paradise-green-dark:#00a95c;
    --paradise-ink:#101318;
    --paradise-muted:#6b7280;
    --paradise-bg:#f4f6f8;
    --paradise-card:#ffffff;
    --paradise-border:#e5e7eb;
    --paradise-radius:18px;
}

/* Player dashboard shell */
.paradise-dashboard{
    max-width:1180px;
    margin:0 auto;
    padding:24px;
    color:var(--paradise-ink);
    background:var(--paradise-bg);
    border-radius:24px;
    box-sizing:border-box;
}

.paradise-dashboard-header{
    position:relative;
    overflow:hidden;
    min-height:150px;
    display:flex;
    align-items:flex-end;
    padding:28px 30px;
    margin-bottom:18px;
    border-radius:22px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(0,230,118,.32), transparent 34%),
        linear-gradient(135deg,#0b0d10 0%,#171b20 62%,#0c3b27 100%);
    box-shadow:0 12px 30px rgba(16,19,24,.16);
}

.paradise-dashboard-header:after{
    content:"";
    position:absolute;
    right:-45px;
    bottom:-80px;
    width:220px;
    height:220px;
    border:28px solid rgba(0,230,118,.12);
    border-radius:50%;
}

.paradise-dashboard-header > div{
    position:relative;
    z-index:1;
}

.paradise-dashboard-header p{
    margin:0 0 5px;
    color:rgba(255,255,255,.65);
    font-size:13px;
    font-weight:600;
}

.paradise-dashboard-header h2{
    margin:0;
    font-size:32px;
    line-height:1.05;
    letter-spacing:-.7px;
}

/* Team / player identity */
.paradise-dashboard-player-strip{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:14px;
    margin:0 0 18px;
}

.paradise-dashboard-player-strip > div{
    padding:18px 20px;
    border:1px solid var(--paradise-border);
    border-radius:var(--paradise-radius);
    background:var(--paradise-card);
    box-shadow:0 5px 18px rgba(16,19,24,.045);
}

.paradise-dashboard-player-strip span{
    display:block;
    margin-bottom:6px;
    color:var(--paradise-muted);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.paradise-dashboard-player-strip strong{
    display:block;
    font-size:18px;
}

/* KPI cards */
.paradise-dashboard-cards{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin-bottom:20px;
}

.paradise-dashboard-card{
    min-height:126px;
    box-sizing:border-box;
    padding:18px;
    border:1px solid var(--paradise-border);
    border-radius:var(--paradise-radius);
    background:var(--paradise-card);
    box-shadow:0 5px 18px rgba(16,19,24,.045);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.paradise-dashboard-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(16,19,24,.08);
    border-color:#d7dce2;
}

.paradise-dashboard-card > span{
    display:block;
    margin-bottom:16px;
    color:var(--paradise-muted);
    font-size:12px;
    font-weight:700;
}

.paradise-dashboard-card > strong{
    display:block;
    font-size:27px;
    line-height:1.05;
    letter-spacing:-.5px;
}

.paradise-dashboard-card > small{
    display:block;
    margin-top:8px;
    color:var(--paradise-muted);
    font-size:12px;
}

.paradise-dashboard-points{
    color:#fff;
    border-color:#101318;
    background:linear-gradient(145deg,#101318,#1c2420);
}

.paradise-dashboard-points > span,
.paradise-dashboard-points > small{
    color:rgba(255,255,255,.62);
}

.paradise-dashboard-points > strong{
    color:var(--paradise-green);
}

.paradise-dashboard-membership strong{
    font-size:21px;
}

/* Sections */
.paradise-dashboard-section,
}

.paradise-dashboard-section-heading{
    display:block;
    margin-bottom:16px;
}

.paradise-dashboard-section-heading h3{
    margin:0;
    font-size:19px;
    letter-spacing:-.25px;
}

.paradise-dashboard-section-heading span{
    color:var(--paradise-muted);
    font-size:12px;
    font-weight:600;
}


.paradise-load-more-matches{
    width:100%;
    margin-top:12px;
    padding:11px 16px;
    border:1px solid #dfe3e7;
    border-radius:11px;
    background:#fff;
    color:#101318;
    font-weight:700;
    cursor:pointer;
    transition:.18s ease;
}

.paradise-load-more-matches:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}

/* Payment / task / quick links */
.paradise-dashboard-task-list{
    display:grid;
    gap:8px;
}

.paradise-dashboard-task{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:14px 16px;
    border:1px solid var(--paradise-border);
    border-radius:13px;
    background:#fafbfc;
}

.paradise-dashboard-task small{
    display:block;
    margin-top:3px;
    color:var(--paradise-muted);
}

.paradise-dashboard-task > span{
    white-space:nowrap;
    color:var(--paradise-green-dark);
    font-weight:800;
}

.paradise-dashboard-links{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.paradise-dashboard-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:10px 12px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:12px;
    background:#fff;
    color:#20242a;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.18s ease;
}

.paradise-dashboard-links a:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}

/* Buttons inside dashboard */
.paradise-dashboard .button,
.paradise-dashboard button,
.paradise-dashboard input[type="submit"]{
    border-radius:10px;
    font-weight:700;
}

.paradise-dashboard a.button{
    background:#101318;
    color:#fff;
    border:0;
    padding:10px 15px;
}

.paradise-dashboard a.button:hover{
    background:#242a31;
}

/* Trainer portal */
.paradise-trainer-dashboard,
.trainer-portal,
.paradise-trainer{
    color:var(--paradise-ink);
}

.paradise-trainer-dashboard .button,
.trainer-portal .button{
    border-radius:10px;
    font-weight:700;
}

.paradise-trainer-dashboard table,
.trainer-portal table{
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border:1px solid var(--paradise-border);
    border-radius:15px;
    background:#fff;
}

.paradise-trainer-dashboard th,
.paradise-trainer-dashboard td,
.trainer-portal th,
.trainer-portal td{
    padding:12px 14px;
    border-bottom:1px solid #edf0f2;
}

.paradise-trainer-dashboard th,
.trainer-portal th{
    background:#f6f7f8;
    color:#5f6670;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

/* Mobile */
@media(max-width:1000px){
    .paradise-dashboard-cards{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .paradise-dashboard-links{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .paradise-dashboard{
        padding:12px;
        border-radius:0;
    }

    .paradise-dashboard-header{
        min-height:120px;
        padding:22px;
        border-radius:18px;
    }

    .paradise-dashboard-header h2{
        font-size:27px;
    }

    .paradise-dashboard-player-strip{
        grid-template-columns:1fr;
    }

    .paradise-dashboard-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .paradise-dashboard-card{
        min-height:112px;
        padding:15px;
    }

    .paradise-dashboard-card > strong{
        font-size:23px;
    }

    .paradise-dashboard-section,
    }

    .paradise-dashboard-links{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:430px){
    .paradise-dashboard-cards{
        gap:8px;
    }

    .paradise-dashboard-card{
        padding:13px;
    }

    .paradise-dashboard-card > strong{
        font-size:21px;
    }

}

/* 1.3.1 — player header refinement */
.paradise-dashboard-profile{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:18px;
}
.paradise-dashboard-team-logo{
    width:78px;
    height:78px;
    flex:0 0 78px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.10);
    box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.paradise-dashboard-team-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:9px;
    box-sizing:border-box;
}
.paradise-dashboard-team-logo span{
    font-size:34px;
}
.paradise-dashboard-greeting p{
    margin:0 0 5px;
    color:var(--paradise-green);
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
}
.paradise-dashboard-greeting h2{
    color:#fff;
    margin:0;
}
.paradise-dashboard-current-team{
    margin-top:8px;
    color:rgba(255,255,255,.72);
    font-size:14px;
    font-weight:700;
}
@media(max-width:500px){
    .paradise-dashboard-profile{
        gap:13px;
    }
    .paradise-dashboard-team-logo{
        width:62px;
        height:62px;
        flex-basis:62px;
    }
    .paradise-dashboard-team-logo img{
        padding:7px;
    }
    .paradise-dashboard-greeting h2{
        font-size:25px;
    }
    .paradise-dashboard-current-team{
        font-size:13px;
    }
}

/* 1.3.2 — header cleanup */
.paradise-dashboard-team-logo{
    border-color:rgba(255,255,255,.95);
    background:#fff;
}
.paradise-dashboard-team-logo img{
    background:#fff;
}
.paradise-dashboard-greeting p{
    display:none;
}
.paradise-dashboard-greeting h2{
    margin:0;
}

/* 1.3.3 — interactive dashboard cards and mobile app navigation */
.paradise-dashboard-card-button{
    width:100%;
    appearance:none;
    text-align:left;
    font:inherit;
    color:inherit;
    cursor:pointer;
}
.paradise-dashboard-card-button:focus-visible{
    outline:3px solid rgba(0,230,118,.35);
    outline-offset:2px;
}
.paradise-dashboard-panels{
    margin:0 0 20px;
}
.paradise-dashboard-panel{
    display:none;
    padding:22px;
    border:1px solid var(--paradise-border);
    border-radius:var(--paradise-radius);
    background:#fff;
    box-shadow:0 8px 24px rgba(16,19,24,.06);
    animation:paradisePanelIn .18s ease;
}
.paradise-dashboard-panel.active{display:block;}
@keyframes paradisePanelIn{
    from{opacity:0;transform:translateY(-5px)}
    to{opacity:1;transform:translateY(0)}
}
.paradise-dashboard-panel-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}
.paradise-dashboard-panel-heading h3{margin:0;font-size:19px;}
.paradise-panel-close{
    width:32px;height:32px;
    border:0;border-radius:50%;
    background:#f0f2f4;color:#606770;
    font-size:22px;line-height:1;
    cursor:pointer;
}
.paradise-panel-balance{
    margin-bottom:16px;
    font-size:36px;
    font-weight:800;
    color:var(--paradise-green-dark);
}
.paradise-panel-balance small{font-size:16px;}
.paradise-point-history{display:grid;gap:8px;}
.paradise-point-row{
    display:flex;align-items:center;justify-content:space-between;gap:15px;
    padding:12px 14px;border:1px solid #edf0f2;border-radius:12px;background:#fafbfc;
}
.paradise-point-row small{display:block;margin-top:3px;color:var(--paradise-muted);}
.paradise-point-row .positive{color:var(--paradise-green-dark);}
.paradise-point-row .negative{color:#d64545;}
.paradise-panel-attendance-value{font-size:36px;font-weight:800;}
.paradise-attendance-bar{height:9px;border-radius:99px;background:#edf0f2;overflow:hidden;margin-top:15px;}
.paradise-attendance-bar span{display:block;height:100%;border-radius:inherit;background:var(--paradise-green);}
.paradise-dashboard-legacy-membership,
.paradise-dashboard-legacy-tasks{display:none!important;}

/* Native-style mobile bottom navigation */
.paradise-mobile-nav{display:none;}
@media(max-width:700px){
    body{padding-bottom:76px;}
    .paradise-mobile-nav{
        position:fixed;
        z-index:9999;
        left:10px;right:10px;bottom:10px;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:4px;
        padding:7px;
        border:1px solid rgba(255,255,255,.65);
        border-radius:18px;
        background:rgba(255,255,255,.94);
        box-shadow:0 10px 35px rgba(0,0,0,.16);
        backdrop-filter:blur(14px);
    }
    .paradise-mobile-nav button{
        border:0;background:transparent;border-radius:12px;
        padding:8px 4px;color:#69717b;
        font:inherit;font-size:11px;font-weight:700;
        cursor:pointer;
    }
    .paradise-mobile-nav button span{
        display:block;font-size:18px;line-height:20px;margin-bottom:2px;
    }
    .paradise-mobile-nav button.active{
        color:#101318;background:#eefbf5;
    }
}

.paradise-dashboard-card-button.is-active{
    border-color:var(--paradise-green-dark);
    box-shadow:0 0 0 2px rgba(0,169,92,.10),0 10px 24px rgba(16,19,24,.08);
}

/* 1.3.6 — reliable mobile navigation */
@media(max-width:700px){
    .paradise-mobile-nav{
        display:grid !important;
        pointer-events:auto;
        touch-action:manipulation;
    }
    .paradise-mobile-nav button{
        pointer-events:auto;
        -webkit-tap-highlight-color:transparent;
    }
}

/* 1.3.8 — no-JS fallback for dashboard navigation */
.paradise-dashboard-card-button{
    display:block;
    text-decoration:none;
    box-sizing:border-box;
}
.paradise-trainer-dashboard .paradise-dashboard-panel:target,
.paradise-parent-dashboard .paradise-dashboard-panel:target{
    display:block;
    scroll-margin-top:20px;
}
.paradise-mobile-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:42px;
    text-decoration:none;
}


/* 1.4.0 — Home always returns to the dashboard overview */
.paradise-dashboard:not(.paradise-panel-view-active) .paradise-dashboard-panels .paradise-dashboard-panel{
    display:none;
}

/* 1.4.1 — completed tasks live inside the Tasks section */
.paradise-tasks-completed-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:16px;
    padding:14px 16px;
    border:1px solid #e8ebee;
    border-radius:12px;
    background:#f7f8f9;
}
.paradise-tasks-completed-summary span{
    color:#606770;
    font-size:13px;
    font-weight:700;
}
.paradise-tasks-completed-summary strong{
    font-size:20px;
    color:var(--paradise-green-dark);
}

/* 1.4.2 — contextual quick overviews */
.paradise-panel-quick{
    margin:0 0 20px;
    padding-bottom:16px;
    border-bottom:1px solid #edf0f2;
}
.paradise-panel-quick .paradise-dashboard-section-heading{
    margin-bottom:10px;
}
.paradise-panel-quick .paradise-dashboard-section-heading h4{
    margin:0;
    font-size:13px;
    color:#606770;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.paradise-panel-quick-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.paradise-panel-quick-links a{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 13px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    transition:.18s ease;
}
.paradise-panel-quick-links a:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-point-history,
.paradise-tasks-completed-summary,
#paradise-membership-pending{
    scroll-margin-top:20px;
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        display:grid;
        grid-template-columns:1fr;
    }
    .paradise-panel-quick-links a{
        width:100%;
    }
}

/* 1.4.3 — inline quick navigation */
.paradise-inline-subpanel{
    display:none;
    margin-top:14px;
    padding:15px;
    border:1px solid #e8ebee;
    border-radius:14px;
    background:#fafbfc;
    scroll-margin-top:20px;
}
.paradise-inline-subpanel:target,
.paradise-inline-subpanel-open{
    display:block;
}
.paradise-inline-subheading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}
.paradise-inline-subheading strong{font-size:14px;}
.paradise-inline-close{
    width:28px;height:28px;border:0;border-radius:50%;
    background:#e9ecef;color:#555;cursor:pointer;font-size:18px;
}
.paradise-mini-catalog,.paradise-payment-history{display:grid;gap:7px;}
.paradise-mini-catalog-item,.paradise-payment-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 12px;border:1px solid #e8ebee;border-radius:10px;background:#fff;
}
.paradise-mini-catalog-item small,.paradise-payment-row small{
    display:block;color:#6b7280;margin-top:3px;
}
.paradise-mini-catalog-item > span,.paradise-payment-row > span{
    color:var(--paradise-green-dark);font-size:12px;font-weight:800;
}
.paradise-inline-muted{color:#6b7280;font-size:12px;}

/* 1.4.4 — contextual links */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.paradise-panel-quick-links a{
    width:100%;
    justify-content:center;
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .paradise-panel-quick-links a{
        min-height:42px;
        padding:8px 7px;
        font-size:11px;
    }
}

/* 1.4.5 — inline quick links are controls, not navigation */
.paradise-panel-quick-links .paradise-inline-link{
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 13px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    text-decoration:none;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.paradise-panel-quick-links .paradise-inline-link:hover{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-inline-subpanel{
    display:none !important;
}
.paradise-inline-subpanel.active{
    display:block !important;
}
.paradise-inline-title{
    display:block;
    margin-bottom:12px;
    font-size:14px;
}

/* 1.4.6 — native, JS-free quick panels */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.paradise-quick-detail{
    min-width:0;
}
.paradise-quick-detail summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 10px;
    box-sizing:border-box;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    user-select:none;
}
.paradise-quick-detail summary::-webkit-details-marker{display:none;}
.paradise-quick-detail[open] summary{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-quick-detail .paradise-inline-subpanel{
    display:block !important;
    margin-top:8px;
    grid-column:1 / -1;
}
.paradise-quick-detail:not([open]) .paradise-inline-subpanel{
    display:none !important;
}

/* 1.4.7 — quick action buttons stay side-by-side, opened content stays full-width */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.paradise-quick-detail{
    width:100%;
    min-width:0;
}
.paradise-quick-detail .paradise-inline-subpanel{
    width:calc(200% + 8px);
    box-sizing:border-box;
}
.paradise-quick-detail:nth-child(2) .paradise-inline-subpanel{
    margin-left:calc(-100% - 8px);
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .paradise-quick-detail .paradise-inline-subpanel{
        width:calc(200% + 8px);
    }
}

/* 1.4.8 — all quick-action groups: buttons side-by-side, content full-width */
.paradise-panel-quick-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.paradise-quick-detail{
    width:100%;
    min-width:0;
}
.paradise-quick-detail .paradise-inline-subpanel{
    width:calc(200% + 8px);
    box-sizing:border-box;
    margin-top:8px;
}
.paradise-quick-detail:nth-child(2n) .paradise-inline-subpanel{
    margin-left:calc(-100% - 8px);
}
@media(max-width:500px){
    .paradise-panel-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .paradise-quick-detail .paradise-inline-subpanel{
        width:calc(200% + 8px);
    }
}

/* 1.4.9 — one quick action open at a time */
.paradise-panel-quick-links{
    align-items:start;
}
.paradise-quick-detail .paradise-inline-subpanel{
    grid-column:1 / -1;
}

/* 1.4.10 — exclusive PP quick selector, no JS/details ambiguity */
.paradise-exclusive-quick{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.paradise-quick-radio{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.paradise-quick-label{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 10px;
    border:1px solid var(--paradise-border);
    border-radius:10px;
    background:#fafbfc;
    color:#20242a;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    box-sizing:border-box;
}
.paradise-quick-radio:checked + .paradise-quick-label{
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-quick-content{
    grid-column:1 / -1;
    display:none;
    width:100%;
    box-sizing:border-box;
    margin-top:2px;
    padding:15px;
    border:1px solid #e8ebee;
    border-radius:14px;
    background:#fafbfc;
}
#paradise-pp-catalog-toggle:checked ~ .paradise-pp-catalog-content{
    display:block;
}
#paradise-pp-history-toggle:checked ~ .paradise-pp-history-content{
    display:block;
}

/* 1.4.11 — exclusive selectors for every quick-action group */
.paradise-exclusive-quick .paradise-quick-content{
    display:none;
}
.paradise-exclusive-quick .paradise-quick-radio:nth-of-type(1):checked ~ .paradise-quick-content:nth-of-type(1),
.paradise-exclusive-quick .paradise-quick-radio:nth-of-type(2):checked ~ .paradise-quick-content:nth-of-type(2),
.paradise-exclusive-quick .paradise-quick-radio:nth-of-type(3):checked ~ .paradise-quick-content:nth-of-type(3){
    display:block;
}

/* 1.4.13 — rewards in the inline catalog are actionable */
.paradise-mini-catalog .paradise-catalog-inline-buy{
    width:100%;
    text-align:left;
    font:inherit;
    cursor:pointer;
    border:1px solid #e8ebee;
    border-radius:10px;
    background:#fff;
    color:#20242a;
}
.paradise-mini-catalog .paradise-catalog-inline-buy:hover:not(:disabled){
    border-color:var(--paradise-green-dark);
    background:#f2fff8;
}
.paradise-mini-catalog .paradise-catalog-inline-buy:disabled{
    cursor:not-allowed;
    opacity:.55;
}
.paradise-mini-catalog .paradise-catalog-inline-buy > span:first-child{
    display:flex;
    flex-direction:column;
    gap:2px;
}

/* 1.4.18 — reward redemption confirmation */

.paradise-reward-info-button{border:0;background:none;color:var(--paradise-green-dark);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:0 3px;margin-left:3px}.paradise-reward-variant{width:100%;box-sizing:border-box;margin-top:4px;padding:7px 9px;border:1px solid #dfe5e2;border-radius:8px;background:#fff;color:#20242a;font:inherit;font-size:11px}.paradise-reward-modal-close{position:absolute;right:10px;top:7px;border:0;background:none;color:#6b7280;font-size:25px;line-height:1;cursor:pointer}.paradise-reward-modal-description{text-align:left;color:#4b5563;font-size:14px;line-height:1.6;white-space:pre-line;max-height:60vh;overflow:auto}
.paradise-reward-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    visibility:hidden;
    opacity:0;
    transition:opacity .18s ease, visibility .18s ease;
}
.paradise-reward-modal.is-visible{
    visibility:visible;
    opacity:1;
}
.paradise-reward-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,20,25,.58);
    backdrop-filter:blur(3px);
}
.paradise-reward-modal-dialog{
    position:relative;
    width:min(390px,100%);
    box-sizing:border-box;
    padding:25px 22px 20px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 60px rgba(0,0,0,.22);
    text-align:center;
    transform:translateY(10px) scale(.98);
    transition:transform .18s ease;
}
.paradise-reward-modal.is-visible .paradise-reward-modal-dialog{
    transform:translateY(0) scale(1);
}
.paradise-reward-modal-icon{
    width:58px;
    height:58px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f3f8f5;
    overflow:hidden;
}
.paradise-reward-modal-logo{
    display:block;
    width:48px;
    height:48px;
    object-fit:contain;
}
.paradise-reward-modal-logo-fallback{
    font-size:25px;
    font-weight:900;
    color:var(--paradise-green-dark);
}
.paradise-reward-modal-dialog h3{
    margin:0 0 8px;
    font-size:19px;
    line-height:1.3;
}
.paradise-reward-modal-variant{
    margin:0 0 15px;
    color:#687078;
    font-size:13px;
    line-height:1.45;
}
.paradise-reward-modal-variant span{
    font-weight:800;
    color:#343a40;
}
.paradise-reward-modal-reward{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 18px;
    padding:13px 14px;
    border:1px solid #e7eaec;
    border-radius:12px;
    background:#f8f9fa;
    text-align:left;
}
.paradise-reward-modal-reward strong{
    display:block;
    font-size:14px;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.paradise-reward-modal-cash{
    display:block;
    color:var(--paradise-green-dark);
    font-size:15px;
    font-weight:900;
    line-height:1.5;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.paradise-reward-modal-note{
    margin-top:9px;
    color:#687078;
    font-size:11px;
    line-height:1.45;
    text-align:center;
}
.paradise-reward-modal-note strong{
    color:var(--paradise-green-dark);
    font-weight:900;
}
.paradise-reward-modal-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}
.paradise-reward-modal-actions button{
    min-height:42px;
    border-radius:10px;
    padding:9px 12px;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.paradise-reward-modal-cancel{
    border:1px solid #dfe3e6;
    background:#fff;
    color:#343a40;
}
.paradise-reward-modal-confirm{
    border:1px solid var(--paradise-green-dark);
    background:var(--paradise-green-dark);
    color:#fff;
}
@media(max-width:500px){
    .paradise-reward-modal{
        padding:16px;
    }
    .paradise-reward-modal-dialog{
        padding:22px 17px 17px;
        border-radius:16px;
    }
}

/* 1.4.22 — compact membership status heading */
.paradise-membership-status-heading{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #e8ebee;
    border-radius:12px;
    background:#fff;
    color:#343a40;
    font-size:13px;
    line-height:1.35;
}
.paradise-membership-status-heading strong{
    font-weight:800;
}
.paradise-status-dot{
    flex:0 0 9px;
    width:9px;
    height:9px;
    border-radius:50%;
}
.paradise-status-dot.is-paid{
    background:#35a66f;
    box-shadow:0 0 0 3px rgba(53,166,111,.12);
}
.paradise-status-dot.is-unpaid{
    background:#d85c5c;
    box-shadow:0 0 0 3px rgba(216,92,92,.12);
}

/* 1.4.23 — membership renewal selector */
.paradise-membership-renewal{
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #e8ebee;
    border-radius:12px;
    background:#f8faf9;
}
.paradise-membership-renewal-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
}
.paradise-membership-renewal-row > div{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.paradise-membership-renewal-row strong{
    font-size:13px;
}
.paradise-membership-renewal-row small{
    color:#6b7280;
    font-size:11px;
}
.paradise-membership-renewal-row select{
    min-height:38px;
    padding:7px 10px;
    border:1px solid #dfe4e7;
    border-radius:9px;
    background:#fff;
    font:inherit;
    font-size:12px;
}
.paradise-membership-renewal-row button{
    min-height:38px;
    padding:8px 14px;
    border:1px solid var(--paradise-green-dark);
    border-radius:9px;
    background:var(--paradise-green-dark);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
@media(max-width:600px){
    .paradise-membership-renewal-row{
        grid-template-columns:1fr;
    }
    .paradise-membership-renewal-row select,
    .paradise-membership-renewal-row button{
        width:100%;
    }
}

/* 1.4.25 — pending membership payment content */
.paradise-pending-payment-card{display:flex;align-items:center;justify-content:space-between;gap:14px}
.paradise-pending-payment-main{display:flex;flex-direction:column;gap:3px}
.paradise-pending-payment-main strong{font-size:16px}
.paradise-pending-payment-main span{font-size:11px;color:#6b7280}
.paradise-pending-payment-card .button{flex-shrink:0}
@media(max-width:500px){.paradise-pending-payment-card{flex-direction:column;align-items:stretch}.paradise-pending-payment-card .button{width:100%;text-align:center}}

/* 1.4.27 — membership and payment-order modals */
.paradise-membership-modal,.paradise-document-modal{
    position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;
    padding:16px;visibility:hidden;opacity:0;transition:opacity .18s ease,visibility .18s ease;
}
.paradise-membership-modal.is-visible,.paradise-document-modal.is-visible{visibility:visible;opacity:1}
.paradise-membership-modal-backdrop,.paradise-document-modal-backdrop{
    position:absolute;inset:0;background:rgba(15,22,18,.60);backdrop-filter:blur(4px);
}
.paradise-membership-modal-dialog{
    position:relative;width:min(420px,100%);padding:25px 22px 20px;background:#fff;border-radius:18px;
    box-shadow:0 20px 70px rgba(20,50,38,.25);text-align:center;transform:translateY(10px) scale(.98);
    transition:transform .18s ease;
}
.paradise-membership-modal.is-visible .paradise-membership-modal-dialog{transform:translateY(0) scale(1)}
.paradise-membership-modal-icon{
    width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:#e8f5ee;color:#236b4e;font-size:25px;font-weight:900;
}
.paradise-membership-modal-dialog h3{margin:0 0 5px;font-size:19px}
.paradise-membership-modal-lead{margin:0 0 12px;color:#6b756f;font-size:12px}
.paradise-membership-modal-summary{
    display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #e3ebe6;border-radius:12px;
    background:#f7f9f8;margin-bottom:17px;
}
.paradise-membership-modal-summary strong{font-size:22px;color:#174f3b}
.paradise-membership-modal-summary span{font-size:12px;color:#66706b}
.paradise-membership-modal-actions{display:grid;gap:9px}
.paradise-membership-modal-actions button,.paradise-membership-payme{
    min-height:43px;border-radius:10px;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;
    cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;
}
.paradise-membership-doc,.paradise-membership-payme{background:#174f3b;border:1px solid #174f3b;color:#fff}
.paradise-membership-modal-secondary{background:#fff;border:1px solid #dfe5e1;color:#29302d}
.paradise-membership-modal-close{
    position:absolute;right:12px;top:10px;width:32px;height:32px;border:0;background:transparent;
    color:#6b756f;font-size:24px;cursor:pointer;
}
.paradise-document-modal{padding:10px}
.paradise-document-modal-dialog{
    position:relative;width:min(1050px,100%);height:min(94vh,900px);background:#fff;border-radius:16px;
    overflow:hidden;box-shadow:0 20px 80px rgba(20,50,38,.3);display:flex;flex-direction:column;
}
.paradise-document-modal-toolbar{
    flex:0 0 auto;min-height:54px;padding:8px 12px 8px 18px;display:flex;align-items:center;
    justify-content:space-between;gap:10px;background:#174f3b;color:#fff;
}
.paradise-document-modal-toolbar > div{display:flex;align-items:center;gap:6px}
.paradise-document-modal-toolbar button,.paradise-document-open{
    border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;
    border-radius:8px;padding:7px 10px;font:inherit;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer;
}
.paradise-document-modal-toolbar button:last-child{font-size:20px;padding:3px 9px}
.paradise-document-frame{width:100%;height:100%;border:0;background:#f4f6f5}
@media(max-width:600px){
    .paradise-membership-modal{padding:12px}
    .paradise-document-modal{padding:0}
    .paradise-document-modal-dialog{height:100vh;border-radius:0}
    .paradise-document-modal-toolbar{padding-left:12px}
    .paradise-document-modal-toolbar > div{gap:4px}
    .paradise-document-open{display:none}
    .paradise-document-modal-toolbar button{padding:7px 8px}
}

/* 1.4.31 — payment order modal mobile layout */
.paradise-document-modal{
    padding:10px;
}
.paradise-document-modal-dialog{
    width:min(1050px,100%);
    height:min(94dvh,900px);
    min-height:0;
}
.paradise-document-modal-toolbar{
    flex:0 0 auto;
    min-height:58px;
    padding:8px 10px 8px 16px;
}
.paradise-document-toolbar-actions{
    display:flex;
    align-items:center;
    gap:6px;
}
.paradise-document-modal-toolbar .paradise-document-close{
    width:38px;
    height:38px;
    min-width:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    line-height:1;
    padding:0;
    border-radius:9px;
    background:rgba(255,255,255,.16);
    color:#fff;
    border:1px solid rgba(255,255,255,.3);
}
.paradise-document-frame{
    flex:1 1 auto;
    min-height:0;
}
@media(max-width:600px){
    .paradise-document-modal{
        padding:0;
        align-items:stretch;
    }
    .paradise-document-modal-dialog{
        width:100%;
        height:100dvh;
        max-height:100dvh;
        border-radius:0;
    }
    .paradise-document-modal-toolbar{
        min-height:60px;
        padding:8px 8px 8px 12px;
        gap:6px;
    }
    .paradise-document-modal-toolbar > strong{
        min-width:0;
        font-size:13px;
        white-space:nowrap;
    }
    .paradise-document-toolbar-actions{
        margin-left:auto;
        gap:4px;
    }
    .paradise-document-modal-toolbar button,
    .paradise-document-open{
        min-height:40px;
        padding:6px 8px;
        font-size:10px;
    }
    .paradise-document-modal-toolbar .paradise-document-close{
        width:40px;
        min-width:40px;
        height:40px;
        font-size:26px;
        padding:0;
    }
}

/* 1.4.33 — pending membership payment vertical layout */
.paradise-pending-payment-card{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:10px;
}
.paradise-pending-payment-main{
    width:100%;
}
.paradise-pending-payment-card .button{
    width:100%;
    box-sizing:border-box;
    text-align:center;
}

/* 1.4.34 — document link in membership payment history */
.paradise-payment-history-status{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
    text-align:right;
}
.paradise-payment-history-document{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 9px;
    border:1px solid #dfe5e1;
    border-radius:8px;
    background:#fff;
    color:#174f3b;
    font-size:11px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
}
.paradise-payment-history-document:hover{
    background:#f3f8f5;
    border-color:#c9d9d0;
}
@media(max-width:600px){
    .paradise-payment-history-status{
        align-items:flex-start;
        text-align:left;
    }
}

.paradise-payment-history-period {
    display: block;
    margin-top: 2px;
    font-weight: 600;
}

/* 1.4.51 — player photo + integrated Paradise club mark */
.paradise-dashboard-header{
    position:relative;
    overflow:hidden;
}
.paradise-dashboard-profile{
    position:relative;
    min-height:118px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px 28px;
    overflow:hidden;
    isolation:isolate;
}
.paradise-dashboard-profile::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 30%),
        radial-gradient(circle at 95% 90%, rgba(255,255,255,.06), transparent 35%);
    pointer-events:none;
}
.paradise-dashboard-player-photo{
    width:78px;
    height:78px;
    flex:0 0 78px;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    border:4px solid rgba(255,255,255,.92);
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    position:relative;
    z-index:2;
}
.paradise-dashboard-player-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.paradise-dashboard-greeting{
    position:relative;
    z-index:2;
    min-width:0;
}
.paradise-dashboard-greeting h2{
    margin:0;
    color:#fff;
    font-size:clamp(24px,3vw,34px);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.02em;
}
.paradise-dashboard-current-team{
    margin-top:7px;
    color:rgba(255,255,255,.82);
    font-size:14px;
    font-weight:600;
}
.paradise-dashboard-club-mark{
    position:absolute;
    right:-10px;
    top:-28px;
    width:190px;
    height:190px;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:.94;
    pointer-events:none;
}
.paradise-dashboard-club-mark::before{
    content:"";
    position:absolute;
    width:164px;
    height:164px;
    border-radius:50%;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12);
}
.paradise-dashboard-club-mark img{
    position:relative;
    width:175px;
    height:175px;
    object-fit:contain;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
}
@media(max-width:600px){
    .paradise-dashboard-profile{
        min-height:96px;
        gap:12px;
        padding:17px 18px;
        padding-right:110px;
    }
    .paradise-dashboard-player-photo{
        width:60px;
        height:60px;
        flex-basis:60px;
        border-width:3px;
    }
    .paradise-dashboard-greeting h2{
        font-size:22px;
    }
    .paradise-dashboard-current-team{
        margin-top:5px;
        font-size:12px;
    }
    .paradise-dashboard-club-mark{
        right:-22px;
        top:-30px;
        width:140px;
        height:140px;
    }
    .paradise-dashboard-club-mark::before{
        width:120px;
        height:120px;
    }
    .paradise-dashboard-club-mark img{
        width:130px;
        height:130px;
    }
}

/* =========================================================
   1.4.52 — Paradise Club System visual shell
   Desktop: premium club dashboard with sidebar.
   Mobile: native-app style bottom navigation.
========================================================= */
.paradise-dashboard{
    --pc-green:#0d6b43;
    --pc-green-2:#12905a;
    --pc-green-soft:#eaf7f0;
    --pc-ink:#142019;
    --pc-muted:#78827d;
    --pc-bg:#f5f7f6;
    --pc-line:#e6ebe8;
    max-width:1440px;
    min-height:calc(100vh - 40px);
    margin:20px auto;
    padding:0;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:0;
    overflow:hidden;
    background:var(--pc-bg);
    color:var(--pc-ink);
    border:1px solid #e3e9e5;
    border-radius:28px;
    box-shadow:0 22px 70px rgba(24,42,33,.10);
}

/* Sidebar */
.paradise-dashboard-sidebar{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:28px 18px 20px;
    background:#fff;
    border-right:1px solid var(--pc-line);
}
.paradise-sidebar-brand{
    display:flex;
    align-items:center;
    gap:11px;
    padding:2px 9px 28px;
}
.paradise-sidebar-logo{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:13px;
    background:var(--pc-green-soft);
}
.paradise-sidebar-logo img{
    width:38px;
    height:38px;
    object-fit:contain;
}
.paradise-sidebar-brand strong,
.paradise-sidebar-brand span{
    display:block;
}
.paradise-sidebar-brand strong{
    color:#142019;
    font-size:14px;
    line-height:1.15;
    font-weight:800;
}
.paradise-sidebar-brand span{
    margin-top:3px;
    color:#9aa39e;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.paradise-sidebar-nav{
    display:grid;
    gap:5px;
}
.paradise-sidebar-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:47px;
    padding:0 13px;
    border-radius:13px;
    color:#66716b;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.18s ease;
}
.paradise-sidebar-nav a:hover{
    color:var(--pc-green);
    background:#f4f8f5;
}
.paradise-sidebar-nav a.is-active{
    color:#fff;
    background:linear-gradient(135deg,var(--pc-green),#0a5b39);
    box-shadow:0 8px 20px rgba(13,107,67,.20);
}
.paradise-sidebar-nav a.paradise-sidebar-nav-subitem{
    min-height:40px;
    padding-left:28px;
    font-size:12px;
}
.paradise-sidebar-nav a.paradise-sidebar-nav-subitem .paradise-nav-icon{
    font-size:15px;
}
.paradise-nav-icon{
    width:22px;
    text-align:center;
    font-size:17px;
    line-height:1;
}
.paradise-sidebar-user{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:auto;
    padding:15px 8px 4px;
    border-top:1px solid var(--pc-line);
}
.paradise-sidebar-avatar{
    width:38px;
    height:38px;
    flex:0 0 38px;
    overflow:hidden;
    border-radius:50%;
    background:#eef2ef;
}
.paradise-sidebar-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.paradise-sidebar-user strong,
.paradise-sidebar-user span{
    display:block;
}
.paradise-sidebar-user strong{
    color:#26322b;
    font-size:12px;
    font-weight:800;
}
.paradise-sidebar-user span{
    margin-top:2px;
    color:#929b96;
    font-size:10px;
}
.paradise-sidebar-logout{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    padding:10px 8px;
    border-radius:10px;
    color:#68736d;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    box-sizing:border-box;
    transition:background .15s ease,color .15s ease;
}
.paradise-sidebar-logout:hover{
    background:#f0f5f2;
    color:#087546;
}

/* Main */
.paradise-dashboard-main{
    min-width:0;
    padding:28px 30px 34px;
    background:var(--pc-bg);
}
.paradise-dashboard-header{
    min-height:178px;
    margin:0 0 22px;
    padding:0;
    border-radius:24px;
    display:block;
    overflow:hidden;
    background:
        radial-gradient(circle at 86% 18%,rgba(93,222,158,.24),transparent 28%),
        linear-gradient(135deg,#0a5f3b 0%,#0c7b4a 58%,#08472e 100%);
    box-shadow:0 14px 35px rgba(13,107,67,.20);
}
.paradise-dashboard-header:after{
    right:-52px;
    bottom:-110px;
    width:300px;
    height:300px;
    border:34px solid rgba(255,255,255,.07);
}
.paradise-dashboard-profile{
    min-height:178px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    gap:18px;
    padding:30px 34px;
}
.paradise-dashboard-player-photo{
    width:84px;
    height:84px;
    flex:0 0 84px;
    border:4px solid rgba(255,255,255,.92);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.paradise-dashboard-greeting h2{
    font-size:34px;
    color:#fff;
}
.paradise-dashboard-current-team{
    margin-top:9px;
    color:rgba(255,255,255,.78);
    font-size:14px;
    font-weight:600;
}
.paradise-dashboard-club-mark{
    right:4px;
    top:-55px;
    width:245px;
    height:245px;
    opacity:.95;
}
.paradise-dashboard-club-mark:before{
    width:210px;
    height:210px;
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.10);
}
.paradise-dashboard-club-mark img{
    width:225px;
    height:225px;
}

/* KPI cards — clean white cards like the mockup */
.paradise-dashboard-cards{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:22px;
}
.paradise-dashboard-card{
    position:relative;
    min-height:126px;
    padding:19px 20px;
    border:1px solid var(--pc-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 22px rgba(29,48,38,.045);
}
.paradise-dashboard-card:hover{
    transform:translateY(-2px);
    border-color:#d6e1da;
    box-shadow:0 12px 28px rgba(29,48,38,.09);
}
.paradise-dashboard-card>span{
    color:var(--pc-green);
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:.04em;
}
.paradise-dashboard-card>strong{
    color:#17221c;
    font-size:26px;
}
.paradise-dashboard-card>small{
    color:#7c8781;
    font-size:11px;
}
.paradise-dashboard-points{
    color:#fff;
    border:0;
    background:linear-gradient(145deg,#103e2c,#0c6d44);
}
.paradise-dashboard-points>span,
.paradise-dashboard-points>small{color:rgba(255,255,255,.68);}
.paradise-dashboard-points>strong{color:#fff;}

.paradise-dashboard-panel{
    padding:24px;
}
.paradise-dashboard-panel-heading h3{
    color:#17221c;
    font-size:20px;
}
.paradise-panel-quick{
    border-color:var(--pc-line);
}
.paradise-quick-label{
    border-radius:11px !important;
}
.paradise-quick-radio:checked+.paradise-quick-label{
    color:#fff !important;
    background:var(--pc-green) !important;
}

}

/* Mobile bottom nav */
.paradise-mobile-nav{
    display:none;
}
@media(max-width:900px){
    .paradise-dashboard{
        display:block;
        min-height:0;
        margin:0;
        max-width:none;
        border:0;
        border-radius:0;
        box-shadow:none;
        background:var(--pc-bg);
    }
    .paradise-dashboard-sidebar{display:none;}
    .paradise-dashboard-main{
        padding:16px 14px 92px;
    }
    .paradise-dashboard-header{
        min-height:154px;
        margin-bottom:16px;
        border-radius:22px;
    }
    .paradise-dashboard-profile{
        min-height:154px;
        padding:20px 18px;
        padding-right:102px;
        gap:12px;
    }
    .paradise-dashboard-player-photo{
        width:62px;
        height:62px;
        flex-basis:62px;
        border-width:3px;
    }
    .paradise-dashboard-greeting h2{
        font-size:23px;
    }
    .paradise-dashboard-current-team{
        margin-top:6px;
        font-size:12px;
    }
    .paradise-dashboard-club-mark{
        right:-30px;
        top:-25px;
        width:155px;
        height:155px;
    }
    .paradise-dashboard-club-mark:before{
        width:132px;
        height:132px;
    }
    .paradise-dashboard-club-mark img{
        width:145px;
        height:145px;
    }
    .paradise-dashboard-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-bottom:16px;
    }
    .paradise-dashboard-card{
        min-height:112px;
        padding:16px;
        border-radius:17px;
    }
    .paradise-dashboard-card>strong{
        font-size:22px;
    }
    .paradise-dashboard-card>small{
        font-size:10px;
    }
    .paradise-mobile-nav{
        position:fixed;
        z-index:9999;
        left:10px;
        right:10px;
        bottom:10px;
        height:66px;
        display:grid !important;
        grid-template-columns:repeat(5,1fr);
        gap:2px;
        padding:6px;
        border:1px solid rgba(255,255,255,.72);
        border-radius:21px;
        background:rgba(255,255,255,.94);
        box-shadow:0 12px 40px rgba(19,39,29,.18);
        backdrop-filter:blur(16px);
    }
    .paradise-mobile-nav a{
        min-height:54px;
        border-radius:15px;
        color:#6d7771;
        font-size:9px;
        font-weight:800;
        text-decoration:none;
    }
    .paradise-mobile-nav a span{
        display:block;
        margin-bottom:3px;
        font-size:19px;
        line-height:20px;
    }
    .paradise-mobile-nav a.active,
    .paradise-mobile-nav a.is-active{
        color:var(--pc-green);
        background:var(--pc-green-soft);
    }
}
@media(max-width:500px){
    .paradise-dashboard-main{
        padding-left:10px;
        padding-right:10px;
    }
    .paradise-dashboard-cards{
        grid-template-columns:1fr;
    }
    .paradise-dashboard-card{
        min-height:100px;
    }
}

/* 1.4.53 — keep the Paradise crest strictly inside the green hero */
.paradise-dashboard-header{
    position:relative !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile{
    position:relative;
    z-index:2;
    overflow:hidden;
}
.paradise-dashboard-club-mark{
    position:absolute !important;
    z-index:1 !important;
    pointer-events:none;
}
.paradise-dashboard-club-mark img{
    display:block;
    max-width:100%;
    max-height:100%;
}
@media(max-width:900px){
    .paradise-dashboard-header{
        overflow:hidden !important;
    }
    .paradise-dashboard-club-mark{
        position:absolute !important;
    }
}

/* 1.4.54 — club crest belongs to the hero, not the player profile block */
.paradise-dashboard-header{
    position:relative !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile{
    position:static !important;
    overflow:visible !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark{
    position:absolute !important;
    right:4px !important;
    top:-55px !important;
    z-index:1 !important;
}
.paradise-dashboard-profile .paradise-dashboard-greeting,
.paradise-dashboard-profile .paradise-dashboard-player-photo{
    position:relative;
    z-index:3;
}
@media(max-width:900px){
    .paradise-dashboard-profile .paradise-dashboard-club-mark{
        right:-30px !important;
        top:-25px !important;
    }
}

/* 1.4.55 — Paradise crest as a small badge on the player's photo */
.paradise-dashboard-header{
    position:relative !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile{
    position:relative !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark{
    position:absolute !important;
    left:92px !important;
    right:auto !important;
    top:calc(50% + 18px) !important;
    width:38px !important;
    height:38px !important;
    z-index:5 !important;
    opacity:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:#fff !important;
    border:3px solid #fff !important;
    box-shadow:0 5px 14px rgba(0,0,0,.22) !important;
    overflow:hidden !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark::before{
    display:none !important;
}
.paradise-dashboard-profile .paradise-dashboard-club-mark img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    filter:none !important;
}
@media(max-width:900px){
    .paradise-dashboard-profile .paradise-dashboard-club-mark{
        left:62px !important;
        top:calc(50% + 13px) !important;
        width:31px !important;
        height:31px !important;
        border-width:2px !important;
    }
}

/* 1.4.56 — Home overview + dedicated Matches view */
.paradise-home-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:0 0 22px;
}
.paradise-home-card{
    min-height:118px;
    padding:19px 20px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--pc-line,#e6ebe8);
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 22px rgba(29,48,38,.045);
}
.paradise-home-card>span{
    color:var(--pc-green,#0d6b43);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.paradise-home-card>strong{
    margin-top:10px;
    color:#17221c;
    font-size:22px;
    line-height:1.15;
}
.paradise-home-card>small{
    margin-top:5px;
    color:#7c8781;
    font-size:11px;
}
.paradise-home-card-points{
    color:#fff;
    border:0;
    background:linear-gradient(145deg,#103e2c,#0c6d44);
}
.paradise-home-card-points>span,
.paradise-home-card-points>small{color:rgba(255,255,255,.72);}
.paradise-home-card-points>strong{color:#fff;font-size:28px;}

.paradise-home-articles{
    margin:0 0 22px;
    padding:22px;
    border:1px solid var(--pc-line,#e6ebe8);
    border-radius:20px;
    background:#fff;
    box-shadow:0 7px 25px rgba(29,48,38,.045);
}
.paradise-home-section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:16px;
}
.paradise-home-section-heading h3{
    margin:0;
    color:#17221c;
    font-size:19px;
}
.paradise-home-section-heading a{
    color:var(--pc-green,#0d6b43);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}
.paradise-home-article-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.paradise-home-article{
    display:block;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    border:1px solid #edf0ee;
    border-radius:15px;
    background:#fafcfb;
    transition:.18s ease;
}
.paradise-home-article:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 22px rgba(29,48,38,.08);
}
.paradise-home-article-image{
    height:130px;
    overflow:hidden;
    background:#eef2ef;
}
.paradise-home-article-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.paradise-home-article-body{
    padding:12px 14px 14px;
}
.paradise-home-article-body small{
    display:block;
    margin-bottom:5px;
    color:#8a948e;
    font-size:10px;
}
.paradise-home-article-body strong{
    display:block;
    color:#26322b;
    font-size:13px;
    line-height:1.35;
}

/* The home overview is the default view. */
.paradise-dashboard.paradise-panel-view-active .paradise-home-overview,
.paradise-dashboard.paradise-panel-view-active .paradise-home-articles,

@media(max-width:900px){
    .paradise-home-overview{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .paradise-home-card{
        min-height:105px;
        padding:16px;
        border-radius:17px;
    }
    .paradise-home-card>strong{
        font-size:19px;
    }
    .paradise-home-card-points>strong{
        font-size:23px;
    }
    .paradise-home-articles{
        padding:16px;
        border-radius:18px;
    }
    .paradise-home-article-grid{
        grid-template-columns:1fr;
    }
    .paradise-home-article-image{
        height:150px;
    }
}
@media(max-width:500px){
    .paradise-home-overview{
        grid-template-columns:1fr 1fr;
    }
    .paradise-home-card{
        min-height:102px;
        padding:14px;
    }
    .paradise-home-card>strong{
        font-size:18px;
    }
}

/* 1.4.59 — complete next-match card */
.paradise-home-card-match{
    justify-content:flex-start;
}
.paradise-home-match-opponent{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    margin-top:9px;
}
.paradise-home-match-opponent img,
.paradise-home-match-placeholder{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    object-fit:contain;
    border-radius:50%;
    background:#f1f5f2;
    color:#6c7972;
    font-size:18px;
}
.paradise-home-match-opponent strong{
    margin-top:0 !important;
    font-size:17px !important;
}
.paradise-home-card-match small{
    display:block;
    margin-top:5px;
    color:#7c8781;
}
@media(max-width:900px){
    .paradise-home-match-opponent img,
    .paradise-home-match-placeholder{
        width:38px;
        height:38px;
    }
}

}
.paradise-home-match-logo{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 7px;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(13,107,67,.10);
    overflow:hidden;
}
.paradise-home-match-logo img{
    width:48px;
    height:48px;
    display:block;
    object-fit:contain;
    background:transparent;
}
.paradise-home-match-logo span{
    color:#748078;
    font-size:23px;
}
.paradise-home-match-name{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#334039 !important;
    font-size:13px !important;
    line-height:1.2;
    font-weight:700 !important;
}
.paradise-home-match-meta{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    margin-top:6px;
}
.paradise-home-match-meta span{
    color:#7c8781;
    font-size:10px;
    line-height:1.25;
}
.paradise-home-match-empty{
    margin-top:15px;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.paradise-home-match-empty strong{
    margin:0 !important;
}
.paradise-home-match-empty small{
    margin-top:5px;
}

    width:100%;
    margin-top:7px;
    overflow:hidden;
}
.paradise-home-matches-track{
    display:flex;
    width:100%;
    transition:transform .28s ease;
}
.paradise-home-match-slide{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:inherit;
    text-decoration:none;
    text-align:center;
}
.paradise-home-match-slide .paradise-home-match-logo{
    width:58px;
    height:58px;
    margin:0 auto 7px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(13,107,67,.10);
    overflow:hidden;
}
.paradise-home-match-slide .paradise-home-match-logo img{
    width:48px;
    height:48px;
    object-fit:contain;
    display:block;
    background:transparent;
}
.paradise-home-match-slide .paradise-home-match-logo span{
    font-size:23px;
    color:#748078;
}
.paradise-home-match-slide .paradise-home-match-name{
    max-width:90%;
    font-size:13px !important;
    font-weight:700 !important;
}
.paradise-home-match-slide .paradise-home-match-meta{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    margin-top:6px;
}
.paradise-home-match-slide .paradise-home-match-meta span{
    color:#7c8781;
    font-size:10px;
    line-height:1.25;
}
.paradise-home-match-dots{
    display:flex;
    justify-content:center;
    gap:5px;
    margin-top:9px;
}
.paradise-home-match-dots i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#d7dfda;
}
.paradise-home-match-dots i.active{
    width:14px;
    border-radius:8px;
    background:var(--pc-green,#0d6b43);
}
    }
    .paradise-home-matches-carousel{
        touch-action:pan-y;
    }
}

/* 1.4.64 — stabilize Home match carousel rendering on mobile */
.paradise-home-card-match{
    min-width:0 !important;
    overflow:hidden !important;
}
.paradise-home-matches-carousel{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    position:relative !important;
}
.paradise-home-matches-track{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:translate3d(0,0,0);
    will-change:transform;
}
.paradise-home-match-slide{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    min-height:108px;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:center !important;
    padding:4px 8px 2px !important;
}
.paradise-home-match-slide .paradise-home-match-logo{
    flex:0 0 58px !important;
}
@media(max-width:900px){
    .paradise-home-matches-carousel{
        min-height:125px !important;
        touch-action:pan-y !important;
    }
    .paradise-home-matches-track{
        min-height:125px !important;
    }
    .paradise-home-match-slide{
        min-height:125px !important;
    }
}

}

/* 1.4.74 — article category label */
.paradise-home-article-category{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-bottom:6px;
    padding:3px 8px;
    border-radius:999px;
    background:#edf7f1;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:9px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.paradise-home-article-body small{
    margin-top:0;
}

/* 1.4.75 — article category aligned to the right */
.paradise-home-article-body{
    position:relative;
}
.paradise-home-article-body .paradise-home-article-category{
    float:right;
    margin:0 0 5px 8px;
}
.paradise-home-article-body small{
    display:block;
    clear:both;
}
@media(max-width:500px){
    .paradise-home-article-body .paradise-home-article-category{
        float:right;
        margin-left:6px;
    }
}

/* 1.4.76 — article meta row: date left, category right */
.paradise-home-article-body{
    position:relative;
}
.paradise-home-article-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    margin:0 0 5px;
}
.paradise-home-article-meta small{
    display:block;
    margin:0 !important;
    color:#8a948e;
    font-size:10px;
    line-height:1.2;
}
.paradise-home-article-meta .paradise-home-article-category{
    float:none !important;
    flex:0 1 auto;
    margin:0 !important;
}
.paradise-home-article-body > strong{
    display:block;
}

/* 1.4.77 — Home shows overview only; PP panel opens only from PP navigation.
   Rewards area is visually flat, without an extra nested window. */
.paradise-dashboard:not(.paradise-panel-view-active) .paradise-dashboard-panels{
    display:none !important;
}
.paradise-dashboard.paradise-panel-view-active .paradise-dashboard-panels{
    display:block;
}
.paradise-dashboard-panel[data-panel-content="points"]{
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:0 !important;
}
.paradise-dashboard-panel[data-panel-content="points"] .paradise-dashboard-panel-heading{
    display:none !important;
}
.paradise-dashboard-panel[data-panel-content="points"] .paradise-panel-balance{
    margin:0 0 14px;
}
.paradise-dashboard-panel[data-panel-content="points"] .paradise-panel-quick{
    margin:0;
}

/* 1.4.78 — stronger Paradise Points balance + clickable match history */
.paradise-points-balance{
    display:flex;
    align-items:center;
    gap:13px;
    width:100%;
    box-sizing:border-box;
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid rgba(13,107,67,.10);
    border-radius:16px;
    background:linear-gradient(135deg,#f5faf7 0%,#ffffff 100%);
}
.paradise-points-balance-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:18px;
}
.paradise-points-balance-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
}
.paradise-points-balance-main span{
    color:#7d8882;
    font-size:10px;
    line-height:1.2;
}
.paradise-points-balance-main strong{
    color:var(--paradise-green-dark,#0d6b43);
    font-size:28px;
    line-height:1.05;
    font-weight:850;
    letter-spacing:-.02em;
}
.paradise-points-balance-unit{
    margin-left:auto;
    padding:5px 9px;
    border-radius:999px;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:11px;
    font-weight:850;
}
.paradise-point-match-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:inherit;
    text-decoration:none;
}
.paradise-point-match-link strong{
    text-decoration:underline;
    text-decoration-color:rgba(13,107,67,.25);
    text-underline-offset:2px;
}
.paradise-point-match-link:hover strong{
    color:var(--paradise-green-dark,#0d6b43);
}
.paradise-point-match-arrow{
    color:var(--paradise-green-dark,#0d6b43);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}
@media(max-width:900px){
    .paradise-points-balance{
        padding:12px 13px;
        border-radius:14px;
    }
    .paradise-points-balance-icon{
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:16px;
    }
    .paradise-points-balance-main strong{
        font-size:25px;
    }
}

/* 1.4.79 — PP history links stay visually identical to normal text */
.paradise-point-match-link,
.paradise-point-match-link:hover,
.paradise-point-match-link:focus,
.paradise-point-match-link:active{
    display:inline;
    color:inherit !important;
    text-decoration:none !important;
    background:none !important;
    border:0 !important;
    padding:0 !important;
    box-shadow:none !important;
}
.paradise-point-match-link strong{
    color:inherit !important;
    text-decoration:none !important;
}
.paradise-point-match-arrow{
    display:none !important;
}

/* 1.4.80 — PP match history links: identical typography, reliable click target */
.paradise-point-match-link{
    display:inline !important;
    position:relative;
    z-index:2;
    pointer-events:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:inherit !important;
    font:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
    letter-spacing:inherit !important;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    cursor:pointer;
}
.paradise-point-match-link:hover,
.paradise-point-match-link:focus,
.paradise-point-match-link:active{
    color:inherit !important;
    text-decoration:none !important;
    background:transparent !important;
    outline:none;
}

/* 1.4.81 — PP history link typography matches ordinary log text */
.paradise-point-match-link,
.paradise-point-match-link strong{
    font-weight:400 !important;
}

/* 1.4.82 — membership status dot on Home */
.paradise-home-membership-status{
    display:flex;
    align-items:center;
    gap:7px;
}
.paradise-home-membership-status .paradise-status-dot{
    flex:0 0 9px;
    width:9px;
    height:9px;
}


/* 1.4.85 — PP earning guide */
.paradise-points-help{
    margin:-5px 0 16px;
    border:1px solid rgba(13,107,67,.10);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.paradise-points-help summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 13px;
    color:#0d6b43;
    font-size:11px;
    font-weight:700;
    user-select:none;
}
.paradise-points-help summary::-webkit-details-marker{
    display:none;
}
.paradise-points-help summary::after{
    content:'＋';
    margin-left:7px;
    font-size:14px;
    line-height:1;
}
.paradise-points-help[open] summary::after{
    content:'−';
}
.paradise-points-help-content{
    padding:0 13px 12px;
    border-top:1px solid rgba(13,107,67,.08);
}
.paradise-points-help-intro{
    margin:10px 0 8px;
    color:#66716b;
    font-size:10px;
    line-height:1.4;
}
.paradise-points-help-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 0;
    border-top:1px solid #f0f2f1;
}
.paradise-points-help-row span{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.paradise-points-help-row strong{
    color:#26322b;
    font-size:11px;
    line-height:1.2;
}
.paradise-points-help-row small{
    margin-top:2px;
    color:#8a948e;
    font-size:9px;
    line-height:1.2;
}
.paradise-points-help-row b{
    flex:0 0 auto;
    color:#0d6b43;
    font-size:11px;
    white-space:nowrap;
}
.paradise-points-help-note{
    margin:9px 0 0;
    color:#8a948e;
    font-size:9px;
    line-height:1.35;
}

/* 1.4.86 — PP badge + help modal */
.paradise-points-balance-icon{
    font-size:12px !important;
    font-weight:850 !important;
    letter-spacing:-.02em;
}
.paradise-points-help-trigger{
    margin-left:auto;
    flex:0 0 34px;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(13,107,67,.14);
    border-radius:50%;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:15px;
    font-weight:850;
    line-height:32px;
    text-align:center;
    cursor:pointer;
}
.paradise-points-help-trigger:hover,
.paradise-points-help-trigger:focus{
    background:#dcefe4;
    color:var(--paradise-green-dark,#0d6b43);
    outline:none;
}
.paradise-pp-help-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
}
.paradise-pp-help-modal.is-open{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.paradise-pp-help-backdrop{
    position:absolute;
    inset:0;
    background:rgba(20,29,24,.48);
    backdrop-filter:blur(2px);
}
.paradise-pp-help-dialog{
    position:relative;
    z-index:1;
    width:min(430px,100%);
    max-height:min(90vh,620px);
    overflow:auto;
    box-sizing:border-box;
    padding:24px 20px 20px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.20);
}
.paradise-pp-help-close{
    position:absolute;
    top:10px;
    right:10px;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#f1f4f2;
    color:#59635e;
    font-size:22px;
    line-height:30px;
    cursor:pointer;
}
.paradise-pp-help-dialog-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 10px;
    border-radius:50%;
    background:#e7f4ec;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:12px;
    font-weight:850;
}
.paradise-pp-help-dialog h3{
    margin:0 0 5px;
    text-align:center;
    color:#26322b;
    font-size:20px;
}
.paradise-pp-help-dialog .paradise-points-help-intro{
    margin:0 0 10px;
    text-align:center;
}
.paradise-pp-help-dialog .paradise-points-help-row{
    padding:10px 0;
}
@media(max-width:500px){
    .paradise-pp-help-modal.is-open{
        align-items:flex-end;
        padding:0;
    }
    .paradise-pp-help-dialog{
        width:100%;
        max-height:86vh;
        border-radius:20px 20px 0 0;
        padding:22px 16px 18px;
    }
}

/* 1.4.88 — Tasks: single active box, useful completed summary, task modal */
.paradise-tasks-quick .paradise-quick-content{
    padding:0;
    border:0;
    background:transparent;
}
.paradise-dashboard-task-clickable{
    width:100%;
    text-align:left;
    font:inherit;
    cursor:pointer;
    transition:.16s ease;
}
.paradise-dashboard-task-clickable:hover{
    border-color:rgba(13,107,67,.25);
    background:#f5faf7;
    transform:translateY(-1px);
}
.paradise-dashboard-task-main{
    min-width:0;
}
.paradise-dashboard-task-main strong{
    display:block;
}
.paradise-task-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:14px;
}
.paradise-task-summary > div{
    padding:12px 14px;
    border:1px solid var(--paradise-border);
    border-radius:12px;
    background:#fafbfc;
}
.paradise-task-summary small{
    display:block;
    color:var(--paradise-muted);
    font-size:10px;
}
.paradise-task-summary strong{
    display:block;
    margin-top:3px;
    color:var(--paradise-green-dark);
    font-size:22px;
}
.paradise-completed-task-list{
    display:grid;
    gap:0;
}
.paradise-completed-task-list > .paradise-inline-title{
    margin-bottom:7px;
}
.paradise-completed-task-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 0;
    border-top:1px solid #eef0ef;
}
.paradise-completed-task-row span{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.paradise-completed-task-row strong{
    font-size:11px;
    color:#26322b;
}
.paradise-completed-task-row small{
    margin-top:2px;
    color:var(--paradise-muted);
    font-size:9px;
}
.paradise-completed-task-row b{
    color:var(--paradise-green-dark);
    white-space:nowrap;
    font-size:11px;
}
.paradise-task-empty-completed{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:16px;
    border:1px dashed #dfe4e1;
    border-radius:12px;
    background:#fafbfc;
}
.paradise-task-empty-completed strong{
    color:#26322b;
    font-size:12px;
}
.paradise-task-empty-completed span{
    color:var(--paradise-muted);
    font-size:10px;
}
.paradise-task-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
}
.paradise-task-modal.is-open{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.paradise-task-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(20,29,24,.48);
    backdrop-filter:blur(2px);
}
.paradise-task-modal-dialog{
    position:relative;
    z-index:1;
    width:min(480px,100%);
    max-height:90vh;
    overflow:auto;
    box-sizing:border-box;
    padding:25px 22px 21px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.20);
}
.paradise-task-modal-close{
    position:absolute;
    top:10px;
    right:10px;
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:#f1f4f2;
    color:#59635e;
    font-size:22px;
    line-height:30px;
    cursor:pointer;
}
.paradise-task-modal-kicker{
    color:var(--paradise-green-dark);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.paradise-task-modal-dialog h3{
    margin:5px 38px 10px 0;
    color:#26322b;
    font-size:20px;
}
.paradise-task-modal-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:15px;
}
.paradise-task-modal-meta span,
.paradise-task-modal-meta strong{
    padding:5px 8px;
    border-radius:999px;
    background:#f1f6f3;
    color:#4c5b53;
    font-size:10px;
}
.paradise-task-modal-meta strong{
    color:var(--paradise-green-dark);
}
.paradise-task-modal-description{
    color:#4f5954;
    font-size:12px;
    line-height:1.55;
    white-space:pre-line;
}
.paradise-task-modal-video{
    display:inline-flex;
    margin-top:16px;
}
@media(max-width:500px){
    .paradise-task-modal.is-open{
        align-items:flex-end;
        padding:0;
    }
    .paradise-task-modal-dialog{
        width:100%;
        max-height:86vh;
        border-radius:20px 20px 0 0;
        padding:22px 16px 18px;
    }
    .paradise-task-summary strong{
        font-size:20px;
    }
}


/* Clearing the hash via Home returns to the default overview. */
.paradise-dashboard .paradise-home-overview,
.paradise-dashboard .paradise-home-articles{
    /* default remains visible unless a target rule above hides them */
}



/* 1.5.647 — NEW Player Dashboard Matches
   This is intentionally independent from the old match widget styling. */
.paradise-player-matches-content{
    width:100%;
}
.paradise-player-match-tabs{
    display:flex;
    gap:8px;
    width:100%;
    margin:0 0 18px;
    padding:4px;
    box-sizing:border-box;
    border-radius:12px;
    background:#f0f4f1;
}
.paradise-player-match-tab{
    flex:1 1 0;
    min-width:0;
    border:0;
    border-radius:9px;
    padding:11px 14px;
    background:transparent;
    color:#707b75;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:.18s ease;
}
.paradise-player-match-tab.active{
    color:var(--pc-green,#0d6b43);
    background:#fff;
    box-shadow:0 2px 8px rgba(20,55,40,.08);
}
.paradise-player-match-content{
    display:none;
}
.paradise-player-match-content.active{
    display:block;
}
.paradise-player-matches-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.paradise-player-match-card{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:14px 16px;
    border:1px solid var(--pc-line,#e3e9e5);
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:transform .15s ease,box-shadow .15s ease;
}
.paradise-player-match-card:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 18px rgba(20,55,40,.07);
}
.paradise-player-match-info{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px 14px;
    margin:0 0 12px;
    color:#7a847f;
    font-size:11px;
    line-height:1.3;
    white-space:nowrap;
}
.paradise-player-match-info > div{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}
.paradise-player-match-teams{
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);
    align-items:center;
    gap:10px;
    width:100%;
}
.paradise-player-match-team{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:0;
    text-align:center;
}
.paradise-player-match-team img{
    width:48px;
    height:48px;
    object-fit:contain;
    border-radius:50%;
    background:#f5f7f5;
    border:1px solid rgba(20,65,45,.08);
    padding:5px;
    box-sizing:border-box;
}
.paradise-player-match-team span{
    width:100%;
    color:#334039;
    font-size:12px;
    line-height:1.25;
    font-weight:600;
    overflow-wrap:anywhere;
}
.paradise-player-match-score{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:32px;
    border-radius:10px;
    background:#f1f5f2;
    color:#405149;
    font-size:12px;
    font-weight:700;
}
.paradise-player-match-card.win{border-left:4px solid var(--pc-green,#0d6b43);}
.paradise-player-match-card.draw{border-left:4px solid #f4b740;}
.paradise-player-match-card.loss{border-left:4px solid #ef5350;}
.paradise-player-load-more{
    display:flex;
    width:100%;
    margin:14px auto 0;
    padding:11px 16px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe5e1;
    border-radius:11px;
    background:#fff;
    color:#17221c;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.paradise-player-load-more:hover,
.paradise-player-load-more:focus,
.paradise-player-load-more:focus-visible,
.paradise-player-load-more:active{
    background:#fff;
    color:#17221c;
    border-color:#dfe5e1;
    outline:none;
    box-shadow:none;
    transform:none;
}
.paradise-player-load-more.is-hidden{
    display:none !important;
}
.paradise-player-matches-empty{
    margin:0;
    color:var(--pc-muted,#707b75);
}
@media(max-width:700px){
    .paradise-player-match-tabs{
        margin-bottom:16px;
    }
    .paradise-player-match-tab{
        min-height:42px;
        padding:0 10px;
        font-size:13px;
    }
    .paradise-player-match-info{
        flex-direction:row;
        flex-wrap:nowrap;
        gap:6px 10px;
        font-size:10px;
    }
    .paradise-player-match-info > div{
        max-width:48%;
    }
    .paradise-player-match-teams{
        grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
        gap:7px;
    }
    .paradise-player-match-team img{
        width:42px;
        height:42px;
        padding:4px;
    }
    .paradise-player-match-team span{
        font-size:11px;
    }
    .paradise-player-match-score{
        min-width:34px;
        height:29px;
        border-radius:9px;
        font-size:11px;
    }
}

/* 1.5.647 — restored match-card geometry, scoped only to the new dashboard section */
.paradise-player-match-card{
    position:relative;
}
.paradise-player-match-card-content{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100%;
    min-width:0;
    box-sizing:border-box;
}
.paradise-player-match-card-content > .paradise-player-match-info{
    display:flex !important;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    height:auto;
    min-height:20px;
    margin:0 0 12px !important;
    padding:0 !important;
    position:static;
    box-sizing:border-box;
}
.paradise-player-match-card-content > .paradise-player-match-teams{
    display:grid !important;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    min-height:70px;
    margin:0 !important;
    padding:0 !important;
    position:static;
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);
    align-items:center;
}
.paradise-player-match-team{
    min-width:0;
    width:auto;
    box-sizing:border-box;
}
.paradise-player-match-team img{
    display:block;
    margin:0 auto 6px;
}
.paradise-player-match-score{
    align-self:center;
    justify-self:center;
    white-space:nowrap;
}
.paradise-player-upcoming-games > .paradise-player-match-card[style*="display:none"]{
    display:none !important;
}
@media(max-width:900px){
    .paradise-player-match-card{
        border-radius:14px;
        padding:13px 12px;
    }
    .paradise-player-match-card-content > .paradise-player-match-info{
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        justify-content:center !important;
        align-items:center !important;
        gap:6px 10px !important;
        margin-bottom:11px !important;
        font-size:10px;
        white-space:nowrap;
    }
    .paradise-player-match-info > div{
        max-width:48%;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .paradise-player-match-card-content > .paradise-player-match-teams{
        grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
        min-height:66px;
    }
    .paradise-player-match-team img{
        width:42px;
        height:42px;
    }
}


/* 1.5.647 — restored Home overview styling from the stable dashboard */
/* The home overview is the default view. */
.paradise-dashboard.paradise-panel-view-active .paradise-home-overview,
.paradise-dashboard.paradise-panel-view-active .paradise-home-articles,
.paradise-dashboard.paradise-match-view .paradise-home-overview,
.paradise-dashboard.paradise-match-view .paradise-home-articles {

    display:none;

}
/* 1.4.61 — centered next-match card */
.paradise-home-card-match {

    justify-content:flex-start;
    text-align:center;

}
.paradise-home-card-match>span {

    align-self:flex-start;
    text-align:left;

}
.paradise-home-match-centered {

    width:100%;
    margin-top:7px;
    display:flex;
    flex-direction:column;
    align-items:center;

}
.paradise-home-match-logo {

    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 7px;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(13,107,67,.10);
    overflow:hidden;

}
/* 1.4.64 — stabilize Home match carousel rendering on mobile */
.paradise-home-card-match {

    min-width:0 !important;
    overflow:hidden !important;

}
/* 1.4.74 — article category label */
.paradise-home-article-category {

    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-bottom:6px;
    padding:3px 8px;
    border-radius:999px;
    background:#edf7f1;
    color:var(--paradise-green-dark,#0d6b43);
    font-size:9px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;

}

.paradise-dashboard[data-dashboard-view="membership"] .paradise-home-overview,
.paradise-dashboard[data-dashboard-view="membership"] .paradise-home-articles,
.paradise-dashboard[data-dashboard-view="membership"] .paradise-dashboard-matches-anchor {
display:none !important;
}
/* 1.4.91 — navigation works as native anchors; JS is enhancement only */
/* Any dashboard panel target becomes the sole visible app section. */
.paradise-trainer-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-overview,
.paradise-trainer-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-articles,
.paradise-trainer-dashboard:has(.paradise-dashboard-panel:target) .paradise-dashboard-matches-anchor,
.paradise-parent-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-overview,
.paradise-parent-dashboard:has(.paradise-dashboard-panel:target) .paradise-home-articles,
.paradise-parent-dashboard:has(.paradise-dashboard-panel:target) .paradise-dashboard-matches-anchor {

    display:none !important;

}
/* Matches has its own anchor and must never show the Home overview at the same time. */

/* 1.4.93 — authoritative home visibility */
html body .paradise-dashboard:not([data-dashboard-view="home"]) .paradise-home-overview,
html body .paradise-dashboard:not([data-dashboard-view="home"]) .paradise-home-articles {

    /* JS applies the final important state; this is only a fallback. */

}
html body .paradise-trainer-dashboard:has(#paradise-matches:target) .paradise-home-overview,
html body .paradise-trainer-dashboard:has(#paradise-matches:target) .paradise-home-articles,
html body .paradise-trainer-dashboard:has(#paradise-matches:target) .paradise-dashboard-legacy-tasks,
html body .paradise-parent-dashboard:has(#paradise-matches:target) .paradise-home-overview,
html body .paradise-parent-dashboard:has(#paradise-matches:target) .paradise-home-articles,
html body .paradise-parent-dashboard:has(#paradise-matches:target) .paradise-dashboard-legacy-tasks {

    display:none !important;

}

/* 1.5.647 — Home summary cards */
.paradise-home-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    width:100%;
    box-sizing:border-box;
}
.paradise-home-card{
    min-width:0;
    box-sizing:border-box;
}
.paradise-home-card-points,
.paradise-home-card-membership,
.paradise-home-overview > .paradise-home-card{
    min-height:132px;
}
@media(max-width:900px){
    .paradise-home-overview{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:560px){
    .paradise-home-overview{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .paradise-home-card-points,
    .paradise-home-card-membership,
    .paradise-home-overview > .paradise-home-card{
        min-height:118px;
    }
}

/* 1.5.647 — The panel wrapper must remain inside the dashboard gray zone.
   Old Match-specific CSS used to hide this wrapper entirely. */
.paradise-dashboard.paradise-panel-view-active .paradise-dashboard-panels{
    display:block !important;
    width:100%;
    box-sizing:border-box;
    margin:0 0 20px !important;
}
.paradise-dashboard[data-dashboard-view="matches"] .paradise-dashboard-panels{
    display:block !important;
}
.paradise-dashboard[data-dashboard-view="matches"] .paradise-dashboard-panels > #paradise-panel-matches{
    display:block !important;
    position:relative;
    width:100%;
    box-sizing:border-box;
    margin:0 !important;
}

/* 1.5.647 — Matches sits immediately below the green profile header.
   It is inside .paradise-dashboard-main (the gray dashboard zone), but
   intentionally outside the Home/secondary panel wrapper. */
.paradise-dashboard-main > #paradise-panel-matches{
    width:100%;
    box-sizing:border-box;
    margin:0 0 20px !important;
    padding:22px !important;
    border:1px solid var(--paradise-border) !important;
    border-radius:var(--paradise-radius) !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(16,19,24,.06) !important;
}
.paradise-dashboard-main > #paradise-panel-matches:not(.active){
    display:none !important;
}
.paradise-dashboard-main > #paradise-panel-matches.active{
    display:block !important;
}
.paradise-dashboard-main > #paradise-panel-matches .paradise-player-matches-content{
    width:100%;
}

/* 1.5.647 — task videos play directly inside the task modal */
.paradise-task-modal-video{
    display:block;
    width:100%;
    margin-top:16px;
    text-decoration:none;
}
.paradise-task-video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:14px;
    background:#101412;
}
.paradise-task-video-frame iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}

/* 1.5.647 — optional task proof */
.paradise-task-modal-submit{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #edf0ee;
}
.paradise-task-modal-submit[hidden]{
    display:none !important;
}
.paradise-task-proof-label{
    font-size:12px;
    font-weight:700;
    color:#26322b;
}
.paradise-task-proof-label span{
    font-weight:500;
    color:var(--paradise-muted);
}
.paradise-task-modal-submit input[type="file"]{
    width:100%;
    box-sizing:border-box;
    padding:9px;
    border:1px solid #dfe5e1;
    border-radius:10px;
    background:#fafcfb;
    font:inherit;
    font-size:11px;
}
.paradise-task-proof-note{
    color:var(--paradise-muted);
    font-size:10px;
    line-height:1.45;
}
.paradise-task-submit-button{
    width:100%;
    margin-top:5px;
    padding:11px 14px;
    border:0;
    border-radius:10px;
    background:var(--paradise-green-dark);
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

/* 1.5.647 — no empty/black video strip when a task has no instruction video */
.paradise-task-modal-video[hidden],
.paradise-task-modal-video[style*="display: none"]{
    display:none !important;
}

/* 1.5.647 — completed task details + trainer feedback */
.paradise-completed-task-row{
    width:100%;
    text-align:left;
    font:inherit;
    color:inherit;
    cursor:pointer;
    border:0;
}
.paradise-task-modal-feedback{
    margin-top:16px;
    padding:13px 14px;
    border-radius:12px;
    background:#f5f8f6;
    border:1px solid #e5ebe7;
}
.paradise-task-modal-feedback[hidden]{
    display:none !important;
}
.paradise-task-modal-feedback-label{
    display:block;
    margin-bottom:6px;
    font-size:11px;
    font-weight:700;
    color:#536158;
}
.paradise-task-modal-feedback-text{
    font-size:13px;
    line-height:1.5;
    color:#26322b;
}

/* 1.5.647 — larger completed-task typography */
.paradise-completed-task-row{
    font-size:14px !important;
    min-height:58px;
    padding:12px 14px !important;
}
.paradise-completed-task-row strong{
    font-size:14px !important;
    line-height:1.35;
}
.paradise-completed-task-row small{
    display:block;
    margin-top:4px;
    font-size:11px !important;
}
.paradise-completed-task-row b{
    font-size:13px !important;
    white-space:nowrap;
}
@media(max-width:600px){
    .paradise-completed-task-row{
        font-size:14px !important;
        min-height:56px;
        padding:11px 12px !important;
    }
    .paradise-completed-task-row strong{
        font-size:14px !important;
    }
}

/* 1.5.647 — keep completed-task rows light */
.paradise-completed-task-row,
.paradise-completed-task-row:hover,
.paradise-completed-task-row:focus,
.paradise-completed-task-row:active{
    background:#fff !important;
    color:#26322b !important;
    -webkit-appearance:none;
    appearance:none;
}
.paradise-completed-task-row strong,
.paradise-completed-task-row b{
    color:#26322b !important;
}
.paradise-completed-task-row small{
    color:#718078 !important;
}

/* 1.5.647 — visual hint that completed tasks are clickable */
.paradise-completed-task-row{
    position:relative;
    gap:10px;
}
.paradise-completed-task-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    margin-left:auto;
    border-radius:50%;
    background:#eef5f0;
    color:var(--paradise-green-dark,#2f6b4f);
}
.paradise-completed-task-hint-icon{
    font-size:15px;
    line-height:1;
}
.paradise-completed-task-row:hover .paradise-completed-task-hint,
.paradise-completed-task-row:focus-visible .paradise-completed-task-hint{
    background:#dfece4;
    transform:translateY(-1px);
}
@media(max-width:600px){
    .paradise-completed-task-hint{
        flex-basis:28px;
        width:28px;
        height:28px;
    }
    .paradise-completed-task-hint-icon{
        font-size:14px;
    }
}

.paradise-assignment-pdf{margin:14px 0;}
.paradise-assignment-pdf-link{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:10px;background:#f0f6f2;color:#2f6b4f;text-decoration:none;font-weight:700;}
.paradise-assignment-pdf-link.is-completed{background:#e5f2e9;}

/* 1.5.647 — task PDF in dashboard modal */
.paradise-task-modal-pdf{
    display:inline-flex;
    align-items:center;
    margin-top:12px;
}
.paradise-task-modal-pdf[hidden]{
    display:none !important;
}
.paradise-task-modal-submit[hidden]{
    display:none !important;
}

/* 1.5.647 — PDF-only tasks: no video proof and no manual submission */
.paradise-task-modal-video[hidden],
.paradise-task-modal-submit[hidden]{display:none!important;}
.paradise-task-modal-pdf[hidden]{display:none!important;}

/* 1.5.647 — PDF stays inside task modal */
.paradise-task-modal-pdf-viewer{margin-top:14px;width:100%;height:min(70vh,680px);border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-task-modal-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer iframe{width:100%;height:100%;border:0;display:block;}
.paradise-task-modal-pdf.is-completed{opacity:.8;pointer-events:none;}

/* 1.5.647 — standalone PDF also stays inside the app */
.paradise-assignment-pdf-link{border:0;cursor:pointer;font:inherit;}
.paradise-assignment-pdf-viewer{margin-top:12px;width:100%;height:min(70vh,680px);border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-assignment-pdf-viewer iframe{width:100%;height:100%;border:0;display:block;}

.paradise-pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px;background:#f0f4f1;}
.paradise-pdf-toolbar button{border:0;border-radius:7px;padding:4px 12px;cursor:pointer;background:#fff;font-size:20px;line-height:1;}
.paradise-pdf-canvas-wrap{height:calc(min(70vh,680px) - 45px);overflow:auto;text-align:center;background:#6b6b6b;padding:10px;}
.paradise-pdf-canvas-wrap canvas{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.18);max-width:100%;height:auto;}

/* 1.5.647 — native PDF object stays inside the app */
.paradise-task-modal-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:14px;border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-task-modal-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer object{display:block;width:100%;height:100%;border:0;}
.paradise-assignment-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:12px;border-radius:12px;overflow:hidden;background:#f3f5f4;}
.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-assignment-pdf-viewer object{display:block;width:100%;height:100%;border:0;}

.paradise-task-modal-pdf:not([hidden]){display:inline-flex!important;align-items:center;cursor:pointer;}
.paradise-task-modal-pdf-viewer:not([hidden]){display:block!important;}

.paradise-task-modal-pdf-viewer,.paradise-assignment-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:12px;overflow:auto;background:#777;text-align:center;padding:10px;box-sizing:border-box;}
.paradise-task-modal-pdf-viewer[hidden],.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer canvas,.paradise-assignment-pdf-viewer canvas{background:#fff;max-width:100%;height:auto;box-shadow:0 1px 5px rgba(0,0,0,.2);}
.paradise-pdf-loading{padding:30px;color:#fff;}

.paradise-task-modal-pdf-viewer,.paradise-assignment-pdf-viewer{height:min(70vh,680px);width:100%;margin-top:12px;overflow:hidden;background:#777;}
.paradise-task-modal-pdf-viewer[hidden],.paradise-assignment-pdf-viewer[hidden]{display:none!important;}
.paradise-task-modal-pdf-viewer iframe,.paradise-assignment-pdf-viewer iframe{display:block;width:100%;height:100%;border:0;}

.paradise-assignment-form-task{margin-top:16px;padding:16px;border-radius:12px;background:var(--paradise-card-bg,#fff);}
.paradise-form-field{margin:0 0 16px;} .paradise-form-field>label{display:block;margin-bottom:7px;}
.paradise-form-field input[type=text],.paradise-form-field textarea,.paradise-form-field select{width:100%;box-sizing:border-box;padding:10px;border-radius:8px;}
.paradise-form-check{font-weight:400!important;}

.paradise-task-modal-form-task{margin-top:16px;padding:16px;border-radius:12px;background:#f5f7f6;}
.paradise-task-modal-form-task[hidden]{display:none!important;}
.paradise-task-modal-form-task .paradise-form-field{margin-bottom:14px;}
.paradise-task-modal-form-task input[type=text],.paradise-task-modal-form-task textarea,.paradise-task-modal-form-task select{width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #d5dcda;border-radius:8px;background:#fff;}
.paradise-task-modal-form-task textarea{min-height:90px;resize:vertical;}
.paradise-task-form-submit{margin-top:6px;}

.paradise-notifications{position:relative;margin-left:auto;z-index:30;}
.paradise-notification-button{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);cursor:pointer;font-size:19px;}
.paradise-notification-button b{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#d94a4a;color:#fff;font-size:11px;line-height:18px;}
.paradise-notification-popover{position:absolute;right:0;top:50px;width:min(390px,calc(100vw - 30px));background:#fff;border:1px solid #e4e9e6;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.14);overflow:hidden;}
.paradise-notification-popover[hidden]{display:none!important;}
.paradise-notification-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf0ee;}
.paradise-notification-head button{border:0;background:none;font-size:11px;cursor:pointer;}
.paradise-notification-item{display:flex;gap:11px;padding:13px 15px;text-decoration:none;color:inherit;border-bottom:1px solid #f0f2f1;}
.paradise-notification-item.is-unread{background:#f1f8f3;}
.paradise-notification-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9f2ec;flex:none;}
.paradise-notification-item strong,.paradise-notification-item small,.paradise-notification-item em{display:block;}
.paradise-notification-item strong{font-size:13px;}
.paradise-notification-item small{margin-top:3px;font-size:12px;color:#5f6964;}
.paradise-notification-item em{margin-top:5px;font-size:10px;color:#98a09c;font-style:normal;}
.paradise-notification-empty{padding:28px 18px;text-align:center;color:#7b837f;font-size:13px;}
@media(max-width:700px){
 .paradise-notifications{margin-left:8px;}
 .paradise-notification-popover{position:fixed;right:12px;top:70px;width:calc(100vw - 24px);max-height:70vh;overflow:auto;}
}

.paradise-notification-button{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:transparent;
    box-shadow:none;
}
.paradise-notification-button:hover,
.paradise-notification-button:focus{
    background:transparent;
}
.paradise-notification-bell{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .15s ease;
}
.paradise-notification-button:hover .paradise-notification-bell{
    transform:scale(1.08);
}

/* Notification panel design */
.paradise-notification-popover{
    position:fixed !important;
    top:70px !important;
    right:18px !important;
    left:auto !important;
    width:min(400px,calc(100vw - 28px));
    max-height:calc(100vh - 90px);
    border:0;
    border-radius:16px;
    box-shadow:0 18px 48px rgba(24,42,32,.20);
    overflow:hidden;
    background:#fff;
    z-index:10000 !important;
}
.paradise-notification-head{
    padding:15px 17px 13px;
    background:#f8faf8;
    border-bottom:1px solid #e7ece9;
}
.paradise-notification-head strong{
    font-size:15px;
    font-weight:700;
    color:#26332c;
}
.paradise-notification-head button{
    padding:5px 0;
    color:#65736b;
    font-size:11px;
    font-weight:600;
}
.paradise-notification-head button:hover{
    color:#2d6b45;
}
.paradise-notification-list{
    max-height:430px;
    overflow-y:auto;
}
.paradise-notification-item{
    position:relative;
    align-items:flex-start;
    gap:12px;
    padding:14px 17px;
    min-height:66px;
    box-sizing:border-box;
    border-bottom:1px solid #eef1ef;
    transition:background .15s ease;
}
.paradise-notification-item:last-child{
    border-bottom:0;
}
.paradise-notification-item:hover{
    background:#f7faf8;
}
.paradise-notification-item.is-unread{
    background:#f0f7f2;
}
.paradise-notification-item.is-unread:hover{
    background:#eaf4ed;
}
.paradise-notification-icon{
    width:34px;
    height:34px;
    margin-top:1px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 34px;
    background:#e9f2ec;
    color:#2d6b45;
    font-size:12px;
    font-weight:800;
    letter-spacing:-.2px;
}
.paradise-notification-icon-assignment_new,
.paradise-notification-icon-assignment_approved{
    background:#e7f3ea;
    color:#2f7548;
}
.paradise-notification-icon-points_awarded{
    background:#fff4d9;
    color:#9b7417;
    font-size:10px;
}
.paradise-notification-icon-reward_new{
    background:#f7ead1;
    color:#9b6c17;
    font-size:15px;
}
.paradise-notification-content{
    min-width:0;
    padding-right:12px;
}
.paradise-notification-item strong{
    color:#26332c;
    font-size:13px;
    line-height:1.25;
    font-weight:700;
}
.paradise-notification-item small{
    color:#5f6c64;
    font-size:12px;
    line-height:1.4;
    margin-top:4px;
}
.paradise-notification-item em{
    color:#9aa49f;
    font-size:10px;
    line-height:1.2;
    margin-top:5px;
}
.paradise-notification-dot{
    position:absolute;
    top:17px;
    right:14px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d94a4a;
}
.paradise-notification-empty{
    padding:38px 20px;
    color:#7b8780;
    font-size:13px;
    background:#fff;
}
.paradise-notification-list::-webkit-scrollbar{width:6px;}
.paradise-notification-list::-webkit-scrollbar-thumb{background:#d7dfda;border-radius:10px;}
@media(max-width:700px){
    .paradise-notification-popover{
        top:62px;
        right:12px;
        width:calc(100vw - 24px);
        max-height:70vh;
    }
    .paradise-notification-list{max-height:60vh;}
}

.paradise-catalog-product{
    position:relative;
}
.paradise-catalog-new-badge{
    position:absolute;
    top:12px;
    right:12px;
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 9px;
    border-radius:999px;
    background:#2f7548;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
}
.paradise-catalog-product-new{
    scroll-margin-top:24px;
    outline:2px solid #2f7548;
    outline-offset:2px;
}

.paradise-dashboard-reward-new{
    outline:2px solid #2f7548;
    outline-offset:2px;
    border-radius:12px;
    scroll-margin-top:24px;
}
.paradise-dashboard-reward-new-badge{
    position:absolute;
    top:8px;
    right:8px;
    z-index:2;
    padding:4px 8px;
    border-radius:999px;
    background:#2f7548;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.06em;
}

.paradise-notification-icon-match_result{background:#e8f0f7;color:#356b8d;}
.paradise-notification-icon-match_mvp{background:#f7ead1;color:#9b6c17;font-size:9px;}

.paradise-notification-icon-points_match_win,
.paradise-notification-icon-points_match_draw,
.paradise-notification-icon-points_match_mvp,
.paradise-notification-icon-points_match_appearance{
    background:#fff4d9;
    color:#9b7417;
    font-size:10px;
}

.paradise-notification-icon-match_appearance{
    background:#e8f0f7;
    color:#356b8d;
    font-size:14px;
}

.paradise-dashboard-header .paradise-notifications{
    overflow:visible !important;
}
.paradise-dashboard-header .paradise-notification-popover{
    overflow:hidden !important;
}
@media(max-width:700px){
    .paradise-notification-popover{
        top:70px !important;
        right:12px !important;
        width:calc(100vw - 24px) !important;
        max-height:70vh !important;
        overflow:auto !important;
    }
}

/* Match card: date centered above teams, venue centered below teams. */
.paradise-player-match-card .paradise-player-match-card-content,
.paradise-match-card .paradise-match-card-content {
    display:flex;
    flex-direction:column;
    align-items:center;
}

.paradise-player-match-card .paradise-player-match-info,
.paradise-match-card .paradise-match-info {
    width:100%;
    display:flex;
    justify-content:center;
    text-align:center;
    order:1;
}

.paradise-player-match-card .paradise-player-match-teams,
.paradise-match-card .paradise-match-teams {
    order:2;
    width:100%;
}

.paradise-player-match-card .match-venue,
.paradise-match-card .match-venue {
    order:3;
    width:100%;
    margin-top:10px;
    text-align:center;
}

/* Player attendance summary */
.paradise-panel-attendance-summary{display:flex;align-items:center;gap:24px;margin-bottom:18px}
.paradise-attendance-bar-wrap{flex:1}
.paradise-player-attendance-list{margin-top:16px}
.paradise-player-attendance-list-heading{margin-bottom:8px}
.paradise-player-attendance-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;margin-bottom:6px;border:1px solid #e6e6e6;border-radius:10px;background:#fff}
.paradise-player-attendance-date{display:flex;flex-direction:column;gap:2px;min-width:0}
.paradise-player-attendance-date strong{font-size:14px}
.paradise-player-attendance-date span{font-size:13px;color:#777;overflow:hidden;text-overflow:ellipsis}
.paradise-player-attendance-status{display:flex;align-items:flex-end;flex-direction:column;gap:2px;white-space:nowrap;font-size:13px}
.paradise-player-attendance-status.is-present{color:#2d7d46}
.paradise-player-attendance-status.is-absent{color:#b33}
.paradise-player-attendance-status small{font-size:12px;font-weight:600}
.paradise-player-attendance-empty,.paradise-player-attendance-more{color:#777;font-size:13px}
@media(max-width:600px){
    .paradise-panel-attendance-summary{align-items:flex-start;gap:14px}
    .paradise-attendance-bar-wrap{padding-top:12px}
    .paradise-player-attendance-row{padding:10px}
    .paradise-player-attendance-status{font-size:12px}
}

.paradise-trainer-upcoming-schedules{margin-bottom:20px}
.paradise-trainer-upcoming-schedules h2{font-size:18px;margin:0 0 10px}
.paradise-trainer-upcoming-list{display:grid;gap:7px}
.paradise-trainer-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;background:#fff;border:1px solid #ddd;border-radius:10px;text-decoration:none}
.paradise-trainer-upcoming-card span:first-child{display:flex;flex-direction:column;gap:3px}
.paradise-trainer-upcoming-card small{color:#777}
@media(max-width:600px){.paradise-trainer-upcoming-card{padding:11px 12px}.paradise-trainer-upcoming-card>span:last-child{font-size:12px}}

.paradise-trainer-upcoming-schedules{margin:0 0 20px}
.paradise-trainer-upcoming-schedules h2{font-size:18px;margin:0 0 10px}
.paradise-trainer-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;margin-bottom:7px;background:#fff;border:1px solid #ddd;border-radius:10px;text-decoration:none}
.paradise-trainer-upcoming-card span:first-child{display:flex;flex-direction:column;gap:3px}
.paradise-trainer-upcoming-card small{color:#777}
@media(max-width:600px){.paradise-trainer-upcoming-card{padding:11px 12px}.paradise-trainer-upcoming-card>span:last-child{font-size:12px}}

.paradise-trainer-upcoming-schedules{margin:0 0 20px}.paradise-trainer-upcoming-schedules h2{font-size:18px;margin:0 0 10px}
.paradise-trainer-upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;margin-bottom:7px;background:#fff;border:1px solid #ddd;border-radius:10px;text-decoration:none}
.paradise-trainer-upcoming-card span:first-child{display:flex;flex-direction:column;gap:3px}.paradise-trainer-upcoming-card small{color:#777}
@media(max-width:600px){.paradise-trainer-upcoming-card{padding:11px 12px}.paradise-trainer-upcoming-card>span:last-child{font-size:12px}}


/* 1.5.647 — dashboard layout and interaction refinements */
.paradise-home-card-match .paradise-home-matches-carousel{position:relative;}
.paradise-home-match-nav{
    position:absolute;top:50%;z-index:3;width:30px;height:30px;margin-top:-15px;
    padding:0;display:flex;align-items:center;justify-content:center;
    border:1px solid #dfe7e2;border-radius:50%;background:#fff;color:#315044;
    box-shadow:0 4px 12px rgba(20,55,40,.10);font:inherit;font-size:22px;line-height:1;cursor:pointer;
}
.paradise-home-match-prev{left:4px}.paradise-home-match-next{right:4px}
.paradise-home-match-nav:hover{background:#f3f8f5;border-color:#bfd3c7}
.paradise-home-match-nav:disabled{opacity:.25;cursor:default}
.paradise-home-matches-carousel .paradise-home-matches-track{
    padding-left:0 !important;padding-right:0 !important;box-sizing:border-box;
}
@media(max-width:900px){
    .paradise-home-match-nav{width:28px;height:28px;margin-top:-14px}
    .paradise-home-matches-carousel .paradise-home-matches-track{padding-left:0 !important;padding-right:0 !important}
}
@media(max-width:700px){
    .paradise-home-article-grid{grid-template-columns:1fr !important}
    .paradise-home-article-image{height:150px}
}
@media(min-width:901px){
    .paradise-dashboard .matches-grid,
    .paradise-dashboard .paradise-player-matches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .paradise-dashboard .paradise-mini-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.paradise-pp-help-dialog .paradise-points-help-intro{font-size:14px;line-height:1.55}
.paradise-pp-help-dialog .paradise-points-help-row strong{font-size:14px}
.paradise-pp-help-dialog .paradise-points-help-row small{font-size:12px;line-height:1.4}
.paradise-pp-help-dialog .paradise-points-help-row b{font-size:14px}
.paradise-pp-help-dialog .paradise-points-help-note{font-size:12px;line-height:1.5}
.paradise-pp-help-close,
.paradise-task-modal-close,
.paradise-membership-modal-close,
.paradise-document-modal-toolbar .paradise-document-close{
    background:transparent !important;border-color:transparent !important;box-shadow:none !important;
}
.paradise-pp-help-close:hover,
.paradise-task-modal-close:hover,
.paradise-membership-modal-close:hover,
.paradise-document-modal-toolbar .paradise-document-close:hover{background:transparent !important}


/* 1.5.647 — mobile bottom navigation refinement */
@media (max-width: 767px) {
    .paradise-mobile-nav {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        bottom: 0 !important;
        padding: 5px 4px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        z-index: 1000 !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle {
        min-width: 0 !important;
        min-height: 52px !important;
        padding: 5px 2px !important;
        gap: 2px !important;
        font-size: 10.5px !important;
        line-height: 1.05 !important;
        font-weight: 600 !important;
        border: 0 !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    .paradise-mobile-nav-icon {
        width: 25px !important;
        height: 25px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 19px !important;
        line-height: 1 !important;
    }

    /* Distinct, colourful navigation icons */
    .paradise-mobile-nav > a[data-mobile-panel="home"] .paradise-mobile-nav-icon {
        color: #d97745 !important;
    }
    .paradise-mobile-nav > a[data-mobile-panel="matches"] .paradise-mobile-nav-icon {
        color: #b85c38 !important;
        font-size: 21px !important;
    }
    .paradise-mobile-nav > a[data-mobile-panel="membership"] .paradise-mobile-nav-icon {
        color: #b58a3b !important;
        font-size: 19px !important;
    }
    .paradise-mobile-nav > a[data-mobile-panel="points"] .paradise-mobile-nav-icon {
        color: #d49a24 !important;
        font-size: 20px !important;
    }
    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-icon {
        color: #8b6fa8 !important;
    }

    .paradise-mobile-nav-training {
        position: relative !important;
        min-width: 0 !important;
    }

    .paradise-mobile-nav-training-toggle {
        width: 100% !important;
        color: inherit !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-chevron {
        position: absolute !important;
        top: 3px !important;
        right: 5px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        opacity: .65 !important;
    }

    .paradise-mobile-nav-training.is-open .paradise-mobile-nav-chevron {
        transform: rotate(180deg) !important;
    }

    /* Compact submenu that always stays inside the viewport */
    .paradise-mobile-training-menu {
        position: absolute !important;
        left: auto !important;
        right: 0 !important;
        bottom: calc(100% + 5px) !important;
        transform: none !important;
        width: min(150px, calc(100vw - 16px)) !important;
        max-width: calc(100vw - 16px) !important;
        padding: 5px !important;
        border-radius: 12px !important;
        background: var(--paradise-card, #fff) !important;
        box-shadow: 0 6px 22px rgba(0,0,0,.15) !important;
        border: 1px solid rgba(0,0,0,.08) !important;
        z-index: 1010 !important;
        box-sizing: border-box !important;
    }

    .paradise-mobile-training-menu[hidden] {
        display: none !important;
    }

    .paradise-mobile-training-menu a {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 38px !important;
        padding: 7px 10px !important;
        border-radius: 9px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-sub-icon {
        width: 20px !important;
        text-align: center !important;
        font-size: 15px !important;
    }

    .paradise-mobile-nav > a.is-active,
    .paradise-mobile-nav > a.active,
    .paradise-mobile-nav-training-toggle[aria-expanded="true"] {
        font-weight: 700 !important;
    }

    body {
        padding-bottom: 0 !important;
    }
}


/* 1.5.647 — compact mobile navigation typography and colourful training submenu icons */
@media (max-width: 767px) {
    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle {
        font-size: 9.5px !important;
    }

    .paradise-mobile-training-menu a {
        font-size: 11px !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] .paradise-mobile-sub-icon {
        color: #4f83c2 !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="tasks"] .paradise-mobile-sub-icon {
        color: #55a06a !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] {
        color: inherit !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="tasks"] {
        color: inherit !important;
    }
}


/* 1.5.647 — restore original mobile menu text size; clear calendar icon */
@media (max-width: 767px) {
    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle {
        font-size: 12.5px !important;
        line-height: 1.1 !important;
    }

    .paradise-mobile-training-menu a {
        font-size: 11px !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] .paradise-mobile-sub-icon {
        color: #4f83c2 !important;
    }
}


/* 1.5.647 — restore the actual original text size.
   The previous rule applied the icon font size to every <span>, including labels. */
@media (max-width: 767px) {
    .paradise-mobile-nav > a > span:not(.paradise-mobile-nav-icon),
    .paradise-mobile-nav-training-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron) {
        font-size: 11px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }

    .paradise-mobile-nav-icon {
        font-size: 19px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-nav > a[data-mobile-panel="matches"] .paradise-mobile-nav-icon {
        font-size: 21px !important;
    }

    .paradise-mobile-nav > a[data-mobile-panel="membership"] .paradise-mobile-nav-icon {
        font-size: 19px !important;
    }

    .paradise-mobile-nav > a[data-mobile-panel="points"] .paradise-mobile-nav-icon {
        font-size: 20px !important;
    }

    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-chevron {
        font-size: 11px !important;
    }
}


/* 1.5.647 — compact horizontal training submenu */
@media (max-width: 767px) {
    .paradise-mobile-training-menu {
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 16px) !important;
        padding: 4px !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-training-menu a {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        min-height: 36px !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-training-menu .paradise-mobile-sub-icon {
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="attendance"] .paradise-mobile-sub-icon {
        color: #4f83c2 !important;
    }

    .paradise-mobile-training-menu a[data-mobile-panel="tasks"] .paradise-mobile-sub-icon {
        color: #55a06a !important;
    }
}


/* 1.5.647 — submenu typography override */
@media (max-width: 767px) {
    .paradise-mobile-training-menu a,
    .paradise-mobile-training-menu a span:not(.paradise-mobile-sub-icon) {
        font-size: 11px !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
    }

    .paradise-mobile-training-menu .paradise-mobile-sub-icon {
        font-size: 16px !important;
        line-height: 1 !important;
        width: 20px !important;
        flex: 0 0 20px !important;
    }
}


/* 1.5.647 — Trainer dashboard visual shell aligned with the Player dashboard */
.paradise-trainer-dashboard{
    --pc-green:#0d6b43;
    --pc-green-2:#12905a;
    --pc-green-soft:#eaf7f0;
    --pc-ink:#142019;
    --pc-muted:#78827d;
    --pc-bg:#f5f7f6;
    --pc-line:#e6ebe8;
}

.paradise-trainer-dashboard .paradise-dashboard-header{
    min-height:178px;
}

.paradise-trainer-content{
    min-width:0;
}

.paradise-trainer-welcome{
    margin-bottom:20px;
}
.paradise-trainer-eyebrow{
    display:block;
    margin-bottom:5px;
    color:var(--pc-green);
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
}
.paradise-trainer-welcome h1{
    margin:0;
    color:var(--pc-ink);
    font-size:25px;
    line-height:1.15;
}
.paradise-trainer-welcome p{
    margin:6px 0 0;
    color:var(--pc-muted);
    font-size:13px;
}

.paradise-trainer-module-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}
.paradise-trainer-module{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    border:1px solid var(--pc-line);
    border-radius:16px;
    background:#fff;
    color:var(--pc-ink);
    box-shadow:0 6px 20px rgba(24,42,33,.05);
    text-align:left;
    cursor:pointer;
    font:inherit;
}
.paradise-trainer-module:hover,
.paradise-trainer-module.is-active{
    border-color:rgba(13,107,67,.25);
    background:var(--pc-green-soft);
}
.paradise-trainer-module-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#f1f5f3;
    font-size:21px;
}
.paradise-trainer-module strong,
.paradise-trainer-module small{
    display:block;
}
.paradise-trainer-module strong{
    font-size:13px;
    font-weight:800;
}
.paradise-trainer-module small{
    margin-top:3px;
    color:var(--pc-muted);
    font-size:10px;
}

.paradise-trainer-panel{
    min-height:220px;
    padding:22px;
    border:1px solid var(--pc-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,19,24,.06);
}
.paradise-trainer-panel-placeholder{
    min-height:170px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.paradise-trainer-panel-placeholder strong{
    font-size:20px;
}
.paradise-trainer-panel-placeholder span{
    margin-top:6px;
    color:var(--pc-muted);
    font-size:12px;
}

.paradise-trainer-mobile-nav{
    display:none;
}

@media(max-width:900px){
    .paradise-trainer-dashboard .paradise-dashboard-header{
        min-height:154px;
    }
    .paradise-trainer-module-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767px){
    .paradise-trainer-dashboard .paradise-dashboard-main{
        padding-bottom:92px;
    }
    .paradise-trainer-welcome{
        margin-bottom:14px;
    }
    .paradise-trainer-welcome h1{
        font-size:20px;
    }
    .paradise-trainer-module-grid{
        display:none;
    }
    .paradise-trainer-panel{
        min-height:220px;
        padding:16px;
    }
    .paradise-trainer-mobile-nav{
        display:grid !important;
    }
    .paradise-trainer-mobile-nav > a{
        min-height:52px !important;
        padding:5px 2px !important;
        gap:2px !important;
        font-size:11px !important;
    }
    .paradise-trainer-mobile-nav .paradise-mobile-nav-icon{
        font-size:19px !important;
    }
}


/* 1.5.647 — registration form */
.paradise-registration{
    max-width:720px;
    margin:0 auto;
}
.paradise-registration-form{
    padding:24px;
    border:1px solid #e6ebe8;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,19,24,.06);
}
.paradise-registration-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.paradise-registration-form label{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.paradise-registration-form label.full{
    grid-column:1/-1;
}
.paradise-registration-form label span{
    font-size:12px;
    font-weight:700;
}
.paradise-registration-form input{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #dfe6e2;
    border-radius:10px;
    font:inherit;
    background:#fff;
}
.paradise-registration-form button{
    margin-top:18px;
    width:100%;
    padding:12px 18px;
    border:0;
    border-radius:11px;
    background:#0d6b43;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.paradise-registration-errors,
.paradise-registration-success{
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:12px;
}
.paradise-registration-errors{background:#fff0f0;color:#9b2929}
.paradise-registration-success{background:#eaf7f0;color:#0d6b43}
.paradise-registration-success span{display:block;margin-top:4px}
@media(max-width:600px){
    .paradise-registration-grid{grid-template-columns:1fr}
    .paradise-registration-form label.full{grid-column:auto}
    .paradise-registration-form{padding:18px}
}

.paradise-registration-form select{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #dfe6e2;
    border-radius:10px;
    font:inherit;
    background:#fff;
}

.paradise-registration-team-info{
    grid-column:1/-1;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:13px 14px;
    border:1px solid #dfeae4;
    border-radius:11px;
    background:#f3faf6;
}
.paradise-registration-team-info > span{
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#0d6b43;
}
.paradise-registration-team-info strong{
    font-size:14px;
}
.paradise-registration-team-info small{
    color:#78827d;
    font-size:11px;
}

.paradise-registration-form select{
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #dfe6e2;
    border-radius:10px;
    font:inherit;
    background:#fff;
}

.paradise-registration-consents{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:2px;
}
.paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start;
    gap:9px !important;
    font-size:12px;
}
.paradise-consent input{
    width:auto !important;
    margin-top:2px;
    flex:0 0 auto;
}
.paradise-consent a{
    margin-left:5px;
}

/* 1.5.647 — consent labels must remain visible */
.paradise-registration-consents .paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    width:100%;
    color:#202522 !important;
    visibility:visible !important;
    opacity:1 !important;
}
.paradise-registration-consents .paradise-consent span{
    display:block !important;
    color:#202522 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    visibility:visible !important;
    opacity:1 !important;
}
.paradise-registration-consents .paradise-consent input[type="checkbox"]{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    margin:2px 0 0 0 !important;
    flex:0 0 16px !important;
}
.paradise-registration-consents .paradise-consent a{
    color:#0d6b43 !important;
    text-decoration:underline !important;
}

/* 1.5.647 — isolate consent markup from generic label/span form CSS */
.paradise-registration-form .paradise-registration-consents{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    width:100% !important;
    color:#202522 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:9px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#202522 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-text{
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:#202522 !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
    visibility:visible !important;
    opacity:1 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-text a{
    display:inline !important;
    color:#0d6b43 !important;
    text-decoration:underline !important;
    visibility:visible !important;
}
.paradise-registration-form .paradise-registration-consents input[type="checkbox"]{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:16px !important;
    min-width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:2px 0 0 0 !important;
    padding:0 !important;
    flex:0 0 16px !important;
}

/* 1.5.647 — explicit clickable consent links */
.paradise-registration-form .paradise-registration-consents .paradise-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:9px !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link{
    display:block !important;
    color:#202522 !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
    text-decoration:underline !important;
    cursor:pointer !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link:hover{
    color:#0d6b43 !important;
}

/* 1.5.647 trainer dashboard */
.paradise-trainer-team-switcher{display:flex;align-items:center;gap:10px;margin:0 0 22px;padding:12px 16px;background:#fff;border:1px solid #e5e8e6;border-radius:14px}
.paradise-trainer-team-switcher select{min-width:220px;padding:9px 34px 9px 12px;border:1px solid #d8dedb;border-radius:9px;background:#fff}



.paradise-trainer-membership-form{min-width:240px}
.membership-mode-buttons{display:flex;gap:5px;margin-bottom:7px}
.membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;cursor:pointer;font-size:11px}
.membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.membership-months-fields input,.membership-until-fields input{width:130px;padding:7px;border:1px solid #d8dedb;border-radius:7px}
.membership-months-fields small,.membership-until-fields small{display:block;color:#77817d;font-size:10px;margin-top:3px}
.paradise-trainer-membership-submit{margin-top:8px;border:0;border-radius:8px;padding:8px 12px;background:#2d7d46;color:#fff;cursor:pointer}
@media(max-width:800px){.paradise-trainer-team-switcher{align-items:flex-start;flex-direction:column}.paradise-trainer-team-switcher select{width:100%;min-width:0}}@media(max-width:800px){}

/* 1.5.647 — Trainer Players cards */
.paradise-trainer-player-tools{margin:0 0 18px}
.paradise-trainer-player-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:0 14px;max-width:520px}
.paradise-trainer-player-search span{font-size:23px;color:#6f7b75}
.paradise-trainer-player-search input{width:100%;border:0!important;outline:0;padding:13px 0;background:transparent;font-size:15px}
.paradise-trainer-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-player-card{background:#fff;border:1px solid #e4eae7;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-player-card-top{display:flex;align-items:center;gap:12px}
.paradise-trainer-player-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;background:#eef2ef}
.paradise-trainer-player-avatar img{width:100%;height:100%;object-fit:cover}
.paradise-trainer-player-name h3{margin:0 0 3px;font-size:17px}
.paradise-trainer-player-name span{font-size:12px;color:#77827d}
.paradise-trainer-player-membership{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px 12px;border-radius:12px}
.paradise-trainer-player-membership.is-paid{background:#eff8f1}
.paradise-trainer-player-membership.is-unpaid{background:#fff3f2}
.membership-status-dot{width:9px;height:9px;border-radius:50%;background:#d35b51;flex:0 0 9px}
.is-paid .membership-status-dot{background:#2f8a50}
.paradise-trainer-player-membership small{display:block;font-size:9px;letter-spacing:.08em;color:#76817c;font-weight:700}
.paradise-trainer-player-membership strong{display:block;font-size:13px;margin-top:2px}
.paradise-trainer-player-membership span:last-child{display:block;font-size:11px;color:#6f7975;margin-top:2px}
.paradise-trainer-player-actions{display:flex;gap:8px}
.paradise-trainer-player-actions button{flex:1;border:1px solid #dce4df;background:#fff;border-radius:9px;padding:9px 8px;font-size:12px;cursor:pointer}
.paradise-trainer-player-actions .paradise-trainer-player-pay-btn{background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-player-detail,.paradise-trainer-player-payment{margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee}
.trainer-player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trainer-player-detail-grid small{display:block;color:#7a8580;font-size:10px}.trainer-player-detail-grid strong{display:block;font-size:12px;margin-top:2px;word-break:break-word}
.paradise-trainer-player-payment .membership-mode-buttons{display:flex;gap:5px;margin-bottom:8px}
.paradise-trainer-player-payment .membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px}
.paradise-trainer-player-payment .membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.paradise-trainer-player-payment input[type="number"],.paradise-trainer-player-payment input[type="date"]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d8dedb;border-radius:8px}
.paradise-trainer-player-payment small{display:block;color:#77817d;font-size:10px;margin:4px 0 8px}
.paradise-trainer-player-payment .paradise-trainer-membership-submit{width:100%;margin-top:4px}
.paradise-trainer-player-empty{padding:30px;text-align:center;color:#718079;background:#fff;border:1px dashed #d8e0db;border-radius:16px}
.paradise-trainer-player-empty strong{display:block;color:#28332e;margin-bottom:4px}
@media(max-width:700px){
 .paradise-trainer-player-grid{grid-template-columns:1fr}
 .paradise-trainer-player-search{max-width:none}
}

/* 1.5.647 — trainer player cards */
.paradise-trainer-player-tools{margin:0 0 18px}
.paradise-trainer-player-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:0 14px;max-width:520px}
.paradise-trainer-player-search span{font-size:23px;color:#6f7b75}.paradise-trainer-player-search input{width:100%;border:0!important;outline:0;padding:13px 0;background:transparent;font-size:15px}
.paradise-trainer-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-player-card{background:#fff;border:1px solid #e4eae7;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-player-card-top{display:flex;align-items:center;gap:12px}.paradise-trainer-player-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;background:#eef2ef}.paradise-trainer-player-avatar img{width:100%;height:100%;object-fit:cover}
.paradise-trainer-player-name h3{margin:0 0 3px;font-size:17px}.paradise-trainer-player-name span{font-size:12px;color:#77827d}
.paradise-trainer-player-membership{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px 12px;border-radius:12px}.paradise-trainer-player-membership.is-paid{background:#eff8f1}.paradise-trainer-player-membership.is-unpaid{background:#fff3f2}
.membership-status-dot{width:9px;height:9px;border-radius:50%;background:#d35b51;flex:0 0 9px}.is-paid .membership-status-dot{background:#2f8a50}
.paradise-trainer-player-membership small{display:block;font-size:9px;letter-spacing:.08em;color:#76817c;font-weight:700}.paradise-trainer-player-membership strong{display:block;font-size:13px;margin-top:2px}.paradise-trainer-player-membership span:last-child{display:block;font-size:11px;color:#6f7975;margin-top:2px}
.paradise-trainer-player-actions{display:flex;gap:8px}.paradise-trainer-player-actions button{flex:1;border:1px solid #dce4df;background:#fff;border-radius:9px;padding:9px 8px;font-size:12px;cursor:pointer}.paradise-trainer-player-actions .paradise-trainer-player-pay-btn{background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-player-detail,.paradise-trainer-player-payment{margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee}.trainer-player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trainer-player-detail-grid small{display:block;color:#7a8580;font-size:10px}.trainer-player-detail-grid strong{display:block;font-size:12px;margin-top:2px;word-break:break-word}
.paradise-trainer-player-payment .membership-mode-buttons{display:flex;gap:5px;margin-bottom:8px}.paradise-trainer-player-payment .membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px}.paradise-trainer-player-payment .membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.paradise-trainer-player-payment input[type="number"],.paradise-trainer-player-payment input[type="date"]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d8dedb;border-radius:8px}.paradise-trainer-player-payment small{display:block;color:#77817d;font-size:10px;margin:4px 0 8px}.paradise-trainer-player-payment .paradise-trainer-membership-submit{width:100%;margin-top:4px}
.paradise-trainer-player-empty{padding:30px;text-align:center;color:#718079;background:#fff;border:1px dashed #d8e0db;border-radius:16px}.paradise-trainer-player-empty strong{display:block;color:#28332e;margin-bottom:4px}
@media(max-width:700px){.paradise-trainer-player-grid{grid-template-columns:1fr}.paradise-trainer-player-search{max-width:none}}

/* 1.5.647 trainer player cards */
.paradise-trainer-player-tools{margin:0 0 18px}
.paradise-trainer-player-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:0 14px;max-width:520px}
.paradise-trainer-player-search span{font-size:23px;color:#6f7b75}
.paradise-trainer-player-search input{width:100%;border:0!important;outline:0;padding:13px 0;background:transparent;font-size:15px}
.paradise-trainer-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-player-card{background:#fff;border:1px solid #e4eae7;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-player-card-top{display:flex;align-items:center;gap:12px}
.paradise-trainer-player-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;background:#eef2ef}
.paradise-trainer-player-avatar img{width:100%;height:100%;object-fit:cover}
.paradise-trainer-player-name h3{margin:0 0 3px;font-size:17px}
.paradise-trainer-player-name span{font-size:12px;color:#77827d}
.paradise-trainer-player-membership{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px 12px;border-radius:12px}
.paradise-trainer-player-membership.is-paid{background:#eff8f1}
.paradise-trainer-player-membership.is-unpaid{background:#fff3f2}
.membership-status-dot{width:9px;height:9px;border-radius:50%;background:#d35b51;flex:0 0 9px}
.is-paid .membership-status-dot{background:#2f8a50}
.paradise-trainer-player-membership small{display:block;font-size:9px;letter-spacing:.08em;color:#76817c;font-weight:700}
.paradise-trainer-player-membership strong{display:block;font-size:13px;margin-top:2px}
.paradise-trainer-player-membership span:last-child{display:block;font-size:11px;color:#6f7975;margin-top:2px}
.paradise-trainer-player-actions{display:flex;gap:8px}
.paradise-trainer-player-actions button{flex:1;border:1px solid #dce4df;background:#fff;border-radius:9px;padding:9px 8px;font-size:12px;cursor:pointer}
.paradise-trainer-player-actions .paradise-trainer-player-pay-btn{background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-player-detail,.paradise-trainer-player-payment{margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee}
.trainer-player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trainer-player-detail-grid small{display:block;color:#7a8580;font-size:10px}
.trainer-player-detail-grid strong{display:block;font-size:12px;margin-top:2px;word-break:break-word}
.paradise-trainer-player-payment .membership-mode-buttons{display:flex;gap:5px;margin-bottom:8px}
.paradise-trainer-player-payment .membership-mode-buttons button{border:1px solid #d8dedb;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px}
.paradise-trainer-player-payment .membership-mode-buttons button.is-active{background:#edf7f0;border-color:#2d7d46;color:#2d7d46;font-weight:700}
.paradise-trainer-player-payment input[type="number"],.paradise-trainer-player-payment input[type="date"]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d8dedb;border-radius:8px}
.paradise-trainer-player-payment small{display:block;color:#77817d;font-size:10px;margin:4px 0 8px}
.paradise-trainer-player-payment .paradise-trainer-membership-submit{width:100%;margin-top:4px}
.paradise-trainer-player-empty{padding:30px;text-align:center;color:#718079;background:#fff;border:1px dashed #d8e0db;border-radius:16px}
.paradise-trainer-player-empty strong{display:block;color:#28332e;margin-bottom:4px}
@media(max-width:700px){.paradise-trainer-player-grid{grid-template-columns:1fr}.paradise-trainer-player-search{max-width:none}}

/* 1.5.647 — trainer player action buttons */
.paradise-trainer-dashboard .paradise-trainer-player-actions .paradise-trainer-player-detail-btn{
    color:#24312b !important;
    background:#fff !important;
    border:1px solid #dce4df !important;
    opacity:1 !important;
    visibility:visible !important;
}
.paradise-trainer-dashboard .paradise-trainer-player-actions .paradise-trainer-player-pay-btn{
    color:#fff !important;
    background:#087546 !important;
    border:1px solid #087546 !important;
    opacity:1 !important;
    visibility:visible !important;
}
.paradise-trainer-dashboard .paradise-trainer-player-actions button{
    min-height:42px;
    font-weight:600;
}
.paradise-trainer-dashboard .paradise-trainer-player-detail[hidden],
.paradise-trainer-dashboard .paradise-trainer-player-payment[hidden]{display:none !important}

/* 1.5.647 — simple cash payment amount */
.paradise-trainer-dashboard .paradise-trainer-payment-amount{display:block;margin:0 0 5px}
.paradise-trainer-dashboard .paradise-trainer-payment-amount small{display:block;margin-bottom:6px;color:#66736d;font-size:11px;font-weight:700}
.paradise-trainer-dashboard .paradise-trainer-payment-input{display:flex;align-items:center;max-width:220px;border:1px solid #d8e0db;border-radius:10px;background:#fff;overflow:hidden}
.paradise-trainer-dashboard .paradise-trainer-payment-input input{width:100%;border:0!important;outline:0!important;background:transparent;padding:10px 11px;font-size:16px}
.paradise-trainer-dashboard .paradise-trainer-payment-input span{padding-right:11px;color:#68756f;font-weight:600}
.paradise-trainer-dashboard .paradise-trainer-payment-help{display:block;margin:5px 0 10px;color:#7a8580;font-size:10px}

/* 1.5.647 — trainer player contact links */
.paradise-trainer-dashboard .paradise-trainer-player-contact{
    color:#087546 !important;
    text-decoration:none !important;
    cursor:pointer;
}
.paradise-trainer-dashboard .paradise-trainer-player-contact:hover{
    text-decoration:underline !important;
}

/* 1.5.647 — trainer attendance */
.paradise-trainer-attendance-selector{background:#fff;border:1px solid #e3e9e5;border-radius:16px;padding:14px;margin-bottom:14px}
.paradise-trainer-attendance-selector label{display:block}.paradise-trainer-attendance-selector span{display:block;font-size:11px;font-weight:700;color:#69756f;margin-bottom:6px}
.paradise-trainer-attendance-selector select{width:100%;max-width:620px;border:1px solid #d8e0db;border-radius:10px;background:#fff;padding:11px;font-size:14px}
.paradise-trainer-attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f8f6;border:1px solid #e2e9e5;border-radius:16px;padding:14px 16px;margin-bottom:12px}
.paradise-trainer-attendance-summary strong{display:block;font-size:16px}.paradise-trainer-attendance-summary span{display:block;font-size:12px;color:#748079;margin-top:3px}
.attendance-points-badge{white-space:nowrap;background:#e9f5ed;color:#087546;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.paradise-trainer-attendance-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.attendance-mark-all{border:1px solid #d4dfd9;background:#fff;border-radius:10px;padding:9px 12px;font-weight:700;color:#26332d;cursor:pointer}
.attendance-counter{font-size:12px;color:#6f7b75}.attendance-counter strong{color:#087546}
.paradise-trainer-attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.paradise-trainer-attendance-player{display:flex;align-items:center;gap:10px;padding:11px 12px;background:#fff;border:1px solid #e2e8e4;border-radius:14px;cursor:pointer;transition:.15s}
.paradise-trainer-attendance-player input{position:absolute;opacity:0;pointer-events:none}
.attendance-player-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#edf2ef;flex:0 0 40px}.attendance-player-avatar img{width:100%;height:100%;object-fit:cover}
.attendance-player-name{font-size:13px;font-weight:700;flex:1;min-width:0}.attendance-player-state{font-size:9px;font-weight:800;color:#8a9490}
.paradise-trainer-attendance-player.is-present{background:#eef8f1;border-color:#b9d9c3}.paradise-trainer-attendance-player.is-present .attendance-player-state{color:#087546}
.paradise-trainer-attendance-save{width:100%;margin-top:14px;border:0;border-radius:12px;padding:13px;background:#087546;color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.paradise-trainer-attendance-empty{padding:28px;background:#fff;border:1px dashed #d8e0db;border-radius:16px;text-align:center;color:#718079}.paradise-trainer-attendance-empty strong{display:block;color:#26332d;margin-bottom:5px}
@media(max-width:700px){.paradise-trainer-attendance-list{grid-template-columns:1fr}.paradise-trainer-attendance-summary{align-items:flex-start}.paradise-trainer-attendance-actions{align-items:stretch;flex-direction:column}}

/* 1.5.647 — trainer matches */
.paradise-trainer-matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-trainer-match-card{background:#fff;border:1px solid #e2e8e4;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-match-card-head{display:flex;justify-content:space-between;align-items:center;color:#6f7b75;font-size:12px;margin-bottom:16px}
.paradise-trainer-match-card-head strong{font-size:17px;color:#26332d}
.paradise-trainer-match-teams{display:grid;grid-template-columns:1fr 38px 1fr;gap:8px;align-items:center}
.match-team{text-align:center;min-width:0}.match-team-label{display:block;font-size:9px;letter-spacing:.06em;color:#8a9490;font-weight:800;margin-bottom:5px}
.match-team strong{display:block;font-size:13px;line-height:1.25}
.match-team.is-selected strong{color:#087546}
.match-vs{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f0f4f1;color:#75817b;font-size:10px;font-weight:800}
.paradise-trainer-match-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;padding-top:12px;border-top:1px solid #edf1ee}
.paradise-trainer-match-meta span{font-size:10px;color:#68746e;background:#f7f9f8;border-radius:7px;padding:5px 7px}
.paradise-trainer-match-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:9px;color:#8a9490}
@media(max-width:700px){.paradise-trainer-matches-grid{grid-template-columns:1fr}}

/* 1.5.647 — trainer matches use the same source as player dashboard */
.paradise-trainer-match-card{display:block;text-decoration:none;color:inherit}
.paradise-trainer-match-card .trainer-match-logo{display:block;width:42px;height:42px;object-fit:contain;margin:8px auto}
.paradise-trainer-match-card .match-team strong{display:block}
.paradise-trainer-match-card:hover{transform:translateY(-1px);box-shadow:0 9px 25px rgba(0,0,0,.06)}

/* 1.5.647 — trainer matches use the exact player-dashboard match UI */
.paradise-trainer-matches-content .paradise-trainer-match-empty-text{
    margin:18px 0;
    padding:20px;
    text-align:center;
    color:#748079;
    background:#fff;
    border:1px dashed #d9e1dc;
    border-radius:14px;
}

/* 1.5.647 — trainer statistics */
.paradise-trainer-stats-block{background:#fff;border:1px solid #e2e8e4;border-radius:18px;padding:16px;margin-bottom:16px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.paradise-trainer-stats-block-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.paradise-trainer-stats-block-head span:first-child{display:block;font-size:9px;letter-spacing:.1em;color:#087546;font-weight:800}
.paradise-trainer-stats-block-head h2{margin:4px 0 0;font-size:20px;color:#26332d}
.paradise-trainer-stats-season{font-size:11px!important;color:#7a8580!important;white-space:nowrap}
.paradise-trainer-stats-table-wrap{overflow-x:auto;border:1px solid #e1e7e4;border-radius:13px}
.paradise-trainer-stats-table{width:100%;min-width:700px;border-collapse:collapse;font-size:12px}
.paradise-trainer-stats-table th{background:#f5f7f6;color:#6d7873;font-size:10px;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:11px 10px;border-bottom:1px solid #e1e7e4;white-space:nowrap}
.paradise-trainer-stats-table td{padding:11px 10px;border-bottom:1px solid #edf0ee;white-space:nowrap;color:#34403b}
.paradise-trainer-stats-table tr:last-child td{border-bottom:0}
.paradise-trainer-stats-table .stats-player-name,.paradise-trainer-stats-table .stats-team-name{font-weight:800;color:#26332d}
.paradise-trainer-standings-table .is-selected-team td{background:#eef8f1}
.paradise-trainer-standings-table .is-selected-team .stats-team-name{color:#087546}
.paradise-trainer-stats-empty{padding:24px;text-align:center;color:#75817b;background:#f8faf9;border-radius:12px}
@media(max-width:700px){.paradise-trainer-stats-block{padding:12px}.paradise-trainer-stats-block-head{align-items:flex-start;flex-direction:column}.paradise-trainer-stats-table{min-width:680px}}

/* 1.5.647 — trainer statistics tabs */
.paradise-trainer-stats-tabs{display:flex;gap:7px;margin:0 0 14px;padding:4px;background:#f0f4f1;border-radius:12px;width:max-content}
.paradise-trainer-stats-tab{border:0;background:transparent;border-radius:9px;padding:9px 18px;font-size:12px;font-weight:800;color:#718079;cursor:pointer}
.paradise-trainer-stats-tab.active{background:#fff;color:#087546;box-shadow:0 2px 7px rgba(0,0,0,.06)}
.paradise-trainer-stats-tab-content{display:none}.paradise-trainer-stats-tab-content.active{display:block}
@media(max-width:700px){.paradise-trainer-stats-tabs{width:100%}.paradise-trainer-stats-tab{flex:1}}

/* 1.5.647 — final trainer statistics layout */
.paradise-trainer-subtable-title{font-size:13px;font-weight:800;color:#26332d;margin:18px 0 9px}
.paradise-trainer-goalkeepers-title{margin-top:22px;padding-top:18px;border-top:1px solid #edf1ee}
.paradise-trainer-stats-controls{display:flex;align-items:flex-end;gap:8px;margin:0 0 10px}
.paradise-stats-search,.paradise-stats-sort{display:block;min-width:180px}.paradise-stats-sort{min-width:145px}
.paradise-stats-search span,.paradise-stats-sort span{display:block;font-size:9px;font-weight:800;color:#75817b;margin:0 0 5px}
.paradise-stats-search input,.paradise-stats-sort select{width:100%;height:38px;border:1px solid #dce4df;border-radius:10px;background:#fff;padding:0 10px;font-size:12px;color:#26332d;box-sizing:border-box}
.trainer-stats-sort-direction{height:38px;width:38px;border:1px solid #dce4df;border-radius:10px;background:#fff;font-weight:800;color:#087546;cursor:pointer}
.paradise-trainer-stats-no-results{display:none;padding:12px;text-align:center;font-size:11px;color:#75817b}.paradise-trainer-stats-no-results.is-visible{display:block}
@media(max-width:700px){
 .paradise-trainer-stats-controls{display:grid;grid-template-columns:minmax(0,1fr) 116px 36px;gap:6px}
 .paradise-stats-search,.paradise-stats-sort{min-width:0}
 .paradise-trainer-stats-table-wrap{overflow:hidden;border-radius:11px}
 .paradise-trainer-stats-table{width:100%;min-width:0;table-layout:fixed;font-size:10px}
 .paradise-trainer-stats-table th,.paradise-trainer-stats-table td{padding:8px 3px;text-align:center;white-space:nowrap}
 .paradise-trainer-stats-table th:first-child,.paradise-trainer-stats-table td:first-child{text-align:left;width:34%;overflow:hidden;text-overflow:ellipsis}
 .paradise-trainer-goalkeepers-table th:first-child,.paradise-trainer-goalkeepers-table td:first-child{width:29%}
 /* Team standings: keep all 8 columns inside the phone and never overlap text. */
 .paradise-trainer-standings-table{font-size:9px}
 .paradise-trainer-standings-table th,.paradise-trainer-standings-table td{padding:8px 2px;white-space:nowrap;text-align:center}
 .paradise-trainer-standings-table th:nth-child(1),.paradise-trainer-standings-table td:nth-child(1){width:7%}
 .paradise-trainer-standings-table th:nth-child(2),.paradise-trainer-standings-table td:nth-child(2){width:37%;text-align:left;overflow:hidden;text-overflow:ellipsis}
 .paradise-trainer-standings-table th:nth-child(n+3),.paradise-trainer-standings-table td:nth-child(n+3){width:9.3%}
 .paradise-trainer-standings-table .stats-team-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* 1.5.647 — team standings mobile layout */
@media(max-width:700px){
    .paradise-trainer-standings-table{
        width:100%;
        min-width:0;
        table-layout:fixed;
        font-size:9px;
    }
    .paradise-trainer-standings-table th,
    .paradise-trainer-standings-table td{
        padding:8px 2px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        text-align:center;
    }
    .paradise-trainer-standings-table th:nth-child(1),
    .paradise-trainer-standings-table td:nth-child(1){width:6%}
    .paradise-trainer-standings-table th:nth-child(2),
    .paradise-trainer-standings-table td:nth-child(2){
        width:44%;
        text-align:left;
    }
    .paradise-trainer-standings-table th:nth-child(n+3),
    .paradise-trainer-standings-table td:nth-child(n+3){width:8.333%}
    .paradise-trainer-standings-table .stats-team-name{
        display:block;
        width:100%;
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        box-sizing:border-box;
    }
    .paradise-trainer-standings-table th:nth-child(7),
    .paradise-trainer-standings-table th:nth-child(8){font-size:8px}
}

/* 1.5.647 — force team standings column geometry on mobile */
@media(max-width:700px){
    .paradise-trainer-team-table-block .paradise-trainer-stats-table-wrap{
        overflow:hidden !important;
        width:100%;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        table-layout:fixed !important;
        font-size:9px;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-rank{width:6%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-team{width:46%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-stat{width:7%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-score{width:10%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table col.standings-col-points{width:10%}
    .paradise-trainer-team-table-block .paradise-trainer-standings-table th,
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td{
        box-sizing:border-box;
        padding:8px 3px !important;
        vertical-align:middle;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table th{
        font-size:8px;
        white-space:nowrap;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td{
        white-space:nowrap;
        text-align:center;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td.stats-team-name{
        display:table-cell !important;
        width:auto !important;
        max-width:none !important;
        text-align:left;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:normal;
        line-height:1.15;
    }
    .paradise-trainer-team-table-block .paradise-trainer-standings-table td.stats-team-name{
        font-size:9px;
    }
}

/* 1.5.647 — player dashboard statistics */
.player-stats-section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.player-stats-section-head>div>span,.paradise-trainer-stats-block-head>div>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#087546}
.player-stats-section-head h4{margin:4px 0 0;font-size:20px}.player-stats-section-head small{font-size:10px;color:#75817b}
.player-stats-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.player-stats-summary-grid>div{background:#f2f8f4;border-radius:12px;padding:12px 7px;text-align:center}
.player-stats-summary-grid strong{display:block;font-size:20px;color:#1f3028}.player-stats-summary-grid span{font-size:9px;color:#75817b}
.player-stats-empty{color:#75817b;font-size:12px;margin:12px 0}.player-dashboard-stats-tabs{margin:12px 0 10px}
.player-dashboard-stats-content{display:none}.player-dashboard-stats-content.active{display:block}
.player-stats-subtitle{font-size:12px;font-weight:800;color:#26332d;margin:0 0 8px}.player-goalkeepers-title{margin-top:18px;padding-top:16px;border-top:1px solid #edf1ee}
.player-stats-table-wrap{width:100%;overflow:hidden;border:1px solid #e1e8e4;border-radius:12px}
.player-dashboard-stats-table,.player-dashboard-standings-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}
.player-dashboard-stats-table th,.player-dashboard-stats-table td,.player-dashboard-standings-table th,.player-dashboard-standings-table td{padding:9px 5px;border-bottom:1px solid #e8eeeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.player-dashboard-stats-table th:first-child,.player-dashboard-stats-table td:first-child,.player-dashboard-standings-table th:nth-child(2),.player-dashboard-standings-table td:nth-child(2){text-align:left}
.player-dashboard-stats-table th:first-child,.player-dashboard-stats-table td:first-child{width:34%}
.player-dashboard-stats-table tr:last-child td,.player-dashboard-standings-table tr:last-child td{border-bottom:0}
.player-dashboard-stats-table .is-current-player td,.player-dashboard-standings-table .is-current-team td{background:#eef8f2;font-weight:700;color:#087546}
.current-player-mark{display:inline-block;margin-left:5px;font-size:8px;color:#087546;font-weight:800}
.player-dashboard-standings-table col.rank{width:6%}.player-dashboard-standings-table col.team{width:42%}.player-dashboard-standings-table col:not(.rank):not(.team):not(.score):not(.points){width:7%}.player-dashboard-standings-table col.score{width:11%}.player-dashboard-standings-table col.points{width:13%}
@media(max-width:700px){.player-stats-summary-grid{gap:5px}.player-stats-summary-grid>div{padding:10px 4px}.player-stats-summary-grid strong{font-size:18px}.player-dashboard-stats-table,.player-dashboard-standings-table{font-size:9px}.player-dashboard-stats-table th,.player-dashboard-stats-table td,.player-dashboard-standings-table th,.player-dashboard-standings-table td{padding:8px 2px}.player-dashboard-stats-table th:first-child,.player-dashboard-stats-table td:first-child{width:33%}.player-dashboard-standings-table th:nth-child(2),.player-dashboard-standings-table td:nth-child(2){width:42%;white-space:normal;line-height:1.15}}

/* 1.5.647 player statistics navigation */
.player-dashboard-stats-tabs{display:flex;gap:4px;background:#eef3f0;border-radius:14px;padding:4px}
.player-dashboard-stats-tabs .paradise-trainer-stats-tab{flex:1;border:0;border-radius:10px;background:transparent;padding:9px 8px;font-weight:700;cursor:pointer}
.player-dashboard-stats-tabs .paradise-trainer-stats-tab.active{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.08);color:#087546}
.player-dashboard-stats-content{display:none!important}
.player-dashboard-stats-content.active{display:block!important}

/* 1.5.647 — player dashboard: Zápasy submenu + personal statistics */
@media(max-width:767px){
    .paradise-mobile-nav-matches{position:relative;display:flex;align-items:stretch;justify-content:center}
    .paradise-mobile-nav-matches-toggle{
        width:100%;border:0;background:transparent;color:#69717b;border-radius:12px;
        padding:8px 4px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;
        display:flex;flex-direction:column;align-items:center;gap:2px;
    }
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-icon{font-size:20px;line-height:20px}
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-chevron{font-size:9px;line-height:8px}
    .paradise-mobile-nav-matches.is-open .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-matches.is-active .paradise-mobile-nav-matches-toggle{color:#087546;background:#eefbf5}
    .paradise-mobile-matches-menu{
        position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
        min-width:150px;padding:6px;border:1px solid #dfe7e2;border-radius:16px;
        background:rgba(255,255,255,.98);box-shadow:0 12px 35px rgba(19,39,29,.18);
        z-index:10001;
    }
    .paradise-mobile-matches-menu[hidden]{display:none}
    .paradise-mobile-matches-menu a{
        display:flex!important;flex-direction:row!important;align-items:center!important;
        justify-content:flex-start!important;gap:8px!important;min-height:42px!important;
        padding:7px 10px!important;border-radius:11px;color:#44514b!important;
        text-decoration:none!important;font-size:11px!important;font-weight:700!important;
    }
    .paradise-mobile-matches-menu a:hover,.paradise-mobile-matches-menu a.is-active{
        background:#eefbf5;color:#087546!important;
    }
}
@media(min-width:768px){
    .paradise-mobile-nav-matches{display:none}
}
.paradise-home-card-personal-stats{grid-column:1/-1}
.paradise-home-personal-stats-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.paradise-home-personal-stats-head>span{font-size:13px;font-weight:800;color:#087546;text-transform:uppercase;letter-spacing:.04em}
.paradise-home-personal-stats-head a{font-size:11px;font-weight:800;color:#087546;text-decoration:none}
.paradise-home-personal-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.paradise-home-personal-stats-grid>div{background:#f2f8f4;border-radius:12px;padding:10px;text-align:center}
.paradise-home-personal-stats-grid strong{display:block;font-size:19px;color:#1f3028}
.paradise-home-personal-stats-grid small{font-size:9px;color:#75817b}
.paradise-player-stats-personal-card,.paradise-player-stats-team-card{background:#fff;border:1px solid #e1e8e4;border-radius:18px;padding:18px;margin-bottom:14px}
.paradise-player-stats-personal-head,.paradise-player-stats-team-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.paradise-player-stats-personal-head span,.paradise-player-stats-team-head span{display:block;font-size:9px;font-weight:800;letter-spacing:.12em;color:#087546}
.paradise-player-stats-personal-head strong{display:block;font-size:20px;margin-top:4px;color:#1f3028}
.paradise-player-stats-personal-head b{font-size:10px;color:#087546;background:#eef8f2;padding:6px 8px;border-radius:10px}
.paradise-player-stats-personal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.paradise-player-stats-personal-grid>div{background:#f4f7f5;border-radius:12px;padding:11px 5px;text-align:center}
.paradise-player-stats-personal-grid strong{display:block;font-size:18px;color:#1f3028}
.paradise-player-stats-personal-grid span{font-size:9px;color:#75817b}
.paradise-player-stats-team-head h4{margin:4px 0 0;font-size:19px;color:#1f3028}
.paradise-player-stats-team-head small{font-size:10px;color:#75817b}
.paradise-player-stats-table-wrap{overflow-x:auto;border:1px solid #e1e8e4;border-radius:12px}
.paradise-player-stats-table{width:100%;min-width:520px;border-collapse:collapse;table-layout:fixed;font-size:11px}
.paradise-player-stats-table th,.paradise-player-stats-table td{padding:10px 6px;border-bottom:1px solid #e8eeeb;text-align:center;white-space:nowrap}
.paradise-player-stats-table th:first-child,.paradise-player-stats-table td:first-child{text-align:left;width:38%}
.paradise-player-stats-table tr:last-child td{border-bottom:0}
.paradise-player-stats-table .is-current-player td{background:#eef8f2;font-weight:700;color:#087546}
.paradise-player-stats-empty{color:#75817b;font-size:12px;margin:0}
@media(max-width:767px){
    .paradise-home-card-personal-stats{grid-column:1/-1}
    .paradise-home-personal-stats-grid{gap:5px}
    .paradise-home-personal-stats-grid>div{padding:9px 3px}
    .paradise-home-personal-stats-grid strong{font-size:17px}
    .paradise-home-personal-stats-grid small{font-size:8px}
    .paradise-player-stats-personal-card,.paradise-player-stats-team-card{padding:14px}
    .paradise-player-stats-personal-grid{grid-template-columns:repeat(5,1fr);gap:4px}
    .paradise-player-stats-personal-grid>div{padding:9px 2px}
    .paradise-player-stats-personal-grid strong{font-size:16px}
    .paradise-player-stats-personal-grid span{font-size:8px}
}

/* 1.5.647 — player dashboard: match submenu uses the same compact typography as Training */
@media (max-width: 767px) {
    .paradise-mobile-nav-matches-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron) {
        font-size: 11px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }
    .paradise-mobile-matches-menu {
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 16px) !important;
        padding: 4px !important;
        white-space: nowrap !important;
    }
    .paradise-mobile-matches-menu a {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        min-height: 36px !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    .paradise-mobile-matches-menu .paradise-mobile-sub-icon {
        flex: 0 0 20px !important;
        width: 20px !important;
        height: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 16px !important;
    }
}

/* 1.5.647 — player dashboard navigation + role-aware home statistics */
@media (max-width: 767px) {
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training {
        height: 54px !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle {
        min-height: 54px !important;
        height: 54px !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 2px !important;
        font-size: 9px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-nav-matches-toggle > span:not(.paradise-mobile-nav-icon),
    .paradise-mobile-nav-training-toggle > span:not(.paradise-mobile-nav-icon) {
        font-size: 9px !important;
        line-height: 1.1 !important;
        margin: 0 0 3px !important;
    }

    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-icon,
    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-icon {
        font-size: 19px !important;
        line-height: 20px !important;
        margin: 0 0 3px !important;
    }

    .paradise-mobile-matches-menu,
    .paradise-mobile-training-menu {
        min-width: 0 !important;
        width: max-content !important;
        max-width: calc(100vw - 20px) !important;
        padding: 4px !important;
        border-radius: 14px !important;
    }

    .paradise-mobile-matches-menu a,
    .paradise-mobile-training-menu a {
        min-height: 36px !important;
        height: 36px !important;
        padding: 6px 10px !important;
        gap: 7px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-matches-menu a > span:not(.paradise-mobile-sub-icon),
    .paradise-mobile-training-menu a > span:not(.paradise-mobile-sub-icon) {
        font-size: 11px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .paradise-mobile-matches-menu .paradise-mobile-sub-icon,
    .paradise-mobile-training-menu .paradise-mobile-sub-icon {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        font-size: 16px !important;
        margin: 0 !important;
    }

    .paradise-home-card-personal-stats {
        padding: 18px !important;
    }

    .paradise-home-personal-stats-head {
        margin-bottom: 14px !important;
    }

    .paradise-home-personal-stats-head > div {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .paradise-home-personal-stats-head > div > span {
        font-size: 12px !important;
        letter-spacing: .04em !important;
    }

    .paradise-home-personal-stats-head > div > small {
        font-size: 10px !important;
        color: #7a8580 !important;
    }

    .paradise-home-personal-stats-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 7px !important;
    }

    .paradise-home-personal-stats-grid > div {
        min-width: 0;
        padding: 11px 5px !important;
        border-radius: 12px !important;
    }

    .paradise-home-personal-stats-grid strong {
        font-size: 18px !important;
        line-height: 1.1 !important;
    }

    .paradise-home-personal-stats-grid small {
        display: block;
        margin-top: 4px !important;
        font-size: 8.5px !important;
        line-height: 1.1 !important;
    }

    .paradise-home-personal-stats-empty {
        padding: 14px;
        border-radius: 12px;
        background: #f5f7f6;
        color: #78837e;
        text-align: center;
        font-size: 11px;
    }
}

/* 1.5.647 — equal mobile nav controls, full player stats table, sortable headers */
@media(max-width:767px){
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training{
        display:flex !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        height:54px !important;
        min-height:54px !important;
        width:100% !important;
        padding:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }
    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle{
        appearance:none !important;
        -webkit-appearance:none !important;
        border:0 !important;
        outline:0 !important;
        box-shadow:none !important;
        background:transparent !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        flex-direction:column !important;
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        box-sizing:border-box !important;
        padding:0 !important;
        margin:0 !important;
    }

    .paradise-player-stats-table-wrap{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
    }
    .paradise-player-stats-table{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        table-layout:fixed !important;
        border-collapse:collapse !important;
        font-size:9px !important;
    }
    .paradise-player-stats-table th,
    .paradise-player-stats-table td{
        box-sizing:border-box !important;
        padding:8px 2px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }
    .paradise-player-stats-table th:first-child,
    .paradise-player-stats-table td:first-child{
        width:36% !important;
        text-align:left !important;
    }
    .paradise-player-stats-table th:not(:first-child),
    .paradise-player-stats-table td:not(:first-child){
        width:10.666% !important;
        text-align:center !important;
    }
    .paradise-stats-sort{
        display:flex !important;
        width:100% !important;
        align-items:center !important;
        justify-content:center !important;
        gap:1px !important;
        border:0 !important;
        padding:0 !important;
        margin:0 !important;
        background:transparent !important;
        color:inherit !important;
        font:inherit !important;
        font-weight:800 !important;
        cursor:pointer !important;
        white-space:nowrap !important;
    }
    .paradise-player-stats-table th:first-child .paradise-stats-sort{
        justify-content:flex-start !important;
    }
    .paradise-stats-sort span{
        font-size:8px !important;
        opacity:.55;
    }

    .paradise-home-personal-stats-grid{
        grid-template-columns:repeat(3,1fr) !important;
        gap:7px !important;
    }
    .paradise-home-personal-stats-grid > div{
        padding:10px 4px !important;
    }
    .paradise-home-personal-stats-grid strong{
        font-size:17px !important;
    }
    .paradise-home-personal-stats-grid small{
        font-size:8px !important;
    }
}

/* 1.5.647 — training card, stat info and perfectly aligned nav */
.paradise-home-training-day{
    margin-top:5px;
    font-size:15px;
    font-weight:800;
    color:#26332d;
}
.paradise-home-training-meta{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-top:8px;
}
.paradise-home-training-meta strong{
    font-size:15px !important;
    line-height:1.25;
    color:#26332d;
}
.paradise-stat-info{
    appearance:none;border:0;background:#f2f8f4;color:inherit;
    border-radius:12px;padding:9px 5px;text-align:center;
    cursor:pointer;font:inherit;min-width:0;
}
.paradise-stat-info strong{display:block;font-size:19px;line-height:1.1;color:#1f3028}
.paradise-stat-info span{font-size:9px;color:#75817b}
.paradise-stat-info:active{transform:scale(.98)}
.paradise-stat-info-popover{
    position:fixed;z-index:10050;left:50%;bottom:82px;transform:translateX(-50%);
    width:min(320px,calc(100vw - 32px));padding:16px 42px 16px 16px;
    border:1px solid #dfe7e2;border-radius:16px;background:#fff;
    box-shadow:0 14px 42px rgba(19,39,29,.22);
}
.paradise-stat-info-popover strong{display:block;font-size:14px;color:#1f3028;margin-bottom:5px}
.paradise-stat-info-popover p{margin:0;font-size:11px;line-height:1.45;color:#69756f}
.paradise-stat-info-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:22px;color:#75817b;cursor:pointer}
@media(max-width:767px){
    /* The wrapper itself is the grid item; give it the exact same geometry as <a>. */
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training{
        width:auto !important;
        height:54px !important;
        min-height:54px !important;
        align-self:stretch !important;
        display:block !important;
        position:relative !important;
        margin:0 !important;
        padding:0 !important;
    }
    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle{
        width:100% !important;height:54px !important;min-height:54px !important;
        border-radius:15px !important;padding:0 !important;margin:0 !important;
        justify-content:center !important;gap:0 !important;
    }
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-icon,
    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-icon{
        margin-bottom:3px !important;
    }
    .paradise-mobile-nav-matches-toggle > span:last-child,
    .paradise-mobile-nav-training-toggle > span:last-child{
        margin:0 !important;font-size:9px !important;line-height:1 !important;
    }
    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle{
        color:#6d7771 !important;
        font-weight:800 !important;
    }
    .paradise-mobile-nav-matches.is-active .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-matches.is-open .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training.is-active .paradise-mobile-nav-training-toggle,
    .paradise-mobile-nav-training.is-open .paradise-mobile-nav-training-toggle{
        color:var(--pc-green) !important;
        background:var(--pc-green-soft) !important;
    }
    .paradise-home-training-day{font-size:14px}
    .paradise-home-training-meta strong{font-size:14px !important}
    .paradise-stat-info{padding:10px 3px}
    .paradise-stat-info strong{font-size:18px}
}

/* 1.5.647 — personal statistics 3x2 + preserve tile text on interaction */
.paradise-player-stats-personal-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
}
.paradise-player-stats-personal-grid .paradise-stat-info{
    color:#1f3028 !important;
    -webkit-text-fill-color:#1f3028 !important;
    background:#f2f8f4 !important;
}
.paradise-player-stats-personal-grid .paradise-stat-info strong,
.paradise-player-stats-personal-grid .paradise-stat-info span{
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
}
.paradise-player-stats-personal-grid .paradise-stat-info:hover,
.paradise-player-stats-personal-grid .paradise-stat-info:focus,
.paradise-player-stats-personal-grid .paradise-stat-info:active{
    color:#1f3028 !important;
    -webkit-text-fill-color:#1f3028 !important;
    background:#e8f4ed !important;
    outline:none !important;
}
@media(max-width:767px){
    .paradise-player-stats-personal-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:7px !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info{
        min-width:0 !important;
        width:100% !important;
        min-height:74px !important;
        padding:10px 4px !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info strong{
        font-size:18px !important;
        line-height:1.1 !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info span{
        display:block !important;
        margin-top:4px !important;
        font-size:8.5px !important;
        line-height:1.1 !important;
    }
}

/* 1.5.647 — full personal-stat labels + aligned home card headings */
@media (max-width: 767px) {
    .paradise-player-stats-personal-grid .paradise-stat-info span {
        font-size: 8px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        min-height: 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .paradise-home-card-personal-stats .paradise-home-personal-stats-head,
    .paradise-home-card-training .paradise-home-training-head,
    .paradise-home-card-match .paradise-home-match-head {
        min-height: 28px !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    .paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span,
    .paradise-home-card-training .paradise-home-training-head > span,
    .paradise-home-card-match .paradise-home-match-head > span {
        font-size: 12px !important;
        line-height: 1.15 !important;
        font-weight: 800 !important;
        letter-spacing: .04em !important;
    }

    .paradise-home-card-training .paradise-home-training-day {
        margin-top: 4px !important;
    }

    .paradise-home-card-training .paradise-home-training-meta {
        margin-top: 7px !important;
    }
}

/* 1.5.647 — unified home card headings + livelier next-training card */
.paradise-home-card-eyebrow{
    display:block !important;
    color:#087546 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    letter-spacing:.10em !important;
    text-transform:uppercase !important;
    margin:0 0 14px !important;
}
.paradise-home-card-training{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.paradise-home-card-training:after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-52px;
    bottom:-58px;
    border-radius:50%;
    background:rgba(8,117,70,.055);
    pointer-events:none;
}
.paradise-home-training-main{
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
    z-index:1;
}
.paradise-home-training-icon{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#eaf6ef;
    font-size:23px;
    box-shadow:inset 0 0 0 1px rgba(8,117,70,.06);
}
.paradise-home-training-info{
    min-width:0;
}
.paradise-home-training-info > strong{
    display:block;
    font-size:20px !important;
    line-height:1.15 !important;
    color:#26332d !important;
}
.paradise-home-training-day{
    display:inline-block !important;
    margin-top:6px !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    background:#e8f5ed !important;
    color:#087546 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:800 !important;
}
.paradise-home-training-meta{
    position:relative;
    z-index:1;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    margin-top:14px !important;
}
.paradise-home-training-meta strong{
    display:inline-flex !important;
    align-items:center;
    padding:8px 10px !important;
    border:1px solid #e0e9e4;
    border-radius:10px;
    background:#fff;
    font-size:13px !important;
    line-height:1 !important;
    color:#3c4842 !important;
}
.paradise-home-card-personal-stats .paradise-home-card-eyebrow,
.paradise-home-card-match .paradise-home-card-eyebrow{
    margin-bottom:14px !important;
}
@media(max-width:767px){
    .paradise-home-card-eyebrow{
        font-size:11px !important;
        letter-spacing:.10em !important;
        margin-bottom:12px !important;
    }
    .paradise-home-training-main{gap:10px}
    .paradise-home-training-icon{width:42px;height:42px;flex-basis:42px;font-size:21px;border-radius:13px}
    .paradise-home-training-info > strong{font-size:19px !important}
    .paradise-home-training-day{font-size:9px !important;padding:4px 8px !important}
    .paradise-home-training-meta{margin-top:12px !important;gap:5px !important}
    .paradise-home-training-meta strong{font-size:12px !important;padding:7px 8px !important}
}

/* 1.5.647 — normalize all mobile navigation items to one exact geometry */
@media (max-width: 767px) {
    .paradise-mobile-nav {
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        align-items:stretch !important;
        justify-items:stretch !important;
        height:54px !important;
        min-height:54px !important;
        padding:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav > button,
    .paradise-mobile-nav > div {
        align-self:stretch !important;
        justify-self:stretch !important;
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex-direction:column !important;
        position:relative !important;
        top:0 !important;
        bottom:auto !important;
        transform:none !important;
    }

    .paradise-mobile-nav > a > *,
    .paradise-mobile-nav > button > *,
    .paradise-mobile-nav > div > a,
    .paradise-mobile-nav > div > button {
        position:static !important;
        margin:0 !important;
    }

    .paradise-mobile-nav > a .mobile-nav-icon,
    .paradise-mobile-nav > a .paradise-mobile-nav-icon,
    .paradise-mobile-nav > button .mobile-nav-icon,
    .paradise-mobile-nav > button .paradise-mobile-nav-icon,
    .paradise-mobile-nav > div .mobile-nav-icon,
    .paradise-mobile-nav > div .paradise-mobile-nav-icon {
        height:22px !important;
        min-height:22px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        line-height:22px !important;
    }

    .paradise-mobile-nav > a > span:last-child,
    .paradise-mobile-nav > button > span:last-child,
    .paradise-mobile-nav > div > a > span:last-child,
    .paradise-mobile-nav > div > button > span:last-child {
        line-height:11px !important;
        height:11px !important;
        min-height:11px !important;
        margin-top:3px !important;
    }

    /* Dropdown wrappers must occupy the exact same grid cell as a normal item. */
    .paradise-mobile-nav-matches,
    .paradise-mobile-nav-training {
        display:flex !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        overflow:visible !important;
    }

    .paradise-mobile-nav-matches-toggle,
    .paradise-mobile-nav-training-toggle {
        flex:1 1 auto !important;
        align-self:stretch !important;
        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;
    }
}

/* 1.5.647 — player team table typography */
@media (max-width: 767px) {
    .paradise-player-stats-table th,
    .paradise-player-stats-table td {
        font-size: 10px !important;
    }

    .paradise-player-stats-table td:first-child {
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    .paradise-player-stats-table td:not(:first-child) {
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    .paradise-player-stats-table th {
        font-size: 9px !important;
        font-weight: 800 !important;
    }

    .paradise-player-stats-table .paradise-stats-sort {
        font-size: 9px !important;
    }
}

/* 1.5.647 — trainer/player role switch */
.paradise-dashboard-header{
    position:relative;
}
.paradise-role-switch{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:78px;
    height:38px;
    padding:0 13px;
    border-radius:12px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px;
    font-weight:800;
    box-shadow:0 4px 14px rgba(0,0,0,.08);
    transition:.15s ease;
}
.paradise-role-switch:hover{
    background:rgba(255,255,255,.25);
    transform:translateY(-1px);
}
.paradise-role-switch > span:first-child{font-size:15px;line-height:1}
.paradise-role-switch > span:last-child{line-height:1}
.paradise-player-header{
    position:relative;
}
.paradise-player-header .player-profile{
    padding-right:90px;
}
.paradise-player-header .player-role-switch{
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.18);
}
@media(max-width:767px){
    .paradise-dashboard-header .paradise-role-switch{
        min-width:64px;
        height:34px;
        padding:0 9px;
        font-size:9px;
        border-radius:10px;
    }
    .paradise-dashboard-header .paradise-role-switch > span:first-child{font-size:13px}
    .paradise-player-header .player-profile{padding-right:76px}
    .paradise-player-header .player-role-switch{
        right:12px;
        min-width:60px;
        height:32px;
        padding:0 8px;
        font-size:9px;
    }
}

/* 1.5.647 — role switch occupies the same header position as player notifications */
header.paradise-dashboard-header .paradise-role-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    bottom:auto !important;
    left:auto !important;
    margin:0 !important;
    z-index:1000 !important;
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    padding:0 !important;
    border-radius:12px !important;
    box-sizing:border-box !important;
}
header.paradise-dashboard-header .paradise-role-switch > span:first-child{
    font-size:15px !important;
}
header.paradise-dashboard-header .paradise-role-switch > span:last-child{
    font-size:9px !important;
}
@media(max-width:700px){
    header.paradise-dashboard-header .paradise-role-switch{
        top:10px !important;
        right:10px !important;
        width:38px !important;
        min-width:38px !important;
        height:38px !important;
    }
}

/* 1.5.647 — active profile switch at notification position */
header.paradise-dashboard-header .paradise-profile-mode-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    width:auto !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    z-index:1001 !important;
}
header.paradise-dashboard-header .paradise-profile-mode-switch:hover{
    background:rgba(255,255,255,.25) !important;
}
@media(max-width:700px){
    header.paradise-dashboard-header .paradise-profile-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player profile switch: visible in player header */
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    width:auto !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    z-index:1001 !important;
}
.paradise-player-header{
    position:relative !important;
}
@media(max-width:700px){
    .paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player mode switch uses the same reliable coach detection as the player profile */
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:20 !important;
}
@media(max-width:700px){
    .paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
        top:10px !important;
        right:10px !important;
    }
}

/* 1.5.647 — force the player/trainer profile switch into the green header */
.paradise-player-header{
    position:relative !important;
    overflow:visible !important;
}
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:9999 !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    width:auto !important;
    height:42px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.18) !important;
    border:1px solid rgba(255,255,255,.30) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
.paradise-player-header .paradise-profile-mode-switch.player-mode-switch span{
    color:#fff !important;
    display:block !important;
}
@media(max-width:700px){
    .paradise-player-header .paradise-profile-mode-switch.player-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player mode switch, same account relationship as trainer dashboard */
.paradise-player-dashboard .paradise-player-header{
    position:relative !important;
    overflow:visible !important;
}
.paradise-player-dashboard .paradise-player-header .player-mode-switch{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:99999 !important;
    display:flex !important;
    width:auto !important;
    min-width:72px !important;
    height:42px !important;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 12px !important;
    margin:0 !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#087546 !important;
    border:1px solid rgba(255,255,255,.65) !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    box-shadow:0 5px 16px rgba(0,0,0,.12) !important;
}
.paradise-player-dashboard .paradise-player-header .player-mode-switch:hover{
    background:#f3faf6 !important;
    color:#087546 !important;
}
@media(max-width:700px){
    .paradise-player-dashboard .paradise-player-header .player-mode-switch{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player dashboard active-profile switch */
.paradise-player-dashboard .paradise-player-header{
    position:relative !important;
    overflow:visible !important;
    padding-right:110px !important;
}
.paradise-player-dashboard .paradise-player-header > .player-mode-switch{
    position:absolute !important;
    top:50% !important;
    right:18px !important;
    transform:translateY(-50%) !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:100000 !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    width:72px !important;
    height:38px !important;
    padding:0 8px !important;
    margin:0 !important;
    border-radius:11px !important;
    background:#ffffff !important;
    color:#087546 !important;
    border:1px solid rgba(255,255,255,.8) !important;
    box-shadow:0 4px 14px rgba(0,0,0,.14) !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
.paradise-player-dashboard .paradise-player-header > .player-mode-switch span{
    display:block !important;
    color:#087546 !important;
}
@media(max-width:700px){
    .paradise-player-dashboard .paradise-player-header{
        padding-right:82px !important;
    }
    .paradise-player-dashboard .paradise-player-header > .player-mode-switch{
        right:10px !important;
        width:60px !important;
        min-width:60px !important;
        height:34px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — unified player/trainer profile header */
.paradise-player-header-unified{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    min-height:88px !important;
    padding:18px 20px !important;
    margin:0 0 16px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#087546 0%,#075d3a 100%) !important;
    color:#fff !important;
    overflow:hidden !important;
}
.paradise-player-header-unified:after{
    content:"";
    position:absolute;
    width:150px;
    height:150px;
    right:-65px;
    bottom:-90px;
    border-radius:50%;
    background:rgba(255,255,255,.07);
    pointer-events:none;
}
.paradise-player-profile{
    position:relative;
    z-index:1;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    min-width:0 !important;
}
.paradise-player-photo{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:rgba(255,255,255,.18) !important;
    border:2px solid rgba(255,255,255,.45) !important;
}
.paradise-player-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}
.paradise-player-info{
    min-width:0 !important;
}
.paradise-player-info h2{
    margin:0 !important;
    color:#fff !important;
    font-size:19px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
}
.paradise-player-current-team{
    margin-top:4px !important;
    color:rgba(255,255,255,.82) !important;
    font-size:11px !important;
    font-weight:700 !important;
}
.paradise-player-header-unified .unified-mode-switch{
    position:relative !important;
    z-index:2 !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    width:72px !important;
    height:42px !important;
    padding:0 10px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
.paradise-player-header-unified .unified-mode-switch:hover{
    background:rgba(255,255,255,.25) !important;
}
@media(max-width:700px){
    .paradise-player-header-unified{
        min-height:76px !important;
        padding:14px 12px !important;
        border-radius:15px !important;
        gap:10px !important;
    }
    .paradise-player-photo{
        width:44px !important;
        height:44px !important;
        flex-basis:44px !important;
    }
    .paradise-player-info h2{font-size:16px !important}
    .paradise-player-current-team{font-size:9px !important}
    .paradise-player-header-unified .unified-mode-switch{
        min-width:60px !important;
        width:60px !important;
        height:36px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — simple active player status */
.paradise-player-header-unified .paradise-profile-status{
    position:relative !important;
    z-index:2 !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
@media(max-width:700px){
    .paradise-player-header-unified .paradise-profile-status{
        min-width:60px !important;
        height:36px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — active profile status in the actual player dashboard header */
.paradise-dashboard-header{
    position:relative !important;
}
.paradise-dashboard-profile-status{
    position:absolute !important;
    top:14px !important;
    right:18px !important;
    z-index:100 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
}
@media(max-width:700px){
    .paradise-dashboard-profile-status{
        top:10px !important;
        right:10px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — active player status in bottom-right corner */
.paradise-dashboard-header .paradise-dashboard-profile-status{
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    left:auto !important;
}
@media(max-width:700px){
    .paradise-dashboard-header .paradise-dashboard-profile-status{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
    }
}

/* 1.5.647 — player status becomes a switch only for trainer + player accounts */
.paradise-dashboard-profile-status-link{
    cursor:pointer !important;
    text-decoration:none !important;
    transition:transform .15s ease, background .15s ease !important;
}
.paradise-dashboard-profile-status-link:hover{
    background:rgba(255,255,255,.27) !important;
    color:#fff !important;
    transform:translateY(-1px) !important;
}

/* 1.5.647 — trainer/player switch aligned with the player profile status */
.paradise-trainer-header .paradise-profile-mode-switch{
    position:absolute !important;
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    width:72px !important;
    min-width:72px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    z-index:1001 !important;
}
.paradise-trainer-header .paradise-profile-mode-switch:hover{
    background:rgba(255,255,255,.27) !important;
    color:#fff !important;
}
@media(max-width:700px){
    .paradise-trainer-header .paradise-profile-mode-switch{
        right:10px !important;
        bottom:10px !important;
        width:60px !important;
        min-width:60px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:10px !important;
        font-size:9px !important;
    }
}

/* 1.5.647 — player and trainer dashboards use the same maximum width */
.paradise-dashboard{
    width:100% !important;
    max-width:1440px !important;
    box-sizing:border-box !important;
}
.paradise-dashboard-main{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
}
@media(min-width:701px){
    .paradise-dashboard{
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

/* 1.5.647 — trainer switch is anchored to the green header, not the inner profile */
.paradise-trainer-header > .paradise-dashboard-profile{
    position:static !important;
}
.paradise-trainer-header .paradise-profile-mode-switch{
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    left:auto !important;
    transform:none !important;
}
@media(max-width:700px){
    .paradise-trainer-header .paradise-profile-mode-switch{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
        left:auto !important;
        transform:none !important;
    }
}

/* 1.5.647 — both dashboards share the same full-width mobile shell */
#paradise-dashboard-top.paradise-dashboard,
.paradise-dashboard{
    width:100% !important;
    max-width:1440px !important;
    box-sizing:border-box !important;
}
.paradise-dashboard-main{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* Both profile switches are direct children of the green header. */
.paradise-dashboard-header{
    position:relative !important;
}
.paradise-dashboard-header .paradise-profile-mode-switch,
.paradise-dashboard-header .paradise-dashboard-profile-status{
    top:auto !important;
    right:18px !important;
    bottom:14px !important;
    left:auto !important;
    transform:none !important;
}
@media(max-width:700px){
    #paradise-dashboard-top.paradise-dashboard,
    .paradise-dashboard{
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .paradise-dashboard-main{
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
        box-sizing:border-box !important;
    }
    .paradise-dashboard-header .paradise-profile-mode-switch,
    .paradise-dashboard-header .paradise-dashboard-profile-status{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
        left:auto !important;
        transform:none !important;
    }
}

/* 1.5.647 — both dashboards use the full available viewport width */
#paradise-dashboard-top.paradise-dashboard,
.paradise-trainer-dashboard{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
}
#paradise-dashboard-top.paradise-dashboard .paradise-dashboard-main,
.paradise-trainer-dashboard .paradise-dashboard-main{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
}
@media(max-width:700px){
    #paradise-dashboard-top.paradise-dashboard,
    .paradise-trainer-dashboard{
        width:100vw !important;
        max-width:none !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
        border-radius:0 !important;
    }
    #paradise-dashboard-top.paradise-dashboard .paradise-dashboard-main,
    .paradise-trainer-dashboard .paradise-dashboard-main{
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
        box-sizing:border-box !important;
    }
    .paradise-trainer-header .paradise-profile-mode-switch{
        top:auto !important;
        right:10px !important;
        bottom:10px !important;
        left:auto !important;
        transform:none !important;
    }
}

/* 1.5.647 — desktop player home stats in one row */
@media(min-width:768px){
    .paradise-home-personal-stats-grid{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    .paradise-home-personal-stats-grid > div{
        min-width:0 !important;
        padding:10px 8px !important;
    }
}

/* 1.5.647 — personal stats: all six metrics in one row on desktop */
@media(min-width:768px){
    .paradise-player-stats-personal-grid{
        display:grid !important;
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:8px !important;
        width:100% !important;
    }
    .paradise-player-stats-personal-grid .paradise-stat-info{
        min-width:0 !important;
        width:100% !important;
        box-sizing:border-box !important;
    }
}

/* Team table header: clean light header instead of black */
.paradise-player-stats-table thead th{
    background:#f2f8f4 !important;
    color:#26332d !important;
    border-bottom:1px solid #dce7e1 !important;
}
.paradise-player-stats-table thead th .paradise-stats-sort{
    color:#26332d !important;
    background:transparent !important;
}
.paradise-player-stats-table thead th .paradise-stats-sort:hover{
    color:#087546 !important;
    background:transparent !important;
}

/* 1.5.647 — larger player names and stat numbers in team table */
.paradise-player-stats-table tbody td{
    font-size:14px !important;
}
.paradise-player-stats-table tbody td:first-child{
    font-size:15px !important;
    font-weight:700 !important;
}
.paradise-player-stats-table tbody td:not(:first-child){
    font-size:15px !important;
    font-weight:800 !important;
}
.paradise-player-stats-table thead th{
    font-size:11px !important;
}
.paradise-player-stats-table thead th .paradise-stats-sort{
    font-size:11px !important;
}
@media(max-width:767px){
    .paradise-player-stats-table tbody td{
        font-size:13px !important;
    }
    .paradise-player-stats-table tbody td:first-child{
        font-size:14px !important;
    }
    .paradise-player-stats-table tbody td:not(:first-child){
        font-size:14px !important;
    }
}

/* 1.5.647 — registration account type */
.paradise-registration-account-type{
    grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;
    align-items:stretch;margin-bottom:16px;
}
.paradise-registration-section-label{display:flex;align-items:center;font-weight:800;color:#18352a;padding:0 4px}
.paradise-registration-type-option{
    display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dce7e1;
    border-radius:12px;background:#fff;cursor:pointer;
}
.paradise-registration-type-option input{accent-color:#087546}
.paradise-registration-type-option span{display:flex;flex-direction:column;gap:2px}
.paradise-registration-type-option strong{font-size:13px}
.paradise-registration-type-option small{font-size:10px;color:#68756f}
@media(max-width:767px){.paradise-registration-account-type{grid-template-columns:1fr}.paradise-registration-section-label{padding:0}}

.paradise-parent-zone{padding:20px;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.06)}
.paradise-parent-zone h2{margin:0 0 16px;color:#087546}
.paradise-parent-child{padding:12px 14px;margin:0 0 8px;border:1px solid #dfe9e3;border-radius:10px;background:#f8fbf9}
.paradise-parent-zone form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.paradise-parent-zone select{min-width:260px;padding:9px;border:1px solid #d7e2dc;border-radius:8px}
.paradise-parent-zone button{padding:9px 14px;border:0;border-radius:8px;background:#087546;color:#fff;font-weight:700;cursor:pointer}

/* 1.5.647 — parent dashboard */
.paradise-parent-dashboard{max-width:1100px;margin:0 auto;padding:0 0 28px}
.paradise-parent-hero{
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#087546,#0a9b5d);
    color:#fff;box-shadow:0 10px 28px rgba(8,117,70,.16);margin-bottom:18px;
}
.paradise-parent-eyebrow,.paradise-parent-section-label{font-size:10px;font-weight:900;letter-spacing:.12em}
.paradise-parent-hero h1{margin:5px 0 4px;font-size:30px;color:#fff}
.paradise-parent-hero p{margin:0;opacity:.86;font-size:13px}
.paradise-parent-count{min-width:90px;text-align:center;padding:12px 16px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);border-radius:15px}
.paradise-parent-count strong{display:block;font-size:27px;line-height:1}
.paradise-parent-count span{display:block;margin-top:5px;font-size:10px}
.paradise-parent-children-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.paradise-parent-child-card{
    display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #dfe9e3;
    border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.04)
}
.paradise-parent-child-avatar{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eaf6ef;font-size:22px}
.paradise-parent-child-body h2{margin:0 0 6px;font-size:18px;color:#21332a}
.paradise-parent-team{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f5ee;color:#087546;font-size:10px;font-weight:900}
.paradise-parent-muted{font-size:11px;color:#7a8780}
.paradise-parent-empty,.paradise-parent-pending{
    padding:20px;border-radius:16px;background:#f7faf8;border:1px dashed #cddbd3;
    display:flex;flex-direction:column;gap:5px;color:#4b5a52
}
.paradise-parent-request-card{padding:22px;border-radius:18px;background:#fff;border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.paradise-parent-request-card h2{margin:5px 0;color:#20362b;font-size:21px}
.paradise-parent-request-card p{margin:0 0 15px;color:#6d7872;font-size:12px}
.paradise-parent-request-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.paradise-parent-request-form label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:240px}
.paradise-parent-request-form label span{font-size:10px;font-weight:800;color:#4d5c54}
.paradise-parent-request-form select{width:100%;padding:10px 11px;border:1px solid #d5e1da;border-radius:10px;background:#fff}
.paradise-parent-request-form button{padding:10px 15px;border:0;border-radius:10px;background:#087546;color:#fff;font-weight:800;cursor:pointer}
.paradise-parent-notice{padding:12px 14px;border-radius:11px;background:#f4f8f5;border:1px solid #dfe9e3;margin-bottom:14px;font-size:12px}
.paradise-parent-notice.success{background:#edf8f1;color:#087546}
.paradise-parent-notice.error{background:#fff3f1;color:#9b3528}
@media(max-width:767px){
    .paradise-parent-dashboard{padding:0 0 24px}
    .paradise-parent-hero{padding:20px;border-radius:16px}
    .paradise-parent-hero h1{font-size:25px}
    .paradise-parent-children-grid{grid-template-columns:1fr}
    .paradise-parent-request-form label{min-width:100%}
    .paradise-parent-request-form button{width:100%}
}

/* 1.5.647 — parent child detail */
.paradise-parent-child-card{color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.paradise-parent-child-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.08)}
.paradise-parent-child-overview{margin-bottom:18px}
.paradise-parent-child-overview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;padding:22px 24px;border-radius:18px;background:#fff;border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.paradise-parent-child-overview-head h2{margin:6px 0 7px;font-size:28px;color:#20362b}
.paradise-parent-child-overview-head small{color:#718078}
.paradise-parent-back{display:inline-block;margin-bottom:12px;color:#087546;font-size:11px;font-weight:800;text-decoration:none}
.paradise-parent-child-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.paradise-parent-child-summary-grid>div{padding:17px;border-radius:15px;background:linear-gradient(145deg,#fff,#f7fbf8);border:1px solid #e0e9e4}
.paradise-parent-child-summary-grid span,.paradise-parent-stats-head span{display:block;font-size:9px;letter-spacing:.1em;font-weight:900;color:#087546}
.paradise-parent-child-summary-grid strong{display:block;margin-top:8px;font-size:17px;color:#26352e}
.paradise-parent-child-summary-grid small{display:block;margin-top:5px;color:#718078;font-size:11px}
.paradise-parent-stats-card{margin-top:12px;padding:18px;border-radius:15px;background:#fff;border:1px solid #dfe9e3}
.paradise-parent-stats-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.paradise-parent-stats-head small{font-size:10px;color:#6e7b74;font-weight:800}
.paradise-parent-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.paradise-parent-stats-grid>div{text-align:center;padding:11px 5px;border-radius:10px;background:#f6faf7}
.paradise-parent-stats-grid strong{display:block;font-size:19px;color:#18362a}
.paradise-parent-stats-grid small{display:block;margin-top:3px;font-size:9px;color:#728078}
@media(max-width:767px){
 .paradise-parent-child-overview-head{padding:18px;align-items:flex-start;flex-direction:column}
 .paradise-parent-child-overview-head h2{font-size:24px}
 .paradise-parent-child-summary-grid{grid-template-columns:1fr}
 .paradise-parent-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 1.5.647 — parent attendance */
.paradise-parent-attendance-card{
    margin-top:12px;padding:18px;border-radius:15px;background:#fff;border:1px solid #dfe9e3;
}
.paradise-parent-attendance-card .paradise-parent-stats-head strong{
    font-size:10px;color:#6e7b74;font-weight:800;
}
.paradise-parent-attendance-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-attendance-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 12px;border-radius:10px;background:#f6faf7;
}
.paradise-parent-attendance-row strong{display:block;font-size:12px;color:#26352e}
.paradise-parent-attendance-row small{display:block;margin-top:3px;color:#77847d;font-size:9px}
.paradise-parent-attendance-present{
    flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e8f6ed;color:#087546;
    font-size:9px;font-weight:900;
}
@media(max-width:767px){
    .paradise-parent-attendance-row{align-items:flex-start}
    .paradise-parent-attendance-present{margin-top:1px}
}

/* 1.5.647 — parent payments */
.paradise-parent-payment-card{margin-top:12px;padding:18px;border-radius:15px;background:#fff;border:1px solid #dfe9e3}
.paradise-parent-payment-status{padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900!important;letter-spacing:0!important}
.paradise-parent-payment-status.paid{background:#e8f6ed;color:#087546}
.paradise-parent-payment-status.expiring{background:#fff7e5;color:#9a6900}
.paradise-parent-payment-status.unpaid{background:#fff1ef;color:#9b3528}
.paradise-parent-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.paradise-parent-payment-summary>div{padding:12px;border-radius:10px;background:#f6faf7}
.paradise-parent-payment-summary small{display:block;font-size:8px;font-weight:900;color:#718078;letter-spacing:.06em}
.paradise-parent-payment-summary strong{display:block;margin-top:5px;font-size:15px;color:#21352b}
.paradise-parent-payment-history>strong{display:block;font-size:11px;margin-bottom:7px;color:#34433b}
.paradise-parent-payment-row{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;background:#f6faf7;border-radius:9px;margin-top:5px}
.paradise-parent-payment-row span{display:block;font-size:11px;font-weight:800;color:#35443c}
.paradise-parent-payment-row small{display:block;margin-top:2px;font-size:9px;color:#78847e}
.paradise-parent-payment-row>strong{font-size:12px;color:#263b30}
.paradise-parent-payment-empty{padding:11px;border-radius:10px;background:#f7faf8;color:#738079;font-size:10px}
@media(max-width:767px){
 .paradise-parent-payment-summary{grid-template-columns:1fr 1fr}
 .paradise-parent-payment-summary>div:last-child{grid-column:1/-1}
}

.paradise-parent-pay-button{
    margin:0 0 14px;padding:10px 15px;border:0;border-radius:10px;
    background:#087546;color:#fff;font-size:11px;font-weight:900;cursor:pointer;
}
.paradise-parent-pay-button:disabled{opacity:.65;cursor:wait}

.paradise-parent-pay-box{
    display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;
}
.paradise-parent-pay-box label{display:flex;flex-direction:column;gap:5px;min-width:210px}
.paradise-parent-pay-box label span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#66746c}
.paradise-parent-pay-amount{
    padding:10px 11px;border:1px solid #d5e1da;border-radius:10px;background:#fff;
    font-size:12px;font-weight:700;color:#263a30;
}
.paradise-parent-pay-box .paradise-parent-pay-button{margin:0}
@media(max-width:767px){
 .paradise-parent-pay-box label,.paradise-parent-pay-box button{width:100%}
}

/* 1.5.647 — parent notifications */
.paradise-parent-notifications-card{
    margin-bottom:18px;padding:18px;border-radius:18px;background:#fff;
    border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)
}
.paradise-parent-notifications-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px
}
.paradise-parent-notifications-head h2{margin:4px 0 0;font-size:21px;color:#20362b}
.paradise-parent-notifications-badge{
    padding:5px 9px;border-radius:999px;background:#edf8f1;color:#087546;
    font-size:9px;font-weight:900
}
.paradise-parent-notifications-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-notification{
    display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border-radius:11px;
    background:#f6faf7;border:1px solid transparent;color:inherit;text-decoration:none
}
.paradise-parent-notification.is-unread{background:#eef8f2;border-color:#d8ecdf}
.paradise-parent-notification-icon{
    flex:0 0 24px;width:24px;height:24px;border-radius:8px;display:flex;
    align-items:center;justify-content:center;background:#087546;color:#fff;font-size:12px;font-weight:900
}
.paradise-parent-notification strong{display:block;font-size:12px;color:#26382f}
.paradise-parent-notification p{margin:3px 0 0;font-size:10px;line-height:1.45;color:#6f7c75}
.paradise-parent-notification small{display:block;margin-top:4px;font-size:8px;color:#89948e}

.paradise-parent-notifications-empty{
    display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:11px;
    background:#f7faf8;border:1px dashed #d8e3dc;
}
.paradise-parent-notifications-empty-icon{
    flex:0 0 25px;width:25px;height:25px;border-radius:50%;display:flex;
    align-items:center;justify-content:center;background:#e8f6ed;color:#087546;
    font-size:12px;font-weight:900;
}
.paradise-parent-notifications-empty strong{display:block;font-size:11px;color:#34443b}
.paradise-parent-notifications-empty p{margin:3px 0 0;font-size:9px;color:#78847e}

/* 1.5.647 — parent matches, aligned with dashboard cards */
.paradise-parent-matches-card{
    margin-top:12px;padding:18px;border-radius:15px;background:#fff;
    border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(0,0,0,.04)
}
.paradise-parent-matches-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px
}
.paradise-parent-matches-head h3{margin:4px 0 0;font-size:20px;color:#20362b}
.paradise-parent-matches-head>span:last-child{font-size:9px;color:#718078;font-weight:800}
.paradise-parent-matches-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-match-row{
    display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;
    padding:11px 12px;border-radius:11px;background:#f6faf7;
    border:1px solid transparent;text-decoration:none;color:inherit;transition:.15s ease
}
.paradise-parent-match-row:hover{border-color:#d8e8de;transform:translateY(-1px)}
.paradise-parent-match-date{
    width:46px;height:46px;border-radius:12px;background:#eaf6ef;
    display:flex;flex-direction:column;align-items:center;justify-content:center;color:#087546
}
.paradise-parent-match-date strong{font-size:17px;line-height:1}
.paradise-parent-match-date span{font-size:8px;font-weight:900;margin-top:3px;text-transform:uppercase}
.paradise-parent-match-info strong{display:block;font-size:12px;color:#26382f}
.paradise-parent-match-info span{display:block;margin-top:3px;font-size:9px;color:#718078}
.paradise-parent-match-info small{display:block;margin-top:3px;font-size:9px;color:#7c8982}
.paradise-parent-match-home{
    padding:5px 8px;border-radius:999px;background:#e9f5ee;color:#087546;
    font-size:8px;font-weight:900;white-space:nowrap
}
@media(max-width:767px){
    .paradise-parent-matches-card{padding:15px}
    .paradise-parent-match-row{grid-template-columns:46px minmax(0,1fr) auto;padding:9px}
    .paradise-parent-match-date{width:42px;height:42px}
    .paradise-parent-match-date strong{font-size:15px}
    .paradise-parent-match-info strong{font-size:11px}
    .paradise-parent-match-home{font-size:7px;padding:5px 6px}
}

/* 1.5.647 — parent dashboard uses the shared dashboard navigation styles. */
/* 1.5.647 — parent uses the same green header and notification treatment as player/trainer */
.paradise-parent-dashboard .paradise-dashboard-header{
    position:relative;
    overflow:hidden;
    min-height:178px;
    margin:0 0 18px;
    padding:0;
    border-radius:24px;
}
.paradise-parent-dashboard .paradise-dashboard-profile{
    min-height:178px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    gap:18px;
    padding:30px 34px;
}
.paradise-parent-dashboard .paradise-dashboard-greeting h2{color:#fff}
.paradise-parent-dashboard .paradise-dashboard-current-team{color:rgba(255,255,255,.78)}
@media(max-width:900px){
    .paradise-parent-dashboard .paradise-dashboard-header{min-height:154px}
    .paradise-parent-dashboard .paradise-dashboard-profile{min-height:154px;padding:20px 18px;padding-right:102px}
}

/* 1.5.647 — parent home cards mirror player/trainer dashboard */
.paradise-parent-home-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:0 0 18px;
}
.paradise-parent-home-cards .paradise-home-card{
    min-width:0;
}
.paradise-parent-home-cards .paradise-home-card-personal-stats{
    grid-column:1 / -1;
}
.paradise-parent-single-match{
    min-height:120px;
}
@media(max-width:900px){
    .paradise-parent-home-cards{grid-template-columns:1fr}
    .paradise-parent-home-cards .paradise-home-card-personal-stats{grid-column:auto}
}

@media(max-width:767px){.paradise-parent-home-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.paradise-parent-home-cards .paradise-home-card-personal-stats{grid-column:1/-1}}

/* 1.5.647 — parent navigation and content structure */
.paradise-parent-inline-child-picker{
    display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;
    background:#f6faf7;border:1px solid #e0eae4;border-radius:12px
}
.paradise-parent-inline-child-picker label{font-size:9px;font-weight:900;text-transform:uppercase;color:#738078}
.paradise-parent-inline-child-picker select{min-width:180px;border:0;background:transparent;font-size:12px;font-weight:800;color:#20362b;outline:0}
.paradise-parent-membership-card-link{display:inline-block;margin-top:10px;font-size:9px;font-weight:900;color:#087546;text-decoration:none}
.paradise-parent-section-heading{margin:0 0 14px}
.paradise-parent-section-heading h2{margin:4px 0 0;font-size:22px;color:#20362b}
.paradise-parent-matches-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-parent-matches-group{background:#fff;border:1px solid #dfe9e3;border-radius:15px;padding:16px}
.paradise-parent-matches-group-head{font-size:13px;color:#20362b;margin-bottom:10px}
.paradise-parent-match-list{display:flex;flex-direction:column;gap:7px}
.paradise-parent-match-list-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;border-radius:10px;background:#f6faf7;text-decoration:none;color:inherit}
.paradise-parent-match-list-date{font-size:10px;font-weight:900;color:#087546}
.paradise-parent-match-list-row strong{font-size:11px;color:#26382f}
.paradise-parent-match-list-row small{display:block;margin-top:3px;font-size:8px;color:#78847e}
.paradise-parent-match-score{white-space:nowrap}
.paradise-parent-match-result{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:900}
.paradise-parent-match-result.win{background:#e5f5eb;color:#087546}
.paradise-parent-match-result.loss{background:#faeaea;color:#a23b3b}
.paradise-parent-match-result.draw{background:#f1f2ee;color:#6f7772}
@media(max-width:767px){
 .paradise-parent-matches-columns{grid-template-columns:1fr}
 .paradise-parent-match-list-row{grid-template-columns:48px minmax(0,1fr) auto auto}
}

/* 1.5.647 — parent sections are shown only through navigation */
.paradise-parent-content-panel{display:none}
.paradise-parent-content-panel.is-active{display:block}
.paradise-parent-matches-panel{display:none}
.paradise-parent-content-panel .paradise-player-matches-content{margin-top:0}

/* 1.5.647 — parent "Iné" section */
#parent-panel-other .paradise-parent-request-card{
    max-width:760px;
}
#parent-panel-other .paradise-parent-section-heading{
    margin-bottom:16px;
}

/* 1.5.647 — public Paradise login */
.paradise-login-page{
    min-height:calc(100vh - 80px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px 20px;
    box-sizing:border-box;
    background:linear-gradient(180deg,#f4f8f5 0%,#ffffff 100%);
}
.paradise-login-card{
    width:min(100%,430px);
    padding:38px 38px 32px;
    box-sizing:border-box;
    border:1px solid #dce7e0;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 50px rgba(25,57,43,.10);
    text-align:center;
}
.paradise-login-logo img{display:block;width:86px;height:86px;object-fit:contain;margin:0 auto 14px}
.paradise-login-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;color:#087546}
.paradise-login-card h1{margin:7px 0 5px;font-size:30px;line-height:1.1;color:#20362b}
.paradise-login-intro{margin:0 0 24px;color:#7a8580;font-size:12px}
.paradise-login-form{text-align:left}
.paradise-login-form form{margin:0}
.paradise-login-form label{display:block;margin:0 0 7px;font-size:10px;font-weight:900;color:#405048}
.paradise-login-form input[type=text],
.paradise-login-form input[type=password]{
    width:100%;height:46px;padding:0 13px;box-sizing:border-box;border:1px solid #d8e3dd;border-radius:11px;
    background:#fbfdfc;font-size:13px;color:#20362b;outline:0;
}
.paradise-login-form input:focus{border-color:#0d7548;box-shadow:0 0 0 3px rgba(13,117,72,.10)}
.paradise-login-form .login-username,.paradise-login-form .login-password{margin:0 0 15px}
.paradise-login-form .login-remember{display:flex;align-items:center;gap:7px;margin:0 0 16px;font-size:10px;color:#69756f}
.paradise-login-form .login-remember input{margin:0}
.paradise-login-form .login-submit{margin:0}
.paradise-login-page .paradise-login-form input[type=submit],
.paradise-login-page .paradise-login-button{
    display:block !important;
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:11px !important;
    background:#087546 !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-align:center !important;
    text-indent:0 !important;
    text-decoration:none !important;
    line-height:46px !important;
    cursor:pointer !important;
    padding:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    box-shadow:none !important;
}
.paradise-login-page .paradise-login-form input[type=submit]:hover,
.paradise-login-page .paradise-login-form input[type=submit]:focus,
.paradise-login-page .paradise-login-form input[type=submit]:active,
.paradise-login-page .paradise-login-button:hover,
.paradise-login-page .paradise-login-button:focus,
.paradise-login-page .paradise-login-button:active{
    background:#075d39 !important;
    color:#fff !important;
    text-align:center !important;
    text-indent:0 !important;
}

.paradise-login-lost{display:block;margin:17px 0 0;font-size:10px;font-weight:800;color:#087546;text-decoration:none}
.paradise-login-register{margin-top:24px;padding-top:19px;border-top:1px solid #edf1ee;font-size:10px;color:#7b8580}
.paradise-login-register a{color:#087546;font-weight:900;text-decoration:none}
.paradise-login-error{margin:0 0 17px;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#a43f3f;font-size:10px;font-weight:800}
@media(max-width:520px){
    .paradise-login-page{padding:24px 14px}
    .paradise-login-card{padding:30px 22px 26px;border-radius:20px}
}

/* 1.5.647 — branded password recovery */
.paradise-login-logo-horizontal{width:auto!important;height:auto!important;margin:0 auto 18px!important}
.paradise-login-logo-horizontal img{width:auto!important;height:auto!important;max-width:250px!important;max-height:78px!important;object-fit:contain}
.paradise-forgot-form{text-align:left;margin-top:20px}
.paradise-forgot-form label{display:block;margin:0 0 7px;font-size:10px;font-weight:900;color:#405048}
.paradise-forgot-form input[type=email]{width:100%;height:46px;padding:0 13px;box-sizing:border-box;border:1px solid #d8e3dd;border-radius:11px;background:#fbfdfc;font-size:13px;color:#20362b;outline:0}
.paradise-forgot-form input[type=email]:focus{border-color:#0d7548;box-shadow:0 0 0 3px rgba(13,117,72,.10)}
.paradise-forgot-form button{width:100%;height:46px;margin-top:14px;border:0;border-radius:11px;background:#087546;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
.paradise-forgot-form button:hover{background:#075d39}
.paradise-login-success{margin:0 0 17px;padding:11px 12px;border-radius:10px;background:#eef8f2;color:#087546;font-size:10px;font-weight:800;line-height:1.5}

.paradise-forgot-form input[type=password]{
    width:100%;height:46px;padding:0 13px;box-sizing:border-box;border:1px solid #d8e3dd;
    border-radius:11px;background:#fbfdfc;font-size:13px;color:#20362b;outline:0;
}
.paradise-forgot-form input[type=password]:focus{border-color:#0d7548;box-shadow:0 0 0 3px rgba(13,117,72,.10)}

/* 1.5.647 — parent home fallback/child chooser */
.paradise-parent-empty-home{max-width:760px;padding:32px;border:1px solid #e2ebe5;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(25,57,43,.06)}
.paradise-parent-empty-home h2{margin:7px 0 8px}
.paradise-parent-empty-home p{color:#718078}
.paradise-parent-child-choice-list{display:grid;gap:10px;margin-top:18px}
.paradise-parent-child-choice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;border:1px solid #dce7e0;border-radius:13px;text-decoration:none;background:#fbfdfc;color:#20362b}
.paradise-parent-child-choice span{font-size:11px;color:#087546;font-weight:800}

/* 1.5.647 — dashboard logout */
.paradise-sidebar-user-info{min-width:0}
.paradise-dashboard-logout{
    display:inline-block;
    margin-top:5px;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    color:inherit;
    opacity:.72;
    text-decoration:none;
    transition:opacity .15s ease;
}
.paradise-dashboard-logout:hover{opacity:1;text-decoration:underline}
@media(max-width:700px){
    .paradise-dashboard-logout{font-size:9px;margin-top:4px}
}

/* 1.5.647 — informational manual notification */
.paradise-notification-icon-admin_message{background:#e8f1f8;color:#2d668c;font-size:17px;font-weight:800;line-height:1;}

/* 1.5.647 — training change warning icon */
.paradise-notification-icon-training_change,
.paradise-notification-icon-player_training_change,
.paradise-notification-icon-parent_training_change,
.paradise-notification-icon-training_cancelled,
.paradise-notification-icon-training_override{
    background:#fff0e6;
    color:#c75b16;
    font-size:16px;
    font-weight:900;
}

/* 1.5.647 — manual notification icon variants */
.paradise-notification-icon-admin_message_warning{background:#fff0e6;color:#c75b16;font-size:16px;font-weight:900;}
.paradise-notification-icon-admin_message_success{background:#e7f3ea;color:#2f7548;font-size:16px;font-weight:900;}
.paradise-notification-icon-admin_message_calendar{background:#e8f1f8;color:#2d668c;font-size:15px;}
.paradise-notification-icon-admin_message_payment{background:#fff4d9;color:#9b7417;font-size:15px;font-weight:900;}
.paradise-notification-icon-admin_message_star{background:#fff4d9;color:#9b7417;font-size:16px;font-weight:900;}
.paradise-notification-icon-admin_message_announcement{background:#f0eaf8;color:#73509a;font-size:15px;}

/* Registration desktop layout — clean two-column form with club logo */
.paradise-registration{
    width:min(920px,calc(100% - 32px));
    max-width:920px;
    margin:32px auto 48px;
}
.paradise-registration-header{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 22px;
    padding:0 6px;
}
.paradise-registration-logo{
    display:block;
    width:92px;
    height:92px;
    object-fit:contain;
    flex:0 0 92px;
}
.paradise-registration-header h1{
    margin:0;
    font-size:28px;
    line-height:1.15;
    font-weight:800;
}
.paradise-registration-header p{
    margin:6px 0 0;
    color:#6f7974;
    font-size:14px;
}
.paradise-registration-form{
    padding:28px;
    border-radius:20px;
}
.paradise-registration-account-type{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:20px;
}
.paradise-registration-section-label{
    grid-column:1/-1;
    margin-bottom:0;
    font-size:12px;
    font-weight:800;
}
.paradise-registration-type-option{
    min-height:72px;
    box-sizing:border-box;
    padding:13px 15px;
    border:1px solid #dfe6e2;
    border-radius:12px;
    background:#fff;
    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    gap:11px !important;
    cursor:pointer;
}
.paradise-registration-type-option input{
    width:18px !important;
    height:18px;
    flex:0 0 18px;
    margin:0;
}
.paradise-registration-type-option span{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.paradise-registration-type-option small{
    color:#78827d;
    font-size:11px;
    font-weight:400;
}
.paradise-registration-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
}
.paradise-registration-form label.full{
    grid-column:1/-1;
}
.paradise-registration-form button{
    max-width:none;
}
@media(max-width:600px){
    .paradise-registration{
        width:calc(100% - 24px);
        margin:20px auto 32px;
    }
    .paradise-registration-header{
        margin-bottom:16px;
    }
    .paradise-registration-logo{
        width:68px;
        height:68px;
        flex-basis:68px;
    }
    .paradise-registration-header h1{
        font-size:23px;
    }
    .paradise-registration-account-type{
        grid-template-columns:1fr;
    }
    .paradise-registration-form{
        padding:18px;
    }
}


/* Player Person photo */
.paradise-parent-child-photo{
    width:64px;
    height:64px;
    flex:0 0 64px;
    border-radius:50%;
    overflow:hidden;
    background:#f2f4f3;
}
.paradise-parent-child-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

/* Shared account profile */
.paradise-profile{width:min(860px,calc(100% - 32px));margin:32px auto 56px}
.paradise-profile h2{margin:0 0 22px}
.paradise-profile-header{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:18px;border-radius:18px;background:#fff;border:1px solid #e4e9e6}
.paradise-profile-header img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.paradise-profile-header h3{margin:0 0 4px}.paradise-profile-header p{margin:0;color:#6f7974}
.paradise-profile form,.paradise-profile-section{padding:22px;margin-top:18px;border-radius:18px;background:#fff;border:1px solid #e4e9e6}
.paradise-profile form p{margin:0 0 15px}
.paradise-profile input[type="text"],.paradise-profile input[type="email"],.paradise-profile input[type="password"]{width:100%;max-width:560px;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d7dfdb;border-radius:10px}
.paradise-profile input:disabled{background:#f3f5f4}.paradise-profile small{display:block;margin-top:5px;color:#7a837f}
.paradise-profile-section-heading h3{margin:0 0 4px}.paradise-profile-section-heading p{margin:0 0 16px;color:#6f7974}
.paradise-profile-message{padding:11px 14px;border-radius:10px;margin:14px 0}.paradise-profile-message-success{background:#eef8f1}.paradise-profile-message-error{background:#fff1f1}
.paradise-profile-submit{margin-top:4px}.paradise-passkey-card{padding:0!important;border:0!important;background:transparent!important}
@media(max-width:600px){.paradise-profile{width:calc(100% - 24px);margin:20px auto 36px}.paradise-profile-header{padding:16px}.paradise-profile-header img{width:72px;height:72px}.paradise-profile form,.paradise-profile-section{padding:16px}}


/* 1.5.647 — mobile account avatar menu: inside dashboard header */
.paradise-account-menu{display:none;position:absolute;z-index:10001;top:10px;right:10px;}
.paradise-account-button{width:42px;height:42px;padding:2px;border:0;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 3px 12px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.paradise-account-button img{display:block;width:36px;height:36px;border-radius:50%;object-fit:cover;}
.paradise-account-button:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.paradise-account-popover{position:fixed;top:70px;right:12px;width:min(300px,calc(100vw - 24px));background:#fff;border:1px solid #e4e9e6;border-radius:16px;box-shadow:0 18px 48px rgba(24,42,32,.20);overflow:hidden;z-index:10002;}
.paradise-account-popover[hidden]{display:none!important;}
.paradise-account-user{display:flex;align-items:center;gap:11px;padding:14px 16px;background:#f8faf8;border-bottom:1px solid #e7ece9;}
.paradise-account-user img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;}
.paradise-account-user strong,.paradise-account-user span{display:block;}
.paradise-account-user strong{font-size:14px;color:#26332c;line-height:1.2;}
.paradise-account-user span{margin-top:3px;font-size:11px;color:#6c7871;}
.paradise-account-links{display:flex;flex-direction:column;padding:6px 0;}
.paradise-account-links a{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 16px;color:#26332c;text-decoration:none;font-size:13px;font-weight:600;}
.paradise-account-links a:hover,.paradise-account-links a:focus{background:#f2f7f3;color:#2d6b45;outline:0;}
.paradise-account-links a:first-child{font-weight:700;}
.paradise-account-links a span{flex:1;}
.paradise-account-logout{border-top:1px solid #edf0ee;margin-top:5px;padding-top:5px!important;color:#a54848!important;}
/* 1.5.647 — compact account submenu and close after selection */
.paradise-account-popover{width:min(250px,calc(100vw - 24px));border-radius:14px;}
.paradise-account-user{gap:9px;padding:10px 13px;}
.paradise-account-user img{width:36px;height:36px;flex-basis:36px;}
.paradise-account-user strong{font-size:13px;}
.paradise-account-user span{font-size:10px;margin-top:2px;}
.paradise-account-links{padding:4px 0;}
.paradise-account-links a{gap:9px;min-height:38px;padding:0 13px;font-size:12px;}
.paradise-account-logout{margin-top:3px;padding-top:3px!important;}

/* 1.5.647 — mobile account icon matches the notification bell */
.paradise-account-button{
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
}
.paradise-account-icon{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    display:block;
    transition:transform .15s ease;
}
.paradise-account-button:hover .paradise-account-icon,
.paradise-account-button:focus-visible .paradise-account-icon{
    transform:scale(1.08);
}
@media(min-width:701px){
    .paradise-account-button{display:none;}
}

/* Dashboard profile panel layout. */
.paradise-dashboard-profile-panel .paradise-profile{width:100%;max-width:none;margin:0;}
.paradise-dashboard-profile-panel .paradise-profile h2{margin-top:0;}
.paradise-dashboard-profile-panel .paradise-profile-header,.paradise-dashboard-profile-panel .paradise-profile form,.paradise-dashboard-profile-panel .paradise-profile-section{box-sizing:border-box;}


/* 1.5.647 — stable registration fields inside the existing dashboard profile. */
.paradise-dashboard-profile-panel .paradise-profile-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:18px}
.paradise-dashboard-profile-panel .paradise-profile-field{margin:0 0 15px}
.paradise-dashboard-profile-panel .paradise-profile-field-full{grid-column:1/-1}
.paradise-dashboard-profile-panel .paradise-profile-field input,.paradise-dashboard-profile-panel .paradise-profile-field select,.paradise-dashboard-profile-panel .paradise-profile-field textarea{width:100%;max-width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d7dfdb;border-radius:10px;background:#fff;font:inherit}
.paradise-dashboard-profile-panel .paradise-profile-field textarea{min-height:78px;resize:vertical}
@media(max-width:600px){.paradise-dashboard-profile-panel .paradise-profile-registration-grid{grid-template-columns:1fr;gap:0}.paradise-dashboard-profile-panel .paradise-profile-field-full{grid-column:auto}}

/* 1.5.647 — Parent profile uses the same dashboard panel shell as player/trainer. */
.paradise-parent-dashboard #parent-panel-profile{
    width:100%;
    max-width:100%;
    margin:0;
    box-sizing:border-box;
}
.paradise-parent-dashboard #parent-panel-profile .paradise-profile{
    width:100%;
    max-width:none;
    margin:0;
    box-sizing:border-box;
}
.paradise-parent-dashboard #parent-panel-profile .paradise-profile-view{width:100%;box-sizing:border-box}
@media(max-width:600px){
    .paradise-parent-dashboard #parent-panel-profile .paradise-profile{margin:0;width:100%;}
}

/* 1.5.647 — keep all parent dashboard content panels inside one shared content shell. */
.paradise-parent-panels{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}
.paradise-parent-panels > .paradise-parent-content-panel{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* 1.5.647 — parent Môj profil uses the exact dashboard panel surface.
 * Parent navigation still controls visibility via .is-active, so only the
 * profile panel receives the shared panel shell; other parent panels remain unchanged.
 */


/* 1.5.647 — parent dashboard shell/profile visual parity only.
 * Keep the parent's existing panel/navigation logic intact; only align the
 * outer shell width and make Môj profil use the same panel surface as player/trainer.
 */
.paradise-parent-dashboard{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
}
.paradise-parent-dashboard .paradise-dashboard-main{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}
.paradise-parent-dashboard #parent-panel-profile{
    padding:22px !important;
    border:1px solid var(--paradise-border) !important;
    border-radius:var(--paradise-radius) !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(16,19,24,.06) !important;
    box-sizing:border-box !important;
}
.paradise-parent-dashboard #parent-panel-profile .paradise-profile{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
@media(max-width:700px){
    .paradise-parent-dashboard{
        width:100vw !important;
        max-width:none !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
    }
    .paradise-parent-dashboard .paradise-dashboard-main{
        width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }
    .paradise-parent-dashboard #parent-panel-profile{
        padding:16px !important;
    }
}

/* 1.5.647 — parent home upcoming training carousel */
.paradise-home-card-training .paradise-home-trainings-carousel{position:relative;overflow:hidden;min-width:0;}
.paradise-home-trainings-track{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;min-width:100%;transition:transform .28s ease;will-change:transform;}
.paradise-home-training-slide{flex:0 0 100%;width:100%;min-width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:108px;padding:4px 34px 2px;}
.paradise-home-training-nav{position:absolute;top:50%;z-index:3;width:30px;height:30px;margin-top:-15px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #dfe7e2;border-radius:50%;background:#fff;color:#315044;box-shadow:0 4px 12px rgba(20,55,40,.10);font:inherit;font-size:22px;line-height:1;cursor:pointer;}
.paradise-home-training-prev{left:4px}.paradise-home-training-next{right:4px}
.paradise-home-training-nav:hover{background:#f3f8f5;border-color:#bfd3c7}
.paradise-home-training-nav:disabled{opacity:.25;cursor:default}
.paradise-home-training-dots{display:flex;justify-content:center;gap:5px;margin-top:9px}
.paradise-home-training-dots i{width:5px;height:5px;border-radius:50%;background:#d7dfda}
.paradise-home-training-dots i.active{width:14px;border-radius:8px;background:var(--pc-green,#0d6b43)}
@media(max-width:900px){
 .paradise-home-trainings-carousel{touch-action:pan-y}
 .paradise-home-training-nav{width:28px;height:28px;margin-top:-14px}
 .paradise-home-training-slide{min-height:125px;padding-left:32px;padding-right:32px}
}


/* 1.5.647 — training time centered in unified training cards */
.paradise-home-training-meta .paradise-home-training-time{width:100%;justify-content:center;text-align:center;}


/* 1.5.647 — clean, consistent upcoming-training card layout across player, parent and trainer */
.paradise-home-card-training .paradise-home-trainings-carousel{
    width:100%;
    min-width:0;
}
.paradise-home-card-training .paradise-home-trainings-track{
    align-items:stretch;
}
.paradise-home-card-training .paradise-home-training-slide{
    position:relative;
    min-height:128px;
    padding:6px 46px 4px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.paradise-home-card-training .paradise-home-training-main{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.paradise-home-card-training .paradise-home-training-info{
    width:100%;
    min-width:0;
    text-align:center;
}
.paradise-home-card-training .paradise-home-training-info > strong{
    margin:0;
    font-size:18px !important;
    line-height:1.2 !important;
}
.paradise-home-card-training .paradise-home-training-day{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    margin:7px auto 0 !important;
}
.paradise-home-card-training .paradise-home-training-meta{
    width:100%;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    margin-top:10px !important;
}
.paradise-home-card-training .paradise-home-training-meta strong{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-align:center !important;
}
.paradise-home-card-training .paradise-home-training-time{
    order:1;
    font-size:21px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    color:#26332d !important;
}
.paradise-home-card-training .paradise-home-training-date{
    order:2;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    color:#7c8781 !important;
}
.paradise-home-card-training .paradise-home-training-nav{
    top:50%;
}
@media(max-width:767px){
    .paradise-home-card-training .paradise-home-training-slide{
        min-height:122px;
        padding-left:38px;
        padding-right:38px;
    }
    .paradise-home-card-training .paradise-home-training-info > strong{
        font-size:17px !important;
    }
    .paradise-home-card-training .paradise-home-training-time{
        font-size:20px !important;
    }
    .paradise-home-card-training .paradise-home-training-date{
        font-size:10px !important;
    }
}


/* 1.5.647 — refreshed membership home card */
.paradise-parent-home-cards .paradise-home-card-membership{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-parent-home-cards .paradise-home-card-membership:after{
    content:"";
    position:absolute;
    width:110px;
    height:110px;
    right:-48px;
    bottom:-55px;
    border-radius:50%;
    background:rgba(8,117,70,.055);
    pointer-events:none;
}
.paradise-home-membership-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    position:relative;
    z-index:1;
}
.paradise-home-membership-head .paradise-home-card-eyebrow{
    margin-bottom:12px !important;
}
.paradise-home-membership-mark{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e9f6ef;
    color:#087546;
    font-size:15px;
    font-weight:900;
}
.paradise-home-card-membership.is-unpaid .paradise-home-membership-mark{
    background:#fff3e8;
    color:#b56b1e;
}
.paradise-home-membership-status{
    display:flex;
    align-items:center;
    gap:8px;
    position:relative;
    z-index:1;
}
.paradise-home-membership-status strong{
    color:#17221c;
    font-size:20px;
    line-height:1.15;
}
.paradise-home-membership-validity{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-top:6px;
    position:relative;
    z-index:1;
}
.paradise-home-membership-validity strong{
    color:#26332d;
    font-size:11px;
    line-height:1.25;
}
.paradise-home-membership-validity small{
    color:#7c8781;
    font-size:10px;
    line-height:1.2;
}
.paradise-parent-membership-card-link{
    position:relative;
    z-index:1;
    margin-top:auto !important;
    padding-top:12px;
    font-size:10px !important;
}
@media(max-width:767px){
    .paradise-home-membership-status strong{font-size:17px}
    .paradise-home-membership-mark{width:25px;height:25px;flex-basis:25px;font-size:13px}
}

/* 1.5.647 — unified membership card presentation across player, parent and trainer */
.paradise-membership-card-unified{
    position:relative;
    overflow:hidden;
    box-sizing:border-box;
}
.paradise-membership-card-unified:after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-52px;
    bottom:-60px;
    border-radius:50%;
    background:rgba(8,117,70,.055);
    pointer-events:none;
}
.paradise-membership-card-unified.is-paid,
.paradise-membership-card-unified:has(.membership-green){
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-membership-card-unified.is-unpaid,
.paradise-membership-card-unified:has(.membership-orange),
.paradise-membership-card-unified:has(.membership-red){
    background:linear-gradient(145deg,#ffffff 0%,#fffaf5 100%);
}
/* Player */
.member-credit-card.paradise-membership-card-unified{
    min-height:140px;
}
.member-credit-card.paradise-membership-card-unified > strong,
.member-credit-card.paradise-membership-card-unified > .membership-status,
.member-credit-card.paradise-membership-card-unified > .credit-topup-toggle{
    position:relative;
    z-index:1;
}
.member-credit-card.paradise-membership-card-unified > strong:first-child{
    color:#17221c;
}
.member-credit-card.paradise-membership-card-unified .membership-status{
    font-size:18px;
    font-weight:700;
}
.member-credit-card.paradise-membership-card-unified .credit-topup-toggle{
    color:#087546;
    font-weight:700;
}
/* Parent */
.paradise-home-card-membership.paradise-membership-card-unified{
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid{
    background:linear-gradient(145deg,#ffffff 0%,#fffaf5 100%);
}
/* Trainer */
.paradise-trainer-player-membership.paradise-membership-card-unified{
    position:relative;
    margin:15px 0;
    padding:13px 14px;
    border:1px solid #e1e9e4;
    box-shadow:0 5px 16px rgba(0,0,0,.025);
}
.paradise-trainer-player-membership.paradise-membership-card-unified.is-paid{
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%);
}
.paradise-trainer-player-membership.paradise-membership-card-unified.is-unpaid{
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%);
}
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified,
    .paradise-home-card-membership.paradise-membership-card-unified{
        min-height:118px;
    }
}

/* 1.5.647 — force the same visual treatment on the actual player/trainer markup */
.member-credit-card.paradise-membership-card-unified,
.paradise-home-card-membership.paradise-membership-card-unified,
.paradise-trainer-player-membership.paradise-membership-card-unified {
    border:1px solid #e1e9e4 !important;
    border-radius:16px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.member-credit-card.paradise-membership-card-unified.is-unpaid,
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid,
.paradise-trainer-player-membership.paradise-membership-card-unified.is-unpaid {
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.member-credit-card.paradise-membership-card-unified {
    padding:18px !important;
}
.member-credit-card.paradise-membership-card-unified > strong:first-child {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin-bottom:12px !important;
}
.member-credit-card.paradise-membership-card-unified .membership-status {
    display:block !important;
    margin-bottom:8px !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified {
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified > div {
    position:relative;
    z-index:1;
}
.paradise-trainer-player-membership.paradise-membership-card-unified small {
    display:block !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    color:#6b756f !important;
    margin-bottom:3px !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified strong {
    display:block !important;
    font-size:15px !important;
    color:#17221c !important;
}
.paradise-trainer-player-membership.paradise-membership-card-unified span:not(.membership-status-dot) {
    display:block !important;
    color:#68736d !important;
    font-size:13px !important;
}

/* 1.5.647 — player membership card matches the parent card presentation */
.member-credit-card.paradise-membership-card-unified {
    min-height: 140px !important;
    padding: 18px !important;
    border: 1px solid #e1e9e4 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.035) !important;
    box-sizing: border-box !important;
    background: linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange,
.member-credit-card.paradise-membership-card-unified.membership-red {
    background: linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.player-membership-head {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    position:relative !important;
    z-index:2 !important;
}
.player-membership-title {
    font-size:16px !important;
    font-weight:700 !important;
    color:#17221c !important;
}
.player-membership-body {
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:2 !important;
}
.member-credit-card.paradise-membership-card-unified .membership-status {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    background:rgba(46,157,77,.10) !important;
    color:#248341 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:center !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange .membership-status,
.member-credit-card.paradise-membership-card-unified.membership-red .membership-status {
    background:rgba(216,137,0,.11) !important;
    color:#b66f00 !important;
}
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified {
        min-height:118px !important;
        padding:16px !important;
    }
    .player-membership-body { min-height:58px !important; }
    .member-credit-card.paradise-membership-card-unified .membership-status { font-size:15px !important; }
}


/* 1.5.647 — player membership card cache-busted and explicitly aligned */
.member-credit-card.paradise-membership-card-unified {
    width:100% !important;
    min-height:140px !important;
    padding:18px !important;
    border:1px solid #e1e9e4 !important;
    border-radius:16px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
    box-sizing:border-box !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange,
.member-credit-card.paradise-membership-card-unified.membership-red {
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-head {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    margin:0 0 10px !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-title {
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    color:#17221c !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-body {
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.member-credit-card.paradise-membership-card-unified .membership-status {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    background:rgba(46,157,77,.10) !important;
    color:#248341 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:center !important;
}
.member-credit-card.paradise-membership-card-unified.membership-orange .membership-status,
.member-credit-card.paradise-membership-card-unified.membership-red .membership-status {
    background:rgba(216,137,0,.11) !important;
    color:#b66f00 !important;
}
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified {
        min-height:118px !important;
        padding:16px !important;
    }
    .member-credit-card.paradise-membership-card-unified .player-membership-body {
        min-height:58px !important;
    }
    .member-credit-card.paradise-membership-card-unified .membership-status {
        font-size:15px !important;
    }
}

/* 1.5.647 — player membership card uses the same content hierarchy as parent */
.member-credit-card.paradise-membership-card-unified {
    min-height: 160px !important;
    padding: 18px !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-head {
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    margin:0 0 12px !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-status-row {
    display:flex !important; align-items:center !important; gap:8px !important;
    position:relative; z-index:2;
}
.member-credit-card.paradise-membership-card-unified .player-membership-status-row strong {
    font-size:18px !important; color:#17221c !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-validity {
    display:flex !important; flex-direction:column !important; gap:2px !important;
    margin-top:7px !important; position:relative; z-index:2;
}
.member-credit-card.paradise-membership-card-unified .player-membership-validity strong {
    display:block !important; font-size:13px !important; color:#36443c !important;
}
.member-credit-card.paradise-membership-card-unified .player-membership-validity small {
    display:block !important; font-size:11px !important; color:#758079 !important;
}
.member-credit-card.paradise-membership-card-unified.is-paid .paradise-status-dot { background:#2e9d4d !important; }
.member-credit-card.paradise-membership-card-unified.is-expiring .paradise-status-dot { background:#d88900 !important; }
.member-credit-card.paradise-membership-card-unified.is-unpaid .paradise-status-dot { background:#d32f2f !important; }
@media(max-width:700px){
    .member-credit-card.paradise-membership-card-unified { min-height:145px !important; padding:16px !important; }
    .member-credit-card.paradise-membership-card-unified .player-membership-status-row strong { font-size:16px !important; }
}


/* 1.5.647 — player home membership card uses the same presentation as parent */
.paradise-home-card-membership.paradise-membership-card-unified{
    position:relative !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    padding:18px !important;
    border:1px solid #e1e9e4 !important;
    border-radius:16px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    background:linear-gradient(145deg,#ffffff 0%,#f7fbf8 100%) !important;
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid{
    background:linear-gradient(145deg,#ffffff 0%,#fff8f5 100%) !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 0 12px !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-card-eyebrow{
    margin:0 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    color:#087546 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid .paradise-home-card-eyebrow{color:#9b641f !important;}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-mark{
    width:28px !important; height:28px !important; flex:0 0 28px !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    border-radius:50% !important; background:#e9f6ef !important; color:#087546 !important;
    font-size:15px !important; font-weight:900 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified.is-unpaid .paradise-home-membership-mark{
    background:#fff3e8 !important; color:#b56b1e !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-status{
    display:flex !important; align-items:center !important; gap:8px !important;
    margin:0 !important; position:relative !important; z-index:1 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-status strong{
    margin:0 !important; color:#17221c !important; font-size:20px !important;
    line-height:1.15 !important; font-weight:700 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-validity{
    display:flex !important; flex-direction:column !important; gap:3px !important;
    margin-top:7px !important; position:relative !important; z-index:1 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-validity strong{
    color:#26332d !important; font-size:12px !important; line-height:1.25 !important;
}
.paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-validity small{
    color:#7c8781 !important; font-size:10px !important; line-height:1.2 !important;
}
@media(max-width:767px){
    .paradise-home-card-membership.paradise-membership-card-unified{padding:16px !important;}
    .paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-status strong{font-size:18px !important;}
    .paradise-home-card-membership.paradise-membership-card-unified .paradise-home-membership-mark{width:25px !important;height:25px !important;flex-basis:25px !important;font-size:13px !important;}
}

/* 1.5.647 — exact shared heading style for upcoming training and match cards */
.paradise-home-card-section-title{
    display:block !important;
    align-self:flex-start !important;
    width:100% !important;
    margin:0 0 14px !important;
    color:#087546 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
    text-align:left !important;
}
.paradise-home-card-training .paradise-home-card-section-title,
.paradise-home-card-match .paradise-home-card-section-title{
    flex:0 0 auto !important;
}
@media(max-width:767px){
    .paradise-home-card-section-title{
        font-size:13px !important;
        margin-bottom:12px !important;
    }
}

/* 1.5.647 — exact heading size for player home “Moje štatistiky” */
.paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span.paradise-home-card-eyebrow,
.paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span{
    display:block !important;
    margin:0 !important;
    color:#087546 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
}
@media(max-width:767px){
    .paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span.paradise-home-card-eyebrow,
    .paradise-home-card-personal-stats .paradise-home-personal-stats-head > div > span{
        font-size:14px !important;
        line-height:1.2 !important;
        letter-spacing:.03em !important;
    }
}

/* 1.5.647 — dashboard top alignment: remove theme/content top gap.
 * Keep the dashboard itself unchanged; only pull the plugin shell to the top
 * so player, parent and trainer start at the same vertical position.
 */
.paradise-dashboard,
.paradise-player-dashboard {
    margin-top: -24px !important;
}
@media (max-width:700px){
    .paradise-dashboard,
    .paradise-player-dashboard {
        margin-top: -12px !important;
    }
}


/* 1.5.647 — shared dashboard top alignment without overflowing the page.
 * Use the previously safe shell offset for all three dashboards.
 */
.paradise-dashboard,
.paradise-player-dashboard {
    margin-top: -24px !important;
}
@media (max-width:700px) {
    .paradise-dashboard,
    .paradise-player-dashboard {
        margin-top: -12px !important;
    }
}


/* Sport Leagues standings: full layout on desktop, mini layout on mobile. */
.paradise-standing-mobile{display:none;}
@media(max-width:768px){
    .paradise-standing-desktop{display:none;}
    .paradise-standing-mobile{display:block;}
}

/* 1.5.647 — player Team submenu: Program / Tabuľka / Štatistiky */
.paradise-sidebar-nav-group{display:grid;gap:3px}
.paradise-sidebar-nav-group-toggle{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:47px;
    padding:0 13px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:#66716b;
    font:inherit;
    font-size:13px;
    font-weight:700;
    text-align:left;
    cursor:pointer;
    transition:.18s ease;
}
.paradise-sidebar-nav-group-toggle:hover,
.paradise-sidebar-nav-group.is-open .paradise-sidebar-nav-group-toggle,
.paradise-sidebar-nav-group.is-active .paradise-sidebar-nav-group-toggle{
    color:var(--pc-green);
    background:#f4f8f5;
}
.paradise-sidebar-nav-chevron{margin-left:auto;font-size:13px;line-height:1;transition:transform .18s ease}
.paradise-sidebar-nav-group.is-open .paradise-sidebar-nav-chevron{transform:rotate(180deg)}
.paradise-sidebar-nav-submenu{display:grid;gap:3px}
.paradise-sidebar-nav-submenu[hidden]{display:none}
.paradise-sidebar-nav-submenu a{min-height:40px;padding-left:28px;font-size:12px}
.paradise-sidebar-nav-submenu a .paradise-nav-icon{font-size:15px}
.paradise-sidebar-nav-group.is-active .paradise-sidebar-nav-group-toggle{color:#fff;background:linear-gradient(135deg,var(--pc-green),#0a5b39);box-shadow:0 8px 20px rgba(13,107,67,.20)}
.paradise-player-standing-content{background:transparent;border:0;border-radius:0;padding:0;overflow:auto}


/* Trainer team total statistics */
.paradise-trainer-team-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;}
.paradise-trainer-team-summary-card{padding:18px;border:1px solid rgba(30,40,35,.08);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:7px;}
.paradise-trainer-team-summary-card span{font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.65;}
.paradise-trainer-team-summary-card strong{font-size:28px;line-height:1.1;}
@media(max-width:700px){.paradise-trainer-team-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* 1.5.647 — trainer tasks panel */
.paradise-trainer-task-list{display:grid;gap:12px;}
.paradise-trainer-task-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e1e6e2;border-radius:12px;background:#fff;}
.paradise-trainer-task-card-main strong{display:block;font-size:16px;}
.paradise-trainer-task-card-main p{margin:7px 0;color:#4b554f;}
.paradise-trainer-task-card-main small{color:#68736d;}
.paradise-trainer-task-card-action{flex:0 0 auto;}
.paradise-trainer-task-completed{color:#2d7d46;white-space:nowrap;}
@media (max-width:700px){.paradise-trainer-task-card{flex-direction:column;}.paradise-trainer-task-card-action{width:100%;}.paradise-trainer-task-card-action .button{width:100%;}}

/* 1.5.647 — registration consents span the full form grid width */
.paradise-registration-form .paradise-registration-consents.full{
    grid-column:1/-1 !important;
    width:100% !important;
    min-width:0 !important;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
}
@media(max-width:700px){
    .paradise-registration-form .paradise-registration-consents.full{
        grid-column:1/-1 !important;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent{
        display:flex !important;
        flex-direction:row !important;
        align-items:flex-start !important;
        width:100% !important;
        max-width:100% !important;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent-link{
        flex:1 1 0 !important;
        min-width:0 !important;
        width:auto !important;
        max-width:none !important;
        white-space:normal !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
    }
}

/* 1.5.647 — registration password fields stay together; consent text uses full mobile width */
.paradise-registration-password-row{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
    width:100%;
}
.paradise-registration-password-row label{
    min-width:0;
}
.paradise-registration-form .paradise-registration-consents .paradise-consent-link{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
}
@media(max-width:600px){
    .paradise-registration-password-row{
        grid-template-columns:1fr;
        gap:14px;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent{
        width:100% !important;
        box-sizing:border-box !important;
    }
    .paradise-registration-form .paradise-registration-consents .paradise-consent-link{
        flex:1 1 0 !important;
        min-width:0 !important;
        width:auto !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
}

/* 1.5.647 — parent child selector moved into the shared dashboard header next to the profile switch. */
.paradise-parent-header-actions{
    position:absolute !important;
    right:18px !important;
    bottom:14px !important;
    z-index:101 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}
.paradise-parent-header-actions .paradise-dashboard-profile-status{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    flex:0 0 auto !important;
}
.paradise-parent-header-child-picker{
    position:relative !important;
    min-width:190px !important;
    height:38px !important;
    padding:0 34px 0 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
}
.paradise-parent-header-child-picker label{
    flex:0 0 auto !important;
    margin:0 !important;
    color:rgba(255,255,255,.72) !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
}
.paradise-parent-header-child-picker select{
    min-width:0 !important;
    width:100% !important;
    height:36px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:#fff !important;
    font:inherit !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
}
.paradise-parent-header-child-picker select option{
    color:#20362b !important;
    background:#fff !important;
}
.paradise-parent-header-child-chevron{
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-58%) !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1 !important;
    pointer-events:none !important;
}
@media(max-width:700px){
    .paradise-parent-header-actions{
        right:10px !important;
        bottom:10px !important;
        gap:7px !important;
        max-width:calc(100% - 20px) !important;
    }
    .paradise-parent-header-child-picker{
        min-width:0 !important;
        width:min(185px, calc(100vw - 92px)) !important;
        height:36px !important;
        padding:0 29px 0 10px !important;
        gap:8px !important;
        border-radius:10px !important;
    }
    .paradise-parent-header-child-picker label{font-size:8px !important}
    .paradise-parent-header-child-picker select{height:36px !important;font-size:10px !important}
    .paradise-parent-header-child-chevron{right:10px !important;font-size:16px !important}
}

/* 1.5.647 — entire parent child picker is clickable; preserve active panel when switching child. */
.paradise-parent-header-child-picker{cursor:pointer !important;}
.paradise-parent-header-child-picker label,.paradise-parent-header-child-chevron{cursor:pointer !important;}

/* 1.5.647 — parent Paradise Points */
.paradise-parent-points-panel .paradise-points-balance{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 18px rgba(0,0,0,.05)}
.paradise-parent-points-history{margin:18px 0 28px}
.paradise-parent-points-history-list{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden}
.paradise-parent-points-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06)}
.paradise-parent-points-history-row:last-child{border-bottom:0}
.paradise-parent-points-history-row small{display:block;margin-top:4px;opacity:.65}
.paradise-parent-points-history-row .is-positive{color:#15803d}.paradise-parent-points-history-row .is-negative{color:#b91c1c}

/* 1.5.647 — parent child-dependent panels can explain the required child context. */
.paradise-parent-child-required-panel .paradise-parent-section-heading{max-width:720px;}
.paradise-parent-child-required-panel .paradise-parent-child-choice{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;}


/* 1.5.647 — parent PP uses the same quick-switch UI as player/trainer dashboards. */
#paradise-parent-pp-catalog-toggle:checked ~ .paradise-pp-catalog-content{display:block;}
#paradise-parent-pp-history-toggle:checked ~ .paradise-pp-history-content{display:block;}
.paradise-parent-points-panel .paradise-panel-quick{margin-top:4px;}
.paradise-parent-points-panel .paradise-points-balance{margin:18px 0;}
.paradise-parent-points-panel .paradise-point-history{display:grid;gap:0;background:#fff;border:1px solid #e8ebee;border-radius:14px;overflow:hidden;}
.paradise-parent-points-panel .paradise-point-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eef1ef;}
.paradise-parent-points-panel .paradise-point-row:last-child{border-bottom:0;}
.paradise-parent-points-panel .paradise-point-row small{display:block;margin-top:3px;color:#7b8580;font-size:9px;}
.paradise-parent-points-panel .paradise-point-row .positive{color:#15803d;}
.paradise-parent-points-panel .paradise-point-row .negative{color:#b91c1c;}


/* 1.5.647 — player refresh: prevent the server-rendered Home panel from
   flashing before paradise-dashboard.js restores ?paradise_view=. */
#paradise-dashboard-top.paradise-dashboard-preload .paradise-home-overview,
#paradise-dashboard-top.paradise-dashboard-preload .paradise-home-articles,
#paradise-dashboard-top.paradise-dashboard-preload .paradise-dashboard-legacy-tasks,
#paradise-dashboard-top.paradise-dashboard-preload .paradise-dashboard-panel{
    display:none !important;
}
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-matches #paradise-panel-matches,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-standing #paradise-panel-standing,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-player-stats #paradise-panel-player-stats,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-tasks #paradise-panel-tasks,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-testing #paradise-panel-testing,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-membership #paradise-panel-membership,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-points #paradise-panel-points,
#paradise-dashboard-top.paradise-dashboard-preload.paradise-dashboard-preload-profile #paradise-panel-profile{
    display:block !important;
}


#parent-dashboard.paradise-dashboard-preload .paradise-parent-content-panel,
.paradise-parent-dashboard.paradise-dashboard-preload .paradise-parent-content-panel,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-dashboard-panel,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-home-overview,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-home-articles,
.paradise-trainer-dashboard.paradise-dashboard-preload .paradise-dashboard-legacy-tasks{
    display:none !important;
}
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-matches #parent-panel-matches,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-standing #parent-panel-standing,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-player-stats #parent-panel-player-stats,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-payments #parent-panel-payments,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-points #parent-panel-points,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-other #parent-panel-other,
.paradise-parent-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-profile #parent-panel-profile,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-statistics #trainer-panel-statistics,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-standing #trainer-panel-standing,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-matches #trainer-panel-matches,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-attendance #trainer-panel-attendance,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-tasks #trainer-panel-tasks,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-testing #trainer-panel-testing,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-players #trainer-panel-players,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-points #trainer-panel-points,
.paradise-trainer-dashboard.paradise-dashboard-preload.paradise-dashboard-preload-profile #trainer-panel-profile{
    display:block !important;
}

/* 1.5.647 — tablet / landscape navigation refinement across all dashboards */
@media (min-width: 768px) and (max-width: 1100px) and (pointer: coarse) {
    .paradise-mobile-nav {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
        transform: translateX(-50%) !important;
        width: min(760px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        min-height: 70px !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: 4px !important;
        padding: 7px !important;
        box-sizing: border-box !important;
        border-radius: 20px !important;
        z-index: 10000 !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav > .paradise-mobile-nav-training,
    .paradise-mobile-nav > .paradise-mobile-nav-matches {
        min-width: 0 !important;
        width: 100% !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    /* Keep grouped navigation items visible on tablets. Older mobile rules
       hide these wrappers by default, which otherwise removes Tím entirely
       in landscape mode. */
    .paradise-mobile-nav > .paradise-mobile-nav-matches,
    .paradise-mobile-nav > .paradise-mobile-nav-training {
        display: block !important;
    }

    .paradise-mobile-nav > a,
    .paradise-mobile-nav-training > .paradise-mobile-nav-training-toggle,
    .paradise-mobile-nav-matches > .paradise-mobile-nav-matches-toggle {
        min-height: 56px !important;
        width: 100% !important;
        padding: 7px 5px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: transparent !important;
        color: inherit !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .paradise-mobile-nav-icon {
        width: 28px !important;
        height: 25px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .paradise-mobile-nav > a > span:not(.paradise-mobile-nav-icon),
    .paradise-mobile-nav-training-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron),
    .paradise-mobile-nav-matches-toggle > span:not(.paradise-mobile-nav-icon):not(.paradise-mobile-nav-chevron) {
        display: block !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    .paradise-mobile-nav-training-toggle .paradise-mobile-nav-chevron,
    .paradise-mobile-nav-matches-toggle .paradise-mobile-nav-chevron {
        position: absolute !important;
        top: 5px !important;
        right: 7px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        opacity: .55 !important;
    }

    .paradise-mobile-nav-training.is-open .paradise-mobile-nav-chevron,
    .paradise-mobile-nav-matches.is-open .paradise-mobile-nav-chevron {
        transform: rotate(180deg) !important;
    }

    .paradise-mobile-nav > a.is-active,
    .paradise-mobile-nav > a.active,
    .paradise-mobile-nav-training-toggle[aria-expanded="true"],
    .paradise-mobile-nav-matches-toggle[aria-expanded="true"] {
        background: var(--pc-green-soft, #e8f3ec) !important;
        color: var(--pc-green, #17633f) !important;
    }

    .paradise-mobile-training-menu,
    .paradise-mobile-matches-menu {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        bottom: calc(100% + 8px) !important;
        transform: translateX(-50%) !important;
        width: max-content !important;
        min-width: 150px !important;
        max-width: min(260px, calc(100vw - 24px)) !important;
        padding: 6px !important;
        box-sizing: border-box !important;
        border-radius: 14px !important;
        background: var(--paradise-card, #fff) !important;
        border: 1px solid rgba(0,0,0,.08) !important;
        box-shadow: 0 10px 28px rgba(19,39,29,.18) !important;
        z-index: 10010 !important;
    }

    .paradise-mobile-training-menu[hidden],
    .paradise-mobile-matches-menu[hidden] {
        display: none !important;
    }

    .paradise-mobile-training-menu a,
    .paradise-mobile-matches-menu a {
        min-height: 40px !important;
        padding: 8px 11px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border-radius: 9px !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    .paradise-mobile-sub-icon {
        width: 21px !important;
        height: 21px !important;
        flex: 0 0 21px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }

    .paradise-dashboard-main {
        padding-bottom: 105px !important;
    }

    /* Landscape phones and compact tablets still need the account/profile
       control in the header. A later legacy rule hides it above 700px. */
    header.paradise-dashboard-header .paradise-account-menu {
        display: block !important;
        position: absolute !important;
        top: 14px !important;
        right: 68px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 10001 !important;
    }
    header.paradise-dashboard-header .paradise-account-menu-with-notifications {
        right: 68px !important;
    }
    header.paradise-dashboard-header .paradise-account-button {
        display: flex !important;
        width: 42px !important;
        height: 42px !important;
    }
}

/* 1.5.647 — Push notification controls in Môj profil → Bezpečnosť. */
.paradise-push-status-row{display:flex;align-items:center;margin:4px 0 14px}
.paradise-push-status{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:10px;background:#f3f7f4;color:#53635a;font-size:13px;font-weight:700}
.paradise-push-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.paradise-push-actions .button{margin:0;min-height:42px}
.paradise-push-settings .paradise-profile-message{margin-bottom:0}
@media(max-width:600px){.paradise-push-actions{flex-direction:column;align-items:stretch}.paradise-push-actions .button{width:100%}}

/* Match-result notifications use the opponent's team crest instead of the generic icon. */
.paradise-notification-team-logo{
    overflow:hidden;
    padding:0;
    background:#fff;
    border:1px solid #e3e8e4;
}
.paradise-notification-team-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}


/* Dashboard Builder runtime layout hooks. */
.paradise-dashboard-builder-active [data-builder-width="half"]{width:calc(50% - 8px);max-width:calc(50% - 8px);}
.paradise-dashboard-builder-active [data-builder-width="full"]{width:100%;max-width:100%;}
@media(max-width:900px){.paradise-dashboard-builder-active [data-builder-width="half"]{width:100%;max-width:100%;}}

/* Playbook library */
.playbook-library-subtitle{margin:4px 0 0;opacity:.7}
.playbook-description{font-size:14px;line-height:1.5}
.playbook-instructions{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:9px;background:#f5f5f5;font-size:14px}
.paradise-task-modal-playbook{margin:14px 0}
.paradise-task-modal-playbook-progress{font-weight:700;margin-bottom:10px}
.paradise-task-playbook-exercise{border:1px solid #e2e2e2;border-radius:12px;padding:12px;margin-bottom:12px;background:#fff}
.paradise-task-playbook-heading{margin-bottom:6px}
.paradise-task-playbook-instructions{font-size:14px;margin-bottom:10px}
.paradise-task-playbook-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:8px}
.paradise-task-playbook-status{font-size:13px;font-weight:600;margin-top:7px}
.paradise-task-submit-button:disabled{opacity:.5;cursor:not-allowed}

.paradise-task-playbook-description{font-size:14px;line-height:1.5;margin-bottom:8px;opacity:.9}

/* 1.5.666 — Playbook: main category + modal subcategory filtering */
.playbook-main-filters{display:flex;gap:8px;margin-bottom:16px}
.playbook-main-filter{flex:1;border:1px solid #cfd6df;background:#eef2f6;color:#25313d;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:700;min-height:46px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.playbook-main-filter:hover{background:#e2e8ee}
.playbook-main-filter.active{background:#0e73bc;color:#fff;border-color:#0e73bc}
.playbook-main-filter:focus-visible{outline:2px solid #0e73bc;outline-offset:2px}
.playbook-category-trigger{color:#25313d}
.playbook-category-trigger:hover{background:#f4f6f8}
.playbook-category-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9dde3;background:#fff;border-radius:10px;padding:11px 12px;cursor:pointer;font-size:15px;text-align:left}
.playbook-category-trigger-value{font-weight:700}
.playbook-category-modal[hidden],.playbook-category-options[hidden]{display:none}
.playbook-category-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.playbook-category-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.playbook-category-modal-dialog{position:relative;width:min(420px,100%);max-height:min(80vh,600px);overflow:auto;background:#fff;border-radius:14px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.playbook-category-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.playbook-category-modal-dialog h3{margin:0 36px 18px 0}
.playbook-category-option{display:flex;align-items:center;gap:10px;padding:11px 4px;cursor:pointer;border-bottom:1px solid #eee}
.playbook-category-option:hover,.playbook-category-option:focus-within{color:#25313d !important;background:#f4f6f8 !important}
.playbook-category-option:hover span,.playbook-category-option:focus-within span,.playbook-category-option:hover label,.playbook-category-option:focus-within label{color:#25313d !important}
.playbook-category-option input + span{color:#25313d !important}
.playbook-category-option:last-child{border-bottom:0}
.playbook-category-option input{margin:0}
@media(max-width:768px){.playbook-main-filters{display:grid;grid-template-columns:1fr 1fr}.playbook-category-modal{padding:12px}.playbook-category-modal-dialog{max-height:85vh;padding:20px}}


/* 1.5.670 — Playbook desktop video grid */
@media (min-width: 1200px) {
    .paradise-playbook .playbook-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .paradise-playbook .playbook-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .paradise-playbook .playbook-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* 1.5.672 — Playbook cards on all screen sizes + filter hover */
.playbook-main-filter:hover{color:#25313d !important;background:#e2e8ee !important}
.playbook-main-filter.active:hover{color:#fff !important;background:#0e73bc !important;border-color:#0e73bc !important}
.playbook-category-trigger:hover,.playbook-category-trigger:focus{color:#25313d !important;background:#f4f6f8 !important}
.playbook-category-trigger:hover *,.playbook-category-trigger:focus *{color:#25313d !important}

.paradise-playbook .playbook-grid .playbook-card{
    background:#fff;
    border:1px solid #e1e5ea;
    border-radius:16px;
    padding:12px;
    box-shadow:0 4px 14px rgba(31,41,55,.08);
    overflow:hidden;
}
.paradise-playbook .playbook-video{
    border-radius:11px;
    overflow:hidden;
}
.paradise-playbook .playbook-video-frame{
    display:block;
    border-radius:11px;
}
.paradise-playbook .playbook-instructions{
    background:#f1f3f5;
    border-radius:10px;
    padding:10px 12px;
    margin-top:0;
}


/* 1.5.673 — Parent tasks */
.paradise-parent-task-list{display:grid;gap:12px}
.paradise-parent-task-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--paradise-border);border-radius:14px;background:#fafbfc}
.paradise-parent-task-main{min-width:0;flex:1}
.paradise-parent-task-main>strong{display:block;font-size:16px;color:#101318}
.paradise-parent-task-main p{margin:6px 0;color:var(--paradise-muted);line-height:1.5}
.paradise-parent-task-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--paradise-muted)}
.paradise-parent-task-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.paradise-parent-task-actions form{margin:0}
.paradise-parent-task-actions button{border:1px solid var(--paradise-border);border-radius:10px;padding:9px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.paradise-parent-task-complete{background:var(--paradise-green-dark);color:#fff;border-color:var(--paradise-green-dark)!important}
.paradise-parent-task-remind{background:#f1f3f5;color:#20252b}
.paradise-parent-task-actions button:hover{filter:brightness(.97)}
.paradise-parent-task-empty{padding:20px;border:1px dashed var(--paradise-border);border-radius:14px;background:#fafbfc;color:var(--paradise-muted);text-align:center}
.paradise-parent-completed-tasks{margin-top:22px}
.paradise-parent-completed-tasks h4{margin:0 0 10px}
.paradise-parent-completed-task{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--paradise-border);font-size:14px}
.paradise-parent-task-notice{margin:0 0 14px;padding:11px 14px;border-radius:10px;font-size:13px}
.paradise-parent-task-notice.is-success{background:#eef8f2;color:#17633e}
.paradise-parent-task-notice.is-error{background:#fff1f1;color:#9a2d2d}
@media(max-width:700px){.paradise-parent-task-card{display:block}.paradise-parent-task-actions{margin-top:14px;justify-content:flex-start}.paradise-parent-task-actions button{width:100%}}

/* 1.5.675 — Parent tasks quick switcher */
.paradise-parent-tasks-switcher{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
}
.paradise-parent-tasks-switcher .paradise-quick-label{
    color:#20242a !important;
    background:#fafbfc !important;
}
.paradise-parent-tasks-switcher .paradise-quick-label:hover,
.paradise-parent-tasks-switcher .paradise-quick-label:focus{
    color:#20242a !important;
    background:#eef6f1 !important;
}
.paradise-parent-tasks-switcher .paradise-quick-radio:checked + .paradise-quick-label{
    color:#fff !important;
    background:var(--pc-green) !important;
    border-color:var(--pc-green) !important;
}
.paradise-parent-tasks-switcher .paradise-quick-content{
    grid-column:1 / -1;
}


/* 1.5.680 — training participation response cards (shared across dashboards) */
.paradise-training-response-intro{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#f4f7f5;border:1px solid var(--paradise-border);color:#20252b}
.paradise-training-response-intro strong{font-size:15px}.paradise-training-response-intro span{font-size:13px;color:var(--paradise-muted)}
.paradise-training-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.paradise-training-response-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:16px;border:1px solid var(--paradise-border);border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(20,30,25,.05)}
.paradise-training-response-date{min-width:62px;text-align:center;padding:9px 8px;border-radius:12px;background:#eef7f1;color:var(--pc-green)}
.paradise-training-response-date strong{display:block;font-size:17px;line-height:1.1}.paradise-training-response-date span{display:block;margin-top:3px;font-size:11px;color:#527062;text-transform:capitalize}
.paradise-training-response-info{min-width:0;display:flex;flex-direction:column;gap:4px}.paradise-training-response-info strong{font-size:15px}.paradise-training-response-info span{font-size:12px;color:var(--paradise-muted)}
.paradise-training-response-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.paradise-training-response-actions form{margin:0}
.paradise-training-response-button{width:100%;border:1px solid var(--paradise-border);border-radius:11px;padding:10px 12px;background:#f7f8f8;color:#20252b;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.15s ease}
.paradise-training-response-button:hover,.paradise-training-response-button:focus{background:#edf3ef;color:#20252b;border-color:#b8c9be;outline:none}
.paradise-training-response-button.is-selected.is-yes{background:var(--pc-green);border-color:var(--pc-green);color:#fff}.paradise-training-response-button.is-selected.is-no{background:#b84a4a;border-color:#b84a4a;color:#fff}
.paradise-training-response-status{grid-column:1/-1;padding:9px 11px;border-radius:10px;font-size:12px;font-weight:700;display:flex;justify-content:space-between;gap:10px}.paradise-training-response-status span{white-space:nowrap}
/* 1.5.684 — centered participation status */
.paradise-training-response-status{justify-content:center;text-align:center}
.paradise-training-response-status.is-yes{background:#eef8f2;color:#17633e}.paradise-training-response-status.is-no{background:#fff1f1;color:#9a2d2d}.paradise-training-response-status.is-pending{background:#f5f6f7;color:#697178;font-weight:600}
@media(max-width:760px){.paradise-training-response-grid{grid-template-columns:1fr}.paradise-training-response-card{grid-template-columns:58px 1fr}.paradise-training-response-actions{grid-column:1/-1}}


/* 1.5.685 — trainer participation + training management */
.paradise-trainer-training-actions{display:flex;align-items:flex-start;gap:8px;margin-top:12px;position:relative;z-index:2}
.paradise-trainer-training-cancel,.paradise-trainer-training-move summary,.paradise-trainer-training-move button{border:1px solid #d9e4de;border-radius:10px;background:#fff;color:#315044;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}
.paradise-trainer-training-cancel{color:#a13a3a;border-color:#ead6d6}
.paradise-trainer-training-cancel:hover,.paradise-trainer-training-move summary:hover{background:#f8fbf9}
.paradise-trainer-training-move{position:relative}
.paradise-trainer-training-move summary{list-style:none}
.paradise-trainer-training-move summary::-webkit-details-marker{display:none}
.paradise-trainer-training-move form{position:absolute;right:0;top:42px;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:260px;padding:12px;background:#fff;border:1px solid #dfe8e2;border-radius:14px;box-shadow:0 12px 30px rgba(20,55,40,.12)}
.paradise-trainer-training-move label{font-size:10px;font-weight:800;color:#6b7871}.paradise-trainer-training-move input{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #d8e2dc;border-radius:8px;padding:8px;background:#fff}
.paradise-trainer-training-move button{grid-column:1/-1;background:#087546;color:#fff;border-color:#087546}
.paradise-trainer-participation-box{background:#fff;border:1px solid #dfe8e2;border-radius:16px;padding:15px 16px;margin:0 0 14px}
.paradise-trainer-participation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.paradise-trainer-participation-head strong{display:block;color:#26332d;font-size:16px}.paradise-trainer-participation-head span{display:block;color:#758079;font-size:11px;margin-top:3px}.paradise-trainer-participation-counts{display:flex;gap:10px;font-size:12px}.paradise-trainer-participation-counts b{font-weight:800}
.paradise-trainer-participation-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.paradise-trainer-participation-columns>div{background:#f7faf8;border-radius:12px;padding:11px 12px;min-width:0}.paradise-trainer-participation-columns small{display:block;font-size:9px;font-weight:900;letter-spacing:.06em;color:#6d7a73;margin-bottom:7px}.paradise-trainer-participation-columns ul{margin:0;padding-left:18px}.paradise-trainer-participation-columns li{font-size:12px;color:#304039;margin:3px 0}.paradise-trainer-participation-none{font-size:11px;color:#87918c}
@media(max-width:700px){.paradise-trainer-training-actions{flex-wrap:wrap}.paradise-trainer-training-move form{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}.paradise-trainer-participation-columns{grid-template-columns:1fr}.paradise-trainer-participation-head{align-items:flex-start;flex-direction:column}}

/* 1.5.687 — trainer participation toggles and visible training management */
.paradise-trainer-participation-counts{display:flex;gap:8px;flex-wrap:wrap}
.paradise-trainer-participation-toggle{border:1px solid transparent;border-radius:10px;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.15s ease;background:#fff}
.paradise-trainer-participation-toggle.is-yes{border-color:#b9dec7;color:#17633e;background:#eef8f2}
.paradise-trainer-participation-toggle.is-no{border-color:#e7c1c1;color:#9a2d2d;background:#fff1f1}
.paradise-trainer-participation-toggle:hover,.paradise-trainer-participation-toggle.is-open{filter:brightness(.97);box-shadow:0 0 0 2px rgba(0,0,0,.04)}
.paradise-trainer-participation-toggle span{margin-left:5px}
.paradise-trainer-participation-lists{margin-top:10px}
.paradise-trainer-participation-list{background:#f7faf8;border-radius:12px;padding:11px 12px}
.paradise-trainer-participation-list ul{margin:0;padding-left:18px}
.paradise-trainer-participation-list li{font-size:12px;color:#304039;margin:3px 0}
.paradise-trainer-participation-list[hidden]{display:none!important}
.paradise-trainer-attendance-training-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;background:#f7faf8;border:1px solid #dfe8e2;border-radius:14px}
.paradise-trainer-attendance-training-actions form{margin:0}
.paradise-trainer-attendance-training-actions .paradise-trainer-training-move form{margin:0}
.paradise-trainer-home-overview .paradise-trainer-training-actions{margin-top:14px;justify-content:center}
.paradise-trainer-home-overview .paradise-trainer-training-actions form{margin:0}
@media(max-width:700px){.paradise-trainer-participation-counts{width:100%}.paradise-trainer-participation-toggle{flex:1;min-width:0}}

/* 1.5.687 — trainer participation controls: consistent desktop/mobile layout */
.paradise-trainer-participation-counts{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:auto}
.paradise-trainer-participation-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;white-space:nowrap;min-height:40px;padding:8px 14px!important;border:1px solid transparent!important;border-radius:10px!important;font:inherit!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease!important;opacity:1!important}
.paradise-trainer-participation-toggle.is-yes,.paradise-trainer-participation-toggle.is-yes:hover,.paradise-trainer-participation-toggle.is-yes:focus,.paradise-trainer-participation-toggle.is-yes.is-open{background:#eef8f2!important;color:#17633e!important;border-color:#b9dec7!important}
.paradise-trainer-participation-toggle.is-no,.paradise-trainer-participation-toggle.is-no:hover,.paradise-trainer-participation-toggle.is-no:focus,.paradise-trainer-participation-toggle.is-no.is-open{background:#fff1f1!important;color:#9a2d2d!important;border-color:#e7c1c1!important}
.paradise-trainer-participation-toggle:hover,.paradise-trainer-participation-toggle:focus{box-shadow:0 0 0 2px rgba(0,0,0,.05)!important;filter:none!important;opacity:1!important}
.paradise-trainer-participation-toggle:active{transform:translateY(1px)}
.paradise-trainer-participation-toggle span{margin-left:0!important}
.paradise-trainer-training-cancel:hover,.paradise-trainer-training-cancel:focus{background:#fff!important;color:#a13a3a!important;border-color:#ead6d6!important;opacity:1!important}
.paradise-trainer-training-move summary:hover,.paradise-trainer-training-move summary:focus{background:#fff!important;color:#315044!important;border-color:#d9e4de!important;opacity:1!important}
.paradise-trainer-training-move button:hover,.paradise-trainer-training-move button:focus{background:#087546!important;color:#fff!important;border-color:#087546!important;opacity:1!important}
@media(max-width:700px){
 .paradise-trainer-participation-head{width:100%;align-items:center!important;text-align:center!important}
 .paradise-trainer-participation-counts{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
 .paradise-trainer-participation-toggle{width:100%!important;min-width:0!important}
}


/* 1.5.688 — trainer mobile controls and reschedule modal */
.paradise-trainer-training-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.paradise-trainer-training-actions>form,.paradise-trainer-training-actions>.paradise-trainer-training-move{flex:1 1 0!important;min-width:0!important;margin:0!important}
.paradise-trainer-training-actions .paradise-trainer-training-cancel,.paradise-trainer-training-actions .paradise-trainer-training-move summary{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;box-sizing:border-box!important;min-height:40px!important;white-space:nowrap!important}
.paradise-trainer-move-modal-backdrop{position:fixed!important;inset:0!important;background:rgba(15,35,27,.48)!important;z-index:2147483000!important}
.paradise-trainer-training-move form.paradise-trainer-move-modal-form{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(420px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;box-sizing:border-box!important;z-index:2147483001!important;margin:0!important;background:#fff!important;padding:18px!important;border:1px solid #dfe8e2!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(15,35,27,.28)!important}
.paradise-trainer-modal-open{overflow:hidden!important}
@media(max-width:700px){.paradise-trainer-training-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.paradise-trainer-training-actions>form,.paradise-trainer-training-actions>.paradise-trainer-training-move{width:100%!important;min-width:0!important}.paradise-trainer-training-actions .paradise-trainer-training-cancel,.paradise-trainer-training-actions .paradise-trainer-training-move summary{font-size:11px!important;padding:8px 6px!important}.paradise-trainer-training-move form.paradise-trainer-move-modal-form{grid-template-columns:1fr 1fr!important}}

/* 1.5.689 — trainer action modals styled like reward confirmation */
.paradise-trainer-action-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
    visibility:visible!important;
    opacity:1!important;
}
.paradise-trainer-action-modal-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(15,20,25,.58)!important;
    backdrop-filter:blur(3px)!important;
}
.paradise-trainer-action-modal-dialog{
    position:relative!important;
    width:min(390px,100%)!important;
    box-sizing:border-box!important;
    padding:25px 22px 20px!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 18px 60px rgba(0,0,0,.22)!important;
    text-align:center!important;
    z-index:1!important;
}
.paradise-trainer-action-modal-icon{
    width:54px!important;height:54px!important;margin:0 auto 12px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    border-radius:50%!important;background:#eef8f2!important;color:#17633e!important;
    font-size:25px!important;font-weight:900!important;
}
.paradise-trainer-action-modal-icon.is-danger{background:#fff1f1!important;color:#a13a3a!important}
.paradise-trainer-action-modal-dialog h3{margin:0 0 7px!important;font-size:19px!important;line-height:1.25!important;color:#20252b!important}
.paradise-trainer-action-modal-intro{margin:0 0 16px!important;color:#687078!important;font-size:13px!important;line-height:1.45!important}
.paradise-trainer-move-modal-form{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    text-align:left!important;
}
.paradise-trainer-action-modal-heading{grid-column:1/-1;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#687078;text-align:left}
.paradise-trainer-action-modal-description{grid-column:1/-1;margin-top:-5px;font-size:11px;color:#7a847f;text-align:left}
.paradise-trainer-move-modal-form label{font-size:10px!important;font-weight:800!important;color:#6b7871!important}
.paradise-trainer-move-modal-form input{display:block!important;width:100%!important;box-sizing:border-box!important;margin-top:5px!important;border:1px solid #d8e2dc!important;border-radius:9px!important;padding:9px!important;background:#fff!important;color:#20252b!important}
.paradise-trainer-move-modal-form button[type="submit"]{grid-column:1/-1!important;min-height:42px!important;border:1px solid var(--paradise-green-dark)!important;border-radius:10px!important;background:var(--paradise-green-dark)!important;color:#fff!important;font:inherit!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important}
.paradise-trainer-action-modal-cancel,.paradise-trainer-action-modal-confirm{min-height:42px!important;border-radius:10px!important;padding:9px 12px!important;font:inherit!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important}
.paradise-trainer-action-modal-cancel{border:1px solid #dfe3e6!important;background:#fff!important;color:#343a40!important}
.paradise-trainer-action-modal-confirm{border:1px solid #a13a3a!important;background:#a13a3a!important;color:#fff!important}
.paradise-trainer-action-modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:2px!important}
.paradise-trainer-move-modal-form .paradise-trainer-action-modal-cancel{grid-column:1/-1!important;order:3!important}
.paradise-trainer-move-modal-form button[type="submit"]:hover,.paradise-trainer-move-modal-form button[type="submit"]:focus{background:var(--paradise-green-dark)!important;color:#fff!important;border-color:var(--paradise-green-dark)!important;opacity:1!important}
.paradise-trainer-action-modal-cancel:hover,.paradise-trainer-action-modal-cancel:focus{background:#fff!important;color:#343a40!important;border-color:#dfe3e6!important;opacity:1!important}
.paradise-trainer-action-modal-confirm:hover,.paradise-trainer-action-modal-confirm:focus{background:#8f3030!important;color:#fff!important;border-color:#8f3030!important;opacity:1!important}
@media(max-width:500px){
    .paradise-trainer-action-modal{padding:16px!important}
    .paradise-trainer-action-modal-dialog{padding:22px 17px 17px!important;border-radius:16px!important}
}

/* 1.5.693 — public Elementor homepage shortcodes */
.paradise-public-widget{width:100%;box-sizing:border-box}
.paradise-public-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.paradise-public-training-team{background:#fff;border:1px solid #e4ebe7;border-radius:16px;padding:18px;box-shadow:0 8px 26px rgba(20,40,30,.06)}
.paradise-public-training-team h3{margin:0 0 12px;font-size:18px;color:#183d2c}
.paradise-public-training-item{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #edf1ee}
.paradise-public-training-date{display:flex;flex-direction:column;text-align:center;line-height:1.15}.paradise-public-training-date strong{font-size:12px;color:#183d2c}.paradise-public-training-date span{font-size:11px;color:#78837d;margin-top:3px}
.paradise-public-training-main{min-width:0}.paradise-public-training-main strong{display:block;font-size:13px;color:#20272b}.paradise-public-training-main small{display:block;margin-top:3px;font-size:11px;color:#7a847f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paradise-public-training-item time{font-size:14px;font-weight:800;color:#17633e;white-space:nowrap}
.paradise-public-matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.paradise-public-match-card{display:block;text-decoration:none!important;background:#fff;border:1px solid #e4ebe7;border-radius:16px;padding:16px;box-shadow:0 8px 26px rgba(20,40,30,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.paradise-public-match-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,40,30,.1);border-color:#cfdcd5}
.paradise-public-match-date{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;color:#183d2c}.paradise-public-match-date strong{font-size:14px}.paradise-public-match-date span{font-size:12px;color:#78837d}
.paradise-public-match-teams{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;gap:8px;text-align:center}.paradise-public-match-teams>div{display:flex;flex-direction:column;align-items:center;gap:6px;color:#20272b;font-size:12px;font-weight:800}.paradise-public-match-teams img{width:38px;height:38px;object-fit:contain}.paradise-public-match-teams>b{font-size:11px;color:#87918c}
.paradise-public-match-venue{display:block;text-align:center;margin-top:12px;color:#7a847f;font-size:11px}
.paradise-public-empty{padding:20px;border:1px dashed #d8e2dc;border-radius:14px;text-align:center;color:#78837d;background:#fafcfb}
@media(max-width:700px){.paradise-public-training-grid,.paradise-public-matches-grid{grid-template-columns:1fr}.paradise-public-training-team{padding:15px}.paradise-public-training-item{grid-template-columns:58px 1fr auto}.paradise-public-match-card{padding:14px}}


/* 1.5.702 — notification actions */
.paradise-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.paradise-notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.paradise-notification-actions button{border:0;background:transparent;padding:5px 0;cursor:pointer;font-size:11px;font-weight:600;line-height:1.2;color:#65736b;}
.paradise-notification-actions button:hover{color:#2d6b45;background:transparent;}
.paradise-notification-actions .paradise-notification-delete-all{color:#9b5b5b;}
.paradise-notification-actions .paradise-notification-delete-all:hover{color:#b23b3b;background:transparent;}
.paradise-notification-actions .paradise-notification-delete-all.is-confirm{color:#fff;background:#b23b3b;border-radius:7px;padding:6px 9px;}
.paradise-notification-actions button:disabled{opacity:.5;cursor:wait;}
@media(max-width:767px){
  .paradise-notification-head{align-items:flex-start;gap:8px;}
  .paradise-notification-actions{gap:8px;}
  .paradise-notification-actions button{font-size:10px;}
}

/* 1.5.772 — eFlorbal category label */
.paradise-reward-category{display:inline-block;margin:4px 0 8px;padding:3px 8px;border-radius:999px;background:#f1f3f5;color:#555;font-size:12px;font-weight:600}

/* Full user catalog — step 1: search, categories and product grid */
.paradise-catalog-toolbar{
    margin:18px 0 20px;
    padding:16px;
    border:1px solid #e1e8e4;
    border-radius:16px;
    background:#f8faf9;
}
.paradise-catalog-search-wrap{margin-bottom:14px;}
.paradise-catalog-search-wrap label{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:700;
    color:#53615a;
}
.paradise-catalog-search{
    width:100%;
    min-height:42px;
    padding:9px 12px;
    border:1px solid #d5ded9;
    border-radius:10px;
    background:#fff;
    box-sizing:border-box;
}
.paradise-catalog-search:focus{outline:2px solid rgba(47,117,72,.18);outline-offset:1px;border-color:#2f7548;}
.paradise-catalog-categories{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.paradise-catalog-filter{
    appearance:none;
    border:1px solid #d5ded9;
    border-radius:999px;
    background:#fff;
    color:#4e5b55;
    padding:8px 13px;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.paradise-catalog-filter:hover{transform:translateY(-1px);border-color:#aebdb5;}
.paradise-catalog-filter.is-active{background:#2f7548;border-color:#2f7548;color:#fff;}
.paradise-catalog-products{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.paradise-catalog-product{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:16px;
    border:1px solid #e1e8e4;
    border-radius:16px;
    background:#fff;
    box-sizing:border-box;
}
.paradise-catalog-product[hidden]{display:none!important;}
.paradise-catalog-product > img{
    display:block;
    width:100%;
    height:210px;
    object-fit:contain;
    border-radius:12px;
    background:#f6f8f7;
    margin-bottom:12px;
}
.paradise-catalog-product h3{margin:0 0 5px;line-height:1.3;}
.paradise-catalog-product .paradise-reward-category{
    display:inline-flex;
    align-self:flex-start;
    margin:0 0 8px;
    padding:4px 8px;
    border-radius:999px;
    background:#eef4f0;
    color:#48705a;
    font-size:11px;
    font-weight:700;
}
.paradise-catalog-filter-empty{grid-column:1/-1;margin:0;padding:24px;text-align:center;color:#718078;}
@media(max-width:900px){.paradise-catalog-products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
    .paradise-catalog-products{grid-template-columns:1fr;gap:12px;}
    .paradise-catalog-toolbar{padding:12px;}
    .paradise-catalog-product > img{height:190px;}
}

.paradise-catalog-category-modal-dialog{max-height:85vh;padding:20px}}

/* 1.5.772 — dashboard catalogue category picker/filter hardening */
.paradise-dashboard-catalog-filter .playbook-category-modal[hidden]{display:none !important;}
.paradise-dashboard-catalog-filter .paradise-catalog-filter-card[hidden]{display:none !important;}

/* Paradise catalog pagination */
.paradise-catalog-load-more-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:12px;
}
.paradise-catalog-load-more{
    appearance:none;
    border:1px solid #111;
    background:#111;
    color:#fff;
    border-radius:10px;
    padding:10px 18px;
    font-weight:700;
    cursor:pointer;
}
.paradise-catalog-load-more:hover:not(:disabled){opacity:.9;}
.paradise-catalog-load-more:disabled{opacity:.55;cursor:wait;}
.paradise-catalog-load-more-status{min-height:18px;font-size:12px;opacity:.7;}

/* 1.5.772 — dashboard product detail */
.paradise-reward-detail-trigger{
    appearance:none;
    border:0;
    background:none;
    padding:0;
    margin:0;
    color:#20242a;
    font:inherit;
    font-weight:800;
    text-align:left;
    cursor:pointer;
}
.paradise-reward-detail-trigger:hover{text-decoration:underline;text-underline-offset:2px;}
.paradise-reward-detail-link{
    align-self:flex-start;
    margin-top:1px;
    color:var(--paradise-green-dark);
    font-size:11px;
    font-weight:700;
}
.paradise-reward-detail-dialog{
    width:min(520px,100%);
    max-height:min(88vh,760px);
    overflow:auto;
    text-align:left;
    padding:18px;
}
.paradise-reward-detail-dialog .paradise-reward-modal-close{z-index:3;}
.paradise-reward-detail-image{
    width:100%;
    aspect-ratio:1.45;
    border-radius:14px;
    overflow:hidden;
    background:#f3f5f6;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
}
.paradise-reward-detail-image img{width:100%;height:100%;object-fit:contain;display:block;}
.paradise-reward-detail-placeholder{font-size:44px;}
.paradise-reward-detail-category{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:3px 9px;
    border-radius:999px;
    background:#f1f6f3;
    color:var(--paradise-green-dark);
    font-size:11px;
    font-weight:800;
    margin-bottom:7px;
}
.paradise-reward-detail-dialog h3{padding-right:28px;margin:0 0 10px;}
.paradise-reward-detail-price{
    width:100%;
    margin:4px 0 14px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
    font-size:21px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}
.paradise-reward-detail-price .paradise-reward-cost-pp{color:#c88a00 !important;}
.paradise-reward-detail-price .paradise-reward-cost-plus{color:#20242a !important;padding:0 7px !important;}
.paradise-reward-detail-price .paradise-reward-cost-euro{color:#2f6fd6 !important;}
.paradise-reward-detail-field label{display:block;font-size:12px;font-weight:800;margin-bottom:5px;}
.paradise-reward-detail-field select{font-size:13px;padding:10px 11px;margin-top:0;}
.paradise-reward-detail-variant-status{display:block;min-height:18px;margin-top:5px;font-size:11px;color:#6b7280;}
.paradise-reward-detail-stock{font-size:12px;color:#6b7280;margin:8px 0 14px;}
.paradise-reward-detail-buy{
    width:100%;
    min-height:44px;
    border:1px solid var(--paradise-green-dark);
    border-radius:10px;
    background:var(--paradise-green-dark);
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}
.paradise-reward-detail-buy:disabled{opacity:.5;cursor:not-allowed;}
.paradise-reward-detail-action{width:100%;}
.paradise-reward-detail-insufficient{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #e6c7c7;border-radius:10px;background:#fff6f6;color:#b42318;font:inherit;font-size:13px;font-weight:900;text-align:center;}
.paradise-reward-detail-insufficient[hidden]{display:none !important;}
@media(max-width:500px){
    .paradise-reward-detail-dialog{padding:15px;border-radius:16px;}
    .paradise-reward-detail-image{aspect-ratio:1.25;}
}

/* 1.5.779 — simplified catalog product card
   Two columns only: image | name + price.
   Legacy <=900px reward-card rules were removed because they used a
   56px | content | buy layout and conflicted with the new card. */
.paradise-mini-catalog{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
}
.paradise-reward-card{
    position:relative !important;
    display:grid !important;
    grid-template-columns:140px minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) !important;
    gap:16px !important;
    align-items:center !important;
    min-width:0 !important;
    min-height:170px !important;
    padding:14px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:1px solid #e4e8eb !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:none !important;
    cursor:pointer !important;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease !important;
}
.paradise-reward-card:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 5px 16px rgba(0,0,0,.06) !important;
}
.paradise-reward-card:focus-visible{
    outline:2px solid #111 !important;
    outline-offset:2px !important;
}
.paradise-reward-card[hidden]{display:none !important;}
.paradise-reward-card-media{
    position:static !important;
    inset:auto !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:140px !important;
    min-width:140px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.paradise-reward-image{
    width:140px !important;
    height:140px !important;
    min-width:140px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f7f8f8 !important;
}
.paradise-reward-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
    padding:4px !important;
    box-sizing:border-box !important;
}
.paradise-reward-info{
    position:static !important;
    inset:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
}
.paradise-reward-card-title{
    position:static !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#20242a !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    text-align:left !important;
    overflow-wrap:anywhere !important;
}
.paradise-reward-cost{
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    white-space:nowrap !important;
    text-align:left !important;
    font-size:21px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}
.paradise-reward-cost-pp{color:#c88a00 !important;}
.paradise-reward-cost-plus{color:#20242a !important;padding:0 7px !important;}
.paradise-reward-cost-euro{color:#2f6fd6 !important;}
.paradise-reward-card .paradise-reward-card-category,
.paradise-reward-card .paradise-reward-stock,
.paradise-reward-card .paradise-reward-variant,
.paradise-reward-card .paradise-eflorbal-live-status,
.paradise-reward-card .paradise-catalog-inline-buy,
.paradise-reward-card .paradise-reward-detail-link,
.paradise-reward-card .paradise-reward-detail-trigger{display:none !important;}
@media(max-width:700px){
    .paradise-mini-catalog{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
    .paradise-reward-card{
        grid-template-columns:120px minmax(0,1fr) !important;
        gap:14px !important;
        min-height:148px !important;
        padding:12px !important;
    }
    .paradise-reward-card-media,
    .paradise-reward-image{
        width:120px !important;
        min-width:120px !important;
        height:120px !important;
    }
    .paradise-reward-card-title{font-size:16px !important;}
    .paradise-reward-cost{font-size:19px !important;}
}



/* 1.5.788 — polished reward description */
.paradise-reward-detail-description{
    color:#3f4850;
    font-size:14px;
    line-height:1.72;
    text-align:left;
    white-space:pre-line;
    margin:4px 0 18px;
}
.paradise-reward-detail-description > p{
    margin:0 0 15px;
}
.paradise-reward-detail-description > p:last-child{margin-bottom:0;}
.paradise-reward-description-properties{
    margin:18px 0 2px;
    padding:15px 17px;
    border:1px solid #e4ebe7;
    border-radius:12px;
    background:#f8faf9;
}
.paradise-reward-description-properties h4{
    margin:0 0 10px;
    color:#20242a;
    font-size:14px;
    font-weight:900;
}
.paradise-reward-description-properties ul{
    margin:0;
    padding:0;
    list-style:none;
}
.paradise-reward-description-properties li{
    position:relative;
    margin:0 0 7px;
    padding-left:17px;
    color:#4b5563;
}
.paradise-reward-description-properties li:last-child{margin-bottom:0;}
.paradise-reward-description-properties li::before{
    content:'•';
    position:absolute;
    left:0;
    top:0;
    color:var(--paradise-green-dark);
    font-weight:900;
}
.paradise-reward-modal-description > p{margin:0 0 14px;}
.paradise-reward-modal-description .paradise-reward-description-properties{margin-top:16px;}

/* 1.5.792 — manufacturer/distributor collapsed in reward detail */
.paradise-reward-detail-description .paradise-reward-manufacturer{
    margin:18px 0 4px;
    border-top:1px solid #e6e9ec;
    padding-top:2px;
}
.paradise-reward-detail-description .paradise-reward-manufacturer-toggle{
    display:flex;
    align-items:center;
    width:100%;
    cursor:pointer;
    font-weight:600;
    color:#5f6670;
    padding:10px 0;
    border:0;
    background:none;
    text-align:left;
    font:inherit;
}
.paradise-reward-detail-description .paradise-reward-manufacturer-toggle::before{
    content:'+';
    display:inline-block;
    width:22px;
    font-weight:700;
    color:#8a9199;
}
.paradise-reward-detail-description .paradise-reward-manufacturer.is-open .paradise-reward-manufacturer-toggle::before{content:'−';}
.paradise-reward-detail-description .paradise-reward-manufacturer-body{
    padding:2px 0 8px 22px;
    color:#69717a;
    font-size:13px;
}
.paradise-reward-detail-description .paradise-reward-manufacturer-body[hidden]{display:none!important;}
.paradise-reward-detail-description .paradise-reward-manufacturer-body p{margin:0 0 7px;}

/* Paradise Chat */
.paradise-chat-launch{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0;padding:0;color:#fff;flex:0 0 42px;vertical-align:middle;}
.paradise-chat-launch svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.paradise-chat-launch:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.12);}
.paradise-chat-count{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#d64545;color:#fff;font-size:11px;line-height:18px;font-weight:700;}
.paradise-chat-overlay{position:fixed;inset:0;z-index:99999;background:rgba(18,35,27,.42);display:flex;align-items:center;justify-content:center;padding:24px;}
.paradise-chat-overlay[hidden]{display:none!important;}
.paradise-chat-modal{width:min(980px,96vw);height:min(700px,88vh);background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:hidden;display:grid;grid-template-columns:320px 1fr;color:#20352a;}
.paradise-chat-list{border-right:1px solid #e7eee9;display:flex;flex-direction:column;min-width:0;background:#fbfdfc;}
.paradise-chat-list-head{height:70px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eee9;}
.paradise-chat-list-head strong{font-size:22px;color:#2f8e5d;}
.paradise-chat-list-head button{border:0;background:transparent;font-size:28px;color:#789083;cursor:pointer;line-height:1;}
.paradise-chat-new{padding:12px 14px;border-bottom:1px solid #edf2ee;}
.paradise-chat-new button{width:100%;border:0;border-radius:12px;background:#e9f5ee;color:#2f8e5d;font-weight:700;padding:11px;cursor:pointer;}
.paradise-chat-conversations,.paradise-chat-contacts{overflow:auto;flex:1;padding:8px;}
.paradise-chat-conversation,.paradise-chat-contact-option{width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;padding:4px;border-radius:13px;color:inherit;}
.paradise-chat-conversation:hover,.paradise-chat-conversation.active,.paradise-chat-contact-option:hover{background:#edf7f1;}
/* Impulz Chat: prevent theme hover styles from turning a conversation green with unreadable text. */
.paradise-chat-conversation:hover .paradise-chat-conversation-main,
.paradise-chat-conversation.active .paradise-chat-conversation-main,
.paradise-chat-conversation .paradise-chat-conversation-main:hover,
.paradise-chat-conversation .paradise-chat-conversation-main:focus{background:transparent !important;color:#20352a !important;}
.paradise-chat-conversation:hover .paradise-chat-conversation-main strong,
.paradise-chat-conversation:hover .paradise-chat-conversation-main small,
.paradise-chat-conversation:hover .paradise-chat-conversation-main em,
.paradise-chat-conversation.active .paradise-chat-conversation-main strong,
.paradise-chat-conversation.active .paradise-chat-conversation-main small,
.paradise-chat-conversation.active .paradise-chat-conversation-main em{color:inherit !important;}
.paradise-chat-contact-option:hover{color:#20352a !important;background:#edf7f1 !important;}
.paradise-chat-contact-option:hover strong,.paradise-chat-contact-option:hover small{color:inherit !important;}
.paradise-chat-conversation-main{min-width:0;flex:1;width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:7px 6px;cursor:pointer;color:inherit;border-radius:10px;}
.paradise-chat-conversation-delete{width:30px;height:30px;flex:0 0 30px;border:0;border-radius:50%;background:transparent;color:#9aa59f;font-size:20px;line-height:28px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;}
.paradise-chat-conversation:hover .paradise-chat-conversation-delete,.paradise-chat-conversation-delete:focus{opacity:1;}
.paradise-chat-conversation-delete:hover{background:#f3e9e9;color:#b34b4b;}
.paradise-chat-conversation img,.paradise-chat-contact-option img,.paradise-chat-contact img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 42px;}
.paradise-chat-conversation span,.paradise-chat-contact-option span,.paradise-chat-contact span{min-width:0;display:flex;flex-direction:column;flex:1;}
.paradise-chat-conversation strong,.paradise-chat-contact-option strong,.paradise-chat-contact strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-conversation small,.paradise-chat-contact-option small,.paradise-chat-contact small{color:#829188;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-conversation em{font-style:normal;color:#68776f;font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-conversation-main>b{background:#3f9b67;color:#fff;border-radius:12px;min-width:20px;height:20px;line-height:20px;text-align:center;font-size:11px;}
.paradise-chat-contact-list-title{padding:10px 8px;color:#6c7d73;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.paradise-chat-window{display:grid;grid-template-rows:70px minmax(0,1fr) auto;min-width:0;min-height:0;}
.paradise-chat-window-head{border-bottom:1px solid #e7eee9;padding:12px 18px;display:flex;align-items:center;}
.paradise-chat-contact{display:flex;align-items:center;gap:10px;}
.paradise-chat-contact strong{font-size:15px;}
.paradise-chat-messages{overflow:auto;padding:22px;background:#fff;display:flex;flex-direction:column;gap:9px;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.paradise-chat-message{max-width:min(72%,560px);display:flex;flex-direction:column;gap:3px;}
.paradise-chat-message>div{padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.45;word-break:break-word;}
.paradise-chat-message.mine{align-self:flex-end;align-items:flex-end;}
.paradise-chat-message.mine>div{background:#3f9b67;color:#fff;border-bottom-right-radius:5px;}
.paradise-chat-message.theirs{align-self:flex-start;align-items:flex-start;}
.paradise-chat-message.theirs>div{background:#edf4ef;color:#26382f;border-bottom-left-radius:5px;}
.paradise-chat-message time{font-size:10px;color:#94a19a;padding:0 5px;}
.paradise-chat-compose{border-top:1px solid #e7eee9;padding:12px;display:flex;gap:10px;background:#fbfdfc;flex:0 0 auto;box-sizing:border-box;}
.paradise-chat-compose textarea{resize:none;min-height:46px;max-height:120px;flex:1;border:1px solid #dce7df;border-radius:14px;padding:12px;font:inherit;outline:none;}
.paradise-chat-compose textarea:focus{border-color:#69ad84;box-shadow:0 0 0 3px rgba(63,155,103,.10);}
.paradise-chat-compose button{border:0;border-radius:14px;background:#3f9b67;color:#fff;padding:0 20px;font-weight:700;cursor:pointer;}
.paradise-chat-compose button:disabled,.paradise-chat-compose textarea:disabled{opacity:.5;cursor:not-allowed;}
.paradise-chat-empty,.paradise-chat-empty-list{margin:auto;color:#8a9890;text-align:center;font-size:13px;padding:25px;}
@media(max-width:700px){
 .paradise-chat-overlay{padding:0;align-items:stretch;}
 .paradise-chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;grid-template-columns:1fr;}
 .paradise-chat-list{display:none;}
 .paradise-chat-modal.show-list .paradise-chat-list{display:flex;position:absolute;inset:0;background:#fbfdfc;z-index:2;}
 .paradise-chat-window{height:100%;min-height:0;}
 .paradise-chat-message{max-width:84%;}
 .paradise-chat-launch{width:42px;height:42px;margin:0;}
}

.paradise-chat-back{display:none;border:0;background:transparent;font-size:28px;color:#718078;cursor:pointer;margin-right:6px;}
@media(max-width:700px){.paradise-chat-back{display:block;}.paradise-chat-window-head{padding-left:12px;}}

/* 1.5.852 — unified dashboard header actions.
 * Chat, notifications and account share one flex row; no per-icon absolute positioning.
 */
header.paradise-dashboard-header .paradise-header-actions{
    position:absolute;
    top:10px;
    right:10px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    height:42px;
    z-index:1001;
}
header.paradise-dashboard-header .paradise-header-actions > .paradise-chat-launch,
header.paradise-dashboard-header .paradise-header-actions > .paradise-notifications,
header.paradise-dashboard-header .paradise-header-actions > .paradise-account-menu{
    position:relative;
    top:auto; right:auto; bottom:auto; left:auto;
    margin:0;
    flex:0 0 42px;
    width:42px;
    height:42px;
}
header.paradise-dashboard-header .paradise-header-actions > .paradise-notifications{
    display:block;
}
header.paradise-dashboard-header .paradise-header-actions .paradise-notification-button,
header.paradise-dashboard-header .paradise-header-actions .paradise-account-button{
    width:42px !important;
    height:42px !important;
    margin:0 !important;
}
header.paradise-dashboard-header .paradise-header-actions .paradise-chat-launch{
    width:42px !important;
    height:42px !important;
}
@media(max-width:700px){
    header.paradise-dashboard-header .paradise-header-actions{
        top:10px;
        right:10px;
        gap:6px;
    }
}
@media(max-width:900px){
    header.paradise-dashboard-header .paradise-account-menu{
        display:block !important;
    }
}

@media(max-width:700px){.paradise-chat-conversation-delete{opacity:1;}}




/* Player challenge levels: keep the three choices side by side on mobile. */
.paradise-player-challenge-levels{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:14px 0 0;
}

.paradise-player-challenge-form{
    min-width:0;
    margin:0;
}

.paradise-player-challenge-level{
    width:100%;
    min-height:150px;
    text-align:left;
    cursor:pointer;
}

.paradise-player-challenge-level > span{
    margin-bottom:12px;
}

.paradise-player-challenge-level > strong{
    font-size:24px;
}

@media(max-width:700px){
    .paradise-player-challenge-levels{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
    }
    .paradise-player-challenge-level{
        min-height:128px;
        padding:11px;
    }
    .paradise-player-challenge-level > strong{
        font-size:17px;
    }
    .paradise-player-challenge-level > span,
    .paradise-player-challenge-level > small{
        font-size:11px;
    }
}

@media(max-width:360px){
    .paradise-player-challenge-levels{gap:6px;}
    .paradise-player-challenge-level{padding:9px 7px;}
    .paradise-player-challenge-level > strong{font-size:15px;}
}

/* 1.5.876 — compact challenge reward presentation and inline confirmation modal */
.paradise-player-challenge-row{position:relative;}
.paradise-player-challenge-level-percent{
    display:block;
    margin:8px 0 5px;
    text-align:center;
    color:#68707a;
    font-size:12px;
    font-weight:800;
    font-style:normal;
}
#paradise-player-challenge-confirm-modal{
    position:absolute;
    inset:0;
    z-index:20;
    padding:10px;
    box-sizing:border-box;
}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-dialog{
    width:min(300px,100%);
    padding:14px 14px 12px;
    border-radius:14px;
}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-icon{
    width:40px;
    height:40px;
    margin-bottom:7px;
}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-logo-fallback{font-size:20px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-dialog h3{font-size:16px;margin-bottom:5px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-variant{font-size:11px;margin-bottom:8px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-reward{margin-bottom:10px;padding:9px 10px;gap:8px;border-radius:10px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-reward strong{font-size:12px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-cash{font-size:13px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-note{font-size:9px;margin-top:5px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-actions{gap:7px;}
#paradise-player-challenge-confirm-modal .paradise-reward-modal-actions button{min-height:34px;padding:6px 8px;font-size:11px;border-radius:8px;}

/* 1.5.877 — centered player challenge levels and reward icons */
.paradise-player-challenge-level{
    text-align:center;
    align-items:center;
    justify-content:center;
}
.paradise-player-challenge-level > span,
.paradise-player-challenge-level > strong,
.paradise-player-challenge-level > small,
.paradise-player-challenge-level > em{
    display:block;
    width:100%;
    text-align:center;
}
.paradise-player-challenge-level > span{margin-bottom:10px;}
.paradise-player-challenge-level > strong{margin:0 auto;}
.paradise-player-challenge-level > small{margin-top:6px;}
.paradise-player-challenge-reward,
.paradise-team-goal-reward{
    margin-top:6px;
    font-size:12px;
    color:#68707a;
    display:flex;
    align-items:center;
    gap:5px;
}
.paradise-player-challenge-reward img,
.paradise-team-goal-reward img{
    width:16px;
    height:16px;
    flex:0 0 16px;
}
.paradise-player-challenge-reward strong,
.paradise-team-goal-reward strong{color:#68707a;}

/* 1.5.915: match challenge items reuse the existing dashboard card style. */
.paradise-match-challenges-card .paradise-dashboard-card-header small{max-width:55%;text-align:right;}
.paradise-match-challenges-card .paradise-player-challenges-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.paradise-match-challenges-card .paradise-match-challenge-item{min-width:0;margin:0;padding:16px;}
.paradise-match-challenges-card .paradise-match-challenge-item:hover{transform:translateY(-2px);}
@media (max-width:600px){.paradise-match-challenges-card .paradise-dashboard-card-header{gap:8px}.paradise-match-challenges-card .paradise-dashboard-card-header small{max-width:48%;font-size:12px}.paradise-match-challenges-card .paradise-player-challenges-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.paradise-match-challenges-card .paradise-match-challenge-item{padding:12px}.paradise-match-challenges-card .paradise-match-challenge-item strong{font-size:14px}.paradise-match-challenges-card .paradise-match-challenge-item small{font-size:11px}.paradise-match-challenges-card .paradise-match-challenge-item>div:first-child{gap:6px!important;}.paradise-match-challenges-card .paradise-match-challenge-item>div:nth-of-type(2){margin-top:7px!important;margin-bottom:5px!important;}}
\n\n/* 1.5.928 — extend the existing game shell background on mobile.\n * Keep the challenge/stat sections unchanged; only extend the white game\n * canvas behind them so it reaches the same horizontal edges.\n */\n@media (max-width: 700px){\n    .game__page{\n        position:relative;\n        z-index:0;\n    }\n    .game__page::before{\n        content:"";\n        position:absolute;\n        top:0;\n        bottom:0;\n        left:-14px;\n        right:-14px;\n        background:#fff;\n        z-index:-1;\n        pointer-events:none;\n    }\n}\n
/* 1.5.936 — personal season challenges: automatic checkpoint progress */
.paradise-season-progress-wrap{margin-top:14px}
.paradise-season-progress-track{position:relative;height:10px;background:#edf0ee;border-radius:999px;overflow:visible;margin:18px 8px 8px}
.paradise-season-progress-fill{height:100%;background:#087b4d;border-radius:999px;transition:width .25s ease}
.paradise-season-progress-checkpoint{position:absolute;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:2px solid #cbd6d0;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.paradise-season-progress-checkpoint i{font-style:normal;font-size:11px;line-height:1;color:#68707a}
.paradise-season-progress-checkpoint.is-done{background:#087b4d;border-color:#087b4d;color:#fff}
.paradise-season-progress-checkpoint.is-done i{color:#fff}
.paradise-season-progress-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.paradise-season-progress-labels span{display:flex;flex-direction:column;gap:2px;color:#68707a;font-size:11px}
.paradise-season-progress-labels span strong{color:#39453f;font-size:11px}
.paradise-season-progress-labels span.is-done strong{color:#087b4d}
.paradise-season-progress-labels span small{font-size:10px;color:#8a948f}
.paradise-season-progress-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:#68707a}
.paradise-season-progress-footer strong{color:#087b4d}
@media(max-width:767px){.paradise-season-progress-labels{gap:5px}.paradise-season-progress-labels span small{font-size:9px}.paradise-season-progress-footer{font-size:11px;flex-direction:column;gap:4px}}

/* 1.5.937 — player challenge level: highlight the trainer-assigned primary checkpoint */
.paradise-season-progress-checkpoint.is-primary{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 3px rgba(8,123,77,.12)}
.paradise-season-progress-labels span.is-primary strong{color:#087b4d}
.paradise-season-progress-labels span.is-primary small{font-weight:800;color:#087b4d}


/* Impulz Studio login/registration branding — use the original logo artwork with its native background. */
.paradise-login-page{
    background:#9c9e80 !important;
}
.paradise-login-card{
    background:#9c9e80 !important;
    border-color:#9c9e80 !important;
    box-shadow:none !important;
}
.paradise-login-logo-horizontal img{
    display:block !important;
    width:300px !important;
    height:300px !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    margin:0 auto 4px !important;
}
.paradise-login-card h1{color:#18352a !important}
.paradise-login-intro{color:#f5f1e8 !important}
.paradise-login-register{border-top-color:rgba(245,241,232,.35) !important;color:#f5f1e8 !important}
.paradise-login-register a,.paradise-login-lost{color:#18352a !important}
.paradise-registration{
    background:#9c9e80 !important;
    border-radius:24px;
    padding:28px;
    box-sizing:border-box;
}
.paradise-registration-header{
    background:#9c9e80 !important;
}
.paradise-registration-logo-full{
    width:190px !important;
    height:190px !important;
    object-fit:contain !important;
    flex:0 0 190px !important;
}
.paradise-registration-header h1{color:#18352a !important}
.paradise-registration-header p{color:#f5f1e8 !important}
.paradise-registration-form{
    background:#9c9e80 !important;
}
@media(max-width:600px){
    .paradise-login-card{padding:20px 18px 24px !important}
    .paradise-login-logo-horizontal img{width:250px !important;height:250px !important}
    .paradise-registration{padding:18px !important}
    .paradise-registration-header{display:block !important;text-align:center !important}
    .paradise-registration-logo-full{width:180px !important;height:180px !important;margin:0 auto 8px !important}
}

/* Impulz login — direct email/password form with biometric fingerprint button. */
.paradise-login-passkey-direct{
    margin:18px 0 0;
    text-align:center;
}
.paradise-login-page .paradise-passkey-login-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:1px solid rgba(24,53,42,.22) !important;
    border-radius:50% !important;
    background:transparent !important;
    color:#18352a !important;
    cursor:pointer !important;
    box-shadow:none !important;
    line-height:1 !important;
}
.paradise-login-page .paradise-passkey-login-icon svg{
    width:30px !important;
    height:30px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.paradise-login-page .paradise-passkey-login-icon:hover,
.paradise-login-page .paradise-passkey-login-icon:focus{
    background:rgba(245,241,232,.38) !important;
    border-color:#18352a !important;
    outline:none !important;
}
.paradise-login-passkey-direct .paradise-passkey-status{
    min-height:18px;
    margin-top:8px;
    font-size:10px;
    line-height:1.4;
}


/* Impulz Studio olive theme — improved contrast and button styling */
.paradise-login-page,
.paradise-login-card,
.paradise-registration,
.paradise-registration-header,
.paradise-registration-form{
    background:#9c9e80 !important;
}
.paradise-login-card h1,
.paradise-login-kicker,
.paradise-registration-header h1,
.paradise-registration-form label span{
    color:#18352a !important;
}
.paradise-login-intro,
.paradise-login-register,
.paradise-registration-header p,
.paradise-login-form label,
.paradise-login-form .login-remember{
    color:#26382f !important;
}
.paradise-login-form input[type=text],
.paradise-login-form input[type=password],
.paradise-registration-form input,
.paradise-registration-form select{
    background:#f7f5ed !important;
    color:#18352a !important;
    border-color:rgba(24,53,42,.28) !important;
}
.paradise-login-form input::placeholder,
.paradise-registration-form input::placeholder{color:#69736b !important;opacity:1;}
.paradise-login-form input:focus,
.paradise-registration-form input:focus,
.paradise-registration-form select:focus{
    border-color:#18352a !important;
    box-shadow:0 0 0 3px rgba(24,53,42,.13) !important;
}
.paradise-login-page .paradise-login-form input[type=submit],
.paradise-login-page .paradise-login-button,
.paradise-registration-form button,
.paradise-login-page .paradise-forgot-form button{
    background:#18352a !important;
    color:#fff !important;
    border-color:#18352a !important;
}
.paradise-login-page .paradise-login-form input[type=submit]:hover,
.paradise-login-page .paradise-login-button:hover,
.paradise-registration-form button:hover,
.paradise-login-page .paradise-forgot-form button:hover{
    background:#10251d !important;
    color:#fff !important;
}
.paradise-login-register{border-top-color:rgba(24,53,42,.22) !important;}
.paradise-login-register a,
.paradise-login-lost{
    color:#18352a !important;
    font-weight:800 !important;
}
.paradise-registration-team-info{
    background:rgba(247,245,237,.55) !important;
    border-color:rgba(24,53,42,.20) !important;
}
.paradise-registration-team-info > span{color:#18352a !important;}
.paradise-registration-team-info small{color:#425148 !important;}
.paradise-registration-type-option{
    background:#f7f5ed !important;
    border-color:rgba(24,53,42,.22) !important;
    color:#18352a !important;
}
.paradise-registration-type-option small{color:#59665e !important;}
.paradise-login-page .paradise-passkey-login-icon{
    border-color:rgba(24,53,42,.42) !important;
    color:#18352a !important;
}
.paradise-login-page .paradise-passkey-login-icon:hover,
.paradise-login-page .paradise-passkey-login-icon:focus{
    background:rgba(247,245,237,.45) !important;
    border-color:#18352a !important;
}

/* Impulz Studio — unify forgot-password button with the auth theme. */
.paradise-login-page .paradise-forgot-form button{
    background:#18352a !important;
    color:#fff !important;
    border-color:#18352a !important;
}
.paradise-login-page .paradise-forgot-form button:hover,
.paradise-login-page .paradise-forgot-form button:focus,
.paradise-login-page .paradise-forgot-form button:active{
    background:#10251d !important;
    color:#fff !important;
    border-color:#10251d !important;
}


/* Impulz Studio public zone — full-bleed page layout, independent of Astra content width. */
body:has(.impulz-dashboard){
    background:#000 !important;
    overflow-x:clip !important;
}
body:has(.impulz-dashboard) .site-content,
body:has(.impulz-dashboard) .site-main,
body:has(.impulz-dashboard) .content-area,
body:has(.impulz-dashboard) .ast-container,
body:has(.impulz-dashboard) .entry-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}
body:has(.impulz-dashboard) .impulz-dashboard{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    min-height:100vh !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-header{
    border-radius:0 !important;
}

/* Impulz Studio auth pages — full-bleed layout (independent of Astra content width) */
body:has(.paradise-login-page),
body:has(.paradise-registration){
    background:#9c9e80 !important;
}

body:has(.paradise-login-page) .site-content,
body:has(.paradise-registration) .site-content,
body:has(.paradise-login-page) .site-main,
body:has(.paradise-registration) .site-main,
body:has(.paradise-login-page) .content-area,
body:has(.paradise-registration) .content-area{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body:has(.paradise-login-page) .ast-container,
body:has(.paradise-registration) .ast-container,
body:has(.paradise-login-page) .entry-content,
body:has(.paradise-registration) .entry-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* Break out of Astra's page/content wrapper and fill the viewport. */
.paradise-login-page,
.paradise-registration{
    position:relative !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
    min-height:100vh !important;
    border-radius:0 !important;
}

.paradise-login-page{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:40px 24px !important;
}

.paradise-login-card{
    width:min(520px, 100%) !important;
    max-width:520px !important;
    box-sizing:border-box !important;
}

.paradise-registration{
    padding:40px 24px !important;
}

.paradise-registration-header,
.paradise-registration-form{
    width:min(920px, 100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

@media(max-width:600px){
    .paradise-login-page{padding:24px 16px !important;}
    .paradise-registration{padding:24px 16px !important;}
}


/* Impulz Studio horizontal-overflow fix. The previous 100vw breakout could be
   wider than the viewport by the scrollbar width and create horizontal scrolling. */
body:has(.impulz-dashboard) .site,
body:has(.impulz-dashboard) .site-content,
body:has(.impulz-dashboard) .site-main,
body:has(.impulz-dashboard) .content-area,
body:has(.impulz-dashboard) .entry-content,
body:has(.impulz-dashboard) .impulz-dashboard{
    max-width:100% !important;
}
body:has(.impulz-dashboard) .impulz-dashboard{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:clip !important;
}
body:has(.impulz-dashboard) .impulz-dashboard *{
    max-width:100%;
}


/* Impulz Studio dashboard header branding — compact horizontal lockup. */
body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:11px !important;
    min-width:190px !important;
    width:auto !important;
    height:70px !important;
    line-height:1 !important;
    overflow:visible !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-mark{
    display:block !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:0 !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-name{
    display:block !important;
    color:#f7f5ed !important;
    font-family:Georgia, 'Times New Roman', serif !important;
    font-size:12px !important;
    font-weight:400 !important;
    letter-spacing:.20em !important;
    line-height:1 !important;
    white-space:nowrap !important;
    margin:0 !important;
    padding:0 !important;
}
@media(max-width:600px){
    body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand{min-width:0 !important;gap:8px !important;height:58px !important}
    body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-mark{width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;max-width:40px !important;max-height:40px !important}
    body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-name{font-size:10px !important;letter-spacing:.16em !important}
}


/* Impulz Studio — restore the intended olive shell + sticky header. */
body:has(.impulz-dashboard){
    background:#000 !important;
    overflow-x:clip !important;
}
body:has(.impulz-dashboard) .impulz-dashboard{
    background:#f5f2eb !important;
    position:relative !important;
    overflow-x:clip !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-header{
    position:sticky !important;
    top:0 !important;
    z-index:10000 !important;
    min-height:84px !important;
    background:var(--impulz-header-bg,#9c9e80) !important;
    box-shadow:0 4px 18px rgba(45,49,39,.12) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
}
body.admin-bar:has(.impulz-dashboard) .impulz-dashboard-header{
    top:32px !important;
}
@media(max-width:782px){
    body.admin-bar:has(.impulz-dashboard) .impulz-dashboard-header{top:46px !important;}
}
/* Keep the dashboard logo as a compact horizontal lockup. */
body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:auto !important;
    min-width:190px !important;
    height:58px !important;
    line-height:1 !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-mark{
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-name{
    display:block !important;
    margin:0 !important;
    color:#f7f5ed !important;
    font-family:Georgia,'Times New Roman',serif !important;
    font-size:11px !important;
    font-weight:400 !important;
    letter-spacing:.18em !important;
    line-height:1 !important;
    white-space:nowrap !important;
}
@media(max-width:600px){
    body:has(.impulz-dashboard) .impulz-dashboard-header{
        min-height:68px !important;
    }
    body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand{
        min-width:0 !important;
        height:50px !important;
        gap:8px !important;
    }
    body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-mark{
        flex-basis:36px !important;
        width:36px !important;
        height:36px !important;
        max-width:36px !important;
        max-height:36px !important;
    }
    body:has(.impulz-dashboard) .impulz-dashboard-header .impulz-brand-name{
        font-size:9px !important;
        letter-spacing:.14em !important;
    }
}


/* Final Impulz header cleanup: olive header, white bell only (no white circle). */
.impulz-dashboard-header{
    background:var(--impulz-header-bg,#9c9e80) !important;
    border-bottom:1px solid rgba(255,255,255,.18) !important;
    position:sticky !important;
    top:0 !important;
    z-index:10000 !important;
}
body.admin-bar .impulz-dashboard-header{top:32px !important;}
@media(max-width:782px){body.admin-bar .impulz-dashboard-header{top:46px !important;}}
.impulz-notifications .impulz-icon-button{
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:none !important;
    color:#fff !important;
}
.impulz-notifications .impulz-icon-button:hover,
.impulz-notifications .impulz-icon-button:focus,
.impulz-notifications .impulz-icon-button:active{
    background:transparent !important;
    border:0 !important;
    color:#fff !important;
    box-shadow:none !important;
}
.impulz-notifications .impulz-icon-button .impulz-notification-bell,
.impulz-notifications .impulz-icon-button svg{
    width:22px !important;
    height:22px !important;
    display:block !important;
    fill:none !important;
    stroke:#fff !important;
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
}
.impulz-notifications .impulz-icon-button svg path{
    fill:none !important;
    stroke:#fff !important;
    stroke-width:1.6 !important;
    stroke-opacity:1 !important;
}
.impulz-notifications .impulz-icon-button b:not([hidden]){display:flex !important;} .impulz-notifications .impulz-icon-button b[hidden]{display:none !important;}


/* Impulz header chat: use the existing Paradise Chat, styled like the notification button. */
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid #d9d8d0 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#20231e !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    cursor:pointer !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button:hover,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button:focus,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button:active{
    background:#fff !important;
    color:#20231e !important;
    border-color:#d9d8d0 !important;
    box-shadow:none !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button svg{
    width:21px !important;
    height:21px !important;
    display:block !important;
    fill:none !important;
    stroke:#20231e !important;
    stroke-width:1.6 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    opacity:1 !important;
    visibility:visible !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button svg path{
    fill:none !important;
    stroke:#20231e !important;
    stroke-width:1.6 !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button .paradise-chat-count:not([hidden]){
    display:flex !important;
    position:absolute !important;
    right:-3px !important;
    top:-4px !important;
    min-width:18px !important;
    height:18px !important;
    padding:0 4px !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:10px !important;
    background:#d64545 !important;
    color:#fff !important;
    font-size:11px !important;
    line-height:18px !important;
    font-weight:700 !important;
    z-index:5 !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button .paradise-chat-count[hidden]{display:none !important;}


/* Impulz Studio chat contact privacy / full-name contact requests */
.paradise-chat-name-search{margin:0 14px 12px;padding:12px;border:1px solid #e2ebe5;border-radius:13px;background:#fff;}
.paradise-chat-name-label{font-size:12px;line-height:1.4;color:#68776f;margin-bottom:8px;}
.paradise-chat-name-row{display:flex;gap:7px;}
.paradise-chat-name-row input{min-width:0;flex:1;border:1px solid #d5e1d9;border-radius:9px;padding:9px 10px;font:inherit;font-size:13px;outline:none;}
.paradise-chat-name-row input:focus{border-color:#9c9e80;box-shadow:0 0 0 2px rgba(156,158,128,.16);}
.paradise-chat-name-row button{border:0;border-radius:9px;padding:9px 12px;background:#18352a;color:#fff;font-weight:700;cursor:pointer;}
.paradise-chat-name-row button:disabled{opacity:.6;cursor:wait;}
.paradise-chat-name-result{margin-top:8px;}
.paradise-chat-name-result.is-error{font-size:12px;color:#b24a4a;padding:4px 2px;}
.paradise-chat-name-multiple{padding:4px 2px 8px;color:#68776f;font-size:12px}.paradise-chat-name-multiple strong{display:block;color:#33443c;font-size:13px;margin-bottom:2px}.paradise-chat-name-multiple small{display:block}
.paradise-chat-found{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #dce9e0;background:#f7faf8;border-radius:11px;padding:7px;cursor:pointer;color:inherit;}
.paradise-chat-found img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 38px;}
.paradise-chat-found span{min-width:0;flex:1;display:flex;flex-direction:column;}
.paradise-chat-found strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-found small{color:#829188;font-size:11px;margin-top:2px;}
.paradise-chat-found b{font-size:11px;color:#2f8e5d;white-space:nowrap;}
.paradise-chat-request-sent{padding:10px 11px;border-radius:11px;background:#f3f7f4;border:1px solid #dce9e0;display:flex;flex-direction:column;gap:3px;font-size:12px;}
.paradise-chat-request-sent span{color:#718077;}
.paradise-chat-requests{margin-bottom:8px;}
.paradise-chat-request{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:7px;align-items:center;margin:0 14px 7px;padding:8px;border:1px solid #dce9e0;border-radius:11px;background:#fff;}
.paradise-chat-request img{width:34px;height:34px;border-radius:50%;object-fit:cover;}
.paradise-chat-request>div{min-width:0;display:flex;flex-direction:column;}
.paradise-chat-request strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-request small{font-size:10px;color:#7b8881;margin-top:2px;}
.paradise-chat-request button{border:0;border-radius:8px;padding:7px 8px;background:#18352a;color:#fff;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap;}
.paradise-chat-request button.decline{background:#eef1ee;color:#52615a;}
@media(max-width:520px){.paradise-chat-request{grid-template-columns:34px minmax(0,1fr);}.paradise-chat-request button{grid-column:auto;}.paradise-chat-request button:nth-last-child(2){grid-column:2;}.paradise-chat-request button:last-child{grid-column:2;}}

/* Impulz notification badge: same red alert treatment as chat badge; hide at zero. */
body:has(.impulz-dashboard) .impulz-notifications .impulz-icon-button b[data-notifications-count]:not([hidden]){
    display:flex !important;
    position:absolute !important;
    right:-3px !important;
    top:-4px !important;
    min-width:18px !important;
    height:18px !important;
    padding:0 4px !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:10px !important;
    background:#d64545 !important;
    color:#fff !important;
    font-size:11px !important;
    line-height:18px !important;
    font-weight:700 !important;
    z-index:5 !important;
}
body:has(.impulz-dashboard) .impulz-notifications .impulz-icon-button b[data-notifications-count][hidden]{display:none !important;}

/* Impulz Studio — Hero true full-bleed: escape any remaining Astra/shortcode wrapper. */
body:has(.impulz-dashboard) .impulz-dashboard-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
}
@media(max-width:600px){
    body:has(.impulz-dashboard) .impulz-dashboard-hero{
        width:100vw !important;
        max-width:100vw !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
    }
}

/* Impulz Studio — remove the final Astra page-shell inset on the dashboard page. */
html:has(body.impulz-page),
html:has(body:has(.impulz-dashboard)){
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:none !important;
}
body:has(.impulz-dashboard),
body:has(.impulz-dashboard) #page,
body:has(.impulz-dashboard) .site,
body:has(.impulz-dashboard) .site-content,
body:has(.impulz-dashboard) .site-main,
body:has(.impulz-dashboard) .content-area,
body:has(.impulz-dashboard) .entry-content{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
    max-width:none !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-hero{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
}

/* Impulz Studio — Hero as a true independent viewport container.
 * The dashboard remains the normal content shell; only the Hero breaks out.
 */
html:has(body .impulz-dashboard),
html:has(body .impulz-dashboard) body{
    margin:0 !important;
    padding:0 !important;
}
body:has(.impulz-dashboard) .site,
body:has(.impulz-dashboard) #page,
body:has(.impulz-dashboard) .site-content,
body:has(.impulz-dashboard) .site-main,
body:has(.impulz-dashboard) .content-area,
body:has(.impulz-dashboard) .entry-content,
body:has(.impulz-dashboard) .ast-container{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
    max-width:none !important;
}
body:has(.impulz-dashboard) .impulz-dashboard-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
}

/* Impulz Studio — definitive Hero escape from Astra clipping containers. */
body:has(.impulz-dashboard),
body:has(.impulz-dashboard) #page,
body:has(.impulz-dashboard) .site,
body:has(.impulz-dashboard) .site-content,
body:has(.impulz-dashboard) .site-main,
body:has(.impulz-dashboard) .content-area,
body:has(.impulz-dashboard) .entry-content,
body:has(.impulz-dashboard) .ast-container,
body:has(.impulz-dashboard) .impulz-dashboard,
body:has(.impulz-dashboard) .impulz-dashboard-section{
    overflow-x:visible !important;
}

body:has(.impulz-dashboard) .impulz-dashboard-hero{
    display:block !important;
    box-sizing:border-box !important;
    position:relative !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    overflow:hidden !important;
}


/* Impulz Studio — full-width dashboard header, same approach as Hero */
.impulz-dashboard > .impulz-dashboard-header{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:50% !important;
  margin-right:0 !important;
  transform:translateX(-50%) !important;
  border-radius:0 !important;
}
@media (max-width: 767px){
  .impulz-dashboard > .impulz-dashboard-header{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
  }
}

/* Impulz header icon restoration: keep the established white circular buttons and dark line icons. */
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    flex:0 0 42px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid #d9d8d0 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#20231e !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button:hover,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button:focus,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button:active,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button:hover,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button:focus,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button:active{
    background:#fff !important;
    color:#20231e !important;
    border-color:#d9d8d0 !important;
    box-shadow:none !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button svg,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button svg{
    width:21px !important;
    height:21px !important;
    display:block !important;
    fill:none !important;
    stroke:#20231e !important;
    color:#20231e !important;
    opacity:1 !important;
    visibility:visible !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button svg path,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button svg path{
    fill:none !important;
    stroke:#20231e !important;
    stroke-width:1.6 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    stroke-opacity:1 !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button b,
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button b{
    position:absolute !important;
    right:-3px !important;
    top:-4px !important;
    min-width:18px !important;
    height:18px !important;
    padding:0 4px !important;
    border-radius:10px !important;
    background:#d64545 !important;
    color:#fff !important;
    font-size:11px !important;
    line-height:18px !important;
    font-weight:700 !important;
    align-items:center !important;
    justify-content:center !important;
}
body:has(.impulz-dashboard) .impulz-header-actions .impulz-icon-button b[hidden],
body:has(.impulz-dashboard) .impulz-header-actions .impulz-chat-button b[hidden]{display:none !important;}

/* Impulz Studio: tighter desktop modal widths. */
@media(min-width:601px){
  .paradise-trainer-action-modal-dialog{width:min(340px,100%)!important;max-width:340px!important;}
  .paradise-membership-modal-dialog{width:min(350px,100%)!important;max-width:350px!important;padding:22px 20px 18px;}
  .paradise-reward-modal-dialog{width:min(340px,100%)!important;max-width:340px!important;padding:22px 20px 18px;}
}

/* v79 — transparent chat controls, larger icons, responsive on all devices */
.paradise-chat-compose{align-items:flex-end;min-width:0;width:100%;}
.paradise-chat-tools{display:flex;gap:2px;align-items:center;flex:0 0 auto;}
.paradise-chat-tool,.paradise-chat-send{appearance:none;-webkit-appearance:none;width:46px;height:46px;min-width:46px;min-height:46px;padding:0!important;margin:0;border:0!important;border-radius:12px;background:transparent!important;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#3f9b67;}
.paradise-chat-tool:hover,.paradise-chat-tool:focus-visible,.paradise-chat-send:hover,.paradise-chat-send:focus-visible{background:transparent!important;color:#2f8658;box-shadow:none!important;outline:2px solid rgba(63,155,103,.18);outline-offset:-3px;}
.paradise-chat-tool svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.paradise-chat-tool[data-chat-emoji] svg{width:29px;height:29px;}
.paradise-chat-send svg{width:29px;height:29px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.paradise-chat-send:disabled,.paradise-chat-tool:disabled{opacity:.45;cursor:not-allowed;}
.paradise-chat-input-wrap{position:relative;flex:1 1 auto;min-width:0;}
.paradise-chat-input-wrap textarea{display:block;width:100%;box-sizing:border-box;}
.paradise-chat-emoji-picker{position:absolute;left:0;bottom:calc(100% + 8px);z-index:10;width:min(330px,80vw);max-width:calc(100vw - 24px);padding:10px;background:#fff;border:1px solid #dfe8e3;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.14);font-size:23px;line-height:1.8;word-spacing:5px;cursor:pointer;}
.paradise-chat-attachment-name{font-size:11px;color:#47715b;padding:4px 5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.paradise-chat-image-link{display:block;max-width:100%;}
.paradise-chat-image{display:block;max-width:min(280px,100%);max-height:320px;width:auto;height:auto;border-radius:12px;object-fit:cover;}
.paradise-chat-message.mine .paradise-chat-image{border:2px solid #3f9b67;}
.paradise-chat-message.theirs .paradise-chat-image{border:2px solid #edf4ef;}
@media(max-width:700px){
 .paradise-chat-compose{padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left));gap:3px;}
 .paradise-chat-tools{gap:0;}
 .paradise-chat-tool,.paradise-chat-send{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px;}
 .paradise-chat-tool svg{width:27px;height:27px;}
 .paradise-chat-tool[data-chat-emoji] svg,.paradise-chat-send svg{width:28px;height:28px;}
 .paradise-chat-image{max-width:min(240px,78vw);max-height:280px;}
 .paradise-chat-emoji-picker{width:min(300px,calc(100vw - 24px));font-size:21px;}
}
@media(min-width:701px){
 .paradise-chat-compose{padding-left:14px;padding-right:14px;}
}
@media(max-width:380px){
 .paradise-chat-tool,.paradise-chat-send{width:40px;height:40px;min-width:40px;min-height:40px;}
 .paradise-chat-tool svg{width:25px;height:25px;}
 .paradise-chat-tool[data-chat-emoji] svg,.paradise-chat-send svg{width:26px;height:26px;}
 .paradise-chat-compose{gap:1px;}
}

/* v80 — chat composer controls: transparent background, visible green icons, responsive touch targets */
.paradise-chat-compose .paradise-chat-tool,
.paradise-chat-compose .paradise-chat-send{
  background:transparent !important;
  color:#3f9b67 !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  min-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 48px !important;
}
.paradise-chat-compose .paradise-chat-tool svg,
.paradise-chat-compose .paradise-chat-send svg{
  width:30px !important;
  height:30px !important;
  color:#3f9b67 !important;
  stroke:currentColor !important;
  fill:none;
  opacity:1 !important;
}
.paradise-chat-compose .paradise-chat-tool:disabled,
.paradise-chat-compose .paradise-chat-send:disabled{opacity:.55 !important;color:#3f9b67 !important;}
.paradise-chat-compose .paradise-chat-tool:hover,
.paradise-chat-compose .paradise-chat-tool:focus-visible,
.paradise-chat-compose .paradise-chat-send:hover,
.paradise-chat-compose .paradise-chat-send:focus-visible{
  background:transparent !important;
  color:#2f8658 !important;
  outline:2px solid rgba(63,155,103,.18);
  outline-offset:-3px;
}
@media(max-width:700px){
  .paradise-chat-compose .paradise-chat-tool,
  .paradise-chat-compose .paradise-chat-send{width:46px !important;min-width:46px !important;height:46px !important;min-height:46px !important;flex-basis:46px !important;}
  .paradise-chat-compose .paradise-chat-tool svg,
  .paradise-chat-compose .paradise-chat-send svg{width:29px !important;height:29px !important;}
}
@media(max-width:380px){
  .paradise-chat-compose .paradise-chat-tool,
  .paradise-chat-compose .paradise-chat-send{width:44px !important;min-width:44px !important;height:44px !important;min-height:44px !important;flex-basis:44px !important;}
  .paradise-chat-compose .paradise-chat-tool svg,
  .paradise-chat-compose .paradise-chat-send svg{width:28px !important;height:28px !important;}
}
