/* Open Tournament only. Reuses shared action, surface and status tokens. */
body.ot-blue-theme{--tournament-blue:#527BC1;--tournament-blue-text:#294F89;--tournament-blue-pale:#EDF3FC;--tournament-blue-track:#DDE7F5}
.ot-blue-theme .ot-tournament-info{box-shadow:inset 0 3px 0 var(--tournament-blue),0 4px 20px var(--shadow-color)}
.ot-blue-theme :is(.ot-tabs,#otMoreTabs,#otMobileTabs) button.active{background:var(--tournament-blue-pale);--control-ink:var(--text-primary);color:var(--tournament-blue-text);border-color:transparent;box-shadow:inset 3px 0 0 var(--tournament-blue)}
.ot-blue-theme :is(.ot-tabs,#otMoreTabs,#otMobileTabs) button:hover:not(.active){background:var(--surface-hover);--control-ink:var(--text-primary);color:var(--text-primary)}
.ot-blue-theme .ot-dashboard-split>.card:has(#dashNext) h2::first-letter{color:var(--tournament-blue)}
.ot-blue-theme .ot-overview-head h2,.ot-blue-theme .card:has(>#dashProgress) h2,.ot-blue-theme .card:has(.dash-progress-grid) .compact-head h2{position:relative}
.ot-blue-theme .ot-overview-head h2::before,.ot-blue-theme .card:has(.dash-progress-grid) .compact-head h2::before{content:"";position:absolute;left:-8px;top:20%;bottom:20%;width:3px;background:var(--tournament-blue);--control-ink:var(--text-primary);border-radius:2px;pointer-events:none}
.ot-blue-theme .dash-court-card.available{background:var(--surface);--control-ink:var(--text-primary)}
.ot-blue-theme .dash-court-card.playing,.ot-blue-theme .live-card:has(.badge.playing){background:var(--success-surface);--control-ink:var(--text-primary);border-color:var(--success-border)}
.ot-blue-theme .dash-next-row{background:var(--tournament-blue-pale);--control-ink:var(--text-primary);border-color:var(--tournament-blue-track)}
.ot-blue-theme .dash-next-number{background:var(--surface-secondary);--control-ink:var(--text-primary);color:var(--text-secondary);font-weight:500;box-shadow:none;cursor:default}
.ot-blue-theme #dashStats .stat-card:nth-child(1),.ot-blue-theme #dashStats .stat-card:nth-child(2){background:var(--tournament-blue-pale);--control-ink:var(--text-primary);box-shadow:inset 0 2px 0 var(--tournament-blue)}
.ot-blue-theme #dashStats .stat-card:nth-child(3){background:var(--success-surface);--control-ink:var(--text-primary);box-shadow:inset 0 2px 0 var(--brand-fill)}
.ot-blue-theme #dashStats .stat-card:nth-child(4){background:var(--surface);--control-ink:var(--text-primary)}
.ot-blue-theme #dashStats .stat-card:nth-child(5){background:var(--warning-surface);--control-ink:var(--text-primary);box-shadow:inset 0 2px 0 var(--orange-accent)}
.ot-blue-theme .progress-track{background:var(--tournament-blue-track);--control-ink:var(--text-primary)}
.ot-blue-theme .progress-fill{background:var(--tournament-blue);--control-ink:var(--text-primary)}
/* Completion color uses the existing counts; width still uses the existing percentage. */
.ot-blue-theme .progress-fill[data-complete="true"]{background:var(--brand-fill);--control-ink:var(--on-brand)}
.ot-blue-theme :is([data-dashboard-assign],[data-dashboard-live],[data-dashboard-send],.global-nav-audience){background:var(--action-bg,var(--brand-fill));--control-ink:var(--on-brand);color:var(--on-brand);border-color:var(--brand-fill)}
.ot-blue-theme :is([data-dashboard-assign],[data-dashboard-live],[data-dashboard-send],.global-nav-audience):hover:not(:disabled){--action-bg:var(--brand-hover)}
.ot-blue-theme :is([data-dashboard-assign],[data-dashboard-live],[data-dashboard-send],.global-nav-audience):active:not(:disabled){--action-bg:var(--brand-pressed)}
.ot-blue-theme :is([data-dashboard-assign],[data-dashboard-live],[data-dashboard-send],.global-nav-audience):disabled{--action-bg:var(--disabled-surface)}
.ot-blue-theme th{background:var(--tournament-blue-pale);--control-ink:var(--text-primary);color:var(--text-primary)}
.ot-blue-theme tr:hover td{background:var(--surface-hover);--control-ink:var(--text-primary)}
/* The shared header uses important neutral colors; this action is explicitly primary. */
.ot-blue-theme .global-game-nav .global-nav-audience{background:var(--action-bg,var(--brand-fill))!important;--control-ink:var(--on-brand)!important;color:var(--on-brand)!important;border-color:var(--brand-fill)!important}
.ot-blue-theme .global-nav-audience .global-nav-icon{color:inherit}

/* Compact category selector used only by Live / Match Control. */
.ot-blue-theme .live-control-head>div:first-child{min-width:0;max-width:100%}
.ot-blue-theme .live-control-title-row{gap:12px;flex-wrap:wrap;min-width:0}
.ot-blue-theme #liveCategorySelect{
 box-sizing:border-box;appearance:none;-webkit-appearance:none;
 height:46px;min-height:46px;min-width:0;width:280px;max-width:100%;
 padding:0 40px 0 14px;border:1px solid var(--border-soft);border-radius:10px;
 background-color:#FFFFFF;color:#16232A;font-size:16px;font-weight:400;line-height:1.4;
 box-shadow:none;outline:none!important;outline-offset:0!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2316232A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 12px center;background-size:20px;
}
.ot-blue-theme #liveCategorySelect:focus-visible{border-color:#075056;box-shadow:0 0 0 2px rgba(7,80,86,.18)}
.ot-blue-theme #liveCategorySubtitle{margin:8px 0 0}
@media(max-width:760px){.ot-blue-theme #liveCategorySelect{width:100%}}

/* Participant entry dialog: scroll fields independently of its action footer. */
.ot-blue-theme .ot-modal:has(#pairForm){width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px 0 0;border:1px solid #d6e2e5;border-radius:16px;background:#fff;box-shadow:0 12px 36px #16232a1a;overflow:hidden}
.ot-blue-theme .ot-modal:has(#pairForm) .modal-x{margin-right:20px}
.ot-blue-theme #modalBody:has(#pairForm){display:flex;flex-direction:column;max-height:calc(100dvh - 54px);min-height:0}
.ot-blue-theme #modalBody:has(#pairForm)>h2{font-size:22px;line-height:1.3;margin:0 48px 16px 20px;color:#16232A}
.ot-blue-theme #pairForm{display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden}
.ot-blue-theme .participant-body{padding:0 20px 20px;overflow-y:auto;min-height:0;display:grid;gap:16px}
.ot-blue-theme #pairForm label{display:grid;gap:6px;font-size:13px;font-weight:500;color:#475569}
.ot-blue-theme #pairForm :is(input:not([type=checkbox]),select,textarea){box-sizing:border-box;width:100%;min-width:0;border:1px solid #cbd5df;border-radius:8px;background-color:#fff;color:#16232A;font-size:16px;font-weight:400;padding:10px 12px;box-shadow:none;outline:none!important;outline-offset:0!important}
.ot-blue-theme #pairForm :is(input,select,textarea):focus-visible{border-color:#075056;box-shadow:0 0 0 2px #07505630}
.ot-blue-theme #pairForm select{height:46px;appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316232A' stroke-width='1.7'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px}
.ot-blue-theme #pairForm textarea{height:150px;min-height:150px;resize:vertical;line-height:1.5}
.ot-blue-theme #singleParticipantFields,.ot-blue-theme #bulkParticipantFields{display:grid;gap:12px}
.ot-blue-theme #pairForm .hidden{display:none!important}
.ot-blue-theme #pairForm .assigned-groups{display:flex;align-items:center;gap:8px;color:#16232A;font-size:14px}
.ot-blue-theme #useAssignedGroups{width:16px;height:16px;margin:0;accent-color:#075056}
.ot-blue-theme #bulkParticipantHint{font-size:14px;line-height:1.5;margin:0;color:#475569}
.ot-blue-theme .participant-tabs{display:flex;border:1px solid #cbd5df;border-radius:9px;overflow:hidden}
.ot-blue-theme #pairForm .participant-tabs button{flex:1;border:0;border-radius:0;background:#fff;--control-ink:#16232A;font-size:14px;font-weight:500;padding:11px 8px;display:flex;align-items:center;justify-content:center;gap:8px}
.ot-blue-theme #pairForm .participant-tabs button[aria-selected=true]{background:#075056;--control-ink:#fff}
.ot-blue-theme #pairForm .participant-tabs button[aria-selected=true]:hover{background:#063f44;--control-ink:#fff}
.ot-blue-theme #pairForm .participant-tabs button[aria-selected=false]:hover{background:#EAF5F4;--control-ink:#16232A}
.ot-blue-theme #pairForm svg{width:18px;height:18px;flex:none}
.ot-blue-theme #previewBulkParticipants{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:500}
.ot-blue-theme .participant-empty{padding:18px 12px;text-align:center;border:1px dashed #cbd5df;border-radius:8px;font-size:14px;color:#16232A}
.ot-blue-theme .participant-empty p{margin:6px 0 0;color:#475569;font-size:13px}
.ot-blue-theme #bulkParticipantPreview .item-card{padding:10px 12px;font-size:14px;border-radius:8px}
.ot-blue-theme #pairForm .participant-footer{flex:none;display:flex;justify-content:flex-end;gap:10px;margin:0;padding:14px 20px;border-top:1px solid #E2E8F0;background:#fff}
.ot-blue-theme .participant-footer button{font-size:14px;font-weight:500;padding:10px 14px}
.ot-blue-theme #importParticipantsBtn:disabled{background:#e2e8f0;--control-ink:#475569;border-color:#e2e8f0;opacity:1;cursor:not-allowed}
.ot-blue-theme .participant-body{grid-auto-rows:max-content;align-content:start}
.ot-blue-theme .participant-tabs{min-height:44px}

/* Scoped overview court and queue panels. */
.ot-blue-theme .ot-dashboard-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:20px}
.ot-blue-theme .ot-dashboard-split>.card{min-width:0;background:#fff;border:1px solid #d6e2e5;border-radius:16px;box-shadow:0 3px 14px #16232a08}
.ot-blue-theme .ot-dashboard-split>.card>.pad{padding:20px}
.ot-blue-theme .ot-dashboard-split .compact-head{background:transparent;padding:0;margin:0 0 18px;gap:12px;align-items:flex-start}
.ot-blue-theme .ot-dashboard-split .compact-head h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:#16232A;margin:0}
.ot-blue-theme .ot-dashboard-split>.card .compact-head h2::before{content:none}
.ot-blue-theme .ot-dashboard-split .compact-head p{font-size:13px;line-height:1.5;color:#475569;margin:5px 0 0}
.ot-blue-theme .ot-dashboard-split svg{width:18px;height:18px;flex:none}
.ot-blue-theme .ot-dashboard-split .dashboard-clock{color:#527BC1;width:20px;height:20px}
.ot-blue-theme .dashboard-live-dot{width:7px;height:7px;border-radius:50%;background:#075056;flex:none}
.ot-blue-theme .ot-dashboard-split .compact-head button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:500;background:#fff;--control-ink:#16232A;border:1px solid #d6e2e5;border-radius:8px}
.ot-blue-theme .ot-dashboard-split .compact-head button:is(:hover,:focus-visible){background:#075056;--control-ink:#fff;color:#fff}
.ot-blue-theme #dashLive{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.ot-blue-theme #dashLive .dash-court-card{min-width:0;border:1px solid #d6e2e5;border-radius:12px;padding:14px;box-shadow:none}
.ot-blue-theme #dashLive .court-name{font-size:15px;font-weight:500;color:#16232A}
.ot-blue-theme .ot-dashboard-split .badge{font-size:10px;padding:4px 7px;font-weight:600}
.ot-blue-theme #dashLive .dash-court-empty{padding:22px 0;gap:7px;color:#475569}
.ot-blue-theme #dashLive .dash-court-empty strong{font-size:14px;font-weight:500;color:#16232A}
.ot-blue-theme #dashLive .dash-court-empty span{font-size:12px;line-height:1.5}
.ot-blue-theme #dashLive .dash-court-icon{background:transparent;border:0;box-shadow:none;color:#527BC1;width:auto;height:auto}
.ot-blue-theme #dashLive .dash-court-icon svg{width:40px;height:40px}
.ot-blue-theme #dashLive .dash-court-action{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:500;border-radius:8px}
.ot-blue-theme #dashNext .dashboard-queue-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:210px;padding:24px 16px;background:#EDF3FC;border:1px solid #dde7f5;border-radius:12px;text-align:center;color:#475569}
.ot-blue-theme #dashNext .dashboard-queue-empty svg{width:32px;height:32px;margin-bottom:4px}
.ot-blue-theme #dashNext .dashboard-queue-empty strong{color:#16232A;font-size:15px;font-weight:500}
.ot-blue-theme #dashNext .dashboard-queue-empty span{font-size:13px}
@media(max-width:1000px){.ot-blue-theme .ot-dashboard-split{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.ot-blue-theme .ot-dashboard-split>.card>.pad{padding:16px}.ot-blue-theme .ot-dashboard-split .compact-head{flex-wrap:wrap}.ot-blue-theme .ot-dashboard-split .compact-head button{margin-left:auto}}
.ot-blue-theme .ot-dashboard-split>.card:has(#dashLive) .compact-head h2::before,.ot-blue-theme .ot-dashboard-split>.card:has(#dashNext) .compact-head h2::before{content:none}
