/**
 * Synergy VL shared chrome — buttons, chips, inputs, toggles.
 * Loaded by both plugin (before director-hud.css) and theme (before arena-hud.css).
 * Layout stays in director-hud.css / arena-hud.css. No desk may redefine these as pills.
 * LOCK: Director + public + Family buttons = 8px rectangles. Family layout/structure stays;
 * buttons/radius only for Family (Bryan 2026-09-15 sweep).
 */

/* ---- Tokens used by this sheet ---- */
#vball-director-hud,
body.is-hud,
body.vball-director-hud {
	--vl-ctrl-h: 40px;
	--vl-ctrl-h-pub: 48px;
	--vl-primary: var(--vl-cyan, #5ad4ff);
	--vl-primary-ink: var(--vl-navy, #070b14);
	--vl-secondary-border: rgba(148, 163, 184, 0.55);
	--vl-ghost-bg: rgba(148, 163, 184, 0.12);
	--vl-danger-bg: #7f1d1d;
	--vl-danger-ink: #fecaca;
	--vl-status-ok: #16a34a;
	--vl-status-warn: #ca8a04;
	--vl-status-bad: #dc2626;
	--vl-status-slate: #475569;
}

/* ---- Buttons: Director (default ~40px, 8px rect) ---- */
#vball-director-hud .vball-dh-btn,
#vball-director-hud .button,
#vball-director-hud .button-primary,
#vball-director-hud .button-secondary,
#vball-director-hud .button-small,
#vball-director-hud a.button,
#vball-director-hud button.button,
#vball-director-hud .vball-director-tab,
#vball-director-hud .vball-cal-main-tabs button,
#vball-director-hud .vball-cal-main-tabs a,
#vball-director-hud .vball-merge-chip.button,
#vball-director-hud button.vball-merge-chip,
#vball-director-hud .vball-coach-board-actions .button,
#vball-director-hud .vball-coach-board-actions .button-primary,
#vball-director-hud .vball-coach-filter,
#vball-director-hud .vball-try-session-chip,
#vball-director-hud .vball-try-chip {
	border-radius: var(--vl-radius, 8px) !important;
	min-height: var(--vl-ctrl-h, 40px) !important;
	box-sizing: border-box;
}

#vball-director-hud .vball-dh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--vl-ctrl-h, 40px);
	padding: 0 14px;
	border: 1px solid var(--vl-secondary-border, rgba(148, 163, 184, 0.55));
	background: transparent;
	color: var(--vl-ink, #e8edf4);
	font: 800 11px/1 "Arial Narrow", Impact, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	border-radius: var(--vl-radius, 8px);
}

/* Secondary = slate outline (default) */
#vball-director-hud .vball-dh-btn:hover,
#vball-director-hud .button-secondary:hover {
	background: rgba(148, 163, 184, 0.12);
	color: var(--vl-ink, #e8edf4);
}

/* Primary = cyan fill, dark type. ONE primary per row (callers mark .is-go / .button-primary). */
#vball-director-hud .vball-dh-btn.is-go,
#vball-director-hud .button-primary,
#vball-director-hud a.button-primary,
#vball-director-hud button.button-primary {
	background: var(--vl-primary, #5ad4ff) !important;
	color: var(--vl-primary-ink, #070b14) !important;
	border-color: transparent !important;
}

/* Ghost = quiet fill */
#vball-director-hud .vball-dh-btn.is-ghost,
#vball-director-hud .button-link {
	background: var(--vl-ghost-bg, rgba(148, 163, 184, 0.12)) !important;
	color: var(--vl-ink, #e8edf4) !important;
	border-color: transparent !important;
}

/* Danger = dark red */
#vball-director-hud .vball-dh-btn.is-danger,
#vball-director-hud .button-link-delete,
#vball-director-hud .vball-dh-btn.is-hot {
	background: var(--vl-danger-bg, #7f1d1d) !important;
	color: var(--vl-danger-ink, #fecaca) !important;
	border-color: transparent !important;
}

/* Persona / TEST AS row — same 8px chrome, never pill */
#vball-director-hud .vball-persona-switch__btn {
	border-radius: var(--vl-radius, 8px) !important;
	min-height: var(--vl-ctrl-h, 40px) !important;
}

/* ---- Filters: ONE segmented bar (not a row of loose pills) ---- */
#vball-director-hud .vball-dh-pills,
#vball-director-hud .vball-dh-chips,
#vball-director-hud .vball-director-tabs,
#vball-director-hud .vball-cal-switcher,
#vball-director-hud .vball-cal-main-tabs,
#vball-director-hud .vball-r3-rail__prog,
#vball-director-hud .vball-bill-dun-stages,
#vball-director-hud .vball-seg {
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0 !important;
	margin: 0 0 12px;
	padding: 0;
	border: 1px solid var(--vl-line, rgba(90, 212, 255, 0.28));
	border-radius: var(--vl-radius, 8px) !important;
	overflow: hidden;
	background: rgba(10, 18, 32, 0.55);
	width: fit-content;
	max-width: 100%;
}

#vball-director-hud .vball-dh-pills a,
#vball-director-hud .vball-dh-chips .vball-dh-chip,
#vball-director-hud .vball-dh-chip,
#vball-director-hud .vball-director-tab,
#vball-director-hud .vball-cal-switcher .vball-director-tab,
#vball-director-hud .vball-cal-main-tabs a,
#vball-director-hud .vball-cal-main-tabs button,
#vball-director-hud .vball-r3-chip,
#vball-director-hud .vball-bill-dun-stages button,
#vball-director-hud .vball-bill-dun-stages a,
#vball-director-hud .vball-seg > * {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: var(--vl-ctrl-h, 40px) !important;
	padding: 0 14px !important;
	margin: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--vl-line, rgba(90, 212, 255, 0.28)) !important;
	border-radius: 0 !important;
	background: transparent;
	color: var(--vl-ink, #e8edf4);
	font: 800 11px/1 "Arial Narrow", Impact, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none !important;
	flex: 0 0 auto;
}

#vball-director-hud .vball-dh-pills a:last-child,
#vball-director-hud .vball-dh-chips .vball-dh-chip:last-child,
#vball-director-hud .vball-dh-chip:last-child,
#vball-director-hud .vball-director-tabs .vball-director-tab:last-child,
#vball-director-hud .vball-cal-switcher .vball-director-tab:last-child,
#vball-director-hud .vball-cal-main-tabs a:last-child,
#vball-director-hud .vball-cal-main-tabs button:last-child,
#vball-director-hud .vball-r3-rail__prog .vball-r3-chip:last-child,
#vball-director-hud .vball-bill-dun-stages > *:last-child,
#vball-director-hud .vball-seg > *:last-child {
	border-right: 0 !important;
}

#vball-director-hud .vball-dh-pills a.is-on,
#vball-director-hud .vball-dh-chip.is-on,
#vball-director-hud .vball-director-tab.is-on,
#vball-director-hud .vball-r3-chip.is-on,
#vball-director-hud .vball-r3-chip[aria-pressed="true"],
#vball-director-hud .vball-bill-dun-stages .is-on,
#vball-director-hud .vball-seg > *.is-on {
	background: var(--vl-primary, #5ad4ff) !important;
	color: var(--vl-primary-ink, #070b14) !important;
	border-color: transparent !important;
}

/* Loose chip aliases still forced to 8px when not inside a segmented parent */
#vball-director-hud .vball-try-chip,
#vball-director-hud .vball-try-session-chip,
#vball-director-hud .vball-ci-pill,
#vball-director-hud .vball-eligible__age,
#vball-director-hud .vball-dh-recruit .vball-director-subkpis span {
	border-radius: var(--vl-radius, 8px) !important;
}

/* Money Desk + Agreements status buttons: 8px rect; color = status only */
#vball-director-hud .vball-dh-pill,
#vball-director-hud .vball-reports-pill,
#vball-director-hud .vball-md-pill,
#vball-director-hud .vball-r3-pay,
#vball-director-hud .vball-r3-agreebtn,
#vball-director-hud .vball-billing-desk .vball-family-status,
#vball-director-hud .vball-family-status,
#vball-director-hud .vball-req-status {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: var(--vl-ctrl-h, 40px) !important;
	padding: 0 12px !important;
	border-radius: var(--vl-radius, 8px) !important;
	border: 1px solid var(--vl-status-slate, #475569);
	background: #1e293b;
	color: #cbd5e1;
	font: 700 11px/1 system-ui, sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	box-sizing: border-box;
}

#vball-director-hud .vball-r3-pay.is-paid,
#vball-director-hud .vball-r3-agreebtn.is-signed,
#vball-director-hud .vball-dh-pill.is-on,
#vball-director-hud .vball-family-status.is-ok,
#vball-director-hud .vball-family-status.is-paid {
	background: color-mix(in srgb, var(--vl-status-ok, #16a34a) 22%, #0f172a) !important;
	border-color: var(--vl-status-ok, #16a34a) !important;
	color: #bbf7d0 !important;
}

#vball-director-hud .vball-r3-pay.is-late,
#vball-director-hud .vball-r3-agreebtn.is-sent,
#vball-director-hud .vball-dh-pill.is-wait,
#vball-director-hud .vball-family-status.is-due,
#vball-director-hud .vball-family-status.is-hold {
	background: color-mix(in srgb, var(--vl-status-warn, #ca8a04) 22%, #0f172a) !important;
	border-color: var(--vl-status-warn, #ca8a04) !important;
	color: #fde68a !important;
}

#vball-director-hud .vball-r3-pay.is-overdue,
#vball-director-hud .vball-r3-agreebtn.is-missing,
#vball-director-hud .vball-dh-pill.is-off,
#vball-director-hud .vball-family-status.is-past_due,
#vball-director-hud .vball-family-status.is-declined {
	background: color-mix(in srgb, var(--vl-status-bad, #dc2626) 22%, #0f172a) !important;
	border-color: var(--vl-status-bad, #dc2626) !important;
	color: #fecaca !important;
}

#vball-director-hud .vball-r3-pay.is-upcoming,
#vball-director-hud .vball-family-status.is-pending {
	background: #1e293b !important;
	border-color: var(--vl-status-slate, #475569) !important;
	color: #cbd5e1 !important;
}

/* ---- Inputs / toggles (Director) ---- */
#vball-director-hud input[type="text"],
#vball-director-hud input[type="email"],
#vball-director-hud input[type="search"],
#vball-director-hud input[type="number"],
#vball-director-hud input[type="url"],
#vball-director-hud input[type="date"],
#vball-director-hud input[type="time"],
#vball-director-hud input[type="password"],
#vball-director-hud select,
#vball-director-hud textarea {
	border-radius: var(--vl-radius, 8px);
	min-height: var(--vl-ctrl-h, 40px);
}

#vball-director-hud .vball-bc-device,
#vball-director-hud .vball-dh-toggle {
	border-radius: var(--vl-radius, 8px);
}

/* ---- Public START + HUD buttons (Arena) — 8px / ~48px / no stadium pills ---- */
body.is-hud .hud-btn,
body.is-hud a.hud-btn,
body.is-hud .btn-start,
body.is-hud a.btn-start,
body.is-hud .programs .btn-start,
body.is-hud .header-actions .btn-start,
body.is-hud .header-register.btn-start,
body.is-hud .sticky-register.btn-start,
body.is-hud .hud-cta-row .hud-btn,
body.is-hud .hud-cta-row .hud-btn-cyan,
body.is-hud .hud-cta-row .hud-btn-ghost,
body.is-hud .programs.is-list-tight .section-head.is-with-start .btn-start--outline,
body.is-hud .programs.is-list-tight a.btn-start.btn-start--outline {
	border-radius: var(--vl-radius, 8px) !important;
	min-height: var(--vl-ctrl-h-pub, 48px) !important;
	box-sizing: border-box;
}

body.is-hud .hud-btn {
	min-height: var(--vl-ctrl-h-pub, 48px);
	padding: 0 20px;
	border-radius: var(--vl-radius, 8px);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--hud-mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
}

/* Cyan ONLY for primary action */
body.is-hud .hud-btn-cyan,
body.is-hud a.hud-btn-cyan,
body.is-hud .btn-start:not(.btn-start--outline),
body.is-hud a.btn-start:not(.btn-start--outline),
body.is-hud .header-register.btn-start {
	background: var(--vl-primary, #5ad4ff) !important;
	color: var(--vl-primary-ink, #070b14) !important;
	border: 1px solid var(--vl-primary, #5ad4ff) !important;
}

/* Secondary / next-to-primary = slate outline */
body.is-hud .hud-btn-ghost,
body.is-hud a.hud-btn-ghost,
body.is-hud .btn-start--outline,
body.is-hud a.btn-start.btn-start--outline {
	background: transparent !important;
	color: var(--vl-ink, #e8edf4) !important;
	border: 1px solid var(--vl-secondary-border, rgba(148, 163, 184, 0.55)) !important;
}

body.is-hud .hud-btn-danger,
body.is-hud a.hud-btn-danger {
	background: var(--vl-danger-bg, #7f1d1d) !important;
	color: var(--vl-danger-ink, #fecaca) !important;
	border: 1px solid transparent !important;
	border-radius: var(--vl-radius, 8px) !important;
	min-height: var(--vl-ctrl-h-pub, 48px) !important;
}

/* Public filter / chip chrome (not Family portal markup) */
body.is-hud .vball-unsigned-filters .btn,
body.is-hud .vball-unsigned-years .btn,
body.is-hud .vball-unsigned-gender .btn,
body.is-hud .teams-subnav a,
body.is-hud .hud-tabs a,
body.is-hud .hud-tag-chip,
body.is-hud .coach-form__check,
body.is-hud .coach-form__actions .hud-btn,
body.is-hud .vball-interest-form .vball-btn,
body.is-hud .hud-home .hud-subscribe .vball-btn,
body.is-hud .hud-subscribe .vball-listmonk__submit,
body.is-hud .hud-subscribe .vball-phplist__submit,
body.is-hud .vball-btn,
body.is-hud .vball-btn-volt,
body.is-hud .vball-btn-tap,
body.is-hud .vball-btn-ghost,
body.is-hud .vball-next,
body.is-hud .vball-back {
	border-radius: var(--vl-radius, 8px) !important;
	min-height: var(--vl-ctrl-h-pub, 48px) !important;
}

/* Public inputs (non-family) */
body.is-hud input[type="text"],
body.is-hud input[type="email"],
body.is-hud input[type="search"],
body.is-hud select,
body.is-hud textarea {
	border-radius: var(--vl-radius, 8px);
}

/* Hard ban: leftover pill / stadium utilities on Director + public + Family buttons. */
#vball-director-hud .pill,
#vball-director-hud [class*="pill"]:not(.vball-dh-pill):not(.vball-reports-pill):not(.vball-md-pill),
body.is-hud .btn-start.pill,
body.is-hud .hud-btn.pill,
body.is-hud a.btn-start.pill,
body.is-hud .vball-btn,
body.is-hud .vball-btn-ghost,
body.is-hud .vball-inbound-pill {
	border-radius: var(--vl-no-pill, 8px) !important;
}

/* Kill any 999px that leaks onto Director HUD controls */
#vball-director-hud .button,
#vball-director-hud .button-primary,
#vball-director-hud .button-secondary,
#vball-director-hud .vball-director-tab,
#vball-director-hud .vball-coach-filter,
#vball-director-hud .vball-coach-label,
#vball-director-hud .vball-coach-chip,
#vball-director-hud .vball-try-session-chip,
#vball-director-hud .vball-recruit-chip,
#vball-director-hud .vball-att-new,
#vball-director-hud .vball-att-avail,
#vball-director-hud .vball-send-done,
#vball-director-hud .vball-req-status,
#vball-director-hud .vball-billing-desk .vball-family-status {
	border-radius: var(--vl-radius, 8px) !important;
}

/* ---- LOCK (do not restyle without Bryan) — see assets/LOCK.md ----
 * Family portal (9): Home, Team, Calendar, Billing, Paperwork, Uniforms, Recruiting, Messages, Household
 * Public START + Ways to Play tight list
 * Tonight gallery pane
 * Recruiting queue (opened player + one email line)
 */

/* ---- Tryout door chips / taps (moved out of class-tryout-door.php) ---- */
.vball-door-chip,
#vball-director-hud .vball-door-chip {
	border-radius: var(--vl-radius, 8px) !important;
}
.vball-door-tap,
.vball-door-cash,
#vball-director-hud .vball-door-tap,
#vball-director-hud .vball-door-cash {
	border-radius: var(--vl-radius, 8px);
}

/* ---- Billing / offer pay CTA (class-based; no inline radius from PHP) ---- */
.vball-offer-mail-pay .vball-btn-volt,
.vball-offer-pay-btn,
button.vball-offer-pay-btn {
	display: inline-block;
	width: 100%;
	max-width: 100%;
	padding: 1rem 1.25rem;
	border: 0;
	border-radius: var(--vl-radius, 8px);
	background: var(--vl-primary, #5ad4ff);
	color: var(--vl-primary-ink, #070b14);
	font-weight: 800;
	font-size: 1.05rem;
	cursor: pointer;
}

/* Site-wide leftovers beaten by assets/vl-kill-pills.css (loads last). */
