:root {
    --dashboard-blue: #2563eb;
    --dashboard-green: #16a34a;
    --dashboard-purple: #7c3aed;
    --dashboard-red: #dc2626;
    --dashboard-ink: #172033;
    --dashboard-muted: #6b7280;
    --dashboard-line: #e8edf5;
}

/* Parent dashboard reference layout */
.parent-dashboard-v3 { background:linear-gradient(180deg,#fbfefc 0,#f6faf8 100%); }
.parent-dashboard-greeting p i { color:#12a656;font-size:.65rem;margin-left:.15rem; }
.parent-dashboard-v3 .parent-summary-grid { display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:.7rem 0; }
.parent-dashboard-v3 .parent-summary-grid a { background:#fff;border:1px solid #e2eee7;border-radius:.85rem;box-shadow:0 .2rem .8rem rgba(22,72,45,.045);color:#15213e;display:flex;flex-direction:column;min-height:7rem;padding:.75rem;text-decoration:none; }
.parent-dashboard-v3 .parent-summary-icon { align-items:center;background:#e7f8ef;border-radius:50%;color:#11a653;display:flex;height:2.2rem;justify-content:center;margin-bottom:.35rem;width:2.2rem; }
.parent-dashboard-v3 .parent-summary-icon i { color:#11a653;font-size:1rem; }
.parent-dashboard-v3 .parent-summary-grid strong { font-size:1.15rem;line-height:1.15; }
.parent-dashboard-v3 .parent-summary-grid a > span:last-child { color:#657188;font-size:.64rem;line-height:1.25;margin-top:.15rem; }
.parent-dashboard-v3 .parent-journey-section { background:#fff;border:1px solid #e2eee7;border-radius:.85rem;box-shadow:0 .2rem .8rem rgba(22,72,45,.04);padding:.25rem .75rem .55rem; }
.parent-dashboard-v3 .parent-timeline li.declined .parent-timeline-icon { background:#fdecec;color:#c53b45; }
.parent-dashboard-v3 .parent-add-child-fab { align-items:center;background:linear-gradient(135deg,#20b968,#0b9149);border:0;border-radius:50%;bottom:1.5rem;box-shadow:0 .45rem 1.2rem rgba(11,145,73,.32);color:#fff;display:flex;font-size:1.15rem;height:3.25rem;justify-content:center;margin:0;position:fixed;right:1.5rem;transition:transform .18s ease,box-shadow .18s ease;width:3.25rem;z-index:1040; }
.parent-dashboard-v3 .parent-add-child-fab:hover { box-shadow:0 .55rem 1.4rem rgba(11,145,73,.4);transform:translateY(-2px); }
.parent-dashboard-v3 .parent-add-child-fab:focus-visible { outline:3px solid rgba(18,166,86,.28);outline-offset:3px; }
.parent-link-sheet-backdrop { align-items:flex-end;background:rgba(10,25,18,.46);display:flex;inset:0;justify-content:center;position:fixed;z-index:1100; }
.parent-link-sheet { animation:parent-sheet-up .24s ease-out;background:#fff;border-radius:1.25rem 1.25rem 0 0;box-shadow:0 -1rem 3rem rgba(10,45,27,.2);max-width:34rem;padding:.65rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));width:100%; }
.parent-link-sheet-handle { background:#d5dce0;border-radius:99px;display:block;height:.28rem;margin:0 auto .85rem;width:3rem; }
.parent-link-sheet header { align-items:center;display:grid;gap:.75rem;grid-template-columns:2.7rem minmax(0,1fr) 2.25rem;margin-bottom:1.15rem; }
.parent-link-sheet header > span:nth-child(2) { display:block; }
.parent-link-sheet header h2 { color:#15213e;font-size:1.05rem;font-weight:850;margin:0; }
.parent-link-sheet header p { color:#748096;font-size:.68rem;line-height:1.4;margin:.15rem 0 0; }
.parent-link-sheet-icon { align-items:center;background:#e7f8ef;border-radius:.75rem;color:#0d9e50;display:flex;font-size:1.15rem;height:2.7rem;justify-content:center; }
.parent-link-sheet header button { background:#f3f6f4;border:0;border-radius:50%;color:#26344e;height:2.25rem;width:2.25rem; }
.parent-link-sheet-field label { color:#26344e;display:block;font-size:.7rem;font-weight:750;margin-bottom:.35rem; }
.parent-link-sheet-field > div { align-items:center;background:#f8faf9;border:1px solid #dce6e0;border-radius:.75rem;display:flex;padding:0 .8rem;transition:border-color .15s,box-shadow .15s; }
.parent-link-sheet-field > div:focus-within { border-color:#12a656;box-shadow:0 0 0 .2rem rgba(18,166,86,.12); }
.parent-link-sheet-field i { color:#12a656;font-size:1rem; }
.parent-link-sheet-field input { background:transparent;border:0;color:#15213e;font-size:.8rem;min-width:0;outline:0;padding:.85rem .65rem;width:100%; }
.parent-link-sheet-message { align-items:center;border-radius:.65rem;display:flex;font-size:.68rem;gap:.45rem;margin-top:.75rem;padding:.65rem .75rem; }
.parent-link-sheet-message.success { background:#e9f9f0;color:#08783b; }.parent-link-sheet-message.error { background:#fff0f0;color:#b4232c; }
.parent-link-sheet-actions { display:grid;gap:.65rem;grid-template-columns:1fr 1.4fr;margin-top:1rem; }
.parent-link-sheet-actions button { border-radius:.7rem;font-size:.74rem;font-weight:800;min-height:2.8rem;padding:.65rem 1rem; }
.parent-sheet-cancel { background:#fff;border:1px solid #b9c8bf;color:#35443c; }.parent-sheet-submit { align-items:center;background:linear-gradient(135deg,#20b968,#0b9149);border:0;color:#fff;display:flex;gap:.45rem;justify-content:center; }
.parent-link-sheet-actions button:disabled { cursor:not-allowed;opacity:.62; }
@keyframes parent-sheet-up { from { opacity:.6;transform:translateY(100%); } to { opacity:1;transform:translateY(0); } }

@media (max-width:767px) {
    .parent-dashboard-v3 { padding:.75rem; }
    .parent-dashboard-v3 .parent-dashboard-greeting h1 { font-size:1.35rem; }
    .parent-dashboard-v3 .parent-child-card { grid-template-columns:3.2rem minmax(0,1fr) auto auto;padding:.75rem; }
    .parent-dashboard-v3 .parent-child-avatar { height:3.2rem;width:3.2rem; }
    .parent-dashboard-v3 .parent-child-progress,.parent-dashboard-v3 .parent-child-bar { min-width:4rem;width:4rem; }
    .parent-dashboard-v3 .parent-summary-grid { gap:.5rem; }
    .parent-dashboard-v3 .parent-summary-grid a { min-height:6.8rem;padding:.65rem .55rem; }
    .parent-dashboard-v3 .parent-list-card { grid-template-columns:2.4rem minmax(0,1fr) auto; }
    .parent-dashboard-v3 .parent-add-child-fab { bottom:5.5rem;right:1rem; }
}

/* Club dashboard full-page loading overlay */
.club-dashboard-loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(2px);
    z-index: 9999;
}

.club-dashboard-loading .spinner-border {
    width: 3.5rem;
    height: 3.5rem;
    border-width: 0.4em;
    color: var(--role-color);
}

/* Ensure mobile nav links are always clickable over page content */
.dashboard-mobile-nav,
.dashboard-mobile-nav a,
.dashboard-mobile-nav a span,
.dashboard-mobile-nav button,
.dashboard-mobile-nav button span {
    pointer-events: auto;
}

.dashboard-mobile-nav a,
.dashboard-mobile-nav button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

.role-dashboard {
    --role-color: var(--dashboard-blue);
    --role-tint: #eff6ff;
    color: var(--dashboard-ink);
    margin: 0 auto;
    max-width: 1440px;
}

.role-parent { --role-color: var(--dashboard-green); --role-tint: #f0fdf4; }
.role-club { --role-color: #003da5; --role-tint: #eef5ff; }
.role-admin { --role-color: #6B0C95; --role-tint: #f5ecfa; }

.dashboard-welcome { margin-bottom: 1.25rem; }
.dashboard-welcome h1 { color: var(--dashboard-ink); font-size: clamp(1.35rem, 2vw, 1.8rem); margin: 0 0 .25rem; }
.dashboard-welcome p { color: var(--dashboard-muted); font-size: .875rem; margin: 0; }
.dashboard-overview { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1rem; }
.dashboard-metric, .dashboard-panel, .dashboard-list-item { background: #fff; border: 1px solid var(--dashboard-line); border-radius: .75rem; }
.dashboard-metric { min-height: 5.8rem; padding: 1rem; }
.dashboard-metric-icon { color: var(--role-color); display: block; font-size: 1.6rem; line-height: 1; margin-bottom: .35rem; }
.dashboard-metric strong { color: var(--dashboard-ink); display: block; font-size: 1.35rem; line-height: 1.1; }
.dashboard-metric span { color: var(--dashboard-muted); font-size: .72rem; }
.dashboard-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-panel { min-width: 0; padding: 1rem; }
.dashboard-panel-wide { grid-column: span 2; }
.dashboard-panel-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: .85rem; }
.dashboard-panel h2 { color: var(--dashboard-ink); font-size: .95rem; margin: 0; }
.dashboard-view-all { color: var(--role-color); font-size: .7rem; font-weight: 700; text-decoration: none; }
.dashboard-list { display: flex; flex-direction: column; gap: .5rem; }
.dashboard-list-item { align-items: center; display: grid; gap: .65rem; grid-template-columns: 2rem 1fr auto; padding: .55rem; }
.dashboard-list-icon { align-items: center; background: var(--role-tint); border-radius: 50%; color: var(--role-color); display: flex; font-size: 1.3rem; height: 2rem; justify-content: center; width: 2rem; }
.dashboard-list-item strong { display: block; font-size: .78rem; }
.dashboard-list-item small { color: var(--dashboard-muted); display: block; font-size: .67rem; margin-top: .1rem; }
.dashboard-status { background: var(--role-tint); border-radius: 99px; color: var(--role-color); font-size: .62rem; font-weight: 700; padding: .25rem .45rem; white-space: nowrap; }
.dashboard-chart { align-items: end; border-bottom: 1px solid var(--dashboard-line); display: flex; gap: .6rem; height: 9rem; padding: 0 .5rem; }
.dashboard-chart i { background: var(--role-color); border-radius: .3rem .3rem 0 0; flex: 1; min-width: .6rem; opacity: .85; }
.dashboard-profile-card { background: linear-gradient(120deg, var(--role-color), #172c59); border-radius: .75rem; color: white; padding: 1rem; }
.dashboard-profile-card strong { display: block; }
.dashboard-profile-card span { font-size: .75rem; opacity: .9; }
.dashboard-people { display: flex; gap: .7rem; }
.dashboard-person { align-items: center; display: flex; flex-direction: column; font-size: .68rem; gap: .25rem; }
.dashboard-person-empty { color: #6b7280; font-size: .8rem; padding: .5rem 0; }
.dashboard-avatar { align-items: center; background: var(--role-tint); border: 2px solid white; border-radius: 50%; color: var(--role-color); display: flex; font-size: .8rem; font-weight: 800; height: 2.75rem; justify-content: center; width: 2.75rem; }
.dashboard-mobile-nav { display: none; }

/* Player trial discovery and details */
.player-page-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.player-page-heading h1 { font-size: 1.65rem; margin: 0; }
.player-page-heading p { color: var(--dashboard-muted); margin: .25rem 0 0; }
.player-trial-search { align-items: center; background: #fff; border: 1px solid var(--dashboard-line); border-radius: .75rem; display: flex; gap: .55rem; max-width: 22rem; padding: .7rem .85rem; width: 100%; }
.player-trial-search i { color: var(--dashboard-muted); }
.player-trial-search input { border: 0; min-width: 0; outline: 0; width: 100%; }
.player-trial-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.player-trial-card { align-items: center; background: #fff; border: 1px solid var(--dashboard-line); border-radius: .9rem; cursor: pointer; display: grid; gap: .8rem; grid-template-columns: 3.5rem 1fr auto; padding: .85rem; transition: transform .15s ease, box-shadow .15s ease; }
.player-trial-card:hover { box-shadow: 0 10px 24px rgba(15, 23, 42, .08); transform: translateY(-1px); }
.player-trial-card-icon { align-items: center; background: var(--role-tint); border-radius: .75rem; color: var(--role-color); display: flex; font-size: 1.35rem; height: 3.5rem; justify-content: center; }
.player-trial-card-copy { min-width: 0; }
.player-trial-card-copy small { color: var(--dashboard-muted); }
.player-trial-card h2 { font-size: .95rem; margin: .15rem 0 .4rem; }
.player-trial-card p { color: var(--dashboard-muted); font-size: .72rem; margin: .18rem 0; }
.player-trial-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.player-trial-tags span { background: var(--role-tint); border-radius: 99px; color: var(--role-color); font-size: .65rem; font-weight: 700; padding: .25rem .5rem; }
.player-trial-empty { background: #fff; border: 1px solid var(--dashboard-line); border-radius: .9rem; padding: 3rem 1rem; text-align: center; }
.player-trial-empty > i { color: var(--role-color); font-size: 2.3rem; }
.player-trial-empty h2 { font-size: 1.1rem; margin: .65rem 0 .25rem; }
.player-trial-empty p { color: var(--dashboard-muted); margin: 0; }
.player-back-link { background: transparent; border: 0; color: var(--role-color); font-weight: 700; margin: 0 0 .8rem; padding: 0; }
.player-trial-hero { background: linear-gradient(120deg, var(--role-color), #172c59); border-radius: 1rem; color: #fff; padding: 1.5rem; }
.player-trial-hero > span { font-size: .75rem; opacity: .85; }
.player-trial-hero h1 { font-size: 1.65rem; margin: .25rem 0 .4rem; }
.player-trial-hero p { margin: 0; max-width: 50rem; opacity: .9; }
.player-trial-hero .player-trial-tags span { background: rgba(255,255,255,.14); color: #fff; }
.player-trial-detail-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.player-trial-detail-grid h2 { margin-bottom: .8rem; }
.player-trial-detail-grid p { color: var(--dashboard-muted); font-size: .85rem; }

/* Player dashboard v3 */
.player-dashboard-v3 { max-width: 980px; }
.player-dashboard-greeting { margin-bottom:.85rem; }
.player-dashboard-greeting h1 { color:#14213d; font-size:1.55rem; font-weight:800; margin:0; }
.player-dashboard-greeting p { color:var(--dashboard-muted); font-size:.82rem; margin:.15rem 0 0; }
.player-completion-card { align-items:center; background:#fff; border:1px solid #f0dfe3; border-radius:.85rem; box-shadow:0 5px 16px rgba(44,22,30,.05); display:grid; gap:.8rem; grid-template-columns:auto 1fr auto; margin-bottom:.75rem; padding:.75rem; }
.player-completion-ring { align-items:center; background:conic-gradient(var(--role-color) calc(var(--completion) * 1%), #f1e4e7 0); border-radius:50%; display:flex; height:3.75rem; justify-content:center; position:relative; width:3.75rem; }
.player-completion-ring::after { background:#fff; border-radius:50%; content:""; inset:.38rem; position:absolute; }
.player-completion-ring strong { color:#14213d; font-size:.8rem; position:relative; z-index:1; }
.player-completion-copy { display:flex; flex-direction:column; min-width:0; }
.player-completion-copy strong { color:#14213d; font-size:.86rem; }
.player-completion-copy span { color:var(--dashboard-muted); font-size:.68rem; line-height:1.35; margin-top:.15rem; }
.player-completion-card button,
.player-opportunity-banner button,
.player-recommendation-card button { align-items:center; background:linear-gradient(135deg,#f13a4a,var(--role-color)); border:0; border-radius:.55rem; color:#fff; display:inline-flex; font-size:.7rem; font-weight:800; gap:.25rem; justify-content:center; padding:.65rem .8rem; }
.player-opportunity-banner { background:linear-gradient(110deg,#ffe8e8 0%,#ffd2d6 65%,#f13a4a 65%,#c41e3a 100%); border-radius:.9rem; display:grid; grid-template-columns:minmax(0,1fr) 34%; margin-bottom:.75rem; min-height:9.5rem; overflow:hidden; padding:1rem 1.15rem; position:relative; }
.player-opportunity-banner h2 { color:#a9162f; font-size:1.45rem; font-weight:900; line-height:1.02; margin:0; }
.player-opportunity-banner p { color:#5f4650; font-size:.7rem; line-height:1.35; margin:.35rem 0 .65rem; max-width:22rem; }
.player-opportunity-art { align-items:center; color:#fff; display:flex; justify-content:center; position:relative; }
.player-opportunity-art > i { font-size:5.3rem; transform:rotate(12deg); }
.player-opportunity-art > span { bottom:.2rem; color:initial; font-size:1.7rem; left:.2rem; position:absolute; }
.player-summary-grid { display:grid; gap:.6rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:.95rem; }
.player-summary-grid.player-summary-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.player-status-summary{background:linear-gradient(145deg,#fff,#fff8f9);border:1px solid #ecdfe3;border-radius:.85rem;box-shadow:0 5px 16px rgba(196,30,58,.05);margin-bottom:.8rem;padding:.8rem}.player-status-summary>header{align-items:center;display:flex;gap:.65rem;margin-bottom:.65rem}.player-status-summary>header>span{align-items:center;background:#ffeaee;border-radius:.6rem;color:#c41e3a;display:flex;font-size:1rem;height:2.35rem;justify-content:center;width:2.35rem}.player-status-summary header div{display:flex;flex-direction:column}.player-status-summary h2{color:#14213d;font-size:max(.82rem,13px);margin:0}.player-status-summary p{color:#536077;font-size:max(.68rem,11px);margin:0}.player-status-summary-grid{display:grid;gap:.45rem;grid-template-columns:repeat(5,minmax(0,1fr))}.player-status-summary-item{align-items:center;background:#fff;border:1px solid #e7e9ef;border-radius:.65rem;color:#263752;display:grid;grid-template-columns:auto 1fr;gap:.05rem .4rem;min-width:0;padding:.55rem;text-decoration:none}.player-status-summary-item>i{font-size:1rem;grid-row:1/3}.player-status-summary-item>strong{font-size:max(.9rem,14px);line-height:1}.player-status-summary-item>span{font-size:max(.64rem,10.5px);overflow:hidden;text-overflow:ellipsis}.player-status-summary-item.shortlisted>i{color:#7c3aed}.player-status-summary-item.approved>i{color:#08783b}.player-status-summary-item.invited>i{color:#0758b8}.player-status-summary-item.accepted>i{color:#117a45}.player-status-summary-item.rejected>i{color:#b91c1c}.talent-passport>.player-status-summary{margin-top:.85rem}
.player-summary-grid article { align-items:center; background:#fff; border:1px solid #f0e5e8; border-radius:.75rem; display:flex; gap:.65rem; min-width:0; padding:.75rem; }
.player-summary-grid article > i { color:#f22d43; font-size:1.25rem; }
.player-summary-grid article.player-summary-link { cursor:pointer; }
.player-summary-grid article.player-summary-link:hover, .player-summary-grid article.player-summary-link:focus-visible { border-color:#f22d43; outline:none; }
.player-summary-grid article div { display:grid; min-width:0; }
.player-summary-grid strong { color:#14213d; font-size:1.15rem; line-height:1; }
.player-summary-grid span { color:#14213d; font-size:.72rem; font-weight:800; margin-top:.2rem; }
.player-summary-grid small { color:var(--dashboard-muted); font-size:.58rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-dashboard-section { margin-top:.85rem; }
.player-section-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:.5rem; }
.player-section-heading h2 { color:#14213d; font-size:.95rem; font-weight:800; margin:0; }
.player-section-heading a { color:var(--role-color); font-size:.68rem; font-weight:800; text-decoration:none; }
.player-recommendation-grid { display:grid; gap:.65rem; grid-template-columns:1fr; }
.player-recommendation-card { align-items:center; background:#fff; border:1px solid #ece4e7; border-radius:.8rem; box-shadow:0 5px 14px rgba(32,20,24,.045); display:grid; gap:.85rem; grid-template-columns:minmax(145px,.85fr) minmax(190px,1.35fr) auto; padding:.75rem; }
.player-club-row { align-items:center; display:grid; gap:.55rem; grid-template-columns:2.5rem 1fr; margin:0; }
.player-club-row > span { align-items:center; background:#101d3b; border-radius:.55rem; color:#fff; display:flex; font-size:1.25rem; height:2.5rem; justify-content:center; }
.player-club-row div { display:flex; flex-direction:column; min-width:0; }
.player-club-row small { color:var(--dashboard-muted); font-size:.62rem; }
.player-club-row strong { color:#14213d; font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-recommendation-card p { color:#566078; font-size:.62rem; margin:.18rem 0; }
.player-recommendation-card p i { color:#172444; margin-right:.3rem; width:.8rem; }
.player-trial-availability { background:#e8f8ec; border-radius:99px; color:#188142; display:inline-flex; font-size:.58rem; gap:.3rem; margin:.35rem 0 .55rem; padding:.25rem .45rem; }
.player-trial-availability i { font-size:.38rem; }
.player-recommendation-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.15rem .65rem; }
.player-recommendation-details .player-trial-availability { justify-self:start; margin:.18rem 0 0; }
.player-recommendation-card button { min-width:105px; white-space:nowrap; }
.player-update-list { background:#fff; border:1px solid #ece4e7; border-radius:.8rem; overflow:hidden; }
.player-update-list a { align-items:center; border-bottom:1px solid #eef0f4; color:#14213d; display:grid; gap:.65rem; grid-template-columns:2rem 1fr auto auto; padding:.62rem .7rem; text-decoration:none; }
.player-update-list a:last-child { border-bottom:0; }
.player-update-icon { align-items:center; border-radius:50%; color:#fff; display:flex; height:2rem; justify-content:center; width:2rem; }
.player-update-icon.submitted { background:#20ae62; }
.player-update-icon.shortlisted { background:#2780d9; }
.player-update-icon.invited { background:#ef3347; }
.player-update-list a > span:nth-child(2) { display:flex; flex-direction:column; min-width:0; }
.player-update-list strong { font-size:.7rem; }
.player-update-list small { color:var(--dashboard-muted); font-size:.6rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-update-list time { color:#758198; font-size:.6rem; white-space:nowrap; }
.player-update-list a > i { color:#7f899d; font-size:.72rem; }
.player-application-list { display:grid; gap:.65rem; }
.player-application-card { align-items:center; background:#fff; border:1px solid #ece4e7; border-radius:.8rem; box-shadow:0 5px 14px rgba(32,20,24,.045); display:grid; gap:.8rem; grid-template-columns:minmax(145px,.85fr) minmax(180px,1.2fr) minmax(125px,.8fr) auto; padding:.75rem; }
.player-application-club { align-items:center; display:grid; gap:.55rem; grid-template-columns:2.5rem minmax(0,1fr); }
.player-application-club>span { align-items:center; background:#101d3b; border-radius:.55rem; color:#fff; display:flex; font-size:1.15rem; height:2.5rem; justify-content:center; }
.player-application-club>div,.player-application-state { display:flex; flex-direction:column; min-width:0; }
.player-application-club small,.player-application-state small { color:var(--dashboard-muted); font-size:.62rem; }
.player-application-club strong { color:#14213d; font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-application-details { display:grid; gap:.18rem; }
.player-application-details p { color:#566078; font-size:.62rem; margin:0; }
.player-application-details i { color:#172444; margin-right:.3rem; }
.player-application-state { gap:.3rem; }
.player-application-status { align-items:center; border-radius:99px; display:inline-flex; font-size:.65rem; font-weight:800; gap:.3rem; padding:.35rem .55rem; width:max-content; }
.player-application-status.submitted { background:#e8f8ec; color:#188142; }.player-application-status.shortlisted { background:#e8f2ff; color:#1769b0; }.player-application-status.approved { background:#e8f8ec; color:#188142; }.player-application-status.rejected { background:#fdebed; color:#b42335; }
.player-application-view { align-items:center; background:linear-gradient(135deg,#f13a4a,var(--role-color)); border-radius:.55rem; color:#fff; display:inline-flex; font-size:.7rem; font-weight:800; gap:.25rem; justify-content:center; padding:.65rem .8rem; text-decoration:none; white-space:nowrap; }
.player-applications-page { max-width:980px; }.player-applications-page .player-page-heading { margin-bottom:1rem; }
.player-dashboard-empty { background:#fff; border:1px dashed #ead4d9; border-radius:.75rem; color:var(--dashboard-muted); font-size:.75rem; padding:1.25rem; text-align:center; }

/* Club dashboard v3 */
.role-club-dashboard-v2 { max-width:980px; padding-top:0; }
.club-dashboard-welcome { align-items:center; display:flex; justify-content:space-between; margin-bottom:.75rem; }
.club-dashboard-welcome span { color:#667085; font-size:.8rem; }
.club-dashboard-welcome h1 { color:#15213e; font-size:1.45rem; font-weight:850; line-height:1.05; margin:.08rem 0 .3rem; }
.club-dashboard-welcome small { background:#e6f8f5; border-radius:99px; color:#168d83; display:inline-flex; font-size:.62rem; gap:.28rem; padding:.22rem .45rem; }
.club-dashboard-welcome button { align-items:center; background:linear-gradient(135deg,#1769d2,#003da5); border:0; border-radius:.7rem; color:#fff; display:flex; font-size:.72rem; font-weight:800; gap:.35rem; padding:.75rem 1rem; }
.club-dashboard-summary { display:grid; gap:.55rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:.85rem; }
.club-dashboard-summary article { background:linear-gradient(135deg,#f7faff,#eaf3ff); border:1px solid #d9e8fb; border-radius:.75rem; display:grid; gap:.12rem; grid-template-columns:auto 1fr; padding:.72rem; }
.club-dashboard-summary article:nth-child(2) { background:linear-gradient(135deg,#f8fbff,#eaf3ff); border-color:#dfeafb; }
.club-dashboard-summary article > i { color:#1769d2; font-size:1.25rem; grid-row:1/3; margin-right:.45rem; }
.club-dashboard-summary span { color:#4d5770; font-size:.65rem; }
.club-dashboard-summary strong { color:#18213c; font-size:1.2rem; line-height:1; }
.club-dashboard-section { margin-top:.75rem; }
.club-dashboard-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:.4rem; }
.club-dashboard-heading h2 { color:#15213e; font-size:.88rem; font-weight:850; margin:0; }
.club-dashboard-heading a { color:#0057b8; font-size:.64rem; font-weight:750; text-decoration:none; }
.club-upcoming-list { display:grid; gap:.65rem; }
.club-upcoming-card { align-items:center; background:#fff; border:1px solid #e8e8f1; border-radius:.8rem; cursor:pointer; display:grid; gap:.7rem; grid-template-columns:3.35rem 1fr auto; padding:.7rem; }
.club-upcoming-card time { align-items:center; background:#eaf3ff; border-radius:.55rem; color:#003da5; display:flex; flex-direction:column; height:3.8rem; justify-content:center; }
.club-upcoming-card time small { font-size:.56rem; font-weight:800; }
.club-upcoming-card time strong { color:#17213d; font-size:1.2rem; line-height:1; }
.club-upcoming-card time span { font-size:.52rem; }
.club-upcoming-card h3 { color:#17213d; font-size:.78rem; margin:.18rem 0; }
.club-upcoming-card p { color:#6f7890; font-size:.6rem; margin:0; }
.club-published { background:#e5f7eb; border-radius:99px; color:#278847; display:inline-block; font-size:.53rem; padding:.17rem .4rem; }
.club-upcoming-card button { background:#eaf3ff; border:0; border-radius:.5rem; color:#003da5; font-size:.62rem; font-weight:750; padding:.55rem .65rem; }
.club-applications-overview { align-items:center; background:#fff; border:1px solid #e8e8f1; border-radius:.8rem; display:grid; gap:.8rem; grid-template-columns:1fr auto 1fr; padding:.75rem; }
.club-applications-overview .club-dashboard-heading { align-self:start; grid-column:1/-1; width:100%; }
.club-application-chart { align-items:center; background:conic-gradient(#003da5 0 var(--new-end),#4f8bd8 var(--new-end) var(--review-end),#9bc1ee var(--review-end) 100%); border-radius:50%; display:flex; height:7rem; justify-content:center; position:relative; width:7rem; }
.club-application-chart::after { background:#fff; border-radius:50%; content:""; inset:1rem; position:absolute; }
.club-application-chart div { display:flex; flex-direction:column; position:relative; text-align:center; z-index:1; }
.club-application-chart strong { color:#17213d; font-size:1.2rem; }
.club-application-chart span { color:#677087; font-size:.55rem; }
.club-application-legend { min-width:11rem; }
.club-application-legend p { align-items:center; display:grid; font-size:.64rem; gap:.4rem; grid-template-columns:.55rem 1fr auto; margin:.45rem 0; }
.club-application-legend i { background:#003da5; border-radius:50%; height:.55rem; width:.55rem; }
.club-application-legend i.reviewing { background:#4f8bd8; }
.club-application-legend i.shortlisted { background:#9bc1ee; }
.club-application-list,.club-task-list { background:#fff; border:1px solid #e8e8f1; border-radius:.8rem; overflow:hidden; }
.club-application-list a,.club-task-list a { align-items:center; border-bottom:1px solid #eef0f5; color:#17213d; display:grid; gap:.6rem; grid-template-columns:2.25rem 1fr auto auto; padding:.56rem .65rem; text-decoration:none; }
.club-application-list a:last-child,.club-task-list a:last-child { border-bottom:0; }
.club-applicant-avatar { align-items:center; background:#e7f1ff; border-radius:50%; color:#003da5; display:flex; font-size:.65rem; font-weight:800; height:2.25rem; justify-content:center; overflow:hidden; width:2.25rem; }
.club-applicant-avatar img { height:100%; object-fit:cover; width:100%; }
.club-application-list a > span:nth-child(2),.club-task-list a > span { display:flex; flex-direction:column; min-width:0; }
.club-application-list strong,.club-task-list strong { font-size:.68rem; }
.club-application-list small,.club-task-list small { color:#737d94; font-size:.57rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.club-application-list em { border-radius:.4rem; font-size:.52rem; font-style:normal; padding:.2rem .45rem; }
.club-application-list em.new { background:#e7f1ff; color:#003da5; }.club-application-list em.reviewing { background:#e9f2ff; color:#2971c4; }.club-application-list em.shortlisted { background:#e4f8ea; color:#238447; }
.club-application-list a > i,.club-task-list a > i:last-child { color:#7b8499; font-size:.7rem; }
.club-task-list a { grid-template-columns:2rem 1fr auto; }
.club-task-list a > i:first-child { align-items:center; background:#e7f1ff; border-radius:.5rem; color:#003da5; display:flex; height:2rem; justify-content:center; }
.club-dashboard-empty { background:#fff; border:1px dashed #dcd5eb; border-radius:.75rem; color:#737d94; font-size:.72rem; padding:1.1rem; text-align:center; }

/* Parent dashboard v3 */
.parent-dashboard-v3,.admin-dashboard-v3 { max-width:980px; }
.parent-dashboard-greeting h1,.admin-dashboard-greeting h1 { color:#15213e; font-size:1.4rem; font-weight:850; margin:0; }.parent-dashboard-greeting p,.admin-dashboard-greeting p { color:#758097; font-size:.72rem; margin:.15rem 0 .65rem; }
.parent-child-card,.parent-action-card,.parent-support-card { align-items:center; background:#fff; border:1px solid #e2eee7; border-radius:.8rem; color:#15213e; display:grid; gap:.65rem; grid-template-columns:2.8rem 1fr auto auto; margin-bottom:.55rem; padding:.65rem; text-decoration:none; }.parent-child-avatar { align-items:center; background:#e9f8ef; border-radius:50%; color:#15934d; display:flex; font-size:.7rem; font-weight:800; height:2.8rem; justify-content:center; overflow:hidden; width:2.8rem; }.parent-child-avatar img { height:100%;object-fit:cover;width:100%; }.parent-child-card > span:nth-child(2),.parent-action-card span,.parent-support-card span { display:flex;flex-direction:column;min-width:0; }.parent-child-card strong,.parent-action-card strong,.parent-support-card strong { font-size:.72rem; }.parent-child-card small,.parent-action-card small,.parent-support-card small { color:#748096;font-size:.6rem; }.parent-child-card em { background:#e6f8ed;border-radius:99px;color:#18874a;font-size:.52rem;font-style:normal;padding:.2rem .4rem; }.parent-action-card { background:#eaf9f0;grid-template-columns:2.6rem 1fr auto; }.parent-action-card > i:first-child { align-items:center;background:#18a65b;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:2.6rem;justify-content:center; }.parent-summary-grid { display:grid;gap:.45rem;grid-template-columns:repeat(3,1fr);margin:.65rem 0; }.parent-summary-grid a { background:#fff;border:1px solid #e2eee7;border-radius:.7rem;color:#15213e;display:grid;padding:.6rem;text-decoration:none; }.parent-summary-grid i { color:#11a653; }.parent-summary-grid strong { font-size:1rem; }.parent-summary-grid span { color:#657188;font-size:.55rem; }.parent-section-heading,.admin-dashboard-heading { align-items:center;display:flex;justify-content:space-between;margin:.7rem 0 .4rem; }.parent-section-heading h2,.admin-dashboard-heading h2 { color:#15213e;font-size:.82rem;font-weight:850;margin:0; }.parent-section-heading a,.admin-dashboard-heading a { color:#15934d;font-size:.6rem;font-weight:750;text-decoration:none; }.parent-children-row { display:flex;gap:.5rem;overflow-x:auto; }.parent-children-row button { align-items:center;background:#fff;border:1px solid #e2eee7;border-radius:.7rem;display:flex;flex:0 0 8rem;flex-direction:column;padding:.6rem; }.parent-children-row button strong { font-size:.66rem;margin-top:.25rem; }.parent-children-row button small { color:#748096;font-size:.55rem; }.parent-add-child { background:none;border:0;color:#15934d;font-size:.62rem;font-weight:750;margin-top:.4rem; }.parent-message-list,.admin-attention-list { background:#fff;border:1px solid #e2eee7;border-radius:.75rem;overflow:hidden; }.parent-message-list a { align-items:center;border-bottom:1px solid #edf2ef;color:#15213e;display:grid;gap:.55rem;grid-template-columns:2rem 1fr auto auto;padding:.55rem;text-decoration:none; }.parent-message-list a > i:first-child { align-items:center;background:#e8f7ee;border-radius:50%;color:#15934d;display:flex;height:2rem;justify-content:center; }.parent-message-list span { display:flex;flex-direction:column;min-width:0; }.parent-message-list strong { font-size:.65rem; }.parent-message-list small { color:#748096;font-size:.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.parent-message-list time { color:#8791a5;font-size:.52rem; }.parent-support-card { background:#e9f8ef;grid-template-columns:2.4rem 1fr auto;margin-top:.7rem; }.parent-support-card > i:first-child { color:#15934d;font-size:1.4rem; }.parent-dashboard-empty,.admin-dashboard-empty { background:#fff;border:1px dashed #d7e7dd;border-radius:.7rem;color:#748096;font-size:.66rem;padding:1rem;text-align:center; }
.parent-child-progress { align-items:flex-end;display:flex;flex-direction:column;gap:.25rem;min-width:5.5rem; }
.parent-child-progress b { color:#15213e;font-size:.68rem; }
.parent-child-bar { background:#e6ebf2;border-radius:99px;display:block;height:.35rem;overflow:hidden;width:5.5rem; }
.parent-child-bar > span { background:#12a656;border-radius:99px;display:block;height:100%; }
.parent-timeline { display:grid;gap:.15rem;list-style:none;margin:0;padding:0; }
.parent-timeline li { align-items:center;display:grid;gap:.6rem;grid-template-columns:1.5rem 1fr auto;padding:.45rem 0;position:relative; }
.parent-timeline li:not(:last-child)::before { background:#dfe6ee;content:"";height:100%;left:.7rem;position:absolute;top:60%;width:1px; }
.parent-timeline-icon { align-items:center;background:#eef2f7;border-radius:50%;color:#5d6a80;display:flex;font-size:.62rem;height:1.5rem;justify-content:center;position:relative;width:1.5rem;z-index:1; }
.parent-timeline li.done .parent-timeline-icon { background:#12a656;color:#fff; }
.parent-timeline li.upcoming .parent-timeline-icon { background:#e8f1ff;color:#2b6fd6; }
.parent-timeline-copy { display:flex;flex-direction:column;min-width:0; }
.parent-timeline-copy strong { color:#15213e;font-size:.68rem; }
.parent-timeline-copy small { color:#748096;font-size:.58rem; }
.parent-timeline time { color:#748096;font-size:.58rem;text-align:right;white-space:nowrap; }

.parent-overview-card { background:#fff;border:1px solid #e2eee7;border-radius:.8rem;margin-bottom:.55rem;padding:.65rem; }
.parent-overview-grid { display:grid;gap:.6rem;grid-template-columns:1fr 1fr; }
.parent-overview-tile { align-items:center;display:flex;gap:.55rem;padding:.4rem 0; }
.parent-overview-tile:nth-child(-n+2) { border-bottom:1px solid #edf2ef; padding-bottom:.6rem; }
.parent-overview-tile:nth-child(n+3) { padding-top:.6rem; }
.parent-overview-icon { align-items:center;border-radius:.6rem;display:flex;flex:0 0 2.2rem;font-size:1rem;height:2.2rem;justify-content:center;width:2.2rem; }
.parent-overview-icon.icon-blue { background:#e7f1ff;color:#1d6feb; }
.parent-overview-icon.icon-purple { background:#f1eaff;color:#7c3aed; }
.parent-overview-icon.icon-orange { background:#fff2e0;color:#e07a1f; }
.parent-overview-icon.icon-green { background:#e6f8ed;color:#12a656; }
.parent-overview-copy { display:flex;flex-direction:column; }
.parent-overview-copy strong { color:#15213e;font-size:1rem;font-weight:850; }
.parent-overview-copy small { color:#748096;font-size:.62rem; }

.parent-list-card { align-items:center;background:#fff;border:1px solid #e2eee7;border-radius:.8rem;display:grid;gap:.6rem;grid-template-columns:2.6rem 1fr auto;margin-bottom:.5rem;padding:.6rem; }
.parent-club-badge { align-items:center;background:#f0f2f7;border-radius:50%;color:#5d6a80;display:flex;flex:0 0 2.6rem;font-size:1.1rem;height:2.6rem;justify-content:center;width:2.6rem; }
.parent-list-copy { display:flex;flex-direction:column;min-width:0; }
.parent-list-copy strong { color:#15213e;font-size:.72rem; }
.parent-list-copy small { color:#748096;font-size:.6rem; }
.parent-status-badge { border-radius:99px;font-size:.6rem;font-weight:700;padding:.3rem .6rem;white-space:nowrap; }
.parent-status-badge.status-confirmed { background:#e6f8ed;color:#12a656; }
.parent-status-badge.status-review { background:#f1eaff;color:#7c3aed; }
.parent-status-badge.status-rejected { background:#fef2f2;color:#b91c1c; }
.parent-status-badge.status-neutral { background:#eef2f7;color:#5d6a80; }

/* Parent applications grouped by child */
.parent-applications-page{max-width:980px}.parent-application-accordions{display:grid;gap:.75rem}.parent-application-accordion{background:#fff;border:1px solid #dceae2;border-radius:.85rem;box-shadow:0 5px 16px rgba(18,62,39,.05);overflow:hidden}.parent-application-accordion-toggle{align-items:center;background:#fff;border:0;color:#15213e;display:grid;gap:.75rem;grid-template-columns:3rem minmax(0,1fr) auto auto;padding:.8rem;text-align:left;width:100%}.parent-application-accordion-toggle:hover{background:#f7fcf9}.parent-application-child-copy{display:flex;flex-direction:column;min-width:0}.parent-application-child-copy strong{font-size:max(.88rem,14px)}.parent-application-child-copy small{color:#5f6c80;font-size:max(.72rem,12px)}.parent-application-count{background:#e7f7ed;border-radius:99px;color:#08783b;font-size:max(.68rem,11px);font-weight:750;padding:.3rem .6rem;white-space:nowrap}.parent-application-accordion-body{border-top:1px solid #e5eee8;display:grid;gap:.6rem;padding:.75rem}.parent-application-card{align-items:center;background:#fff;border:1px solid #e4ebe7;border-radius:.75rem;display:grid;gap:.75rem;grid-template-columns:2.7rem minmax(0,1fr) auto auto;padding:.75rem}.parent-application-club-icon{align-items:center;background:#e8f7ee;border-radius:.6rem;color:#15934d;display:flex;font-size:1.15rem;height:2.7rem;justify-content:center}.parent-application-main,.parent-application-submission{display:flex;flex-direction:column;min-width:0}.parent-application-main strong{color:#15213e;font-size:max(.82rem,13px)}.parent-application-main small,.parent-application-main span,.parent-application-submission small{color:#5f6c80;font-size:max(.68rem,11px)}.parent-application-main span{display:flex;gap:.35rem;margin-top:.16rem}.parent-application-main span i{color:#15934d}.parent-application-submission{align-items:flex-end;gap:.3rem}.parent-application-profile-link{align-items:center;background:#15934d;border-radius:.55rem;color:#fff;display:flex;font-size:max(.7rem,12px);font-weight:750;gap:.35rem;padding:.55rem .7rem;text-decoration:none;white-space:nowrap}.parent-application-pagination{align-items:center;display:flex;justify-content:center;gap:.75rem;padding-top:.25rem}.parent-application-pagination>span{color:#536077;font-size:max(.7rem,12px)}.parent-application-pagination button{align-items:center;background:#fff;border:1px solid #cfe2d7;border-radius:.5rem;color:#08783b;display:flex;font-size:max(.68rem,11px);gap:.25rem;padding:.4rem .55rem}.parent-application-pagination button:disabled{cursor:not-allowed;opacity:.45}.parent-applications-empty,.parent-applications-child-empty{align-items:center;color:#667388;display:flex;flex-direction:column;gap:.4rem;justify-content:center;padding:1.5rem;text-align:center}.parent-applications-empty>i,.parent-applications-child-empty>i{color:#15934d;font-size:1.6rem}.parent-applications-empty h2,.parent-applications-empty p{margin:0}.parent-applications-empty a{color:#08783b;font-weight:750}
@media(max-width:767px){.parent-application-accordion-toggle{grid-template-columns:2.8rem minmax(0,1fr) auto}.parent-application-count{grid-column:2}.parent-application-accordion-toggle>i{grid-column:3;grid-row:1}.parent-application-card{grid-template-columns:2.5rem minmax(0,1fr)}.parent-application-submission{align-items:flex-start;grid-column:2}.parent-application-profile-link{grid-column:1/-1;justify-content:center}.parent-application-pagination button span{display:none}}

/* Club applications grouped by trial */
.club-applications-page{max-width:1050px}.club-application-accordions{display:grid;gap:.75rem}.club-application-accordion{background:#fff;border:1px solid #d8e3f2;border-radius:.85rem;box-shadow:0 5px 16px rgba(0,61,153,.05);overflow:hidden}.club-application-toggle{align-items:center;background:#fff;border:0;color:#14213d;display:grid;gap:.75rem;grid-template-columns:3rem minmax(0,1fr) auto auto;padding:.85rem;text-align:left;width:100%}.club-application-toggle:hover{background:#f5f9ff}.club-application-trial-icon{align-items:center;background:#e7f0ff;border-radius:.65rem;color:#003d99;display:flex;font-size:1.15rem;height:3rem;justify-content:center}.club-application-trial-copy,.club-applicant-copy{display:flex;flex-direction:column;min-width:0}.club-application-trial-copy strong{font-size:max(.9rem,14px)}.club-application-trial-copy small,.club-applicant-copy small{color:#536077;font-size:max(.7rem,11.5px)}.club-application-trial-copy small i{color:#003d99;margin-right:.2rem}.club-application-count{background:#e7f0ff;border-radius:99px;color:#003d99;font-size:max(.7rem,11px);font-weight:750;padding:.3rem .65rem;white-space:nowrap}.club-application-body{border-top:1px solid #e1e9f4;display:grid;gap:.6rem;padding:.75rem}.club-applicant-card{align-items:center;border:1px solid #e2e8f1;border-radius:.72rem;display:grid;gap:.75rem;grid-template-columns:2.8rem minmax(0,1fr) auto auto;padding:.7rem}.club-applicant-avatar{align-items:center;background:#e7f0ff;border-radius:50%;color:#003d99;display:flex;font-size:.75rem;font-weight:850;height:2.8rem;justify-content:center}.club-applicant-copy strong{color:#14213d;font-size:max(.82rem,13px)}.club-applicant-status{border-radius:99px;font-size:max(.68rem,11px);font-weight:750;padding:.3rem .6rem;white-space:nowrap}.club-applicant-status.submitted{background:#f1eaff;color:#6d28d9}.club-applicant-status.accepted{background:#e4f7eb;color:#08783b}.club-applicant-status.rejected{background:#fef2f2;color:#b91c1c}.club-applicant-card>a{align-items:center;background:#003d99;border-radius:.55rem;color:#fff;display:flex;font-size:max(.7rem,12px);font-weight:750;gap:.35rem;padding:.55rem .7rem;text-decoration:none;white-space:nowrap}.club-application-pagination{align-items:center;display:flex;gap:.75rem;justify-content:center}.club-application-pagination>span{color:#536077;font-size:max(.7rem,12px)}.club-application-pagination button{align-items:center;background:#fff;border:1px solid #cbd9ec;border-radius:.5rem;color:#003d99;display:flex;font-size:max(.68rem,11px);gap:.25rem;padding:.4rem .55rem}.club-application-pagination button:disabled{opacity:.45}.club-applications-empty,.club-applications-child-empty{align-items:center;color:#536077;display:flex;flex-direction:column;gap:.4rem;justify-content:center;padding:1.5rem;text-align:center}.club-applications-empty i,.club-applications-child-empty i{color:#003d99;font-size:1.6rem}.club-applications-empty h2,.club-applications-empty p{margin:0}.club-applications-empty a{color:#003d99;font-weight:750}
@media(max-width:767px){.club-application-toggle{grid-template-columns:2.8rem minmax(0,1fr) auto}.club-application-count{grid-column:2}.club-application-toggle>i{grid-column:3;grid-row:1}.club-applicant-card{grid-template-columns:2.6rem minmax(0,1fr)}.club-applicant-status{grid-column:2;width:max-content}.club-applicant-card>a{grid-column:1/-1;justify-content:center}.club-application-pagination button span{display:none}}

/* Admin dashboard v3 */
.admin-dashboard-greeting { align-items:center;display:flex;justify-content:space-between; }.admin-dashboard-greeting time { background:#f5ecfa;border-radius:.5rem;color:#6B0C95;font-size:.6rem;padding:.45rem .6rem; }.admin-dashboard-summary { display:grid;gap:.55rem;grid-template-columns:repeat(4,1fr); }.admin-dashboard-summary a { background:linear-gradient(135deg,#fbf7fd,#f1e4f8);border:1px solid #e0c6ec;border-radius:.7rem;color:#15213e;display:grid;grid-template-columns:auto 1fr;gap:.15rem .5rem;padding:.65rem;text-decoration:none; }.admin-dashboard-summary i { color:#6B0C95;font-size:1.15rem;grid-row:1/3; }.admin-dashboard-summary span { font-size:.58rem; }.admin-dashboard-summary strong { color:#6B0C95;font-size:1.1rem; }.admin-dashboard-heading a { color:#6B0C95; }.admin-attention-list a { align-items:center;border-bottom:1px solid #f1eaf5;color:#15213e;display:grid;gap:.55rem;grid-template-columns:2rem 1fr auto auto auto;padding:.55rem;text-decoration:none; }.admin-attention-list a > i:first-child { align-items:center;background:#f1e4f8;border-radius:50%;color:#6B0C95;display:flex;height:2rem;justify-content:center; }.admin-attention-list span { display:flex;flex-direction:column; }.admin-attention-list strong { font-size:.64rem; }.admin-attention-list small,.admin-attention-list time { color:#758198;font-size:.53rem; }.admin-attention-list em { background:#fff2cf;border-radius:.4rem;color:#a46b00;font-size:.5rem;font-style:normal;padding:.18rem .4rem; }.admin-dashboard-grid { display:grid;gap:.6rem;grid-template-columns:1fr 1fr;margin-top:.7rem; }.admin-dashboard-card { background:#fff;border:1px solid #e6d6ee;border-radius:.75rem;padding:.7rem; }.admin-dashboard-heading small,.admin-dashboard-card > span { color:#7a859a;font-size:.55rem; }.admin-large-number { color:#15213e;display:block;font-size:1.6rem; }.admin-mini-bars { align-items:end;display:flex;gap:.3rem;height:4rem;margin-top:.45rem; }.admin-mini-bars i { background:#6B0C95;border-radius:.15rem .15rem 0 0;flex:1; }.admin-approval-ring { align-items:center;background:conic-gradient(#6B0C95 0 70%,#c39ad6 70% 88%,#ef8691 88%);border-radius:50%;display:flex;flex-direction:column;height:6rem;justify-content:center;margin:.3rem auto;position:relative;width:6rem; }.admin-approval-ring::after { background:#fff;border-radius:50%;content:"";inset:.8rem;position:absolute; }.admin-approval-ring strong,.admin-approval-ring span { position:relative;z-index:1; }.admin-approval-ring strong { color:#15213e; }.admin-approval-legend { display:flex;gap:.45rem;justify-content:center; }.admin-approval-legend span { color:#667188;font-size:.5rem; }.admin-approval-legend i { background:#6B0C95;border-radius:50%;display:inline-block;height:.35rem;width:.35rem; }.admin-dashboard-actions { display:grid;gap:.55rem;grid-template-columns:1fr 1fr;margin-top:.7rem; }.admin-dashboard-actions a { align-items:center;background:linear-gradient(135deg,#8a2bb8,#6B0C95);border-radius:.65rem;color:#fff;display:flex;font-size:.65rem;font-weight:750;gap:.4rem;justify-content:center;padding:.7rem;text-decoration:none; }.admin-dashboard-actions a i:last-child { margin-left:auto; }

@media (max-width: 767px) {
    .player-status-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-status-summary-item:last-child{grid-column:1/-1}.player-summary-grid.player-summary-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
    .player-page-heading { align-items: stretch; flex-direction: column; }
    .player-page-heading h1 { font-size: 1.35rem; }
    .player-trial-search { max-width: none; }
    .player-trial-grid, .player-trial-detail-grid { grid-template-columns: 1fr; }
    .player-trial-card { grid-template-columns: 3.1rem 1fr auto; }
    .player-trial-card-icon { height: 3.1rem; }
    .player-trial-hero { padding: 1.15rem; }
    .player-trial-hero h1 { font-size: 1.35rem; }
    .player-dashboard-v3 { padding:0; }
    .player-dashboard-greeting h1 { font-size:1.2rem; }
    .player-completion-card { grid-template-columns:auto 1fr auto; }
    .player-completion-card button { font-size:0; height:2.35rem; padding:0; width:2.35rem; }
    .player-completion-card button i { font-size:.85rem; }
    .player-opportunity-banner { grid-template-columns:minmax(0,1fr) 31%; min-height:8rem; padding:.85rem; }
    .player-opportunity-banner h2 { font-size:1.25rem; }
    .player-opportunity-art > i { font-size:4rem; }
    .player-summary-grid { gap:.45rem; }
    .player-summary-grid article { align-items:flex-start; display:grid; gap:.25rem; padding:.6rem .5rem; }
    .player-summary-grid strong { font-size:1rem; }
    .player-summary-grid small { white-space:normal; }
    .player-recommendation-grid { grid-template-columns:1fr; }
    .player-recommendation-card { gap:.55rem; grid-template-columns:minmax(112px,.8fr) minmax(125px,1.2fr) auto; padding:.65rem; }
    .player-recommendation-details { grid-template-columns:1fr; }
    .player-recommendation-card button { min-width:82px; padding:.6rem .55rem; }
    .player-update-list a { grid-template-columns:2rem minmax(0,1fr) auto auto; }
    .player-application-card { grid-template-columns:minmax(112px,.85fr) minmax(120px,1.15fr) minmax(105px,.8fr); }.player-application-view { grid-column:1/-1; width:100%; }.player-application-details { gap:.12rem; }
    .club-dashboard-welcome h1 { font-size:1.2rem; }
    .club-dashboard-welcome button { font-size:.65rem; padding:.65rem .75rem; }
    .club-upcoming-card { grid-template-columns:3.15rem minmax(0,1fr) auto; }
    .club-applications-overview { grid-template-columns:1fr 1fr; }
    .club-application-chart { height:6rem; width:6rem; }
    .club-application-legend { min-width:0; }
    .admin-dashboard-summary { grid-template-columns:repeat(2,1fr); }
}

/* Dashboard accessibility: readable type and WCAG-friendly foreground colours.
   Deliberately scoped to page content so the bottom navigation is unchanged. */
.player-dashboard-v3,
.parent-dashboard-v3,
.role-club-dashboard-v2,
.admin-dashboard-v3 {
    --dashboard-muted: #4b5563;
}

.player-dashboard-v3 small,
.player-dashboard-v3 p,
.parent-dashboard-v3 small,
.parent-dashboard-v3 p,
.parent-dashboard-v3 time,
.role-club-dashboard-v2 small,
.role-club-dashboard-v2 p,
.admin-dashboard-v3 small,
.admin-dashboard-v3 p,
.admin-dashboard-v3 time {
    color: #4b5563;
}

.player-dashboard-v3 small,
.player-dashboard-v3 p,
.parent-dashboard-v3 small,
.parent-dashboard-v3 p,
.parent-dashboard-v3 time,
.role-club-dashboard-v2 small,
.role-club-dashboard-v2 p,
.admin-dashboard-v3 small,
.admin-dashboard-v3 p,
.admin-dashboard-v3 time,
.admin-dashboard-v3 span {
    font-size: max(.75rem, 12px);
    line-height: 1.4;
}

.player-dashboard-v3 a,
.player-dashboard-v3 button,
.parent-dashboard-v3 a,
.parent-dashboard-v3 button,
.role-club-dashboard-v2 a,
.role-club-dashboard-v2 button,
.admin-dashboard-v3 a,
.admin-dashboard-v3 button {
    font-size: max(.78rem, 12.5px);
}

.parent-dashboard-v3 .parent-section-heading a,
.parent-dashboard-v3 .parent-add-child,
.parent-dashboard-v3 .parent-summary-grid i,
.parent-dashboard-v3 .parent-support-card > i:first-child {
    color: #08783b;
}

.parent-dashboard-v3 .parent-status-badge.status-confirmed,
.parent-dashboard-v3 .parent-child-card em {
    background: #dff5e7;
    color: #08783b;
    font-size: max(.72rem, 11.5px);
    font-weight: 750;
}

.club-published,
.club-application-list em.shortlisted {
    background: #dff5e7;
    color: #08783b;
}

.player-trial-availability {
    background: #dff5e7;
    color: #08783b;
    font-size: max(.72rem, 11.5px);
    font-weight: 700;
}

.admin-dashboard-v3 .admin-attention-list em {
    background: #fff0bd;
    color: #714800;
    font-size: max(.72rem, 11.5px);
    font-weight: 750;
}

.player-dashboard-v3 :focus-visible,
.parent-dashboard-v3 :focus-visible,
.role-club-dashboard-v2 :focus-visible,
.admin-dashboard-v3 :focus-visible {
    outline: 3px solid #1d4ed8;
    outline-offset: 2px;
}

@media (max-width: 430px) {
    .player-opportunity-art > i { font-size:3.3rem; }
    .player-recommendation-grid { gap:.45rem; }
    .player-recommendation-card { grid-template-columns:minmax(105px,.9fr) minmax(112px,1.1fr) 76px; padding:.6rem; }
    .player-club-row { grid-template-columns:2.15rem 1fr; }
    .player-club-row > span { height:2.15rem; width:2.15rem; }
    .player-recommendation-card button { min-width:0; }
    .player-application-card { grid-template-columns:minmax(100px,.9fr) minmax(112px,1.1fr); gap:.55rem; padding:.6rem; }.player-application-state { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; }.player-application-view { grid-column:1/-1; }
}

.dashboard-topbar { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.dashboard-topbar h1 { font-size: 1.15rem; margin: 0; }
.dashboard-topbar p { color: var(--dashboard-muted); font-size: .8rem; margin: .15rem 0 0; }
.dashboard-topbar-actions { align-items: center; display: flex; gap: .6rem; }
.dashboard-bell { background: none; border: none; cursor: pointer; font-size: 1.4rem; position: relative; }
.dashboard-bell-badge { background: #e11d48; border-radius: 50%; color: #fff; font-size: .55rem; font-weight: 700; padding: .05rem .3rem; position: absolute; right: -.4rem; top: -.3rem; }
.dashboard-topbar-avatar { align-items: center; background: var(--role-tint); border-radius: 50%; color: var(--role-color); display: flex; font-size: .75rem; font-weight: 700; height: 2.1rem; justify-content: center; overflow: hidden; width: 2.1rem; }
.dashboard-topbar-avatar img { height: 100%; object-fit: cover; width: 100%; }

.dashboard-profile-card { align-items: center; background: linear-gradient(120deg, var(--role-color), #172c59); border-radius: .75rem; color: #fff; display: flex; gap: .85rem; margin-bottom: .85rem; padding: 1rem; }
.dashboard-profile-avatar { align-items: center; background: rgba(255,255,255,.15); border: 2px solid rgba(255,255,255,.5); border-radius: 50%; display: flex; flex-shrink: 0; font-size: 1rem; font-weight: 700; height: 3.25rem; justify-content: center; overflow: hidden; width: 3.25rem; }
.dashboard-profile-avatar img { height: 100%; object-fit: cover; width: 100%; }
.dashboard-profile-info { flex: 1; min-width: 0; }
.dashboard-profile-info strong { display: block; font-size: 1rem; }
.dashboard-profile-info span { font-size: .75rem; opacity: .9; }
.dashboard-profile-strength { align-items: center; display: flex; flex-shrink: 0; gap: .5rem; }
.dashboard-strength-ring { height: 2.6rem; width: 2.6rem; }
.dashboard-strength-bg { fill: none; stroke: rgba(255,255,255,.25); stroke-width: 3.5; }
.dashboard-strength-fill { fill: none; stroke: #22c55e; stroke-linecap: round; stroke-width: 3.5; transform: rotate(-90deg); transform-origin: center; }
.dashboard-strength-text { display: flex; flex-direction: column; }
.dashboard-strength-text strong { font-size: .85rem; }
.dashboard-strength-text span { font-size: .6rem; opacity: .85; }

/* Reusable club page shell */
.club-page-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.club-page-header-default h1 {
    margin: 0;
    color: #0f214a;
    font-size: clamp(1.45rem, 2.2vw, 1.95rem);
    font-weight: 800;
}

.club-page-header-default p {
    margin: .3rem 0 0;
    color: #5f6e8e;
    font-size: .92rem;
}

.club-page-body {
    min-width: 0;
}

/* Club dashboard v2 */
.role-club-dashboard-v2 {
    padding: .25rem 0 6rem;
}

.role-club-dashboard-v2 .club-page-layout {
    gap: .95rem;
}

.club-mobile-header-top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem;
    margin-bottom: .85rem;
}

.club-icon-btn {
    width: 2rem;
    height: 2rem;
    border: none;
    background: none;
    color: #1f2a4b;
    font-size: 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.club-brand-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    color: #14244c;
    font-weight: 800;
    font-size: .95rem;
}

.club-brand-logo {
    width: 1.65rem;
    height: 1.65rem;
    object-fit: contain;
}

.club-notify {
    position: relative;
}

.club-notify span {
    position: absolute;
    right: .05rem;
    top: .15rem;
    min-width: .9rem;
    height: .9rem;
    border-radius: 99px;
    background: #e11d48;
    color: #fff;
    font-size: .55rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.club-greeting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.club-hello {
    color: #1f2b4a;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.club-switcher {
    margin-top: .2rem;
    border: none;
    background: none;
    padding: 0;
    color: #192b56;
    font-size: 1.05rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.club-avatar-lg {
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 50%;
    overflow: hidden;
    background: #edf3ff;
    border: 1px solid #d9e3f8;
    color: #173a8f;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.club-avatar-lg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.club-overview-block,
.club-recent-block {
    border-top: 1px solid var(--dashboard-line);
    padding-top: .95rem;
}

.club-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .75rem;
}

.club-block-head h2 {
    margin: 0;
    color: #17264a;
    font-size: 1.02rem;
    font-weight: 800;
}

.club-block-head button,
.club-block-head a {
    border: none;
    background: none;
    color: #22365f;
    text-decoration: none;
    font-size: .85rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: .2rem;
}

.club-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.club-metric-card {
    position: relative;
    border: 1px solid #e2e9f7;
    border-radius: .75rem;
    padding: .68rem .7rem;
    background: #fff;
}

.club-metric-card > span {
    color: #32456f;
    font-size: .84rem;
    font-weight: 700;
}

.club-metric-card strong {
    display: block;
    margin-top: .35rem;
    font-size: 2rem;
    line-height: 1;
    color: #1da750;
}

.club-metric-card .metric-blue { color: #1f4fd2; }
.club-metric-card .metric-amber { color: #f59e0b; }
.club-metric-card .metric-purple { color: #003da5; }

.club-metric-card i {
    position: absolute;
    right: .6rem;
    bottom: .55rem;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .86rem;
}

.metric-icon-green { color: #15803d; background: #dcfce7; }
.metric-icon-blue { color: #1d4ed8; background: #dbeafe; }
.metric-icon-amber { color: #d97706; background: #ffedd5; }
.metric-icon-purple { color: #003da5; background: #e7f1ff; }

.club-recent-list {
    border: 1px solid #e2e9f7;
    border-radius: .85rem;
    overflow: hidden;
    background: #fff;
}

.club-recent-item {
    padding: .75rem .8rem;
    border-bottom: 1px solid #edf2fa;
}

.club-recent-item:last-child {
    border-bottom: none;
}

.club-recent-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .55rem;
}

.club-recent-title-wrap {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
}

.club-recent-icon {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: .5rem;
    background: #1d2f5e;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.club-recent-title-wrap h3 {
    margin: 0;
    color: #17264a;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.25;
}

.club-recent-meta {
    margin-top: .18rem;
    color: #41537a;
    font-size: .78rem;
}

.club-status {
    border-radius: 999px;
    padding: .22rem .5rem;
    font-size: .68rem;
    font-weight: 700;
    white-space: nowrap;
}

.club-status.status-upcoming { background: #e6efff; color: #1f4fc7; }
.club-status.status-live { background: #e8f9ee; color: #1c8a45; }
.club-status.status-completed { background: #eef2f8; color: #586684; }

.club-recent-apps {
    margin-top: .42rem;
    color: #283a61;
    font-size: .8rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-weight: 600;
}

.club-create-btn {
    margin-top: .2rem;
    width: 100%;
    min-height: 2.8rem;
    border: none;
    border-radius: .6rem;
    background: #124dcb;
    color: #fff;
    font-size: .98rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

@media (max-width: 767.98px) {
    .dashboard-overview { gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-metric { min-height: 4.7rem; padding: .75rem; }
    .dashboard-metric strong { font-size: 1.1rem; }
    .dashboard-grid { display: flex; flex-direction: column; gap: .75rem; }
    .dashboard-panel { padding: .85rem; }
    .dashboard-panel-wide { grid-column: auto; }
    .dashboard-list-item { padding: .45rem; }
    .dashboard-mobile-nav { align-items: stretch; background: #fff; border-top: 1px solid var(--dashboard-line); bottom: 0; display: flex; justify-content: space-around; left: 0; min-height: 64px; padding: .65rem .25rem calc(.65rem + env(safe-area-inset-bottom)); position: fixed; right: 0; z-index: 21; }
    .dashboard-mobile-nav a, .dashboard-mobile-nav button { align-items: center; background: none; border: none; color: var(--dashboard-muted); cursor: pointer; display: flex; flex: 1; flex-direction: column; font-family: inherit; font-size: .8rem; font-weight: 500; gap: .3rem; min-width: 56px; padding: 0; text-decoration: none; }
    .dashboard-mobile-nav a span:first-child, .dashboard-mobile-nav button span:first-child { font-size: 1.7rem; line-height: 1; display: flex; align-items: center; justify-content: center; height: 32px; }
    .dashboard-mobile-nav a span:first-child img, .dashboard-mobile-nav button span:first-child img { width: 32px; height: 32px; object-fit: contain; filter: drop-shadow(0 0 0 var(--dashboard-muted)); }
    .dashboard-mobile-nav a.active span:first-child img, .dashboard-mobile-nav button.active span:first-child img { filter: drop-shadow(0 0 0 var(--role-color)); opacity: 1; }
    .dashboard-mobile-nav a.active, .dashboard-mobile-nav button.active { color: var(--role-color); font-weight: 700; }
}

/* ====================================================
   SHARED LOADING OVERLAY
   Theme-aware, works identically on Web and MAUI
   ==================================================== */
.pf-loading-overlay {
    align-items: center;
    background: rgba(255, 255, 255, 0.85);
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    justify-content: center;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 2000;
}

.pf-loading-overlay__spinner {
    animation: pf-loading-spin .8s linear infinite;
    border: 4px solid var(--dashboard-line);
    border-radius: 50%;
    border-top-color: var(--role-color, var(--dashboard-blue));
    height: 3rem;
    width: 3rem;
}

.pf-loading-overlay__message {
    color: var(--dashboard-ink);
    font-size: .95rem;
    font-weight: 600;
}

.pf-loading-overlay--player { --role-color: #C41E3A; }
.pf-loading-overlay--club { --role-color: #003DA5; }
.pf-loading-overlay--parent { --role-color: #1E7B3C; }
.pf-loading-overlay--admin { --role-color: #6B0C95; }

@keyframes pf-loading-spin {
    to { transform: rotate(360deg); }
}

/* ====================================================
   SHARED LOOKUP CHECKBOX LIST
   ==================================================== */
.pf-lookup-checkbox-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .9rem;
}

.pf-lookup-checkbox-item {
    align-items: center;
    color: var(--dashboard-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: .9rem;
    gap: .4rem;
}

.pf-lookup-checkbox-item input[type="checkbox"] {
    accent-color: var(--role-color, var(--dashboard-blue));
    cursor: pointer;
    height: 1rem;
    width: 1rem;
}

/* ====================================================
   SKELETON PLACEHOLDERS
   Shimmer blocks shown per dashboard section while its data loads
   ==================================================== */
.pf-skeleton { display: flex; flex-direction: column; gap: .5rem; width: 100%; }
.pf-skeleton-line {
    animation: pf-skeleton-shimmer 1.4s ease-in-out infinite;
    background: linear-gradient(90deg, #edf0f3 25%, #f7f8fa 50%, #edf0f3 75%);
    background-size: 400% 100%;
    border-radius: .5rem;
    display: block;
}
.pf-skeleton-card { background: #fff; border: 1px solid #e6eaf0; border-radius: .8rem; margin-bottom: .55rem; padding: .75rem; }
.pf-skeleton-inline { display: inline-flex; vertical-align: middle; width: auto; }
.pf-skeleton-inline .pf-skeleton-line { min-width: 2rem; }
.pf-skeleton-grid { display: grid; gap: .45rem; grid-template-columns: repeat(3, 1fr); margin: .65rem 0; }
.pf-skeleton-grid .pf-skeleton-card { margin: 0; }
@keyframes pf-skeleton-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .pf-skeleton-line { animation: none; } }

/* Keep these final in the cascade: dashboard readability only, never bottom navigation. */
.player-dashboard-v3 small,.player-dashboard-v3 p,
.parent-dashboard-v3 small,.parent-dashboard-v3 p,.parent-dashboard-v3 time,
.role-club-dashboard-v2 small,.role-club-dashboard-v2 p,
.admin-dashboard-v3 small,.admin-dashboard-v3 p,.admin-dashboard-v3 time {
    color:#4b5563 !important;
    font-size:max(.75rem,12px) !important;
    line-height:1.4 !important;
}

/* Responsive reports and analytics */
.reports-page{max-width:1100px}.reports-title{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.reports-title h1{color:#10213f;font-size:clamp(1.35rem,3vw,2rem);font-weight:900;margin:0}.reports-title p{color:#536077;margin:.2rem 0 0}.reports-title label{align-items:center;background:#fff;border:1px solid #cfdbeb;border-radius:.65rem;color:var(--role-color);display:flex;gap:.4rem;padding:.2rem .55rem}.reports-title select{background:#fff;border:0;color:#263752;font-weight:700;min-height:2.35rem;outline:0}.reports-kpis{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.8rem}.report-kpi{align-items:center;background:#fff;border:1px solid #dfe6f0;border-radius:.8rem;display:flex;gap:.75rem;min-width:0;padding:.85rem}.report-kpi>span{align-items:center;background:#e8f1ff;border-radius:.65rem;color:#0758b8;display:flex;font-size:1.2rem;height:2.7rem;justify-content:center;width:2.7rem}.report-kpi>div{display:flex;flex-direction:column;min-width:0}.report-kpi small{color:#536077;font-size:max(.7rem,11px)}.report-kpi strong{color:#10213f;font-size:1.35rem}.report-kpi.green>span{background:#e4f7eb;color:#108447}.report-kpi.amber>span{background:#fff3dc;color:#c97800}.report-kpi.purple>span{background:#eee8ff;color:#6d3bd1}.report-card{background:#fff;border:1px solid #dfe6f0;border-radius:.85rem;margin-bottom:.8rem;padding:.9rem}.report-card header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.7rem}.report-card h2{color:#10213f;font-size:max(.9rem,14px);font-weight:850;margin:0}.report-card header p{color:#667388;font-size:.72rem;margin:.15rem 0 0}.reports-two-column{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}.report-bars{align-items:end;border-bottom:1px solid #dce4ef;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);height:12rem;padding:1.5rem .5rem 0}.report-bars>div{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-end;position:relative}.report-bars>div>span{background:linear-gradient(#1676e8,#003da5);border-radius:.35rem .35rem 0 0;min-height:.25rem;width:min(68%,2.5rem)}.report-bars b{color:#40516c;font-size:.66rem;position:absolute;top:-1.15rem}.report-bars small{color:#667388;font-size:.62rem;margin-top:.35rem;white-space:nowrap}.admin-bars>div>span{background:linear-gradient(#8a2bb8,#6B0C95)}.report-funnel{display:grid;gap:.5rem}.report-funnel>div{align-items:center;background:linear-gradient(90deg,#dceaff,#f5f8fc);border-radius:.5rem;display:flex;justify-content:space-between;padding:.55rem .7rem}.report-funnel>div:nth-child(2){margin-inline:4%}.report-funnel>div:nth-child(3){background:linear-gradient(90deg,#dff6e8,#f5f8fc);margin-inline:8%}.report-funnel>div:nth-child(4){background:linear-gradient(90deg,#fff0cf,#f5f8fc);margin-inline:12%}.report-funnel>div:nth-child(5){background:linear-gradient(90deg,#dff6e8,#f5f8fc);margin-inline:16%}.report-funnel span{color:#263752;font-size:.74rem}.report-funnel b{color:#10213f}.report-donut-layout{align-items:center;display:grid;gap:1rem;grid-template-columns:8rem 1fr}.report-donut{align-items:center;border-radius:50%;display:flex;flex-direction:column;height:8rem;justify-content:center;position:relative;width:8rem}.report-donut:after{background:#fff;border-radius:50%;content:"";inset:1.5rem;position:absolute}.report-donut strong,.report-donut span{position:relative;z-index:1}.report-donut strong{color:#10213f;font-size:1.2rem}.report-donut span{color:#667388;font-size:.68rem}.report-legend{display:grid;gap:.4rem}.report-legend>span{align-items:center;color:#40516c;display:grid;font-size:.7rem;gap:.4rem;grid-template-columns:auto 1fr auto}.report-legend i{border-radius:50%;height:.65rem;width:.65rem}.report-legend i.accepted{background:#22b76a}.report-legend i.invited{background:#3488ed}.report-legend i.shortlisted{background:#f5aa24}.report-legend i.rejected{background:#ef5b62}.report-legend i.pending{background:#c8d0dc}.report-role-bars{display:grid;gap:.75rem}.report-role-bars>div{align-items:center;display:grid;gap:.55rem;grid-template-columns:4rem 1fr 2.5rem}.report-role-bars span,.report-role-bars strong{color:#40516c;font-size:.72rem}.report-role-bars>div>i{background:#edf1f6;border-radius:99px;height:.65rem;overflow:hidden}.report-role-bars>div>i>b{background:linear-gradient(90deg,#2b7ad8,#003d99);border-radius:99px;display:block;height:100%}.report-role-bars strong{text-align:right}.report-ranking{display:grid}.report-ranking>a{align-items:center;border-bottom:1px solid #e6ebf2;color:#10213f;display:grid;gap:.65rem;grid-template-columns:2.3rem 1fr auto;padding:.6rem;text-decoration:none}.report-ranking>a:last-child{border:0}.report-ranking>a>i:first-child{align-items:center;background:#e8f1ff;border-radius:.55rem;color:var(--role-color);display:flex;height:2.3rem;justify-content:center}.report-ranking>a>span{display:flex;flex-direction:column}.report-ranking strong{font-size:.78rem}.report-ranking small{color:#667388;font-size:.68rem}.report-empty{color:#667388;text-align:center}
@media(max-width:767px){.reports-title{align-items:stretch;flex-direction:column}.reports-title label{width:max-content}.reports-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpi{padding:.7rem}.reports-two-column{grid-template-columns:1fr}.report-bars{gap:.25rem;height:10rem;padding-inline:0}.report-bars small{font-size:.52rem;transform:rotate(-25deg);transform-origin:top center;margin-top:.45rem}.report-donut-layout{grid-template-columns:7rem 1fr}.report-donut{height:7rem;width:7rem}.report-donut:after{inset:1.3rem}}
.parent-dashboard-v3 .parent-status-badge.status-confirmed,
.parent-dashboard-v3 .parent-child-card em,
.player-dashboard-v3 .player-trial-availability,
.role-club-dashboard-v2 .club-published {
    background:#dff5e7 !important;
    color:#08783b !important;
    font-size:max(.72rem,11.5px) !important;
    font-weight:750 !important;
}

/* Shared dashboard/card reflow for Android and iOS landscape phones. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1023px) {
    .role-dashboard { max-width:none;padding-inline:max(.25rem,env(safe-area-inset-left,0px)) max(.25rem,env(safe-area-inset-right,0px)); }
    .player-summary-grid,.dashboard-overview,.admin-dashboard-summary,.reports-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .player-status-summary-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .player-recommendation-grid,.club-upcoming-list,.parent-child-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .player-recommendation-card,.player-application-card { min-width:0; }
    .dashboard-grid,.reports-two-column { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
    .report-bars { height:8.5rem; }
    .ct2-filter-sheet { border-radius:1rem;bottom:auto;left:50%;max-height:calc(100dvh - 1rem);max-width:720px;right:auto;top:50%;transform:translate(-50%,-50%);width:calc(100% - 2rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)); }
}

/* Shared dashboard trial banner carousel. */
.trial-banner-carousel{--carousel-accent:var(--role-color,#c41e3a);margin:.75rem 0 1rem;overflow:hidden;position:relative}.trial-banner-carousel.role-parent{--carousel-accent:#15934d}.trial-banner-carousel.role-club{--carousel-accent:#003da5}.trial-banner-carousel.role-admin{--carousel-accent:#003d99}.trial-banner-slide{background:linear-gradient(115deg,color-mix(in srgb,var(--carousel-accent) 92%,#07142d),color-mix(in srgb,var(--carousel-accent) 52%,#152340));border-radius:1rem;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;isolation:isolate;min-height:13rem;overflow:hidden;padding:1.25rem;position:relative}.trial-banner-image,.trial-banner-shade{height:100%;inset:0;position:absolute;width:100%}.trial-banner-image{object-fit:cover;z-index:-2}.trial-banner-shade{background:linear-gradient(90deg,rgba(5,15,38,.94) 0%,rgba(5,15,38,.74) 52%,rgba(5,15,38,.28) 100%);z-index:-1}.trial-banner-slide.fallback:after{content:"⚽";font-size:clamp(4rem,12vw,8rem);opacity:.18;position:absolute;right:8%;top:50%;transform:translateY(-50%) rotate(-12deg);z-index:-1}.trial-banner-content{align-content:center;display:grid;max-width:70%;min-width:0}.trial-banner-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.05em;opacity:.88;text-transform:uppercase}.trial-banner-content h2{color:#fff;font-size:clamp(1.35rem,3.5vw,2.25rem);font-weight:900;line-height:1.08;margin:.25rem 0 .7rem;overflow-wrap:anywhere}.trial-banner-facts{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.trial-banner-facts span{align-items:center;display:flex;font-size:max(.72rem,12px);gap:.35rem}.trial-banner-player{background:rgba(255,255,255,.16);border-radius:99px;margin-top:.65rem;padding:.3rem .55rem;width:max-content}.trial-banner-action{align-items:center;align-self:end;background:#fff;border-radius:.65rem;color:var(--carousel-accent);display:flex;font-size:max(.75rem,12px);font-weight:850;gap:.35rem;justify-content:center;min-width:7.5rem;padding:.7rem .9rem;text-decoration:none;z-index:1}.trial-banner-action.submitted{background:#e7f8ed;color:#08783b}.trial-banner-controls{align-items:center;display:flex;gap:.45rem;justify-content:center;padding:.55rem}.trial-banner-controls button{align-items:center;background:#fff;border:1px solid #d9e1ec;border-radius:50%;color:#33445f;display:flex;height:2rem;justify-content:center;width:2rem}.trial-banner-controls>div{display:flex;gap:.32rem}.trial-banner-controls>div button{background:#cbd4e0;border:0;height:.45rem;width:.45rem}.trial-banner-controls>div button.active{background:var(--carousel-accent);width:1.25rem;border-radius:99px}.trial-banner-controls .trial-banner-pause{border-radius:99px;font-size:.68rem;font-weight:750;gap:.25rem;margin-left:.25rem;padding:0 .6rem;width:auto}.trial-carousel-skeleton{min-height:12rem}
@media(max-width:600px){.trial-banner-slide{min-height:14rem;padding:1rem}.trial-banner-content{max-width:100%;padding-bottom:3.25rem}.trial-banner-facts{display:grid;gap:.3rem}.trial-banner-action{bottom:1rem;left:1rem;position:absolute}.trial-banner-slide.has-image .trial-banner-shade{background:linear-gradient(90deg,rgba(5,15,38,.92),rgba(5,15,38,.55))}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1023px){.trial-banner-slide{min-height:10.5rem}.trial-banner-content{max-width:76%}.trial-banner-controls{padding:.35rem}.trial-carousel-skeleton{min-height:9rem}}
