/* Shared application palette. TV and broadcast overlays retain their dedicated surfaces. */
body:is([data-app=admin],[data-app=superadmin],[data-app=manager]){--sm-ink:#0b1120;--sm-panel:#142037;--sm-panel-raised:#1b2a43;--sm-line:#405776;--sm-line-soft:#2a3d58;--sm-text:#f5f7fc;--sm-muted:#a4b5ce;--sm-display:"Segoe UI",Arial,sans-serif;--sm-gold:#edc778;background:var(--sm-ink);color:var(--sm-text)}
.app-theme-toggle{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:8px;min-height:43px;padding:10px 14px;border:1px solid #839abb66;border-radius:10px;background:#142239f5;color:#d9e5f5;font:600 11px "Segoe UI",sans-serif;box-shadow:0 8px 25px #0003;cursor:pointer}
.app-theme-toggle svg{width:17px;height:17px;flex-shrink:0}.app-theme-toggle:focus-visible{outline:3px solid #6acbe4;outline-offset:3px}
body:is([data-app=admin],[data-app=superadmin]) :is(.card,.device-card,.account-card){background:linear-gradient(140deg,#17263f,#121d30);border-color:#40577666;border-radius:15px}
body:is([data-app=admin],[data-app=superadmin]) .btn-primary{background:linear-gradient(110deg,#d9002d,#f31e4c);border-color:#fb355b66}
.match-video-dialog{width:min(580px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:28px;border:1px solid #557294;border-radius:16px;background:#142139;color:#edf3fb;box-shadow:0 30px 90px #0008}
.match-video-dialog::backdrop{background:#050b17b0;backdrop-filter:blur(4px)}
.match-video-dialog h2{font-size:23px;margin:0 0 15px}.match-video-dialog label{display:grid;gap:10px;margin:22px 0 12px;font-size:13px}
.match-video-dialog input{width:100%;min-height:45px;padding:12px;border-radius:8px;border:1px solid #5f7b9d;background:#0b1526;color:#fff;font:inherit}
.match-video-dialog .console-help{font-size:12px;line-height:1.8;color:#acc0da}.match-video-dialog [role=status]{font-size:13px;color:#85d3b1}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin],[data-app=manager]){--sm-ink:#f3f6fc;--sm-panel:#fff;--sm-panel-raised:#e9f0f9;--sm-line:#afc5dd;--sm-line-soft:#d0ddec;--sm-text:#203a5b;--sm-muted:#526b88;--sm-gold:#8b651e;--bg:#f3f6fc;--surface:#fff;--panel:#fff;--text:#203a5b;--muted:#526b88;background:#f3f6fc!important;color:#203a5b}
[data-theme=light] .app-theme-toggle{background:#ffffffed;color:#304f73;border-color:#b1c8e0;box-shadow:0 8px 25px #284b7220}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin],[data-app=manager]) :is(.brand-logo,.club-logo,.wordmark img,.public-nav img,.login-card img,.logo img,#sidebar img,#login-screen img){background:transparent!important;border:0;box-shadow:none;filter:url(#snooker-logo-light)}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(#sidebar,.sidebar){background:linear-gradient(165deg,#eaf0f9,#f9fbff)!important;border-color:#c4d5e8}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(header,#main-content,#page-content){color:#203a5b}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.bg-gray-800,.bg-gray-900,.bg-snooker-dark,.bg-snooker-darker){background:#f6f9fe!important;border-color:#cedded!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.card,.device-card,.account-card,.club-hero,.console-filters,.competition-match,.community-editor-grid>section,.console-table-card){background:linear-gradient(140deg,#fff,#edf3fc)!important;border-color:#cbdbee!important;color:#203a5b}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.text-white,.text-gray-100,.text-gray-200,.text-gray-300){color:#294668!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.text-gray-400,.text-gray-500,.console-help,.card p,.club-hero p,.club-metric-note){color:#526c8c!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(input,select,textarea){background:white!important;color:#254363!important;border-color:#adc6e1!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(input,textarea)::placeholder{color:#637c98}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(label,.community-selector,.community-editor-grid label,.table td,.table th){color:#3b587a}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.btn-secondary,.console-tabs button){background:#edf3fb;color:#345777;border-color:#b3cbe3}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.btn-primary,.btn-primary *,.console-tabs button.active,.console-tabs button[aria-selected=true]){background-color:#de123b;color:#fff!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.sidebar a,.nav-item){color:#3c5678}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.sidebar a.active,.nav-item.active){background:#fce4ec!important;color:#b51b46!important;border-color:#ef7294}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(th,.table thead){background:#e5edf8!important;color:#415f83}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.table tbody tr:hover,.dashboard-community .console-metrics>div,.community-media-empty){background:#e8f0fa!important;color:#385a7a;border-color:#bdd2e7}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) :is(.console-report-match,.console-report-head,.console-report-frame,.console-table-config,.competition-round-table th,.competition-round-table td){background:#f0f5fc;color:#2c486b;border-color:#bed2e7}
html[data-theme=light] body[data-app=manager] :is(.club-header,.login-card,.workspace,.table-section,.content-view,.panel,.directory-card,.table-config,dialog){background:linear-gradient(140deg,#fff,#edf3fc)!important;border-color:#bfd3e8;color:#233e60}
html[data-theme=light] body[data-app=manager] :is(.header-meta,.field-help,.section-title span,.empty-state span,.directory-card p,.owner-link,.config-status){color:#526c8a}
html[data-theme=light] body[data-app=manager] :is(input,select,textarea){background:#fff;color:#274668;border-color:#b1c8df}
html[data-theme=light] body[data-app=manager] :is(.club-tabs,.queue-item,.manager-summary>div,.table-card,.match-report,.report-match,.report-frame,.report-table-card){background:#edf3fb;border-color:#b7cde5;color:#29496b}
html[data-theme=light] body[data-app=manager] :is(.table-card.selected,.club-tabs button.active){background:linear-gradient(110deg,#cb002c,#ed234b);color:#fff}
html[data-theme=light] body[data-app=manager] :is(button.secondary,.club-tabs button:not(.active),.queue-tools button){background:#e8f0fa;border-color:#b5cce3;color:#365878}
html[data-theme=light] .match-video-dialog{background:linear-gradient(140deg,#fff,#edf3fc);color:#244465;border-color:#b1c8df}
html[data-theme=light] .match-video-dialog input{background:#fff;color:#254363;border-color:#adc6e1}
html[data-theme=light] .match-video-dialog .console-help{color:#536f8b}
html[data-theme=light] .match-video-dialog [role=status]{color:#277354}
@media(max-width:600px){.app-theme-toggle{right:12px;bottom:12px;padding:10px}.app-theme-toggle span{display:none}.match-video-dialog{padding:22px}}

.appearance-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

/* Legacy shells use ID selectors; keep light mode explicit at those boundaries. */
html[data-theme=light] #main-app #sidebar,html[data-theme=light] #main-content #sidebar,html[data-theme=light] body[data-app=superadmin]>#sidebar{background:linear-gradient(165deg,#eaf0f9,#f9fbff)!important;background-image:linear-gradient(165deg,#eaf0f9,#f9fbff)!important;border-color:#bfd1e7!important;color:#294766!important}
html[data-theme=light] #main-app #sidebar>div,html[data-theme=light] #main-content #sidebar>div,html[data-theme=light] body[data-app=superadmin] #sidebar>div{background:#f0f5fc!important;border-color:#c5d7e9!important}
html[data-theme=light] #main-app>div.ml-64>header,html[data-theme=light] #main-content>div:not(#modals-container)>header{background:#f8fbff!important;border-color:#c4d5e8!important;color:#294766!important}
html[data-theme=light] #main-app :is(.btn-secondary,.btn-secondary *),html[data-theme=light] #main-content :is(.btn-secondary,.btn-secondary *){background:#e6eff9!important;color:#345879!important;border-color:#b4cce3!important}
html[data-theme=light] #main-app #sidebar a,html[data-theme=light] #main-content #sidebar a,html[data-theme=light] body[data-app=superadmin] #sidebar a{color:#365674!important}
html[data-theme=light] #main-app #sidebar a.active,html[data-theme=light] #main-content #sidebar a.active,html[data-theme=light] body[data-app=superadmin] #sidebar a.active{background:#fbe4eb!important;color:#a51d43!important;border-color:#e794ad!important}
html[data-theme=light] #main-app :is(.club-metric-label,.dashboard-community .console-metrics span,.console-eyebrow,.eyebrow),html[data-theme=light] #main-content :is(.club-metric-label,.console-eyebrow,.eyebrow){color:#526c8b!important}
html[data-theme=light] #main-app #logout-btn,html[data-theme=light] #main-content #logout-btn{background:#e0eaf6!important;color:#345879!important}
html[data-theme=light] body[data-app=manager] :is(.table-card h3,.empty-state strong,.club-header #clock){color:#2b496b!important}
html[data-theme=light] body[data-app=manager] .table-card.active :is(h3,p,small){color:#fff!important}
html[data-theme=light] body[data-app=manager] .club-tabs{background:#e1ebf7!important;border-color:#b5cce4!important}
html[data-theme=light] body[data-app=manager] .manager-summary{color:#536d8b!important}
html[data-theme=light] body[data-app=manager] .manager-summary strong{color:#86611f!important}
html[data-theme=light] body[data-app=manager] .empty-state span{color:#566d87!important}

html[data-theme=light] #main-app #sidebar-nav .nav-item,html[data-theme=light] #main-app #sidebar-nav .nav-item :is(span,i){color:#365674!important;background:transparent!important}
html[data-theme=light] #main-app #sidebar-nav .nav-item.active{background:#fbe4eb!important;border-color:#ed91ac!important;color:#a51d43!important}
html[data-theme=light] #main-app #sidebar-nav .nav-item.active :is(span,i){color:#a51d43!important}
html[data-theme=light] #main-content #main-menu :is(a,span,i){color:#365674!important}
html[data-theme=light] #main-content #main-menu a.active{background:#fbe4eb!important;color:#a51d43!important}
html[data-theme=light] #main-content #main-menu a.active :is(span,i){color:#a51d43!important}
html[data-theme=light] body[data-app=manager] #app .club-tabs{background:#e1ebf7!important;border-color:#b5cce4!important}

/* Club dashboard components and legacy !important component states. */
html[data-theme=light] body[data-app=admin]{--club-bg:#f3f6fc;--club-panel:#fff;--club-panel-2:#e9f0f9;--club-line:#bfd1e5;--club-text:#203a5b;--club-muted:#526b88;--club-green:#207448;--club-red:#ba2448;--club-gold:#886013;--club-blue:#2e5d96}
html[data-theme=light] #main-app .club-table-card{background:#fff;color:#294668;border-color:#b9cfe5;box-shadow:0 3px 10px #2946680c}
html[data-theme=light] #main-app .club-table-card:is(:hover,:focus-visible){background:#e6effa;border-color:#7e9fbf;color:#203a5b}
html[data-theme=light] #main-app .club-table-card:focus-visible{outline:3px solid #2468b5;outline-offset:3px}
html[data-theme=light] #main-app .club-table-card header{background:transparent!important;backdrop-filter:none;border:0!important;color:inherit}
html[data-theme=light] #main-app .club-table-card strong{color:#294668}
html[data-theme=light] #main-app .club-table-card small{color:#52647c}
html[data-theme=light] #main-app :is(.report-toolbar,.report-summary>div,.table-container){background:#f7faff!important;border-color:#bfd1e5!important;color:#294668}
html[data-theme=light] #main-app .table th{background:#e5edf8!important;color:#415f83!important}
html[data-theme=light] #main-app .table td{border-color:#cfdaea!important}
html[data-theme=light] #main-app .table tbody tr:hover{background:#e7effa!important}
html[data-theme=light] #main-app .badge-success{background:#e3f4e9!important;color:#226541!important;border-color:#afd6bf}
html[data-theme=light] #main-app .badge-warning{background:#fff1d4!important;color:#775111!important;border-color:#e4ca92}
html[data-theme=light] #main-app .badge-danger{background:#fce5ec!important;color:#a12548!important;border-color:#edb4c5}
html[data-theme=light] #main-app .badge-info{background:#e7eef9!important;color:#2c527d!important;border-color:#bed0e7}
html[data-theme=light] #main-app .btn-secondary:is(:hover,:active){background:#d9e7f7!important;color:#244364!important;border-color:#91afce!important}
html[data-theme=light] #main-app .btn-secondary:is(:hover,:active) *{background:transparent!important;color:inherit!important}
html[data-theme=light] #main-app .btn:is(:disabled,[aria-disabled=true]){background:#edf1f7!important;color:#63758e!important;border-color:#ced8e5!important;box-shadow:none;opacity:1}
html[data-theme=light] body[data-app=admin] .lang-btn{background:#e8f0fa;color:#365878;border-color:#b5cce3}
html[data-theme=light] body[data-app=admin] .lang-btn:hover{background:#d9e7f7;color:#244364}
html[data-theme=light] body[data-app=admin] .lang-btn.active{background:#df002c;color:#fff;border-color:#df002c}

/* Searchable player forms also render in legacy modal containers outside the app shell. */
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) .modal-content{background:linear-gradient(140deg,#fff,#edf3fc)!important;color:#294668;border-color:#bfd1e5}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) .modal-content :is(h3,.modal-close-button){color:#294668!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) .modal-content .btn-secondary{background:#e6eff9!important;color:#345879!important;border-color:#b4cce3!important}
html[data-theme=light] body:is([data-app=admin],[data-app=superadmin]) .modal-content .btn-secondary:hover{background:#d9e7f7!important;color:#244364!important;border-color:#91afce!important}
html[data-theme=light] body[data-app=manager] dialog .icon-button[data-close]{background:transparent;color:#365878}
html[data-theme=light] body[data-app=manager] dialog .icon-button[data-close]:hover{background:#e5edf8;color:#244364}
