/* P1 integration and compact layout. The Horsens palette and fonts are inherited. */
/* UX26: a compact team index with only the selected squad mounted. */
.team-sheets { display:grid; gap:var(--s-4); align-items:start; }
.sheet-team-list { padding:0; overflow:hidden; }
.team-sheets .sheet-team-row { display:flex; align-items:center; gap:10px; height:44px; padding:0 12px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line-soft); }
.sheet-team-row:last-child { border-bottom:0; }
.sheet-team-row > .flag,.sheet-team-row > span:last-child { flex:none; }
.sheet-team-row > strong { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.sheet-team-meta { display:flex; flex-direction:column; align-items:flex-end; flex:none; font-size:12px; color:var(--muted); line-height:16px; }
.sheet-team-meta small { font-size:12px; }
.sheet-team-row:hover,.sheet-team-row[aria-current="true"] { background:var(--paper); }
.sheet-team-row[aria-current="true"] { box-shadow:inset 3px 0 var(--ink); }
.sheet-team-row:focus-visible { outline:2px solid var(--ink); outline-offset:-3px; }
.sheet-team-detail { min-width:0; }
.team-sheets .sheet-all-teams { display:flex; align-items:center; min-height:44px; margin:0 0 8px; }
@media(min-width:1024px) {
  .team-sheets { grid-template-columns:minmax(240px,300px) minmax(0,1fr); }
  .sheet-team-list { position:sticky; top:calc(var(--site-bottom,100px) + 12px); max-height:calc(100dvh - var(--site-bottom,100px) - 24px); overflow-y:auto; overscroll-behavior:contain; }
  .team-sheets .sheet-all-teams { display:none; }
}
/* Keep the shell geometry while the session is still unknown. */
html[data-auth='pending'] .site-nav,
html[data-auth='pending'] [data-user-menu],
html[data-auth='pending'] #user-menu,
html[data-auth='pending'] #main { visibility:hidden; }
/* The user button's initial hidden attribute must still reserve its place. */
html[data-auth='pending'] [data-user-menu][hidden] { display:inline-grid !important; }
/* UX9: the dashboard front door, with the Field Scouting language control. */
.auth-page { min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:80px 32px; }
.auth-inner { width:100%; max-width:380px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.auth-crest { width:56px; height:56px; flex:none; }
.auth-brand { margin:12px 0 2px; font:700 24px/1.5 var(--font-display); letter-spacing:.005em; text-transform:uppercase; text-wrap:balance; }
.auth-est { margin:0 0 24px; font:700 11px/1.5 var(--font-body); letter-spacing:.08em; color:var(--faint); }
.auth-card { width:100%; min-width:0; padding:32px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-card); box-shadow:var(--shadow); text-align:left; }
.auth-title { margin:0 0 16px; font:700 26px/1.5 var(--font-display); letter-spacing:.005em; color:var(--ink); }
.auth-dek { margin:-8px 0 16px; font-size:14px; color:var(--muted); overflow-wrap:anywhere; }
.auth-card form { display:flex; flex-direction:column; gap:16px; }
.auth-card .form-field { gap:7px; }
.auth-card .form-label { font:700 12px/1.5 var(--font-body); letter-spacing:.04em; color:var(--ink-soft); }
.auth-card .form-control { height:44px; min-height:44px; padding:0 14px; font-size:14px; }
.auth-card .form-control:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.auth-pw-wrap { position:relative; display:flex; }
.auth-pw-wrap .form-control { min-width:0; padding-right:76px; }
.auth-pw-toggle { position:absolute; right:0; top:0; height:44px; min-width:64px; padding:0 10px; border:0; border-radius:var(--r-inner); background:transparent; color:var(--muted); font:700 12px/1.5 var(--font-body); cursor:pointer; }
.auth-pw-toggle:hover { color:var(--ink); }
.auth-link { align-self:flex-start; display:inline-flex; align-items:center; min-height:44px; margin:-12px 0; padding:0; border:0; background:transparent; color:var(--bad); font:600 13px/1.5 var(--font-body); text-align:left; cursor:pointer; text-decoration:none; }
.auth-link:hover { text-decoration:underline; }
.auth-back { margin:4px 0 -12px; }
.auth-card .act--add { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:0 14px; border:0; border-radius:var(--r-inner); background:var(--ink); color:var(--on-ink); font:700 16px/1.5 var(--font-display); letter-spacing:.01em; text-transform:uppercase; }
.auth-card .act--add:hover { opacity:.92; }
.auth-card .act--add:disabled { opacity:.55; cursor:default; }
.auth-card .notice { margin:0 0 16px; }
.auth-card form .notice { margin:0; }
.auth-card .validation-error { margin:0; color:var(--bad); font-size:13px; }
.auth-card .password-toggle { align-self:flex-start; min-height:44px; margin:-12px 0; color:var(--muted); }
.auth-tools { position:absolute; top:16px; right:16px; z-index:2; display:flex; align-items:center; justify-content:flex-end; gap:8px; max-width:calc(100% - 32px); }
.auth-tools .language-switch { flex:none; border:1px solid var(--line); background:var(--card); }
.auth-tools #version-status:empty { display:none; }
.auth-tools .language-switch button { width:44px; height:44px; min-height:44px; padding:0; }
.auth-tools .language-switch button[aria-pressed='true'] { background:var(--ink); color:var(--on-ink); }
.auth-tools #offline-pill { width:auto; max-width:100%; margin:0; white-space:normal; }
/* P1-J: fixed sub headings/actions; only player lists scroll. */
#sub-drawer .drawer-head h2,#subs-check .drawer-head h2,
.sub-player-name,.picker-identity,.sub-review,.change-players > span,.change-name {
  word-break:normal; overflow-wrap:normal; hyphens:none;
}
.sub-panel .drawer-head { align-items:center; }
.sub-panel .eyebrow { text-transform:uppercase; }
.sub-player-list .picker-player { border:0; background:transparent; border-radius:0; }
.sub-player-list .picker-player[aria-pressed='true'] { background:var(--ink); color:var(--on-ink); border-radius:8px; box-shadow:inset 3px 0 var(--ink),0 1px 0 var(--line-soft); padding:10px; }
.sub-player-list .shirt-age,.player-picker-list .shirt-age { flex:none; display:flex; flex-direction:row; gap:9px; align-items:center; }
.sub-player-list .shirt,.player-picker-list .shirt { min-width:30px; text-align:center; }
.sub-player-list .age-badge,.player-picker-list .age-badge { white-space:nowrap; }
.sub-player-list .picker-identity { font-size:19px; line-height:1.2; }
.bench-tag { display:table; margin-top:4px; font:11px/1.2 var(--font-body); min-height:0; padding:3px 6px; }
.change-team { display:flex; align-items:center; gap:8px; font:700 20px/1.2 var(--font-display); text-transform:uppercase; margin-bottom:12px; }
#match-changes section + section { margin-top:24px; }
.change-row .change-players { font-size:14px; gap:8px; }
.change-row .change-players > span { display:flex; align-items:baseline; gap:3px; }
.change-row .change-arrow { flex:none; }
.change-row time { min-width:48px; }
.change-row .moment-action { flex:none; min-width:44px; min-height:44px; }
.waiting-dot { flex:none; width:8px; height:8px; border-radius:50%; background:var(--yellow); }
.sub-context { display:flex; gap:6px; align-items:center; }
.sub-panel .drawer-body { flex:1; }
.sub-panel .drawer-actions { gap:10px; }
.sub-panel .drawer-actions .act { min-width:44px; min-height:48px; padding:10px 8px; }
#sub-actions:has(#sub-delete:not([hidden])) { flex-wrap:wrap; }
#sub-delete { flex-basis:100%; }
.sub-review { font-size:22px; }
.sub-review .change-arrow { display:inline; width:auto; }
#sub-drawer[data-step='3'] .drawer-body { flex:none; }
.nobody-option[aria-pressed='true'] { background:var(--ink); color:var(--on-ink); padding:12px; border-radius:8px; }
@media(max-width:699px) {
  body:has(.drawer-layer:not([hidden])) .sub-panel { height:82dvh; max-height:calc(100dvh - 112px); }
  html[lang='fr'] #subs-check .drawer-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
  html[lang='fr'] #subs-check .drawer-actions .act { font-size:14px; }
}
@media(max-height:700px) {
  #sub-drawer[data-step='3'] .drawer-head { padding:10px 20px; }
  #sub-drawer[data-step='3'] .drawer-body { padding:12px 20px; }
  #sub-drawer[data-step='3'] #sub-form { gap:12px; }
  #sub-drawer[data-step='3'] .sub-review { padding:12px; gap:6px; font-size:20px; }
  #sub-drawer[data-step='3'] .drawer-actions { padding:12px 20px; }
}
@media(max-height:650px) {
  #sub-drawer[data-step='3'] #sub-form { gap:8px; }
  #sub-drawer[data-step='3'] .sub-review { padding:10px; }
  #sub-drawer[data-step='3'] .drawer-actions { padding:8px 20px; }
}
/* P1-I additions reuse the approved dossier, summary and assignment components. */
.hero-grades { display:grid; gap:var(--s-3); min-width:0; }
.hero-grades .summary-grades { margin:0; }
.hero-grades .summary-grades { background:var(--paper); padding:var(--s-3); border-radius:var(--r-inner); }
.hero-grades .tier-control { flex-wrap:wrap; }
.section-actions { margin-bottom:var(--s-3); }
.summary-editor .form-field:has(#written-language) { max-width:230px; }
.summary-grid { gap:var(--s-3); }
.summary-card .report-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.summary-card header { flex-wrap:wrap; gap:var(--s-2); }
.grades-scroll { overflow-x:auto; max-width:100%; }
.grades-table { width:100%; border-collapse:collapse; text-align:left; }
.grades-table th,.grades-table td { padding:var(--s-3); border-bottom:1px solid var(--line-soft); vertical-align:top; min-width:100px; }
.grades-table th { font-family:var(--font-display); font-size:20px; }
.grades-table th small { display:block; font:12px var(--font-body); margin-top:var(--s-2); }
.grades-table .report-text { font-size:12px; white-space:pre-wrap; min-width:130px; max-width:340px; }
.scout-grade-chips { display:flex; gap:var(--s-2); flex-wrap:wrap; }
.scout-grade-chip { display:flex; align-items:center; gap:var(--s-2); }
.scout-grade-chip small { font-size:11px; color:var(--muted); }
.next-fixture { margin-bottom:var(--s-4); }
.next-fixture .date-heading { margin:var(--s-2) 0; }
.fixture-edit { margin:var(--s-2) 0; }
.row-report { grid-column:2; justify-self:start; min-height:44px; font-size:12px; }
.person-row { flex-wrap:wrap; }
.person-row .row-identity { flex-basis:180px; }
@media (min-width:1024px) {
  body[data-page="field-player"] .video-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:start; }
  .player-hero .hero-grades { margin-left:auto; }
  body[data-page="field-player"] .summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
:root {
  --sample-height:0px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:var(--s-6); --s-8:var(--s-6);
  --fs-micro:12px;
  --card-padding:var(--s-4);
  --section-gap:var(--s-5);
  --attendance-reserve:calc(112px + var(--s-4));
}
[hidden] { display:none !important; }
.login-panel { max-width:440px; margin:var(--s-6) auto; }
.login-panel form,.stack { display:grid; gap:var(--s-4); }
.user-menu { z-index:190; width:230px; }
.user-menu > button { display:block; padding:var(--s-3) 0; }
.user-menu .language-switch { margin-top:var(--s-3); }
.queue-list { display:grid; gap:var(--s-3); max-height:60dvh; overflow:auto; }
.queue-item { padding:var(--s-3); border:1px solid var(--line); border-radius:8px; overflow-wrap:anywhere; }
.queue-item .chip-row { margin-top:var(--s-3); }
.error-message { margin:var(--s-3) 0; overflow-wrap:anywhere; }
.video-picture iframe,.video-picture video,.youtube-target { width:100%; height:100%; border:0; }
.video-picture video { object-fit:contain; }
.video-picture.is-docked { touch-action:auto; }
.mini-tools button { min-height:44px; }
.video-screen { aspect-ratio:16/9; }
.video-picker { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-2); margin:var(--s-3) 0; }
.video-picker select { flex:1; min-width:0; }
.video-controls { flex-wrap:wrap; }
.clock-extras,.clock-actions { display:flex; flex-wrap:wrap; gap:var(--s-2); padding:var(--s-3); }
.clock-extras > * { min-height:44px; }
.match-heading { margin-top:var(--s-4); }
.moment-list,.changes-list { display:grid; gap:var(--s-2); }
.moment-row { gap:var(--s-2); overflow-wrap:anywhere; }
.moment-row input { min-width:0; flex:1; }
.roster-empty { padding:var(--s-5); }
.people-cards.app-people { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.event-statline { display:flex; flex-wrap:wrap; gap:var(--s-3); margin-top:var(--s-4); }
.dossier-body { display:grid; gap:var(--s-4); }
.player-hero-wrap { margin-top:var(--s-4); }
.assessment-table { min-width:100%; }
.table-card { overflow:auto; max-width:100%; }
.shortlist-page .sl-row { grid-template-columns:minmax(0,1fr) 204px; }
body[data-page="field-shortlist"] .sl-row,body[data-page="field-event"] .sl-row { grid-template-columns:minmax(0,1fr) 204px; }
.people-table { margin-top:var(--s-5); }
.people-table th:nth-child(4) { width:23%; }
.report-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.trait-chips button[aria-pressed="true"],.tier-control button[aria-pressed="true"] { background:var(--ink); color:white; }
.shortlist-picker { margin:var(--s-4) 0; }
.sheet-name { min-width:0; }
.sheet-name small { overflow-wrap:anywhere; }
.player-name-line { display:flex; align-items:center; gap:5px; min-width:0; width:100%; }
.player-name-text { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.position-badge { flex:none; display:inline-flex; align-items:center; justify-content:center; height:20px; min-width:28px; padding:0 4px; border:1px solid var(--ink); border-radius:var(--r-pill); background:var(--ink); color:var(--on-ink); font:700 14px/1 var(--font-display); white-space:nowrap; }
.position-badge--keeper { background:var(--yellow); border-color:var(--yellow); color:var(--ink); }
.position-badge--missing { background:var(--paper); border-color:var(--muted); color:var(--ink-soft); }
.age-badge--missing { background:var(--paper); color:var(--muted); border:1px dashed var(--muted); }
.sheet-name b { width:100%; }
.sheet-name small,.row-identity .player-club { width:100%; min-width:0; display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
/* Sub picker: the club wraps between words; no word is ever cut (Brian's sub-window rule). */
.picker-identity .player-club { width:100%; min-width:0; display:block; white-space:normal; }
.sl-row .row-identity > small:not(.shortlist-age) { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.picker-identity .sub-player-name { display:block; }
.picker-identity .player-club { margin-top:4px; font:400 12px/1.5 var(--font-body); color:var(--muted); }
.picker-player[aria-pressed='true'] .player-club { color:var(--on-ink); }
.position-group-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:16px 0 4px; padding-bottom:4px; border-bottom:1px solid var(--line); font:700 15px/1.4 var(--font-display); }
.position-group-title .count { font:600 13px/1 var(--font-body); }
.age-badge { gap:3px; }
.role-field { max-width:220px; }
.modal { max-height:90dvh; overflow:auto; }
.drawer-body form { display:grid; gap:var(--s-4); }
.form-control { max-width:100%; }
.video-empty { padding:var(--s-5); }
@media(max-width:699px) {
  .people-cards.app-people { grid-template-columns:1fr; }
  .sl-row { display:flex; flex-direction:column; align-items:stretch; }
  .sl-row .tier-control { width:100%; }
  .clock-actions .act { padding:var(--s-2); }
}

/* One spacing rhythm, including the unchanged live/video workspace structure. */
.wrap { padding:var(--s-5) var(--s-6) var(--s-6); }
.page-head { margin:0 0 var(--s-4); gap:var(--s-4); }
.page-head p:not(.eyebrow) { margin-top:var(--s-2); }
.section { margin-top:var(--section-gap); }
.section-head { gap:var(--s-2); margin-bottom:var(--s-3); }
.card-grid,.country-grid,.video-grid,.dossier-body { gap:var(--s-4); }
.panel,.country-sheet,.lineup-card,.player-hero,.video-bottom,.video-moments,.kickoff-panel,.tag-tray,.marker-panel,.changes-card,.match-clock { padding:var(--card-padding); }
.empty { padding:var(--card-padding); text-align:left; }
.tabs { margin:var(--s-4) 0; gap:var(--s-1); padding:var(--s-1); }
.filters,.shortlist-picker { gap:var(--s-3); margin:var(--s-4) 0; }
.toolbar { gap:var(--s-3); margin-bottom:var(--s-4); }
.match-heading,.player-hero-wrap { margin-top:var(--s-4); }
.match-heading .fixture-teams { margin-top:var(--s-4); gap:var(--s-2); }
.clock-actions,.clock-extras { gap:var(--s-2); padding:var(--s-3); }
.clock-actions { margin-top:var(--s-3); }
.match-clock { margin:var(--s-4) 0; }
.sheet-row { padding:var(--s-2) 0; gap:var(--s-2); }
.sheet-name small { font-size:12px; margin-top:var(--s-1); }
.player-hero { gap:var(--s-4); }
.player-hero .hero-identity { flex-basis:200px; }
.player-hero .hero-identity h2 { margin:var(--s-2) 0; }
.player-facts { gap:var(--s-3) var(--s-4); margin-top:var(--s-3); }
.player-facts dt,.assessment-table small,.member-avatar,.time-small,.form-label,.who-player span { font-size:12px; }
.player-facts dd { margin-top:var(--s-1); }
.video-moments { padding:var(--card-padding); }
.login-panel { margin:var(--s-5) auto; }
.login-panel form,.stack { gap:var(--s-4); }
.queue-list { gap:var(--s-3); }
.queue-item { padding:var(--s-3); }
.queue-item .chip-row,.user-menu .language-switch { margin-top:var(--s-3); }
.error-message,.video-picker { margin:var(--s-3) 0; }
.video-picker { gap:var(--s-2); }
.roster-empty,.video-empty { padding:var(--card-padding); }
.act,.tab,.form-control,.tier-control button,.star-button,.sheet-name { min-height:44px; }
.act { padding:var(--s-2) var(--s-3); }
.sheet-name { display:flex; flex-direction:column; justify-content:center; }

/* Compact lists share identity, detail and a single action area. */
.compact-list,.event-grid,.home-tournaments,.unreported-grid,.summary-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
.compact-row { display:flex; align-items:center; gap:var(--s-3); min-height:64px; padding:var(--card-padding); background:var(--card); border-bottom:1px solid var(--line-soft); border-radius:0; box-shadow:none; }
.compact-row:first-child { border-radius:var(--r-inner) var(--r-inner) 0 0; }
.compact-row:last-child { border-radius:0 0 var(--r-inner) var(--r-inner); }
.compact-row:only-child { border-radius:var(--r-inner); }
.compact-row > .flag,.compact-row > .shirt,.row-chevron { flex:none; }
.row-identity { flex:1; min-width:0; }
.sl-row > a.row-identity { min-height:44px; }
.row-identity strong { font:600 20px/1.2 var(--font-display); }
.row-identity small { display:block; font-size:12px; margin-top:var(--s-1); overflow-wrap:anywhere; }
.row-chevron { font-size:24px; }
.event-row:hover { background:var(--paper); box-shadow:none; }
.compact-row .tier-control { width:auto; flex:none; max-width:100%; padding:var(--s-1); }
.compact-row .tier-control button { padding:var(--s-1) var(--s-2); font-size:14px; }
.compact-row .role-field { width:160px; }
.people-list { margin-top:var(--s-4); }
.report-row .report-text { margin-top:var(--s-1); font-size:13px; }
.report-row .chip-row:empty,.report-row .report-text:empty { display:none; }
.moment-row { min-height:44px; padding:var(--s-2) 0; gap:var(--s-2); border-bottom:1px solid var(--line-soft); }
.moment-row small,.moment-row .moment-action { font-size:12px; }
.moment-row button { min-height:44px; }
.unreported-player .act,.report-row .act { width:44px; min-height:44px; padding:0; font-size:20px; }
.unreported-player .act > span,.report-row .act > span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.clock-half,.awake-switch,.report-progress-button b,.report-progress-button span,.video-source,.coverage-mode,.marker-step,.marker-helpers button,#markers-clear,.who-team-tabs button,.tag-label-bar button,.u-layout-10 { font-size:12px; }
.lineup-label { font-size:12px; }

/* A single link fills each match row. Attendance buttons are sibling controls. */
.fixture-section-head { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--s-2) var(--s-4); font-size:12px; margin-bottom:var(--s-3); }
.fixture-section-head strong { font:600 20px/1.2 var(--font-display); }
.fixture-group { margin:var(--s-4) 0; }
.fixture-group > h3 { margin-bottom:var(--s-2); }
.fixture-date + .fixture-date { margin-top:var(--s-2); }
.date-heading { font-size:12px; font-weight:600; padding:var(--s-1) 0; }
.fixture-list { display:grid; gap:0; }
.compact-fixture { position:relative; display:block; padding:var(--s-2); background:var(--card); border-bottom:1px solid var(--line-soft); border-radius:0; box-shadow:none; }
.compact-fixture .fixture-link { display:grid; grid-template-columns:40px minmax(220px,1fr) 32px minmax(140px,1fr) 12px; align-items:center; gap:var(--s-2); min-height:44px; padding-right:var(--attendance-reserve); }
.fixture-time,.fixture-number { font-size:12px; font-variant-numeric:tabular-nums; }
.fixture-number { text-align:right; }
.row-teams { display:flex; align-items:center; justify-content:center; gap:var(--s-2); min-width:0; }
.row-team { display:flex; align-items:center; gap:var(--s-1); min-width:0; }
.row-team b { font:600 18px/1.1 var(--font-display); }
.row-team:last-child { flex-direction:row-reverse; }
.row-team .flag { width:20px; height:14px; flex:none; }
.row-team .placeholder-slot { width:20px; height:20px; font-size:12px; }
.fixture-detail { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s-1) var(--s-2); min-width:0; font-size:12px; }
.fixture-detail small { font-size:12px; }
.coverage-people { gap:var(--s-1); }
.coverage-people .member-avatar { width:24px; height:24px; font-size:12px; }
.compact-fixture .attendance-controls { position:absolute; right:var(--s-5); top:var(--s-2); display:flex; flex-wrap:nowrap; gap:0; padding:0; margin:0; border:1px solid var(--line); border-radius:var(--r-inner); background:var(--paper); }
.compact-fixture .attendance-option { min-height:44px; min-width:52px; padding:var(--s-1) var(--s-2); font:600 14px/1.2 var(--font-display); border-radius:var(--r-inner); }
.compact-fixture .attendance-option[aria-pressed='true'] { background:var(--ink); color:var(--on-ink); }
.compact-fixture .row-chevron { position:absolute; right:var(--s-2); top:var(--s-4); line-height:1; }
.event-team-inline,.team-member { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-2); font-size:12px; }
.event-team-inline { margin:var(--s-3) 0; }
:is(.compact-row,.fixture-link,.attendance-option):focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.eyebrow,.chip,.badge,.count,.language-switch button { font-size:12px; }
.back { min-height:44px; }

@media(min-width:700px) {
  .wrap { padding-top:var(--s-4); }
  .page-head .t-h1 { font-size:var(--fs-h1); }
  .compact-fixture { padding:0 var(--card-padding); }
  .compact-fixture .fixture-link { min-height:48px; }
  .compact-fixture .attendance-controls { top:0; }
  .compact-fixture .row-chevron { top:var(--s-3); }
  .fixture-group { margin:var(--s-2) 0; }
  .fixture-group > h3 { margin-bottom:var(--s-1); }
  .fixture-date + .fixture-date { margin-top:var(--s-1); }
  .date-heading { padding:0; }
}

@media(max-width:699px) {
  :root { --card-padding:var(--s-3); --section-gap:var(--s-4); }
  .wrap { padding:var(--s-4) var(--s-3) var(--s-5); }
  .compact-row { gap:var(--s-2); }
  .sl-row { flex-direction:row; flex-wrap:wrap; }
  .sl-row .tier-control { margin-left:auto; width:auto; }
  .sl-row .row-identity { flex-basis:200px; }
  .person-row .role-field { width:120px; }
  .unreported-player .act,.report-row .act { font-size:14px; padding:var(--s-1) var(--s-2); }
  .compact-fixture .fixture-link { grid-template-columns:36px minmax(0,1fr) 24px 12px; grid-template-rows:32px 44px; gap:var(--s-2) var(--s-1); padding:0; }
  .fixture-time { grid-column:1; grid-row:1; }
  .row-teams { grid-column:2; grid-row:1; gap:var(--s-1); }
  .row-team { gap:var(--s-1); }
  .row-team b { font-size:16px; }
  .row-team .flag { width:18px; height:13px; }
  .fixture-number { grid-column:3; grid-row:1; }
  .fixture-detail { grid-column:1 / 4; grid-row:2; padding-right:calc(112px + var(--s-3)); gap:var(--s-1); }
  .compact-fixture .attendance-controls { top:auto; bottom:var(--s-2); }
  .compact-fixture .row-chevron { top:auto; bottom:var(--s-4); }
  .compact-fixture { padding:var(--s-2); }
}
.fixture-time .provisional,.row-venue .provisional { white-space:nowrap; }

.photo-controls { margin-bottom:var(--s-3); max-width:480px; }
.photo-controls .chip-row { margin-top:var(--s-2); }
.photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s-2); }
.photo-tile { min-width:0; position:relative; }
.photo-open { display:block; width:100%; aspect-ratio:1; padding:0; border:1px solid var(--line); border-radius:var(--r-inner); overflow:hidden; background:var(--paper); }
.photo-open img { display:block; width:100%; height:100%; object-fit:cover; }
.photo-open:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.photo-waiting { display:block; margin-top:var(--s-1); white-space:normal; }
.photo-view { display:grid; gap:var(--s-3); overflow-wrap:anywhere; }
.photo-view img { display:block; max-width:100%; width:100%; height:auto; max-height:60dvh; object-fit:contain; }
.photo-view .act { justify-self:start; }
.photo-credit { font-size:12px; }
@media(min-width:700px) { .photo-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
.photo-strip { overflow-wrap:anywhere; }
.photo-strip-head { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.photo-strip-head h3 { margin:0; }
.photo-strip-head .photo-controls { margin:0; max-width:100%; }
.photo-sources { flex-wrap:wrap; }
.photo-sources[hidden] { display:none; }
.photo-state { display:flex; gap:4px; margin-top:6px; font-size:12px; line-height:1.4; }
.photo-recovery { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.photo-recovery .act { min-width:44px; min-height:44px; padding:8px; font-size:12px; }
.photo-strip .photo-open { min-width:44px; min-height:44px; }
#report-drawer .photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.photo-dossier-link { display:flex; align-items:center; min-height:44px; margin-top:8px; }
.photo-preview { display:grid; gap:12px; }
.photo-preview img { width:100%; height:auto; max-height:48dvh; object-fit:contain; background:var(--paper); }
.photo-player-label { font-weight:700; overflow-wrap:anywhere; }
#toast:has([data-photo-queue]) { display:block; }
#toast [data-photo-queue] { display:block; max-width:100%; min-height:44px; margin-top:8px; white-space:normal; }
.photo-preview .chip-row { flex-wrap:wrap; }
.photo-view-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
#general-modal:has(.photo-view) { inset:0; padding:0; }
#general-modal:has(.photo-view) .modal { width:100%; height:100dvh; max-height:100dvh; border-radius:0; padding:16px; }
.photo-view img { max-height:65dvh; }
@media(min-width:700px) { #general-modal:has(.photo-view) .modal { padding:24px max(24px,calc((100vw - 1100px)/2)); } }
@media(max-width:500px) { .photo-view-actions .act { flex:1 1 100px; padding:8px; } }
/* Docked video sits under dialogs (140) but above the report drawer (80). */
.video-picture.is-docked { z-index:135; top:calc(var(--site-bottom,140px) + 12px); }

/* P1-G: one Horsens select, with native-list fallback outside base-select. */
select,select.form-control {
  appearance:none; height:auto; min-height:44px; min-width:0; max-width:100%;
  border:1px solid var(--line); border-radius:var(--r-pill);
  background-color:var(--paper); color:var(--ink); font:500 12px/1.5 var(--font-body);
  padding:10px 36px 10px 14px; text-overflow:clip;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%231A1A18' stroke-width='1.8'/%3E%3C/svg%3E");
  background-position:right 14px center; background-repeat:no-repeat;
}
select:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@supports (appearance:base-select) {
  select,select.form-control,select::picker(select) { appearance:base-select; }
  select,select.form-control { background-image:none; padding-right:14px; white-space:normal; overflow-wrap:anywhere; gap:12px; }
  select::picker-icon { color:var(--ink); }
  select::picker(select) { background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-inner); padding:var(--s-1); box-shadow:var(--shadow); }
  select option { min-height:44px; padding:10px 12px; border-radius:var(--r-inner); white-space:normal; overflow-wrap:anywhere; font:500 12px/1.5 var(--font-body); }
  select option:hover,select option:focus { background:var(--paper); }
  select option:checked { background:var(--yellow-tint); color:var(--ink); font-weight:700; }
  select option::checkmark { color:var(--ink); }
}
.video-picker select { flex-basis:100%; width:100%; }
.person-row { flex-wrap:wrap; }
.person-row .role-field { width:160px; }
@media(pointer:coarse) {
  select,select.form-control,select option { font-size:16px; }
}

/* The dossier's second column contains its existing moments, at every size. */
.video-grid { align-items:start; }
.video-card,.dossier-moments { min-width:0; }
.dossier-moments { padding:var(--card-padding); }
.dossier-moments .video-moments { padding:0; }
.video-grid > .video-card:only-child { grid-column:1 / -1; }
.video-grid--single { grid-template-columns:minmax(0,1fr); }
.video-venue { padding:0 var(--card-padding) var(--card-padding); }
.video-poster { position:absolute; inset:0; display:grid; place-items:center; background:#111; color:var(--on-ink); pointer-events:none; }
.video-poster img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.video-poster p { padding:var(--s-4); text-align:center; font-size:12px; }

@media(min-width:1024px) {
  body:has(#report-drawer:not([hidden])) #main { width:calc(100% - 420px); margin-left:0; margin-right:420px; }
  body:has(#report-drawer:not([hidden])) #report-drawer .drawer-scrim { display:none; }
  body:has(#report-drawer:not([hidden])) #report-drawer .drawer-panel { top:var(--site-bottom,140px); max-height:calc(100dvh - var(--site-bottom,140px)); }
  body:has(#report-drawer:not([hidden])) .match-layout { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:var(--s-4); }
  body:has(#report-drawer:not([hidden])) .sheet-row { grid-template-columns:44px minmax(0,1fr) 28px 36px; }
  body:has(#report-drawer:not([hidden])) .shirt-age { flex-direction:column; gap:var(--s-1); }
  body:has(#report-drawer:not([hidden])) .age-badge { min-width:0; font-size:12px; padding:4px; }
}
@media(min-width:1024px) and (pointer:coarse) {
  body:has(#report-drawer:not([hidden])) .sheet-row { grid-template-columns:44px minmax(0,1fr) 28px 44px; }
  body:has(#report-drawer:not([hidden])) .star-button { min-width:44px; }
}
@media(min-width:700px) {
  body:has(.drawer-layer:not([hidden])) .video-picture.is-docked { left:16px; right:auto; }
}
@media(min-width:700px) and (max-width:999px) {
  body:has(.drawer-layer:not([hidden])) #video-workspace { width:calc(100% - 420px); }
  body:has(#sub-drawer:not([hidden])) #video-workspace { width:calc(100% - 460px); }
}
@media(max-width:699px) {
  .video-picture.is-docked { left:12px; right:auto; }
  body:has(.drawer-layer:not([hidden])) .video-picture.is-docked { top:8px; }
  body:has(.drawer-layer:not([hidden])) .drawer-panel { max-height:min(85dvh,calc(100dvh - 112px)); }
}

/* Keep all sub controls touch-sized, including desktop close and custom selects. */
.sub-panel .close-button { width:44px; height:44px; min-width:44px; min-height:44px; }
.sub-panel select,.sub-panel select option { overflow-wrap:normal; word-break:normal; }

.changes-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.change-players .change-arrow { color:var(--ink); }
#subs-check .change-players { gap:8px; }

/* Match the approved review rhythm and keep context legible while scrolling. */
.change-row .change-players,#subs-check .change-players { gap:4px; }
.sub-context { position:sticky; top:-16px; margin-top:-16px; background:var(--card); z-index:1; padding:16px 0 6px; }
.sub-team-name { text-transform:uppercase; }
.sub-panel select { border-radius:12px; }

button.change-row { background:transparent; border:0; border-radius:0; color:var(--ink); }
button.change-row:hover,button.change-row:focus-visible { background:var(--paper); }

/* Picked identities and moment types share a strong, explicit selection state. */
.picked-check { display:none; flex:none; margin-left:auto; font:700 20px/1 var(--font-body); }
[aria-pressed='true'] > .picked-check { display:inline-block; }
.picker-player[aria-pressed='true'] .age-badge { background:var(--on-ink); color:var(--ink); }
.picker-player[aria-pressed='true'] .shirt { background:var(--on-ink); color:var(--ink); }
.picker-player[aria-pressed='true'] .bench-tag { background:var(--on-ink); color:var(--ink); }
[data-moment-label] { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
[data-moment-label] .picked-check { font-size:16px; }
.player-picker-list .picker-player { border:0; background:transparent; border-radius:0; }
.player-picker-list .picker-player[aria-pressed='true'] { background:var(--ink); color:var(--on-ink); border-radius:8px; padding:10px; }
.player-picker-list section + section { margin-top:24px; }
.who-group { margin:16px 0 4px; color:var(--muted); font:600 12px/1.3 var(--font-body); }
.who-panel .close-button { min-width:44px; min-height:44px; }
#who-actions { flex:none; }
#who-actions .act { width:100%; min-height:48px; }
.who-empty { font-size:18px; line-height:1.5; }
#sub-title:focus { outline:none; }

/* UX2-A */
html:has(#toast:not([hidden])) { overflow-anchor:none; }
body[data-page='field-match'] #main { padding-top:8px; }
.match-line { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.match-line .eyebrow { min-width:0; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fixture-edit { flex:none; font-size:12px; padding:4px; margin:0; white-space:nowrap; }
.match-heading { padding:4px 0 8px; margin:0; }
.match-heading .fixture-teams { margin:8px auto 0; }
.match-heading .fixture-team b { font-size:24px; line-height:1.1; }
.workspace-mode { margin:8px 0; }
.workspace-strip { margin:4px 0 8px; padding:4px 0; }
.match-clock { margin:0 0 16px; padding:16px; }
.clock-bar { gap:12px; }
.clock-bar > div:first-child { display:grid; gap:4px; flex:1; min-width:0; }
body[data-workspace='live'] .clock-bar { padding:0; }
body[data-workspace='live'] .match-time { font-size:54px; }
html[lang='fr'] .clock-tag-actions { flex-direction:row; gap:8px; }
.clock-tag-actions { display:flex; align-items:center; gap:10px; }
.clock-tag-actions > button { min-width:48px; min-height:48px; }
.clock-actions { padding:0; margin-top:20px; gap:8px; }
.clock-actions > button { min-height:44px; min-width:44px; white-space:nowrap; }
.clock-extras { padding:0; margin-top:8px; gap:8px; align-items:center; }
.clock-extras .awake-switch { display:flex; align-items:center; }
.match-video-section { padding:16px; background:var(--card); border-radius:var(--r-card); margin-bottom:16px; }
.match-video-section > h3 { margin-bottom:8px; }
.moment-row { display:flex; flex-wrap:wrap; overflow-wrap:normal; word-break:normal; gap:8px; }
.moment-row .moment-actions { display:flex; flex-wrap:wrap; gap:8px; flex-basis:100%; }
.moment-row .moment-action { min-width:64px; min-height:44px; white-space:nowrap; }
.moment-youtube { font-size:12px; min-height:44px; display:inline-flex; align-items:center; }
.moment-minute { min-width:44px; min-height:44px; display:inline-flex; align-items:center; }
.moment-person { display:flex; align-items:center; flex-wrap:wrap; gap:8px; line-height:1.4; }
.moment-person strong { flex:1; min-width:0; word-break:normal; overflow-wrap:normal; }
.moment-person .text-link { min-width:44px; min-height:44px; }
.moment-team { display:block; font-size:13px; font-weight:400; }
.sub-team-switch { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:12px; background:var(--paper); position:sticky; top:-20px; z-index:2; }
.sub-team-switch > button { display:flex; align-items:center; justify-content:center; gap:6px; flex:1; min-width:0; min-height:48px; padding:8px; border:0; border-radius:8px; background:transparent; color:var(--ink); font:600 15px/1.2 var(--font-body); }
.sub-team-switch > button[aria-pressed='true'] { background:var(--ink); color:var(--on-ink); }
.sub-team-switch .flag { flex:none; width:22px; }
.sub-team-switch .picked-check { margin-left:0; font-size:16px; }
.sub-team-switch > button > span:not(.picked-check) { min-width:0; }
.sub-player-list > .muted { margin:12px 0 4px; }
.nobody-option { display:flex; align-items:center; gap:8px; width:100%; min-height:48px; padding:12px; border:1px solid #b85b5b; border-radius:8px; background:#fff1f0; color:#8a2424; font-weight:600; }
.change-direction { flex:none; white-space:nowrap; font-size:12px; font-weight:700; }
.change-on .change-direction,.change-on .change-arrow { color:#176236; }
.change-off .change-direction,.change-off .change-arrow { color:#a12a2a; }
.sub-review > span { display:flex; align-items:baseline; gap:8px; }
#sub-drawer[data-edit='true'] .sub-review { font-size:18px; padding:10px; gap:6px; }
.change-chevron { flex:none; margin-left:auto; font-size:28px; }
.sub-panel .drawer-actions .sub-delete { flex-basis:100%; min-height:44px; margin-top:6px; text-align:left; color:#a12a2a; }
#sub-drawer[data-edit='true'] .drawer-head h2 { font-size:24px; }
#sub-drawer[data-step='3'] .drawer-body { flex:1; }
.toast { position:static; transform:none; width:auto; max-width:none; margin:8px 20px; padding:8px 12px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:12px; flex:none; box-shadow:none; border-radius:8px; font-size:13px; line-height:1.4; }
.toast-undo { flex:none; min-width:44px; min-height:44px; }
.toast { font-size:15px; }
.toast-text { flex:1; min-width:0; overflow-wrap:anywhere; }
.toast[data-kind='warning'],.toast[data-kind='error'] { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:4px 10px; padding:8px 4px 8px 12px; border-left:4px solid; }
.toast[data-kind='warning'] { background:var(--warn-bg); color:var(--warn); border-left-color:var(--warn-dot); }
.toast[data-kind='error'] { background:var(--bad-bg); color:var(--bad); border-left-color:var(--bad-dot); }
.toast-icon { width:22px; height:22px; margin-top:11px; }
.toast[data-kind='warning'] .toast-text,.toast[data-kind='error'] .toast-text { padding:10px 0; }
.toast-close { grid-column:3; grid-row:1; width:44px; height:44px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:inherit; cursor:pointer; }
.toast-close svg { width:20px; height:20px; }
.toast-action { grid-column:2 / -1; justify-self:start; min-width:44px; min-height:44px; padding:0 16px; margin-bottom:4px; border:2px solid currentColor; border-radius:8px; background:transparent; color:inherit; font:inherit; font-weight:700; cursor:pointer; }
.toast-close:hover,.toast-action:hover { background:color-mix(in srgb,currentColor 12%,transparent); }
.toast-close:focus-visible,.toast-action:focus-visible,.toast-undo:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.site > .toast { max-width:480px; margin:8px auto; }
.modal > .toast { margin:8px 0 12px; }
.modal-heading h2 { min-width:0; overflow-wrap:normal; word-break:normal; }
.modal-heading .close-button { flex:none; min-width:44px; min-height:44px; }
.drawer-head > .close-button,.modal-heading > .close-button { margin-left:auto; }
.moment-match + .moment-match { margin-top:24px; }
.moment-match-title { font-size:18px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.dossier-moment { display:flex; flex-wrap:wrap; gap:6px; align-items:baseline; }
.dossier-moment .moment-detail { min-width:0; overflow-wrap:anywhere; }
.dossier-moment .moment-action { margin-left:0; }
.match-grade-cards { display:none; }
@media(min-width:700px) {
  .grades-table tr > :first-child { position:sticky; left:0; z-index:1; background:var(--card); }
}
@media(max-width:699px) {
  .match-grades .grades-scroll { display:none; }
  .match-grade-cards { display:grid; gap:12px; }
  .match-grade-card { padding:16px; min-width:0; }
  .match-grade-card h4 { font-size:20px; margin:0 0 8px; }
  .match-scout-grade { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:12px 0; border-top:1px solid var(--line-soft); }
  .match-scout-grade .report-text { grid-column:1 / -1; margin:0; overflow-wrap:anywhere; }
}
.modal:has(#moment-edit-form) { display:flex; flex-direction:column; overflow:hidden; }
.modal:has(#moment-edit-form) #general-body { overflow-y:auto; min-height:0; }
@media(max-width:699px) {
  .match-line .eyebrow { font-size:10px; }
  .fixture-edit { font-size:11px; }
  .match-heading .fixture-team { flex-direction:column; gap:4px; }
  .match-heading .fixture-team b { font-size:22px; }
  .clock-bar { flex-wrap:nowrap; }
  .match-time { font-size:42px; }
  .clock-minute { font-size:13px; }
  .clock-tag-actions .tag-button { min-width:72px; min-height:64px; }
  .clock-tag-actions #clock-tag { width:72px; min-width:72px; padding:8px; }
  body[data-workspace='live'] .match-time { font-size:44px; }
  .clock-half { white-space:nowrap; }
  .clock-actions > button { font-size:13px; padding:8px; }
  .clock-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .clock-actions > button { white-space:normal; }
  .clock-tag-actions #clock-sub { font-size:12px; padding:8px; }
  .clock-extras { font-size:12px; }
  .site > .toast { margin:8px 12px; }
  .modal:has(#moment-edit-form) { max-height:calc(100dvh - 32px); padding:16px; }
  #moment-edit-form { gap:12px; }
  #moment-edit-form > * + * { margin-top:0; }
  #moment-edit-form .trait-chips { gap:6px; }
  #moment-edit-form .trait-chips button { padding:8px 10px; }
  #moment-edit-form .moment-person { font-size:13px; }
  .sub-team-switch > button { font-size:13px; padding:8px 6px; }
  #sub-drawer[data-edit='true'] #sub-form { gap:8px; }
  .sub-review { font-size:18px; }
}
@media(max-width:699px) and (max-height:700px) {
  #sub-drawer[data-edit='true'] .drawer-body { padding-top:6px; padding-bottom:6px; }
  #sub-drawer[data-edit='true'] .sub-review { padding:8px; }
  #moment-edit-form { gap:8px; }
  #moment-edit-form .form-field:has(#edit-moment-label) .form-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}
/* UX2-B */
.access-scopes,.assignment-options { display:grid; gap:8px; }
.access-choice { display:flex; align-items:center; gap:8px; min-height:44px; padding:10px 12px; border-radius:12px; background:var(--paper); color:var(--ink); text-align:left; }
.access-choice[aria-pressed='true'] { background:var(--ink); color:#fff; }
.access-choice:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.grade-button.grade--ap { --grade-solid:#1e6b3c; --grade-pale:#e4f2e8; }
.grade-button.grade--a { --grade-solid:#1e6b3c; --grade-pale:#e4f2e8; }
.grade-button.grade--b { --grade-solid:#5e5a52; --grade-pale:#efede7; }
.grade-button.grade--c { --grade-solid:#a63a2e; --grade-pale:#fae9e6; }
.grade-button:not(.grade--none) { background:var(--grade-pale); color:var(--grade-solid); }
.grade-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:56px; }
.grade-button[aria-pressed='true'] { background:var(--grade-solid); color:#fff; box-shadow:0 0 0 2px var(--ink); }
.grade-button .picked-check { font-size:16px; margin-left:0; }
.age-label { white-space:nowrap; }
.summary-grade-pickers { grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); }
.tier-control button { flex:1 0 auto; white-space:nowrap; }
.star-button[aria-pressed='true'] { display:inline-flex; align-items:center; justify-content:center; background:var(--ink); color:#fff; }
.star-button .picked-check { margin-left:0; font-size:16px; }
.star-button[aria-pressed='true'] .shortlist-star { display:none; }
.language-switch button,.tab,[data-workspace-mode] { background:var(--paper); }
:is(.trait-chips,.tier-control) button { display:inline-flex; align-items:center; justify-content:center; gap:6px; background:var(--paper); }
:is(.trait-chips,.tier-control) .picked-check { margin-left:0; font-size:16px; }
:is(.trait-chips,.tier-control) button[aria-pressed='true'],
.language-switch button[aria-pressed='true'],.tab[aria-selected='true'],[data-workspace-mode][aria-pressed='true'],[data-sub-team][aria-pressed='true'] { background:var(--ink); color:#fff; }
select option:checked { background:var(--ink); color:#fff; font-weight:700; }
select option::checkmark { color:#fff; }
.read-only-note { font:500 13px/1.5 var(--font-body); color:var(--ink-soft); }
.site-nav { flex-wrap:nowrap; overflow-x:auto; max-width:100%; }
.site-nav > * { flex:none; white-space:nowrap; }
@media(max-height:650px) {
  #sub-drawer[data-step='3'] .sub-review { padding:8px; gap:4px; font-size:18px; }
  #sub-drawer[data-step='3'] .drawer-head { padding-top:8px; padding-bottom:8px; }
}
.shortlist-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.shortlist-filters .form-field:first-child { grid-column:auto; }
/* Public auth and system states share the approved brand and form spacing. */
.system-state { max-width:640px; margin:var(--s-6) auto; padding:var(--s-5) 0; }
.system-state .t-h1 { max-width:24ch; margin:12px 0; }
.system-state > p:not(.eyebrow) { color:var(--muted); margin:16px 0 24px; max-width:52ch; }
.system-state .act { white-space:normal; }
.forgot-link { display:inline-flex; margin-top:16px; min-height:44px; align-items:center; }
#forgot-panel > h3 { margin-bottom:8px; }
#forgot-panel > p { margin-bottom:20px; }
#back-to-sign-in { margin-top:16px; min-height:44px; }
.password-toggle { justify-self:start; min-height:44px; text-align:left; }
#password-rules { margin:0; }
.login-panel .notice { margin:0 0 16px; }
.login-panel form .notice { margin:0; }
.modal form > .password-toggle { margin-top:0; }
.modal:has(#password-form) { max-height:calc(100dvh - 32px); }
body[data-page='field-shortlist'] .page-head { align-items:center; gap:12px; margin-bottom:12px; }
body[data-page='field-shortlist'] .page-head .act { flex:none; }
body[data-page='field-shortlist'] #shortlist-rows .section { margin-top:20px; }
body[data-page='field-shortlist'] #shortlist-rows .empty { padding:12px; }
@media(max-width:699px) {
  .site-inner { padding-top:5px; padding-bottom:5px; }
  .site-nav { padding-bottom:4px; }
  .site-nav a { padding:6px 10px; }
  body[data-page='field-shortlist'] .sl-row .row-identity { flex:1; min-width:140px; }
  body[data-page='field-shortlist'] .sl-row .tier-control { width:100%; }
}
.version-ready { display:block; position:static; margin:12px auto; min-height:44px; max-width:calc(100vw - 24px); padding:10px 14px; border:1px solid #161712; background:#f4d21b; color:#161712; cursor:pointer; }
.scout-grade-chip small,.fixture-time .provisional,.row-venue .provisional,.match-line .eyebrow,.fixture-edit { font-size:12px; }
.summary-grades .t-label { font-size:12px; }

/* UX5b: the queue remains reachable without horizontal nav scrolling. */
#offline-pill { min-height:44px; }
@media(max-width:699px) {
  #offline-pill { display:block; width:calc(100% - 20px); margin:4px 10px; min-height:44px; white-space:normal; line-height:1.4; }
}
.unassigned-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; }
.unassigned-row .moment-actions { flex-basis:auto; flex-wrap:nowrap; gap:4px; }
.unassigned-row .moment-action { min-width:44px; padding:4px; font-size:12px; }
.unassigned-row .moment-minute { max-width:90px; font-size:12px; line-height:1.3; }
.unassigned-row > span { font-size:12px; line-height:1.3; }

/* UX6: compact visuals inside consistent phone touch targets. */
button,a[href],input:not([type=hidden]),select,textarea,summary,[role=button] { min-width:44px; min-height:44px; box-sizing:border-box; }
a[href] { display:inline-flex; align-items:center; }
a.row-identity,a.sheet-name { flex-direction:column; align-items:flex-start; justify-content:center; }
button.text-link,a.text-link { display:inline-flex; align-items:center; justify-content:center; padding:4px 8px; }
.language-switch button { width:44px; height:44px; padding:0; flex:none; }
.site-nav { flex-wrap:wrap; overflow:visible; padding-inline:8px; gap:0; }
.site-nav a { min-height:44px; padding:6px 8px; }
.fixture-time .provisional { display:block; white-space:normal; margin-top:2px; }
.fixture-time { min-width:0; }
.coverage-empty { font-size:12px; }
.people-list .compact-row { align-items:center; }
.people-list .chip,.people-list select { white-space:nowrap; word-break:normal; overflow-wrap:normal; flex:none; }
.people-list select { min-width:138px; width:auto; }
.evidence-panel li { display:flex; align-items:baseline; gap:8px; margin-block:8px; }
.pip-status { position:absolute; inset:auto 8px 8px; background:#111; color:#fff; border:1px solid #fff; padding:10px; font-size:14px; z-index:5; }
.who-panel { max-height:calc(100dvh - 24px); }
#who-title { display:flex; align-items:center; gap:12px; }
#who-title small { font:500 16px var(--font-body); }
#who-body { padding:12px 16px; }
.who-watching h3 { margin:0 0 8px; }
.who-watch-scroll { display:flex; overflow-x:auto; gap:8px; padding-bottom:8px; }
.who-watch-scroll .who-tile { flex:0 0 88px; }
.who-team-tabs { display:flex; gap:8px; margin:8px 0 12px; }
.who-team-tabs button { display:flex; align-items:center; gap:6px; flex:1; min-width:0; padding:8px; font-size:12px; border:1px solid var(--line); background:var(--card); }
.who-team-tabs [aria-pressed=true] { background:var(--ink); color:#fff; }
.who-team-tabs .picked-check { font-size:12px; }
.who-group { margin:8px 0; font-size:14px; color:var(--ink); }
.who-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.who-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:72px; padding:6px 3px; border:1px solid #aec3b4; border-top:4px solid #39794b; border-radius:4px; background:#f4f8f4; color:#17271b; }
.who-tile strong { font:700 24px/1 var(--font-display); }
.who-tile>span:not(.picked-check) { font:500 10px/1.2 var(--font-body); text-transform:uppercase; overflow-wrap:anywhere; }
.who-tile small { font-size:10px; line-height:1; }
.who-tile[aria-pressed=true] { background:var(--ink); color:#fff; }
.who-more>summary { display:flex; align-items:center; gap:6px; cursor:pointer; }
.who-more>summary:before { content:'\25b8'; }
.who-more[open]>summary:before { content:'\25be'; }
.who-more h4 { margin:4px 0 8px; }
.event-stats { display:flex; flex-wrap:wrap; gap:6px 12px; font-size:12px; margin-top:6px; }
.event-status { margin-top:6px; }
.event-row .row-identity { min-width:0; }
@media(max-width:599px) {
  .people-list .compact-row { display:grid; grid-template-columns:minmax(0,1fr) 138px; }
  .people-list .compact-row>.member-avatar { display:none; }
  .people-list .row-identity { min-width:0; }
}

:is(.trait-chips,.tag-labels) button { min-width:44px; min-height:44px; }

.who-tile .shirt { width:auto; height:auto; min-height:0; background:transparent; padding:0; font:inherit; }
.who-tile .shirt:before { content:'#'; }

.who-watching { display:block; overflow:visible; padding:0; }
.who-tile .shirt { display:inline; white-space:nowrap; }
.event-row .event-stats { padding:0; background:transparent; border-radius:0; }
.event-row .event-stats [data-event-stat] { display:inline-flex; align-items:baseline; gap:4px; margin:0; }
.event-row .event-stats b { font:700 13px var(--font-body); }
.event-row .event-stats span[data-i18n] { display:inline; font-size:12px; margin:0; }

.compact-fixture .fixture-link { grid-template-columns:80px minmax(220px,1fr) 32px minmax(140px,1fr) 12px; }
.fixture-time .provisional { white-space:nowrap; }
@media(max-width:699px) {
  .compact-fixture .fixture-link { grid-template-columns:80px minmax(0,1fr) 24px 12px; grid-template-rows:minmax(32px,auto) minmax(44px,auto); }
}

.who-tile[data-side=away]:not([aria-pressed=true]) { border-color:#c9b674; border-top-color:#af9419; background:#fffcf0; }

@media(min-height:600px) and (max-height:700px) {
  body[data-workspace=live] #who-sheet .who-panel { max-height:calc(100dvh - 12px); }
  #who-sheet .drawer-head { padding:8px 16px; }
  #who-sheet .drawer-actions { padding:8px 16px; }
  #who-body { padding:8px 16px; }
  .who-tile { min-height:64px; padding:4px 3px; }
  .who-tile strong { font-size:22px; }
  .who-team-tabs { margin:4px 0 8px; }
  .who-watch-scroll { padding-bottom:4px; }
}

.compact-fixture .fixture-link { grid-template-columns:40px minmax(220px,1fr) 32px minmax(140px,1fr) 12px; }
.compact-fixture.fixture--wide-time .fixture-link { grid-template-columns:80px minmax(220px,1fr) 32px minmax(140px,1fr) 12px; }
.fixture-time,.fixture-time .provisional { line-height:16px; }
.fixture-detail .report-count { order:-1; }
@media(max-width:699px) {
  .compact-fixture .fixture-link { grid-template-columns:36px minmax(0,1fr) 24px 12px; }
  .compact-fixture.fixture--wide-time .fixture-link { grid-template-columns:80px minmax(0,1fr) 24px 12px; }
  .row-team b { line-height:17px; }
}

@media(max-width:699px) {
  .fixture-detail { row-gap:1px; }
  .fixture-detail,.fixture-detail * { line-height:14px; }
}

.fixture-time:not([datetime]) { white-space:nowrap; }

@media(pointer:coarse) {
  .people-list select { min-width:160px; }
}
@media(max-width:599px) and (pointer:coarse) {
  .people-list .compact-row { grid-template-columns:minmax(0,1fr) 160px; }
}

.match-grade-card h4 a,.grades-table th a { display:block; }

/* Reserve loading space, then let draft rows participate in page scrolling. */
.home-drafts { align-content:start; }
.home-drafts[aria-busy=true] { min-block-size:20rem; }
.home-drafts-status { padding:var(--card-padding); }
/* A second clock time gets one short line without changing tap targets. */
.fixture-match-time,.fixture-your-time { display:block; }
.fixture-your-time { font-size:12px; line-height:16px; white-space:nowrap; width:max-content; max-width:100%; justify-self:start; }
.compact-fixture.fixture--your-time .fixture-link { grid-template-columns:160px minmax(0,1fr) 32px minmax(0,1fr) 12px; }
.compact-fixture:not(.fixture--write) .fixture-link { padding-right:0; }
.fixture--your-time .fixture-detail { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1px 4px; }
.fixture--your-time .row-venue { grid-column:1 / 3; grid-row:1; }
.fixture-same-time { display:block; font-size:12px; line-height:14px; }
.fixture--your-time .coverage-people { grid-column:1; grid-row:2; min-width:0; max-width:100%; }
.fixture--your-time .report-count { grid-column:2; grid-row:2; }
.fixture--your-time .row-venue,.fixture--your-time .coverage-empty { white-space:normal; overflow:visible; text-overflow:clip; }
@media(max-width:699px) {
  .compact-fixture.fixture--your-time .fixture-link { grid-template-columns:36px minmax(0,1fr) 24px 12px; grid-template-rows:minmax(18px,auto) 16px minmax(31px,auto); row-gap:3px; }
  .fixture--your-time .fixture-time { display:contents; }
  .fixture-match-time { grid-column:1; grid-row:1; }
  .fixture-your-time { grid-column:1 / 4; grid-row:2; }
  .fixture--your-time .fixture-detail { grid-row:3; padding-right:0; }
  .fixture--your-time.fixture--write .fixture-detail { padding-right:112px; }
  .fixture--your-time .fixture-same-time { grid-column:1 / 4; grid-row:2; justify-self:end; }
  .fixture--your-time:has(.provisional) .fixture-link { grid-template-columns:80px minmax(0,1fr) 24px 12px; }
}
.match-line .eyebrow { white-space:normal; overflow:visible; text-overflow:clip; }
.match-line .fixture-edit { flex-shrink:0; }

/* Keep the added picker facts within the previous row heights. */
#sub-body .picker-player { padding-block:4px; }
#sub-body .picker-identity { font-size:18px; line-height:1.15; }
#sub-drawer[data-step='2'] .picker-player { padding-block:0; }
/* UX13: keep the clock on its own line and actions in one reachable row. */
.clock-bar { display:grid; grid-template-columns:minmax(0,1fr); }
.clock-bar > .clock-tag-actions { display:grid; grid-template-columns:minmax(72px,1.4fr) repeat(3,minmax(44px,1fr)); gap:6px; width:100%; }
html[lang='fr'] .clock-tag-actions { gap:6px; }
.clock-tag-actions > button { min-width:44px; min-height:48px; padding:8px 4px; font-size:13px; }
.clock-tag-actions #clock-tag { width:100%; min-height:64px; font-size:22px; }
.card-choices { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.card-choice { min-height:100px; font-size:22px; display:flex; align-items:center; justify-content:center; gap:12px; }
.yellow-card-marker { display:inline-block; width:10px; height:14px; border:1px solid #6e5900; border-radius:1px; background:#f4d21b; flex-shrink:0; }
.goal-own-switch { display:flex; align-items:center; gap:10px; min-height:48px; margin-bottom:12px; }
.goal-own-switch input { width:44px; height:44px; }
.match-score { font-weight:700; white-space:nowrap; }
.record-removal-actions { display:flex; justify-content:space-between; gap:24px; }
.record-remove { margin-top:20px; color:var(--bad,#b42318); }
#record-removal-list { padding-left:20px; }
#record-removal-list li { margin-block:12px; }
#sub-now { min-height:44px; margin-top:8px; }
@media(min-width:700px) { .clock-bar { grid-template-columns:minmax(120px,1fr) minmax(300px,1.5fr); } }

.clock-bar > .clock-tag-actions > button { white-space:normal; overflow-wrap:anywhere; }

@media(max-width:699px) {
  .match-clock { padding:12px; }
  .clock-actions { margin-top:12px; }
  .clock-bar { grid-template-columns:minmax(100px,1fr) minmax(164px,1.5fr); gap:8px; }
  .clock-bar > .clock-tag-actions { grid-template-columns:repeat(3,minmax(44px,1fr)); gap:6px; }
  .clock-tag-actions #clock-tag { grid-column:1 / -1; height:64px; }
  .clock-bar > .clock-tag-actions > button:not(#clock-tag) { height:48px; padding:8px 2px; font-size:12px; white-space:nowrap; overflow-wrap:normal; }
}

.sub-time-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
.sub-time-actions > .form-field { margin:0; min-width:0; }
.sub-time-actions #sub-now { margin:0; height:48px; }
/* UX15: the dossier reads as identity, figures, then evidence. */
body[data-page="field-player"] #main { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
body[data-page="field-player"] .player-hero-wrap { margin-top:8px; }
body[data-page="field-player"] .player-hero { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; align-items:start; padding:16px; }
body[data-page="field-player"] .player-monogram { width:64px; height:64px; border-radius:12px; font-size:26px; }
.player-avatar { padding:0; border:0; overflow:hidden; cursor:pointer; }
.player-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
body[data-page="field-player"] .hero-identity { min-width:0; }
body[data-page="field-player"] .hero-identity h2 { margin:0 0 8px; font-size:28px; line-height:1.05; overflow-wrap:anywhere; }
.player-chips { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.player-chip { display:inline-flex; align-items:center; gap:4px; min-height:32px; padding:4px 8px; border-radius:6px; background:var(--paper); font-family:var(--font-display); font-size:18px; font-weight:700; line-height:1.2; }
.shirt-chip { background:var(--yellow); }
.club-chip { overflow-wrap:anywhere; }
.hero-identity .nation { display:flex; gap:6px; align-items:center; }
.caf-id { display:block; margin-top:8px; overflow-wrap:anywhere; }
.dossier-figures { margin-top:12px; border-block:1px solid var(--line); padding:12px 0; }
.dossier-figures .hero-grades { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:0; }
.dossier-figures .summary-grades { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dossier-figures .summary-grades > div { display:block; }
.dossier-figures .summary-grades .t-label { display:inline-block; vertical-align:middle; margin:0 8px 0 0; }
.dossier-figures .t-label { font-size:13px; }
.dossier-figures .ungraded { font-size:13px; }
.dossier-tier { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.dossier-tier .tier-control { display:flex; flex-wrap:wrap; gap:4px; }
.dossier-tier .tier-control button { min-width:44px; min-height:44px; padding:6px 10px; }
.dossier-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border-top:1px solid var(--line-soft); margin-top:12px; padding-top:10px; font-variant-numeric:tabular-nums; }
.dossier-totals > div { display:flex; flex-direction:column; gap:2px; }
.dossier-totals b { font-family:var(--font-display); font-size:26px; line-height:1; }
.dossier-totals span { font-size:13px; }
.dossier-details { margin:8px 0; }
.dossier-details summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; font-size:14px; color:var(--muted); }
.dossier-details summary::before { content:'+'; font-size:20px; }
.dossier-details[open] summary::before { content:'-'; }
.dossier-details .player-facts { margin:0 0 12px; }
.dossier-nav { position:sticky; top:var(--site-bottom,140px); z-index:35; display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding:6px 0; height:56px; box-sizing:border-box; background:var(--paper); box-shadow:0 1px 0 var(--line); }
.dossier-nav::-webkit-scrollbar { display:none; }
.dossier-nav a { flex:none; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; box-sizing:border-box; padding:6px 12px; border-radius:8px; color:var(--muted); font-weight:600; font-size:15px; }
.dossier-nav a[aria-current] { color:var(--ink); background:var(--yellow-tint); box-shadow:inset 0 -3px var(--yellow); }
.dossier-section-count { font-variant-numeric:tabular-nums; font-size:13px; }
[data-dossier-section],#dossier-top { scroll-margin-top:210px; }
[data-dossier-section] > .section-head h3 { outline-offset:4px; }
#dossier-reports > .section { margin-top:20px; }
#dossier-reports .summary-card header { gap:8px; flex-wrap:wrap; }
.dossier-video-matches { list-style:none; margin:16px 0 0; padding:0; }
.dossier-video-matches a { display:block; min-height:44px; box-sizing:border-box; padding-block:10px; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.dossier-jump { position:fixed; z-index:36; right:calc(16px + env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); }
.dossier-jump > button { width:48px; height:48px; border:0; border-radius:50%; background:var(--ink); color:var(--on-ink); display:grid; place-items:center; cursor:pointer; box-shadow:0 2px 8px #0002; }
.dossier-jump > button svg { width:24px; height:24px; }
.dossier-jump nav { position:absolute; bottom:60px; right:0; width:220px; max-width:calc(100vw - 32px); background:var(--card); padding:6px; border:1px solid var(--line); border-radius:12px; box-shadow:0 4px 16px #0002; }
.dossier-jump nav a { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:6px 12px; box-sizing:border-box; border-radius:6px; }
.dossier-jump nav a:hover,.dossier-jump nav a[aria-current] { background:var(--yellow-tint); }
.dossier-nav a:focus-visible,.dossier-jump a:focus-visible,.dossier-jump button:focus-visible,.player-avatar:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
@media(min-width:700px) {
  body[data-page="field-player"] .player-hero { grid-template-columns:96px minmax(0,1fr); gap:20px; padding:24px; }
  body[data-page="field-player"] .player-monogram { width:96px; height:96px; font-size:38px; }
  body[data-page="field-player"] .hero-identity h2 { font-size:40px; }
  .dossier-figures { display:flex; align-items:center; gap:24px; }
  .dossier-figures .hero-grades { flex:2; grid-template-columns:1fr; }
  .dossier-totals { flex:1; margin:0; padding:0 0 0 24px; border-top:0; border-left:1px solid var(--line); }
}
@media(min-width:1200px) {
  .dossier-figures .hero-grades { grid-template-columns:1fr 1fr; align-items:center; }
}
