:root {
  --suns-orange: #f45b18;
  --suns-orange-dark: #d94708;
  --suns-ink: #171719;
  --suns-muted: #6c7078;
  --suns-surface: #ffffff;
  --suns-background: #f5f6f8;
  --suns-border: #e4e5e8;
  --suns-shadow: 0 8px 30px rgba(23, 23, 25, .07);
}

[data-bs-theme="dark"] {
  --suns-ink: #f7f7f8;
  --suns-muted: #b8bac0;
  --suns-surface: #34363a;
  --suns-background: #292b2f;
  --suns-border: #4a4d52;
  --suns-shadow: 0 8px 30px rgba(0, 0, 0, .18);
}

html { font-size: 15px; min-height: 100%; }
body { background: var(--suns-background); color: var(--suns-ink); min-height: 100vh; }

.app-header {
  background: var(--suns-surface);
  border-top: 4px solid var(--suns-orange);
  border-bottom: 1px solid var(--suns-border);
  box-shadow: 0 2px 16px rgba(23, 23, 25, .04);
  margin-bottom: 2rem;
}

.navbar { min-height: 72px; }
.navbar-brand { align-items: center; color: var(--suns-ink); display: flex; flex: 0 0 auto; font-size: 1rem; gap: .65rem; letter-spacing: -.02em; margin-right: 1rem; }
.navbar-brand:hover, .navbar-brand:focus { color: var(--suns-orange); }
.navbar-brand img { height: 48px; object-fit: contain; width: 74px; }
.navbar-brand strong { color: var(--suns-orange); }
.main-nav { align-items: center; gap: .15rem; }
.navbar .nav-link { border-radius: .45rem; color: var(--suns-muted); font-weight: 600; line-height: 1.15; margin: 0 .05rem; padding: .5rem .65rem !important; white-space: nowrap; }
.navbar .nav-link:hover, .navbar .nav-link:focus { background: color-mix(in srgb, var(--suns-orange) 10%, transparent); color: var(--suns-orange); }
.navbar .nav-link.active { background: color-mix(in srgb, var(--suns-orange) 14%, transparent); color: var(--suns-orange); }
.dropdown-item.active, .dropdown-item:active { background: var(--suns-orange); color: #fff; }
.navbar-toggler { border-color: var(--suns-border); }
.dropdown-menu { border-color: var(--suns-border); box-shadow: var(--suns-shadow); }
.nav-utilities { align-items: center; display: flex; flex: 0 0 auto; gap: .45rem; margin-left: .75rem; }

.app-shell { max-width: 1700px; }
.app-footer { border-top: 1px solid var(--suns-border); color: var(--suns-muted); font-size: .875rem; padding: 1.25rem 0 2rem; }
.app-footer a { color: var(--suns-orange); font-weight: 700; text-decoration: none; }
.app-footer a:hover, .app-footer a:focus { color: var(--suns-orange-dark); text-decoration: underline; }
h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 750; letter-spacing: -.04em; margin-bottom: 1.3rem; }
h2 { font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; margin-bottom: 1rem; }
.lead { color: var(--suns-muted); }

.card {
  background: var(--suns-surface);
  border: 1px solid var(--suns-border);
  border-radius: .8rem;
  box-shadow: var(--suns-shadow);
}
.card .display-6 { color: var(--suns-orange); font-size: 2.2rem; font-weight: 750; }
.dashboard-card { color: inherit; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.dashboard-card:hover, .dashboard-card:focus { border-color: var(--suns-orange); color: inherit; transform: translateY(-2px); }
.card-link-text { color: var(--suns-orange); font-size: .85rem; font-weight: 650; margin-top: .5rem; }
.text-muted { color: var(--suns-muted) !important; }

.table-responsive { background: var(--suns-surface); border: 1px solid var(--suns-border); border-radius: .75rem; box-shadow: var(--suns-shadow); }
.anchor-target { scroll-margin-top: 1.25rem; }
.table { margin-bottom: 0; }
.table > thead > tr > th { background: color-mix(in srgb, var(--suns-orange) 7%, var(--suns-surface)); border-bottom: 2px solid var(--suns-orange); color: var(--suns-ink); font-size: .78rem; letter-spacing: .04em; padding: .85rem; text-transform: uppercase; white-space: nowrap; }
.table > tbody > tr > td { border-color: var(--suns-border); padding: .8rem .85rem; vertical-align: middle; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: color-mix(in srgb, var(--suns-orange) 3%, var(--suns-surface)); }
.table-hover > tbody > tr:hover > * { --bs-table-hover-bg: color-mix(in srgb, var(--suns-orange) 8%, var(--suns-surface)); }
a { color: var(--suns-orange-dark); }
[data-bs-theme="dark"] a { color: #ff8047; }

.btn-primary, .btn-suns { background: var(--suns-orange); border-color: var(--suns-orange); color: #fff; font-weight: 650; }
.btn-primary:hover, .btn-suns:hover { background: var(--suns-orange-dark); border-color: var(--suns-orange-dark); color: #fff; }
.btn-dev-caution { background: #111; border: 2px solid #ffd43b; box-shadow: inset 6px 0 0 #ffd43b; color: #fff; font-weight: 850; }
.btn-dev-caution::before { color: #ffd43b; content: "CAUTION"; font-size: .68rem; font-weight: 900; letter-spacing: .08em; margin-right: .55rem; vertical-align: .08rem; }
.btn-dev-caution:hover, .btn-dev-caution:focus { background: #ffd43b; border-color: #111; box-shadow: inset 6px 0 0 #111; color: #111; }
.btn-dev-caution:hover::before, .btn-dev-caution:focus::before { color: #111; }
.dev-tools-card { border: 2px solid #111; box-shadow: 0 0 0 .25rem rgba(255, 212, 59, .28), var(--suns-shadow); }
.dev-tools-card h2::before { content: "CAUTION"; background: #111; border-radius: .25rem; color: #ffd43b; display: inline-block; font-size: .72rem; letter-spacing: .08em; margin-right: .6rem; padding: .2rem .45rem; vertical-align: .16rem; }
.import-detail-text { max-width: 48rem; white-space: pre-wrap; }
.theme-toggle { border: 1px solid var(--suns-border); color: var(--suns-muted); font-size: .875rem; white-space: nowrap; }
.theme-toggle:hover { border-color: var(--suns-orange); color: var(--suns-orange); }
.theme-icon::before { content: "◐"; margin-right: .35rem; }
.season-switcher { flex: 0 0 235px; max-width: 235px; min-width: 190px; }
.season-switcher .form-select { border-color: color-mix(in srgb, var(--suns-orange) 35%, var(--suns-border)); font-weight: 700; }
.account-nav .dropdown-menu { min-width: 15rem; }
.account-link { max-width: 7rem; overflow: hidden; text-overflow: ellipsis; }

.form-control, .form-select { background-color: var(--suns-surface); border-color: var(--suns-border); color: var(--suns-ink); }
.settings-logo { background: #222; border-radius: .6rem; max-height: 140px; max-width: 260px; object-fit: contain; padding: .5rem; }
.player-hero { align-items: center; display: flex; gap: 1.5rem; }
.athlete-photo { background: var(--suns-background); border: 3px solid var(--suns-border); border-radius: 50%; height: 120px; object-fit: cover; width: 120px; }
[data-photo-preview] { cursor: zoom-in; }
[data-photo-preview]:focus-visible { outline: 3px solid var(--suns-orange); outline-offset: 3px; }
.photo-preview-content { background: var(--suns-surface); }
.photo-preview-content .modal-body { align-items: center; display: flex; justify-content: center; min-height: 40vh; padding: 1rem; }
#photo-preview-image { border-radius: .75rem; max-height: calc(100vh - 10rem); max-width: 100%; object-fit: contain; }
.traffic-light { align-items: center; background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: 1rem; display: flex; flex-direction: column; gap: .4rem; min-width: 120px; padding: 1rem; }
.traffic-light span { border-radius: 50%; box-shadow: inset 0 0 0 4px rgba(255,255,255,.25), 0 0 18px currentColor; height: 54px; width: 54px; }
.traffic-light.red, .status-dot.red { color: #dc3545; }.traffic-light.red span, .status-dot.red { background: #dc3545; }
.traffic-light.green, .status-dot.green { color: #198754; }.traffic-light.green span, .status-dot.green { background: #20b26b; }
.status-dot { border-radius: 50%; display: inline-block; height: .8rem; margin-right: .25rem; width: .8rem; }
.compliance-grid { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compliance-grid label { align-items: center; background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .55rem; display: flex; gap: .55rem; padding: .75rem; }
.compliance-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .5rem 0; }
.construction-card { margin: 5rem auto; max-width: 750px; }.construction-icon { color: var(--suns-orange); font-size: 5rem; }
.checkin-body { background: var(--suns-background); min-height: 100vh; }
.checkin-topbar { background: var(--suns-surface); border-bottom: 1px solid var(--suns-border); padding: .9rem 0; }
.checkin-logo { background: #1f2023; border-radius: .55rem; height: 52px; object-fit: contain; padding: .3rem; width: 72px; }
.checkin-shell { padding-bottom: 3rem; padding-top: 2rem; }
.checkin-search { display: flex; gap: .75rem; margin: auto; max-width: 850px; }
.checkin-results-card, .checkin-selected-card { max-width: 760px; }
.checkin-selected-card .btn-outline-secondary { border-color: var(--suns-orange); color: var(--suns-orange-dark); font-weight: 700; }
.trial-number { align-items: center; background: var(--suns-orange); border-radius: .7rem; color: #fff; display: flex; font-size: 1.5rem; font-weight: 800; height: 64px; justify-content: center; min-width: 72px; }
.trial-number-sm { font-size: 1rem; height: 44px; min-width: 50px; }
.trial-review-photo { height: 72px; object-fit: cover; width: 72px; }
.trial-camera-shell { background: var(--suns-background); border: 2px dashed var(--suns-border); border-radius: 1rem; display: grid; min-height: 320px; overflow: hidden; place-items: center; }
.trial-camera-video, .trial-camera-preview { height: 100%; max-height: 58vh; object-fit: cover; width: 100%; }
.trial-camera-placeholder { align-items: center; color: var(--suns-muted); display: flex; flex-direction: column; gap: .35rem; justify-content: center; min-height: 320px; text-align: center; }
.trial-camera-placeholder strong { color: var(--suns-ink); font-size: 1.4rem; }
.trial-board-top-scroll { background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .55rem; height: 18px; margin-bottom: .55rem; overflow-x: auto; overflow-y: hidden; }
.trial-board-top-scroll > div { height: 1px; }
.trial-board { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(250px, 1fr)); overflow-x: auto; padding-bottom: .5rem; }
.trial-board-column { background: color-mix(in srgb, var(--suns-surface) 80%, var(--suns-background)); border: 1px solid var(--suns-border); border-radius: .9rem; min-width: 250px; padding: .75rem; }
.trial-board-column-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: .75rem; }
.trial-board-column-header h2 { margin: 0; }
.trial-board-column-header span { background: var(--suns-orange); border-radius: 999px; color: #fff; font-weight: 800; min-width: 2rem; padding: .2rem .55rem; text-align: center; }
.trial-board-dropzone { display: flex; flex-direction: column; gap: .75rem; min-height: 300px; }
.trial-team-column .trial-board-dropzone { min-height: 140px; }
.trial-lane-header { align-items: center; background: color-mix(in srgb, var(--suns-orange) 7%, var(--suns-surface)); border: 1px solid var(--suns-border); border-radius: .55rem; display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; letter-spacing: .04em; margin: .8rem 0 .55rem; padding: .45rem .55rem; text-transform: uppercase; }
.trial-lane-header:first-of-type { margin-top: 0; }
.trial-lane-header strong { background: var(--suns-orange); border-radius: 999px; color: #fff; min-width: 1.7rem; padding: .1rem .45rem; text-align: center; }
.trial-board-column.drag-over, .trial-board-dropzone.drag-over { background: color-mix(in srgb, var(--suns-orange) 10%, var(--suns-surface)); outline: 2px dashed var(--suns-orange); outline-offset: .25rem; }
.trial-meeting-board { align-items: start; grid-template-columns: repeat(var(--meeting-columns, 8), minmax(250px, 1fr)); }
.trial-meeting-board:not(.trial-board-compact) > .trial-board-column { margin-top: 0; }
.trial-meeting-board:not(.trial-board-compact) .trial-board-column { max-height: calc(100vh - 15rem); overflow-y: auto; }
.trial-meeting-board:not(.trial-board-compact) .trial-team-column { display: grid; grid-template-rows: auto auto minmax(12rem, 1fr) auto minmax(8rem, .45fr); }
.trial-meeting-board:not(.trial-board-compact) .trial-team-column .trial-board-dropzone { min-height: 8rem; overflow-y: auto; padding-right: .2rem; }
.trial-meeting-board:not(.trial-board-compact) .trial-team-column .trial-board-dropzone:first-of-type { min-height: 12rem; }
.trial-source-column { border-top: 4px solid var(--suns-muted); }
.trial-final-column { border-top: 4px solid var(--suns-orange); }
.trial-card { background: var(--suns-surface); border: 1px solid var(--suns-border); border-radius: .75rem; box-shadow: var(--suns-shadow); cursor: grab; padding: .8rem; user-select: none; }
.trial-card.dragging { opacity: .55; }
.trial-card textarea { user-select: text; }
.trial-card small { color: var(--suns-muted); display: block; }
.trial-stat-card { color: var(--suns-ink); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.trial-stat-card:hover { border-color: var(--suns-orange); box-shadow: var(--suns-shadow); color: var(--suns-ink); transform: translateY(-1px); }
.trial-stat-cut { border-color: color-mix(in srgb, var(--bs-danger) 35%, var(--suns-border)); }
.trial-cut-row > * { background: color-mix(in srgb, var(--bs-danger) 7%, transparent) !important; }
.trial-card-notes summary { color: var(--suns-orange-dark); cursor: pointer; font-weight: 700; }
.trial-note-list { display: grid; gap: .5rem; margin-top: .6rem; }
.trial-note { background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .55rem; padding: .55rem; }
.trial-note small { margin-top: .25rem; }
.trial-movement small { color: var(--suns-muted); }
.trial-card-group, .trial-card-source, .trial-details-head { display: none; }
.trial-board-compact { display: grid; gap: 1rem; grid-template-columns: 1fr; overflow-x: visible; }
.trial-board-compact > .trial-board-column { grid-column: 1 !important; grid-row: auto !important; }
.trial-board-compact .trial-board-column { min-width: 0; padding: 0; overflow: hidden; scroll-margin-top: 1rem; }
.trial-board-compact .trial-board-column-header { background: color-mix(in srgb, var(--suns-orange) 6%, var(--suns-surface)); border-bottom: 1px solid var(--suns-border); margin: 0; padding: .65rem .85rem; }
.trial-board-compact .trial-board-dropzone { display: block; min-height: 3rem; }
.trial-board-compact .trial-team-column .trial-board-dropzone { max-height: 45vh; overflow-y: auto; }
.trial-board-compact .trial-details-head { background: var(--suns-background); border-bottom: 1px solid var(--suns-border); color: var(--suns-muted); display: grid; font-size: .72rem; font-weight: 800; gap: .75rem; grid-template-columns: minmax(260px, 1.7fr) minmax(100px, .7fr) minmax(120px, .8fr) minmax(260px, 1.8fr) minmax(170px, 1fr); letter-spacing: .04em; padding: .55rem .85rem; text-transform: uppercase; }
.trial-board-compact .trial-card { align-items: center; border: 0; border-bottom: 1px solid var(--suns-border); border-radius: 0; box-shadow: none; display: grid; gap: .75rem; grid-template-columns: minmax(260px, 1.7fr) minmax(100px, .7fr) minmax(120px, .8fr) minmax(260px, 1.8fr) minmax(170px, 1fr); padding: .55rem .85rem; }
.trial-board-compact .trial-card:hover { background: color-mix(in srgb, var(--suns-orange) 4%, var(--suns-surface)); }
.trial-board-compact .trial-card-main small { display: none; }
.trial-board-compact .trial-card-group, .trial-board-compact .trial-card-source { color: var(--suns-muted); display: block; font-size: .86rem; font-weight: 650; }
.trial-board-compact .trial-review-photo { height: 34px; width: 34px; }
.trial-board-compact .trial-number-sm { font-size: .8rem; height: 34px; min-width: 40px; }
.trial-board-compact .trial-movement { margin-top: 0 !important; }
.trial-board-compact .trial-card-notes { margin-top: 0 !important; }
.trial-board-compact .trial-card-notes summary { white-space: nowrap; }
.trial-board-compact .trial-card-notes[open] { grid-column: 1 / -1; }
.athlete-thumb { border-radius: 50%; height: 42px; object-fit: cover; width: 42px; }
.white-space-preline { white-space: pre-line; }
.live-list-score { color: var(--suns-orange); font-size: 2rem; font-weight: 800; }.live-list-score span { color: var(--suns-muted); }
.live-scoreboard { align-items: center; display: grid; gap: 1rem; grid-template-columns: 1fr auto 1fr; text-align: center; }.live-scoreboard div:first-child { text-align: right; }.live-scoreboard div:last-child { text-align: left; }.live-scoreboard span { display: block; font-size: 1.1rem; font-weight: 700; }.live-scoreboard strong { color: var(--suns-orange); display: block; font-size: 4rem; line-height: 1; }.live-scoreboard.coach strong { font-size: 6rem; }.live-quarter { color: var(--suns-muted); font-size: 1.5rem; font-weight: 800; }.live-player-photo { border-radius: .8rem; height: 82px; object-fit: cover; width: 82px; }.live-player-summary { color: var(--suns-muted); font-weight: 600; }.live-stat-buttons { display: grid; gap: .5rem; grid-template-columns: repeat(5, minmax(0,1fr)); }.live-stat-buttons form,.live-stat-buttons button { width: 100%; }
.live-on-court { border-color: var(--bs-success); box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--bs-success) 20%, transparent); }
.admin-health-list { display: grid; gap: .65rem; }.admin-health-item { align-items: center; background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .7rem; color: var(--suns-ink); display: flex; gap: .8rem; padding: .9rem 1rem; text-decoration: none; }.admin-health-item:hover { border-color: var(--suns-orange); color: var(--suns-ink); }.admin-health-item small,.activity-item span,.activity-item small { color: var(--suns-muted); display: block; }.activity-item { border-bottom: 1px solid var(--suns-border); padding: .8rem 0; }.activity-item:last-child { border-bottom: 0; }
.data-quality-item { border-top: 1px solid var(--suns-border); padding: 1.25rem 0; }.data-quality-item:first-of-type { border-top: 0; }
.sync-stat { background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .6rem; display: flex; flex-direction: column; height: 100%; padding: .75rem; }.sync-stat strong { color: var(--suns-orange); font-size: 1.5rem; }.sync-stat span { color: var(--suns-muted); font-size: .75rem; }
.wabl-import-flow { display: grid; gap: .75rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.wabl-import-step { background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .75rem; color: var(--suns-ink); display: grid; gap: .35rem; padding: .9rem; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.wabl-import-step:hover, .wabl-import-step:focus { border-color: var(--suns-orange); color: var(--suns-ink); transform: translateY(-1px); }
.wabl-import-step span { align-items: center; background: var(--suns-orange); border-radius: 999px; color: #fff; display: flex; font-weight: 800; height: 1.8rem; justify-content: center; width: 1.8rem; }
.wabl-import-step strong { font-size: .95rem; }
.wabl-import-step small { color: var(--suns-muted); line-height: 1.35; }
.long-running-status { align-items: center; background: color-mix(in srgb, var(--suns-orange) 8%, var(--suns-surface)); border: 1px solid color-mix(in srgb, var(--suns-orange) 30%, var(--suns-border)); border-radius: .65rem; color: var(--suns-ink); display: flex; gap: .6rem; padding: .75rem .9rem; }
.season-setup-shell { display: grid; min-height: 60vh; place-items: center; }
.season-setup-card { max-width: 980px; width: 100%; }
.setup-check { align-items: flex-start; background: var(--suns-background); border: 1px solid var(--suns-border); border-radius: .75rem; cursor: pointer; display: flex; gap: .75rem; padding: 1rem; }
.setup-check input { flex: 0 0 auto; height: 1rem; margin-top: .18rem; width: 1rem; }
.setup-check-copy { display: block; min-width: 0; }
.setup-check small { color: var(--suns-muted); display: block; margin-top: .2rem; }
.season-workflow { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workflow-step { position: relative; }
.workflow-head { align-items: start; display: flex; gap: .75rem; justify-content: space-between; }
.workflow-head h2 { margin-bottom: .75rem; }
.workflow-number { align-items: center; background: var(--suns-orange); border-radius: 999px; color: #fff; display: flex; font-weight: 800; height: 2rem; justify-content: center; margin-bottom: .75rem; width: 2rem; }
.workflow-step p { color: var(--suns-muted); min-height: 4.8rem; }
.workflow-create-form .form-label { color: var(--suns-muted); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.workflow-meta { font-size: .85rem; min-height: auto !important; }
.wizard-return-check { align-items: center; color: var(--suns-muted); display: inline-flex; font-size: .9rem; gap: .45rem; }
.wizard-return-check input { height: 1rem; width: 1rem; }
.workflow-status { border-radius: 999px; display: inline-flex; flex: 0 0 auto; font-size: .72rem; font-weight: 800; padding: .25rem .55rem; white-space: nowrap; }
.workflow-status-complete { background: color-mix(in srgb, var(--bs-success) 15%, var(--suns-surface)); color: var(--bs-success); }
.workflow-status-pending { background: color-mix(in srgb, var(--bs-warning) 18%, var(--suns-surface)); color: #8a5a00; }
.season-progress { display: grid; gap: .55rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.season-progress-item { align-items: center; display: flex; justify-content: center; min-width: 0; }
.finalise-athlete { align-items: center; border-top: 1px solid var(--suns-border); display: flex; gap: .65rem; padding: .55rem 0; }
.finalise-athlete:first-of-type { border-top: 0; }
.finalise-athlete img { border-radius: .45rem; height: 42px; object-fit: cover; width: 42px; }
.finalise-athlete small { color: var(--suns-muted); display: block; }
.table th a { color: var(--suns-ink); text-decoration: none; }.table th a:hover { color: var(--suns-orange); }
.form-control:focus, .form-select:focus, .btn:focus { border-color: var(--suns-orange); box-shadow: 0 0 0 .22rem rgba(244, 91, 24, .18); }
.alert-info { --bs-alert-bg: color-mix(in srgb, var(--suns-orange) 8%, var(--suns-surface)); --bs-alert-border-color: color-mix(in srgb, var(--suns-orange) 35%, var(--suns-border)); --bs-alert-color: var(--suns-ink); }

@media (max-width: 1199px) {
  .navbar-collapse { border-top: 1px solid var(--suns-border); margin-top: .7rem; padding: .8rem 0; }
  .main-nav { align-items: stretch; }
  .navbar .nav-link { white-space: normal; }
  .nav-utilities { align-items: stretch; flex-direction: column; margin-left: 0; margin-top: .7rem; }
  .theme-toggle { margin: 0; text-align: left; }
  .account-nav .btn-suns { margin: .25rem 0; }
  .account-nav .dropdown-menu { width: 100%; }
}
@media (max-width: 1199px) { .trial-board { grid-template-columns: repeat(4, 280px); }.trial-meeting-board { grid-template-columns: repeat(var(--meeting-columns, 8), 280px); }.season-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }.season-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); }.wabl-import-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .player-hero { align-items: flex-start; flex-direction: column; }
  .compliance-grid, .compliance-grid.compact { grid-template-columns: 1fr; }
  .trial-board-compact .trial-details-head { display: none; }
  .trial-board-compact .trial-card { align-items: flex-start; grid-template-columns: 1fr; }
  .trial-board-compact .trial-card-main small { display: block; }
  .season-workflow { grid-template-columns: 1fr; }
  .season-progress { grid-template-columns: 1fr; }
  .wabl-import-flow { grid-template-columns: 1fr; }
}
/* Athlete profile */
.athlete-profile-header {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--bs-border-color);
}

.athlete-profile-photo {
  width: 112px;
  height: 112px;
  flex: 0 0 112px;
  object-fit: cover;
  border-radius: 6px;
  background: var(--bs-tertiary-bg);
  cursor: pointer;
}

.athlete-profile-identity { flex: 1; min-width: 0; }
.athlete-profile-identity h1 { margin: 0 0 .4rem; font-size: clamp(1.75rem, 3vw, 2.5rem); }
.profile-eyebrow { margin: 0 0 .35rem; color: var(--suns-orange-dark); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.profile-team-line { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; color: var(--bs-secondary-color); }
.profile-number { color: var(--bs-body-color); font-weight: 700; }

.profile-status { display: flex; align-items: center; gap: .55rem; padding: .7rem .9rem; border: 1px solid var(--bs-border-color); border-radius: 6px; white-space: nowrap; }
.profile-status span { width: 10px; height: 10px; border-radius: 50%; }
.profile-status.is-ready span { background: #198754; }
.profile-status.needs-action span { background: #dc3545; }
.profile-status strong { font-size: .8rem; text-transform: uppercase; }

.athlete-profile-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1.5rem 0;
  border: 1px solid var(--bs-border-color);
  border-radius: 6px;
  overflow: hidden;
}
.athlete-profile-summary > div { padding: 1rem 1.25rem; border-right: 1px solid var(--bs-border-color); }
.athlete-profile-summary > div:last-child { border-right: 0; }
.athlete-profile-summary strong, .athlete-profile-summary span { display: block; }
.athlete-profile-summary strong { font-size: 1.25rem; }
.athlete-profile-summary span { color: var(--bs-secondary-color); font-size: .82rem; }
.agreement-summary.required { box-shadow: inset 3px 0 #dc3545; }
.agreement-summary.complete { box-shadow: inset 3px 0 #198754; }

.profile-primary-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 1rem; margin-bottom: 1.25rem; }
.profile-panel { padding: 1.25rem; border: 1px solid var(--bs-border-color); border-radius: 6px; background: var(--bs-body-bg); }
.profile-panel h2 { margin: 0 0 1rem; font-size: 1.25rem; }
.profile-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.status-label { padding: .3rem .55rem; border-radius: 4px; font-size: .75rem; font-weight: 700; }
.status-label.complete { color: #0f5132; background: #d1e7dd; }
.status-label.required { color: #842029; background: #f8d7da; }

.readiness-list { display: grid; gap: .65rem; }
.readiness-list label { display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; border: 1px solid var(--bs-border-color); border-radius: 4px; cursor: pointer; }
.readiness-list input { width: 1.1rem; height: 1.1rem; accent-color: var(--suns-orange); }
.profile-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; margin-top: 1rem; }

.profile-facts { display: grid; gap: 0; margin: 0; }
.profile-facts > div { display: grid; grid-template-columns: minmax(110px, .8fr) 1.2fr; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--bs-border-color); }
.profile-facts > div:last-child { border-bottom: 0; }
.profile-facts dt { color: var(--bs-secondary-color); font-weight: 500; }
.profile-facts dd { margin: 0; overflow-wrap: anywhere; }
.profile-facts.compact > div { font-size: .9rem; }

.profile-sections { display: grid; gap: .65rem; }
.profile-section { border: 1px solid var(--bs-border-color); border-radius: 6px; background: var(--bs-body-bg); overflow: hidden; }
.profile-section summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; cursor: pointer; list-style: none; }
.profile-section summary::-webkit-details-marker { display: none; }
.profile-section summary::after { content: "+"; font-size: 1.35rem; line-height: 1; color: var(--bs-secondary-color); }
.profile-section[open] summary::after { content: "\2212"; }
.profile-section summary > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.profile-section summary small { color: var(--bs-secondary-color); }
.section-count { margin-left: auto; color: var(--bs-secondary-color); font-size: .85rem; white-space: nowrap; }
.profile-section-body { padding: 1.1rem; border-top: 1px solid var(--bs-border-color); }
.profile-section-body h3 { margin: 0 0 .75rem; font-size: 1rem; }

@media (max-width: 767.98px) {
  .athlete-profile-header { align-items: flex-start; flex-wrap: wrap; }
  .athlete-profile-photo { width: 84px; height: 84px; flex-basis: 84px; }
  .profile-status { width: 100%; }
  .athlete-profile-summary { grid-template-columns: repeat(2, 1fr); }
  .athlete-profile-summary > div:nth-child(2) { border-right: 0; }
  .athlete-profile-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--bs-border-color); }
  .profile-primary-grid { grid-template-columns: 1fr; }
}
