:root { color-scheme: light; --navy: #071d33; --panel: #0e2030; --line: #c7d2dc; --gold: #c89a3c; --muted: #617483; }
.manual-kit-detail-dialog { width: min(900px, calc(100% - 24px)); max-height: 90vh; overflow: auto; border: 1px solid var(--line); border-radius: 10px; padding: 20px; }
.manual-kit-detail-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.kit-refinement-menu { grid-column: 1 / -1; min-width: 0; margin-top: 12px; border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.kit-refinement-menu > summary { cursor: pointer; font-weight: 600; }
.kit-paint-viewport { overflow: auto; max-height: 65vh; min-width: 0; }
.kit-contour-dialog figure { margin: 0; min-width: 0; }
.kit-contour-dialog .manual-kit-detail-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kit-contour-dialog img { display: block; width: 100%; background: #10283a; }
@media (max-width: 600px) { .kit-contour-dialog .manual-kit-detail-layout { grid-template-columns: 1fr; } }
.kit-paint-dialog .manual-kit-detail-layout canvas { display: block; max-width: none; cursor: crosshair; }
.kit-region-edit-dialog .manual-kit-detail-layout canvas { cursor: crosshair; }
.kit-region-edit-dialog [data-region-result] { margin: 0; }
.kit-region-edit-dialog [data-region-result] img { width: 100%; background: repeating-conic-gradient(#d9e0e5 0% 25%, #fff 0% 50%) 0 / 16px 16px; }
.manual-kit-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); gap: 18px; }
.manual-kit-detail-layout canvas { width: 100%; height: auto; touch-action: none; cursor: move; background: repeating-conic-gradient(#d9e0e5 0% 25%, #fff 0% 50%) 0 / 16px 16px; }
@media (max-width: 600px) { .manual-kit-detail-layout { grid-template-columns: 1fr; } }
* { box-sizing: border-box; }
body { margin: 0; color: #07111b; font: 16px/1.45 system-ui, sans-serif; background: #f6f8fa; }
header { display: flex; justify-content: space-between; padding: 18px max(20px, calc((100% - 1180px) / 2)); background: var(--navy); color: #fff; }
header a { color: #fff; font-weight: 700; text-decoration: none; }
main { width: min(1180px, calc(100% - 32px)); margin: 32px auto 80px; }
h1, h2, h3 { line-height: 1.1; }
.tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--line); }
button { border: 1px solid var(--navy); border-radius: 6px; padding: 8px 13px; background: var(--navy); color: #fff; cursor: pointer; font: inherit; }
.tab { border-radius: 6px 6px 0 0; background: transparent; color: var(--navy); }
.tab.active { background: var(--navy); color: #fff; }
.admin-topbar { justify-content: space-between; margin-bottom: 4px; }
.admin-topbar h1 { margin: 0; }
.admin-topbar-actions { display: flex; gap: 10px; align-items: center; }
.logout-btn { background: transparent; border-color: #b3554a; color: #b3554a; }
.logout-btn:hover { background: #b3554a; color: #fff; }
.auth-overlay { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; background: var(--navy); transition: opacity .2s ease; }
.auth-overlay.hidden { opacity: 0; pointer-events: none; }
.auth-overlay-inner { text-align: center; color: #cfe0ec; }
.auth-overlay-inner img { width: 72px; height: 72px; object-fit: cover; border-radius: 50%; border: 2px solid var(--gold); margin-bottom: 14px; }
.auth-overlay-inner p { margin: 0; font-size: .9rem; letter-spacing: .04em; }
.wizard-home-btn { background: transparent; border-color: #52728d; color: #52728d; }
.wizard-home-btn:hover { background: #52728d; color: #fff; }
.wizard-panel.hidden { display: none; }
.wizard-level.hidden { display: none; }
.wizard-intro { margin: 0 0 16px; color: #9aafbd; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.wizard-back { display: inline-block; margin-bottom: 14px; background: transparent; border: none; color: #9aafbd; padding: 0; font-size: .88rem; }
.wizard-back:hover { color: #f1f5f7; }
.wizard-options { display: flex; flex-direction: column; gap: 10px; }
.wizard-option { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; text-align: left; padding: 16px 18px; background: #0c2434; border: 1px solid #52728d; border-radius: 10px; }
.wizard-option:hover { background: #123249; border-color: var(--gold); }
.wizard-option strong { display: flex; align-items: center; gap: 10px; color: var(--gold); font-size: 1.02rem; }
.admin-icon { display: inline-block; width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.segment-btn .admin-icon, .register-tab .admin-icon { width: 16px; height: 16px; margin-right: 5px; }
.save-btn .admin-icon { width: 16px; height: 16px; margin-right: 6px; vertical-align: -3px; }
.wizard-option span { color: #f1f5f7; font-weight: 400; font-size: .88rem; }
.panel-back { background: transparent; border-color: var(--line); color: var(--muted); }
.panel-back:hover { background: var(--navy); color: #fff; }
.small { font-size: .82rem; margin-top: 8px; }
.panel { margin-top: 20px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.wizard-panel { margin-top: 20px; padding: 26px 26px 22px; background: #071824; border: 1px solid #52728d; border-radius: 10px; box-shadow: 0 16px 35px #0003; }
.toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.toolbar h2 { flex: 1; margin: 0; }
.toolbar label { color: var(--muted); }
.muted, #status { color: var(--muted); }
.quality-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.quality-row strong { display: block; }
.quality-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; margin: 8px 0 14px; }
.quality-field-group { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 12px; }
.quality-field-group legend { font-weight: 700; padding: 0 4px; }
.quality-pager { display: flex; gap: 8px; justify-content: center; margin-top: 12px; }
.ask-log-row { padding: 12px 0; border-top: 1px solid var(--line); }
.ask-log-row strong { display: block; }
.ask-log-links { margin-top: 8px; }
.ask-log-links ul { margin: 6px 0 0; padding-left: 20px; }
.ask-log-links li { padding: 2px 0; }
.ask-log-sql { white-space: pre-wrap; word-break: break-word; background: #f4f6f8; border: 1px solid var(--line); border-radius: 6px; padding: 8px 10px; font-size: .78rem; margin-top: 6px; }
.badges { display: flex; flex-wrap: wrap; gap: 5px; }
.badge { padding: 3px 7px; border-radius: 12px; background: #fff1d2; color: #795b19; font-size: .8rem; }
/* Snygga, platta matchrader - samma känsla som den publika sajtens matchlistor
   (se .match-row i style.css) i stället för webbläsarens standardknapp-utseende. */
.match-list { border-top: 1px solid var(--line); }
.match-row { all: unset; box-sizing: border-box; display: grid; grid-template-columns: 100px minmax(0, 1fr) 86px 22px; align-items: center; gap: 14px; width: 100%; padding: 12px 8px; border-bottom: 1px solid var(--line); cursor: pointer; }
.match-row:hover { background: #eef3f7; }
.match-row:focus-visible { outline: 2px solid #d1a33b; outline-offset: -2px; }
.match-row .match-date { color: var(--muted); font-size: .85rem; white-space: nowrap; }
.match-row .match-teams { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: #07111b; }
.match-row .match-score { font-weight: 700; color: var(--navy); text-align: right; white-space: nowrap; }
.match-row .match-upcoming { color: var(--muted); font-size: .75rem; font-weight: 650; }
.match-row .match-arrow { color: var(--gold); text-align: right; font-size: 1.05rem; }
.match-row .match-magic-pending { grid-column: 2 / -1; justify-self: start; max-width: 100%; margin-top: -6px; padding: 3px 8px; border: 1px solid #d1a33b; border-radius: 12px; background: #fff1d2; color: #62460d; font-size: .75rem; font-weight: 700; line-height: 1.35; }
.panel-bar { position: sticky; top: 8px; z-index: 6; display: flex; align-items: center; gap: 8px 10px; flex-wrap: wrap; margin: 0 0 18px; padding: 10px 12px; border: 1px solid #49647a; border-radius: 12px; background: #071824f2; box-shadow: 0 6px 20px #0005; backdrop-filter: blur(12px); }
.panel-bar > .panel-back { min-height: 36px; padding: 6px 12px; }
.panel-bar h2 { margin: 0; overflow: hidden; color: #f1f5f7; font-size: 1.08rem; text-overflow: ellipsis; white-space: nowrap; }
.panel-bar-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.panel-bar-actions input[type="search"] { width: 220px; min-height: 36px; }
.panel-bar-actions label { color: var(--muted); font-size: .85rem; }
.panel-bar-links { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; flex-basis: 100%; order: 10; margin: 0; }
.panel-bar-links strong { margin-right: 4px; color: #f4c85d; font-size: .8rem; white-space: nowrap; }
.panel-bar-links a { padding: 5px 8px; border: 1px solid #38536a; border-radius: 999px; color: #d8e2e9; font-size: .76rem; text-decoration: none; white-space: nowrap; }
.panel-bar-links a:hover, .panel-bar-links a:focus-visible { border-color: var(--gold); color: #f4c85d; }
.panel-bar-links .register-tab { min-height: 32px; padding: 5px 10px; font-size: .8rem; }
#person-editorial:not(.coach-mode) [data-coach-only] { display: none; }
.panel-bar .register-tabs { margin: 0; }
.bar-inline { display: flex; align-items: center; gap: 8px; }
.bar-inline.hidden { display: none; }
.segmented { display: inline-flex; overflow: hidden; border: 1px solid #49647a; border-radius: 9px; }
.segment-btn { min-height: 36px; padding: 6px 12px; border: 0; border-radius: 0; background: #091b29; color: #c3d0d9; font-size: .82rem; }
.segment-btn + .segment-btn { border-left: 1px solid #49647a; }
.segment-btn.active { background: var(--gold); color: #1a1305; }
.wizard-subgroup { margin-top: 26px; }
.panel [id] { scroll-margin-top: 140px; }
.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.person-editorial-role { grid-template-columns: minmax(170px, 1.6fr) repeat(4, minmax(110px, 1fr)); align-items: end; margin: 10px 0; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: #f7f9fb; }
.person-editorial-role.is-structured { border-color: #348864; background: #eaf6ef; }
.person-editorial-role.is-unreviewed { border-color: #d1a33b; background: #fff8e5; }
.person-editorial-role label:nth-of-type(6) { grid-column: 1 / -1; }
.person-editorial-role label[data-role-type-wrap].hidden { display: none; }
.person-editorial-role button { justify-self: start; }
.person-role-storage-status { align-self: center; color: #687784; font-size: .76rem; font-weight: 700; }
.person-editorial-role.is-structured .person-role-storage-status { color: #236746; }
.person-editorial-role.is-unreviewed .person-role-storage-status { color: #805e0d; }
.person-role-warning { grid-column: 1 / -1; margin: 0; padding: 7px 9px; border: 1px solid #d1a33b; border-radius: 4px; background: #fff1c8; color: #76540d; font-size: .8rem; }
.person-role-review-status { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 8px; border: 1px solid #d1a33b; border-radius: 4px; color: #805e0d; background: #fff8e5; font-size: .76rem; font-weight: 700; }
.person-role-review-status.is-reviewed { border-color: #348864; color: #236746; background: #eaf6ef; }
.person-role-search-result { padding: 10px; border: 1px solid #d1a33b; border-radius: 5px; background: #fff8e5; }
.person-role-search-result.is-reviewed { border-color: #348864; background: #eaf6ef; }
.person-role-search-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.person-role-search-heading > button { padding: 0; border: 0; background: transparent; color: var(--navy); text-align: left; }
.person-role-search-result ul { margin: 7px 0; padding-left: 18px; font-size: .84rem; }
.person-role-search-result li { margin: 3px 0; }
.person-role-search-result li small { margin-left: 6px; color: var(--muted); }
.person-role-search-result > button { padding: 5px 8px; border-radius: 4px; font-size: .78rem; }
.person-editorial-form h3 { margin: 0; }
.person-editorial-form [name="original_text"] { min-height: 180px; }
.person-editorial-form [name="summary"] { min-height: 75px; }
.person-editorial-form [name="known_for"],
.person-editorial-form [name="source_notes"] { min-height: 90px; }
#other-former-hbk-label.hidden { display: none; }
#coach-career-editor { padding-top: 16px; border-top: 1px solid var(--line); }
#coach-career-editor > h3 { margin: 0 0 8px; }
.career-import-preview, .career-import-saved { margin: 12px 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f7f9fb; }
.career-review-filters { align-items: center; gap: 10px; margin: 10px 0 18px; }
.career-review-filters label { font-weight: 700; }
.career-review-filters select { min-width: 190px; }
.stint-order-buttons { display: inline-flex; gap: 5px; margin-left: 10px; }
.stint-order-buttons button { min-width: 32px; padding: 5px 9px; }
.career-gap-actions { display: inline-flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.career-review-filters { align-items: center; gap: 10px; margin: 10px 0 18px; }
.career-review-filters label { font-weight: 700; }
.career-review-filters select { min-width: 190px; }
.career-import-preview > summary, .career-import-saved > summary { cursor: pointer; font-weight: 700; }
#coach-career-preview { max-height: 560px; overflow-y: auto; }
#active-bio-review { border: 1px solid #9b772f; border-left: 4px solid var(--gold); background: #3b2d1780; }
#active-bio-review h3 { color: #f4d58d; }
#active-bio-review .match-row { border-color: #6f5929; background: #2f2618; }
.panel .profile-review-row { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 14px 10px; }
.profile-review-row > span:first-child { min-width: 0; }
.profile-review-row strong, .profile-review-row small { display: block; }
.profile-review-row small { margin-top: 4px; }
.profile-review-row > span:last-child { white-space: nowrap; }
#expired-contract-review { border: 1px solid #9b772f; border-left: 4px solid var(--gold); }
.expired-contract-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
.expired-contract-row > div:first-child { flex: 1 1 200px; min-width: 0; }
.expired-contract-row small { display: block; margin-top: 4px; color: var(--muted); }
.coach-contract-row { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
#coach-career-stints { max-height: 360px; overflow-y: auto; }
#coach-career-sources { margin: 10px 0; }
.form-grid label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: .9rem; }
.form-grid label.hidden { display: none; }
.admin-user-password { display: grid; gap: 8px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid var(--gold); border-radius: 10px; background: #1d2a22; }
.admin-user-password.hidden { display: none; }
.admin-user-password code { font-size: 1.15rem; color: #f4c85d; letter-spacing: .02em; user-select: all; }
.lineup-estimated-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 8px 0 12px; padding: 10px 12px; border: 1px dashed #9b772f; border-radius: 9px; background: #2a2414; color: #f4d58d; }
.lineup-estimated-note.hidden { display: none; }
.roster-position { color: var(--muted); font-size: .75rem; }
.roster-position.estimated { color: #f4d58d; font-style: italic; }
.venue-merge { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.venue-merge.hidden { display: none; }
.venue-merge input { flex: 1 1 240px; }
.register-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.register-tab { border-color: #49647a; background: #091b29; color: #c3d0d9; }
.register-tab.active { border-color: var(--gold); background: var(--gold); color: #1a1305; }
.register-card[data-register-card="teams"] > .toolbar { margin: 10px 0; }
.team-editor-form { margin-top: 0; }
.team-editor-form .checkbox-label { flex-direction: row; align-items: center; }
.team-editor-form .checkbox-label input { width: auto; }
.team-history-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 16px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.team-history-fields .checkbox-label { grid-column: 1 / -1; }
.team-history-fields select[multiple] { min-height: 112px; }
.team-history-fields > p { margin: 0; align-self: center; }
.team-history-add-successor { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; padding: 8px 0; }
.team-history-add-successor label { flex: 1 1 260px; }
.team-history-add-successor > span { flex: 1 1 100%; }
.team-location-add.hidden { display: none; }
.team-source-review { padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: #f7f9fb; }
.team-source-review > p { margin-top: 0; }
.team-source-review details { margin-top: 12px; }
.team-source-review details summary { cursor: pointer; color: var(--navy); font-weight: 700; }
.team-source-review textarea { width: 100%; margin-top: 8px; font-family: ui-monospace, monospace; font-size: .82rem; }
.team-source-list { display: grid; gap: 8px; margin: 10px 0; }
.team-source-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.team-source-row > input { width: auto; margin-top: 4px; }
.team-source-row > span, .team-source-row small, .team-source-row a { display: block; }
.team-source-row > span > span { white-space: pre-line; color: #07111b; }
.team-source-row small { color: var(--muted); }
.team-source-row a { margin-top: 3px; }
.team-crest-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; min-height: 72px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: #f7f9fb; }
.team-crest-preview-example { display: grid; gap: 5px; }
.team-crest-preview-variants { display: flex; gap: 8px; }
.team-crest-preview-surface { display: grid; justify-items: center; gap: 4px; width: 100px; padding: 6px; border: 1px solid #c7d2dc; border-radius: 5px; }
.team-crest-preview-surface.is-white { background: #fff; color: #07111b; }
.team-crest-preview-surface.is-black { background: #07111b; color: #f1f5f7; }
.team-crest-preview-surface > span { font-size: .68rem; font-weight: 650; }
.team-crest-preview-surface img { width: 72px; height: 72px; object-fit: contain; }
.team-crest-upload input[type="file"] { width: 100%; }
.team-crest-upload small { display: block; }
.team-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
.team-related-section { min-width: 0; }
.team-related-section h3 { margin: 0 0 8px; }
.team-related-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.team-related-row span, .team-related-row small { display: block; }
.team-related-row small { color: var(--muted); }
.team-editor-match-list { max-height: 620px; overflow-y: auto; border-top: 1px solid var(--line); }
.team-editor-match { display: grid; grid-template-columns: 88px minmax(0, 1fr) 58px minmax(100px, .8fr); align-items: center; gap: 8px; width: 100%; padding: 9px 4px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: #07111b; text-align: left; }
.team-editor-match:hover { background: #eef3f7; }
.team-editor-match small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
#register .register-grid { display: block; }
#register .register-card.hidden { display: none; }
#venue-register-filter { width: 100%; margin-bottom: 6px; }
.venue-bulk-group { display: grid; gap: 10px; margin: 12px 0; padding: 12px; border: 1px solid #38536a; border-radius: 9px; background: #0c2434; }
.venue-bulk-select { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.venue-select { display: grid; justify-items: center; padding-top: 13px; }
.venue-select input, .venue-bulk-select input { width: auto; accent-color: var(--gold); }
.venue-group-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.venue-group-form label { display: grid; flex: 1 1 240px; gap: 4px; color: var(--muted); font-size: .8rem; }
.venue-group-form button:disabled { cursor: not-allowed; opacity: .55; }
.venue-register-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; align-items: start; }
.venue-item { border-bottom: 1px solid #293f52; }
.venue-item summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 4px; cursor: pointer; color: #f1f5f7; }
.venue-item summary span { color: var(--muted); font-size: .85rem; }
.venue-item .venue-count { color: #f4c85d; font-weight: 700; }
.venue-item[open] summary { color: #f4c85d; }
.venue-body { display: grid; gap: 10px; padding: 4px 4px 16px; }
.venue-item .venue-action[data-venue-action="area"] { border-left: 3px solid var(--gold); }
.venue-event-editor { padding: 10px 12px; border: 1px solid #38536a; border-radius: 9px; background: #0c2434; color: #f1f5f7; }
.venue-event-editor > strong { font-size: .9rem; }
.venue-event-editor > p { margin: 4px 0 8px; }
.venue-event-list { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.venue-event-list li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 6px; border-top: 1px solid #293f52; }
.venue-event-list li > span { display: grid; gap: 2px; min-width: 0; }
.venue-event-list time, .venue-event-list small { color: var(--muted); font-size: .78rem; }
.venue-event-list strong { color: #f1f5f7; font-size: .84rem; }
.venue-action { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; padding: 10px 12px; border: 1px solid #38536a; border-radius: 9px; background: #0c2434; }
.venue-action > strong { flex-basis: 100%; color: #f1f5f7; font-size: .9rem; }
.venue-action > span { flex-basis: 100%; margin-top: -6px; }
.venue-action input:not([type="date"]), .venue-action select { flex: 1 1 220px; }
.venue-action label { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: .8rem; }
.venue-action label.wide { flex-basis: 100%; }
.venue-city-control { display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: flex-end; gap: 8px; }
.venue-city-control label { flex: 1 1 220px; }
.venue-city-add { flex: 0 1 auto; }
.venue-link-results { display: grid; flex-basis: 100%; gap: 5px; }
.venue-link-results > button { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; width: 100%; padding: 8px 10px; border: 1px solid #38536a; border-radius: 7px; background: #091b29; color: #f1f5f7; text-align: left; }
.venue-link-results > button:hover { border-color: var(--gold); }
.venue-link-results > button span { color: var(--muted); font-size: .78rem; }
.venue-link-results > p { margin: 0; }
.venue-bio-editor textarea { flex: 1 1 100%; }
.venue-bio-actions, .venue-wikipedia-search, .venue-wikipedia-follow-up { display: flex; align-items: flex-end; gap: 8px; flex-basis: 100%; flex-wrap: wrap; }
.venue-city-suggestion { display: flex; flex-basis: 100%; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid #38536a; border-radius: 7px; color: var(--muted); font-size: .85rem; }
.venue-wikipedia-search label, .venue-wikipedia-follow-up label { display: grid; flex: 1 1 240px; gap: 4px; color: var(--muted); font-size: .8rem; }
.venue-wikipedia-results { display: grid; flex-basis: 100%; gap: 6px; }
.venue-wikipedia-result { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 10px; border: 1px solid #38536a; border-radius: 7px; background: #091b29; }
.venue-wikipedia-result button { display: grid; gap: 3px; padding: 0; border: 0; background: transparent; color: #f1f5f7; text-align: left; }
.venue-wikipedia-result button:hover strong { color: var(--gold); }
.venue-wikipedia-result small { color: var(--muted); font-size: .75rem; }
.venue-wikipedia-result a, [data-venue-wiki-source] a { color: var(--gold); font-size: .78rem; }
.venue-event-name-fields { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 8px; }
.venue-event-name-fields label { flex: 1 1 220px; }
.venue-new { margin-top: 14px; }
.venue-new summary { cursor: pointer; color: #f4c85d; font-weight: 700; }
input, textarea, select { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: #07111b; font: inherit; }
.wide { grid-column: 1 / -1; }
.subsection { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.player-interview-responses { display: grid; gap: 16px; }
.player-interview-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #f7f9fb; }
.player-interview-card h4 { margin: 0 0 10px; }
.player-interview-card label { display: grid; gap: 5px; margin: 10px 0; }
.player-interview-card textarea { min-height: 100px; }
.player-interview-card [data-interview-match-results] { display: grid; gap: 5px; max-height: 220px; overflow-y: auto; }
.subsection h3 { margin-top: 0; }
.goal-row { display: flex; justify-content: space-between; padding: 8px 0; border-top: 1px solid var(--line); }
.goal-row > span:first-child { flex: 1; min-width: 0; }
.goal-row-details { display: grid; gap: 4px; }
.goal-review-details { display: flex; flex-wrap: wrap; gap: 3px 12px; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.match-report-illustration-editor { display: grid; gap: 10px; margin-top: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; }
.match-report-illustration-editor h4, .match-report-illustration-editor p { margin: 0; }
.match-report-illustration-editor form { display: grid; gap: 8px; }
.match-report-illustration-editor label { display: grid; gap: 4px; }
.match-report-illustration-editor form > small { color: var(--muted); }
.match-report-illustration-admin-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.match-report-illustration-admin-list figure { display: grid; gap: 5px; min-width: 0; margin: 0; }
.match-report-illustration-admin-list img { width: 100%; max-height: 220px; object-fit: contain; background: #f4f0e6; }
.match-report-illustration-admin-list figcaption { display: grid; gap: 3px; font-size: .8rem; }
.admin-dream-goal-stars { display: inline-block; margin-left: 8px; color: #f4c85d; font-size: .8rem; letter-spacing: .04em; white-space: nowrap; }
.goal-row-score { flex: 0 0 64px; align-self: center; margin: 0 16px; color: var(--gold); font-variant-numeric: tabular-nums; text-align: center; }
.goal-origin-card { margin: 14px 0; padding: 14px; border: 1px solid var(--line); border-radius: 7px; }
.team-history-event-row { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 10px 2px; border-top: 1px solid var(--line); }
.team-history-event-row time { color: var(--gold); font-size: .78rem; font-variant-numeric: tabular-nums; }
.team-history-event-row > div { display: grid; gap: 3px; min-width: 0; }
.team-history-event-row > div > span { color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.team-history-wikipedia-sources { display: grid; gap: 10px; }
.team-history-wikipedia-source { padding: 10px 0; border-top: 1px solid var(--line); }
.team-history-wikipedia-source > strong, .team-history-wikipedia-source > a { display: block; }
.team-history-wikipedia-source > a { margin-top: 3px; color: var(--gold); font-size: .82rem; overflow-wrap: anywhere; }
.team-history-wikipedia-source > p { margin: 6px 0; color: var(--text); font-size: .8rem; white-space: pre-line; }
.team-history-wikipedia-source > small { color: var(--muted); font-size: .68rem; }
.team-history-ai-suggestions { display: grid; gap: 8px; }
.team-history-ai-suggestion { padding: 12px; border: 1px solid #395267; border-radius: 5px; background: #0b1f2e; }
.team-history-ai-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; }
.team-history-ai-heading > span { color: var(--gold); font-size: .74rem; }
.team-history-ai-suggestion > p { margin: 8px 0; color: #d5e0e6; font-size: .82rem; }
.team-history-ai-suggestion blockquote { margin: 8px 0; padding: 7px 10px; border-left: 2px solid var(--gold); background: #102a3e; color: #c4d0d8; font-size: .76rem; }
.team-history-ai-suggestion blockquote a { display: block; margin-top: 4px; color: var(--gold); overflow-wrap: anywhere; }
.team-history-ai-notes { margin: 0; padding-left: 18px; color: var(--muted); font-size: .78rem; }
.team-history-candidate-section { margin-top: 24px; }
.team-history-candidate-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.team-history-candidate-heading h4 { margin: 0; }
.team-history-candidate { border-top: 1px solid var(--line); }
.team-history-candidate > summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 9px 2px; cursor: pointer; }
.team-history-candidate > summary > span { color: var(--gold); font-size: .75rem; }
.team-history-candidate-body { display: grid; gap: 6px; padding: 0 8px 12px; }
.team-history-candidate-body > a { color: var(--gold); font-size: .8rem; overflow-wrap: anywhere; }
.team-history-candidate-body > p, .team-history-candidate-body blockquote { margin: 0; }
.team-history-candidate-body blockquote { padding: 8px 10px; border-left: 2px solid var(--gold); background: #102a3e; color: #c4d0d8; font-size: .76rem; white-space: pre-line; }
.goal-origin-heading { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.goal-origin-card blockquote { margin: 12px 0; padding-left: 12px; border-left: 3px solid var(--gold); white-space: pre-line; }
.goal-match-facts { margin: 10px 0 16px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fffaf0; color: #253b4c; }
.goal-match-facts h4 { margin: 0 0 8px; color: var(--navy); }
.goal-match-facts summary { padding: 8px 0; cursor: pointer; font-weight: 600; }
.goal-match-facts pre { margin: 0 0 10px; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.goal-source-texts { margin: 10px 0; border-bottom: 1px solid var(--line); }
.goal-source-texts summary { padding: 8px 0; cursor: pointer; color: var(--gold); font-weight: 600; }
.goal-source-text { margin: 10px 0 14px; }
.goal-source-text h4 { margin: 0 0 5px; color: #d5e0e6; font-size: .84rem; }
.goal-source-text pre { max-height: 260px; overflow: auto; margin: 0; padding: 10px; border: 1px solid #33495c; border-radius: 5px; background: #071824; color: #d5e0e6; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .82rem; }
.goal-match-fact-line { position: relative; display: block; padding-left: 1.2em; }
.goal-fact-marker { position: absolute; left: 0; color: #f4c85d; }
.goal-match-fact-line.current { color: #fff; }
.goal-description-field { display: grid; gap: 5px; margin: 12px 0 8px; color: var(--muted); font-size: .9rem; }
.goal-description-field textarea { min-height: 72px; resize: vertical; }
.goal-origin-reason { font-size: .88rem; }
.goal-origin-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); align-items: end; gap: 10px; margin-top: 12px; }
.goal-origin-actions label { display: grid; flex: 1; gap: 5px; color: var(--muted); font-size: .9rem; }
.goal-origin-ready { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: #24633c; }
.compact { grid-template-columns: repeat(4, 1fr); margin-top: 14px; }
.compact .wide { grid-column: 1 / -1; }
.hidden { display: none; }
.register-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 20px; }
.register-card { border: 1px solid var(--line); border-radius: 7px; padding: 14px; }
.register-card h3 { margin-top: 0; }
.register-form { display: grid; gap: 8px; }
.register-item { display: flex; justify-content: space-between; gap: 10px; align-items: center; border-top: 1px solid var(--line); padding: 7px 0; font-size: .9rem; }
.register-item button { padding: 4px 8px; font-size: .8rem; }
.register-item small { color: var(--muted); }
.register-item > span { display: flex; flex-direction: column; gap: 2px; }
.player-name-edit { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; text-decoration: underline; }
.referee-register-result > span:first-child { display: grid; gap: 2px; min-width: 0; }
.referee-register-result > span:first-child strong { color: var(--text); }
.referee-register-result > span:first-child small { color: var(--muted); font-size: .75rem; }
.referee-register-result > span:last-child { flex: none; color: var(--muted); font-size: .75rem; }
.register-actions { display: flex; gap: 5px; align-items: center; }
.data-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: .9rem; }
.data-table th, .data-table td { padding: 5px 6px; border-bottom: 1px solid var(--line); text-align: left; }
.data-table input, .data-table select { padding: 5px 6px; }
.venue-toggle { display: flex; gap: 6px; }
.venue-btn { flex: 1; padding: 9px 0; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--muted); font-weight: 700; }
.venue-btn.active { background: var(--navy); border-color: var(--navy); color: #fff; }
.field-label { display: block; margin-bottom: 5px; color: var(--muted); font-size: .9rem; }
.match-teams-display { margin: 4px 0 8px; font-weight: 700; color: var(--navy); }
.save-status { margin: 0; color: #24633c; font-weight: 600; }
.match-summary-preview { padding: 12px; border: 1px solid #d9e2e9; border-left: 4px solid var(--gold); border-radius: 5px; background: #f7f9fb; }
.match-summary-preview strong { color: var(--navy); }
.match-summary-preview p { margin: 6px 0 0; white-space: pre-line; color: #253b4c; }
.match-screenshot-import { display: grid; gap: 9px; padding: 12px; border: 1px solid #49647a; border-radius: 9px; background: #091b29; }
.match-image-paste { min-height: 64px; display: grid; place-items: center; padding: 12px; border: 1px dashed #7791a4; border-radius: 6px; color: #d8e2e9; text-align: center; cursor: pointer; }
.match-image-paste:focus, .match-image-paste:hover { border-color: #f4c85d; outline: 2px solid #f4c85d55; }
.match-image-paste.is-dragging { border-color: #f4c85d; background: #173044; outline: 2px solid #f4c85d55; }
.match-image-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.match-image-file-label { display: flex; align-items: center; gap: 8px; color: #d8e2e9; }
.match-image-previews { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 10px; }
.match-image-preview-card { display: grid; gap: 6px; min-width: 0; padding: 8px; border: 1px solid #49647a; border-radius: 5px; color: #d8e2e9; }
.match-image-preview-card img { display: block; width: 100%; max-height: 260px; object-fit: contain; }
.match-image-preview-card span { overflow-wrap: anywhere; font-size: .8rem; }
#international-review-json { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
#international-review-status { min-height: 1.4em; }
.match-image-preview-card button { justify-self: start; padding: 5px 8px; }
.match-image-field-hint { display: block; margin-top: 6px; padding: 6px 8px; border-radius: 4px; background: #fff2c6; color: #74510a; font-size: .8rem; font-weight: 600; }
.goal-review-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 10px 0 16px; align-items: start; }
.goal-review-column { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: #253b4c; }
.goal-review-column h4 { margin: 0 0 8px; color: var(--navy); }
.match-image-goal-preview { border-color: #d4b04a; background: #fffaf0; }
.match-image-goal-preview > p { margin: 4px 0 10px; color: #5f7180; }
.match-image-goal-preview ol { display: grid; gap: 9px; margin: 0; padding-left: 24px; }
.match-image-goal-preview li { padding-left: 2px; }
.image-goal-suggestion { display: grid; gap: 5px; }
.image-goal-suggestion strong { color: var(--navy); }
.image-goal-suggestion p { margin: 0; line-height: 1.4; }
.image-goal-suggestion small { color: #5f7180; line-height: 1.4; }
.image-goal-suggestion button { justify-self: start; margin-top: 3px; padding: 5px 8px; }
@media (max-width: 760px) {
  .goal-review-comparison { grid-template-columns: 1fr; }
}
.admin-substitution-list { display: grid; gap: 7px; margin: 8px 0; padding-left: 24px; }
.admin-substitution-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.admin-substitution-list button { flex: 0 0 auto; padding: 5px 9px; }
.duplicate-warning { padding: 10px; border: 1px solid #e1ad45; border-radius: 5px; background: #fff7df; color: #76540d; }
.search-results { display: grid; gap: 5px; max-height: 220px; overflow-y: auto; margin: 7px 0; }
.search-result { display: block; width: 100%; padding: 7px 9px; text-align: left; background: #f4f7f9; border: 1px solid var(--line); color: var(--navy); }
.search-result > strong { display: block; }
.family-suggestions { margin: 14px 0; padding: 12px; border: 1px solid #38536a; border-radius: 8px; background: #0c2434; }
.family-suggestions h4 { margin: 0 0 6px; color: #f0d78e; }
.family-suggestion-list { display: grid; gap: 8px; }
.family-suggestion { padding: 10px; border: 1px solid #293f52; border-radius: 6px; background: #102a3e; }
.family-suggestion > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.family-suggestion > div span { color: #9aafbd; font-size: .82rem; }
.family-suggestion blockquote { margin: 7px 0 10px; padding-left: 10px; border-left: 2px solid #688599; color: #c3d0d9; font-size: .86rem; }
.search-result > span { display: block; margin-top: 3px; color: #5f7180; font-size: .78rem; line-height: 1.35; }
.search-result:hover { background: #e7eef3; }
.search-result small { color: var(--muted); }
.selected-result { display: block; color: #24633c; font-size: .85rem; font-weight: 600; }
.error-message { color: #a21d1d; font-size: .85rem; }
.lineup-scheme-toggle { display: flex; gap: 8px; margin: 12px 0; }
.scheme-btn { background: #fff; color: var(--navy); border-color: var(--line); }
.scheme-btn.active { background: var(--navy); color: #fff; border-color: var(--navy); }
.lineup-formation { margin: 8px 0; color: var(--navy); font-weight: 700; }
.lineup-board { margin: 12px 0; }
.football-pitch { padding: 16px; border: 2px solid #fff; border-radius: 12px; background: repeating-linear-gradient(0deg, #34784c 0, #34784c 68px, #3b8555 68px, #3b8555 136px); box-shadow: inset 0 0 0 1px #c7d2dc; }
.pitch-row { display: flex; justify-content: space-around; align-items: center; gap: 8px; margin: 12px 0; }
.pitch-row-1 { width: min(44%, 420px); margin-right: auto; margin-left: auto; }
.pitch-row.single-slot-row { width: min(32%, 300px); margin-right: auto; margin-left: auto; }
.football-pitch .pitch-row-7 { width: min(44%, 420px); margin-right: auto; margin-left: auto; }
.pitch-slot { display: flex; flex: 1; min-width: 75px; min-height: 70px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 6px; border: 1px dashed #ffffffa6; border-radius: 7px; color: #fff; text-align: center; font-size: .72rem; }
.pitch-slot small { color: #e8f1ea; }
.lineup-board { display: grid; gap: 9px; }
.unknown-lineup-board { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f4f7f9; }
.bench-zones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.lineup-dropzone { min-height: 82px; padding: 11px; border: 1px dashed var(--muted); border-radius: 7px; color: var(--muted); font-size: .85rem; }
.lineup-dropzone.drag-over, .pitch-slot.drag-over { outline: 3px solid var(--gold); outline-offset: 2px; }
.roster-chip.drag-over { outline: 3px solid var(--gold); outline-offset: 2px; }
.roster-token-list { display: flex; flex-wrap: wrap; gap: 6px; min-height: 32px; margin-top: 7px; align-items: center; }
.roster-player-control { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.roster-chip { padding: 5px 9px; border-radius: 16px; background: #fff; border: 1px solid var(--line); color: var(--navy); font-size: .78rem; cursor: grab; -webkit-user-drag: element; -webkit-user-select: none; user-select: none; }
.roster-chip:active { cursor: grabbing; }
.lineup-substitution-stack { position: relative; display: inline-grid; min-width: 0; min-height: 44px; place-items: center; padding: 7px 10px 8px 5px; }
.lineup-substitution-layer { position: relative; display: grid; grid-area: 1 / 1; justify-items: center; gap: 2px; max-width: 100%; }
.lineup-substitution-layer.history { z-index: calc(var(--layer-index) + 1); opacity: .58; transform: translate(calc(var(--layer-index) * -5px), calc(var(--layer-index) * 3px)); }
.lineup-substitution-layer.active { z-index: 20; transform: translate(7px, -6px); }
.lineup-substitution-layer .roster-player-control { max-width: 100%; }
.lineup-substitution-layer .roster-chip { max-width: 100%; box-shadow: 0 3px 8px #0006; }
.lineup-history-chip { cursor: default; }
.lineup-substitution-label { position: absolute; right: -3px; bottom: -5px; z-index: 22; padding: 1px 4px; border: 1px solid #071824; border-radius: 3px; background: #55d38b; color: #071824; font-size: .57rem; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.lineup-substitution-layer.history .lineup-substitution-label { background: #ffb4a9; }
.pitch-slot .roster-chip { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.captain-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 25px; width: 25px; height: 25px; padding: 0; border: 1px solid #f4c85d; border-radius: 50%; background: transparent; color: #f4c85d; font-size: .72rem; font-weight: 900; line-height: 1; }
.captain-toggle:hover, .captain-toggle.active { background: #f4c85d; color: #071824; }
.captain-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.captain-help-badge { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; border-radius: 50%; background: #f4c85d; color: #071824; font-size: .72rem; }
.drop-hint { color: var(--muted); font-size: .8rem; }
.pitch-slot .drop-hint { color: #e8f1ea; }
#lineup-roster { display: grid; gap: 6px; margin-top: 12px; }
.loaned-roster-box { grid-column: 1 / -1; padding: 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.loaned-roster-box > strong { display: block; }
.loaned-roster-box .roster-player-control { flex-wrap: wrap; }
.roster-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.roster-add { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 8px; margin: 10px 0; align-items: end; }
.roster-add select { flex: 1; }
.checkbox-label { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px !important; }
.checkbox-label.hidden { display: none !important; }
.checkbox-label input { width: auto; accent-color: var(--gold); }
.opponent-player-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid #293f52; }
.opponent-player-row .checkbox-label { color: #d8e2e9; }
.opponent-player-row button { padding: 5px 9px; }
.captain-badge { color: var(--gold); font-weight: 700; }
.stint-row { display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); padding: 9px 0; }
.stint-row { flex-wrap: wrap; align-items: flex-start; }
.career-timeline-toolbar { align-items: center; flex-wrap: wrap; gap: 10px; }
.career-timeline-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
.career-timeline-toolbar h4 { margin: 0; }
.career-loan-branches { display: grid; flex: 1 0 100%; gap: 4px; margin: 2px 0 0 20px; padding-left: 11px; border-left: 2px solid var(--gold); }
.career-loan-branch { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 5px; color: var(--gold); }
.career-loan-branch > span { padding-top: 9px; }
.career-loan-branch .stint-row { padding: 8px 0; border-top: 0; }
.career-loan-branch .career-loan-nested-row { padding: 8px 0; border-top: 0; }
.career-gemini-review { margin: 10px 0; }
.career-gemini-review:empty { display: none; }
.career-gemini-review article { margin: 7px 0; padding: 10px 12px; border-left: 3px solid #d4aa4d; border-radius: 4px; background: #102538; color: #d8e2e9; }
.career-gemini-review article strong { color: #f0c27b; }
.career-gemini-review article p { margin: 5px 0 0; }
.stint-order-buttons { flex-wrap: wrap; justify-content: flex-end; }
.career-inline-editor { display: grid; flex: 1 0 100%; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 8px 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #0b2030; }
.career-inline-editor label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: .85rem; }
.career-inline-editor .checkbox-label { flex-direction: row; align-items: center; }
.career-inline-editor .wide { grid-column: 1 / -1; }
.career-inline-editor button { justify-self: start; }
.career-transfer-direction { display: grid; gap: 10px; }
.career-transfer-club-row { display: grid; grid-template-columns: 58px minmax(180px, 1fr) minmax(180px, 1fr); gap: 10px; align-items: end; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #0b2030; }
.career-transfer-club-row > strong { align-self: center; color: var(--gold); font-size: 1rem; }
.career-transfer-club-row > label { display: flex; flex-direction: column; gap: 5px; }
.club-career-suggestion { display: grid; grid-template-columns: minmax(170px, 2fr) repeat(4, minmax(80px, .8fr)); gap: 10px; align-items: end; margin: 12px 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #102538; }
.club-career-suggestion label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: .85rem; }
.club-career-suggestion .wide { grid-column: 1 / -1; }
.club-career-suggestion button { justify-self: start; }
.career-team-picker { display: grid; gap: 6px; }
.career-team-picker label { grid-column: 1 / -1; }
.career-create-team-fields { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #0b2030; }
.career-create-team-fields label { min-width: 0; }
.career-create-team-fields input[type="file"] { max-width: 100%; }
.career-team-results { display: flex; flex-wrap: wrap; gap: 6px; }
.career-team-result { display: flex; align-items: center; gap: 7px; padding: 5px 9px; }
.career-team-result small, .career-team-link-status { color: var(--muted); font-size: .8rem; }
.cup-group-fixture-list { display: grid; gap: 7px; margin: 12px 0; padding: 0; list-style: none; }
.cup-group-fixture-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; }
.cup-group-fixture-list small { color: var(--muted); }
@media (max-width: 700px) { main { width: min(100% - 20px, 1180px); margin-top: 20px; } .panel { padding: 14px; } .form-grid, .compact, .register-grid { grid-template-columns: 1fr 1fr; } .quality-row { align-items: flex-start; flex-direction: column; } .match-row { grid-template-columns: 78px minmax(0, 1fr) 50px 18px; gap: 8px; padding: 10px 4px; font-size: .92rem; } .goal-origin-actions { grid-template-columns: 1fr; } .roster-add, .bench-zones { grid-template-columns: 1fr; } .pitch-row { gap: 3px; } .pitch-slot { min-width: 42px; padding: 4px 2px; font-size: .62rem; } .roster-chip { padding: 4px 6px; font-size: .68rem; } }

/* Match the public archive's navy-and-gold identity throughout administration. */
:root {
  color-scheme: dark;
  --navy: #071d33;
  --panel: #0e2030;
  --line: #38536a;
  --gold: #c89a3c;
  --muted: #a2b4c1;
  --text: #f1f5f7;
  --surface: #0c2434;
}
body {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--navy);
  color: var(--text);
}
body::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background: linear-gradient(180deg, #071d33ed, #071d33e8), url("/pitch-bg.jpg") center / cover no-repeat;
  content: "";
  pointer-events: none;
}
.admin-header, #admin-main { position: relative; z-index: 1; }
.admin-header {
  min-height: 76px;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ffffff1c;
  background: #071824c9;
  backdrop-filter: blur(14px);
}
.admin-brand { display: inline-flex; align-items: center; gap: 12px; }
.admin-brand img { width: 42px; height: 42px; border: 2px solid var(--gold); border-radius: 50%; object-fit: cover; }
.admin-brand span { display: grid; gap: 1px; }
.admin-brand strong { color: #f1f5f7; font-size: .98rem; }
.admin-brand small, .admin-header-tag { color: var(--muted); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
main { width: min(1280px, calc(100% - 40px)); margin-top: 34px; }
.admin-topbar { align-items: center; margin-bottom: 22px; }
.admin-topbar h1 { color: #f1f5f7; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.035em; }
.admin-eyebrow { margin: 0 0 6px; color: var(--gold); font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.admin-topbar-actions { gap: 8px; }
.admin-topbar-actions button { min-height: 40px; }
.wizard-home-btn { border-color: var(--line); color: var(--text); }
.wizard-home-btn:hover { border-color: var(--gold); background: var(--surface); color: var(--gold); }
.logout-btn { border-color: #99524d; color: #f19b91; }
.logout-btn:hover { background: #7d302b; color: #fff; }
.wizard-panel, .panel {
  margin-top: 18px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid #38536a;
  border-radius: 16px;
  background: linear-gradient(145deg, #0e2030f5, #071824f5);
  box-shadow: 0 20px 55px #0005;
}
.wizard-panel { border-color: #52728d; }
.wizard-intro { color: var(--gold); font-size: .77rem; font-weight: 800; letter-spacing: .13em; }
.wizard-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.wizard-option {
  position: relative;
  min-height: 116px;
  justify-content: center;
  padding: 20px;
  border-color: #38536a;
  border-radius: 12px;
  background: linear-gradient(145deg, #102a3e, #0b1d2b);
  transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.wizard-option:hover { transform: translateY(-2px); border-color: var(--gold); background: #123249; }
.wizard-option.wizard-glow { border-color: #f4c85d; animation: wizard-glow 2.4s ease-in-out infinite; }
@keyframes wizard-glow {
  0%, 100% { box-shadow: 0 0 0 1px #f4c85d66, 0 0 10px 1px #f4c85d33; }
  50% { box-shadow: 0 0 0 2px #f4c85dcc, 0 0 22px 5px #f4c85d66; }
}
@media (prefers-reduced-motion: reduce) {
  .wizard-option.wizard-glow { animation: none; box-shadow: 0 0 0 2px #f4c85dcc, 0 0 16px 3px #f4c85d55; }
}
.wizard-option strong { color: #f4c85d; font-size: 1.05rem; }
.wizard-option span { color: #b9c8d2; line-height: 1.5; }
.wizard-back { color: var(--muted); }
.wizard-back:hover { color: var(--gold); }
.panel h2, .panel h3, .panel h4 { color: #f1f5f7; }
.panel p, .panel label { color: #c3d0d9; }
.panel .muted, .panel .toolbar label { color: var(--muted); }
.panel .toolbar { margin-bottom: 16px; }
.panel .toolbar h2 { color: #f1f5f7; }
.panel-back { border-color: var(--line); color: var(--muted); }
.panel-back:hover { border-color: var(--gold); background: var(--surface); color: var(--gold); }
button {
  min-height: 38px;
  border-color: var(--gold);
  border-radius: 8px;
  background: var(--gold);
  color: #1a1305;
  font-weight: 750;
  transition: filter .15s ease, transform .12s ease, border-color .15s ease;
}
button:hover { filter: brightness(1.1); }
button:active { transform: translateY(1px); }
button:disabled { cursor: not-allowed; opacity: .48; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #f4c85d;
  outline-offset: 2px;
}
input, textarea, select {
  min-height: 42px;
  border-color: #49647a;
  border-radius: 8px;
  background: #091b29;
  color: #f1f5f7;
}
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { color: #8298a8; }
input:focus, textarea:focus, select:focus { border-color: var(--gold); background: #0c2434; }
input[type="checkbox"] { width: auto; min-height: 0; accent-color: var(--gold); }
.form-grid { gap: 16px; }
.form-grid label { gap: 7px; color: #b8c7d1; font-size: .83rem; font-weight: 650; }
.form-grid label small { color: var(--muted); font-weight: 400; }
.toolbar label { color: var(--muted); }
.small { color: var(--muted); }
.panel .match-list { border-color: var(--line); }
.panel .match-row { border-color: #293f52; }
.panel .match-row:hover { background: #ffffff0a; }
.panel .match-row .match-date { color: var(--muted); }
.panel .match-row .match-teams { color: #f1f5f7; }
.panel .match-row .match-score { color: #f4c85d; }
.panel .match-row .match-review-complete { color: #55cc8a; font-weight: 800; }
.quality-row, .ask-log-row { border-color: #293f52; }
.quality-row strong, .ask-log-row strong { color: #f1f5f7; }
.badge { background: #493a1c; color: #f4d58d; }
.ask-log-sql { border-color: var(--line); background: #091b29; color: #d6e0e7; }
.register-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.register-card, .goal-origin-card {
  padding: 18px;
  border-color: #38536a;
  border-radius: 12px;
  background: #091b29a8;
}
.register-card h3 { margin-bottom: 12px; color: #f4c85d; }
.register-item, .goal-row, .data-table th, .data-table td { border-color: #293f52; }
.register-item > span, .register-item small { color: #c3d0d9; }
.search-result, .unknown-lineup-board { border-color: #38536a; background: #0c2434; color: #f1f5f7; }
.search-result:hover { border-color: var(--gold); background: #123249; }
.selected-result { color: #7bddaa; }
.error-message { color: #ff9e94; }
.data-table { color: #e4ebf0; }
.data-table th { color: #f4c85d; }
.data-table input, .data-table select { background: #091b29; }
.venue-btn, .scheme-btn { border-color: #49647a; background: #091b29; color: #c3d0d9; }
.venue-btn.active, .scheme-btn.active { border-color: var(--gold); background: var(--gold); color: #1a1305; }
.match-teams-display, .lineup-formation { color: #f4c85d; }
.match-summary-preview { border-color: #49647a; border-left-color: var(--gold); background: #091b29; }
.match-summary-preview strong { color: #f4c85d; }
.match-summary-preview p { color: #d8e2e9; }
.save-status { color: #7bddaa !important; }
.magic-action { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px; border: 1px solid #49647a; border-radius: 9px; background: #091b29; }
.magic-action button { border-color: #c89a3c; background: #c89a3c; color: #071824; font-weight: 800; }
.magic-action button:disabled { opacity: .65; cursor: wait; }
.magic-action p { margin: 0; }
#season-source-preview { padding: 10px 0; }
#season-source-preview textarea { min-height: 260px; width: 100%; resize: vertical; white-space: pre-wrap; }
#season-source-preview-meta { overflow-wrap: anywhere; }
.private-goal-suggestions { display: grid; gap: 10px; padding: 14px; border: 1px dashed #c89a3c; border-radius: 9px; background: #091b29; }
.private-goal-suggestions > strong { color: #f4c85d; }
.private-goal-suggestions > p { margin: 0; }
.private-goal-suggestions label { display: flex; flex-direction: column; gap: 5px; color: #cddbe4; font-size: .9rem; }
.private-goal-suggestions textarea { resize: vertical; }
.bar-secondary { min-height: 36px; padding: 6px 12px; border-color: #49647a; background: #0c2434; color: #d8e2e9; font-size: .82rem; }
.bar-secondary:hover { border-color: var(--gold); color: #f4c85d; }
.panel-bar-status { max-width: 320px; color: var(--muted); font-size: .8rem; font-weight: 650; }
.panel-bar-status[data-state="dirty"] { color: #f4d58d; }
.panel-bar-status[data-state="ok"] { color: #7bddaa; }
.panel-bar-status[data-state="error"] { color: #ff9e94; }
.save-btn { min-width: 130px; min-height: 42px; border: 2px solid #9b772f; background: transparent; color: #f4c85d; font-size: .95rem; font-weight: 850; letter-spacing: .08em; }
.save-btn.dirty { border-color: #f4c85d; background: var(--gold); color: #1a1305; animation: save-glow 1.6s ease-in-out infinite; }
@keyframes save-glow {
  0%, 100% { box-shadow: 0 0 0 1px #f4c85d66, 0 0 8px 1px #f4c85d44; }
  50% { box-shadow: 0 0 0 3px #f4c85dcc, 0 0 24px 6px #f4c85d88; }
}
@media (prefers-reduced-motion: reduce) {
  .save-btn.dirty { animation: none; box-shadow: 0 0 0 3px #f4c85dcc, 0 0 16px 4px #f4c85d66; }
}
.danger-btn { border-color: #99524d; background: #7d302b; color: #fff; }
.unsaved-dialog { max-width: min(520px, calc(100vw - 32px)); padding: 24px; border: 1px solid var(--gold); border-radius: 14px; background: #0e2030; color: var(--text); box-shadow: 0 24px 60px #000a; }
.unsaved-dialog::backdrop { background: #020b14c4; backdrop-filter: blur(3px); }
.unsaved-dialog h2 { margin: 0 0 10px; color: #f4c85d; font-size: 1.2rem; }
.unsaved-dialog p { margin: 0 0 18px; color: #c3d0d9; }
.unsaved-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.panel-checklist { display: grid; gap: 10px; margin: 0 0 18px; }
.panel-checklist:empty { display: none; }
.panel-checklist .preview-overall { margin: 0; }
.standings-checklist-context { display: flex; align-items: end; justify-content: space-between; gap: 12px 20px; padding: 12px 14px; border: 1px solid #52728d; border-left: 4px solid var(--gold); border-radius: 8px; background: #091b29; }
.standings-checklist-context label { display: grid; gap: 4px; width: min(360px, 100%); color: #c6d4dc; font-size: .82rem; font-weight: 700; }
.standings-checklist-context select { min-height: 40px; padding: 7px 10px; border: 1px solid #52728d; border-radius: 6px; background: #0e2030; color: #f1f5f7; font: inherit; }
.standings-checklist-context strong { color: #f4c85d; font-size: .9rem; text-align: right; }
.standings-tournament-hint { margin: 5px 2px 0; }
.standings-round-overview-heading { align-items: center; justify-content: space-between; gap: 12px; }
.standings-round-overview-heading h3 { margin: 0 0 4px; color: #f4c85d; }
.standings-round-overview-heading p { margin: 0; }
#standings-round-overview-status { display: grid; gap: 3px; text-align: right; }
#standings-round-overview-status strong { font-size: .92rem; }
#standings-round-overview-status span { font-size: .78rem; }
.round-complete-text { color: #55c99a; }
.round-warning-text { color: #f1b66b; }
.standings-rounds-incomplete-filter { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0; color: #b8c8d2; font-size: .82rem; }
.standings-rounds-incomplete-filter input { width: auto; margin: 0; }
.standings-round-overview-list { display: grid; border-top: 1px solid #38536a; }
.standings-round-item { border-bottom: 1px solid #38536a; }
.standings-round-item > summary { display: grid; grid-template-columns: 28px minmax(100px, .5fr) minmax(120px, 1fr) minmax(115px, .7fr); align-items: center; gap: 10px; min-height: 48px; padding: 7px 8px; cursor: pointer; list-style: none; }
.standings-round-item > summary::-webkit-details-marker { display: none; }
.standings-round-item.is-complete > summary { background: #15362b33; }
.standings-round-item.is-incomplete > summary { background: #482c1e33; }
.standings-round-item.is-blocked > summary { background: #182b3c; }
.standings-round-status { font-size: 1.05rem; }
.standings-round-count { color: #b8c8d2; font-size: .82rem; font-variant-numeric: tabular-nums; }
.standings-round-blocked { color: #d4ad65; font-size: .78rem; text-align: right; }
.standings-round-fixtures { padding: 0 14px 12px 46px; }
.standings-round-fixtures > ul { display: grid; gap: 4px; margin: 6px 0; padding: 0; list-style: none; }
.standings-round-fixtures > ul > li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 8px; border-left: 3px solid #55c99a; background: #091b29; font-size: .82rem; }
.standings-round-fixtures > ul > li.fixture-result-missing { border-left-color: #e39a54; background: #442f2533; }
.standings-round-fixtures > ul > li strong { color: #f0b66c; font-size: .76rem; text-align: right; }
.standings-round-sequence-note { margin: 7px 0; color: #d4ad65; font-size: .8rem; }
.standings-round-calculate { margin-top: 10px; padding: 8px 12px; border-color: #b28a3a; background: #c99d3d; color: #071824; font-size: .82rem; }
.standings-fixture-editor-actions { display: flex; align-items: center; gap: 12px; margin: 10px 0; }
.standings-fixture-editor-actions { flex-wrap: wrap; min-width: 0; }
.standings-fixture-editor-actions .save-btn { width: auto; }
.standings-team-drag-bank { margin: 8px 0 12px; }
.standings-team-drag-bank summary { color: #c4d1d8; cursor: pointer; font-size: .82rem; }
.standings-team-drag-bank > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.standings-team-drag-bank button { padding: 5px 8px; border-color: #52728d; background: #10283a; color: #e5edf1; font-size: .75rem; cursor: grab; }
.standings-team-drag-bank button:active { cursor: grabbing; }
#standings-round-fixture-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-width: 0; margin: 10px 0; }
#standings-round-fixture-actions .save-btn { width: auto; }
#standings-round-fixture-actions > button { max-width: 100%; }
.standings-fixture-auto-save { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
.standings-fixture-auto-save p { margin: 0; }
.standings-fixture-paste { margin: 10px 0; border-top: 1px solid #38536a; border-bottom: 1px solid #38536a; }
.standings-fixture-paste summary { padding: 9px 0; color: #c4d1d8; cursor: pointer; font-size: .84rem; font-weight: 650; }
.standings-fixture-paste > p { margin: 0 0 8px; }
.standings-fixture-paste textarea { width: 100%; margin: 8px 0; }
.standings-fixture-paste-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.standings-fixture-paste-controls label { display: grid; gap: 4px; width: 150px; color: #9aafbd; font-size: .76rem; }
.standings-fixture-paste-controls input { width: 100%; padding: 6px 8px; }
.standings-fixture-duplicates { flex: 1 0 100%; padding: 9px 12px; border-left: 3px solid #e39a54; background: #442f2533; color: #f0c27b; }
.standings-fixture-duplicates strong { display: block; margin-bottom: 5px; }
.standings-fixture-duplicates p { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 5px 0 0; color: #e5edf1; }
.standings-fixture-duplicates button { padding: 3px 7px; border-color: #a87536; background: #10283a; color: #ffd58d; }
.standings-final-comparison { flex: 1 0 100%; margin: 5px 0; padding: 10px 12px; border-left: 3px solid #52728d; background: #091b29; color: #c4d1d8; font-size: .82rem; }
.standings-final-comparison.is-match { border-left-color: #55c99a; background: #102b2b; }
.standings-final-comparison.is-mismatch { border-left-color: #e39a54; background: #442f2533; }
.standings-final-comparison strong, .standings-final-comparison span { display: block; }
.standings-final-comparison.is-match strong { color: #82ddb5; }
.standings-final-comparison.is-mismatch strong { color: #f0c27b; }
.standings-final-comparison ul { display: grid; gap: 3px; margin: 6px 0 0; padding-left: 18px; }
.standings-season-closed { margin: 8px 0; color: #82ddb5; font-weight: 700; }
.standings-round-fixture-list { display: grid; gap: 5px; margin: 8px 0; }
.standings-round-fixture { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 6px 8px; border-left: 3px solid #55c99a; background: #091b29; }
.standings-round-fixture.is-missing { border-left-color: #e39a54; background: #442f2533; }
.standings-round-fixture.has-season-duplicate { outline: 1px solid #e39a54; }
.standings-round-duplicate-badge { color: #ffd58d; font-size: .72rem; font-weight: 700; }
.standings-round-team-selects { display: grid; grid-template-columns: minmax(120px, 1fr) 60px 12px 60px minmax(120px, 1fr); align-items: end; gap: 6px; }
.standings-round-team-selects label { display: grid; gap: 3px; min-width: 0; color: #9aafbd; font-size: .68rem; }
.standings-round-team-selects select { min-width: 0; width: 100%; padding: 6px 7px; background: #0e2030; color: #f1f5f7; font: inherit; }
.standings-round-team-selects input { width: 100%; min-width: 0; padding: 6px; text-align: center; font-variant-numeric: tabular-nums; }
.fixture-score-separator { align-self: center; color: #9aafbd; text-align: center; }
.standings-round-fixture-actions { display: flex; gap: 4px; }
.standings-round-fixture-actions button { min-width: 34px; padding: 5px 8px; border-color: #52728d; background: #10283a; color: #e5edf1; }
.standings-round-source-note { color: #d4ad65; font-size: .7rem; }
.standings-round-fixture-names { min-width: 0; overflow-wrap: anywhere; }
.lineup-forecast-promotion { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; padding: 12px 14px; border: 1px solid #b28a3a; border-left: 4px solid #f4c85d; border-radius: 8px; background: #332c1d; color: #f1e6ca; }
.lineup-forecast-promotion p { margin: 0; font-size: .86rem; }
.lineup-forecast-promotion strong { color: #f4c85d; }
.lineup-forecast-promotion button { flex: 0 0 auto; }
.editor-step-heading, .editor-section-heading { display: flex; align-items: center; gap: 13px; }
.editor-step-heading {
  margin: 10px 0 2px;
  padding: 15px 0 10px;
  border-bottom: 1px solid #38536a;
}
.editor-step-heading > span, .editor-section-heading > span {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #9b772f;
  border-radius: 50%;
  background: #493a1c;
  color: #f4c85d;
  font-size: .76rem;
  font-weight: 850;
}
.editor-step-heading > div, .editor-section-heading > div { display: grid; gap: 3px; }
.editor-step-heading strong, .editor-section-heading h3 { margin: 0; color: #f1f5f7; font-size: 1.02rem; }
.editor-step-heading small, .editor-section-heading p { margin: 0; color: var(--muted); font-size: .8rem; font-weight: 400; }
.match-edit-section { display: grid; gap: 16px; min-width: 0; padding: 18px; border: 1px solid #2f4a5e; border-radius: 12px; background: linear-gradient(145deg, #0d2232, #0a1c2a); }
.match-edit-section + .match-edit-section { margin-top: 2px; }
.match-edit-section-heading { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 0 0 13px; border-bottom: 1px solid #2f4a5e; }
.match-edit-section-heading > span:first-child { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid #9b772f; border-radius: 50%; background: #493a1c; color: #f4c85d; font-size: .76rem; font-weight: 850; }
.match-edit-section-heading > div { display: grid; flex: 1; gap: 3px; min-width: 0; }
.match-edit-section-heading strong { color: #f1f5f7; font-size: 1.02rem; }
.match-edit-section-heading small { color: var(--muted); font-size: .8rem; font-weight: 400; }
.match-edit-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 15px; min-width: 0; }
.match-report-edit-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.match-edit-section-status { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #4d8766; border-radius: 999px; background: #15362b; color: #9ce0b8; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.match-edit-section-status.is-incomplete { border-color: #b28a3a; background: #3a301b; color: #f4d58d; }
.match-edit-section-grid label.checklist-field-missing, .match-edit-field.checklist-field-missing { position: relative; padding: 10px 12px; border: 1px solid #9b772f; border-left: 4px solid #f4c85d; border-radius: 9px; background: #3a301b; color: #f4d58d; }
.match-edit-section-grid label.checklist-field-missing::after, .match-edit-field.checklist-field-missing::after { content: 'Saknas i checklistan'; align-self: flex-start; order: 10; padding: 3px 7px; border-radius: 999px; background: #59451d; color: #f4d58d; font-size: .68rem; font-weight: 750; }
.match-edit-section-grid label.checklist-field-missing > input, .match-edit-section-grid label.checklist-field-missing > select, .match-edit-section-grid label.checklist-field-missing > textarea { border-color: #b28a3a; background-color: #172534; }
.match-edit-section-grid label.checklist-field-missing > input:focus, .match-edit-section-grid label.checklist-field-missing > select:focus, .match-edit-section-grid label.checklist-field-missing > textarea:focus { border-color: #f4c85d; box-shadow: 0 0 0 3px #f4c85d2b; }
.match-edit-field.checklist-field-missing { display: grid; gap: 8px; }
.editor-following-heading { margin-top: 34px; }
.editor-roster-section { margin-top: 24px; }
.editor-section-heading { flex-wrap: wrap; }
.editor-section-heading > div { flex: 1; }
.editor-section-heading button { margin-left: auto; }
.subsection {
  margin-top: 22px;
  padding: 20px;
  border: 1px solid #38536a;
  border-radius: 12px;
  background: #091b29a8;
}
.subsection h3 { margin: 0 0 14px; color: #f4c85d; font-size: 1.02rem; }
.subsection .toolbar h3 { margin: 0; }
.compact { gap: 12px; }
.season-editor-picker { margin-bottom: 16px; }
.season-editor-picker > button { align-self: end; justify-self: start; }
#season-editor-tabs button.active { background: var(--gold); color: var(--navy); }
#season-editor-tabs { border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.season-computed-facts { display: grid; gap: 4px; margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #c89a3c; background: #091b29; color: #b8c8d2; }
.season-computed-facts strong { color: #c89a3c; }
.season-shirt-editor h3 { margin-bottom: 4px; }
.season-shirt-dnd-layout { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(300px, 1.3fr); gap: 18px; align-items: start; margin: 14px 0 18px; }
.season-shirt-dnd-layout h4 { margin: 0 0 8px; color: #c89a3c; }
.season-shirt-drag-roster { display: grid; gap: 4px; max-height: 560px; overflow: auto; padding: 6px; border: 1px solid #38536a; border-radius: 6px; background: #091b29; }
.season-shirt-roster-player { min-width: 0; }
.season-shirt-drag { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; min-width: 0; padding: 6px 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #e5edf1; text-align: left; cursor: grab; }
.season-shirt-drag:hover { border-color: #52728d; background: #10283a; }
.season-shirt-drag:active { cursor: grabbing; }
.season-shirt-drag small { color: #9aafbd; white-space: nowrap; }
.season-shirt-number-slots { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.season-shirt-slot { display: grid; align-content: start; gap: 4px; min-width: 0; min-height: 64px; padding: 5px; border: 1px dashed #52728d; border-radius: 6px; background: #091b29; text-align: center; }
.season-shirt-slot[data-edit-shirt-number] { cursor: pointer; }
.season-shirt-slot[data-edit-shirt-number]:focus-visible { outline: 2px solid #f0c27b; outline-offset: 2px; }
.season-shirt-slot strong { color: #c89a3c; font-size: .94rem; font-variant-numeric: tabular-nums; }
.season-shirt-slot > div { display: grid; gap: 3px; }
.season-shirt-slot span { overflow-wrap: anywhere; color: #9aafbd; font-size: .66rem; }
.season-shirt-slot span small { display: block; color: #f0c27b; }
.season-shirt-slot.is-assigned { border-style: solid; border-color: #c89a3c; background: #122c3c; }
.season-shirt-slot.is-assigned span { color: #e5edf1; }
.season-shirt-slot.has-multiple-assignments { border-color: #e39a54; background: #442f2533; }
.season-shirt-slot.is-high-number-drop { border-color: #c89a3c; background: #10283a; }
.season-shirt-slot.is-high-number-drop strong { color: #f0c27b; }
.season-shirt-slot.is-high-number-drop span { color: #f0c27b; }
.season-shirt-assignment-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin: 14px 0; }
.season-shirt-player-list { display: grid; gap: 6px; max-height: 560px; overflow: auto; }
.season-shirt-player { display: grid; grid-template-columns: minmax(170px, 1.3fr) minmax(74px, .45fr) repeat(2, minmax(140px, .9fr)) auto; align-items: end; gap: 10px; padding: 9px; border: 1px solid #29465a; border-radius: 6px; }
.season-shirt-player.has-number-error { background: #4b242433; }
.season-shirt-player label, .season-shirt-assignment-add label { display: grid; gap: 5px; min-width: 0; color: #9aafbd; font-size: .78rem; }
.season-shirt-player input, .season-shirt-player select, .season-shirt-assignment-add select { width: 100%; min-width: 0; padding: 6px 8px; font-variant-numeric: tabular-nums; }
.season-shirt-player [data-season-shirt-number] { text-align: center; }
.season-shirt-player [data-remove-shirt-assignment] { min-height: 34px; }
.season-shirt-drop-dialog { width: min(620px, calc(100vw - 32px)); max-height: min(90vh, 760px); overflow: auto; padding: 20px; border: 1px solid #52728d; border-radius: 8px; background: #10283a; color: #e5edf1; }
.season-shirt-drop-dialog::backdrop { background: #06111acc; }
.season-shirt-drop-dialog h3 { margin: 0 0 8px; color: #f0c27b; }
.season-shirt-drop-dialog p { color: #b8c8d2; }
.season-shirt-high-number-field { display: grid; gap: 5px; max-width: 180px; color: #9aafbd; font-size: .78rem; }
.season-shirt-high-number-field input { width: 100%; padding: 7px 9px; }
.season-shirt-drop-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.season-shirt-drop-periods { display: grid; gap: 9px; margin-top: 16px; }
.season-shirt-drop-period { display: grid; grid-template-columns: minmax(140px, 1fr) repeat(2, minmax(140px, .8fr)); align-items: end; gap: 10px; padding: 9px; border: 1px solid #38536a; border-radius: 6px; }
.season-shirt-drop-period.is-marked-for-removal { border-color: #ff8c7b; background: #4b242433; opacity: .7; }
.season-shirt-drop-period strong { overflow-wrap: anywhere; }
.season-shirt-drop-period label { display: grid; gap: 5px; color: #9aafbd; font-size: .78rem; }
.season-shirt-drop-period input { width: 100%; min-width: 0; padding: 6px 8px; }
.season-shirt-drop-error { min-height: 1.2em; margin: 0; color: #ffb0a5 !important; }
.season-shirt-editor > .save-status { min-height: 1.2em; margin-top: 10px; }
.season-kit-archive-editor > .toolbar { margin-bottom: 12px; }
.season-kit-archive-editor h3 { margin-bottom: 4px; }
.kit-archive-upload-form { margin: 12px 0 18px; padding: 12px; border: 1px solid #38536a; border-radius: 8px; background: #091b29; }
.kit-archive-upload-form textarea { resize: vertical; }
.kit-archive-upload-status { margin-left: 10px; color: #b8c8d2; font-size: .82rem; }
.calendar-year-report-saved { margin: 10px 0; border: 1px solid #38536a; border-radius: 8px; background: #091b29; color: #e5edf1; }
.calendar-year-report-saved summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 12px; cursor: pointer; }
.calendar-year-report-saved summary small { color: #9aafbd; }
.calendar-year-report-saved pre { max-height: 65vh; overflow: auto; margin: 0; padding: 12px; border-top: 1px solid #38536a; white-space: pre-wrap; overflow-wrap: anywhere; color: #e5edf1; font: .82rem/1.5 ui-monospace, monospace; }
.kit-archive-season-targets { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin: 14px 0 18px; }
.kit-archive-drop-zone { min-width: 0; min-height: 100px; padding: 9px; border: 1px dashed #52728d; border-radius: 8px; background: #091b29; }
.kit-archive-drop-zone:focus-within, .kit-archive-drop-zone:hover { border-color: #f0c27b; background: #10283a; }
.kit-archive-drop-zone h4 { margin: 0 0 6px; color: #f0c27b; font-size: .8rem; }
.kit-archive-drop-zone > div { display: flex; flex-wrap: wrap; gap: 5px; }
.kit-archive-drop-zone > small { display: block; margin-top: 8px; color: #9aafbd; font-size: .68rem; }
.kit-archive-drop-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 5px; border: 1px solid #38536a; border-radius: 5px; background: #10283a; color: #e5edf1; font-size: .72rem; cursor: grab; }
.kit-archive-drop-chip img { width: 25px; height: 28px; object-fit: contain; }
.kit-archive-drop-chip button { min-width: 22px; min-height: 22px; padding: 0; border: 0; background: transparent; color: #ffb0a5; }
.kit-archive-items { display: grid; gap: 12px; }
.kit-archive-item { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: 14px; padding: 12px; border: 1px solid #38536a; border-radius: 8px; background: #091b29; }
.kit-archive-preview-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-content: start; }
.kit-archive-preview-pair figure { min-width: 0; margin: 0; }
.kit-archive-preview-pair img { display: block; width: 100%; max-height: 260px; object-fit: contain; border-radius: 5px; background-color: #fff; background-image: linear-gradient(45deg, #d9e0e5 25%, transparent 25%), linear-gradient(-45deg, #d9e0e5 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #d9e0e5 75%), linear-gradient(-45deg, transparent 75%, #d9e0e5 75%); background-size: 16px 16px; background-position: 0 0, 0 8px, 8px -8px, -8px 0; }
.kit-archive-preview-pair img.kit-image-normalize { aspect-ratio: 512 / 600; }
.kit-archive-preview-pair figcaption { margin-top: 4px; color: #9aafbd; font-size: .7rem; text-align: center; }
.kit-archive-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; align-content: start; }
.kit-archive-edit-form label { display: grid; gap: 4px; min-width: 0; color: #9aafbd; font-size: .78rem; }
.kit-archive-edit-form input, .kit-archive-edit-form select, .kit-archive-edit-form textarea { width: 100%; min-width: 0; }
.kit-season-assignments { display: grid; gap: 6px; }
.kit-season-assignments > strong { color: #c89a3c; }
.kit-season-assignment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr) auto; gap: 6px; align-items: center; }
.kit-season-assignment button { min-height: 34px; }
.kit-archive-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.kit-archive-actions .save-status { flex-basis: 100%; min-height: 1em; color: #b8c8d2; }
.kit-logo-bank { margin: 12px 0; padding: 12px; border: 1px solid #38536a; border-radius: 8px; background: #0b2030; }
.kit-logo-bank h4, .kit-logo-composer h4 { margin: 0 0 6px; color: #f1c85b; }
.kit-logo-filter { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, .7fr) auto; align-items: end; gap: 9px; margin-top: 12px; }
.kit-logo-filter label { display: grid; gap: 4px; color: #9aafbd; font-size: .78rem; }
.kit-logo-filter input, .kit-logo-filter select { width: 100%; min-width: 0; }
.kit-logo-filter-count { padding: 8px 0; white-space: nowrap; }
.kit-logo-bank-items, .kit-logo-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.kit-logo-bank-item, .kit-logo-picker button { display: inline-flex; align-items: center; gap: 7px; padding: 5px 8px; border: 1px solid #38536a; border-radius: 6px; background: #10283a; color: #e5edf1; font-size: .75rem; }
.kit-logo-bank-item img, .kit-logo-picker img { width: 34px; height: 34px; object-fit: contain; }
.kit-logo-picker button { cursor: pointer; }
.kit-logo-picker button:disabled { cursor: not-allowed; opacity: .58; }
.kit-logo-picker button[hidden], .kit-logo-bank-item[hidden] { display: none; }
.kit-logo-composer { display: grid; gap: 8px; padding: 12px; border: 1px solid #38536a; border-radius: 8px; background: #0b2030; }
.kit-logo-composer p { margin: 0; }
.kit-logo-review { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.kit-logo-review figure { margin: 0; min-width: 0; }
.kit-logo-review img { display: block; width: 100%; height: 220px; object-fit: contain; border-radius: 5px; background-color: #fff; background-image: linear-gradient(45deg, #d9e0e5 25%, transparent 25%), linear-gradient(-45deg, #d9e0e5 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #d9e0e5 75%), linear-gradient(-45deg, transparent 75%, #d9e0e5 75%); background-size: 16px 16px; background-position: 0 0, 0 8px, 8px -8px, -8px 0; }
.kit-logo-review figcaption { margin-top: 4px; color: #b8c8d2; font-size: .75rem; }
.kit-logo-review-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.kit-logo-review-actions .save-status, .kit-logo-composer > .save-status { flex-basis: 100%; min-height: 1em; color: #b8c8d2; }
.match-kit-archive-preview { display: flex; align-items: center; gap: 8px; margin-top: 6px; color: #9aafbd; font-size: .75rem; }
.match-kit-archive-preview img { width: 44px; height: 54px; object-fit: contain; border-radius: 4px; background: #fff; }
@media (max-width: 800px) {
  .kit-archive-season-targets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kit-archive-item { grid-template-columns: 1fr; }
  .kit-archive-preview-pair img { max-height: 200px; }
  .kit-logo-review { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kit-logo-review img { height: 180px; }
  .kit-logo-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kit-logo-filter-count { grid-column: 1 / -1; padding: 0; }
}
.standings-results-import { margin-top: 12px; }
.standings-import-round { margin-top: 12px; padding: 10px 12px; border: 1px solid #38536a; border-radius: 6px; }
.standings-import-round summary { color: #f1c85b; cursor: pointer; font-weight: 700; }
.standings-import-round p { margin: 5px 0; color: #c1d0d8; font-size: .88rem; }
.standings-import-unmatched { display: grid; gap: 10px; margin: 12px 0; padding: 12px; border-left: 3px solid #e39a54; background: #091b29; }
.standings-import-unmatched label { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(180px, 2fr); align-items: center; gap: 10px; }
.standings-import-preview-result { margin: 12px 0; }
.standings-source-import { align-items: end; }
.standings-fsw-summary { margin: 10px 0; padding: 12px 14px; border-left: 3px solid #c89a3c; background: #091b29; color: #b8c8d2; }
.standings-fsw-summary > strong { color: #f1c85b; }
.standings-fsw-summary ul, .standings-fsw-warnings ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 4px 14px; margin: 8px 0 0; padding-left: 20px; }
.standings-fsw-completeness { display: grid; gap: 4px; margin: 10px 0; padding: 11px 14px; border-left: 3px solid #e39a54; background: #091b29; color: #c4d1d8; }
.standings-fsw-completeness.complete { border-left-color: #55c99a; }
.standings-fsw-completeness strong { color: #f0b66c; }
.standings-fsw-completeness.complete strong { color: #6ed5a8; }
.standings-fsw-completeness details summary { margin-top: 4px; color: #f1c85b; cursor: pointer; }
.site-change-log-list { display: grid; gap: 18px; }
.site-change-log-entry { padding: 16px 0; border-bottom: 1px solid #38536a; }
.site-change-log-entry > h3 { margin: 0 0 14px; color: #f1f5f7; }
.site-change-log-audiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.site-change-log-audiences > section > h4 { margin: 0 0 8px; color: #f4c85d; }
.site-change-log-groups { display: grid; gap: 12px; }
.site-change-log-group h4 { margin: 0 0 4px; color: #c5d2da; font-size: .86rem; }
.site-change-log-group ul { display: grid; gap: 4px; margin: 0; padding-left: 19px; color: #aebfc8; }
.standings-fsw-completeness details ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 4px 14px; margin: 7px 0 0; padding-left: 20px; }
.standings-fsw-warnings { margin: 10px 0; padding: 10px 12px; border-left: 3px solid #e39a54; background: #091b29; color: #d5e0e5; }
.standings-fsw-matches, .standings-fsw-scorer-maps { margin: 10px 0; }
.standings-fsw-matches summary, .standings-fsw-scorer-maps summary { color: #f1c85b; cursor: pointer; }
.standings-fsw-date-note { display: block; max-width: 150px; color: #e8b864; font-size: .7rem; line-height: 1.2; }
.saved-standings-section { margin-top: 18px; }
.saved-standings-section h3 { margin-bottom: 8px; }
.standings-alternatives { margin: 22px 0 0; padding-top: 14px; border-top: 1px solid #38536a; }
.standings-alternatives > summary { color: #b8c8d2; cursor: pointer; font-weight: 700; }
.standings-alternatives[open] > summary { margin-bottom: 8px; color: #f1c85b; }
.standings-alternatives-content { display: grid; gap: 12px; }
.season-international-row { margin: 12px 0; padding: 14px; border: 1px solid #38536a; border-radius: 8px; background: #071824; }
.season-international-row button { justify-self: start; }
.editor-stat-subheading { margin-top: 10px; padding: 8px 0 4px; border-bottom: 1px solid #38536a; }
.editor-stat-subheading h4 { margin: 0; color: #f4c85d; font-size: .9rem; }
.compact button[type="submit"] { align-self: end; }
.duplicate-warning { border-color: #9b772f; background: #493a1c; color: #f4d58d; }
.goal-origin-card blockquote { color: #d8e2e9; }
.goal-origin-ready { color: #7bddaa !important; }
.panel .goal-match-facts h4, .panel .goal-review-column h4 { color: #071d33; }
.panel .goal-match-facts p, .panel .goal-match-facts .small,
.panel .goal-review-column p, .panel .goal-review-column .small { color: #334b5b; }
.panel .goal-review-column { color: #253b4c; }
.panel .goal-player-search-hit { background: #0c2434; color: #f1f5f7; }
.panel .goal-player-search-hit > span { color: #c3d0d9; }
.panel .goal-player-search-hit:hover { background: #123249; }
.lineup-forecast-accuracy { margin: 8px 0 12px; padding: 9px 12px; border-left: 3px solid var(--gold); background: #091b29; color: #e1e9ee; font-size: .84rem; font-weight: 650; }
.admin-substitution-list li { border-color: #293f52; }
.lineup-scheme-toggle { flex-wrap: wrap; }
.lineup-board { overflow-x: auto; padding: 6px; border: 1px solid #38536a; border-radius: 12px; background: #071824; }
.match-statistics-editor { scroll-margin-top: 88px; }
.lineup-workspace { display: grid; grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr) minmax(170px, .28fr); align-items: start; gap: 14px; }
.coach-workspace { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 14px; margin-top: 16px; padding: 14px; border: 1px solid #38536a; border-radius: 8px; background: #071824; color: #f1f5f7; }
.coach-workspace h3 { margin: 0; color: #f4c85d; }
.coach-workspace .muted { color: #a2b4c1; }
.coach-workspace p { margin: 5px 0 10px; }
.coach-candidates, .coach-assignments { display: flex; min-height: 42px; flex-wrap: wrap; align-content: flex-start; gap: 7px; }
.coach-candidate { padding: 6px 9px; border-color: #49647a; background: #102a3e; color: #f1f5f7; cursor: grab; }
.coach-dropzones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.coach-dropzone { min-height: 92px; padding: 10px; border: 1px dashed #52728d; border-radius: 7px; color: #a2b4c1; }
.coach-dropzone.drag-over { outline: 3px solid var(--gold); outline-offset: 2px; }
.coach-dropzone strong { display: block; margin-bottom: 8px; color: #f1f5f7; }
.coach-assignment { display: flex; align-items: center; gap: 7px; padding: 4px 6px; border: 1px solid #49647a; border-radius: 5px; background: #102a3e; color: #f1f5f7; cursor: grab; }
.coach-assignment button { padding: 2px 6px; font-size: .75rem; }
.coach-add-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; margin-top: 10px; }
.coach-add-form button { grid-column: 1 / -1; }
.absence-zones { position: sticky; top: 140px; display: grid; gap: 9px; }
.absence-zone { min-height: 70px; }
.absence-zone strong { color: #f1f5f7; }
.absence-auto { cursor: help; font-size: .8rem; }
.lineup-workspace > .roster-grid { position: sticky; top: 140px; max-height: calc(100vh - 150px); overflow-y: auto; }
.football-pitch { min-width: 540px; }
.lineup-dropzone { border-color: #52728d; background: #0b1f2e; color: #a2b4c1; }
.roster-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.roster-chip { border-color: #49647a; background: #102a3e; color: #f1f5f7; }
.roster-chip:hover { border-color: var(--gold); }
.live-match-toggle { display: inline-flex; align-items: center; gap: 9px !important; padding: 7px 10px; border: 1px solid #38536a; border-radius: 6px; background: #0b1f2e; color: #f1f5f7; }
.live-match-toggle input { flex: 0 0 auto; accent-color: #55d38b; }
.live-match-toggle span { display: grid; gap: 2px; }
.live-match-toggle span strong { display: inline-flex; align-items: center; gap: 6px; }
.live-match-toggle span strong::before { width: 8px; height: 8px; border-radius: 50%; background: #718596; content: ''; }
.live-match-toggle input:checked + span strong::before { background: #55d38b; box-shadow: 0 0 0 3px #55d38b22; animation: live-toggle-pulse 1.6s ease-out infinite; }
.live-match-toggle.is-disabled { opacity: .6; }
.live-match-toggle small { color: #a2b4c1; font-size: .72rem; }
@keyframes live-toggle-pulse { 50% { box-shadow: 0 0 0 6px #55d38b08; } }
.opponent-lineup-section { margin-top: 20px; padding-top: 16px; border-top: 1px solid #38536a; }
.opponent-lineup-heading h3 { margin: 0; color: #f4c85d; }
.opponent-lineup-heading p { margin: 4px 0 10px; }
.opponent-player-add-form { margin-bottom: 10px; }
.opponent-player-admin-list { display: grid; gap: 5px; margin: 8px 0 12px; }
.opponent-player-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid #293f52; border-radius: 5px; background: #0b1f2e; }
.opponent-player-identity { display: grid; min-width: 0; gap: 2px; }
.opponent-player-identity a { color: #f1f5f7; overflow-wrap: anywhere; }
.opponent-player-identity small { color: #a2b4c1; font-size: .68rem; }
.former-hbk-badge { display: inline-flex; align-items: center; gap: 4px; color: #f4c85d; font-size: .65rem; font-weight: 700; white-space: nowrap; }
.former-hbk-badge img { width: 17px; height: 17px; object-fit: contain; }
.opponent-player-search-hit { display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; }
.opponent-player-search-hit .former-hbk-badge { flex: 0 0 auto; }
.goal-form-actions { display: flex; align-items: center; gap: 8px; }
.goal-form-actions button[type="submit"] { flex: 1 1 auto; }
.goal-contribution-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0; }
#goal-review-fields { display: grid; gap: 8px; }
#goal-review-fields.hidden, .goal-contribution-fields.hidden { display: none; }
@media (max-width: 700px) {
  .goal-contribution-fields { grid-template-columns: minmax(0, 1fr); }
}
.opponent-lineup-workspace { display: grid; grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr) minmax(170px, .28fr); align-items: start; gap: 14px; }
.opponent-lineup-workspace > .roster-grid { display: grid; gap: 7px; min-height: 90px; }
.opponent-lineup-workspace > .lineup-board { min-width: 0; }
.opponent-lineup-workspace .football-pitch { min-width: 420px; }
.opponent-lineup-workspace .pitch-slot { min-width: 50px; }
.lineup-workspace:not(.lineup-workspace-forecast) .football-pitch,
.opponent-lineup-workspace .football-pitch {
  min-width: 0;
  padding: 10px;
  background: repeating-linear-gradient(0deg, #34784c 0, #34784c 58px, #3b8555 58px, #3b8555 116px);
}
.lineup-workspace:not(.lineup-workspace-forecast) .pitch-row,
.opponent-lineup-workspace .pitch-row { margin: 8px 0; }
.lineup-workspace:not(.lineup-workspace-forecast) .pitch-slot,
.opponent-lineup-workspace .pitch-slot {
  min-width: 44px;
  min-height: 58px;
  gap: 4px;
  padding: 5px 3px;
}
.opponent-lineup-event-drops { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.opponent-lineup-event-drops .lineup-dropzone { display: grid; min-height: 64px; gap: 5px; cursor: default; }
.opponent-lineup-event-drops .lineup-dropzone span { color: #a2b4c1; font-size: .72rem; }
.lineup-right-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.lineup-right-mode button { padding: 6px 7px; border: 1px solid #38536a; border-radius: 5px; background: #0b1f2e; color: #a2b4c1; font-size: .72rem; }
.lineup-right-mode button.active { border-color: #f4c85d; color: #f4d58d; box-shadow: inset 0 -2px #f4c85d; }
.lineup-event-panel { display: grid; gap: 9px; }
.absence-zones.hidden, .lineup-event-panel.hidden { display: none; }
.lineup-event-log { display: grid; gap: 4px; max-height: 180px; overflow-y: auto; }
.lineup-event-log-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) 26px; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px solid #293f52; color: #d8e2e9; font-size: .72rem; }
.lineup-event-log-row time { color: #f4c85d; font-variant-numeric: tabular-nums; }
.event-delete-button { display: inline-flex; width: 24px; height: 24px; flex: 0 0 24px; align-items: center; justify-content: center; padding: 0; border: 1px solid #6f4350; border-radius: 4px; background: transparent; color: #ffabb6; font-size: 1rem; line-height: 1; }
.event-delete-button:hover { border-color: #ffabb6; background: #682c3a; }
.lineup-event-empty { color: #a2b4c1; font-size: .72rem; }
.lineup-event-drops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.lineup-event-drops .lineup-dropzone { display: grid; min-height: 58px; gap: 4px; padding: 8px; font-size: .72rem; }
.lineup-event-drops .lineup-dropzone span { color: #a2b4c1; font-size: .66rem; }
.lineup-event-form-host { display: grid; gap: 8px; }
.lineup-event-form-host form { display: grid; gap: 8px; }
.lineup-event-form-host .form-grid, .lineup-event-form-host .compact { grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.lineup-event-form-host .wide { grid-column: 1; }
.lineup-event-form-host label, .lineup-event-form-host input, .lineup-event-form-host select { min-width: 0; max-width: 100%; }
.lineup-team-switch { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.lineup-team-switch-button { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 4px 9px; border: 1px solid #38536a; border-radius: 6px; background: transparent; color: #c9d6df; cursor: pointer; font-size: .82rem; font-weight: 700; }
.lineup-team-switch-button img, .lineup-team-emblem-fallback { width: 22px; height: 22px; flex: 0 0 22px; box-sizing: border-box; border: 1px solid #49647a; border-radius: 50%; background: #071824; object-fit: contain; padding: 2px; }
.lineup-team-emblem-fallback { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #52728d; border-radius: 50%; color: #c9d6df; font-size: .65rem; }
.lineup-team-switch-button.active { border-color: #52728d; background: #10283a; color: #fff; box-shadow: none; animation: none; }
.lineup-team-switch-button.active img, .lineup-team-switch-button.active .lineup-team-emblem-fallback { border-color: #f4c85d; box-shadow: 0 0 0 2px #f4c85d33, 0 0 11px #f4c85d88; animation: lineup-crest-pulse 1.8s ease-in-out infinite; }
@keyframes lineup-crest-pulse { 50% { box-shadow: 0 0 0 4px #f4c85d22, 0 0 14px #f4c85dcc; } }
.lineup-report-switch-icon { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; color: #f4c85d; font-size: 1.15rem; }
.lineup-team-switch-button.lineup-report-switch-button.active { border-color: #f4c85d; color: #fff; box-shadow: inset 0 -2px #f4c85d; }
.lineup-report-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 1.25fr) minmax(0, 1fr); align-items: start; gap: 14px; margin-top: 12px; }
.lineup-report-team, .lineup-report-timeline { min-width: 0; padding: 10px; border: 1px solid #38536a; border-radius: 7px; background: #0b1f2e; }
.lineup-report-team h3, .lineup-report-timeline h3 { margin: 0 0 7px; color: #f4c85d; font-size: .9rem; }
.lineup-report-team h3 { display: flex; align-items: center; gap: 7px; }
.lineup-report-club-mark, .lineup-report-club-fallback { width: 22px; height: 22px; flex: 0 0 22px; object-fit: contain; }
.lineup-report-club-fallback { display: inline-grid; place-items: center; border: 1px solid #f4c85d; border-radius: 50%; color: #f4c85d; font-size: .5rem; }
.lineup-report-team h3 { display: flex; align-items: center; gap: 7px; }
.lineup-report-club-mark, .lineup-report-club-fallback { width: 22px; height: 22px; flex: 0 0 22px; object-fit: contain; }
.lineup-report-club-fallback { display: inline-grid; place-items: center; border: 1px solid #f4c85d; border-radius: 50%; color: #f4c85d; font-size: .5rem; }
.lineup-report-team > ol, .lineup-report-events, .lineup-report-event-group > ol { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.lineup-report-roster-row { display: grid; grid-template-columns: 25px minmax(0, 1fr); align-items: center; gap: 7px; padding: 5px 0; border-bottom: 1px solid #293f52; }
.lineup-report-shirt { color: #f4c85d; font-size: .7rem; font-variant-numeric: tabular-nums; }
.lineup-report-roster-row > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.lineup-report-roster-row strong { color: #f1f5f7; font-size: .72rem; overflow-wrap: anywhere; }
.lineup-report-roster-row small, .lineup-report-roster-row em { color: #a2b4c1; font-size: .62rem; font-style: normal; }
.lineup-report-roster-row em { grid-column: 2; }
.lineup-report-timeline > p { margin: 0 0 7px; }
.lineup-report-events { max-height: calc(100vh - 300px); overflow-y: auto; }
.lineup-report-event-group { padding: 5px; border: 1px solid #293f52; border-radius: 5px; }
.lineup-report-event-group.drag-over { outline: 2px solid #f4c85d; outline-offset: 1px; }
.lineup-report-minute { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 4px; color: #f4c85d; font-size: .7rem; font-weight: 750; }
.lineup-report-minute small { color: #a2b4c1; font-size: .6rem; font-weight: 500; }
.lineup-report-event { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 6px; padding: 5px; border-radius: 4px; color: #d8e2e9; cursor: grab; }
.lineup-report-event:active { cursor: grabbing; }
.lineup-report-event-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lineup-report-event-title b { flex: 0 0 auto; color: #f4c85d; font-size: .68rem; font-variant-numeric: tabular-nums; }
.lineup-report-event-team { display: flex; align-items: center; gap: 4px; }
.lineup-report-event-team .lineup-report-club-mark, .lineup-report-event-team .lineup-report-club-fallback { width: 16px; height: 16px; flex-basis: 16px; font-size: .38rem; }
.lineup-report-event-icon { text-align: center; }
.lineup-report-event > span:last-child { display: grid; min-width: 0; gap: 2px; }
.lineup-report-event strong { font-size: .68rem; overflow-wrap: anywhere; }
.lineup-report-event small { color: #a2b4c1; font-size: .6rem; }
.lineup-report-empty { padding: 7px 0; color: #a2b4c1; font-size: .7rem; }
.memorable-match-report-dialog { box-sizing: border-box; width: min(680px, calc(100vw - 28px)); max-height: min(82vh, 740px); overflow: hidden; padding: 0; border: 1px solid #bac8d2; border-radius: 8px; background: #f5f8fa; color: #172633; box-shadow: 0 20px 70px #07111b66; }
.memorable-match-report-dialog::backdrop { background: #07111bcc; }
.memorable-match-report-inner { max-height: min(82vh, 740px); overflow-y: auto; padding: 20px; }
.memorable-match-report-inner header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin: 0; padding: 0 0 12px; border-bottom: 1px solid #d5dee5; background: transparent; color: inherit; }
.memorable-match-report-inner header p { margin: 0 0 4px; font-size: .68rem; letter-spacing: .08em; }
.memorable-match-report-inner h2 { margin: 0; font-size: 1.15rem; }
.memorable-match-report-inner > p { max-height: min(38vh, 360px); margin: 16px 0; overflow-y: auto; color: #263b4a; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.memorable-match-reason-field { display: grid; gap: 6px; color: #263b4a; font-size: .78rem; font-weight: 700; }
.memorable-match-reason-field input { width: 100%; }
.memorable-match-report-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.memorable-match-report-actions [role="status"] { color: #557081; font-size: .76rem; }
@media (max-width: 600px) {
  .memorable-match-report-inner { padding: 15px; }
  .memorable-match-report-actions { align-items: flex-start; flex-direction: column; }
}
.match-team-emblem-switch { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; grid-column: 1 / -1; margin: 3px 0 8px; }
.match-team-emblem-button { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; padding: 4px 9px; border: 1px solid #38536a; border-radius: 6px; background: #0b1f2e; color: #c9d6df; cursor: pointer; font-size: .8rem; font-weight: 700; }
.match-team-emblem-button img, .team-emblem-fallback { display: inline-flex; width: 22px; height: 22px; flex: 0 0 22px; align-items: center; justify-content: center; box-sizing: border-box; padding: 2px; border: 1px solid #49647a; border-radius: 50%; background: #071824; object-fit: contain; }
.team-emblem-fallback { color: #c9d6df; font-size: .58rem; }
.match-team-emblem-button.active { border-color: #52728d; background: #10283a; color: #fff; }
.match-team-emblem-button.active img, .match-team-emblem-button.active .team-emblem-fallback { border-color: #f4c85d; box-shadow: 0 0 0 2px #f4c85d33, 0 0 11px #f4c85d88; animation: lineup-crest-pulse 1.8s ease-in-out infinite; }
.lineup-mode-control { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.lineup-mode-control [data-lineup-mode] { padding: 6px 10px; border: 1px solid #49647a; border-radius: 4px; background: #0b1f2e; color: #a2b4c1; font-size: .8rem; }
.lineup-mode-control [data-lineup-mode].active { border-color: #f4c85d; background: #f4c85d; color: #071824; font-weight: 700; }
.lineup-forecast-badge { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #9b772f; border-radius: 4px; color: #f4c85d; font-size: .75rem; font-weight: 700; }
.lineup-forecast-badge.confirmed { border-color: #3d9366; color: #7bddaa; }
.lineup-mode-control #lineup-forecast-confirm { margin-left: auto; }
.lineup-workspace.lineup-workspace-forecast { grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr); }
.lineup-workspace.lineup-workspace-forecast-empty { grid-template-columns: minmax(0, 1fr); }
.lineup-workspace-forecast-empty #lineup-roster { display: none; }
.lineup-workspace-forecast .football-pitch { min-width: 0; }
.lineup-workspace-forecast .pitch-slot { min-width: 60px; }
.forecast-empty { padding: 14px; border: 1px dashed #52728d; border-radius: 7px; background: #0b1f2e; color: #f1f5f7; }
.forecast-empty p { margin: 0 0 9px; }
.lineup-mode-control #lineup-forecast-confirm:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 760px) {
  .lineup-report-panel { grid-template-columns: minmax(0, 1fr); }
  .lineup-report-events { max-height: 360px; }
  .lineup-workspace.lineup-workspace-forecast { grid-template-columns: minmax(0, 1fr); }
  .lineup-mode-control #lineup-forecast-confirm { margin-left: 0; }
  .lineup-team-switch-button { flex: 1 1 45%; justify-content: center; }
  .opponent-lineup-workspace { grid-template-columns: minmax(120px, .36fr) minmax(0, 1fr); }
  .opponent-lineup-workspace > .lineup-right-panel { grid-column: 1 / -1; }
  .opponent-lineup-workspace .absence-zones { position: static; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
  .opponent-lineup-event-drops { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opponent-player-row { grid-template-columns: minmax(0, 1fr) auto; }
  .opponent-player-row > button { grid-column: 2; }
}
@media (max-width: 480px) {
  .opponent-lineup-workspace { grid-template-columns: minmax(0, 1fr); }
  .opponent-lineup-workspace > .lineup-right-panel { grid-column: auto; }
  .opponent-lineup-workspace .absence-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.stint-row { border-color: #293f52; }
#status { position: fixed; right: 20px; bottom: 18px; z-index: 20; max-width: min(520px, calc(100vw - 40px)); margin: 0; padding: 0; color: #ffb4a9; }
#status:not(:empty) { padding: 10px 14px; border: 1px solid #854740; border-radius: 9px; background: #351d20f2; box-shadow: 0 8px 24px #0006; }
#editor.previewing > :not(.panel-bar):not(#match-preview) { display: none !important; }
#player-editor.previewing > :not(.panel-bar):not(#player-preview) { display: none !important; }
#editor.previewing .panel-bar-links, #player-editor.previewing .panel-bar-links { display: none; }
#player-editor.quick-mode [data-quick-key]:not(.quick-needed),
#player-editor.quick-mode .subsection:not([data-quick-key]),
#player-editor.quick-mode #player-profile-form label.quick-filled,
#player-editor.quick-mode #player-position-stats,
#player-editor.quick-mode .panel-bar-links { display: none; }
#player-editor:not(.quick-mode) #player-quick-checklist { display: none; }
#player-editor.tab-player [data-person-tab="coach"],
#player-editor.tab-coach [data-person-tab="player"] { display: none !important; }
.person-tabs { display: flex; gap: 8px; margin: 0 0 14px; }
#coach-bio-summary, #coach-bio-known-for, #coach-bio-source, #player-bio-source { width: 100%; }
.player-quick-checklist { display: grid; gap: 8px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid #38536a; border-radius: 12px; background: #091b29a8; }
.player-quick-list { margin: 0; padding: 0; list-style: none; }
#player-short-bio { width: 100%; }
.match-preview { display: grid; gap: 16px; }
.match-preview.hidden { display: none; }
.match-editor-main-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 4px 0 20px; }
.match-editor-main-switch button, .match-preview-mode-options button { min-height: 92px; display: grid; align-content: center; gap: 6px; padding: 16px 18px; border: 1px solid #49647a; border-radius: 8px; background: #102a3e; color: #f1f5f7; text-align: left; }
.match-editor-main-switch button { font-size: 1.15rem; font-weight: 750; }
.match-editor-main-switch button.active, .match-preview-mode-options button:hover, .match-editor-main-switch button:hover { border-color: var(--gold); background: #263522; }
.match-editor-match-tabs { display: flex; gap: 4px; margin: 0 -2px 18px; overflow-x: auto; border-bottom: 1px solid #38536a; scrollbar-width: thin; }
.match-editor-match-tabs button { min-height: 42px; flex: 0 0 auto; padding: 8px 13px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: #a2b4c1; white-space: nowrap; }
.match-editor-match-tabs button.active { border-bottom-color: var(--gold); color: #f4d58d; }
.match-editor-tab-panel, .match-editor-view { min-width: 0; }
.match-preview-mode-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.match-preview-mode-options strong { color: #f4d58d; font-size: 1.1rem; }
.match-preview-image-drop { display: grid; justify-items: start; gap: 5px; margin: 12px 0; padding: 12px; border: 1px dashed #7791a4; border-radius: 7px; color: #d8e2e9; }
.match-preview-image-drop span { color: #a2b4c1; font-size: .8rem; }
.match-preview-image-drop label { display: inline-flex; align-items: center; margin-top: 3px; cursor: pointer; }
.match-preview-image-drop input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.match-preview-image-drop label:focus-within { outline: 2px solid #f4c85d; outline-offset: 2px; }
.match-preview-image-drop.is-dragging { border-color: #f4c85d; background: #173044; outline: 2px solid #f4c85d55; }
.match-preview-mode-options span { color: #c3d0d9; font-size: .88rem; }
.preview-head h3 { margin: 0 0 4px; font-size: 1.35rem; }
.preview-head p { margin: 0; }
.panel .preview-overall { margin-top: 8px; color: #f4d58d; font-weight: 700; }
.panel .preview-unsaved { margin: 0; padding: 10px 14px; border: 1px solid #9b772f; border-radius: 9px; background: #493a1c; color: #f4d58d; }
.preview-cta { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border: 1px solid var(--gold); border-radius: 12px; background: #1d2a22; }
.preview-cta strong { display: block; color: #f4c85d; font-size: 1.05rem; }
.preview-cta span { color: #c3d0d9; font-size: .88rem; }
.preview-legend { display: flex; gap: 18px; flex-wrap: wrap; color: #a2b4c1; font-size: .83rem; }
.preview-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 16px; }
.preview-section { padding: 16px; border: 1px solid #38536a; border-radius: 12px; background: #091b29a8; }
.preview-section header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.preview-section h3 { margin: 0; color: #f4c85d; }
.preview-section small { color: var(--muted); }
.preview-progress-text { color: #f1f5f7; font-weight: 700; white-space: nowrap; }
.preview-progress { height: 8px; margin: 10px 0 12px; overflow: hidden; border-radius: 99px; background: #1b3346; }
.preview-progress span { display: block; height: 100%; background: #4fb57f; }
.preview-progress.waiting span { background: #52728d; }
.preview-section ul { margin: 0; padding: 0; list-style: none; }
.preview-row { display: grid; grid-template-columns: 26px minmax(110px, .8fr) minmax(0, 1.4fr) auto; align-items: center; gap: 8px; padding: 7px 4px; border-bottom: 1px solid #293f52; }
.preview-row:last-child { border-bottom: none; }
.preview-label { color: #c3d0d9; font-weight: 650; }
.preview-value { color: #f1f5f7; overflow-wrap: anywhere; }
.preview-row.status-missing { background: #3a221f80; }
.preview-row.status-missing .preview-value { color: #ffb4a9; font-weight: 650; }
.preview-row.status-waiting .preview-value, .preview-row.status-optional .preview-value { color: var(--muted); font-style: italic; }
.preview-jump { min-height: 30px; padding: 4px 10px; font-size: .8rem; }
.preview-row.status-ok .preview-jump, .preview-row.status-optional .preview-jump, .preview-row.status-waiting .preview-jump { border-color: #49647a; background: transparent; color: #c3d0d9; }
@media (max-width: 820px) {
  .lineup-workspace { grid-template-columns: 1fr; }
  .coach-workspace, .coach-dropzones { grid-template-columns: 1fr; }
  .lineup-workspace > .roster-grid { position: static; max-height: none; }
  .absence-zones { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  main { width: min(100% - 24px, 1280px); margin-top: 22px; }
  .admin-header { min-height: 66px; padding-right: 12px; padding-left: 12px; }
  .admin-brand img { width: 36px; height: 36px; }
  .admin-brand small { display: none; }
  .admin-header-tag { font-size: .55rem; }
  .admin-topbar { align-items: flex-start; }
  .wizard-panel, .panel { padding: 18px 14px; border-radius: 12px; }
  .wizard-options { grid-template-columns: 1fr; }
  .wizard-option { min-height: 88px; padding: 14px; }
  .form-grid, .compact { grid-template-columns: 1fr; }
  .club-career-suggestion { grid-template-columns: 1fr 1fr; }
  .club-career-suggestion label:first-child,
  .club-career-suggestion label:nth-of-type(7) { grid-column: 1 / -1; }
  .career-transfer-club-row { grid-template-columns: 48px 1fr; }
  .career-transfer-club-row > label { grid-column: 2; }
  .person-editorial-role { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: 1; }
  .editor-step-heading { gap: 10px; }
  .editor-step-heading > span { flex-basis: 32px; width: 32px; height: 32px; }
  .editor-step-heading small { line-height: 1.4; }
  .match-edit-section { gap: 12px; padding: 14px 12px; }
  .match-edit-section-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .match-edit-section-heading { gap: 10px; }
  .match-edit-section-heading > span:first-child { flex-basis: 32px; width: 32px; height: 32px; }
  .match-edit-section-status { max-width: 105px; padding: 4px 7px; font-size: .65rem; white-space: normal; text-align: center; }
  .panel-bar { top: 4px; padding: 8px; }
  .panel-bar h2 { flex-basis: 100%; order: -1; white-space: normal; }
  .panel-bar-actions { width: 100%; justify-content: flex-end; }
  .match-editor-main-switch, .match-preview-mode-options { grid-template-columns: 1fr; gap: 9px; }
  .match-editor-main-switch button, .match-preview-mode-options button { min-height: 74px; padding: 13px 15px; }
  .match-editor-match-tabs { margin-right: -14px; margin-left: -14px; padding: 0 14px; }
  .panel-bar-links:not(.register-tabs) { display: none; }
  .subsection { padding: 15px 12px; }
  .standings-checklist-context { align-items: stretch; flex-direction: column; }
  .standings-checklist-context strong { text-align: left; }
  .standings-round-overview-heading { align-items: stretch; flex-direction: column; }
  .lineup-forecast-promotion { align-items: stretch; flex-direction: column; }
  #standings-round-overview-status { text-align: left; }
  .standings-round-item > summary { grid-template-columns: 26px minmax(85px, .6fr) 1fr; gap: 6px; }
  .standings-round-blocked { grid-column: 2 / -1; text-align: left; }
  .standings-round-fixtures { padding-left: 32px; }
  .standings-round-fixtures > ul > li { align-items: flex-start; flex-direction: column; gap: 2px; }
  .standings-round-fixtures > ul > li strong { text-align: left; }
  #standings-round-fixture-actions { align-items: flex-start; flex-direction: column; }
  #standings-round-fixture-actions > button { width: auto; }
  .standings-fixture-auto-save { align-items: flex-start; flex-direction: column; }
  .standings-fixture-duplicates { width: 100%; }
  .standings-fixture-editor-actions { align-items: flex-start; flex-direction: column; }
  .standings-round-fixture { grid-template-columns: 1fr; }
  .standings-round-team-selects { grid-template-columns: minmax(0, 1fr) 44px 10px 44px minmax(0, 1fr); gap: 4px; }
  .standings-round-team-selects select, .standings-round-team-selects input { padding: 5px 4px; font-size: .72rem; }
  .standings-round-fixture-actions { justify-content: flex-end; }
  .editor-section-heading button { width: 100%; margin: 0; }
  .register-grid { grid-template-columns: 1fr; }
  .team-related-grid { grid-template-columns: 1fr; }
  .site-change-log-audiences { grid-template-columns: 1fr; }
  .team-editor-match { grid-template-columns: 74px minmax(0, 1fr) 48px; }
  .team-editor-match small { grid-column: 2 / -1; }
  .match-row { grid-template-columns: 72px minmax(0, 1fr) 76px 16px; gap: 7px; }
  .match-row .match-teams { font-size: .82rem; }
  .roster-add { grid-template-columns: 1fr; }
  .roster-add button { width: 100%; }
  .season-shirt-dnd-layout { grid-template-columns: 1fr; }
  .season-shirt-drag-roster { max-height: 240px; }
  .season-shirt-number-slots { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .season-shirt-assignment-add { grid-template-columns: 1fr; }
  .season-shirt-assignment-add button { width: 100%; }
  .season-shirt-player { grid-template-columns: minmax(0, 1fr) minmax(70px, .45fr); }
  .season-shirt-player [data-remove-shirt-assignment] { grid-column: 1 / -1; }
  .season-shirt-player-list { max-height: 400px; }
  .season-shirt-drop-period { grid-template-columns: 1fr; }
}
#player-editor.previewing #player-mode-toggle { display: none; }
.article-admin-layout { display: grid; grid-template-columns: minmax(190px, 250px) minmax(0, 1fr); align-items: start; gap: 20px; }
.article-admin-library { position: sticky; top: 76px; min-width: 0; }
.article-admin-library h3, .article-link-editor h3 { margin: 0 0 10px; color: #f1f5f7; font-size: .95rem; }
.article-admin-list { display: grid; gap: 6px; }
.article-admin-item { display: grid; gap: 4px; width: 100%; padding: 10px; border: 1px solid #294358; border-radius: 6px; background: #0b1f30; color: #e8eef2; text-align: left; }
.article-admin-item.active { border-color: var(--gold); background: #192d3a; }
.article-admin-item small { color: var(--muted); font-size: .72rem; }
.article-admin-editor { display: grid; gap: 16px; min-width: 0; }
.article-admin-editor .form-grid { margin: 0; }
.article-source-open { justify-self: start; color: #f0c868; font-size: .76rem; text-decoration: none; }
.article-source-open:hover { text-decoration: underline; text-underline-offset: 3px; }
.article-source-list { display: grid; gap: 8px; }
.article-source-list > h3 { margin: 0; color: #f1f5f7; font-size: .92rem; }
.article-source-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 9px 10px; border-left: 2px solid #52728d; background: #0b1f30; }
.article-source-item > div { display: grid; gap: 2px; }
.article-source-item strong { color: #e8eef2; font-size: .78rem; }
.article-source-item small { color: #91a5b3; font-size: .68rem; }
.article-source-item a { align-self: center; color: #f0c868; font-size: .72rem; text-decoration: none; }
.article-source-item a:hover { text-decoration: underline; text-underline-offset: 3px; }
.article-source-item p { grid-column: 1 / -1; margin: 2px 0 0; color: #a8b9c4; font-size: .72rem; line-height: 1.45; }
.article-markdown-field { display: grid; gap: 6px; color: #b8c7d1; font-size: .84rem; font-weight: 650; }
.article-markdown-field textarea, #article-source-text { width: 100%; min-height: 180px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; line-height: 1.5; }
#article-draft-markdown { min-height: 620px; }
#article-published-markdown { min-height: 260px; opacity: .8; }
.article-admin-actions, .article-link-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.article-admin-actions .panel-bar-status { margin-left: 4px; }
.article-link-editor { padding-top: 14px; border-top: 1px solid #294358; }
.article-link-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid #20394b; color: #e8eef2; font-size: .8rem; }
.article-link-row small { color: var(--muted); }
.article-link-controls { margin-top: 10px; }
.article-link-controls select { min-width: 165px; }
.article-link-controls input { min-width: 150px; flex: 1 1 150px; }
.article-link-person-picker { display: grid; position: relative; flex: 1 1 220px; gap: 5px; min-width: 220px; }
.article-link-person-picker input { width: 100%; }
.article-link-person-results { display: grid; max-height: 220px; overflow-y: auto; }
.article-link-person-results:empty { display: none; }
.article-link-person-results .search-result { text-align: left; }
.article-link-person-results .search-result small { display: block; color: var(--muted); }
@media (max-width: 760px) {
  .article-admin-layout { grid-template-columns: 1fr; }
  .article-admin-library { position: static; }
  #article-draft-markdown { min-height: 420px; }
  .article-link-row { grid-template-columns: minmax(0, 1fr) auto; }
  .article-link-row small { grid-column: 1; grid-row: 2; }
  .article-link-row button { grid-column: 2; grid-row: 1 / 3; }
}
.match-kit-review-row { display: grid; grid-template-columns: 22px 115px minmax(150px, 1fr) minmax(180px, 1.3fr) minmax(150px, 1fr); align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.match-kit-review-row > span { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.match-kit-review-row small { color: var(--muted); font-size: .74rem; }
.match-kit-review-row input[type="checkbox"] { width: 18px; height: 18px; }
.match-kit-review-row .match-kit-review-assignment { display: flex; align-items: center; gap: 8px; }
.match-kit-review-assignment > span { display: grid; gap: 4px; }
.match-kit-review-assignment img { width: 40px; height: 46px; object-fit: contain; }
#match-kit-review-preview { width: 85px; height: 95px; object-fit: contain; }
@media (max-width: 760px) {
  .match-kit-review-row { grid-template-columns: 22px minmax(0, 1fr); gap: 7px 10px; }
  .match-kit-review-row > input { grid-row: 1 / 5; align-self: start; }
  .match-kit-review-row > span { grid-column: 2; }
}

.checkbox-inline { display: flex; flex-direction: row; align-items: center; gap: 8px; align-self: end; min-height: 38px; font-size: .85rem; color: var(--muted, #9aafbd); }
.checkbox-inline input[type="checkbox"] { flex: 0 0 auto; margin: 0; }
.press-bank-layout { display: grid; grid-template-columns: minmax(210px, 280px) minmax(0, 1fr); align-items: start; gap: 20px; }
.press-bank-editor { display: grid; gap: 20px; min-width: 0; }
.press-bank-editor h3 { margin: 0 0 12px; color: #f1f5f7; font-size: .95rem; }
.press-bank-filters { display: grid; gap: 7px; margin-bottom: 10px; }
.press-bank-filters input { min-width: 0; }
.press-bank-actions, .press-bank-section-heading, .press-bank-link-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.press-bank-section-heading { justify-content: space-between; }
.press-bank-section-heading h3 { margin-bottom: 0; }
.press-bank-clippings { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid #294358; }
.press-bank-clipping-list { display: grid; gap: 6px; }
.press-bank-clipping-item { display: grid; gap: 6px; width: 100%; padding: 10px; border: 1px solid #294358; border-radius: 6px; background: #0b1f30; color: #e8eef2; text-align: left; }
.press-bank-clipping-item.active { border-color: var(--gold); background: #192d3a; }
.press-bank-clipping-item strong { font-size: .8rem; }
.press-bank-clipping-item span { overflow-wrap: anywhere; white-space: pre-wrap; font-size: .78rem; line-height: 1.45; }
.press-bank-clipping-item small, .press-bank-link-row small { color: var(--muted); font-size: .7rem; }
.press-bank-link-editor { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid #294358; }
.press-bank-link-editor h4 { margin: 0; color: #dce5eb; font-size: .82rem; }
.press-bank-link-controls select { min-width: 140px; }
.press-bank-link-controls input { min-width: 95px; flex: 1 1 130px; }
.press-bank-link-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid #20394b; color: #e8eef2; font-size: .8rem; }
#press-bank-content { width: 100%; }
@media (max-width: 760px) {
  .press-bank-layout { grid-template-columns: 1fr; }
  .press-bank-layout .article-admin-library { position: static; }
  .press-bank-link-row { grid-template-columns: minmax(0, 1fr) auto; }
  .press-bank-link-row small { grid-column: 1; }
  .press-bank-link-row button { grid-column: 2; grid-row: 1 / 3; }
}
