:root { --cm-white:#fff;--cm-page:#f8f7f3;--cm-soft:#fbfaf6;--cm-ink:#292d33;--cm-muted:#68707c;--cm-gold:#d9a12b;--cm-gold-soft:#f8efd9;--cm-line:#e9dfc7; }
html { color-scheme:light; }
body,body[data-theme] { background:var(--cm-page)!important;color:var(--cm-ink)!important; }
.cm-brand-loader { position:fixed;inset:0;z-index:20000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fff;color:var(--cm-ink);transition:opacity .28s ease,visibility .28s ease; }
.cm-brand-loader.is-hidden { opacity:0;visibility:hidden;pointer-events:none; }
.cm-brand-loader-mark { position:relative;width:clamp(150px,24vw,230px);aspect-ratio:1;display:grid;place-items:center; }
.cm-brand-loader-mark img { width:82%;height:82%;object-fit:contain;border-radius:50%; }
.cm-brand-loader-mark span { position:absolute;inset:0;border:7px solid #eeeae2;border-top-color:var(--cm-gold);border-right-color:var(--cm-gold);border-radius:50%;animation:cm-loader-spin 1.15s linear infinite; }
.cm-brand-loader strong { font-size:clamp(16px,2.2vw,22px);letter-spacing:.04em; }
.cm-loader-dots { display:flex;gap:7px; }.cm-loader-dots i { width:8px;height:8px;border-radius:50%;background:#e5e3de;animation:cm-loader-dot 1.2s ease-in-out infinite; }
.cm-loader-dots i:nth-child(2){animation-delay:.18s}.cm-loader-dots i:nth-child(3){animation-delay:.36s}
@keyframes cm-loader-spin { to{transform:rotate(360deg)} } @keyframes cm-loader-dot { 0%,70%,100%{background:#e5e3de;transform:scale(.85)}35%{background:var(--cm-gold);transform:scale(1.15)} }
@media (prefers-reduced-motion:reduce){.cm-brand-loader-mark span,.cm-loader-dots i{animation:none}.cm-brand-loader-mark span{border-color:var(--cm-gold)}}
.cm-global-header { position:sticky;top:0;z-index:1050;min-height:86px;display:flex;align-items:center;gap:22px;padding:10px clamp(16px,3vw,42px);background:rgba(255,255,255,.97);border-bottom:3px solid var(--cm-gold);box-shadow:0 10px 28px rgba(46,42,33,.08);backdrop-filter:blur(18px); }
.cm-header-menu { width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--cm-line);border-radius:14px;background:#fff;color:var(--cm-ink);font-size:24px;cursor:pointer; }
.cm-header-logo { flex:0 1 340px;min-width:210px; }.cm-header-logo img { display:block;width:100%;max-height:66px;object-fit:contain;object-position:left center; }
.cm-header-links { display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none; }.cm-header-links::-webkit-scrollbar{display:none}
.cm-header-links a { padding:12px 13px;border-radius:10px;color:var(--cm-ink);text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap; }.cm-header-links a:hover,.cm-header-links a:focus-visible{background:var(--cm-gold-soft);color:#8b6200}
.cm-header-account { display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap; }.cm-header-alert { position:relative;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--cm-line);border-radius:50%;color:var(--cm-ink);text-decoration:none;font-size:20px; }
.cm-header-signup,.cm-account-menu summary{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid var(--cm-line);border-radius:999px;background:#fff;color:var(--cm-ink);font-weight:850;text-decoration:none;cursor:pointer;list-style:none}.cm-header-signup{background:var(--cm-gold);border-color:var(--cm-gold);color:#242014}.cm-account-menu{position:relative}.cm-account-menu summary::-webkit-details-marker{display:none}.cm-account-menu>div{position:absolute;right:0;top:calc(100% + 10px);z-index:1200;min-width:210px;padding:8px;border:1px solid var(--cm-line);border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(30,35,45,.16)}.cm-account-menu>div a{display:block;padding:11px 12px;border-radius:9px;color:var(--cm-ink);text-decoration:none;font-weight:750}.cm-account-menu>div a:hover{background:var(--cm-gold-soft)}
.cm-header-alert b { position:absolute;top:-4px;right:-3px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--cm-gold);color:#fff;font-size:10px; }
.cm-header-profile { display:flex;align-items:center;gap:8px;color:var(--cm-ink);text-decoration:none;font-weight:800; }.cm-header-avatar { width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--cm-gold);border-radius:50%;background:var(--cm-gold-soft);color:#9a6a00; }
body[data-theme] .sidebar { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important; }
body[data-theme] .sidebar .brand,body[data-theme] .sidebar-nav .sidebar-nav-section { background:#fff!important;border-color:var(--cm-line)!important; }
body[data-theme] .sidebar .brand strong,body[data-theme] .sidebar .brand span,body[data-theme] .sidebar-nav a,body[data-theme] .sidebar-section-title { color:var(--cm-ink)!important; }
body[data-theme] .sidebar-nav a:hover { background:var(--cm-gold-soft)!important;color:#8b6200!important; }
body[data-theme] .main { margin-left:0!important;width:100%!important;background:var(--cm-page)!important;color:var(--cm-ink)!important;padding-top:24px!important; }
body[data-theme] .content-shell::before { background:transparent!important;border:0!important;box-shadow:none!important; }
body[data-theme] .main .card,body[data-theme] .main .module-panel,body[data-theme] .main .category-section,body[data-theme] .main .section-shell,body[data-theme] .main .summary-item,body[data-theme] .main .metric,body[data-theme] .main .stat-card,body[data-theme] .main .workspace-action-card,body[data-theme] .main .activity-row,body[data-theme] .main .status-list>div,body[data-theme] .main .info-card { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 8px 24px rgba(54,48,36,.055)!important; }
body[data-theme] .main h1,body[data-theme] .main h2,body[data-theme] .main h3,body[data-theme] .main h4,body[data-theme] .main strong { color:var(--cm-ink)!important; }
body[data-theme] .main p,body[data-theme] .main .small-muted,body[data-theme] .main .muted,body[data-theme] .main span:not(.badge):not(.status-chip) { color:var(--cm-muted)!important;opacity:1!important; }
body[data-theme] .main li,body[data-theme] .main .about-side li,body[data-theme] .main .about-side p { color:var(--cm-muted)!important;opacity:1!important; }
body[data-theme] .main .about-side { background:#fff!important;border-color:var(--cm-line)!important;color:var(--cm-ink)!important; }
.court-manager-public-home .about-side { background:#fff!important;border-color:var(--cm-line)!important;color:var(--cm-ink)!important; }
.court-manager-public-home .about-side h3 { color:var(--cm-ink)!important; }
.court-manager-public-home .about-side li { color:var(--cm-muted)!important;opacity:1!important; }
body[data-theme] .main input,body[data-theme] .main select,body[data-theme] .main textarea { background:#fff!important;color:var(--cm-ink)!important;border-color:#d8d5cc!important; }
body[data-theme] .main .btn:not(.danger):not(.btn-danger),body[data-theme] .main button:not(.danger):not(.btn-danger) { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-gold)!important; }
body[data-theme] .main .primary,body[data-theme] .main .btn.primary { background:var(--cm-gold)!important;color:#fff!important;border-color:var(--cm-gold)!important; }
body[data-theme] .main .page-header,body[data-theme] .main .page-header-surface,body[data-theme] .main .tournament-publishing-center,body[data-theme] .main .tournament-live-operations,body[data-theme] .main .resource-hero,body[data-theme] .main .public-page-hero { background:linear-gradient(135deg,#fff,#fbfaf6)!important;color:var(--cm-ink)!important;border:1px solid var(--cm-line)!important;box-shadow:0 10px 28px rgba(54,48,36,.07)!important; }
.mobile-nav-toggle { display:none!important; }
@media (min-width:1181px){.sidebar{transform:translateX(-110%)!important;position:fixed!important;z-index:1090!important}.sidebar.open{transform:translateX(0)!important}}
@media (max-width:900px){.cm-global-header{min-height:74px;gap:9px;padding:8px 12px}.cm-header-menu{width:42px;height:42px}.cm-header-logo{flex:1;min-width:0}.cm-header-logo img{max-height:54px}.cm-header-links{display:none}.cm-header-profile span:last-child{display:none}.cm-header-account{gap:6px}body[data-theme] .main{padding:14px 11px 104px!important}}
@media (max-width:480px){.cm-header-logo img{width:min(100%,210px)}.cm-header-alert{width:40px;height:40px}.cm-header-avatar{width:38px;height:38px}}

/* One clean white-and-gold visual language across legacy and role pages. */
.page-video-bg,.page-video-overlay,.global-page-background,.page-background-media{display:none!important}
body[data-theme] .page,body[data-theme] .content-shell,body[data-theme] .tournament-manager-page,body.public-tournament-mode .tournament-dashboard-shell{background:var(--cm-page)!important;color:var(--cm-ink)!important}
body[data-theme] .main a:not(.btn):not([class*="button"]){color:#9a6b08}
body[data-theme] .main .btn-primary,body[data-theme] .main .btn-dark,body[data-theme] .main button.primary{background:var(--cm-gold)!important;color:#fff!important;border-color:var(--cm-gold)!important}
body[data-theme] .main .btn:hover,body[data-theme] .main button:hover{box-shadow:0 6px 18px rgba(171,121,15,.16)}

body.public-tournament-mode .cm-global-header{display:none!important}
.public-tournament-mode .tournament-public-topbar{background:#fff!important;border-color:var(--cm-gold)!important}
.public-tournament-mode .tournament-public-topbar nav a,.public-tournament-mode .tournament-public-brand strong{color:var(--cm-ink)!important}
.public-tournament-mode .tournament-public-brand small{color:var(--cm-muted)!important}
.public-tournament-mode .tournament-dashboard-hero{min-height:330px!important;background:#fff!important;border:1px solid var(--cm-line)!important;box-shadow:0 12px 34px rgba(54,48,36,.07)!important}
.public-tournament-mode .tournament-dashboard-hero::before{background:rgba(255,255,255,.88)!important}
.public-tournament-mode .tournament-dashboard-hero-copy{background:rgba(255,255,255,.94)!important;border:1px solid var(--cm-line)!important;box-shadow:0 10px 28px rgba(54,48,36,.07)!important}
.public-tournament-mode .tournament-dashboard-hero-copy h1{color:var(--cm-ink)!important;text-shadow:none!important;font-size:clamp(30px,4vw,52px)!important}
.public-tournament-mode .tournament-dashboard-hero-copy p,.public-tournament-mode .tournament-dashboard-hero-copy>span{color:var(--cm-muted)!important;text-shadow:none!important}
.public-tournament-mode .tournament-event-tabs,.public-tournament-mode .tournament-public-event-tabs{background:#fff!important;border-color:var(--cm-line)!important}
.public-tournament-mode .tournament-event-tabs a{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important}
.public-tournament-mode .tournament-event-tabs a.active{background:var(--cm-gold-soft)!important;color:#8a6208!important;border-bottom-color:var(--cm-gold)!important}
.public-tournament-mode .tournament-tour-home,.public-tournament-mode .tournament-sport-selector>a,.public-tournament-mode .event-poster,.public-tournament-mode .event-logo-panel,.public-tournament-mode .tournament-match-card,.public-tournament-mode .tournament-court-card,.public-tournament-mode .tournament-full-draw-match,.public-tournament-mode .tournament-draw-stage,.public-tournament-mode .tournament-match-centre-card,.public-tournament-mode .match-centre-court,.public-tournament-mode .queue-match-card{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 8px 24px rgba(54,48,36,.055)!important}
.public-tournament-mode .tournament-tour-home h1,.public-tournament-mode .tournament-sport-selector strong,.public-tournament-mode .event-poster h2,.public-tournament-mode .tournament-match-card h2,.public-tournament-mode .tournament-match-card h3,.public-tournament-mode .tournament-full-draw-match strong,.public-tournament-mode .match-centre-court h2,.public-tournament-mode .queue-match-card h3{color:var(--cm-ink)!important;text-shadow:none!important}
.public-tournament-mode .tournament-tour-home p,.public-tournament-mode .tournament-sport-selector span,.public-tournament-mode .event-poster p,.public-tournament-mode .tournament-match-card p,.public-tournament-mode .tournament-match-card span,.public-tournament-mode .tournament-full-draw-match span,.public-tournament-mode .queue-match-card span{color:var(--cm-muted)!important;opacity:1!important}
.public-tournament-mode #tournamentDrawSearch{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-gold)!important}
.public-tournament-mode #tournamentDrawSearch::placeholder{color:var(--cm-muted)!important}

.tournament-manager-page .manager-command-center,.tournament-manager-page .tournament-live-operations,.tournament-manager-page .manager-zone,.tournament-manager-page .tournament-automation-panel,.tournament-manager-page .tournament-control-panel,.tournament-manager-page .tournament-setup-panel,.tournament-manager-page .tournament-monitor-focus,.tournament-manager-page .tournament-queue-status{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 9px 25px rgba(54,48,36,.06)!important}
.tournament-manager-page h1,.tournament-manager-page h2,.tournament-manager-page h3,.tournament-manager-page h4,.tournament-manager-page strong{color:var(--cm-ink)!important;text-shadow:none!important}
.tournament-manager-page p,.tournament-manager-page span:not(.status-chip):not(.badge),.tournament-manager-page small{color:var(--cm-muted)!important;opacity:1!important}

@media(max-width:760px){.public-tournament-mode .tournament-dashboard-hero{grid-template-columns:1fr!important;padding:18px!important;min-height:0!important}.public-tournament-mode .tournament-dashboard-hero-logo{display:none}.public-tournament-mode .tournament-dashboard-hero-copy{padding:18px!important}.public-tournament-mode .tournament-public-topbar{padding:10px!important}.public-tournament-mode .tournament-public-topbar nav{overflow-x:auto;justify-content:flex-start!important}}

/* Keep coach notices below the sticky header and away from page controls. */
@media(max-width:900px){
  .coach-floating-announcement,.coach-floating-announcement-launcher{
    top:82px!important;right:12px!important;left:auto!important;
    width:auto!important;min-width:0!important;max-width:calc(100vw - 24px)!important;
  }
  .coach-floating-announcement-launcher{
    min-height:38px!important;padding:0 16px!important;
    background:#fff!important;color:var(--cm-ink)!important;
    border:1px solid var(--cm-gold)!important;
  }
}

/* Tournament system: remove the remaining legacy dark surfaces everywhere. */
body.public-tournament-mode,
body.public-tournament-mode .main,
body.public-tournament-mode .tournament-dashboard-shell,
body.public-tournament-mode .tournament-dashboard-main,
.tournament-manager-page,
.tournament-event-day-page,
.tournament-display-board {
  background:#f8f7f3!important;
  color:#292d33!important;
}

.public-tournament-mode .tournament-dashboard-hero {
  min-height:300px!important;
  background:#fff!important;
}
.public-tournament-mode .tournament-dashboard-hero::before { background:rgba(255,255,255,.9)!important; }
.public-tournament-mode .tournament-dashboard-hero-copy {
  background:#fff!important;border:1px solid var(--cm-line)!important;box-shadow:0 10px 28px rgba(54,48,36,.07)!important;
}
.public-tournament-mode .tournament-dashboard-hero-copy :is(h1,p,span) { color:var(--cm-ink)!important;text-shadow:none!important; }
.public-tournament-mode .tournament-sponsors-band {
  background:#fff!important;color:#8b6200!important;border-block:1px solid var(--cm-line)!important;
}

.public-tournament-mode :is(
  .tournament-calendar,.tournament-public-section,.tournament-monitor-focus,.tournament-monitor-details,
  .tournament-tour-home,.tournament-sport-selector>a,.event-poster,.event-logo-panel,
  .tournament-player-card,.tournament-news-grid article,.tournament-public-categories article,
  .tournament-ranking-hero,.tournament-ranking-table,.tournament-announcement-card,
  .tournament-group-standings,.bracket-board,.tournament-draw-stage
) { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 8px 24px rgba(54,48,36,.055)!important; }

.public-tournament-mode :is(.tournament-full-draw-board,.tournament-bracket-flow,.tournament-court-board) { background:#f7f8fa!important; }
.public-tournament-mode .tournament-full-draw-board .tournament-bracket-round h3 {
  background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-gold)!important;
}
.public-tournament-mode :is(.tournament-full-draw-match,.tournament-bracket-match) {
  background:#fff!important;color:var(--cm-ink)!important;border-color:#dfd4b8!important;box-shadow:0 8px 22px rgba(54,48,36,.08)!important;
}
.public-tournament-mode .draw-match-players>div { background:#fff!important;border-color:#e7dfca!important; }
.public-tournament-mode .draw-match-players>div.winner { background:#ecfdf3!important; }
.public-tournament-mode .tournament-full-draw-match footer {
  background:#fffaf0!important;color:var(--cm-ink)!important;border-top:1px solid var(--cm-line)!important;
}
.public-tournament-mode .tournament-full-draw-match footer :is(span,strong,small) { color:var(--cm-ink)!important; }

.public-tournament-mode .tournament-court-column { background:transparent!important; }
.public-tournament-mode .tournament-court-column>header {
  background:#fffaf0!important;color:var(--cm-ink)!important;border:1px solid var(--cm-line)!important;
}
.public-tournament-mode .tournament-court-match {
  background:#fff!important;color:var(--cm-ink)!important;border:1px solid var(--cm-line)!important;box-shadow:0 7px 20px rgba(54,48,36,.06)!important;
}
.public-tournament-mode .tournament-court-match :is(.match-card-head,.match-card-body,.tournament-live-side,.match-versus,footer) {
  background:#fff!important;color:var(--cm-ink)!important;border-color:#e7dfca!important;
}
.public-tournament-mode .tournament-court-match .tournament-live-side.is-winner { background:#ecfdf3!important; }
.public-tournament-mode .tournament-court-match :is(strong,span,small,.match-player strong,.match-player span,.tournament-live-side-score) {
  color:var(--cm-ink)!important;opacity:1!important;text-shadow:none!important;
}

.public-tournament-mode :is(.tournament-directory-tools input,.tournament-match-filter select,#tournamentDrawSearch) {
  background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-gold)!important;
}
.public-tournament-mode :is(.tournament-ai-toggle,.tournament-ai-assistant>section,.tournament-ai-assistant>section header,.tournament-ai-messages,.assistant-message,.user-message) {
  background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;
}
.public-tournament-mode .tournament-ai-assistant :is(strong,span,p,label) { color:var(--cm-ink)!important; }

.tournament-manager-page :is(
  .tournament-manager-header,.tournament-publishing-center,.tournament-command-center,.tournament-setup-readiness,
  .tournament-workspace-panel,.tournament-queue-status,.manager-zone,.manager-zone>summary,.manager-zone-body,
  .category-section,.category-section>summary,.tournament-automation-panel,.tournament-control-panel,
  .tournament-setup-panel,.tournament-monitor-focus,.tournament-live-operations,.tournament-current-results-panel,
  .tournament-court-umpire-panel,.tournament-court-umpire-card,.tournament-bulk-assignment-form,
  .tournament-wizard-steps article,.tournament-readiness-grid span,.tournament-command-grid article,
  .tournament-flow-board,.payment-panel,.tournament-announcer-card
) { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 8px 24px rgba(54,48,36,.055)!important; }
.tournament-manager-page :is(h1,h2,h3,h4,strong,label,legend,summary,td,li) { color:var(--cm-ink)!important;text-shadow:none!important;opacity:1!important; }
.tournament-manager-page :is(p,span,small) { color:var(--cm-muted)!important;text-shadow:none!important;opacity:1!important; }
.tournament-manager-page :is(input,select,textarea,.tournament-bulk-assignment-table input,.tournament-bulk-assignment-table select) {
  background:#fff!important;color:var(--cm-ink)!important;border-color:#d8d5cc!important;
}
.tournament-manager-page table,.tournament-manager-page :is(thead,tbody,tr,td) { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important; }
.tournament-manager-page th { background:#fff7df!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important; }
.tournament-manager-page tr:nth-child(even) td { background:#fbfaf6!important; }

.tournament-event-day-page :is(.tournament-event-match-card,.tournament-event-players>div,.match-result-player,.tournament-conflict-summary,.tournament-bulk-assignment-form) {
  background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 8px 22px rgba(54,48,36,.06)!important;
}
.tournament-event-day-page .tournament-event-players>div.is-winner,
.tournament-event-day-page .match-result-player.is-winner { background:#ecfdf3!important;color:#166534!important; }
.tournament-event-day-page :is(.tournament-event-match-head strong,.tournament-event-match-head span,.tournament-event-players>div) { color:var(--cm-ink)!important; }
.tournament-event-day-page :is(input,select,textarea,.tournament-event-control-form input,.tournament-event-control-form select) { background:#fff!important;color:var(--cm-ink)!important;border-color:#d8d5cc!important; }

.tournament-display-board :is(.card,.compact-card,.table-wrap) { background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important; }

@media(max-width:760px){
  .public-tournament-mode .tournament-court-board{grid-template-columns:1fr!important}
  .public-tournament-mode .tournament-dashboard-hero{min-height:0!important}
}
/* Public directory and download pages */
.mobile-download-page{max-width:1120px;margin:0 auto}.mobile-download-hero{min-height:auto!important}.mobile-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.mobile-download-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:290px;padding:34px!important;background:#fff!important;border:1px solid #dfbc58!important;box-shadow:0 16px 38px rgba(38,45,58,.08)!important}.mobile-download-card h2{margin:0;color:#202833!important;font-size:30px}.mobile-download-card p{color:#5c6675!important;line-height:1.65}.mobile-platform-mark{display:inline-flex;padding:8px 13px;border-radius:999px;background:#fff7dd;color:#7a5700;font-weight:900}.mobile-download-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.mobile-download-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center}.directory-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 28px!important;background:linear-gradient(120deg,#fff,#fff9e9)!important;border:1px solid #dfbc58!important}.directory-cta h2{margin:6px 0;color:#202833!important}.directory-cta p{max-width:780px;margin:0;color:#5c6675!important}.public-directory-section{margin-top:24px}.directory-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.directory-toolbar h2{margin:0;color:#202833!important}.directory-toolbar p{margin:4px 0 0;color:#657080!important}.directory-toolbar input{width:min(420px,100%);min-height:48px;background:#fff!important;color:#202833!important;border:1px solid #d7c06f!important}.court-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.court-directory-card{overflow:hidden;text-decoration:none;color:#202833;background:#fff;border:1px solid #e4d293;border-radius:20px;box-shadow:0 12px 30px rgba(38,45,58,.08);transition:transform .18s ease,box-shadow .18s ease}.court-directory-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(38,45,58,.13)}.court-directory-photo{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#f5edd4,#fff);overflow:hidden}.court-directory-photo img{width:100%;height:100%;object-fit:cover}.court-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#8a6710;font-size:24px;font-weight:900;background:radial-gradient(circle at top right,#fff 0,#fff7db 45%,#ead38c 100%)}.court-rate-pill{position:absolute;right:12px;bottom:12px;padding:8px 11px;border-radius:999px;background:#fff;color:#6f5000;font-weight:900;box-shadow:0 4px 15px rgba(0,0,0,.16)}.court-directory-copy{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:17px}.court-directory-logo{width:46px;height:46px;object-fit:cover;border-radius:50%;border:1px solid #dfbc58}.court-directory-copy h3{margin:0 0 4px;color:#202833!important;font-size:20px}.court-directory-copy p,.court-directory-copy span{display:block;margin:0;color:#657080!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-queue .quick-join-shell{background:#fff!important;border:1px solid #dfbc58!important}.public-queue .quick-session-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.public-queue .club-schedule-card{background:#fff!important;color:#202833!important;border:1px solid #e4d293!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(38,45,58,.07)!important}.public-queue .club-schedule-card *{text-shadow:none!important}.public-queue .session-club-name,.public-queue .session-date,.public-queue .session-time{color:#202833!important}.public-queue .session-meta,.public-queue .session-capacity span{color:#657080!important}.scoring-page{max-width:1240px;margin:0 auto}.scoring-page-header{background:#fff!important;border:1px solid #dfbc58!important}.scoring-page .scoring-shell{overflow:hidden;background:#fff!important;border:1px solid #dfbc58!important;box-shadow:0 16px 40px rgba(38,45,58,.08)!important}.scoring-page .scoring-topbar{background:linear-gradient(135deg,#fffdf7,#f8efd2)!important;color:#202833!important}.scoring-page .scoring-topbar h2,.scoring-page .scoring-topbar p,.scoring-page .scoring-meta-pill strong{color:#202833!important}.scoring-page .scoring-meta-pill{background:#fff!important;border:1px solid #e5d18e!important}.scoring-page .scoring-toolbar,.scoring-page .scoring-grid,.scoring-page .scoring-team-card,.scoring-page .scoring-status-card{background:#fff!important;color:#202833!important}.scoring-page .scoring-team-card,.scoring-page .scoring-status-card{border:1px solid #e1c76d!important;border-radius:18px!important}.scoring-page .score-big{color:#202833!important}.scoring-page button.primary{background:#d8a916!important;border-color:#b98a00!important;color:#1d2530!important}.scoring-page button:not(.danger):not(.primary){background:#fff!important;border-color:#d0a51b!important;color:#202833!important}.scoring-page .scoring-summary-strip .summary-item{background:#fffaf0!important;border-color:#e5d18e!important}
@media(max-width:900px){.court-directory-grid,.public-queue .quick-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mobile-download-grid{grid-template-columns:1fr}}
@media(max-width:620px){.court-directory-grid,.public-queue .quick-session-grid{grid-template-columns:1fr!important}.directory-toolbar,.directory-cta{align-items:stretch;flex-direction:column}.directory-toolbar input{width:100%}.mobile-download-card{padding:24px!important}}

/* Booking directory first, compact registration/help, and no legacy dark booking panels. */
.court-booking-page,.court-booking-page .card,.court-booking-page .court-detail-profile,.court-booking-page .court-facility-card,.court-booking-page .court-booking-wizard,.court-booking-page .court-booking-form{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important}
.court-booking-page :is(h1,h2,h3,strong,label,summary){color:var(--cm-ink)!important;text-shadow:none!important}
.court-booking-page :is(p,span,.small-muted){color:var(--cm-muted)!important;opacity:1!important}
.court-booking-page .court-weekly-head,
.court-booking-page .court-weekly-time,
.court-booking-page .court-weekly-cell{background:#fffdf8!important;border-color:#dfbc58!important;color:var(--cm-ink)!important;box-shadow:0 5px 14px rgba(38,45,58,.05)}
.court-booking-page .court-weekly-head span,
.court-booking-page .court-weekly-note{color:var(--cm-muted)!important}
.court-booking-page .court-weekly-cell.is-closed{background:#f1f3f6!important;border-color:#d8dde5!important}
.court-booking-page .court-weekly-pill.open{background:#dcfce7!important;color:#14532d!important;border-color:#22c55e!important}
.court-booking-page .court-weekly-pill.booked{background:#fee2e2!important;color:#7f1d1d!important;border-color:#ef4444!important}
.court-booking-page .court-weekly-pill.maintenance{background:#ffedd5!important;color:#7c2d12!important;border-color:#f97316!important}
.court-booking-page .court-weekly-pill.unavailable,
.court-booking-page .court-weekly-pill.closed{background:#e5e7eb!important;color:#374151!important;border-color:#9ca3af!important}
.court-booking-page .court-weekly-pill small,
.court-booking-page .court-weekly-pill em{color:inherit!important;opacity:1!important}
.court-booking-page .court-weekly-pill{white-space:normal!important;min-width:0!important;width:100%!important;max-width:100%!important}
.court-booking-page .court-weekly-courts{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important}
.directory-cta-compact{margin-top:24px!important;padding:14px 18px!important;min-height:0!important}
.directory-cta-compact .btn{min-height:40px!important;padding:8px 14px!important}
.court-login-gate-compact{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:13px 16px!important;margin:12px 0!important}
.court-login-gate-compact span{font-size:14px!important}
#cashBookingFields{display:grid;gap:12px}
#cashBookingFields[hidden]{display:none!important}

/* Compact Open Play discovery. Advanced filters stay one tap away. */
.public-queue .quick-join-shell{padding:16px!important}
.public-queue .quick-join-shell .toolbar h2{margin:4px 0!important;font-size:clamp(22px,3vw,30px)!important}
.public-queue .session-filter-panel{max-width:760px;margin:10px 0 16px!important;padding:0 12px!important;border-radius:12px!important}
.public-queue .session-filter-panel>summary{min-height:40px!important;font-size:14px!important}
.public-queue .session-filter-panel .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:8px 0 12px!important}
.public-queue .session-filter-panel :is(input,select){min-height:40px!important;padding:7px 10px!important}
.public-queue .quick-favorite-join{width:auto!important;min-height:42px!important}

/* Public tournament calendar/timeline: white and gold all the way through. */
.public-tournament-mode .tournament-calendar-month{background:#fff!important;color:#8a6208!important;border-color:var(--cm-gold)!important;box-shadow:0 6px 18px rgba(54,48,36,.06)!important}
.public-tournament-mode .tournament-timeline-event{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important;box-shadow:0 12px 30px rgba(54,48,36,.08)!important}
.public-tournament-mode .tournament-timeline-event .timeline-event-meta{background:#fff!important;color:var(--cm-ink)!important}
.public-tournament-mode .tournament-timeline-event .timeline-event-actions,.public-tournament-mode .event-actions{background:#fffaf0!important;border-top:1px solid var(--cm-line)!important}
.public-tournament-mode .tournament-timeline-event .event-poster{background:#f7f2e3!important}
.public-tournament-mode .tournament-timeline-event .event-poster::after{background:linear-gradient(180deg,rgba(20,25,32,.05),rgba(20,25,32,.58))!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="dark"]{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.72)!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="dark"]::after{background:linear-gradient(180deg,rgba(2,6,23,.18),rgba(2,6,23,.88))!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="dark"] :is(h2,p,span){color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.72)!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="dark"] .event-badge,.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="dark"] .event-fee{text-shadow:none!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="light"]{color:var(--cm-ink)!important;text-shadow:0 1px 8px rgba(255,255,255,.72)!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="light"]::after{background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.84))!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="light"] :is(h2,p,span){color:var(--cm-ink)!important;text-shadow:0 1px 8px rgba(255,255,255,.72)!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="light"] p{color:#374151!important}
.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="light"] .event-badge,.public-tournament-mode .tournament-timeline-event .event-poster[data-poster-tone="light"] .event-fee{color:#fff!important;text-shadow:none!important}
.public-tournament-mode .tournament-timeline-event :is(.event-logo-panel strong,.event-logo-panel div){color:var(--cm-ink)!important}
@media(max-width:900px){.public-queue .session-filter-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.court-login-gate-compact{align-items:flex-start!important;flex-direction:column!important}.public-queue .session-filter-panel .form-grid{grid-template-columns:1fr!important}}

/* Coach workspace uses the same clean white/gold surfaces as the native app. */
.coach-dashboard-page,.coach-dashboard-page .card,.coach-dashboard-page .module-panel,.coach-dashboard-page .schedule-monitor-card,.coach-dashboard-page .coach-collapsible-section,.coach-dashboard-page .billing-editor,.coach-dashboard-page .billing-editor-form{background:#fff!important;color:var(--cm-ink)!important;border-color:var(--cm-line)!important}
.coach-dashboard-page{background:#fffdf8!important;color:#20242b!important}
.coach-dashboard-page .page-header-surface{background:#fff!important;color:#20242b!important}
.coach-workspace-tabs{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;margin:0 0 16px;background:rgba(255,255,255,.96);border:1px solid #ead8ae;border-radius:18px;box-shadow:0 8px 24px rgba(30,36,44,.08)}
.coach-workspace-tab{display:flex;align-items:center;justify-content:center;min-height:48px;padding:9px 8px;border:1px solid #ead8ae;border-radius:14px;background:#fff;color:#20242b;font-weight:800;text-decoration:none}
.coach-workspace-tab.active{background:#dda91f;color:#171717;border-color:#dda91f;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.coach-dashboard-page[data-coach-view="schedule"] section:not(.coach-view-schedule),
.coach-dashboard-page[data-coach-view="payment"] section:not(.coach-view-payment),
.coach-dashboard-page[data-coach-view="approval"] section:not(.coach-view-approval),
.coach-dashboard-page[data-coach-view="request"] section:not(.coach-view-request),
.coach-dashboard-page[data-coach-view="home"] section:not(.coach-view-home){display:none!important}
.coach-dashboard-page[data-coach-view]:not([data-coach-view="home"]) .coach-summary-strip{display:none!important}
.coach-dashboard-page input,.coach-dashboard-page select,.coach-dashboard-page textarea{background:#fff!important;color:#20242b!important;border-color:#d8c28e!important}
.coach-dashboard-page .small-muted,.coach-dashboard-page p{color:#5f6878!important}
@media(max-width:720px){.coach-dashboard-page .page-header-surface{display:none}.coach-workspace-tabs{position:sticky;bottom:8px;top:auto;order:99;margin-top:18px}.coach-workspace-tab{font-size:12px;min-height:44px}.coach-dashboard-page{padding-bottom:84px}}
.coach-dashboard-page :is(h1,h2,h3,h4,strong,label,legend,summary){color:var(--cm-ink)!important;text-shadow:none!important}
.coach-dashboard-page :is(p,span,small,.small-muted){color:var(--cm-muted)!important;opacity:1!important;text-shadow:none!important}
.coach-dashboard-page :is(input,select,textarea){background:#fff!important;color:var(--cm-ink)!important;border-color:#d8c681!important}
.coach-dashboard-page .coach-priority-nav{position:sticky;top:74px;z-index:12;background:#fff!important;box-shadow:0 8px 22px rgba(54,48,36,.07)!important}
.coach-dashboard-page .coach-priority-nav a{background:#fffaf0!important;color:var(--cm-ink)!important;border:1px solid var(--cm-line)!important}

/* Streamlined public booking and Open Play flow */
.court-booking-page > .public-page-hero .public-hero-actions,
.public-queue > .public-page-hero .public-hero-actions{align-self:flex-start!important;flex:0 0 auto!important;width:fit-content!important;max-width:100%!important;min-width:0!important;grid-template-columns:auto!important}
.court-booking-page > .public-page-hero .btn,
.public-queue > .public-page-hero .btn{width:auto!important;min-height:42px!important;padding:9px 16px!important}
.court-booking-page .directory-cta{padding:12px 18px!important;min-height:0!important}
.court-booking-page .directory-cta h2{font-size:21px!important}
.court-booking-page .directory-cta p{font-size:14px!important}
.featured-schedule-heading{margin:18px 0 10px}.featured-schedule-heading p{margin:4px 0 0;color:#6b7280}
.public-queue .club-schedule-card.is-featured{grid-column:1/-1!important;border:2px solid #d4a514!important;background:linear-gradient(110deg,#fff,#fff8df)!important}
.featured-badge{background:#d4a514!important;color:#202833!important}
.schedule-section-divider{grid-column:1/-1;padding-top:12px;border-top:1px solid #eadcae}.schedule-section-divider h3{margin:0;color:#202833!important}
.court-detail-profile{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:0;margin:18px 0 22px;overflow:hidden;background:#fff;border:1px solid #dfbc58;border-radius:22px;box-shadow:0 16px 38px rgba(38,45,58,.08)}
.court-detail-media{min-height:430px;background:#f7f2e2}.court-detail-media img{width:100%;height:100%;object-fit:cover}.court-detail-info{padding:30px}.court-detail-info h2{margin:7px 0;font-size:34px;color:#202833!important}.court-detail-location{font-weight:800;color:#596577!important}.court-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.court-detail-facts div{padding:13px;border:1px solid #e6d59b;border-radius:13px;background:#fffaf0}.court-detail-facts span,.court-detail-facts strong{display:block}.court-detail-facts span{font-size:12px;color:#727b88}.court-detail-facts strong{margin-top:4px;color:#202833}.court-detail-map{height:210px;overflow:hidden;border:1px solid #e6d59b;border-radius:14px}.court-detail-map iframe{width:100%;height:100%;border:0}
.court-login-gate{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px!important;border:1px solid #dfbc58!important;background:#fff!important}.court-login-gate h2{margin:6px 0;color:#202833!important}.court-login-gate p{max-width:720px;margin:0;color:#606b79!important}.court-login-options{display:grid;grid-template-columns:1fr;gap:8px;min-width:280px}.social-google{background:#fff!important;color:#202833!important}.social-facebook{background:#1877f2!important;color:#fff!important;border-color:#1877f2!important}
.booking-confirmation-page{max-width:880px;margin:0 auto}.booking-confirmation-shell{padding:34px;background:#fff;border:1px solid #dfbc58;border-radius:24px;box-shadow:0 18px 45px rgba(38,45,58,.1);text-align:center}.booking-confirmation-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:#fff2bd;color:#6d5000;font-size:30px;font-weight:900}.booking-confirmation-shell h1{margin:7px 0;color:#202833!important}.booking-confirmation-shell>p{color:#657080!important}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0}.booking-progress div{display:grid;justify-items:center;gap:6px;color:#9299a3}.booking-progress strong{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#eef0f3}.booking-progress .done,.booking-progress .current{color:#202833}.booking-progress .done strong,.booking-progress .current strong{background:#d4a514;color:#fff}.confirmation-summary-card{padding:22px;text-align:left;border:1px solid #e5d18e;border-radius:18px;background:#fffdf7}.confirmation-summary-card h2{color:#202833!important}.confirmation-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.confirmation-summary-grid div{padding:12px;border-radius:12px;background:#f7f7f5}.confirmation-summary-grid span,.confirmation-summary-grid strong{display:block}.confirmation-summary-grid span{font-size:12px;color:#717b88}.confirmation-summary-grid strong{margin-top:4px;color:#202833;overflow-wrap:anywhere}.confirmation-slots{display:grid;gap:8px;margin-top:14px}.confirmation-slots div{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:12px;border-top:1px solid #eee3bd}.confirmation-fee-breakdown{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #eadcae;border-radius:12px;background:#fffaf0}.confirmation-fee-breakdown div{display:flex;justify-content:space-between;gap:14px}.confirmation-total{display:flex;justify-content:space-between;padding-top:16px;margin-top:8px;border-top:2px solid #d4a514;font-size:20px}.confirmation-notices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.confirmation-notices div{display:flex;justify-content:space-between;padding:13px;border:1px solid #e5d18e;border-radius:12px}.confirmation-actions{justify-content:center}
@media(max-width:800px){.court-detail-profile{grid-template-columns:1fr}.court-detail-media{min-height:260px}.court-login-gate{align-items:stretch;flex-direction:column}.court-login-options{min-width:0;width:100%}.confirmation-summary-grid{grid-template-columns:1fr}}
@media(max-width:560px){.court-detail-info,.booking-confirmation-shell{padding:20px}.court-detail-facts{grid-template-columns:1fr 1fr}.booking-progress span{font-size:10px}.confirmation-slots div{grid-template-columns:1fr}.confirmation-notices{grid-template-columns:1fr}}
