/* Independent panels retain space at every density; flat directory rows keep their shared separator. */
@media(max-width:1000px) { html { scroll-padding-bottom:calc(var(--mobile-nav-height,78px) + 8px); } }
main .workflow-records { gap:16px; }
main .facility-groups { gap:14px; }
main section + :is(#diversant,#facility-diversions) { margin-top:20px; }
main .staff-section > .staff-empty { padding:0; margin:16px 0 24px; text-align:left; line-height:1.6; }
.help-directory .help-column { display:grid; align-content:start; gap:28px; min-width:0; }
.team-management-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.team-management-actions > form { margin:0; }
main form.section-toolbar[method="get"] { align-items:flex-end; }
@media(max-width:1000px) {
  .help-directory.help-directory { display:block; columns:2; column-gap:28px; }
  .help-directory .help-column { display:contents; }
  .help-directory .help-category { break-inside:avoid; margin-bottom:28px; }
}
@media(max-width:600px) { .help-directory.help-directory { columns:1; } }
/* Forecasts are a short contextual row, without another card or a second menu. */
.facility-context { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; min-width:0; }
.facility-context > p { margin:0; font-size:.875rem; line-height:1.6; overflow-wrap:anywhere; }
.facility-context .contextual-help { flex:0 0 44px; }
.estate-card .estate-description { flex:0; margin:0 0 12px; line-height:1.5; color:var(--muted); font-size:.8125rem; }
.estate-card :is(.business-estimate,.comfort-estimate) { border:0; border-radius:0; padding:0; margin:8px 0 16px; }
main .medical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-block:0 24px; }
main .medical-player { padding:22px; display:flex; flex-direction:column; gap:14px; min-width:0; }
main .medical-player > :is(p,form,a) { margin:0; }
main .medical-player .health-status { margin:0; }
main .medical-player .form-note { display:block; margin:6px 0 0; line-height:1.5; }
main .medical-player > .text-link { font-size:.8125rem; min-height:32px; }
main .medical-player .player-cell { min-width:0; }
main .medical-player .player-cell small { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.medical-section { margin-block:20px; }
.medical-section > summary { cursor:pointer; font-weight:650; min-height:44px; align-content:center; }
.medical-section[open] > summary { margin-bottom:16px; }
main .medical-section > form { margin-block:16px 0; }
@media(max-width:1100px) { main .medical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { main .medical-grid { grid-template-columns:minmax(0,1fr); } }
@layer base, layout, components, pages, responsive, accessibility;

/* Shared country marks must render on Windows without an emoji flag font. */
.country-flag {
  display:inline-block; width:20px; height:15px; object-fit:contain;
  vertical-align:middle; flex:0 0 20px; border-radius:2px;
  filter:drop-shadow(0 0 1px #0004);
}
.country-label {
  display:inline-flex; align-items:center; gap:6px; max-width:100%;
  vertical-align:middle; line-height:1.4;
}
.country-label > .country-flag { display:block; align-self:center; }
.country-label > span { min-width:0; }

.account-settings .privacy-checkbox { display:flex; align-items:center; }
.account-settings .privacy-summary { margin:0; }
.account-settings .privacy-form > .button { margin:0; }
.account-settings .stack-form p { margin:0; }
.account-settings .stack-form p > label { margin-bottom:8px; }
.account-settings .stack-form > .button { justify-self:start; margin:0; }
.account-settings .stack-form :is(input:not([type=hidden]),select,textarea) { width:100%; }
.account-settings #privacy { scroll-margin-top:90px; }
.section-nav + .stats-row { border-top:0; }
.chat-page { max-width:none; width:100%; }
.chat-compose { flex-wrap:wrap; }
.chat-body { flex:1 1 220px; min-width:0; }
.chat-body textarea { display:block; width:100%; }
.chat-mode { flex:1 0 100%; display:flex; flex-wrap:wrap; gap:4px; border:0; padding:0; margin:0; min-width:0; }
.chat-mode label { margin:0; cursor:pointer; }
.chat-mode label>span { display:flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:8px; font-size:.8125rem; color:var(--muted); }
.chat-mode input:checked+span { background:var(--surface-alt); color:var(--ink); box-shadow:inset 0 -2px var(--accent); }
.chat-mode input:focus-visible+span { outline:2px solid var(--accent); outline-offset:2px; }
.chat-target { flex:1 0 100%; display:none; flex-wrap:wrap; align-items:end; gap:8px 16px; padding:12px; border-left:3px solid var(--accent); background:var(--surface-alt); border-radius:6px; }
.chat-compose:has([name=is_private][value=True]:checked) .chat-target { display:flex; }
.chat-target label { flex:1 1 220px; margin:0; font-size:.8125rem; }
.chat-target input[name=recipient] { min-width:0; width:100%; margin-top:6px; }
.chat-target small { flex:1 1 200px; color:var(--muted); line-height:1.5; font-size:.8125rem; }
.chat-compose-actions { display:grid; gap:4px; }
.chat-tools,.chat-message-actions { display:flex; align-items:center; gap:8px; }
.chat-tools { justify-content:space-between; }
.chat-message-actions { margin-left:auto; }
.chat-message-actions :is(button,a),.chat-tools>button {
  display:inline-flex; align-items:center; justify-content:center; border:0; background:none; color:var(--muted);
  font:inherit; font-size:.8125rem; min-height:44px; min-width:44px; padding:4px 8px; cursor:pointer; border-radius:6px;
}
.chat-message-actions :is(button,a):hover,.chat-tools>button:hover { color:var(--ink); background:var(--surface-alt); }
.chat-message [data-chat-mention] { display:inline-flex; align-items:center; min-height:44px; padding:0 2px; border:0; background:none; font:inherit; font-weight:inherit; color:inherit; cursor:pointer; text-align:left; }
.chat-message [data-chat-mention]:hover { color:var(--accent); text-decoration:underline; }
.chat-message header { gap:4px 10px; align-items:center; }
.chat-private { border-left:3px solid var(--accent); padding-left:12px; }
.chat-length { color:var(--muted); font-size:.6875rem; white-space:nowrap; }
.chat-length.is-invalid { color:var(--danger); font-weight:700; }
.chat-tools>[data-chat-picker-open] { font-size:1.4rem; }
.chat-tools>[hidden],.emoji-picker [hidden] { display:none; }
.emoji-picker {
  position:fixed; inset:auto; z-index:30; margin:0; width:min(352px,calc(100vw - 24px)); height:min(440px,calc(100dvh - 24px)); max-height:min(440px,calc(100dvh - 24px));
  padding:12px; overflow:hidden; border:1px solid var(--control-border); border-radius:14px; background:var(--surface); color:var(--ink);
  box-shadow:0 8px 36px #0004; font-family:var(--font-body,inherit);
}
:is(.emoji-picker:popover-open,.emoji-picker[data-fallback]:not([hidden])) { display:flex; flex-direction:column; gap:8px; }
.emoji-picker[hidden] { display:none; }
.emoji-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:none; }
.emoji-picker-heading strong { font-size:.9375rem; }
.emoji-picker button { display:grid; place-items:center; flex:none; min-width:44px; min-height:44px; border:0; padding:4px; border-radius:7px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.emoji-picker button:hover,.emoji-picker button[aria-pressed=true] { background:var(--surface-alt); }
.emoji-picker button[aria-pressed=true] { box-shadow:inset 0 -2px var(--accent); }
.emoji-picker button:disabled { opacity:.4; cursor:default; }
.emoji-picker-heading button { font-size:1.5rem; }
.emoji-picker input[type=search] { width:100%; min-height:44px; margin:0; flex:none; font-size:.875rem; }
.emoji-categories { display:flex; flex:none; gap:0; overflow-x:auto; scrollbar-width:thin; padding-bottom:4px; }
.emoji-categories button { font-size:min(1.25rem,28px); }
.emoji-results { overflow-y:auto; min-height:0; overscroll-behavior:contain; scrollbar-width:thin; }
.emoji-results h2 { font-size:.8125rem; margin:4px 0 8px; color:var(--muted); }
.emoji-results section+section { margin-top:16px; }
.emoji-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.emoji-grid button { font-size:min(1.5rem,28px); line-height:1.2; }
.emoji-empty { margin:8px 0; font-size:.875rem; line-height:1.5; }
@media(max-width:520px) {
  .chat-body { flex-basis:100%; }
  .chat-compose-actions { width:100%; display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:center; }
  .chat-tools { gap:12px; }
  .chat-mode label>span { padding-inline:10px; }
}

/* A consistent rhythm for independent page panels and ordinary form fields. */
main > :is(section,article,details,form,.card,.two-column,.social-columns,.workflow-grid)
  + :is(section,article,details,form,.card,.two-column,.social-columns,.workflow-grid) {
  margin-block-start:20px;
}
main :where(.card.padded) > :where(p,form,dl,ul,ol,h3,.form-field,details):not(:first-child) {
  margin-block-start:12px;
}
main .card.padded > summary + :is(p,form,div,ul,ol) { margin-block-start:16px; }
.form-field { display:grid; gap:8px; min-width:0; }
.form-field > :is(input,select,textarea) { width:100%; }
main label.compact-field { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:center; gap:10px; max-width:190px; }
main label.compact-field > :is(input,select) { min-width:0; width:100%; }
@layer base {
 main :where(label:has(> :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea))) {
  display:grid; gap:8px; min-width:0;
 }
}
.referral-link-field { max-width:48rem; }
.referral-link-field input { overflow:hidden; text-overflow:ellipsis; }
@layer pages {
 .social-navigation { flex-wrap:wrap; gap:6px; margin-bottom:22px; overflow:visible; }
 .social-navigation a { white-space:normal; min-height:44px; }
 .unread-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; padding:1px 6px; border-radius:20px; background:var(--accent); color:var(--surface); font-size:.7rem; font-weight:700; line-height:1.5; }
 .unread-count[hidden] { display:none; }
 .mail-shortcut { position:relative; }
 .mail-shortcut .unread-count { position:absolute; top:-3px; right:-3px; }
 .people-search { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) auto; align-items:end; gap:16px; margin:18px 0 22px; }
 .people-search label,.social-search label { display:grid; gap:8px; min-width:0; }
 .people-grid,.notes-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:18px; }
 .people-card,.note-card,.people-profile,.letter-detail,.social-editor { min-width:0; overflow-wrap:anywhere; }
 .people-heading { display:flex; align-items:center; gap:16px; margin-bottom:18px; }
 .people-heading>div { min-width:0; }
 .people-heading .crest { flex-shrink:0; }
 .people-heading h2 a:hover { text-decoration:underline; }
 .social-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px; }
 .social-actions form { min-width:0; max-width:100%; }
 .social-actions .button,.people-search .button { max-width:100%; white-space:normal; }
 .text-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--ink); font-size:.8125rem; font-weight:600; line-height:1.4; text-decoration:none; white-space:normal; }
 .social-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
 .social-toolbar>* { min-width:0; }
 .social-columns { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:22px; }
 .social-records { display:grid; }
 .social-record { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
 .social-record:last-child { border-bottom:0; }
 .social-record>span:first-child { min-width:0; }
 .social-record small { display:block; margin-top:5px; color:var(--muted); }
 .social-record .tag,.social-record .score-pill { flex-shrink:0; }
 .social-record:hover { background:var(--surface-alt); }
 .mail-list { overflow:hidden; }
 .mail-list .social-record { padding:18px 22px; }
 .letter-unread { background:var(--accent-soft); }
 .letter-unread strong { font-weight:750; }
 .social-search { display:flex; align-items:end; gap:14px; margin:18px 0; }
 .social-search label { flex:1; }
 .social-editor { max-width:850px; }
 .social-editor input,.social-editor textarea,.people-search input,.people-search select,.social-search input { width:100%; max-width:100%; min-width:0; }
 .social-editor textarea { min-height:180px; resize:vertical; }
 .letter-body { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.95rem; line-height:1.75; margin:26px 0; }
 .letter-detail .social-toolbar p { overflow-wrap:anywhere; }
 .toolbar-actions { margin:0; gap:16px; }
 .toolbar-actions form,.note-actions form { margin:0; }
 .entity-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; max-width:100%; font-size:.8125rem; line-height:1.4; text-align:left; }
 .entity-action .icon { width:18px; height:18px; flex:0 0 18px; }
 .entity-action > span { min-width:0; }
 @media(max-width:480px) {
  .entity-action-compact { min-width:44px; }
  .entity-action-compact .entity-action-label { display:none; }
 }
 .note-card { display:flex; flex-direction:column; gap:12px; }
 .note-card p { color:var(--muted); }
 .note-card h2,.note-card p { margin:0; }
 .note-card .note-actions { margin-top:auto; padding-top:4px; column-gap:20px; row-gap:0; }
 .note-actions .text-link { font-size:.8125rem; text-decoration:underline; }
 .social-editor hr { border:0; border-top:1px solid var(--border); margin:24px 0; }
 @media(max-width:800px) { .social-columns { grid-template-columns:1fr; } }
 @media(max-width:600px) {
  .people-search { grid-template-columns:1fr; }
  .social-search { align-items:stretch; flex-direction:column; }
  .social-toolbar { align-items:stretch; }
  .social-toolbar>.button { width:100%; white-space:normal; }
  .social-toolbar .tabs { width:100%; }
  .social-navigation a { padding:10px 12px; }
 }
}
@layer base {
 :root { --bg:#f5f5ef; --surface:#fff; --surface-alt:#f3f5ef; --ink:#19342b; --muted:#58695d; --border:#e0e6dc; --control-border:#819183; --accent:#256447; --accent-soft:#eaf0dd; --lime:#d9ed92; --orange:#e99759; --sidebar:#15352d; --shadow:0 8px 30px #18342b05; --radius:18px; --padding:26px; --sidebar-width:226px; color-scheme:light; }
 :root[data-theme=dark] { --bg:#111e1a; --surface:#1b2c25; --surface-alt:#23362c; --ink:#e5eee4; --muted:#a0b3a5; --border:#35473b; --control-border:#78927f; --accent:#b7d991; --accent-soft:#304630; --sidebar:#0d231c; --shadow:0 8px 30px #00000018; color-scheme:dark; }
 :root[data-density=compact] { --padding:20px; --radius:14px; }
 * { box-sizing:border-box; }
 body { margin:0; background:var(--bg); color:var(--ink); font-family:'Segoe UI',Inter,Arial,sans-serif; font-size:.875rem; line-height:1.55; -webkit-font-smoothing:antialiased; }
 a { color:inherit; text-decoration:none; }
 button,input,textarea,select { font:inherit; }
 button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
 button { cursor:pointer; }
 button:disabled { cursor:not-allowed; opacity:.5; }
 a,button,input,textarea,select { touch-action:manipulation; }
 h1,h2,h3,p { margin:0; }
 h2,h3 { overflow-wrap:anywhere; }
 h1 { font-size:clamp(1.7rem,3vw,2.8rem); line-height:1.18; letter-spacing:-.045em; font-weight:650; overflow-wrap:anywhere; }
 h2 { font-size:1.125rem; line-height:1.4; font-weight:650; letter-spacing:-.02em; }
 h3 { font-size:1rem; }
 small { font-size:.75rem; }
 ul,ol { margin:0; padding:0; }
 .icon { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
 .muted { color:var(--muted); }
 .positive { color:var(--accent); }
 .eyebrow { font-size:.625rem; font-weight:700; letter-spacing:.16em; color:var(--muted); display:flex; align-items:center; gap:8px; }
 .eyebrow.light { color:#d4e2c8; }
 .eyebrow .icon { width:17px; height:17px; }
 .eyebrow + h1,.eyebrow + h2 { margin-top:9px; }
 .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .full { width:100%; }
 .stack { display:grid; gap:22px; align-content:start; min-width:0; }
 input,select,textarea { color:var(--ink); background:var(--surface); border:1px solid var(--control-border); border-radius:9px; min-height:46px; padding:11px 13px; min-width:0; max-width:100%; }
 input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
 input[type=checkbox],input[type=radio] { min-height:24px; width:24px; height:24px; accent-color:var(--accent); }
 select { padding-right:25px; }
 textarea { resize:vertical; width:100%; }
 fieldset { padding:0; border:0; margin:0; min-width:0; }
 legend { font-weight:600; margin-bottom:12px; }
 ::selection { background:#d9ed92; color:#15352d; }
}
@layer pages {
 .coach-orders { margin-top:24px; }
 .coach-orders>p { margin:12px 0 20px; }
 .coach-main-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
 .coach-main-fields label,.substitution-plan label { display:grid; gap:7px; min-width:0; }
 .coach-main-fields select,.substitution-plan select { width:100%; }
 .set-piece-orders { padding:18px; border:1px solid var(--border); border-radius:12px; }
 .set-piece-orders legend { padding:0 8px; margin:0; }
 .set-piece-orders .form-note { margin-top:12px; }
 .tactic-explainer { margin-top:24px; }
 .tactic-explainer>p { margin:14px 0; }
 .tactic-rule-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
 .tactic-rule { min-width:0; padding:18px; border:1px solid var(--border); border-radius:12px; }
 .tactic-rule.selected { border-color:var(--accent); background:var(--accent-soft); }
 .tactic-rule h3 small { display:block; color:var(--muted); font-weight:400; margin-top:4px; }
 .tactic-rule p { margin:12px 0; color:var(--muted); }
 .tactic-rule dl { margin:0; }
 .tactic-rule dl div { display:flex; gap:12px; justify-content:space-between; margin-top:10px; }
 .tactic-rule dt { color:var(--muted); }
 .tactic-rule dd { margin:0; white-space:nowrap; font-weight:600; }
 .detailed-stats>summary { cursor:pointer; min-height:44px; padding:14px 0 8px; font-weight:600; }
 .match-stat span small { display:block; font-size:.68rem; }
 .commentary .possession-group { align-items:flex-start; }
 .possession-episode { min-width:0; width:100%; }
 .possession-episode>summary { min-height:56px; cursor:pointer; display:flex; align-items:center; gap:12px; justify-content:space-between; list-style:none; }
 .possession-episode>summary::-webkit-details-marker { display:none; }
 .episode-heading { font-weight:600; min-width:0; overflow-wrap:anywhere; }
 .episode-heading::before { content:'＋'; font-size:.85rem; margin-right:6px; color:var(--accent); }
 .possession-episode[open] .episode-heading::before { content:'−'; }
 .episode-heading small { display:block; margin:5px 0; color:var(--muted); font-weight:400; font-size:.7rem; }
 .episode-outcome { display:grid; justify-items:end; gap:4px; text-align:right; font-size:.75rem; color:var(--muted); max-width:35%; overflow-wrap:anywhere; }
 .episode-outcome strong { background:var(--accent-soft); color:var(--accent); padding:2px 6px; border-radius:4px; font-size:.875rem; }
 .episode-goal .episode-heading { color:var(--accent); }
 .episode-events { margin-top:10px; padding-left:10px; border-left:2px solid var(--border); }
 .episode-events li:last-child { border-bottom:0; }
 .episode-cause { display:inline-block; color:var(--accent); text-decoration:underline; text-underline-offset:3px; min-height:44px; padding:12px 0; font-size:.75rem; }
 .commentary .is-source { background:var(--accent-soft); border-radius:8px; padding-inline:10px; }
 .commentary .counterattack .event-label,.commentary .interception .event-label { color:var(--accent); }
 .match-centre-layout .match-stat { display:grid; grid-template-columns:3.5rem minmax(0,1fr) 3.5rem; gap:10px; padding:12px 0; text-align:center; }
 .match-centre-layout .match-stat { grid-template-columns:minmax(3rem,auto) minmax(0,1fr) minmax(3rem,auto); }
 .match-centre-layout .match-stat strong { font-size:1rem; }
 .match-centre-layout .match-stat span { min-width:0; overflow-wrap:anywhere; }
 .commentary .free_kick .event-label,.commentary .corner .event-label,.commentary [data-unusual=yes] .event-label { color:var(--accent); }
 .coach-checkbox { display:flex; gap:12px; align-items:flex-start; padding:16px; border:1px solid var(--border); border-radius:12px; }
 .coach-checkbox small { display:block; color:var(--muted); margin-top:4px; }
 .substitution-plans { display:grid; gap:14px; }
 .substitution-plan { display:grid; grid-template-columns:minmax(140px,.5fr) minmax(0,1fr) minmax(0,1fr); align-items:end; gap:14px; padding:16px; border:1px solid var(--border); border-radius:12px; }
 .substitution-plan legend { padding:0 8px; margin:0; }
 .match-weather { display:flex; align-items:center; gap:12px; margin:16px 0; }
 .match-weather h2 { margin:0; font-size:.9375rem; }
 .match-weather p { margin:4px 0 0; font-size:.8125rem; }
 .weather-symbol { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:10px; background:var(--accent-soft); color:var(--accent); }
 .weather-symbol .icon { width:28px; height:28px; }
 .match-event-filters { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
 .event-filter { background:var(--surface-alt); color:var(--ink); border:1px solid var(--border); border-radius:8px; padding:8px 12px; min-height:44px; }
 .event-filter[aria-pressed=true] { background:var(--accent-soft); color:var(--accent); border-color:var(--accent); }
 .commentary li[hidden] { display:none; }
 .commentary-copy { min-width:0; }
 .commentary-copy .event-label { display:block; color:var(--muted); font-weight:600; margin-bottom:5px; }
 .commentary .yellow_card { border-inline-start:3px solid #d9ae37; padding-inline-start:10px; }
 .commentary .red_card { border-inline-start:3px solid #c96953; padding-inline-start:10px; }
 .commentary .substitution,.commentary .keeper_switch { border-inline-start:3px solid var(--accent); padding-inline-start:10px; }
 .appearances-grid { margin:24px 0; }
 .two-column.match-centre-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; }
 .match-centre-layout>.stack { position:sticky; top:92px; }
 .appearance-card { min-width:0; }
 .appearance-table { min-width:510px; }
 .appearance-table td { vertical-align:top; }
 .appearance-table td small { display:block; color:var(--muted); white-space:normal; }
 .card-token { display:inline-grid; place-items:center; min-width:22px; min-height:28px; border-radius:3px; font-size:.7rem; margin-right:4px; }
 .card-token.yellow { background:#f4d968; color:#493c0c; }
 .card-token.red { background:#bd493c; color:#fff; }
 .match-rules { margin:24px 0; }
 .match-rules>summary { cursor:pointer; font-weight:600; min-height:44px; padding:8px 0; }
 .rules-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:12px; }
 .rules-columns p { margin:8px 0 16px; color:var(--muted); }
 .clinic-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:var(--padding); margin-bottom:22px; background:var(--accent-soft); }
 .clinic-hero>div:first-child { max-width:650px; }
 .clinic-hero h2 { font-size:1.5rem; margin:10px 0; }
 .clinic-hero p { margin-bottom:14px; }
 .clinic-mark { width:170px; min-width:130px; text-align:center; color:var(--accent); }
 .clinic-mark .icon { width:70px; height:70px; padding:12px; background:var(--surface); border-radius:20px; }
 .clinic-mark small { display:block; margin-top:8px; font-size:.55rem; letter-spacing:.12em; }
 .feature-overview { margin-bottom:26px; }
 .clinic-tabs { display:flex; flex-wrap:wrap; gap:8px; }
 .feature-overview section { display:grid; align-content:start; gap:16px; }
 .medical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:26px; }
 .medical-player { display:flex; flex-direction:column; align-items:stretch; gap:14px; min-width:0; }
 .medical-player>.text-link:last-child { margin-top:auto; }
 .medical-player .player-cell strong { overflow-wrap:anywhere; white-space:normal; }
 .medical-player .player-cell { min-width:0; }
 .medical-player form small { display:block; margin-top:6px; }
 .health-status { display:flex; gap:8px; align-items:center; color:var(--accent); font-weight:600; }
 .health-unavailable { color:var(--ink); background:var(--surface-alt); padding:9px 12px; border-radius:9px; border-inline-start:3px solid var(--orange); }
 .procedure-details { border-top:1px solid var(--border); padding-top:8px; }
 .procedure-details summary { min-height:44px; padding:10px 0; cursor:pointer; font-weight:600; }
 .procedure-details summary .icon { vertical-align:middle; margin-left:6px; }
 .procedure-details .stacked-form { margin-top:10px; }
 .quote-row { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
 .risk-facts { display:grid; grid-template-columns:1fr 1fr; gap:14px; background:var(--surface-alt); padding:14px; border-radius:12px; margin:16px 0; }
 .risk-facts span,.risk-facts strong,.risk-facts small { display:block; }
 .risk-facts span { color:var(--muted); font-size:.75rem; }
 .risk-facts strong { color:var(--ink); font-size:1.1rem; margin:5px 0; }
 .doping-card { border-top:3px solid var(--orange); }
 .immunity-list { list-style:none; margin:14px 0; }
 .immunity-list li { display:flex; justify-content:space-between; gap:8px; padding:6px 0; border-bottom:1px solid var(--border); }
 .feature-journal { margin:24px 0; }
 .feature-event-list { list-style:none; }
 .feature-event-list li { padding:14px 0; border-bottom:1px solid var(--border); }
 .feature-event-list li:last-child { border-bottom:0; padding-bottom:0; }
 .feature-event-list small { display:block; color:var(--muted); margin-bottom:6px; }
 .feature-event-list p { overflow-wrap:anywhere; }
 .rental-rules { display:flex; align-items:center; justify-content:space-between; gap:24px; }
 .rental-rules>div { max-width:680px; }
 .rental-rules p { margin-top:8px; }
 .rental-rules>.button { flex-shrink:0; }
 .rental-contracts { display:grid; gap:0; }
 .rental-contract { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--border); }
 .rental-contract:last-child { border:0; padding-bottom:0; }
 .rental-contract div { min-width:0; }
 .rental-contract p { overflow-wrap:anywhere; margin-top:5px; }
 .referee-card { margin-top:24px; }
 .envelope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
 .envelope-choice { display:grid; gap:10px; align-content:start; padding:20px; background:var(--surface-alt); border:1px solid var(--border); border-radius:12px; }
 .envelope-choice>strong { font-size:1.4rem; }
 .envelope-choice small { overflow-wrap:anywhere; }
 .commentary .medical,.commentary .backstage { border-inline-start:2px solid var(--orange); padding-inline-start:12px; }
}
@layer responsive {
 @media(max-width:1020px) { .match-centre-layout>.stack { position:static; } }
 @media(max-width:767px) { .coach-main-fields,.rules-columns,.two-column.match-centre-layout { grid-template-columns:1fr; } .match-centre-layout>.stack { position:static; } .substitution-plan { grid-template-columns:1fr; } .match-weather { gap:12px; } .weather-symbol { width:44px; height:44px; } .weather-symbol .icon { width:28px; height:28px; } }
 @media(max-width:1200px) { .medical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:767px) { .clinic-hero { gap:16px; } .clinic-mark { display:none; } .rental-rules { flex-direction:column; align-items:stretch; } .envelope-grid { grid-template-columns:1fr; } }
 @media(max-width:599px) { .medical-grid { grid-template-columns:1fr; } .rental-contract { align-items:start; flex-direction:column; } }
}
@layer layout {
 .sidebar { position:fixed; inset:0 auto 0 0; width:var(--sidebar-width); background:var(--sidebar); color:#d6e2d8; padding:29px 18px 18px; display:flex; flex-direction:column; z-index:20; overflow-y:auto; }
 .brand { display:flex; align-items:center; gap:10px; font-size:1.0625rem; font-weight:750; letter-spacing:.025em; color:#fff; flex-shrink:0; }
 .brand-mark { width:38px; height:38px; display:grid; place-items:center; color:var(--lime); }
 .brand-mark .icon { width:34px; height:34px; stroke-width:1.35; }
 .brand small { display:block; font-size:.375rem; letter-spacing:.09em; font-weight:500; color:#bfd0be; margin-top:4px; }
 .club-switch { display:flex; align-items:center; gap:10px; padding:18px 5px; margin:25px 0 23px; border-block:1px solid #ffffff16; min-width:0; }
 .club-switch strong { color:#fff; font-weight:600; display:block; font-size:.8125rem; }
 .club-switch small { color:#bfd0be; display:block; font-size:.625rem; margin-top:4px; }
 .club-switch>span:nth-child(2) { flex:1; min-width:0; overflow-wrap:anywhere; }
 .club-switch>.icon { width:15px; }
 .nav-label { color:#a9bcae; font-size:.5625rem; letter-spacing:.16em; padding:0 13px; margin-bottom:12px; }
 .sidebar nav { display:grid; gap:5px; }
 .nav-link { display:flex; align-items:center; gap:13px; border:0; border-radius:9px; padding:11px 13px; min-height:45px; font-size:.8125rem; background:transparent; color:inherit; width:100%; text-align:left; }
 .nav-link.active { background:var(--lime); color:#16352d; font-weight:650; }
 .nav-dot { width:5px; height:5px; border-radius:50%; margin-left:auto; background:var(--lime); }
 .sidebar-bottom { margin-top:auto; padding-top:36px; }
 .world-note { display:flex; align-items:center; gap:12px; padding:17px 12px; margin-bottom:10px; border-top:1px solid #ffffff16; font-size:.625rem; color:#b2c6b7; line-height:1.65; }
 .world-note .icon { width:26px; height:26px; color:#c6d9ae; }
 .world-note strong { font-weight:500; color:#dce7cf; }
 .logout-button { color:#b7cabc; font-size:.75rem; }
 .app-shell { margin-left:var(--sidebar-width); min-height:100dvh; max-width:1920px; display:flex; flex-direction:column; }
 .topbar { min-height:82px; padding:14px 40px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--border); }
 .breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:.6875rem; color:var(--muted); min-width:0; overflow-wrap:anywhere; }
 .breadcrumbs strong { color:var(--ink); font-weight:550; }
 .separator { color:var(--border); }
 .top-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
 .community-link { display:flex; align-items:center; gap:7px; font-size:.6875rem; min-height:44px; }
 .community-link .icon { width:16px; height:16px; }
 .manager-avatar { height:36px; width:36px; min-height:44px; min-width:44px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; font-size:.75rem; font-weight:600; background:var(--accent-soft); }
 main { padding:31px 40px 30px; flex:1; min-width:0; outline:none; }
 .app-footer { padding:15px 40px 26px; display:flex; justify-content:space-between; gap:15px; font-size:.5625rem; letter-spacing:.05em; }
 .app-footer a { display:flex; align-items:center; gap:8px; color:var(--muted); min-height:44px; }
 .app-footer .icon { width:13px; height:13px; }
 .app-footer>span { display:flex; align-items:center; gap:8px; }
 .mobile-nav { display:none; }
 .mobile-nav :is(a,button)>span { max-width:100%; overflow-wrap:anywhere; text-align:center; line-height:1.3; }
 .two-column { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:24px; margin-block:24px; align-items:start; }
}
@layer components {
 .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:9px; border:1px solid transparent; padding:12px 17px; min-height:46px; font-size:.8125rem; font-weight:600; background:var(--accent); color:#fff; text-align:center; line-height:1.4; }
 :root[data-theme=dark] .button { color:#183125; }
 .button .icon { width:17px; height:17px; }
 .button-quiet { color:var(--ink); border-color:var(--border); background:transparent; }
 :root[data-theme=dark] .button-quiet { background:transparent; color:var(--ink); }
 .icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; background:transparent; border:1px solid transparent; border-radius:50%; color:var(--ink); }
 .text-link { font-size:.8125rem; font-weight:600; display:inline-flex; align-items:center; gap:8px; color:var(--accent); min-height:44px; max-width:100%; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
 .text-link .icon { width:15px; height:15px; }
 @media(max-width:600px) {
  :is(.app-shell main,.auth-form-panel) a.text-link:not(p a,small a,nav a,td a,dd a,dt a,li a,h1 a,h2 a,h3 a) {
   min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:9px;
   background:transparent; text-decoration:none; justify-content:center; font-size:.8125rem; line-height:1.4;
  }
 }
 .card { min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
 .padded { padding:var(--padding); }
 .card-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:20px var(--padding) 14px; }
 .card-heading h2 { font-size:.9375rem; }
 .card-heading .eyebrow { margin-bottom:5px; }
 .card-heading.no-padding { padding:0 0 16px; }
 .card-footer-link { display:flex; justify-content:space-between; align-items:center; margin:12px var(--padding) 0; padding:14px 0; border-top:1px solid var(--border); color:var(--accent); font-size:.6875rem; min-height:46px; }
 .card-footer-link .icon { width:15px; }
 .tag { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:6px; padding:4px 8px; font-size:.625rem; font-weight:500; line-height:1.5; white-space:normal; }
 .tag-demo { border-color:#8c9c681f; color:var(--accent); background:var(--accent-soft); font-size:.5625rem; }
 .crest { display:inline-flex; justify-content:center; align-items:center; width:45px; height:50px; background:var(--lime); color:#204535; clip-path:polygon(0 0,100% 0,94% 74%,50% 100%,6% 74%); font-size:1rem; font-style:normal; font-weight:700; letter-spacing:-.02em; flex-shrink:0; padding-bottom:5px; }
 .crest-small { width:33px; height:37px; font-size:.75rem; }
 .crest-large { width:68px; height:76px; font-size:1.5rem; }
 .crest-tiny { width:24px; height:27px; font-size:.5625rem; padding-bottom:3px; }
 .crest.opponent { background:#ebbb8a; color:#68442b; }
 .tone-green { background:#edf3dc; color:#42623b; }
 .tone-orange { background:#faebd8; color:#895721; }
 .tone-blue { background:#e2edf3; color:#496b82; }
 .tone-purple { background:#ebe5f0; color:#795b8f; }
 .tone-red { background:#f4e2dd; color:#964f42; }
 .player-avatar { width:40px; height:40px; min-width:40px; border-radius:11px; background:var(--accent-soft); color:var(--accent); display:inline-grid; place-items:center; font-size:.6875rem; font-weight:650; }
 .player-avatar-large { width:86px; height:86px; border-radius:24px; font-size:1.5rem; }
 .rating { background:var(--accent-soft); color:var(--accent); width:32px; height:32px; display:inline-grid; place-items:center; border-radius:7px; font-size:.75rem; font-weight:650; }
 .position-tag { font-size:.625rem; padding:4px 7px; border-radius:5px; color:#4f6b4d; background:#edf3e6; white-space:nowrap; display:inline-flex; justify-content:center; }
 .position-tag.GK { background:#f8edcd; color:#7b6024; }
 .position-tag.DEF { background:#e2edf5; color:#42647e; }
 .position-tag.FWD { background:#f7e5da; color:#895335; }
 .stats-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--border); margin-bottom:25px; padding-block:22px; }
 .stats-row.three { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; }
 .stat { overflow-wrap:anywhere; padding-inline:24px; display:flex; flex-direction:column; gap:5px; min-width:0; border-right:1px solid var(--border); }
 .stat:first-child { padding-left:0; }
 .stat:last-child { border:0; }
 .stat>span:first-child { color:var(--muted); font-size:.6875rem; }
 .stat strong { font-weight:600; font-size:1.8rem; letter-spacing:-.045em; line-height:1.4; white-space:normal; }
 .stat strong small { color:var(--muted); font-size:.8125rem; font-weight:400; letter-spacing:0; }
 .stat-foot { color:var(--muted); font-size:.5625rem; display:flex; align-items:center; gap:5px; }
 a.stat-foot { color:var(--accent); min-height:24px; }
 .stat-foot .icon { width:12px; height:12px; }
 .table-scroll { position:relative; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; max-width:100%; }
 .data-table { width:100%; border-collapse:collapse; text-align:left; font-size:.6875rem; }
 .data-table th { color:var(--muted); font-weight:500; font-size:.625rem; padding:12px 16px; border-bottom:1px solid var(--border); white-space:nowrap; }
 .data-table td { padding:15px 16px; border-bottom:1px solid var(--border); }
 .data-table td:first-child,.data-table th:first-child { padding-left:var(--padding); }
 .data-table td:last-child,.data-table th:last-child { padding-right:var(--padding); }
 .data-table tbody tr:last-child td { border-bottom:0; }
 .data-table td small { display:block; color:var(--muted); font-size:.625rem; margin-top:3px; }
 .own-row { background:var(--accent-soft); }
 .table-club { display:flex; align-items:center; gap:9px; font-weight:550; }
 .table-club .you-label { display:inline-block; font-size:.5rem; border-radius:4px; padding:1px 4px; background:var(--surface); margin-left:7px; }
 .form-badges { display:flex; gap:3px; }
 .form-badge { display:grid; place-items:center; border-radius:4px; font-size:.5rem; width:17px; height:18px; background:var(--surface-alt); color:var(--muted); }
 .form-badge.W { background:#dfeecf; color:#4c732f; }
 .form-badge.L { background:#f5e4dc; color:#915236; }
 .progress { height:4px; display:block; background:var(--border); border-radius:20px; overflow:hidden; }
 .progress i { display:block; height:100%; border-radius:20px; background:var(--accent); }
 .status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#799c4f; margin-right:6px; }
 .page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
 .page-heading p { margin-top:12px; max-width:65ch; }
 .page-heading>.text-link { flex-shrink:0; }
 .section-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-block:20px; }
 .filter-bar { display:flex; gap:10px; align-items:flex-end; margin-bottom:22px; flex-wrap:wrap; }
 .search-field { position:relative; display:flex; align-items:center; flex:1; min-width:180px; }
 .search-field .icon { position:absolute; left:12px; color:var(--muted); width:18px; }
 .search-field input { width:100%; padding-left:40px; }
 .filter-bar select { flex:0 1 180px; }
 .filter-bar > input { flex:1 1 200px; min-width:0; max-width:100%; }
 .empty-state { padding:38px 25px; text-align:center; line-height:2; color:var(--muted); }
 .empty-state a { color:var(--accent); text-decoration:underline; }
 .tabs { display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; border-bottom:1px solid var(--border); margin-bottom:22px; }
 .tabs a { display:flex; gap:8px; align-items:center; padding:12px 2px; border-bottom:2px solid transparent; min-height:48px; color:var(--muted); }
 .tabs a[aria-current] { border-color:var(--accent); color:var(--ink); font-weight:600; }
 .tabs .icon { width:16px; }
 .stacked-form { display:flex; flex-direction:column; gap:10px; }
 .stacked-form label { font-size:.75rem; font-weight:500; margin-top:8px; }
 .stacked-form input,.stacked-form select { width:100%; }
 .stacked-form p { display:grid; gap:8px; }
 .stacked-form .button { margin-top:12px; }
 .form-note { color:var(--muted); font-size:.6875rem; line-height:1.7; margin-top:16px; }
 .errorlist { color:#a83928; list-style:none; font-size:.75rem; }
 [data-theme=dark] .errorlist { color:#ffbca7; }
 .toast { display:flex; align-items:center; gap:11px; padding:15px 18px; border:1px solid #8aa36e60; background:var(--accent-soft); border-radius:10px; margin-bottom:16px; }
 .toast.error { background:#fbebe4; border-color:#efbea9; color:#843e2d; }
 [data-theme=dark] .toast.error { background:#442c27; border-color:#895845; color:#f9cbb9; }
 .toast>span { flex:1; }
 .toast>button { display:grid; place-items:center; width:44px; height:44px; background:none; border:0; color:inherit; flex-shrink:0; }
 .small-callout { display:flex; align-items:center; gap:12px; border-radius:10px; padding:14px 16px; background:var(--surface-alt); color:var(--muted); font-size:.6875rem; }
 .small-callout .icon { color:var(--accent); }
 .pagination { display:flex; justify-content:center; align-items:center; gap:18px; padding-top:25px; }
 .sheet { width:min(500px,calc(100% - 32px)); max-height:85dvh; background:var(--surface); color:var(--ink); border:1px solid var(--border); border-radius:20px; padding:28px; overflow-y:auto; overscroll-behavior:contain; scroll-padding-block:calc(5rem + 12px) 20px; box-shadow:0 20px 90px #0005; }
 .sheet::backdrop { background:#0d201a8a; backdrop-filter:blur(5px); }
 .dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
 .sheet>.dialog-heading { position:sticky; top:0; z-index:3; padding-block:4px; background:var(--surface); box-shadow:0 -28px var(--surface); }
 .sheet-nav { display:grid; margin-block:14px; }
 .sheet-link { display:flex; align-items:center; gap:13px; border-radius:8px; padding:13px 7px; min-height:50px; border:0; color:var(--ink); background:none; width:100%; text-align:left; }
 .sheet-link .icon:last-child { margin-left:auto; }
 .sheet>.button { margin-top:20px; }
 .preferences fieldset { margin-block:23px; }
 .choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .choice-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .choice-grid label { position:relative; display:flex; }
 .choice-grid input { position:absolute; opacity:0; width:100%; height:100%; margin:0; }
 .choice-grid span { display:flex; align-items:center; justify-content:center; padding:12px 8px; min-height:48px; border:1px solid var(--border); border-radius:8px; font-size:.6875rem; width:100%; text-align:center; }
 .choice-grid input:checked+span { background:var(--accent-soft); border-color:var(--accent); color:var(--accent); }
 .choice-grid input:focus-visible+span { outline:3px solid var(--accent); outline-offset:3px; }
 .toggle-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--border); min-height:58px; }
 .toggle-row small { display:block; color:var(--muted); font-size:.6875rem; margin-top:3px; }
 .toggle-row input { flex-shrink:0; }
 #reset-preferences { margin-top:18px; }
 .confirm-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:24px; }
 .confirmation h2 { margin-bottom:16px; }
 @media (hover:hover) { .button:hover { filter:brightness(.93); } .icon-button:hover { background:var(--accent-soft); } .nav-link:not(.active):hover { background:#ffffff0b; } .text-link:hover { text-decoration:underline; text-underline-offset:4px; } .sheet-link:hover { background:var(--accent-soft); } .player-cell:hover strong { text-decoration:underline; } }
}
@layer pages {
 .dashboard-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-bottom:27px; }
 .dashboard-heading h1 { margin-top:12px; font-size:clamp(2rem,3.3vw,3rem); line-height:1.1; letter-spacing:-.055em; }
 .dashboard-heading h1 em { font-style:normal; color:var(--accent); }
 .dashboard-heading p { font-size:.6875rem; margin-top:13px; }
 .dashboard-heading>.button { margin-top:20px; white-space:nowrap; }
 .dashboard-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:22px; align-items:stretch; }
 .next-match-card { border-radius:var(--radius); background:#183c30; color:#f1f5e6; padding:25px 28px; position:relative; overflow:hidden; min-height:360px; display:flex; flex-direction:column; }
 .next-match-card::before { content:''; position:absolute; pointer-events:none; width:360px; height:360px; border-radius:50%; border:1px solid #d9ed9210; top:-200px; right:-110px; box-shadow:0 0 0 24px #d9ed9205,0 0 0 48px #d9ed9204,0 0 0 72px #d9ed9203; }
 .next-match-top { display:flex; justify-content:space-between; align-items:center; gap:12px; position:relative; }
 .match-round { background:#ffffff0f; border-radius:5px; padding:4px 7px; color:#d4dfcd; font-size:.5625rem; }
 .match-meta { text-align:center; color:#b4c8b8; font-size:.625rem; margin-top:19px; }
 .match-meta>span { margin-inline:5px; }
 .match-versus { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:16px; margin-top:25px; text-align:center; position:relative; }
 .match-versus>div { display:flex; flex-direction:column; align-items:center; min-width:0; }
 .match-versus strong { font-size:1.125rem; font-weight:600; margin-top:12px; overflow-wrap:anywhere; }
 .match-versus small { font-size:.5625rem; color:#b4c8b8; margin-top:4px; }
 .versus-label { font-size:1.2rem; font-weight:300; color:#aec4ac; letter-spacing:-.06em; }
 .match-stadium { display:flex; justify-content:center; align-items:center; gap:7px; font-size:.5625rem; color:#abc2ad; margin-block:19px; }
 .match-stadium .icon { width:14px; height:14px; }
 .next-match-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:20px; border-top:1px solid #ffffff18; margin-top:auto; }
 .countdown { font-size:.6875rem; color:#d8e6c8; font-variant-numeric:tabular-nums; }
 .next-match-bottom .button {  padding:11px 15px; }
 .pitch { position:relative; width:100%; background:repeating-linear-gradient(0deg,#204c38 0px,#204c38 34px,#234f3b 34px,#234f3b 68px); color:#fff; overflow:hidden; }
 .pitch-outline { position:absolute; inset:8px; border:1px solid #b8d4aa55; border-radius:3px; }
 .pitch-midline { position:absolute; top:50%; width:100%; height:1px; background:#b8d4aa55; }
 .pitch-circle { position:absolute; width:54px; height:54px; border:1px solid #b8d4aa55; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }
 .pitch-area { position:absolute; width:48%; height:19%; border:1px solid #b8d4aa55; left:26%; }
 .pitch-area.top { top:-1px; border-top:0; }
 .pitch-area.bottom { bottom:-1px; border-bottom:0; }
 .pitch-goal { position:absolute; width:23%; height:7%; border:1px solid #b8d4aa55; left:38.5%; }
 .pitch-goal.top { top:-1px; border-top:0; }
 .pitch-goal.bottom { bottom:-1px; border-bottom:0; }
 .pitch-field { position:relative; display:grid; grid-template-columns:repeat(60,minmax(0,1fr)); grid-template-rows:repeat(var(--pitch-rows),minmax(70px,auto)); row-gap:8px; padding:10px 8px; isolation:isolate; }
 .pitch-player { position:relative; place-self:center; display:flex; flex-direction:column; align-items:center; gap:3px; width:calc(100% - 4px); max-width:110px; min-width:0; z-index:1; }
 .pitch-anchors { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
 .pitch-anchors line { stroke:#cce5b5; stroke-width:1; opacity:.65; }
 .pitch-anchors circle { fill:#e6f69c; stroke:#143522; stroke-width:1; }
 .shirt { display:grid; place-items:center; min-width:44px; min-height:44px; color:#213c25; font-size:.625rem; font-weight:700; background:var(--lime); clip-path:polygon(20% 0,37% 0,44% 10%,56% 10%,63% 0,80% 0,100% 20%,87% 38%,78% 29%,78% 91%,22% 91%,22% 29%,13% 38%,0 20%); }
 .shirt.keeper { background:#f1bd75; color:#493817; }
 .shirt.empty { background:#7b9980; }
 .pitch-player>span:last-child { font-size:.625rem; line-height:1.25; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#eef6e8; background:#143522b3; padding:1px 3px; border-radius:3px; }
 .pitch-caption { display:block; padding:5px 12px 9px; font-size:.625rem; line-height:1.4; color:#c6d8c0; overflow-wrap:anywhere; }
 .pitch-footer { display:flex; justify-content:space-between; align-items:center; padding:9px var(--padding); font-size:.5625rem; }
 .pitch-footer .text-link { font-size:.5625rem; min-height:34px; }
 .squad-preview .card-heading { padding-top:17px; padding-bottom:13px; }
 .squad-preview h2 { font-size:.875rem; }
 .recent-list { padding-inline:var(--padding); }
 .recent-match { display:flex; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid var(--border); min-height:75px; }
 .recent-match>span { display:grid; gap:4px; flex:1; font-size:.6875rem; }
 .recent-match small { font-size:.5625rem; }
 .recent-match>.icon { width:13px; color:var(--muted); }
 .score-pill { border-radius:6px; background:var(--surface-alt); padding:5px 8px; font-size:.625rem; white-space:nowrap; }
 .recent-list+.small-callout { margin:14px var(--padding) 20px; }
 .leader-row { display:flex; align-items:center; gap:12px; padding:12px var(--padding); }
 .leader-row:last-child { padding-bottom:23px; }
 .player-identity { flex:1; min-width:0; }
 .player-identity strong { font-size:.75rem; display:block; font-weight:600; }
 .player-identity small { display:block; color:var(--muted); font-size:.5625rem; margin-top:5px; }
 .community-card { position:relative; overflow:hidden; border-radius:var(--radius); background:#e7eecf; color:#294632; padding:var(--padding); }
 .community-card h2 { font-size:1.65rem; line-height:1.2; letter-spacing:-.04em; margin-top:12px; font-weight:600; }
 .community-card p { font-size:.625rem; line-height:1.8; margin-top:12px; color:#526847; }
 .community-card .text-link { color:#294632; margin-top:12px; font-size:.625rem; }
 .community-card .eyebrow { color:#5a6b46; }
 .community-decoration { position:absolute; right:-35px; top:36px; color:#aaba8750; transform:rotate(-15deg); }
 .community-decoration .icon { width:180px; height:180px; stroke-width:.4; }
 .community-card>*:not(.community-decoration) { position:relative; }
 [data-theme=dark] .community-card { background:#33432a; color:#e5eecf; }
 [data-theme=dark] .community-card p,[data-theme=dark] .community-card .eyebrow,[data-theme=dark] .community-card .text-link { color:#c4d5af; }
 .roster-card { overflow:visible; }
 .roster-card .table-scroll { border-radius:var(--radius); }
 .roster-table td { white-space:nowrap; font-size:.6875rem; }
 .player-cell { display:flex; align-items:center; gap:12px; }
 .player-cell strong { display:block; font-size:.75rem; font-weight:600; }
 .roster-table .roster-number { color:var(--muted); font-variant-numeric:tabular-nums; }
 .fitness-cell { display:grid; gap:7px; min-width:55px; }
 .injury-label { color:#b06342!important; }
 .player-hero { display:flex; align-items:center; gap:26px; padding:32px; }
 .player-hero h1 { margin-top:10px; }
 .player-hero p { margin-top:8px; }
 .big-rating { margin-left:auto; text-align:center; display:grid; color:var(--accent); }
 .big-rating strong { font-size:3rem; line-height:1.2; font-weight:600; }
 .big-rating span { font-size:.625rem; letter-spacing:.12em; }
 .skill-list { display:grid; gap:19px; margin-top:12px; }
 .skill-row { display:grid; grid-template-columns:1fr auto; gap:8px; }
 .skill-row .progress { grid-column:1/-1; height:6px; }
 .price-large { font-size:1.8rem; font-weight:600; margin-block:15px; }

 .tactics-pitch-card .shirt { min-width:48px; min-height:48px; font-size:.75rem; }
 .tactics-controls { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:16px; padding:20px var(--padding) 0; }
 .tactics-controls label { display:grid; gap:7px; font-size:.75rem; }
 .lineup-fields { display:grid; gap:9px; margin-bottom:20px; }
 .lineup-field { display:flex; gap:10px; align-items:center; min-width:0; }
 .lineup-field .position-tag { width:34px; flex-shrink:0; }
 .lineup-field select { flex:1 1 0; width:100%; min-width:0; font-size:.75rem; }
 .tactics-form .form-note.padded { margin-top:0; padding-top:14px; }
 .fixtures-list { display:grid; gap:14px; }
 .fixture-row { display:flex; gap:22px; align-items:center; padding:22px var(--padding); }
 .fixture-date { display:grid; text-align:center; flex:0 0 55px; }
 .fixture-date strong { font-size:1.75rem; line-height:1.2; font-weight:550; }
 .fixture-date span { font-size:.625rem; }
 .fixture-date small { color:var(--muted); font-size:.5625rem; margin-top:5px; }
 .fixture-teams { display:grid; gap:10px; min-width:130px; flex:1; }
 .fixture-teams>span { display:flex; align-items:center; gap:10px; font-size:.8125rem; font-weight:550; }
 .fixture-score { min-width:70px; text-align:center; }
 .fixture-score strong { font-size:1.25rem; display:block; }
 .fixture-score>span:not(.tag) { font-size:.5625rem; color:var(--muted); display:block; }
 .fixture-description { display:grid; gap:5px; flex:1; font-size:.6875rem; }
 .fixture-description span { font-size:.5625rem; color:var(--muted); }
 .fixture-row>.icon { width:15px; }
 .match-detail-hero { background:#183c30; color:#f1f5e6; padding:32px; border-radius:var(--radius); text-align:center; }
 .match-detail-hero .match-meta { margin-top:0; }
 .match-detail-hero .match-versus { max-width:600px; margin:28px auto 0; }
 .match-big-score { font-size:3.5rem; font-weight:500; flex-direction:row!important; gap:17px; color:var(--lime); }
 .match-big-score>span:not(.versus-label) { color:#9bb09c; font-size:2.5rem; }
 .match-detail-tag { background:#ffffff0b; border-color:#ffffff22; color:#d0dfc9; }
 .match-stat { display:flex; justify-content:space-between; align-items:center; padding:20px 0; border-bottom:1px solid var(--border); }
 .match-stat strong { font-size:1.25rem; }
 .match-stat span { color:var(--muted); }
 .possession-bar { height:6px; background:var(--orange); border-radius:8px; overflow:hidden; margin-block:5px; }
 .possession-bar>span { display:block; height:100%; background:var(--accent); }
 .commentary { list-style:none; margin-top:14px; }
 .commentary li { display:flex; align-items:baseline; gap:15px; padding:13px 0; border-bottom:1px solid var(--border); }
 .commentary li>span { font-size:.6875rem; min-width:28px; color:var(--muted); }
 .commentary p { font-size:.75rem; }
 .commentary .goal p { font-weight:600; color:var(--accent); }
 .countdown-large { font-size:1.5rem; color:var(--accent); margin-block:20px; }
 .two-column .padded>p+.button,.two-column .padded>p+form,.two-column .padded>p+.text-link { margin-top:22px; }
 .league-fixtures { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
 .league-fixtures>a { display:grid; grid-template-columns:1fr auto; gap:5px; padding:15px; background:var(--surface-alt); border-radius:10px; }
 .league-fixtures small { color:var(--muted); font-size:.625rem; }
 .league-fixtures strong { grid-column:1; font-size:.8125rem; }
 .league-fixtures .icon { grid-column:2; grid-row:1/3; align-self:center; }
 .market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
 .market-filters>input { width:150px; }
 .market-budget { font-size:.75rem; color:var(--muted); }
 .market-budget strong { margin-left:8px; color:var(--ink); }
 .market-player { padding:22px; display:flex; flex-direction:column; }
 .market-player-top { display:flex; justify-content:space-between; align-items:center; }
 .market-player-profile { text-align:center; display:block; padding:18px 0 21px; }
 .market-player-profile h2 { font-size:1rem; margin-top:15px; }
 .market-player-profile p { font-size:.625rem; margin-top:6px; color:var(--muted); }
 .market-player-info { border-top:1px solid var(--border); padding-top:16px; display:flex; justify-content:space-between; gap:14px; font-size:.625rem; color:var(--muted); }
 .market-player-info strong { display:block; color:var(--ink); font-weight:550; margin-top:5px; }
 .market-player-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:22px; }
 .market-player-bottom small { font-size:.5rem; letter-spacing:.08em; color:var(--muted); display:block; }
 .market-player-bottom strong { font-size:1rem; font-weight:600; letter-spacing:-.02em; display:block; margin-top:4px; }
 .market-player-bottom .button { padding-inline:12px; }
 .market-note { margin-top:8px; }
 .chart-legend { display:flex; align-items:center; flex-wrap:wrap; gap:6px; color:var(--muted); font-size:.625rem; }
 .chart-legend i { width:7px; height:7px; border-radius:2px; margin-left:10px; }
 .income { background:var(--accent); }
 .expense { background:var(--orange); }
 .finance-chart { display:flex; gap:16px; justify-content:space-around; height:205px; padding-top:25px; }
 .chart-day { display:flex; flex-direction:column; align-items:center; flex:1; gap:10px; }
 .chart-bars { height:145px; display:flex; gap:4px; align-items:flex-end; width:100%; justify-content:center; border-bottom:1px solid var(--border); }
 .bar { width:14px; max-width:32%; border-radius:4px 4px 0 0; min-height:1px; }
 .chart-day small { color:var(--muted); font-size:.5625rem; }
 .finance-summary { display:grid; gap:16px; margin-top:24px; }
 .finance-summary>span { display:flex; justify-content:space-between; gap:20px; font-size:.75rem; }
 .ledger-table td:nth-child(2) { max-width:450px; overflow-wrap:anywhere; }
 .ledger-table td:last-child { text-align:right; white-space:nowrap; }
 .club-hero { background:#183c30; border-radius:var(--radius); color:#f1f5e6; padding:35px; display:flex; align-items:center; justify-content:space-between; overflow:hidden; }
 .club-hero h2 { font-size:2.6rem; margin-top:15px; }
 .club-hero p { color:#b8cdb8; margin-block:8px 17px; }
 .club-hero .tag { border-color:#ffffff2b; font-size:.6875rem; }
 .stadium-art { position:relative; width:310px; height:160px; flex-shrink:0; }
 .stadium-ring { position:absolute; top:5px; left:18px; width:275px; height:137px; border-radius:95px; background:repeating-linear-gradient(180deg,#bed299 0,#bed299 5px,#b1c08d 5px,#b1c08d 9px); border:12px solid #dce7b5; transform:rotate(-12deg); box-shadow:0 12px 0 #899a6b,0 20px 0 #6a7c50; }
 .stadium-field { position:absolute; inset:23px 42px; border:6px solid #f5f0c4; border-radius:10px; background:repeating-linear-gradient(90deg,#6b9858 0px,#6b9858 17px,#749f62 17px,#749f62 34px); }
 .stadium-field::before { content:''; position:absolute; inset:6px; border:1px solid #e5eac680; }
 .stadium-field span { position:absolute; left:50%; height:100%; width:1px; background:#e5eac680; }
 .stadium-field span::before { content:''; position:absolute; width:20px; height:20px; border:1px solid #e5eac680; border-radius:50%; top:50%; transform:translate(-50%,-50%); }
 .upgrade-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-block:24px; }
 .upgrade-card { display:flex; flex-direction:column; }
 .upgrade-icon { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); margin-bottom:20px; }
 .upgrade-icon .icon { width:25px; height:25px; }
 .upgrade-card p { font-size:.75rem; margin-top:12px; flex:1; }
 .upgrade-card .button {  padding-inline:10px; }
 .level-dots { display:flex; gap:7px; margin-block:22px; }
 .level-dots i { width:100%; height:5px; border-radius:6px; background:var(--border); }
 .level-dots .filled { background:var(--accent); }
 .club-settings,.academy-intake { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:24px; }
 .club-settings p,.academy-intake p { margin-top:10px; }
 .community-banner { background:var(--accent-soft); border:1px solid var(--border); border-radius:var(--radius); padding:30px; display:flex; align-items:center; justify-content:space-between; overflow:hidden; }
 .community-banner h2 { font-size:2rem; line-height:1.18; font-weight:550; letter-spacing:-.045em; }
 .community-banner p { color:var(--muted); margin-top:14px; font-size:.75rem; }
 .community-world .icon { width:130px; height:130px; stroke-width:.65; color:var(--accent); opacity:.5; }
 .community-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:24px; margin-top:26px; align-items:start; }
 .community-aside { display:grid; gap:22px; padding-top:72px; }
 .community-aside p { font-size:.75rem; margin-block:17px; }
 .community-aside .small-callout { line-height:1.7; align-items:flex-start; }
 .compose-form { padding:22px; display:grid; gap:12px; }
 .compose-form label { font-size:.75rem; font-weight:600; }
 .compose-form>div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
 .compose-form .form-note { margin-top:0; font-size:.625rem; }
 .posts-feed { display:grid; gap:16px; margin-top:22px; }
 .post { padding:23px; }
 .post-header { display:flex; align-items:center; gap:12px; }
 .post-header>div { flex:1; min-width:0; }
 .post-header strong { display:block; font-size:.75rem; font-weight:600; }
 .post-header small { font-size:.625rem; display:block; margin-top:4px; color:var(--muted); }
 .post>p { margin-top:18px; font-size:.8125rem; line-height:1.8; overflow-wrap:anywhere; white-space:normal; }
 .auth-layout { display:grid; grid-template-columns:1fr 1fr; min-height:100dvh; }
 .auth-story { background:#17382d; color:#edf4e2; padding:40px 50px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
 .auth-copy { margin:auto 0; padding-block:60px; position:relative; }
 .auth-copy h2,h3 { overflow-wrap:anywhere; }
 h1 { font-size:clamp(2.5rem,5vw,5rem); line-height:1.08; letter-spacing:-.06em; font-weight:550; margin-top:25px; }
 .auth-copy h1 em { font-style:normal; color:var(--lime); }
 .auth-copy>p { font-size:.875rem; color:#b8cdb6; margin-top:27px; line-height:1.8; }
 .auth-story-footer { font-size:.6875rem; color:#acc4ac; }
 .auth-pitch { height:230px; margin-top:55px; position:relative; transform:perspective(600px) rotateX(30deg) rotate(-10deg); }
 .auth-pitch-lines { position:absolute; inset:20px 30px; border:1px solid #a4bd8b60; background:repeating-linear-gradient(90deg,#ffffff02 0,#ffffff02 45px,#ffffff04 45px,#ffffff04 90px); }
 .auth-pitch-lines::before { content:''; position:absolute; width:1px; height:100%; background:#a4bd8b60; left:50%; }
 .auth-pitch-lines::after { content:''; position:absolute; width:75px; height:75px; border:1px solid #a4bd8b60; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%); }
 .auth-pitch-lines>div { position:absolute; width:20%; height:55%; top:22.5%; left:-1px; border:1px solid #a4bd8b60; }
 .auth-pitch-lines>div::before { content:''; position:absolute; width:100%; height:100%; left:400%; top:-1px; border:1px solid #a4bd8b60; }
 .auth-ball { display:grid; place-items:center; width:80px; height:80px; color:var(--lime); background:#17382d; position:absolute; top:55px; left:50%; transform:translate(-50%); }
 .auth-ball .icon { width:68px; height:68px; stroke-width:1; }
 .auth-form-panel { padding:50px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--surface); }
 .auth-settings { position:absolute; right:25px; top:20px; }
 .auth-form-inner { width:100%; max-width:370px; margin-block:35px; }
 .auth-title { font-size:2.1rem; font-weight:600; letter-spacing:-.045em; margin-top:14px; line-height:1.2; }
 .auth-subtitle { margin-block:12px 24px; font-size:.8125rem; }
 .auth-form-inner .stacked-form { gap:8px; }
 .auth-form-inner .button { min-height:48px; }
 .auth-register-link { text-align:center; font-size:.75rem; color:var(--muted); margin-top:24px; }
 .auth-register-link a { color:var(--accent); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
 .auth-divider { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:.625rem; margin-block:27px; }
 .auth-divider::before,.auth-divider::after { content:''; height:1px; background:var(--border); flex:1; }
 .auth-form-inner>.form-note { text-align:center; font-size:.625rem; }
 .auth-panel-footer { font-size:.625rem; color:var(--muted); margin-top:25px; }
}
@layer responsive {
 @media(min-width:1650px) { .app-shell { max-width:1680px; margin-right:auto; } main { padding-inline:60px; } .dashboard-heading h1 { font-size:3.5rem; }  .next-match-card { min-height:415px; } .next-match-card .match-versus { margin-block:35px 10px; } }
 @media(max-width:1200px) { :root { --sidebar-width:200px; --padding:20px; } .sidebar { padding-inline:12px; } .brand { font-size:.875rem; gap:5px; } .brand small { font-size:.3125rem; } main { padding:26px; } .topbar { padding-inline:26px; } .app-footer { padding-inline:26px; } .stat { padding-inline:18px; } .stat strong { font-size:1.5rem; } .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-heading h1 { font-size:2.5rem; } .top-actions { gap:5px; } .community-link { display:none; } .fixture-description { display:none; } .upgrade-grid { grid-template-columns:1fr; } .upgrade-card { display:grid; grid-template-columns:46px 1fr auto; column-gap:20px; } .upgrade-icon { grid-row:1/5; margin:0; align-self:center; } .upgrade-card .eyebrow,.upgrade-card h2,.upgrade-card p,.upgrade-card .level-dots { grid-column:2; } .upgrade-card form,.upgrade-card>.tag { grid-column:3; grid-row:1/5; align-self:center; } .upgrade-card p { margin-top:6px; } .level-dots { margin:12px 0 0; } .form-column { display:none; } }
 @media(max-width:1020px) { .dashboard-grid { grid-template-columns:1fr 1fr; gap:17px; } .dashboard-heading { align-items:flex-start; } .dashboard-heading>.button { padding:12px; max-width:160px; white-space:normal;  } .dashboard-heading>.button>.icon:last-child { display:none; } .next-match-card { padding:22px 18px; min-height:370px; } .match-versus { gap:10px; } .match-versus strong { font-size:1rem; } .next-match-bottom { flex-wrap:wrap; justify-content:center; gap:15px; } .next-match-bottom .countdown { width:100%; text-align:center; }  .pitch-footer { flex-wrap:wrap; } .recent-match { gap:5px; } .two-column { grid-template-columns:1fr; } .tactics-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:17px; }  .tactics-controls { grid-template-columns:1fr; } .tactics-layout .card-heading { flex-wrap:wrap; } .lineup-field { gap:5px; } .lineup-field select { font-size:.6875rem; padding-left:8px; } .community-layout { grid-template-columns:1fr; } .community-aside { grid-template-columns:1fr 1fr; padding-top:0; } .club-hero { padding:28px; } .stadium-art { width:240px; transform:scale(.8); transform-origin:center right; } .auth-story { padding-inline:32px; } .auth-form-panel { padding-inline:32px; } .auth-pitch { margin-inline:-25px; } }
 @media(max-width:820px) { :root { --sidebar-width:0px; } .sidebar { display:none; } .app-shell { margin:0; padding-bottom:var(--mobile-nav-height,max(78px,4rem)); } .topbar { min-height:70px; } main { padding:25px 26px; } .mobile-nav { position:fixed; inset:auto 0 0; padding:6px 8px calc(7px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); z-index:30; background:var(--surface); border-top:1px solid var(--border); box-shadow:0 -5px 24px #152e1d08; } .mobile-nav a,.mobile-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:52px; min-width:0; padding:3px; border-radius:10px; font-size:.5625rem; border:0; color:var(--muted); background:none; } .mobile-nav [aria-current] { background:var(--accent-soft); color:var(--accent); } .mobile-nav .icon { width:22px; height:22px; } .dashboard-heading h1 { font-size:2.7rem; } .dashboard-grid { gap:20px; } .form-column { display:table-cell; } .league-table .form-column { padding-inline:10px; } .stat strong { font-size:1.6rem; } .stats-row.three .stat strong { font-size:1.5rem; } .upgrade-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .upgrade-card { display:flex; padding:19px; } .upgrade-card form { margin-top:auto; } .upgrade-icon { margin:0 0 18px; align-self:flex-start; } .upgrade-card h2 { margin-top:8px; } .upgrade-card p { margin-top:10px; } .level-dots { margin-block:20px; } .upgrade-card .button { min-height:55px; } .auth-layout { grid-template-columns:1fr; } .auth-story { padding:30px; min-height:320px; } .auth-copy { padding:35px 0 20px; margin:0; } .auth-copy h1 { font-size:3rem; margin-top:16px; } .auth-copy>p { margin-top:16px; font-size:.8125rem; } .auth-pitch { position:absolute; width:280px; height:220px; right:-20px; top:5px; margin:0; opacity:.35; pointer-events:none; } .auth-copy>*:not(.auth-pitch) { position:relative; z-index:1; } .auth-story-footer { margin-top:5px; } .auth-form-panel { padding:28px 30px; } .auth-form-inner { max-width:420px; margin-top:35px; } .auth-panel-footer { margin-top:0; } .roster-table { min-width:900px; } }
 @media(max-width:600px) { :root { --padding:20px; --radius:14px; } .topbar { padding:12px 18px; gap:8px; } .breadcrumbs { gap:6px; font-size:.5625rem; } .breadcrumbs .separator { display:none; } .breadcrumbs>span:first-child { display:none; } .breadcrumbs .tag { font-size:.5rem; padding:3px 5px; } .top-actions { gap:1px; } .top-actions .icon-button { width:44px; } .manager-avatar { width:30px; height:30px; min-width:40px; min-height:40px; font-size:.6875rem; } main { padding:23px 18px; } .dashboard-heading { display:block; padding-bottom:21px; } .dashboard-heading h1 { font-size:2.45rem; } .dashboard-heading>.button { margin-top:18px; max-width:none; min-height:46px;  } .dashboard-heading>.button>.icon:last-child { display:block; } .dashboard-heading p { font-size:.75rem; } .stats-row { grid-template-columns:1fr 1fr; padding-block:0; margin-bottom:22px; } .stats-row.three { grid-template-columns:1fr; padding:0; } .stats-row.three .stat { padding:18px 0; border-right:0; border-bottom:1px solid var(--border); } .stats-row.three .stat:last-child { border-bottom:0; } .stat { padding:18px 13px; gap:5px; } .stat:first-child { padding:18px 13px 18px 0; } .stat:nth-child(2) { border-right:0; } .stat:nth-child(3) { padding-left:0; border-top:1px solid var(--border); } .stat:nth-child(4) { border-top:1px solid var(--border); } .stat strong { font-size:1.65rem; } .stat-foot { font-size:.625rem; } .stat>span:first-child { font-size:.6875rem; } .dashboard-grid { grid-template-columns:1fr; gap:19px; } .next-match-card { min-height:350px; padding:24px; } .next-match-bottom { justify-content:space-between; flex-wrap:wrap; } .next-match-bottom .countdown { width:auto; font-size:.625rem; } .next-match-card .match-versus { margin-top:27px; } .match-versus strong { font-size:1.125rem; } .match-versus small { font-size:.625rem; }   .pitch-footer { padding-block:7px; } .pitch-footer>span { font-size:.6875rem; } .pitch-footer .text-link { font-size:.6875rem; min-height:44px; } .table-card .data-table th,.table-card .data-table td { padding-inline:10px; } .table-card .data-table th:first-child,.table-card .data-table td:first-child { padding-left:16px; } .table-card .data-table th:last-child,.table-card .data-table td:last-child { padding-right:16px; } .form-badge { width:16px; height:18px; } .community-card { padding:26px; } .community-card h2 { font-size:2rem; } .community-card p { font-size:.8125rem; } .community-card .text-link { font-size:.75rem; } .leader-row { padding-block:16px; } .player-identity strong { font-size:.8125rem; } .player-identity small { font-size:.6875rem; } .card-heading h2 { font-size:1rem; } .recent-match>span { font-size:.8125rem; } .recent-match small { font-size:.625rem; } .score-pill { font-size:.75rem; } .page-heading { display:block; margin-bottom:22px; } .page-heading h1 { font-size:1.9rem; max-width:17ch; } .page-heading>.text-link { margin-top:8px; } .section-toolbar { flex-wrap:wrap; } .filter-bar { display:grid; grid-template-columns:1fr 1fr; gap:10px; } .filter-bar .search-field { grid-column:1/-1; min-width:0; } .filter-bar select { width:100%; } .filter-bar .button { grid-column:1/-1; } .filter-bar>.text-link { grid-column:1/-1; justify-content:center; } .market-filters>input { width:100%; } .market-filters>select:last-of-type { grid-column:1/-1; } .roster-table { min-width:0; display:block; } .roster-table thead { display:none; } .roster-table tbody { display:grid; gap:14px; } .roster-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:17px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); position:relative; gap:12px; } .roster-table td { border:0; padding:0!important; white-space:normal; } .roster-table .roster-name { grid-column:1/-1; padding-right:22px!important; } .roster-table .roster-number { position:absolute; top:17px; right:17px; font-size:.6875rem; } .roster-table .roster-number::before { content:'#'; } .roster-table .player-cell { gap:10px; } .roster-table .player-cell strong { font-size:.8125rem; } .roster-table td[data-label] { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.6875rem; } .roster-table td[data-label]::before { content:attr(data-label); color:var(--muted); font-size:.625rem; } .roster-table .roster-value { grid-column:1/-1; padding-top:10px!important; border-top:1px solid var(--border); padding-right:40px!important; } .roster-table .roster-action { position:absolute; bottom:10px; right:10px; } .roster-table .fitness-cell { min-width:40px; } .roster-table .injury-label { font-size:.5625rem; } .roster-card { border:0; background:transparent; box-shadow:none; } .roster-card .table-scroll { overflow:visible; } .roster-card .rating { width:25px; height:25px; font-size:.625rem; } .roster-table td:last-child { padding:0!important; } .player-hero { gap:15px; padding:22px; flex-wrap:wrap; } .player-hero .player-avatar-large { width:65px; height:65px; font-size:1.1rem; } .player-hero>div:not(.big-rating) { flex:1; min-width:160px; } .player-hero h1 { font-size:1.75rem; } .big-rating { margin-left:80px; } .big-rating strong { font-size:2.2rem; } .two-column { gap:19px; } .tactics-layout { grid-template-columns:1fr; }  .tactics-controls { grid-template-columns:1fr 1fr; } .lineup-field select { font-size:.8125rem; } .lineup-fields { gap:12px; } .fixture-row { padding:18px 16px; gap:12px; flex-wrap:wrap; } .fixture-date { flex-basis:42px; } .fixture-date strong { font-size:1.4rem; } .fixture-teams { min-width:110px; } .fixture-teams>span { gap:7px; font-size:.75rem; } .fixture-score { min-width:40px; } .fixture-score strong { font-size:1rem; } .fixture-score .tag { font-size:.5rem; padding:4px; } .fixture-row>.icon { display:none; } .tabs { gap:20px; } .tabs a { font-size:.75rem; } .match-detail-hero { padding:24px 18px; } .match-big-score { font-size:2.5rem; gap:9px; } .match-big-score>span:not(.versus-label) { font-size:1.75rem; } .match-detail-hero .crest-large { width:52px; height:60px; font-size:1.1rem; } .match-detail-hero .match-versus { gap:9px; } .match-detail-hero .match-versus strong { font-size:.9375rem; } .match-versus small { font-size:.5625rem; } .hide-phone { display:none; } .league-fixtures { grid-template-columns:1fr; } .market-grid { grid-template-columns:1fr; } .market-player { padding:23px; } .market-player-profile h2 { font-size:1.15rem; } .market-player-profile p,.market-player-info { font-size:.75rem; } .market-player-bottom strong { font-size:1.2rem; } .market-player-bottom small { font-size:.625rem; } .market-player .button { padding-inline:23px; } .finance-chart { gap:7px; } .chart-bars { gap:3px; } .ledger-table { font-size:.6875rem; } .ledger-table th { padding-inline:12px; } .ledger-table td { padding:15px 12px; } .ledger-table td:first-child { padding-left:16px; white-space:nowrap; } .ledger-table td:last-child { padding-right:16px; } .ledger-table td small { font-size:.5625rem; } .club-hero { padding:27px; display:block; } .club-hero h2 { font-size:2.3rem; } .stadium-art { margin:30px auto 0; transform:scale(.85); height:135px; } .upgrade-grid { grid-template-columns:1fr; } .upgrade-card { padding:24px; } .upgrade-card .button { min-height:46px;  } .upgrade-card p { font-size:.8125rem; } .upgrade-card h2 { font-size:1.15rem; } .club-settings { grid-template-columns:1fr; gap:20px; } .community-banner { padding:26px; position:relative; } .community-banner>div:first-child { position:relative; z-index:1; } .community-banner h2 { font-size:1.9rem; } .community-world { position:absolute; right:-25px; top:30px; opacity:.35; } .community-aside { grid-template-columns:1fr; } .compose-form { padding:19px; } .compose-form>div { flex-wrap:wrap; } .compose-form .button { width:100%; } .post { padding:20px; } .app-footer { padding:10px 18px 22px; font-size:.5rem; flex-wrap:wrap; } .sheet { padding:23px; width:calc(100% - 24px); max-height:87dvh; } .choice-grid span { font-size:.6875rem; padding-inline:5px; } .preferences { padding:21px; } .auth-story { min-height:330px; padding:27px; } .auth-pitch { width:200px; right:-70px; top:70px; } .auth-copy h1 { font-size:2.8rem; } .auth-form-panel { padding:25px 27px; } .auth-title { font-size:2rem; } }
 @media(max-width:600px) { .academy-intake { grid-template-columns:1fr; gap:20px; } }
 @media(max-width:380px) { main { padding-inline:14px; } .topbar { padding-inline:14px; } .top-actions .icon-button[data-open=activity-dialog] { display:none; } .dashboard-heading h1 { font-size:2.1rem; } .stat strong { font-size:1.4rem; } .next-match-card { padding:22px 18px; } .next-match-bottom { flex-wrap:wrap; justify-content:center; } .next-match-bottom .countdown { width:100%; } .next-match-bottom .button { width:100%; } .form-column { display:none; } .table-card .data-table td { padding-inline:9px; } .match-detail-hero .match-big-score { font-size:2.1rem; }   .choice-grid { grid-template-columns:1fr; } .choice-grid.two { grid-template-columns:1fr 1fr; } .stat-foot { font-size:.5625rem; } .ledger-table td { font-size:.625rem; } .ledger-table td:nth-child(2) small { max-width:105px; } .confirm-actions { flex-direction:column-reverse; } }
}
@layer pages {
 .stat strong.manager-name { font-size:1.5rem; white-space:normal; overflow-wrap:anywhere; }
 .clans-list { display:grid; gap:18px; }
 .clan-card { display:flex; align-items:center; gap:20px; padding:26px; }
 .clan-card>div { flex:1; min-width:0; }
 .clan-card p { margin-top:8px; font-size:.75rem; overflow-wrap:anywhere; }
 .clan-card h2 { font-size:1.3rem; margin-top:6px; overflow-wrap:anywhere; }
 .clan-emblem { display:grid; place-items:center; width:58px; height:68px; flex-shrink:0; color:var(--accent); background:var(--accent-soft); border-radius:18px; }
 .clan-emblem .icon { width:36px; height:36px; stroke-width:1.2; }
 .clan-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; font-size:.625rem; color:var(--muted); }
 .clan-callout { margin-bottom:22px; flex-wrap:wrap; }
 .clan-callout>.text-link { margin-left:auto; }
 .clan-members { margin-block:15px 25px; }
 .clan-members .leader-row { padding:16px 0; border-bottom:1px solid var(--border); }
 .charter-text { margin-top:15px; color:var(--muted); line-height:1.8; overflow-wrap:anywhere; }
 .clan-ledger { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding:17px 0; border-bottom:1px solid var(--border); font-size:.75rem; flex-wrap:wrap; }
 .clan-ledger small { display:block; font-size:.625rem; margin-top:5px; color:var(--muted); }
 .inline-form { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
 .inline-form select { flex:1; min-width:160px; }
 .intrigue-banner { border-radius:var(--radius); background:#243c36; color:#e7ecd7; display:flex; justify-content:space-between; align-items:center; padding:32px; gap:30px; }
 .intrigue-banner h2 { font-size:2rem; line-height:1.2; margin-top:14px; }
 .intrigue-banner p { margin-top:18px; color:#c1d0ba; max-width:62ch; font-size:.8125rem; }
 .intrigue-banner>.icon { width:85px; height:85px; color:#d3df98; stroke-width:.7; }
 .intrigue-specialists { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-block:20px 27px; }
 .intrigue-specialists>div { display:flex; flex-direction:column; padding:18px; background:var(--surface-alt); border-radius:12px; }
 .intrigue-specialists strong { font-size:1.8rem; margin-top:5px; }
 .intrigue-specialists p { color:var(--muted); font-size:.75rem; margin-block:10px 16px; flex:1; }
 .intrigue-specialists .button {  padding-inline:9px; }
 .rules-list { padding-left:19px; margin-block:18px 24px; display:grid; gap:12px; color:var(--muted); font-size:.75rem; line-height:1.7; }
 .target-heading { display:flex; align-items:center; gap:18px; margin-top:28px; flex-wrap:wrap; }
 .target-heading>.tag { margin-left:auto; }
 .target-heading p { font-size:.75rem; margin-top:5px; }
 .poach-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
 .poach-player { border:1px solid var(--border); border-radius:12px; padding:19px; display:flex; flex-direction:column; gap:17px; }
 .poach-player .player-cell { min-width:0; gap:9px; }
 .poach-player .player-cell>span:last-child { min-width:0; }
 .poach-player .player-cell strong { font-size:.75rem; overflow-wrap:anywhere; }
 .poach-player small { display:block; color:var(--muted); font-size:.625rem; margin-top:5px; }
 .poach-player p { font-size:.6875rem; line-height:1.8; color:var(--muted); }
 .poach-player p strong { color:var(--ink); }
 .poach-player form { margin-top:auto; }
 .poach-player .button {  padding-inline:8px; }
 .diversion-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; background:var(--surface-alt); border-radius:12px; margin-top:24px; }
 .diversion-panel p { font-size:.75rem; margin-top:8px; }
 .diversion-panel .button { white-space:nowrap; }
 .operation-history { margin-top:25px; }
 .operation-history article { padding-block:20px; border-bottom:1px solid var(--border); }
 .operation-history article>div { display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
 .operation-history article>div small { color:var(--muted); }
 .operation-history article>p { font-size:.8125rem; margin-block:13px 8px; }
 .commentary .joke,.commentary .ambient { background:var(--surface-alt); border-radius:9px; padding-inline:12px; margin-block:9px; border:0; }
 .commentary .joke p { color:var(--muted); font-style:italic; }
 .commentary-score { background:var(--accent-soft); color:var(--accent); border-radius:6px; padding:4px 7px; font-size:.6875rem; white-space:nowrap; align-self:center; }
}
@layer responsive {
 @media(max-width:1200px) { .poach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:600px) { .clan-card { padding:22px; gap:15px; flex-wrap:wrap; } .clan-emblem { width:45px; height:55px; } .clan-card>.icon { display:none; } .intrigue-banner { padding:25px; position:relative; overflow:hidden; } .intrigue-banner>div { z-index:1; } .intrigue-banner h2 { font-size:1.8rem; } .intrigue-banner>.icon { position:absolute; right:-20px; opacity:.25; width:140px; height:140px; } .poach-grid { grid-template-columns:1fr; } .intrigue-specialists { gap:12px; } .intrigue-specialists>div { padding:15px; } .diversion-panel { display:block; padding:22px; } .diversion-panel form { margin-top:20px; } .diversion-panel .button { width:100%; } .inline-form .button { width:100%; } .target-heading>.tag { margin-left:0; } .clan-card h2 { font-size:1.15rem; } .community-layout .tabs { flex-wrap:wrap; gap:15px; } }
}
@layer pages {
 .tournament-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:10px; }
 .tournament-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--accent-soft); }
 .tournament-banner h2 { margin:10px 0; font-size:clamp(1.3rem,3vw,2rem); }
 .tournament-banner p { margin-bottom:0; }
 .tournament-banner>.icon { width:64px; height:64px; flex:0 0 64px; color:var(--accent); }
 .tournament-tabs { overflow-x:auto; max-width:100%; white-space:nowrap; }
 .tournament-filters { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:16px; align-items:end; margin-bottom:24px; }
 .tournament-filters label { display:grid; gap:8px; font-size:.75rem; color:var(--muted); min-width:0; }
 .tournament-filters select { min-width:0; width:100%; }
 .tournament-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .tournament-card { display:flex; flex-direction:column; padding:24px; min-width:0; color:inherit; }
 .tournament-card:hover { border-color:var(--accent); }
 .tournament-card h2 { font-size:1.125rem; overflow-wrap:anywhere; margin:14px 0 6px; }
 .tournament-card .section-toolbar { align-items:flex-start; gap:12px; margin-bottom:0; }
 .tournament-card .eyebrow { line-height:1.6; }
 .tournament-card .muted { font-size:.75rem; }
 .tournament-card .tag { flex-shrink:0; }
 .tournament-card-bottom { display:flex; align-items:center; gap:15px; padding-top:18px; border-top:1px solid var(--border); margin-top:auto; font-size:.75rem; color:var(--muted); flex-wrap:wrap; }
 .tournament-card-bottom .icon { margin-left:auto; }
 .tournament-champion { display:flex; align-items:center; gap:10px; padding:8px 0; }
 .tournament-champion .icon { color:var(--accent); flex-shrink:0; }
 .tournament-start { font-size:.8125rem; padding:8px 0; }
 .tournament-notes { margin-top:24px; }
 .tournament-notes summary,.tournament-rules summary,.tournament-entries summary { cursor:pointer; min-height:44px; align-content:center; font-weight:700; }
 .tournament-notes li { margin-bottom:10px; line-height:1.6; font-size:.8125rem; }
 .tournament-edition-toolbar { flex-wrap:wrap; }
 .edition-history { display:flex; gap:8px; flex-wrap:wrap; }
 .edition-history a { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--border); border-radius:10px; }
 .edition-history a[aria-current=page] { background:var(--accent-soft); color:var(--accent); border-color:var(--accent); }
 .tournament-podium { display:flex; gap:24px; align-items:center; margin-bottom:24px; }
 .tournament-podium h2 { margin:8px 0; }
 .tournament-cup { display:grid; place-items:center; width:70px; height:70px; border-radius:18px; background:var(--accent-soft); color:var(--accent); flex-shrink:0; }
 .tournament-cup .icon { width:36px; height:36px; }
 .tournament-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
 .tournament-groups>*,.bracket-rounds>* { min-width:0; }
 .group-card summary { cursor:pointer; padding:16px 20px; min-height:60px; font-weight:700; }
 .group-card summary .tag { margin-left:12px; }
 .tournament-bracket { margin-top:28px; }
 .bracket-rounds { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; margin-top:18px; }
 .bracket-round h3 { margin:0 0 20px; }
 .tie-list { display:grid; gap:16px; }
 .tournament-tie { padding:16px; border:1px solid var(--border); border-radius:12px; min-width:0; }
 .tournament-tie.own-tie { border-color:var(--accent); }
 .tie-team { display:flex; gap:12px; justify-content:space-between; font-size:.875rem; padding:7px 0; }
 .tie-team span { min-width:0; overflow-wrap:anywhere; }
 .tie-team strong { flex-shrink:0; }
 .tie-winner { color:var(--accent); font-weight:700; }
 .tie-note { font-size:.75rem; line-height:1.6; color:var(--muted); margin:10px 0 0; }
 .tie-fixtures { margin-top:10px; }
 .tie-fixtures a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:8px 0; border-top:1px solid var(--border); font-size:.75rem; }
 .tie-fixtures strong { flex-shrink:0; }
 .tournament-rules,.tournament-entries { margin-top:24px; }
 .tournament-rules p { font-size:.8125rem; line-height:1.8; color:var(--muted); }
 .tournament-prizes span { display:inline-block; margin-right:10px; color:var(--ink); }
 .tournament-entries ol { list-style:none; margin:0; padding:0; }
 .tournament-entries li { display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid var(--border); padding:16px 0; font-size:.8125rem; }
 .tournament-entries li>div { min-width:0; }
 .tournament-entries small { display:block; color:var(--muted); line-height:1.7; margin-top:6px; }
 .tournament-entries .own-entry strong { color:var(--accent); }
 .tournament-calendar { margin-top:28px; }
 .knockout-context { margin:24px 0; }
 .knockout-context>.tournament-tie { margin-top:16px; }
 .match-meta a { text-decoration:underline; text-underline-offset:3px; }
 .live-commentary li.shootout { background:var(--accent-soft); border-radius:10px; padding-inline:10px; }
}
@layer responsive {
 @media(max-width:1100px) { .tournament-groups { grid-template-columns:1fr; } }
 @media(max-width:767px) {
  .tournament-filters { grid-template-columns:1fr 1fr; }
  .tournament-grid,.bracket-rounds { grid-template-columns:1fr; }
  .tournament-card { padding:20px; }
  .tournament-banner>.icon { width:38px; height:38px; flex-basis:38px; }
  .tournament-banner p { font-size:.8125rem; }
  .tournament-calendar .card-heading,.tournament-groups+.card-heading { flex-wrap:wrap; gap:12px; }
  .tournament-entries li { align-items:flex-start; flex-direction:column; gap:8px; }
  .tournament-podium { gap:16px; }
  .tournament-cup { width:46px; height:54px; }
 }
 @media(max-width:390px) { .tournament-filters { grid-template-columns:1fr; } .tournament-banner>.icon { display:none; } }
}
@layer accessibility {
 .commentary p,.operation-history p,.match-meta { overflow-wrap:anywhere; min-width:0; }
 .commentary p { flex:1; }
 .player-cell>span:last-child { min-width:0; }
 .player-cell strong,.fixture-teams>span,.table-club>span:last-child { overflow-wrap:anywhere; }
 .player-cell { min-height:44px; }
 .auth-register-link a { display:inline-flex; align-items:center; min-height:44px; vertical-align:middle; }
 .manager-avatar { min-width:44px; min-height:44px; }
 :focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
 .sidebar :focus-visible { outline-color:var(--lime); }
 .shirt:focus-visible { outline:none; background:#fff; color:#16352d; }
 .pitch-player:focus-within { outline:2px solid var(--lime); outline-offset:-2px; border-radius:8px; }
 .skip-link { position:fixed; left:15px; top:12px; max-width:calc(100% - 30px); overflow-wrap:anywhere; transform:translateY(calc(-100% - 24px)); z-index:100; background:var(--lime); color:#17352c; border-radius:8px; padding:13px 20px; }
 .skip-link:focus { transform:none; }
 :root[data-contrast=high] { --muted:#465a4b; --border:#9bab9b; --control-border:#657a68; }
 :root[data-theme=dark][data-contrast=high] { --muted:#c1d2c1; --border:#718776; --control-border:#a0b3a5; }
 :root[data-contrast=high] .eyebrow,:root[data-contrast=high] .form-note { font-weight:550; }
 @media(prefers-reduced-motion:no-preference) { .button,.icon-button,.nav-link { transition:background .15s ease,filter .15s ease; } .pitch-player { transition:top .3s ease,left .3s ease; } }
 @media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
 :root[data-motion=reduce] *,:root[data-motion=reduce] *::before,:root[data-motion=reduce] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 @media(pointer:coarse) { .text-link,a.stat-foot { min-height:44px; } .sheet-link { min-height:52px; } .roster-table select { min-height:48px; } input,select,textarea { font-size:1rem; } }
}

@layer responsive {
 @media(max-width:1020px) { .tactic-rule-cards { grid-template-columns:1fr; } }
 @media(max-height:820px) { .match-centre-layout>.stack { position:static; } }
}

@layer pages { .tactic-explainer>summary { cursor:pointer; min-height:44px; font-weight:600; } .tactic-explainer>summary small { display:block; color:var(--muted); font-weight:400; margin-top:4px; } }

@layer pages { .played-tactics { display:grid; gap:7px; margin:14px 0 5px; padding-bottom:12px; border-bottom:1px solid var(--border); font-size:.75rem; color:var(--muted); } .played-tactics strong { color:var(--ink); font-weight:600; margin-right:5px; } }

@layer pages { .match-centre-layout>.stack .text-link { display:block; margin-top:12px; } }

@layer pages { .episode-heading { flex:1 1 0; } .episode-outcome { flex:0 0 auto; min-width:3.2rem; max-width:40%; } .match-centre-layout>.stack .text-link { min-height:44px; padding-top:10px; padding-bottom:10px; } }

@layer pages { .calendar-filter { flex-wrap:wrap; } .calendar-filter select { min-width:0; max-width:100%; flex:1 1 180px; } }

@layer pages {
 .league-table .table-club>span:last-child { min-width:7rem; overflow-wrap:break-word; word-break:normal; }
 .group-card>.table-scroll .data-table td,.group-card>.table-scroll .data-table th { padding:14px 12px; }
 .group-full-table { border-top:1px solid var(--border); }
 .group-full-table>summary { font-size:.75rem; font-weight:550; color:var(--accent); min-height:48px; padding-block:14px; }
 .group-full-table .league-table { min-width:720px; }
 .group-full-table .table-club>span:last-child { min-width:9rem; }
}
@layer responsive {
 .group-full-table .hide-phone,.group-full-table .form-column { display:table-cell; }
}

@layer pages {
 .play-navigation { flex-wrap:wrap; column-gap:22px; row-gap:0; }
 .play-callout { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:24px; }
 .play-callout>div { min-width:0; }
 .play-callout h2 { font-size:1.15rem; margin-bottom:8px; }
 .play-callout p { line-height:1.7; max-width:80ch; }
 .play-callout>.tag,.play-callout>.button { flex-shrink:0; }
 .commercial-room h2 { margin-top:18px; }
 .commercial-room .section-toolbar { flex-wrap:wrap; gap:10px; }
 .room-fee { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-block:18px; }
 .room-fee>span { font-size:.8rem; color:var(--muted); }
 .room-fee>strong { font-size:1.4rem; }
 .room-prizes { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.75rem; padding-bottom:18px; }
 .commercial-room .form-note { margin-top:auto; }
 .commercial-room>.text-link { min-height:44px; padding-top:14px; }
 .play-builder,.play-rules,.play-history { margin-top:26px; }
 .play-builder>summary,.play-rules>summary,.play-history>summary { min-height:44px; cursor:pointer; font-weight:650; line-height:1.5; }
 .play-builder p,.play-rules p { margin-top:14px; line-height:1.7; }
 .play-builders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .play-builders>section { min-width:0; }
 .play-builders>section>p { margin-block:14px; line-height:1.7; }
 .play-form { display:grid; gap:18px; margin-top:20px; }
 .play-form>label { display:grid; gap:8px; font-size:.85rem; line-height:1.5; min-width:0; }
 .play-form select,.play-form input:not([type=checkbox]) { width:100%; }
 .play-form .play-check { display:flex; align-items:flex-start; gap:12px; min-height:44px; cursor:pointer; }
 .play-check input { flex-shrink:0; margin-top:4px; min-height:20px; width:20px; height:20px; accent-color:var(--accent); }
 .play-records { display:grid; gap:12px; margin-top:16px; }
 .play-record { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; }
 .play-record>div,.invitation-card>div { min-width:0; }
 .play-record strong,.play-registrations strong,.invitation-card h3 { overflow-wrap:anywhere; }
 .play-record small,.play-registrations small { display:block; color:var(--muted); line-height:1.6; margin-top:6px; }
 .play-record>.tag { white-space:normal; text-align:center; }
 .room-fund { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:22px; }
 .room-fund>div { display:grid; gap:8px; min-width:0; }
 .room-fund span { color:var(--muted); font-size:.8rem; }
 .room-fund strong { font-size:1.2rem; overflow-wrap:anywhere; }
 .play-registrations { margin-top:24px; }
 .play-registrations ul { list-style:none; padding:0; margin:16px 0 0; }
 .play-registrations li { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:16px; border-top:1px solid var(--border); }
 .invitation-card { display:flex; justify-content:space-between; align-items:center; gap:18px; }
 .invitation-card form { display:flex; flex-wrap:wrap; gap:10px; }
 .queue-status { padding:18px; border:1px solid var(--border); border-radius:12px; background:var(--accent-soft); }
 .queue-status p { margin-block:12px; line-height:1.6; }
}
@layer responsive {
 @media(max-width:1020px) { .play-builders { grid-template-columns:1fr; } .room-fund { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:600px) {
  .play-callout,.invitation-card { align-items:flex-start; flex-direction:column; }
  .play-callout>.button { width:100%; }
  .play-navigation { gap:0 18px; font-size:.8rem; }
  .play-record { padding:16px; flex-wrap:wrap; gap:12px; }
  .room-fee { flex-wrap:wrap; gap:8px; }
  .play-registrations li { flex-wrap:wrap; gap:10px; }
  .room-fund { gap:22px 12px; }
  .room-fund strong { font-size:1rem; }
 }
}

@layer pages {
 .national-own { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
 .national-own h2 { margin-block:12px; }
 .national-own .text-link { display:block; min-height:44px; padding-top:14px; }
 .national-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:16px; align-items:end; margin-bottom:24px; }
 .national-filters label,.national-tactics label,.national-pool-tools label { display:grid; gap:7px; min-width:0; font-size:.8rem; }
 .national-filters select,.national-tactics select { width:100%; }
 .national-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:18px; }
 .national-team-card h3 { margin-block:12px; overflow-wrap:anywhere; }
 .national-team-card>span { font-size:.75rem; color:var(--muted); }
 .national-directory,.national-calendar { margin-top:28px; }
 .national-calendar>summary { min-height:44px; font-weight:650; cursor:pointer; }
 .national-calendar h2 { margin-bottom:16px; }
 .national-fixture { display:grid; grid-template-columns:3.2rem minmax(0,1fr) auto; gap:16px; align-items:center; padding-block:18px; border-bottom:1px solid var(--border); }
 .national-fixture:last-child { border-bottom:0; }
 .national-fixture strong { display:block; font-size:.85rem; overflow-wrap:anywhere; line-height:1.6; }
 .national-fixture small { display:block; color:var(--muted); font-size:.7rem; line-height:1.6; margin-top:5px; }
 .national-fixture time { font-weight:650; }
 .national-fixture .score-pill { min-width:52px; text-align:center; }
 .national-warning { color:var(--ink); border-left:3px solid var(--accent); padding-left:12px; line-height:1.7; }
 .national-quota { margin-top:22px; }
 .national-quota>div { display:flex; gap:10px; flex-wrap:wrap; margin-block:16px; }
 .national-quota .tag { white-space:normal; }
 .national-groups { margin-top:24px; }
 .national-table { min-width:380px; }
 .national-table .table-club small { display:block; margin-top:4px; color:var(--muted); font-size:.65rem; }
 .national-entry-list { display:grid; gap:0; margin-top:12px; }
 .national-entry-list>a { padding-block:15px; border-top:1px solid var(--border); }
 .national-entry-list small { display:block; margin-top:8px; color:var(--muted); line-height:1.7; }
 .national-tactics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-block:20px; }
 .national-pool-tools { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:16px; margin-block:20px; }
 .national-pool-tools output { font-size:.8rem; line-height:1.7; color:var(--muted); }
 .national-pool { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:460px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--border); border-radius:12px; }
 .national-candidate { display:flex; align-items:center; gap:12px; padding:16px; min-height:76px; border-bottom:1px solid var(--border); cursor:pointer; }
 .national-candidate[hidden] { display:none; }
 .national-candidate input { width:20px; height:20px; min-height:20px; flex-shrink:0; accent-color:var(--accent); }
 .national-candidate strong { display:block; font-size:.85rem; overflow-wrap:anywhere; }
 .national-candidate>span,.national-calls>div>span:last-child { min-width:0; }
 .national-candidate small,.national-calls small,.national-own-team p,.national-team-card p { overflow-wrap:anywhere; }
 .national-candidate small { display:block; color:var(--muted); font-size:.7rem; line-height:1.6; margin-top:4px; }
 .national-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
 .national-squad { margin-top:26px; }
 .national-player-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
 .national-player-list>a { display:flex; align-items:center; gap:12px; padding-block:16px; border-top:1px solid var(--border); min-width:0; }
 .national-player-list>a>span:nth-child(2) { flex:1; min-width:0; }
 .national-player-list strong { overflow-wrap:anywhere; }
 .national-player-list small { display:block; line-height:1.6; color:var(--muted); font-size:.75rem; margin-top:5px; }
 .national-player-list .rating { flex-shrink:0; }
 .national-stats>div { display:grid; grid-template-columns:2rem minmax(0,1fr) 2rem; text-align:center; gap:10px; padding-block:12px; border-bottom:1px solid var(--border); font-size:.8rem; }
 .national-calls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
 .national-calls>div { display:flex; gap:12px; align-items:center; padding-block:14px; border-top:1px solid var(--border); min-width:0; }
 .national-calls small { display:block; line-height:1.6; color:var(--muted); font-size:.75rem; margin-top:5px; }
}
@layer responsive {
 @media(max-width:1020px) { .national-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .national-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:600px) {
  .national-own,.national-team-grid,.national-pool,.national-player-list,.national-calls { grid-template-columns:1fr; }
  .national-tactics,.national-filters { grid-template-columns:1fr; }
  .national-fixture { gap:10px; grid-template-columns:2.7rem minmax(0,1fr) auto; }
  .national-fixture strong { font-size:.8rem; }
  .national-fixture .score-pill { min-width:44px; }
  .national-actions>.button { width:100%; white-space:normal; }
 }
}

@layer pages {
 .staff-section { margin-top:28px; }
 .staff-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-block:18px; }
 .staff-grid>* { min-width:0; }
 .staff-grid h3 { margin-block:14px 8px; overflow-wrap:anywhere; }
 .staff-grid p { line-height:1.7; overflow-wrap:anywhere; }
 .staff-grid .button { width:100%; white-space:normal; margin-top:14px; }
 .staff-filters { display:grid; grid-template-columns:1.4fr .7fr 1.2fr auto; gap:16px; align-items:end; margin-top:18px; }
 .staff-filters label { display:grid; gap:8px; min-width:0; font-size:.8rem; }
 .staff-filters input,.staff-filters select { width:100%; min-width:0; min-height:44px; }
 .staff-card-title { display:flex; gap:12px; justify-content:space-between; align-items:center; }
 .staff-card-title .muted { font-size:.75rem; }
 .staff-price>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:12px; }
 .staff-price dt { font-size:.8rem; color:var(--muted); }
 .staff-price dd { margin:0; font-weight:650; }
 .staff-effect { min-height:5em; }
 .staff-cap { margin-block:20px; line-height:1.8; }
 .staff-rules { margin-top:28px; }
 .staff-rules summary,.training-staff-preview summary { cursor:pointer; min-height:44px; line-height:1.7; font-weight:650; }
 .staff-rule-copy p { line-height:1.8; margin-top:16px; }
 .staff-payroll { min-width:550px; }
 .staff-debt { display:block; margin-top:8px; font-weight:650; }
 .training-preview,.training-history-row { padding-block:12px; border-bottom:1px solid var(--border); }
 .training-preview strong,.training-preview span,.training-preview small,.training-history-row small { display:block; line-height:1.8; }
 .training-preview { font-size:.8rem; }
 .training-preview small { color:var(--muted); }
 .training-staff-preview .text-link,.training-history .text-link { display:inline-block; margin-top:16px; }
 .training-history h2 { margin-bottom:10px; }
}
@layer responsive {
 @media(max-width:1100px) { .staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .staff-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:600px) { .staff-grid,.staff-filters { grid-template-columns:1fr; } .staff-grid p { font-size:.85rem; } .staff-effect { min-height:0; } }
}

/* Club estate: shared light/dark surfaces and touch-sized construction controls. */
.estate-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:20px}
.estate-overview h2{margin:8px 0}.estate-overview p{max-width:68ch}
.estate-counters{display:flex;gap:24px}.estate-counters span{display:grid;gap:8px;font-size:.8rem;color:var(--muted)}
.estate-counters strong{font-size:1.5rem;color:var(--ink)}
.estate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}
.estate-card{display:flex;flex-direction:column;min-width:0;scroll-margin-top:100px}
.estate-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.estate-card-top .upgrade-icon{margin:0}
.estate-card h2{font-size:1.15rem;margin:18px 0 10px}.estate-description{flex:1;line-height:1.65}
.estate-condition{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding:16px 0;margin-top:12px;font-size:.78rem}
.estate-condition strong{color:var(--ink)}.estate-note{padding:12px 14px;background:var(--bg);border-radius:12px;font-size:.82rem;line-height:1.65;margin:0}
.estate-card form{margin-top:4px}.estate-card .form-note{display:block;margin-top:8px;line-height:1.6}.estate-repair{padding-top:14px}
.building-active-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.building-active{min-width:0}.building-active h2{margin:18px 0 8px}.building-active progress{width:100%;height:10px;accent-color:var(--accent);margin:12px 0}
.building-deadline{font-weight:600;line-height:1.7}.building-deadline time{display:block}
.building-receipt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 0}.building-receipt span{display:grid;gap:6px;font-size:.8rem;color:var(--muted)}
.building-receipt strong{color:var(--ink)}.building-rules{margin:24px 0;scroll-margin-top:100px}.building-rules summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;font-weight:600}
.building-rule-copy{max-width:85ch;line-height:1.8}.building-rule-copy p{margin:18px 0}
.building-history{margin-bottom:24px}.building-history-list{list-style:none;padding:0;margin:0}.building-history-list li{padding:18px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}
.building-history-list li>div{display:flex;justify-content:space-between;gap:12px}.building-history-list p{margin:8px 0}.building-history-list small{color:var(--muted);line-height:1.8}
@media(max-width:1200px){.estate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.estate-overview{grid-template-columns:1fr;gap:16px}.estate-counters{justify-content:space-between}.building-active-grid{grid-template-columns:1fr}}
@media(max-width:540px){.estate-grid{grid-template-columns:1fr;gap:14px}.estate-card .button{white-space:normal;line-height:1.5}.building-receipt{grid-template-columns:1fr}.building-active .card-heading{align-items:flex-start;flex-wrap:wrap}.building-history-list li>div{flex-wrap:wrap}}

/* A manager may coach a club and a national side; each page names its workspace. */
.club-switch { width:100%; color:inherit; background:none; text-align:left; cursor:pointer; border-inline:0; border-radius:0; font:inherit; flex-shrink:0; }




.workspace-viewing { margin:-8px 0 24px; padding:12px 16px; border-left:3px solid var(--accent); color:var(--muted); font-size:.8rem; line-height:1.7; }
.workspace-dialog>p { line-height:1.7; margin-bottom:18px; }
.workspace-choices { display:grid; gap:10px; }
.workspace-choices>a { display:flex; align-items:center; gap:14px; min-height:80px; padding:16px; border:1px solid var(--border); border-radius:12px; }
.workspace-choices>a[aria-current] { border-color:var(--accent); background:var(--accent-soft); }
.workspace-choices>a>span:last-child { min-width:0; }
.workspace-choices strong { display:block; color:var(--ink); overflow-wrap:anywhere; font-size:.95rem; }
.workspace-choices small { display:block; color:var(--muted); margin-top:6px; font-size:.75rem; line-height:1.6; }
.workspace-choice-icon { display:grid; place-items:center; width:38px; height:44px; flex-shrink:0; color:var(--accent); }
.workspace-choices .crest { flex-shrink:0; }
.national-crest { background:var(--accent); color:var(--surface); }
.manager-role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.manager-role { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.manager-role h2 { margin-block:12px; font-size:1.5rem; overflow-wrap:anywhere; }
.manager-role p { line-height:1.75; font-size:.85rem; margin:0 0 12px; overflow-wrap:anywhere; }
.manager-role .button,.manager-role>.text-link { margin-top:auto; min-height:44px; }
.manager-role-actions {display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; min-width:0; max-width:100%; margin-top:auto}
.manager-role-actions>.text-link {margin:0}
.national-manager-role { border-top:3px solid var(--accent); }
.manager-agenda { margin-bottom:32px; }
.manager-agenda-row { display:grid; grid-template-columns:3.3rem minmax(0,1fr) 20px; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--border); }
.manager-agenda-row:last-child { border-bottom:0; }
.manager-agenda-row time { font-weight:650; font-size:.95rem; }
.manager-agenda-row time small { display:block; color:var(--muted); font-size:.7rem; margin-top:5px; }
.manager-agenda-row>span { min-width:0; }
.manager-agenda-row .eyebrow { font-size:.6rem; line-height:1.7; overflow-wrap:anywhere; }
.manager-agenda-row strong { display:block; overflow-wrap:anywhere; font-size:.9rem; line-height:1.7; margin-top:5px; }
.manager-club-heading { margin:30px 0 20px; }
.manager-club-heading h2 { font-size:1.25rem; margin-top:9px; overflow-wrap:anywhere; }
.team-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.team-tabs a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid var(--border); border-radius:10px; font-size:.8rem; color:var(--muted); }
.team-tabs a[aria-current] { background:var(--accent-soft); border-color:var(--accent); color:var(--accent); font-weight:650; }
.national-role-summary { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.national-role-summary>div { min-width:0; }
.national-role-summary h2 { margin:10px 0; overflow-wrap:anywhere; }
.national-role-summary p { line-height:1.7; font-size:.85rem; }
.national-role-summary form { flex-shrink:0; }
.team-cup-list { margin-top:18px; }
.team-cup-list>a { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 0; border-top:1px solid var(--border); min-height:60px; }
.team-cup-list>a>span { min-width:0; }
.team-cup-list strong { display:block; font-size:.9rem; overflow-wrap:anywhere; line-height:1.7; }
.team-cup-list small { display:block; color:var(--muted); font-size:.75rem; line-height:1.7; margin-top:5px; }
.team-cup-list .icon { flex-shrink:0; }
.national-plan-window { margin-bottom:24px; }
.national-plan-window h2 { margin-bottom:12px; }
.national-plan-window p { line-height:1.8; }
.national-plan-window .text-link { display:inline; overflow-wrap:anywhere; }
.national-plan-window .national-warning { margin-top:12px; }
.national-starters { grid-template-columns:1fr; }
.national-player-context { margin-top:24px; }
.national-player-context p { line-height:1.8; font-size:.85rem; margin-top:12px; }
.national-skills { margin-top:16px; }
.national-skills>div { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); font-size:.85rem; }
.national-skills strong { white-space:nowrap; }
body[data-workspace="national"] .mobile-nav a span { font-size:.58rem; }
@media(max-width:1020px) {
 .manager-role-grid { gap:16px; }
 .national-role-summary { flex-wrap:wrap; }
}
@media(max-width:600px) {





 .manager-role-grid { grid-template-columns:1fr; }
 .manager-role h2 { font-size:1.3rem; }
 .manager-role>.button { width:100%; }
 .manager-agenda-row { gap:10px; grid-template-columns:2.8rem minmax(0,1fr) 16px; }
 .manager-agenda-row strong { font-size:.8rem; }
 .manager-club-heading h2 { font-size:1.1rem; }
 .team-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; padding:3px 2px 7px; }
 .team-tabs a { flex-shrink:0; min-width:64px; font-size:.75rem; text-align:center; padding-inline:12px; }
 .national-page-heading { margin-bottom:16px; }
 .national-page-heading h1 { font-size:1.7rem; }
 .national-role-summary { align-items:stretch; }
 .national-role-summary>.button,.national-role-summary form,.national-role-summary form .button { width:100%; }
 .national-lineup-form .tactics-controls { grid-template-columns:1fr; }
 .national-player-context .national-actions .button { width:100%; }
 .workspace-choices>a { padding:14px 12px; gap:10px; }
}

/* Team decisions, the shared world and personal account have separate landmarks. */
.navigation-groups { display:grid; gap:20px; }
.navigation-group { min-width:0; }
.nav-group-label { font-size:.625rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; margin:0 0 9px; }
.sidebar .navigation-group+.navigation-group { border-top:1px solid #ffffff16; padding-top:18px; }
.sidebar .navigation-groups { gap:16px; }
.sidebar .navigation-group nav { gap:3px; }
.sidebar .navigation-group .nav-label { display:block; margin-bottom:9px; }
.sidebar .navigation-group a>span:first-of-type { min-width:0; overflow-wrap:anywhere; }
.sidebar .navigation-group .unread-count { margin-left:auto; flex-shrink:0; }
#more-dialog>.navigation-groups { margin-top:24px; gap:20px; }
#more-dialog .navigation-group+.navigation-group { border-top:1px solid var(--border); padding-top:18px; }
#more-dialog .nav-group-label { color:var(--muted); padding-inline:7px; }
#more-dialog .sheet-nav { margin:0; }
#more-dialog .sheet-link>span:first-of-type { flex:1; min-width:0; overflow-wrap:anywhere; }
#more-dialog .sheet-link[aria-current] { background:var(--accent-soft); color:var(--accent); font-weight:650; }
#more-dialog .navigation-group button .icon { margin-left:0; }

/* The four stadium advertising sides remain legible on touch screens. */
.advert-section { margin-block:28px; scroll-margin-top:20px; }
.advert-office { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.advert-office>div { min-width:0; }
.advert-office h2 { margin-block:10px; }
.advert-office p { font-size:.8rem; line-height:1.7; }
.advert-sides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.advert-offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px; }
.advert-side,.advert-offer { min-width:0; display:flex; flex-direction:column; gap:12px; }
.advert-side h3,.advert-offer h3 { overflow-wrap:anywhere; font-size:1.05rem; }
.advert-side p,.advert-offer p { font-size:.8rem; line-height:1.7; }
.advert-terms { display:grid; gap:12px; font-size:.75rem; padding-block:6px; }
.advert-terms>div { display:flex; justify-content:space-between; gap:12px; }
.advert-terms dt { color:var(--muted); }
.advert-terms dd { text-align:right; white-space:normal; font-weight:650; }
.advert-side form,.advert-offer form,.advert-block { margin-top:auto; }
.advert-side .button,.advert-offer .button { width:100%; min-height:44px; }
.advert-rules summary { min-height:44px; font-weight:650; cursor:pointer; }
.advert-rules>div { display:grid; gap:14px; padding-top:16px; font-size:.8rem; line-height:1.8; }
@media(max-width:1200px) { .advert-offers { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .advert-sides,.advert-offers { grid-template-columns:1fr; } .advert-office { flex-direction:column; gap:12px; } }

/* Clan headquarters stays part of the manager's shared world. */
.clan-life,.clan-catalog { min-width:0; }
.clan-life-section { margin-block:24px; }
.clan-life-tabs { display:flex; gap:22px; flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; margin-block:20px 24px; }
.clan-life-tabs a { display:flex; align-items:center; gap:7px; min-height:44px; flex-shrink:0; white-space:nowrap; }
.clan-life-tabs .tag { font-size:.625rem; padding:3px 6px; }
.clan-life-columns,.clan-catalog-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; gap:22px; }
.clan-life-columns>* ,.clan-catalog-layout>* { min-width:0; }
.clan-catalog-create { position:sticky; top:92px; }
.clan-catalog-create>p { margin-block:12px 20px; }
.clan-catalog-card { min-width:0; }
.clan-catalog-card>div { min-width:0; overflow-wrap:anywhere; }
.clan-catalog-card .clan-meta { display:block; line-height:1.7; }
.clan-catalog-card .clan-life-policy { color:var(--accent); font-size:.75rem; font-weight:650; margin-top:12px; }
.clan-life-copy { font-size:.85rem; line-height:1.8; overflow-wrap:anywhere; margin-top:14px; }
.clan-life-copy p+p { margin-top:12px; }
.clan-life-copy .button { margin-top:20px; }
.clan-life-members { margin-top:14px; }
.clan-life-member { padding:16px 0; border-bottom:1px solid var(--border); min-width:0; }
.clan-life-member:last-child { border-bottom:0; }
.clan-life-person { display:flex; gap:13px; align-items:flex-start; }
.clan-life-person>div { min-width:0; overflow-wrap:anywhere; }
.clan-life-person .player-avatar { flex-shrink:0; }
.clan-life-person small { display:block; margin-top:4px; color:var(--muted); }
.clan-life-expel { margin-top:10px; }
.clan-life-expel summary { cursor:pointer; min-height:44px; padding:10px 0; color:var(--muted); }
.clan-life-expel form { padding:16px; border:1px solid var(--border); border-radius:10px; }
.clan-life-request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.clan-life-request { min-width:0; display:flex; flex-direction:column; gap:12px; overflow-wrap:anywhere; }
.clan-life-request .clan-life-copy { margin:0; }
.clan-life-request form { margin-top:8px; }
.clan-life-request-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.clan-life-request-heading h3 { min-width:0; overflow-wrap:anywhere; }
.clan-life-request-heading .tag { flex-shrink:0; }
.clan-life-reason { font-size:.8rem; line-height:1.8; padding:12px; background:var(--surface-alt); border-radius:9px; }
.clan-life-actions { display:flex; gap:10px; flex-wrap:wrap; }
.clan-life-actions .button { flex:1; min-width:0; }
.clan-life-records { display:grid; margin-top:16px; }
.clan-life-record { display:flex; gap:16px; justify-content:space-between; align-items:start; padding:16px 0; border-bottom:1px solid var(--border); font-size:.8rem; }
.clan-life-record:last-child { border-bottom:0; }
.clan-life-record>span { min-width:0; overflow-wrap:anywhere; }
.clan-life-record>strong { white-space:nowrap; flex-shrink:0; }
.clan-life-record small { display:block; margin-top:5px; color:var(--muted); }
.clan-life-events { list-style:none; display:grid; margin-top:18px; }
.clan-life-events li { padding:18px 0; border-bottom:1px solid var(--border); min-width:0; }
.clan-life-events p { font-size:.85rem; line-height:1.8; margin-block:10px; overflow-wrap:anywhere; }
.clan-life-events small { color:var(--muted); }
.clan-life-leave p { margin-block:12px 20px; }
.clan-life-rules summary { cursor:pointer; min-height:44px; font-weight:650; }
.clan-life-rules>div { display:grid; gap:14px; font-size:.8rem; line-height:1.8; padding-top:18px; }
.clan-life .stacked-form,.clan-catalog .stacked-form { margin-top:18px; }
.clan-life .stacked-form p,.clan-catalog .stacked-form p { display:grid; gap:8px; min-width:0; }
.clan-life input,.clan-life select,.clan-life textarea,.clan-catalog input,.clan-catalog select,.clan-catalog textarea { width:100%; min-width:0; max-width:100%; }
.clan-life .button,.clan-catalog .button { white-space:normal; overflow-wrap:anywhere; }
@media(max-width:900px) { .clan-life-columns,.clan-catalog-layout { grid-template-columns:1fr; } .clan-catalog-create { position:static; } }
@media(max-width:600px) { .clan-life-request-grid { grid-template-columns:1fr; } .clan-life-tabs { gap:16px; margin-bottom:20px; } .clan-life-request-heading { flex-wrap:wrap; } .clan-life-actions { flex-direction:column; } .clan-life .section-toolbar { align-items:stretch; } .clan-life .section-toolbar>.button,.clan-life .section-toolbar>form,.clan-life .section-toolbar>form .button { width:100%; } .clan-life-record { gap:10px; } .clan-life-record>strong { font-size:.75rem; } .clan-catalog-card { gap:12px; padding:20px; } }

/* Private clan publications share the manager's world and existing theme tokens. */
.news-page,.news-main,.news-aside,.news-layout>* { min-width:0; }
.news-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-block:20px 24px; }
.news-backlink { display:inline-flex; align-items:center; min-height:44px; margin-right:auto; }
.news-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.38fr); gap:24px; align-items:start; }
.news-tabs { margin-bottom:18px; }
.news-tabs a { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.news-search { margin-bottom:22px; }
.news-search label { display:block; font-size:.8rem; color:var(--muted); margin-bottom:10px; }
.news-search>div { display:flex; gap:10px; flex-wrap:wrap; }
.news-search input { min-width:0; flex:1; width:auto; }
.news-feed { display:grid; gap:20px; }
.news-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; color:var(--muted); font-size:.75rem; }
.news-title { margin-top:14px; line-height:1.5; overflow-wrap:anywhere; }
.news-title a { color:var(--text); display:inline-block; min-height:44px; }
.news-title a:hover { color:var(--accent); }
.news-excerpt { margin-block:12px 22px; font-size:.9rem; line-height:1.8; overflow-wrap:anywhere; }
.news-card-footer { display:flex; gap:14px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.news-card-footer .form-note { overflow-wrap:anywhere; }
.news-aside .card p { font-size:.85rem; line-height:1.8; margin-top:14px; overflow-wrap:anywhere; }
.news-article,.news-action-section,.news-history,.news-conflict { margin-bottom:24px; }
.news-body { font-size:.95rem; line-height:1.9; overflow-wrap:anywhere; margin-top:22px; }
.news-notice { margin-top:18px; padding:14px; border:1px solid var(--border); border-radius:10px; color:var(--muted); font-size:.85rem; line-height:1.8; }
.news-action-section>p { margin-top:12px; line-height:1.8; }
.news-action-form,.news-editor-form { margin-top:20px; }
.news-action-form p,.news-editor-form p { display:grid; gap:8px; min-width:0; }
.news-page input,.news-page textarea,.news-page select { min-width:0; width:100%; max-width:100%; }
.news-page textarea { resize:vertical; }
.news-page .button,.news-entry { white-space:normal; overflow-wrap:anywhere; }
.news-editor-actions { display:flex; gap:12px; flex-wrap:wrap; }
.news-history-heading { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; }
.news-history>.form-note { margin-top:12px; }
.news-revisions { margin-top:18px; }
.news-revision { border-top:1px solid var(--border); }
.news-revision summary { min-height:44px; padding:18px 0; cursor:pointer; overflow-wrap:anywhere; }
.news-revision summary>span { color:var(--muted); font-size:.75rem; display:block; margin-top:6px; }
.news-revision-content { padding:0 0 22px; }
.news-revision-content h3 { margin-top:16px; overflow-wrap:anywhere; }
.news-revision-content .news-body { margin-top:12px; }
.news-reason { padding:14px; background:var(--surface-alt); border-radius:9px; font-size:.85rem; line-height:1.8; overflow-wrap:anywhere; margin-top:18px; }
.news-conflict { border:1px solid var(--accent); }
.news-conflict>p { margin-top:14px; line-height:1.8; font-size:.9rem; }
.news-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-block:20px; }
.news-compare>section { min-width:0; background:var(--surface-alt); padding:18px; border-radius:10px; }
.news-compare h3 { font-size:.9rem; margin-bottom:14px; }
.news-compare h4 { overflow-wrap:anywhere; }
.news-compare .news-body { font-size:.85rem; margin-top:12px; }
.news-entry-card .button { margin-top:18px; }
@media(max-width:1000px) { .news-layout { grid-template-columns:1fr; } }
@media(max-width:600px) { .news-compare { grid-template-columns:1fr; } .news-toolbar>.button { width:100%; } .news-search input { flex-basis:100%; } .news-search button,.news-search .button { flex:1; } .news-card-footer>.button { width:100%; } .news-editor-actions>.button { width:100%; } }

/* Private news must fit even an uninterrupted account name. */
.news-page { overflow-wrap: anywhere; }

/* World records: a shared manager workspace with a narrow-screen card layout. */
@layer pages {
 .ratings-page { min-width:0; overflow-wrap:anywhere; }
 .ratings-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
 .ratings-tabs a { display:flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--border); border-radius:12px; font-weight:700; text-decoration:none; }
 .ratings-tabs a[aria-current] { background:var(--accent); color:var(--surface); border-color:var(--accent); }
 .ratings-filters { display:grid; grid-template-columns:minmax(130px,.8fr) minmax(140px,1.2fr) minmax(130px,1fr) minmax(130px,1fr) auto; gap:14px; align-items:end; }
 .ratings-filters label,.ratings-period label { display:grid; gap:7px; min-width:0; font-size:.85rem; font-weight:600; }
 .ratings-filters input,.ratings-filters select,.ratings-period select { width:100%; min-width:0; min-height:44px; }
 .ratings-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin:24px 0 16px; }
 .ratings-heading h2,.ratings-heading p { margin:0; }
 .ratings-heading h2 { font-size:1.05rem; }
 .ratings-heading h2 .muted { font-size:.9em; font-weight:400; }
 .ratings-heading p { margin-top:6px; }
 .ratings-table { overflow:hidden; }
 .ratings-table-head,.ratings-row { display:grid; grid-template-columns:54px minmax(0,2.4fr) minmax(110px,1.2fr) minmax(115px,1.15fr) minmax(86px,.8fr); gap:14px; align-items:center; padding:18px 22px; }
 .ratings-table-head { background:var(--surface-alt); color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; }
 .ratings-row+.ratings-row { border-top:1px solid var(--border); }
 .ratings-row>div { min-width:0; }
 .ratings-row small { display:block; color:var(--muted); font-size:.72rem; line-height:1.6; }
 .ratings-place strong { font-size:1.25rem; }
 .ratings-place>small { display:none; }
 .ratings-team-link { display:flex; align-items:center; gap:12px; min-height:44px; color:var(--ink); text-decoration:none; }
 .ratings-team-link>span:last-child { min-width:0; }
 .ratings-team-link .crest { flex-shrink:0; }
 .ratings-team-link strong { font-size:.9rem; }
 .ratings-team-link:hover strong { color:var(--accent); }
 .ratings-own { box-shadow:inset 3px 0 var(--accent); background:color-mix(in srgb,var(--accent) 4%,var(--surface)); }
 .ratings-wdl strong,.ratings-medals strong { font-size:.8rem; }
 .ratings-medals strong { display:flex; flex-wrap:wrap; gap:6px; }
 .ratings-score>strong { font-size:1.35rem; }
 .ratings-empty { padding:30px; grid-column:1/-1; }
 .ratings-empty h3 { margin-top:0; }
 .ratings-empty p { margin-bottom:0; }
 .ratings-rules { margin-top:24px; }
 .ratings-rules summary { min-height:50px; cursor:pointer; padding:16px 22px; font-weight:700; }
 .ratings-rules-body { padding:0 22px 16px; font-size:.85rem; line-height:1.7; }
 .ratings-rule-values { display:grid; gap:8px; margin:16px 0; }
 .ratings-rule-values>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; border-bottom:1px solid var(--border); padding:8px 0; }
 .ratings-rule-values dt { min-width:0; }
 .ratings-rule-values dd { margin:0; font-weight:700; }
 .ratings-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:16px; }
 .ratings-record-heading { display:flex; align-items:center; gap:20px; }
 .ratings-record-heading>.crest { flex-shrink:0; }
 .ratings-record-heading>div { min-width:0; }
 .ratings-record-heading h2,h3 { overflow-wrap:anywhere; }
 h1 { font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.2; margin:8px 0; }
 .ratings-record-heading p { margin:0; }
 .ratings-manager { min-width:0; }
 .ratings-manager small { display:block; margin-top:6px; }
 .ratings-manager a { display:inline-flex; align-items:center; min-height:44px; }
 .ratings-period { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
 .ratings-period label { min-width:145px; flex:1; }
 .ratings-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
 .ratings-stat-grid>div { min-width:0; display:flex; flex-direction:column; gap:8px; }
 .ratings-stat-grid>div>span:last-child { font-size:.8rem; color:var(--muted); }
 .ratings-stat-value { font-size:2rem; line-height:1.2; }
 .ratings-stat-wdl { font-size:1.7rem; }
 .ratings-section { margin-top:30px; }
 .ratings-trophies { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
 .ratings-trophy { display:flex; gap:15px; align-items:flex-start; min-width:0; }
 .ratings-trophy>div { min-width:0; }
 .ratings-trophy-medal { font-size:2rem; flex-shrink:0; }
 .ratings-trophy h3 { margin:8px 0; font-size:1rem; }
 .ratings-trophy h3 a { display:inline-flex; align-items:center; min-height:44px; }
 .ratings-trophy p { margin:8px 0; font-size:.8rem; }
 .ratings-trophy strong,.ratings-trophy small { display:block; }
 .ratings-match-list { overflow:hidden; }
 .ratings-match { display:grid; grid-template-columns:minmax(90px,.7fr) minmax(0,2fr) 20px; gap:16px; align-items:center; min-height:64px; padding:18px 22px; color:var(--ink); text-decoration:none; }
 .ratings-match+.ratings-match { border-top:1px solid var(--border); }
 .ratings-match:hover { background:var(--surface-alt); }
 .ratings-match-date { font-size:.8rem; min-width:0; }
 .ratings-match-date small { display:block; color:var(--muted); font-size:.7rem; margin-top:5px; }
 .ratings-match-teams { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; align-items:center; text-align:center; font-size:.85rem; }
 .ratings-match-teams strong { white-space:nowrap; }
 .ratings-match>.muted { grid-column:1/-1; font-size:.75rem; }
 .ratings-match-arrow { grid-column:3; grid-row:1; }
}
@layer responsive {
 @media(max-width:1250px) { .ratings-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .ratings-filters button { justify-self:start; } .ratings-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:900px) { .ratings-table-head { display:none; } .ratings-row { grid-template-columns:44px minmax(0,1fr) 100px; gap:12px; } .ratings-team { grid-column:2/-1; } .ratings-wdl { grid-column:2; grid-row:2; } .ratings-medals { grid-column:2; grid-row:3; } .ratings-score { grid-column:3; grid-row:2/4; text-align:right; } .ratings-place>small { display:block; } }
 @media(max-width:520px) { .ratings-filters { grid-template-columns:minmax(0,1fr); padding:18px; } .ratings-filters button { width:100%; } .ratings-tabs a { flex:1 1 100%; justify-content:center; text-align:center; } .ratings-row { padding:18px; grid-template-columns:34px minmax(0,1fr) 78px; gap:10px; } .ratings-row .crest { display:none; } .ratings-record-heading { gap:14px; align-items:flex-start; } .ratings-record-heading>.crest { width:44px; height:50px; font-size:.85rem; } .ratings-stat-grid { gap:12px; } .ratings-stat-grid>.card { padding:16px; } .ratings-stat-value,.ratings-stat-wdl { font-size:1.4rem; } .ratings-stat-grid .eyebrow { font-size:.55rem; } .ratings-period { width:100%; } .ratings-match { grid-template-columns:minmax(0,1fr) 16px; gap:12px; padding:18px; } .ratings-match-date { grid-column:1; } .ratings-match-teams { grid-column:1/-1; grid-row:2; font-size:.8rem; gap:8px; } .ratings-match-arrow { grid-column:2; } .ratings-trophy { padding:18px; } }
}

/* Personal manager records keep their snapshots when the touchline changes. */
.career-page { min-width:0; overflow-wrap:anywhere; }
.career-page .ratings-record-heading { margin-bottom:24px; }
.career-roles { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.career-roles a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 15px; border:1px solid var(--border); border-radius:12px; font-size:.85rem; font-weight:600; text-decoration:none; }
.career-roles a[aria-current] { color:var(--accent); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 7%,var(--surface)); }
.career-filters { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(180px,1.4fr) auto; gap:16px; align-items:end; }
.career-filters label,.career-period label { display:grid; gap:7px; min-width:0; font-size:.85rem; font-weight:600; }
.career-filters input,.career-filters select,.career-period select { width:100%; min-width:0; min-height:44px; }
.career-period { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }
.career-period label { min-width:150px; flex:1; }
.career-history-note { margin:22px 0; color:var(--muted); font-size:.85rem; line-height:1.7; }
.career-appointments h2 { margin:0 0 12px; font-size:1rem; }
.career-appointments>div { display:flex; flex-wrap:wrap; gap:16px 28px; }
.career-appointments>div>.career-appointment { min-width:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:44px; gap:5px; }
.career-appointments>div>p { margin:0; }
.career-appointments>p { margin:14px 0 0; font-size:.8rem; line-height:1.6; }
.career-medals { font-size:1.3rem; line-height:1.7; }
.career-events { display:grid; gap:14px; }
.career-event { min-width:0; }
.career-event-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 20px; align-items:center; }
.career-event-top time { color:var(--muted); font-size:.75rem; }
.career-event-main { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; margin-top:14px; }
.career-event-main>div { min-width:0; }
.career-event h3 { margin:0 0 8px; font-size:1rem; line-height:1.5; }
.career-event-main p { margin:8px 0; font-size:.85rem; line-height:1.6; }
.career-event-main small { font-size:.75rem; line-height:1.6; }
.career-event-points { display:flex; flex-direction:column; align-items:flex-end; font-size:1.65rem; color:var(--accent); white-space:nowrap; }
.career-event-points small { color:var(--muted); font-weight:400; }
.career-event-negative { color:var(--ink); }
.career-source { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; font-size:.85rem; }
.career-rules { margin-top:24px; }
.career-rules summary { min-height:50px; cursor:pointer; padding:16px 22px; font-weight:700; }
.career-rules-body { padding:0 22px 16px; font-size:.85rem; line-height:1.7; }
@media(max-width:800px) { .career-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .career-filters button { justify-self:start; } }
@media(max-width:520px) { .career-roles { gap:8px; } .career-roles a { flex:1 1 calc(50% - 8px); padding:10px; text-align:center; } .career-filters { grid-template-columns:minmax(0,1fr); padding:18px; } .career-filters button { width:100%; } .career-period { width:100%; } .career-event { padding:18px; } .career-event-main { grid-template-columns:minmax(0,1fr) 58px; gap:10px; } .career-event-points { font-size:1.35rem; } .career-medals { font-size:1rem; } }

/* Account reputation and the shared Umnik table use existing theme tokens. */
.reputation-page,.umnik-page { min-width:0; overflow-wrap:anywhere; }
.reputation-heading-link,.umnik-heading-link { display:inline-flex; align-items:center; min-height:44px; }
.reputation-heading,.umnik-section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin:24px 0 16px; }
.reputation-heading h2,.umnik-section-heading h2 { margin:0; font-size:1.15rem; }
.reputation-heading p,.umnik-section-heading p { margin:7px 0 0; }
.reputation-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.reputation-stat-grid>.card { min-width:0; display:flex; flex-direction:column; gap:8px; }
.reputation-stat-grid>.card>span:last-child { color:var(--muted); font-size:.8rem; }
.reputation-value { font-size:2rem; line-height:1.2; }
.reputation-thanks { margin-top:24px; }
.reputation-thanks h2 { margin:0 0 8px; font-size:1.15rem; }
.reputation-thanks p { line-height:1.7; }
.reputation-thank-form { display:flex; flex-wrap:wrap; gap:14px; align-items:end; margin-top:16px; }
.reputation-thank-form label { display:grid; gap:7px; flex:1 1 240px; min-width:0; font-size:.85rem; font-weight:600; }
.reputation-thank-form select { width:100%; min-width:0; min-height:44px; }
.reputation-empty-note { padding:14px; background:var(--surface-alt); border-radius:10px; color:var(--muted); }
.reputation-own-link { margin-top:20px; }
.reputation-history { margin-top:30px; }
.reputation-events { display:grid; gap:12px; }
.reputation-event { display:grid; grid-template-columns:minmax(0,1fr) 45px; gap:20px; align-items:start; }
.reputation-event>div { min-width:0; }
.reputation-event-top { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; align-items:center; }
.reputation-event-top time { color:var(--muted); font-size:.75rem; }
.reputation-event h3 { font-size:1rem; margin:12px 0 8px; line-height:1.6; }
.reputation-event p { margin:8px 0 0; font-size:.8rem; }
.reputation-delta { font-size:1.65rem; text-align:right; color:var(--accent); white-space:nowrap; }
.reputation-event[data-kind=bribe] .reputation-delta,.reputation-event[data-kind=diversion] .reputation-delta,.reputation-event[data-kind=scout] .reputation-delta { color:var(--ink); }
.reputation-empty h3,.umnik-empty h3 { margin-top:0; font-size:1rem; }
.reputation-empty p,.umnik-empty p { margin-bottom:0; }
.reputation-strip { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; margin:20px 0; min-width:0; overflow-wrap:anywhere; }
.reputation-strip>div { flex:1 1 250px; min-width:0; display:flex; flex-direction:column; gap:8px; }
.reputation-strip strong { font-size:1.35rem; }
.reputation-strip strong small { font-size:.8rem; font-weight:400; }
.reputation-strip .muted { font-size:.8rem; }
.reputation-rules,.umnik-rules { margin-top:24px; }
.reputation-rules summary,.umnik-rules summary { min-height:50px; cursor:pointer; padding:16px 22px; font-weight:700; }
.reputation-rules-body,.umnik-rules-body { padding:0 22px 16px; font-size:.85rem; line-height:1.7; }
.umnik-community-entry { display:flex; flex-wrap:wrap; gap:18px 30px; align-items:center; justify-content:space-between; margin-bottom:22px; overflow-wrap:anywhere; }
.umnik-community-entry>div { min-width:0; flex:1 1 250px; }
.umnik-community-entry h2 { font-size:1.15rem; margin:7px 0; }
.umnik-community-entry p { margin:0; }
.umnik-round-layout { display:grid; grid-template-columns:minmax(0,2.5fr) minmax(200px,1fr); gap:20px; align-items:start; }
.umnik-round,.umnik-summary { min-width:0; }
.umnik-round-top { display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:space-between; align-items:center; }
.umnik-time-label { font-size:.75rem; color:var(--muted); }
.umnik-round h2 { margin:20px 0 14px; font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.55; }
.umnik-deadline { font-size:.85rem; line-height:1.7; }
.umnik-hints { margin:18px 0; }
.umnik-hint { padding:14px 16px; border-left:3px solid var(--accent); background:var(--surface-alt); border-radius:0 10px 10px 0; margin:10px 0; }
.umnik-hint>span { color:var(--muted); font-size:.7rem; font-weight:700; }
.umnik-hint p { margin:5px 0 0; line-height:1.6; }
.umnik-answer-form { display:flex; flex-wrap:wrap; gap:14px; align-items:end; margin-top:20px; }
.umnik-answer-form label { display:grid; gap:7px; flex:1 1 180px; min-width:0; font-size:.85rem; font-weight:600; }
.umnik-answer-form input[type=text] { min-height:44px; width:100%; }
.umnik-status-note { padding:14px 16px; border:1px solid var(--border); background:var(--surface-alt); border-radius:10px; line-height:1.7; }
.umnik-form-errors { padding:12px 16px; border:1px solid var(--accent); border-radius:10px; }
.umnik-own-result { margin-top:22px; padding-top:18px; border-top:1px solid var(--border); }
.umnik-own-result p { font-size:.8rem; margin:9px 0; }
.umnik-attempts { margin:12px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.umnik-attempts li { display:flex; flex-wrap:wrap; gap:5px 20px; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); font-size:.8rem; }
.umnik-attempts span { color:var(--muted); }
.umnik-first { font-size:.8rem; line-height:1.8; }
.umnik-first a { display:inline-flex; align-items:center; min-height:44px; }
.umnik-reveal { margin:20px 0; padding:18px; background:var(--surface-alt); border-radius:12px; }
.umnik-reveal h3 { margin:8px 0; font-size:1.1rem; }
.umnik-reveal p { margin:9px 0 0; line-height:1.7; }
.umnik-round-bottom { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; justify-content:space-between; margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }
.umnik-round-bottom p { margin:0; font-size:.8rem; }
.umnik-summary h2 { font-size:2rem; margin:12px 0 8px; }
.umnik-summary p { line-height:1.7; }
.umnik-summary a { display:inline-flex; align-items:center; min-height:44px; }
.umnik-standings,.umnik-history { margin-top:30px; }
.umnik-period { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.umnik-period label { display:grid; gap:7px; min-width:150px; flex:1; font-size:.85rem; font-weight:600; }
.umnik-period select { width:100%; min-height:44px; }
.umnik-board { overflow:hidden; }
.umnik-board-row { display:grid; grid-template-columns:38px minmax(0,1fr) minmax(95px,.4fr); gap:16px; padding:18px 22px; align-items:center; }
.umnik-board-row+.umnik-board-row { border-top:1px solid var(--border); }
.umnik-board-row>div { text-align:right; min-width:0; }
.umnik-board-row>a { display:flex; align-items:center; min-height:44px; min-width:0; font-size:.85rem; }
.umnik-board-rank { font-weight:700; font-size:1.15rem; }
.umnik-board-row>div strong { display:block; font-size:1.35rem; }
.umnik-board-row>div small { display:block; color:var(--muted); font-size:.75rem; }
.umnik-board-own { box-shadow:inset 3px 0 var(--accent); background:color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.umnik-history-list { display:grid; gap:12px; }
.umnik-history-item summary { display:flex; gap:12px; align-items:center; padding:18px 22px; min-height:64px; cursor:pointer; }
.umnik-history-item summary::before { content:'▸'; color:var(--accent); flex-shrink:0; }
.umnik-history-item[open] summary::before { content:'▾'; }
.umnik-history-item summary>span:first-of-type { min-width:0; flex:1; }
.umnik-history-item summary small,.umnik-history-item summary strong { display:block; }
.umnik-history-item summary small { font-size:.75rem; color:var(--muted); margin-bottom:6px; }
.umnik-history-item summary strong { font-size:.9rem; }
.umnik-history-result { font-size:.75rem; color:var(--muted); max-width:130px; }
.umnik-history-body { padding:0 22px 18px; line-height:1.7; }
.umnik-history-body h3 { font-size:1rem; margin-top:0; }
.umnik-history-body a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:1250px) { .reputation-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .umnik-round-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:520px) { .reputation-stat-grid { gap:12px; } .reputation-stat-grid>.card { padding:16px; } .reputation-stat-grid .eyebrow { font-size:.55rem; } .reputation-value { font-size:1.5rem; } .reputation-thanks,.reputation-event,.reputation-strip,.umnik-round,.umnik-summary { padding:18px; } .reputation-event { gap:12px; grid-template-columns:minmax(0,1fr) 32px; } .reputation-thank-form label,.umnik-answer-form label { flex-basis:100%; } .reputation-thank-form button,.umnik-answer-form button { width:100%; } .umnik-board-row { padding:16px; grid-template-columns:24px minmax(0,1fr) 76px; gap:10px; } .umnik-period { width:100%; } .umnik-history-item summary { flex-wrap:wrap; padding:16px; gap:10px; } .umnik-history-result { margin-left:20px; max-width:none; flex:1 1 100%; } .umnik-history-body { padding:0 16px 16px; } .umnik-round-bottom .button { width:100%; } }

/* Private editorial manuscripts use account-level surfaces and touch targets. */
.umnik-editorial-page,.umnik-submission-page { min-width:0; overflow-wrap:anywhere; }
.umnik-editorial-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:14px; }
.umnik-editorial-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.umnik-editorial-tabs a { display:flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--border); border-radius:12px; font-weight:600; text-decoration:none; }
.umnik-editorial-tabs a[aria-current] { background:var(--accent); color:var(--surface); border-color:var(--accent); }
.umnik-editorial-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.umnik-editorial-stats>.card { min-width:0; display:flex; flex-direction:column; gap:8px; }
.umnik-editorial-stats>.card>strong { font-size:1.8rem; }
.umnik-editorial-stats>.card>span:last-child { font-size:.8rem; color:var(--muted); }
.umnik-editorial-note { padding:16px 18px; border:1px solid var(--border); border-radius:12px; background:var(--surface-alt); line-height:1.7; }
.umnik-editorial-note a { display:inline-flex; align-items:center; min-height:44px; }
.umnik-editorial-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin:28px 0 16px; }
.umnik-editorial-heading h2 { margin:0; font-size:1.15rem; }
.umnik-editorial-heading p { margin:8px 0 0; }
.umnik-editorial-list { display:grid; gap:14px; }
.umnik-editorial-item { min-width:0; }
.umnik-editorial-item-top { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.umnik-editorial-item h3 { font-size:1.1rem; margin:16px 0 10px; line-height:1.6; }
.umnik-editorial-item p { font-size:.8rem; margin:8px 0; }
.umnik-editorial-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:16px; }
.umnik-editorial-actions small { flex:1 1 200px; line-height:1.7; }
.umnik-editorial-empty { line-height:1.7; }
.umnik-editorial-empty h3 { margin-top:0; font-size:1.05rem; }
.umnik-editorial-empty p { margin-bottom:0; }
.umnik-editorial-period { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.umnik-editorial-period label { display:grid; gap:7px; min-width:150px; flex:1; font-size:.85rem; font-weight:600; }
.umnik-editorial-period select { width:100%; min-height:44px; }
.umnik-editorial-board { overflow:hidden; }
.umnik-editorial-board-row { display:grid; grid-template-columns:36px minmax(0,1fr) 100px; gap:16px; padding:18px 22px; align-items:center; }
.umnik-editorial-board-row+.umnik-editorial-board-row { border-top:1px solid var(--border); }
.umnik-editorial-board-row>a { min-width:0; display:flex; align-items:center; min-height:44px; font-size:.85rem; }
.umnik-editorial-board-row>div { text-align:right; }
.umnik-editorial-board-row>div strong { display:block; font-size:1.35rem; }
.umnik-editorial-board-row small { display:block; font-size:.75rem; color:var(--muted); }
.umnik-editorial-form { display:grid; gap:20px; }
.umnik-editorial-form>label { display:grid; gap:8px; min-width:0; }
.umnik-editorial-form input:not([type=hidden]),.umnik-editorial-form textarea,.umnik-editorial-form select { width:100%; min-height:44px; min-width:0; }
.umnik-editorial-form small { font-size:.8rem; font-weight:400; line-height:1.7; }
.umnik-editorial-form>.button { justify-self:start; }
.umnik-editorial-form .form-note { margin:0; }
.umnik-editorial-errors { margin:18px 0; padding:14px 18px; border:1px solid var(--accent); border-radius:12px; line-height:1.7; }
.umnik-editorial-errors ul { margin:8px 0; padding-left:22px; }
.umnik-editorial-rules { margin-top:26px; }
.umnik-editorial-rules summary { min-height:50px; cursor:pointer; padding:16px 22px; font-weight:700; }
.umnik-editorial-rules>div { padding:0 22px 16px; line-height:1.7; font-size:.85rem; }
.umnik-editorial-version-list { display:grid; gap:12px; }
.umnik-editorial-version { display:flex; flex-direction:column; gap:8px; color:var(--ink); text-decoration:none; min-height:44px; }
.umnik-editorial-version[aria-current] { border-color:var(--accent); }
.umnik-submission-question h2 { font-size:1.35rem; line-height:1.6; margin-top:0; }
.umnik-submission-solution,.umnik-submission-review { margin-top:20px; }
.umnik-submission-solution h2 { font-size:1.4rem; margin:16px 0; }
.umnik-submission-solution h3,.umnik-submission-review h2 { font-size:1.1rem; }
.umnik-submission-solution li { margin:10px 0; line-height:1.7; }
.umnik-submission-solution p { line-height:1.7; }
.umnik-submission-history { margin-top:28px; }
.umnik-submission-history-item h3 { margin:10px 0; font-size:1rem; }
.umnik-submission-history-item p { margin:10px 0 0; line-height:1.7; }
@media(max-width:800px) { .umnik-editorial-stats { grid-template-columns:minmax(0,1fr); } }
@media(max-width:520px) { .umnik-editorial-item,.umnik-submission-page>.card,.umnik-submission-history-item,.umnik-editorial-version { padding:18px; } .umnik-editorial-tabs a { flex:1 1 100%; justify-content:center; } .umnik-editorial-stats { gap:12px; } .umnik-editorial-stats>.card { padding:18px; } .umnik-editorial-stats>.card>strong { font-size:1.5rem; } .umnik-editorial-period { width:100%; } .umnik-editorial-board-row { grid-template-columns:24px minmax(0,1fr) 76px; gap:10px; padding:16px; } .umnik-editorial-form>.button { width:100%; } .umnik-editorial-item h3,.umnik-submission-question h2 { font-size:1.1rem; } }

.umnik-submission-publication { margin-top:20px; line-height:1.7; }
.umnik-submission-publication h2 { font-size:1.2rem; margin:12px 0; }

/* Optional account presence; no last-seen clock or private section indicator. */
.presence-page { min-width:0; overflow-wrap:anywhere; }
.presence-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:14px; }
.presence-heading-actions { display:flex; flex-wrap:wrap; gap:10px; }
.presence-own { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
.presence-own>div { flex:1 1 260px; min-width:0; }
.presence-own h2,.privacy-page h2 { font-size:1.15rem; margin:0 0 10px; }
.presence-own p { margin:0; font-size:.85rem; line-height:1.7; }
.presence-own>a { display:inline-flex; align-items:center; min-height:44px; }
.presence-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.presence-stats>.card { min-width:0; display:flex; flex-direction:column; gap:12px; }
.presence-stats strong { font-size:1.8rem; }
.presence-list-section { margin-top:26px; }
.presence-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.presence-filters label { display:grid; min-width:0; flex:1 1 170px; gap:8px; font-size:.85rem; }
.presence-filters label:first-child { flex-basis:220px; }
.presence-filters input,.presence-filters select { width:100%; min-width:0; min-height:44px; }
.presence-list-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:24px 0 16px; }
.presence-list-heading h2 { font-size:1.15rem; margin:0; }
.presence-list { overflow:hidden; }
.presence-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,auto); gap:14px 24px; align-items:center; padding:18px 22px; }
.presence-row+.presence-row { border-top:1px solid var(--border); }
.presence-row>a { min-width:0; display:flex; align-items:center; min-height:44px; font-size:.9rem; }
.presence-row>div { display:flex; flex-direction:column; align-items:end; gap:6px; text-align:right; font-size:.85rem; }
.presence-status { line-height:1.5; }
.presence-status-online { color:var(--accent); }
.presence-empty { line-height:1.7; }
.presence-empty h3 { font-size:1.05rem; margin-top:0; }
.presence-empty p { margin-bottom:0; }
.presence-rules { margin-top:26px; }
.presence-rules summary { min-height:50px; padding:16px 22px; cursor:pointer; font-weight:700; }
.presence-rules>div { padding:0 22px 16px; font-size:.85rem; line-height:1.7; }
.privacy-summary { margin-bottom:20px; line-height:1.7; }
.privacy-summary h2 { margin:14px 0; font-size:1.4rem; }
.privacy-summary p { margin:12px 0; }
.privacy-editor h2 { margin-bottom:20px; }
.privacy-form { display:grid; gap:18px; }
.privacy-checkbox { display:flex; align-items:center; gap:14px; min-height:56px; cursor:pointer; }
.privacy-checkbox input { width:24px; height:24px; flex:0 0 24px; accent-color:var(--accent); }
.privacy-checkbox span { display:grid; gap:6px; }
.privacy-checkbox small { color:var(--muted); font-size:.8rem; font-weight:400; }
.privacy-form>p { margin:0; line-height:1.7; font-size:.85rem; }
.privacy-form>.button { justify-self:start; }
.presence-errors { border:1px solid var(--accent); border-radius:12px; padding:16px 18px; line-height:1.7; }
.presence-errors ul { padding-left:22px; }
@media(max-width:700px) { .presence-stats { gap:12px; } .presence-stats>.card { padding:18px; } .presence-stats .eyebrow { font-size:.55rem; } }
@media(max-width:520px) { .presence-row { grid-template-columns:minmax(0,1fr); padding:16px 18px; gap:8px; } .presence-row>div { align-items:start; text-align:left; } .presence-stats strong { font-size:1.4rem; } .presence-stats>.card { padding:14px; } .presence-filters label { flex-basis:100%; } .presence-filters .button,.privacy-form>.button { width:100%; } .presence-own,.privacy-summary,.privacy-editor { padding:18px; } .presence-heading-actions { width:100%; } .presence-heading-actions .button { flex:1 1 100%; } }

/* Paid scouts and security remain distinct from the club's facilities. */
.staff-intrigue-page,.intrigue-staff-page { min-width:0; overflow-wrap:anywhere; }
.staff-intrigue-note { margin-top:18px; line-height:1.7; }
.staff-intrigue-note h2 { font-size:1.1rem; margin:0 0 12px; }
.staff-intrigue-note p { font-size:.85rem; margin:10px 0; }
.intrigue-staff-posts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0 26px; }
.intrigue-staff-posts article { min-width:0; border:1px solid var(--border); border-radius:12px; padding:18px; }
.intrigue-staff-posts h3 { margin:0 0 12px; font-size:1.05rem; }
.intrigue-staff-posts p { margin:10px 0; font-size:.85rem; line-height:1.7; }
.intrigue-staff-person { font-weight:650; }
.intrigue-staff-posts a { min-height:44px; white-space:normal; }
.intrigue-staff-posts .text-link { display:flex; align-items:center; margin-top:8px; }
.intrigue-chance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px; }
.intrigue-chance-details { min-width:0; border:1px solid var(--border); border-radius:12px; padding:0 16px; }
.intrigue-chance-details summary { min-height:50px; padding:14px 0; cursor:pointer; font-size:.85rem; line-height:1.7; font-weight:650; }
.intrigue-chance-details dl { margin:0; }
.intrigue-chance-details dl>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 14px; padding:10px 0; border-top:1px solid var(--border); font-size:.8rem; line-height:1.7; }
.intrigue-chance-details dt { flex:1 1 150px; }
.intrigue-chance-details dd { margin:0; font-weight:650; white-space:nowrap; }
.intrigue-chance-details>p { font-size:.75rem; line-height:1.7; }
.intrigue-chance-total { font-weight:650; }
.intrigue-history-label { font-size:.8rem!important; line-height:1.7; }
.intrigue-staff-page .target-heading .tag { white-space:normal; }
@media(max-width:900px) { .intrigue-staff-posts,.intrigue-chance-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:520px) { .intrigue-staff-posts article { padding:16px; } .intrigue-staff-page>.card { padding:18px; } .intrigue-staff-page .intrigue-banner { padding:22px; } .intrigue-staff-page .inline-form select { min-width:0; max-width:100%; } }
/* National-team instructions: compact, touch-friendly and independent of club forms. */
.national-orders{margin-top:24px;scroll-margin-top:24px;min-width:0}
.national-orders h3{margin-top:24px}
.national-orders-standards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.national-orders label{display:flex;flex-direction:column;gap:8px;font-weight:600;min-width:0}
.national-orders select,.national-orders input[type=number]{width:100%;min-width:0;max-width:100%;min-height:44px}
.national-orders-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px;align-items:end;gap:16px;border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0;min-width:0}
.national-orders-row legend{font-weight:700;padding:0 6px}
.national-orders-plan{margin:12px 0;border:1px solid var(--border);border-radius:12px;padding:0 16px}
.national-orders-plan>summary{min-height:48px;display:list-item;padding:12px 0;font-weight:700;cursor:pointer}
.national-orders-plan[open]>summary .muted{display:none}
.national-orders-plan .national-orders-row{border:0;padding:0;margin:4px 0 16px}
.national-orders .national-orders-auto{flex-direction:row;align-items:center;min-height:44px;margin-top:12px;cursor:pointer}
.national-orders-auto input{width:20px;height:20px;flex:0 0 20px}
.national-orders-errors ul{padding-left:20px}
.national-saved-orders{margin-top:24px}
.national-saved-orders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.national-saved-orders article{min-width:0;overflow-wrap:anywhere}
.national-saved-orders dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}
.national-saved-orders dd{margin:0;text-align:right}
.national-saved-orders li{margin:8px 0}
@media(max-width:900px){.national-orders-standards{grid-template-columns:repeat(2,minmax(0,1fr))}.national-orders-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.national-orders-minute{grid-column:1/-1;max-width:160px}}
@media(max-width:560px){.national-orders-standards,.national-orders-row,.national-saved-orders-grid{grid-template-columns:minmax(0,1fr)}.national-orders-row{padding:12px;gap:12px}.national-orders button[type=submit]{width:100%}.national-saved-orders dl>div{flex-direction:column;gap:4px}.national-saved-orders dd{text-align:left}}

/* Addressed diversions: scoped forms and saved repair receipts. */
.diversant-panel { scroll-margin-top: 24px; }
.diversant-panel summary { min-height:48px; cursor:pointer; padding:12px 0; font-weight:700; }
.diversant-ready { border:1px solid var(--border); border-radius:12px; padding:18px; margin:18px 0; }
.diversant-ready h3 { margin-top:0; }
.diversant-price { white-space:nowrap; }
.diversant-hire { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:end; margin:20px 0; }
.diversant-hire label { display:grid; gap:8px; min-width:0; font-weight:700; }
.diversant-hire select { width:100%; min-width:0; min-height:48px; }
.diversant-hire .form-note { grid-column:1/-1; margin:0; }
.diversant-panel .button { white-space:normal; min-height:48px; }
@media(max-width:700px) { .diversant-hire { grid-template-columns:minmax(0,1fr); } .diversant-hire button { width:100%; } .diversant-panel .card-heading { flex-wrap:wrap; gap:12px; } }
.facility-diversions { scroll-margin-top: 24px; }
.facility-diversion-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px; margin: 20px 0; }
.facility-diversion-form label { display: grid; gap: 8px; font-weight: 700; min-width: 0; }
.facility-diversion-form select { width: 100%; min-width: 0; min-height: 48px; }
.facility-diversion-form .form-note { grid-column: 1 / -1; margin: 0; }
.facility-inventory summary, .facility-diversion-rules summary { min-height: 48px; cursor: pointer; padding: 12px 0; font-weight: 700; }
.facility-object-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.facility-object-grid article { min-width: 0; border: 1px solid var(--border); border-radius: 12px; padding: 16px; overflow-wrap: anywhere; }
.facility-object-grid p { margin: 8px 0; }
.facility-object-grid .button { white-space: normal; min-height: 44px; }
@media (max-width: 700px) {
 .facility-diversion-form, .facility-object-grid { grid-template-columns: minmax(0, 1fr); }
 .facility-diversions .card-heading { flex-wrap: wrap; gap: 12px; }
 .facility-diversion-form button { width: 100%; white-space: normal; min-height: 48px; }
}
/* Press-service forecasts and immutable gate receipts share the staff typography. */
.press-staff { margin: 20px 0; }
.press-staff p,.press-gate p,.press-estimate { overflow-wrap: anywhere; }
.press-forecast { padding: 12px 16px; margin: 16px 0; border-left: 3px solid var(--accent); }
.press-estimate { padding: 12px; border: 1px solid var(--border); border-radius: 12px; }
.press-details { margin-bottom: 16px; }
.press-details summary,.press-gate summary { min-height: 48px; padding: 12px 0; display: list-item; cursor: pointer; font-weight: 700; }
.press-gate { margin: 20px 0; }
.press-gate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
#facility-press .text-link { min-height: 44px; display: inline-flex; align-items: center; white-space: normal; }
@media (max-width: 760px) { .press-gate-grid { grid-template-columns: 1fr; gap: 0; } }
/* Optional stadium services reuse the estate cards and native disclosures. */
.stadium-business,.business-receipt { margin:20px 0; overflow-wrap:anywhere; }
.business-details summary,.business-receipt summary { display:list-item; min-height:48px; padding:12px 0; font-weight:700; cursor:pointer; }
.business-jumps { display:flex; flex-wrap:wrap; gap:4px 20px; margin:12px 0; }
.business-jumps .text-link,.business-estimate .text-link { display:inline-flex; align-items:center; min-height:44px; white-space:normal; }
.business-estimate { border:1px solid var(--border); border-radius:12px; padding:12px; margin:12px 0; overflow-wrap:anywhere; }
.business-estimate p { margin:4px 0; }
.business-receipt-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:16px 0; }
.business-receipt-grid > div { min-width:0; }
@media(max-width:1000px) { .business-receipt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .business-receipt-grid { grid-template-columns:1fr; gap:16px; } }
/* Comfort forecasts and the saved attendance breakdown follow the estate typography. */
.stadium-comfort { margin:20px 0; overflow-wrap:anywhere; }
.comfort-jumps { display:flex; flex-wrap:wrap; gap:4px 20px; margin:12px 0; }
.comfort-jumps .text-link,.comfort-estimate .text-link { display:inline-flex; align-items:center; min-height:44px; white-space:normal; }
.comfort-details summary,.comfort-receipt summary { display:list-item; min-height:48px; padding:12px 0; font-weight:700; cursor:pointer; }
.comfort-estimate,.comfort-receipt { border:1px solid var(--border); border-radius:12px; padding:12px; margin:12px 0; overflow-wrap:anywhere; }
.comfort-estimate p { margin:4px 0; }
.comfort-receipt-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.comfort-receipt-grid>div { min-width:0; }
@media(max-width:1000px) { .comfort-receipt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .comfort-receipt-grid { grid-template-columns:1fr; gap:8px; } }
/* Pitch care and deliberate removal use native disclosures and existing controls. */
.pitch-care,.pitch-care-receipt,.demolition-history { margin:20px 0; overflow-wrap:anywhere; }
.pitch-details summary,.pitch-care-receipt summary,.facility-demolition summary { display:list-item; cursor:pointer; font-weight:700; min-height:48px; padding:12px 0; }
.pitch-jumps { display:flex; flex-wrap:wrap; gap:4px 20px; margin:12px 0; }
.pitch-jumps .text-link { display:inline-flex; align-items:center; min-height:44px; white-space:normal; }
.pitch-care-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:16px 0; }
.facility-demolition { margin-top:16px; border-top:1px solid var(--border); overflow-wrap:anywhere; }
.facility-demolition .button { white-space:normal; min-height:48px; }
.pitch-estimate { border:1px solid var(--border); border-radius:12px; padding:12px; margin:12px 0; overflow-wrap:anywhere; }
.pitch-estimate .text-link { white-space:normal; min-height:44px; }
@media(max-width:700px) { .pitch-care-columns { grid-template-columns:1fr; gap:8px; } }
:root { --release-control-min: 48px; }
.release-card { margin-top: 24px; }
.release-card h2 { margin-top: 10px; }
.release-card form { margin: 20px 0; }
.release-card .button { min-height: var(--release-control-min); white-space: normal; }
.release-status strong, .release-candidate-status { color: var(--ink); }
.release-details { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 12px; }
.release-details summary { min-height: 44px; display: list-item; align-content: center; cursor: pointer; font-weight: 700; }
.release-details ol { padding-left: 22px; }
.release-details li { margin: 12px 0; overflow-wrap: anywhere; }
.release-details small { display: block; margin-top: 6px; }
@media (max-width: 700px) { .release-card .button { width: 100%; } }
/* Portable player development: full-width touch targets and collapsible detail. */
.player-development { margin-top: 1.25rem; min-width: 0; }
.player-development .tag { white-space: normal; overflow-wrap: anywhere; }
.development-details { margin-top: .8rem; border-top: 1px solid var(--border); padding-top: .4rem; }
.development-details summary { min-height: 44px; padding: .65rem 0; cursor: pointer; font-weight: 650; color: var(--ink); }
.development-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .8rem; margin-top: .8rem; }
.development-option { border: 1px solid var(--border); border-radius: 12px; padding: 1rem; min-width: 0; overflow-wrap: anywhere; }
.development-option h3 { margin: 0 0 .5rem; }
.development-option .button { min-height: 48px; width: 100%; white-space: normal; }
.development-option p { font-size: .9rem; }
.development-history { padding-left: 1.4rem; }
.development-history li { margin: .6rem 0; overflow-wrap: anywhere; }
.board-slot { border-top: 1px solid var(--border); margin: .6rem 0; padding: .4rem 0; }
.board-slot summary { min-height: 44px; display: list-item; padding: .6rem 0; cursor: pointer; font-weight: 650; }
.board-slot fieldset { border: 0; padding: .3rem 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.board-slot label, .board-backups label { display: grid; gap: .4rem; min-width: 0; margin-bottom: .8rem; }
.board-slot input,.board-slot select,.board-backups select { min-height: 48px; width: 100%; min-width: 0; }
.board-presets { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: 1rem; }
.board-preset { padding: 1rem; border: 1px solid var(--border); border-radius: 12px; min-width: 0; overflow-wrap: anywhere; }
.board-preset .button { min-height: 48px; width: 100%; margin-top: .5rem; }
@media(max-width:600px) { .board-slot fieldset { grid-template-columns: minmax(0,1fr); } }
.spatial-replay { margin-top: 1.2rem; }
.field-details { border-top: 1px solid var(--border); margin-top: .8rem; padding-top: .4rem; }
.field-details summary { min-height: 44px; padding: .6rem 0; cursor: pointer; font-weight: 650; }
.field-legend { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin: 1rem 0; }
.field-home { color: var(--ink); }
.field-replay-pitch { display: block; width: min(100%,580px); margin: 1rem auto; border-radius: 12px; border: 1px solid var(--border); }
.field-grass { fill: #1c533d; }
.field-lines { stroke: #d4ecdc; stroke-width: .35; }
.field-home-player { fill: #dcf092; stroke: #153c2b; stroke-width: .4; }
.field-away-player { fill: #fbecda; stroke: #73442c; stroke-width: .4; }
.field-player-number { fill: #162d21; font: bold 2.2px sans-serif; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.field-ball { fill: white; stroke: #142a20; stroke-width: .45; }
.field-controls { display: flex; gap: .7rem; align-items: center; }
.field-controls label { flex: 1; min-width: 0; display: grid; gap: .4rem; }
.field-controls input { width: 100%; min-height: 44px; }
.field-controls button { min-height: 48px; min-width: 48px; }
.spatial-table { min-width: 600px; }
.field-slot-list { columns: 2 250px; padding-left: 1.5rem; }
.field-slot-list li { break-inside: avoid; margin-bottom: .45rem; }

@layer pages {
 .live-events { display:grid; gap:14px; padding-left:22px; max-height:60vh; overflow-y:auto; overflow-wrap:anywhere; }
 [data-live-match] { margin-bottom:24px; overflow-wrap:anywhere; }
 [data-live-controls] details { border-top:1px solid var(--border); padding-top:14px; margin-top:18px; }
 [data-live-controls] summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:700; }
 [data-live-match] form,.form-grid { display:grid; gap:12px; min-width:0; margin-top:14px; }
 [data-live-match] label,.form-grid label { display:grid; gap:8px; min-width:0; }
 [data-live-match] select,.form-grid select,.form-grid input { width:100%; min-width:0; max-width:100%; min-height:44px; }
 [data-live-match] button,.form-grid button { max-width:100%; white-space:normal; min-height:44px; }
}
/* Match extras share one disclosure list, after the score, statistics and report. */
.match-secondary { margin-block:24px; padding:0 20px; }
.match-secondary>h2 { margin:0; padding:18px 0 12px; font-size:1rem; }
.match-secondary>details { margin:0; padding:0; border:0; border-top:1px solid var(--border); border-radius:0; box-shadow:none; background:transparent; overflow:visible; min-width:0; }
.match-secondary>details>summary { min-height:48px; padding:12px 0; line-height:1.5; font-size:.875rem; font-weight:600; cursor:pointer; overflow-wrap:anywhere; }
.match-secondary>details[open] { padding-bottom:16px; }
.match-secondary>details>:not(summary) { min-width:0; }
.match-secondary .appearances-grid { margin:8px 0 0; }
.match-secondary .appearance-card { border:0; border-radius:0; box-shadow:none; padding:12px 0; background:transparent; }
.match-secondary .field-details { margin-top:16px; }
.match-followup { display:flex; flex-wrap:wrap; gap:8px 24px; margin-block:12px; }
.match-preparation { margin-block:24px; }
.live-match-layout { display:grid; gap:24px; margin-block:24px; align-items:start; }
.live-match-layout.has-coach { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.live-match-layout.has-coach>.live-commentary { grid-column:2; grid-row:1; }
.live-match-layout.has-coach>.live-coach { grid-column:1; grid-row:1; }
.live-match-layout>* { min-width:0; }
.live-coach h2 { font-size:1rem; }
.live-coach p { font-size:.8125rem; }
@media(max-width:767px) {
 .live-match-layout.has-coach { grid-template-columns:minmax(0,1fr); gap:19px; }
 .live-match-layout.has-coach>.live-commentary,.live-match-layout.has-coach>.live-coach { grid-column:auto; grid-row:auto; }
 .match-secondary { padding-inline:16px; }
 .match-secondary .appearances-grid { grid-template-columns:minmax(0,1fr); }
}
/* Manager workflows share the established restrained palette and touch targets. */
.stack-form{display:grid;gap:1rem;min-width:0;margin-block:1rem}
.stack-form label,.workflow-records form label{display:grid;gap:.4rem;min-width:0}
.stack-form input:not([type=checkbox]):not([type=hidden]),.stack-form select,.stack-form textarea,.workflow-records form input:not([type=hidden]),.workflow-records form select{width:100%;max-width:100%;min-height:44px;box-sizing:border-box}
.stack-form .choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.5rem;min-width:0}
.stack-form .check-choice{display:flex;position:static;align-items:center;gap:.75rem;min-height:44px;padding:.5rem;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}
.stack-form .check-choice input{position:static;opacity:1;flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0}
.stack-form .check-choice span{display:block;min-width:0;min-height:0;border:0;padding:0;text-align:left;font-size:.85rem}
.stack-form .check-choice small{display:block;color:var(--muted);margin-top:.2rem}
.workflow-records form{display:grid;gap:.75rem;min-width:0}
.workflow-records form button,.stack-form button{max-width:100%;white-space:normal;min-height:44px}
.workflow-section p,.workflow-records p,.workflow-grid p{overflow-wrap:anywhere}
.workflow-grid form p{margin-block:1rem}
.workflow-grid .helptext{display:block;color:var(--muted);font-size:.85em;margin-block:.4rem}
.page-heading>div{min-width:0;overflow-wrap:anywhere}
.people-heading>div{overflow-wrap:anywhere}
.workflow-section summary,.workflow-grid summary,.workflow-records summary,#personal-wallet>summary,#group-training>summary,#group-medical>summary,#repair-plan>summary{min-height:44px;padding-block:.5rem;cursor:pointer}
.workflow-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-block:1.25rem}
.workflow-stack{display:grid;gap:1.25rem;align-content:start;min-width:0}
.workflow-section{margin-block:1.25rem;min-width:0}
.workflow-event{padding-block:1rem;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.workflow-event:last-child{border-bottom:0}

/* Club browsing shares the compact national-team cards and immediate actions. */
.club-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.club-directory-card{display:flex;flex-direction:column;gap:8px;padding:20px;min-width:0}
.club-directory-card .people-heading{gap:12px;margin:0 0 4px;align-items:center}
.club-directory-card .identity-mark{flex:none;font-size:.875rem}
.club-directory-card h2{font-size:1rem;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}
.club-directory-card p{margin:0;font-size:.875rem;line-height:1.5}
.club-directory-meta{color:var(--muted)}
.club-directory-debts{color:var(--ink)}
.club-directory-actions{display:flex;align-items:center;min-width:0;min-height:44px;margin-top:auto;padding-top:4px}
.club-directory-actions form,.club-directory-actions .form-actions{margin:0;min-width:0}
.club-claim-link{appearance:none;border:0;border-radius:0;background:none;padding:0;font:inherit;font-size:.8125rem;font-weight:600;text-align:left;cursor:pointer;white-space:normal}
.club-directory-actions .text-link{font-size:.8125rem;line-height:1.4}
.club-claim-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
.club-claim-link:disabled{opacity:.6;cursor:default}
@media(max-width:1200px){.club-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.club-directory-grid{grid-template-columns:minmax(0,1fr)}}
.workflow-summary{display:grid;gap:.5rem;margin-block:1rem}
.workflow-offer{padding:1rem;border:1px solid var(--border);border-radius:12px;min-width:0}
.workflow-inline,.workflow-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem;align-items:end}
.workflow-inline{margin-block:1rem}
.workflow-grid form,.workflow-grid fieldset,.workflow-filters label,.workflow-records{min-width:0}
.workflow-grid input:not([type=checkbox]):not([type=hidden]),.workflow-grid select,.workflow-grid textarea,.workflow-inline input,.workflow-filters input:not([type=checkbox]),.workflow-filters select{width:100%;max-width:100%;min-height:44px;box-sizing:border-box}
.workflow-grid form button{margin-block-start:1rem;max-width:100%;white-space:normal}
.workflow-grid form label,.workflow-filters label{display:block}
.workflow-check{display:flex!important;align-items:center;gap:.6rem;min-height:44px;padding:.4rem 0;overflow-wrap:anywhere}
.workflow-check input[type=checkbox]{width:22px;height:22px;min-width:22px;flex:0 0 22px}
.workflow-tabs,.workflow-pages{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-block:1rem}
.workflow-tabs a{display:flex;align-items:center;min-height:44px;padding:.5rem .9rem;border:1px solid var(--border);border-radius:10px}
.workflow-tabs a[aria-current=page]{font-weight:700;background:var(--lime);color:#153d30}
.workflow-records{display:grid;gap:.7rem;margin-block:1rem}
.workflow-record{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;overflow-wrap:anywhere}
.workflow-record>div{min-width:0}
.workflow-metrics{display:flex;gap:1.2rem;flex-wrap:wrap;margin:0}
.workflow-metrics div{display:grid;gap:.25rem}.workflow-metrics dd{margin:0;font-weight:700}.workflow-metrics dt{font-size:.85em}
.recovery-codes{border:1px solid var(--border);border-radius:10px;padding:1rem;margin-block:1rem;overflow-wrap:anywhere}
.recovery-codes ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.5rem;padding-inline-start:1.2rem}
.recovery-codes code{font-size:.9em;overflow-wrap:anywhere}
.identity-mark{--identity-bg:#194c3a;--identity-fg:#e6efbb;background:var(--identity-bg);color:var(--identity-fg);display:inline-flex;align-items:center;justify-content:center;gap:.15em;border-radius:10px;padding:.3em .45em;min-width:2.4em;min-height:2.4em;font-weight:750;line-height:1;vertical-align:middle}
.identity-mark svg{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.identity-blue{--identity-bg:#244a78;--identity-fg:#f2f4ec}.identity-burgundy{--identity-bg:#713d4b;--identity-fg:#fff1e3}.identity-amber{--identity-bg:#ebce83;--identity-fg:#343328}.identity-slate{--identity-bg:#43535a;--identity-fg:#f2f1e7}
@media(min-width:1100px){.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.manager-avatar>.identity-mark{width:100%;height:100%;min-width:0;min-height:0;padding:0;border-radius:inherit}.manager-avatar>.identity-mark svg{display:none}

.discussion-rows{max-height:28rem;overflow:auto;overscroll-behavior:contain}.discussion-rows p{white-space:pre-wrap;overflow-wrap:anywhere}[data-discussion-form] textarea{width:100%;max-width:100%;box-sizing:border-box}
.support-body{white-space:pre-wrap;overflow-wrap:anywhere}
.workflow-section .button{white-space:normal;max-width:100%}
.operator-links{flex-wrap:wrap;justify-content:flex-start}
.operator-links .button{white-space:normal;max-width:100%}
.workflow-grid{align-items:start}
.operator-case-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.operator-case-actions .button{flex:1 1 13rem;min-height:44px}

/* Task-focused navigation and reference pages. Native disclosures work without JS. */
.nav-group-toggle {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;list-style:none;border-radius:8px}
.nav-group-toggle::-webkit-details-marker {display:none}
.nav-group-toggle .nav-group-label {margin:0!important;padding:0 10px;font-size:.6875rem}
.nav-group-toggle>.icon {width:15px;height:15px;margin-right:8px;transition:transform .15s}
.nav-disclosure[open]>.nav-group-toggle>.icon {transform:rotate(90deg)}
.nav-disclosure>nav {margin-top:6px}
.sidebar .navigation-groups {gap:8px}
.sidebar .navigation-group+.navigation-group {padding-top:8px}
.nav-group-toggle:focus-visible {outline:2px solid currentColor;outline-offset:2px}
.help-reference {display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:.8125rem;color:var(--accent)}
.help-reference .icon {width:18px;height:18px;flex-shrink:0}
.help-search {display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.help-search input {flex:1 1 16rem;min-width:0}
.help-topics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.help-topic {display:flex;align-items:center;gap:16px;padding:22px;min-width:0}
.help-topic>span:nth-child(2) {flex:1;min-width:0}
.help-topic h2 {font-size:1rem;line-height:1.4;margin:4px 0 7px}
.help-topic p {margin:0;font-size:.8125rem;color:var(--muted);line-height:1.6}
.help-topic-icon {display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;color:var(--accent);background:var(--accent-soft)}
.help-topic>.icon {width:16px;height:16px;flex-shrink:0}
.help-article {max-width:860px;line-height:1.8;overflow-wrap:anywhere}
.help-article p {margin:0 0 1rem}
.help-rule {margin-bottom:28px}
.help-rule h2 {font-size:1.15rem;line-height:1.5;margin:0 0 16px}
.help-rule h2 small {display:block;font-size:.8125rem;color:var(--muted)}
.help-rule .rules-columns {display:block}
.help-rule .table-scroll {max-width:100%}
.position-matrix th,.position-matrix td {padding:10px;font-size:.75rem;text-align:center}
.help-footer {margin-top:28px}
.facility-groups {display:grid;gap:14px;margin-block:20px}
.facility-group {min-width:0;overflow:clip}
.facility-group>summary {display:flex;align-items:center;gap:12px;min-height:72px;padding:18px 22px;cursor:pointer;list-style:none}
.facility-group>summary::-webkit-details-marker {display:none}
.facility-group>summary>span {display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.facility-group>summary small {color:var(--muted);font-size:.75rem;white-space:nowrap}
.facility-group>summary>.icon {width:16px;height:16px}
.facility-group[open]>summary>.icon {transform:rotate(90deg)}
.facility-group-body {padding:0 20px 20px}
.facility-group-body>.estate-grid {margin:0}
.facility-group-body>.card {box-shadow:none;background:var(--surface-alt);margin-top:0}
.club-summary {margin:0 0 20px;color:var(--muted);font-size:.875rem}
.building-history>summary,.demolition-history>summary {min-height:44px;cursor:pointer;font-weight:650}
.coach-orders>summary {min-height:44px;cursor:pointer;font-weight:650;display:flex;align-items:center;gap:8px}
.coach-orders[open]>summary {margin-bottom:18px}

@media(max-width:600px) {.help-topics {grid-template-columns:1fr}.help-topic {padding:18px}.facility-group>summary {padding:16px}.facility-group-body {padding:0 12px 12px}.topbar {padding-inline:16px}.top-actions {gap:3px}.help-search {gap:8px}}

/* A single treatment for local navigation. Purchase/save controls remain buttons. */
.section-nav.section-nav {
  display:flex; flex-wrap:wrap; align-items:stretch; justify-content:flex-start;
  gap:0 24px; min-width:0; max-width:100%; margin:16px 0 22px; padding:0;
  border:0; border-bottom:1px solid var(--border); border-radius:0;
  background:none; overflow:visible;
}
.section-nav.section-nav>:is(a,[aria-current="page"]) {
  display:inline-flex; align-items:center; justify-content:flex-start; gap:7px;
  flex:0 0 auto; min-width:0; min-height:44px; margin:0; padding:10px 2px;
  border:0; border-bottom:2px solid transparent; border-radius:0; box-shadow:none;
  background:none; color:var(--muted); font-size:.875rem; font-weight:400;
  line-height:1.5; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:start; text-decoration:none;
}
.section-nav.section-nav>a:hover {color:var(--ink); border-bottom-color:var(--border)}
.section-nav.section-nav>[aria-current]:not([aria-current=false]) {
  color:var(--ink); font-weight:650; background:none; border-bottom-color:var(--accent);
}
.section-nav.section-nav>span[aria-current] {cursor:default}
.section-nav-count {
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  min-width:1.5em; padding:2px 6px; border:0; border-radius:4px;
  background:var(--surface-alt); color:inherit; font-size:.75rem; line-height:1.25;
  font-variant-numeric:tabular-nums;
}
.section-nav.section-nav>.section-nav-note {
  align-self:center; min-width:0; max-width:100%; padding:8px 0;
  color:var(--muted); font-size:.8125rem; line-height:1.5; overflow-wrap:anywhere;
}
.section-nav.section-nav>.market-budget {display:flex; flex-wrap:wrap; align-items:baseline; align-self:center; gap:4px 8px; min-width:0}
.section-nav.section-nav>.market-budget strong {margin:0}
.section-nav.section-nav>a:focus-visible {outline:2px solid var(--accent); outline-offset:-2px}
.section-nav.section-nav>a .icon {width:17px; height:17px; flex:none}
.section-nav.section-nav+.section-nav.section-nav {margin-top:-8px}
.help-directory {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start}
.help-category {min-width:0; scroll-margin-top:24px}
.help-category h2 {font-size:1rem; margin:0 0 10px; padding-bottom:10px; border-bottom:1px solid var(--border)}
.help-category .help-topic,.help-results .help-topic {
  display:flex; align-items:center; gap:10px; padding:10px 0; min-height:44px;
  border-bottom:1px solid var(--border); border-radius:0; background:none;
}
.help-topic>span {flex:1; min-width:0}
.help-topic strong {font-size:.875rem; font-weight:500; line-height:1.5}
.help-topic small {display:block; margin-top:4px; color:var(--muted); font-size:.8125rem}
.help-topic>.icon {width:17px; height:17px; flex:none; color:var(--muted)}
.help-topic:hover strong {color:var(--accent); text-decoration:underline; text-underline-offset:3px}
.help-results {max-width:850px}
.help-contents {margin:0 0 24px; padding:16px 20px; border-inline-start:2px solid var(--border)}
.help-contents ol {display:flex; flex-wrap:wrap; gap:8px 24px; margin:0; padding:0; list-style:none}
.help-contents a {display:inline-flex; align-items:center; min-height:32px; color:var(--accent); font-size:.875rem}
.help-rule h2 {scroll-margin-top:24px}
.coach-orders>summary::after {content:'⌄'; margin-inline-start:auto; font-size:1.2em}
.coach-orders[open]>summary::after {transform:rotate(180deg)}
@media(min-width:1100px) {
  main {padding:26px 32px}
  .page-heading {margin-bottom:20px; gap:20px}
  .page-heading p {margin-top:8px}
  .page-heading h1 {font-size:clamp(1.8rem,2.5vw,2.4rem)}
  .stats-row,.stats-row.three {padding-block:16px; margin-top:18px; margin-bottom:20px}
  .stat strong {font-size:1.6rem}
  .staff-grid h3 {margin-top:6px}
  .staff-grid p {line-height:1.5}
  .staff-market {gap:14px}
  .staff-market>.card {padding:20px}
  .facility-group>summary {min-height:56px; padding:12px 20px}
  .facility-groups {gap:10px}
}
@media(max-width:1000px) {.help-directory {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px) {
  .section-nav.section-nav {flex-wrap:nowrap; gap:20px; overflow-x:auto; padding-bottom:0; overscroll-behavior-x:contain; scrollbar-width:thin}
  .section-nav.section-nav>:is(a,[aria-current="page"]) {flex:0 0 auto; font-size:.8125rem}
  .roster-table td[data-label] {flex-wrap:wrap; min-width:0}
  .roster-table td[data-label]::before {max-width:100%; overflow-wrap:anywhere}
  .help-directory {grid-template-columns:1fr; gap:24px}
}
/* Chat keeps the conversation in one compact, scrollable surface. */
.chat-page { max-width: 1120px; }
.chat-page .page-heading { margin-bottom: 12px; }
.chat-surface.card { position: relative; overflow: hidden; padding: 0; }
.chat-log { height: clamp(300px, 56vh, 680px); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 4px 22px; }
.chat-message { padding: 12px 0; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.chat-message:last-child { border-bottom: 0; }
.chat-message header { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; font-size: .87rem; }
.chat-message header a { color: inherit; text-decoration: none; }
.chat-message header a:hover { text-decoration: underline; }
.chat-message time, .chat-message header small { color: var(--muted); font-size: .75rem; }
.chat-message p { margin: 4px 0 0; line-height: 1.5; }
.chat-bot { padding-left: 14px; border-left: 3px solid var(--accent); }
.chat-bot header strong { color: var(--accent); }
.chat-compose { display: flex; align-items: end; gap: 12px; padding: 16px 22px 8px; border-top: 1px solid var(--border); }
.chat-compose textarea { flex: 1; min-width: 0; min-height: 46px; height: 70px; max-height: 180px; resize: vertical; }
.chat-compose .button { min-height: 46px; }
.chat-status { min-height: 0; margin: 0; padding: 0 22px; font-size: .83rem; }
.chat-status:not(:empty) { padding-bottom: 12px; }
.chat-compose:has(+ .chat-status:empty) { padding-bottom: 16px; }
.chat-new { position:absolute; top:12px; bottom:auto; left:50%; transform:translateX(-50%); z-index:2; display:inline-flex; align-items:center; justify-content:center; min-height:44px; height:auto; max-width:calc(100% - 24px); border:1px solid var(--border); border-radius:24px; padding:8px 16px; background:var(--surface); color:var(--ink); font-size:.875rem; line-height:1.4; white-space:nowrap; box-shadow:0 3px 14px #0002; cursor:pointer; }
.chat-new[hidden] { display:none; }
.chat-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 14px; font-size: .82rem; }
.chat-footer .pagination { margin: 0; }
.chat-explanation { margin-top: 8px; font-size: .85rem; color: var(--muted); }
.chat-explanation summary { cursor: pointer; }
.chat-log:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.account-navigation { margin-bottom: 24px; }
.quiz-history-row { padding: 10px 0; border-bottom: 1px solid var(--border); }
.quiz-history-row summary { min-height: 44px; cursor: pointer; padding-block: 10px; }
.quiz-history-row p { margin-block: 6px; }
.sidebar .club-switch strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.people-grid { display: grid; grid-template-columns: 1fr; gap: 0; border-block: 1px solid var(--border); }
.people-card.card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 6px; border: 0; border-radius: 0; border-bottom: 1px solid var(--border); box-shadow: none; background: none; }
.people-card .people-heading, .people-card .social-actions { margin: 0; }
.people-card h2 { font-size: 1rem; }
.people-card .social-actions { flex: none; }
.estate-overview.card { padding-block: 16px; }
.estate-overview h2 { margin-top: 0; }
.estate-overview .eyebrow { display: none; }
#repair-plan.card, .building-history.card, .demolition-history.card { padding-block: 12px; }
#repair-plan>summary, .building-history>summary, .demolition-history>summary { min-height: 32px; padding-block: 4px; }
.mobile-nav button[aria-current=true] { color: var(--accent); }
.national-group-filter label { display:flex; align-items:center; gap:12px; min-width:0; }
.national-group-filter select { min-width:0; max-width:100%; }
@media (max-width: 650px) {
  .people-card.card { flex-wrap: wrap; gap: 12px; }
  #repair-plan>summary, .building-history>summary, .demolition-history>summary { min-height: 44px; }
  .chat-log { padding: 4px 14px; height: 49vh; min-height: 250px; }
  .chat-compose { padding: 12px 14px 8px; gap: 8px; }
  .chat-compose .button { padding-inline: 12px; }
  .chat-status { padding-inline: 14px; }
  .chat-message { padding-block: 10px; }
}

.dashboard-heading:has(+ .management-status) {padding-bottom:8px}
.management-status {display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:8px 0; margin-block:4px 16px; font-size:.875rem}
.management-status-copy {display:grid; flex:1 1 180px; gap:4px; min-width:0}
.management-status-note {color:var(--muted); font-size:.8125rem; line-height:1.5}
.management-status-tools {display:flex; align-items:center; gap:8px; min-width:0; max-width:100%}
.management-status .management-status-tools>.text-link {min-width:0; margin:0}
.management-status .help-link {display:inline-flex; align-items:center}
.management-warning {color:var(--text); border-inline-start:3px solid var(--accent); padding-inline-start:12px}
.management-warning>strong {flex-basis:100%}

.bank-question-form { max-width: 960px; }
.bank-question-form .stack-form p { margin:0; }
.bank-question-form .stack-form p > label { display:block; margin-bottom:8px; }
.bank-question-form .stack-form input:not([type=hidden]):not([type=checkbox]), .bank-question-form textarea { width:100%; }

/* Primary actions remain visible; a compact row keeps filter options together. */
.form-actions,.workflow-filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.workflow-filter-actions{grid-column:1/-1;justify-content:space-between}
.workflow-filter-actions .workflow-check{margin:0}
.workflow-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1rem;margin:0;color:var(--muted);font-size:.875rem}
.workflow-filter-summary strong{color:var(--ink);font-weight:600}
.workflow-filter-summary + .button{margin-left:auto}
.help-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0;vertical-align:middle}
.help-link svg{width:20px;height:20px}
.management-warning{color:var(--ink)}
.next-match-card .text-link { color:var(--lime); }
.mobile-fallback-navigation { display:none; }
@media(max-width:1000px) {
 .mobile-fallback-navigation { display:block; margin:12px var(--padding); padding:12px; border:1px solid var(--control-border); border-radius:9px; background:var(--surface); }
 .mobile-fallback-navigation>summary { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; font-weight:600; }
 .mobile-fallback-navigation>.navigation-groups { margin-top:12px; }
 .mobile-fallback-navigation [data-open],body:has(.mobile-fallback-navigation) .mobile-nav>button { display:none; }
 body:has(.mobile-fallback-navigation) .mobile-nav { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:1fr; }
}
.administration-list{list-style:none;margin:0;padding:0}
.administration-list li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:12px 0;border-bottom:1px solid var(--border)}
.administration-list li:first-child{padding-top:0}
.administration-list li:last-child{padding-bottom:0;border-bottom:0}
.administration-list a{display:inline-flex;align-items:center;min-height:44px}
.national-team-actions{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.national-team-actions a{display:inline-flex;align-items:center;min-height:44px}
.workflow-event:last-child{border-bottom:0}

/* A single short filter and its action stay in one row while space permits. */
@media (max-width:600px) {
 form.filter-bar:has(> label:first-child + button:last-child) { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:flex-start; }
 form.filter-bar:has(> label:first-child + button:last-child) > label { flex:0 1 auto; min-width:0; max-width:100%; }
 form.filter-bar:has(> label:first-child + button:last-child) > button { flex:0 0 auto; grid-column:auto; }
}

/* A compact team chooser replaces the repeated mobile page banner. */
:root { --danger:#ad3030; }
html[data-theme=dark] { --danger:#ffb4a9; }
.workspace-trigger.breadcrumbs { display:flex; flex:0 1 auto; gap:10px; min-height:44px; min-width:0; max-width:60%; padding:4px 8px; margin-left:-8px; text-align:left; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--ink); font:inherit; cursor:pointer; }
.workspace-trigger.breadcrumbs:hover { background:var(--surface-alt); border-color:var(--border); }
.workspace-trigger .workspace-trigger-copy { display:grid; min-width:0; gap:3px; }
.workspace-trigger strong { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8125rem; }
.workspace-trigger small { color:var(--muted); font-size:.6875rem; }
.workspace-trigger>.icon { width:14px; height:14px; flex-shrink:0; }
.lineup-choice { display:contents; }
.lineup-choice select { width:100%; }
.lineup-field>.position-tag { display:inline-flex; align-items:center; justify-content:center; margin:0; cursor:pointer; }
.lineup-field { display:grid; grid-template-columns:max(34px,2rem) minmax(0,1fr); align-items:center; }
.lineup-field>.position-tag { margin:0; width:100%; }
.lineup-choice .field-error { grid-column:2; margin:0; font-size:.8125rem; }
.field-error { color:var(--danger); }
select[aria-invalid=true],input[aria-invalid=true] { border:2px solid var(--danger); }
.form-error-summary { padding:18px 20px; margin:0 0 20px; border:2px solid var(--danger); border-radius:var(--radius); background:var(--surface); scroll-margin-block:20px; }
.form-error-summary h2 { margin:0 0 8px; font-size:1.125rem; }
.form-error-summary p { margin:8px 0; }
.form-error-summary ul { padding-left:20px; }
.form-error-summary a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.lineup-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; padding:12px 0; margin-bottom:12px; border-bottom:1px solid var(--border); background:var(--surface); }
.lineup-actions .button { flex:0 0 auto; }
.lineup-status { flex:1 1 150px; margin:0; color:var(--muted); font-size:.8125rem; line-height:1.5; }
.prediction-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.prediction-account { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; padding-block:14px; border-block:1px solid var(--border); }
.prediction-account p { margin:0; color:var(--muted); }
.prediction-account strong { display:block; color:var(--ink); font-size:1.25rem; }
.prediction-card h2 { margin:0; font-size:1.125rem; overflow-wrap:anywhere; }
.prediction-card h2 a { text-decoration:underline; text-underline-offset:3px; }
.prediction-time { margin:8px 0 16px; color:var(--muted); font-size:.8125rem; }
.prediction-state { margin:12px 0; }
.prediction-state>span { display:block; margin-top:4px; }
.prediction-paid { color:var(--accent); font-weight:650; }
.prediction-form { display:grid; gap:14px; }
.prediction-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.prediction-form legend { font-weight:650; margin-bottom:8px; }
.prediction-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.prediction-choices label { display:flex; gap:8px; align-items:center; min-width:0; min-height:48px; border:1px solid var(--border); border-radius:8px; padding:10px; font-size:.8125rem; cursor:pointer; }
.prediction-choices input { width:18px; height:18px; min-width:18px; min-height:18px; flex:0 0 18px; margin:0; accent-color:var(--accent); }
.prediction-choices label:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.prediction-choices label:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.prediction-form>.button { justify-self:start; }
.prediction-actions { display:flex; align-items:start; flex-wrap:wrap; gap:8px 20px; }
.prediction-edit { flex:1 1 170px; min-width:0; }
.prediction-edit[open] { flex-basis:100%; }
.prediction-edit>summary,.prediction-receipt>summary { cursor:pointer; min-height:44px; padding-block:10px; font-weight:600; }
.prediction-edit .prediction-form { margin-block:10px; }
.prediction-actions>form { margin:0; }
.prediction-receipt { margin-top:14px; border-top:1px solid var(--border); }
.prediction-receipt p { font-size:.8125rem; }
@media(max-width:1000px) { .prediction-list { grid-template-columns:1fr; } }
@media(max-width:600px) { .prediction-choices label { flex-direction:column; gap:6px; text-align:center; } .prediction-form>.button { justify-self:stretch; } }
[data-lineup-editor][data-dirty=true] .lineup-status { color:var(--ink); }
@media(max-width:1000px) {
 .workspace-trigger.breadcrumbs { max-width:calc(100% - 160px); }
 .workspace-trigger.breadcrumbs .workspace-trigger-copy { display:grid; }
 .workspace-trigger small { display:none; }
 .lineup-actions { position:sticky; top:0; z-index:4; box-shadow:0 -6px var(--surface),0 6px var(--surface); }
 .lineup-actions .button { flex:1 1 auto; }
 .lineup-field { scroll-margin-top:110px; }
}
@media(max-width:600px) {
 .topbar { gap:4px; }
 .workspace-trigger.breadcrumbs { flex:1 1 auto; max-width:none; gap:3px; }
 .workspace-trigger strong { font-size:.75rem; }
 .workspace-trigger>.icon { width:12px; }
 .count-metrics.stats-row.three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
 .count-metrics.stats-row.three .stat { padding:14px 10px; border:0; border-right:1px solid var(--border); min-width:0; align-content:start; gap:8px; }
 .count-metrics.stats-row.three .stat:first-child { padding-left:0; }
 .count-metrics.stats-row.three .stat:last-child { border-right:0; padding-right:0; }
 .count-metrics .stat>span:first-child { font-size:.75rem; overflow-wrap:anywhere; }
 .count-metrics .stat-foot { font-size:.6875rem; line-height:1.5; }
 .count-metrics .stat strong { font-size:1.65rem; }
 .market-player.card { padding:18px; }
 .market-player-profile { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:4px 12px; text-align:left; padding:0; margin:14px 0; }
 .market-player-profile .player-avatar-large { grid-row:1/3; width:48px; height:48px; margin:0; font-size:1rem; }
 .market-player-profile h2 { margin:0; font-size:1rem; }
 .market-player-profile p { margin:0; }
 .market-player-info { margin-top:12px; }
}
