.lineup-column { padding-bottom: 42px; }
.lineup-main { max-width: 1220px; margin: 0 auto; padding: 40px 0 64px; }
.lineup-intro { margin-bottom: 27px; }
.lineup-eyebrow, .lineup-label { margin: 0; color: #7889a1; font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.lineup-intro h1 { margin-top: 9px; font-size: clamp(38px, 4vw, 54px); letter-spacing: -.065em; }
.lineup-intro h1 span { color: #92baff; background: linear-gradient(100deg, #a9cbff, #78a5fb 58%, #8cd8e4); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lineup-picker { margin-bottom: 30px; border: 1px solid rgba(200, 218, 242, .1); border-radius: 12px; background: linear-gradient(140deg, rgba(17, 26, 41, .9), rgba(11, 18, 30, .88)); box-shadow: 0 18px 48px rgba(0, 0, 0, .17), inset 0 1px rgba(255, 255, 255, .025); }
.league-tabs { display: flex; align-items: stretch; gap: 5px; overflow-x: auto; padding: 12px; border-bottom: 1px solid rgba(200, 218, 242, .09); scrollbar-width: thin; }
.league-tab { display: inline-flex; min-width: max-content; min-height: 42px; align-items: center; justify-content: center; gap: 9px; padding: 0 13px; border: 1px solid transparent; border-radius: 7px; color: #94a1b5; background: transparent; cursor: pointer; font-size: 11px; font-weight: 600; transition: color 160ms ease, border-color 160ms ease, background 160ms ease; }
.league-tab:hover { color: #e2ebf8; background: rgba(130, 164, 213, .07); }
.league-tab.is-active { color: #eaf2ff; border-color: rgba(123, 169, 244, .24); background: linear-gradient(135deg, rgba(75, 118, 190, .23), rgba(47, 76, 125, .14)); box-shadow: inset 0 1px rgba(255, 255, 255, .04); }
.league-tab img { width: 25px; height: 17px; border-radius: 2px; object-fit: cover; box-shadow: 0 1px 5px rgba(0, 0, 0, .25); }
.club-picker-row { display: flex; min-height: 92px; align-items: center; gap: 20px; padding: 17px 20px; }
.selected-club { display: flex; min-width: 220px; flex: 1; align-items: center; gap: 13px; }
.lineup-club-crest { width: 45px; height: 45px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 5px 10px rgba(0, 0, 0, .36)); }
.selected-club-copy { display: grid; min-width: 0; gap: 5px; }
.selected-club-copy strong { overflow: hidden; color: #f0f4fb; font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.club-dropdown { position: relative; z-index: 4; display: grid; width: min(285px, 37%); gap: 6px; }
.club-select-caption { color: #8190a6; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.club-select-button { display: flex; width: 100%; min-width: 0; height: 46px; align-items: center; gap: 10px; padding: 0 11px; border: 1px solid rgba(186, 207, 235, .16); border-radius: 7px; color: #e9eff8; background: linear-gradient(135deg, rgba(20, 32, 50, .98), rgba(15, 24, 39, .98)); cursor: pointer; text-align: left; transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.club-select-button:hover:not(:disabled), .club-select-button[aria-expanded="true"] { border-color: rgba(123, 169, 244, .5); background: #142139; box-shadow: 0 0 0 3px rgba(117, 168, 255, .07); }
.club-select-button:disabled { opacity: .58; cursor: not-allowed; }
.club-select-crest { width: 27px; height: 27px; flex: 0 0 auto; object-fit: contain; }
.club-select-current { min-width: 0; flex: 1; overflow: hidden; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.club-select-chevron { width: 17px; height: 17px; flex: 0 0 auto; color: #8195b4; transition: transform 160ms ease; }
.club-select-button[aria-expanded="true"] .club-select-chevron { transform: rotate(180deg); }
.club-options { position: absolute; z-index: 10; top: calc(100% + 8px); right: 0; width: max(100%, 300px); max-height: min(390px, 58vh); overflow-y: auto; padding: 6px; border: 1px solid rgba(170, 197, 232, .18); border-radius: 9px; background: linear-gradient(145deg, #121d2e, #0d1624); box-shadow: 0 18px 48px rgba(0, 0, 0, .52), inset 0 1px rgba(255, 255, 255, .035); scrollbar-color: #3a4d68 #111b2b; scrollbar-width: thin; }
.club-options[hidden] { display: none; }
.club-option { display: flex; width: 100%; min-height: 46px; align-items: center; gap: 11px; padding: 6px 9px; border: 1px solid transparent; border-radius: 6px; color: #bac6d8; background: transparent; cursor: pointer; text-align: left; transition: color 140ms ease, border-color 140ms ease, background 140ms ease; }
.club-option:hover, .club-option:focus-visible { outline: none; color: #f0f5ff; background: rgba(116, 154, 212, .1); }
.club-option.is-selected { border-color: rgba(116, 164, 242, .2); color: #eef4ff; background: linear-gradient(100deg, rgba(73, 115, 184, .21), rgba(44, 72, 119, .12)); }
.club-option-crest { width: 30px; height: 30px; flex: 0 0 auto; object-fit: contain; }
.club-option-name { min-width: 0; flex: 1; overflow: hidden; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.club-option-indicator { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(160, 181, 209, .2); border-radius: 50%; color: #101827; font-size: 12px; font-weight: 900; }
.club-option.is-selected .club-option-indicator { border-color: #f2c65f; color: #152034; background: #f2c65f; box-shadow: 0 0 10px rgba(242, 198, 95, .18); }
.formation-pill { min-width: 72px; padding: 9px 11px; border: 1px solid rgba(244, 203, 120, .2); border-radius: 999px; color: #f3d795; background: rgba(244, 203, 120, .07); font-family: 'Space Grotesk', sans-serif; font-size: 11px; font-weight: 700; text-align: center; letter-spacing: .045em; }
.lineup-section { margin-top: 31px; }
.lineup-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.lineup-section-heading h2 { margin: 5px 0 0; color: #f1f5fb; font-family: 'Space Grotesk', sans-serif; font-size: 21px; font-weight: 600; letter-spacing: -.045em; }
.xi-count { padding-bottom: 2px; color: #77869d; font-size: 10px; font-weight: 600; }
.lineup-pitch { position: relative; width: min(100%, 990px); height: clamp(600px, 66vw, 760px); margin: 0 auto; overflow: hidden; border: 1px solid rgba(174, 218, 177, .27); border-radius: 12px; background: repeating-linear-gradient(0deg, #1d5939 0%, #1d5939 12.5%, #205f3e 12.5%, #205f3e 25%); box-shadow: 0 18px 55px rgba(0, 0, 0, .28), inset 0 0 55px rgba(0, 0, 0, .14); }
.pitch-markings { position: absolute; z-index: 0; inset: 18px; border: 1px solid rgba(218, 241, 220, .36); border-radius: 2px; pointer-events: none; }
.pitch-center-line { position: absolute; top: 50%; right: 0; left: 0; border-top: 1px solid rgba(218, 241, 220, .34); }
.pitch-center-circle { position: absolute; top: 50%; left: 50%; width: 17%; aspect-ratio: 1; border: 1px solid rgba(218, 241, 220, .34); border-radius: 50%; transform: translate(-50%, -50%); }
.pitch-box { position: absolute; left: 50%; width: 40%; height: 14%; border: 1px solid rgba(218, 241, 220, .34); transform: translateX(-50%); }
.pitch-box-top { top: -1px; border-top: 0; }
.pitch-box-bottom { bottom: -1px; border-bottom: 0; }
.pitch-goal { position: absolute; left: 50%; width: 17%; height: 3%; border: 1px solid rgba(218, 241, 220, .34); transform: translateX(-50%); }
.pitch-goal-top { top: -1px; border-top: 0; }
.pitch-goal-bottom { bottom: -1px; border-bottom: 0; }
.formation-rows { position: relative; z-index: 1; display: flex; height: 100%; flex-direction: column; justify-content: space-between; padding: 31px 4.5%; }
.formation-row { display: flex; min-height: 91px; align-items: center; justify-content: center; gap: clamp(7px, 2.5vw, 29px); }
.lineup-player { display: flex; width: 122px; max-width: 22%; min-width: 0; min-height: 87px; flex: 1 1 0; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 8px 5px; border: 1px solid rgba(221, 240, 223, .27); border-radius: 9px; color: #f5f8f2; background: linear-gradient(145deg, rgba(8, 24, 17, .82), rgba(10, 31, 20, .71)); box-shadow: 0 5px 16px rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .06); backdrop-filter: blur(5px); text-align: center; transition: transform 160ms ease, border-color 160ms ease, background 160ms ease; }
.lineup-player:hover { transform: translateY(-2px); border-color: rgba(244, 216, 144, .58); background: linear-gradient(145deg, rgba(15, 39, 25, .92), rgba(11, 35, 22, .84)); }
.lineup-player.is-empty { border-style: dashed; color: rgba(241, 248, 239, .52); background: rgba(9, 24, 17, .35); box-shadow: none; }
.player-position { color: #d7c78e; font-size: 8px; font-weight: 800; letter-spacing: .11em; line-height: 1; }
.player-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(223, 236, 201, .38); border-radius: 50%; color: #e7d79d; background: radial-gradient(circle at 30% 20%, #527558, #203e2a 74%); font-family: 'Space Grotesk', sans-serif; font-size: 10px; font-weight: 700; object-fit: cover; }
.player-avatar.is-fallback { display: grid; }
.lineup-player-name { display: block; width: 100%; overflow: hidden; color: #f1f4ed; font-size: 10px; font-weight: 700; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.player-rating-stars { display: inline-flex; height: 12px; align-items: center; justify-content: center; gap: 1px; }
.rating-star { display: block; width: 11px; height: 11px; overflow: visible; }
.rating-star-base { fill: rgba(207, 217, 202, .32); }
.rating-star-fill { fill: #f2c65f; filter: drop-shadow(0 0 2px rgba(242, 198, 95, .22)); }
.lineup-page.uses-potential-ratings .rating-star-fill { fill: #9dcaff; filter: drop-shadow(0 0 3px rgba(130, 190, 255, .32)); }
.rating-star.is-half .rating-star-fill { clip-path: inset(0 50% 0 0); }
.rating-star.is-empty .rating-star-fill { display: none; }
.pitch-loading, .lineup-message { display: flex; height: 100%; align-items: center; justify-content: center; gap: 10px; color: #d5e0ed; font-size: 12px; }
.lineup-message { min-height: 220px; padding: 20px; border: 1px dashed rgba(200, 218, 242, .18); border-radius: 9px; color: #9eacbf; text-align: center; }
.lineup-message.is-error { color: #e9a2a2; }
.bench-section { margin-top: 34px; }
.bench-heading { margin-bottom: 14px; }
.bench-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.bench-player { display: flex; min-width: 0; min-height: 63px; align-items: center; gap: 11px; padding: 9px 12px; border: 1px solid rgba(190, 211, 238, .1); border-radius: 8px; background: linear-gradient(130deg, rgba(17, 27, 42, .88), rgba(12, 19, 31, .76)); }
.bench-player.is-empty { border-style: dashed; opacity: .48; background: rgba(15, 23, 36, .34); }
.bench-player.is-empty .bench-player-name { color: #8996a9; font-weight: 500; }
.bench-number { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border-radius: 6px; color: #90a0b7; background: rgba(122, 147, 181, .1); font-family: 'Space Grotesk', sans-serif; font-size: 10px; font-weight: 700; }
.bench-player-face { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(178, 200, 226, .18); border-radius: 50%; color: #d3def0; background: radial-gradient(circle at 30% 20%, #445873, #1a283c 74%); font-size: 10px; font-weight: 700; object-fit: cover; }
.bench-player-face.is-fallback { display: grid; }
.bench-player-copy { display: grid; min-width: 0; flex: 1; gap: 4px; }
.bench-player-top { display: flex; min-width: 0; align-items: center; gap: 8px; }
.bench-player-name { overflow: hidden; color: #e8edf5; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.bench-player-position { flex: 0 0 auto; color: #788ba5; font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.bench-player .player-rating-stars { justify-content: flex-start; }
.bench-player .rating-star { width: 10px; height: 10px; }
.reserves-section { margin-top: 34px; }
.reserve-empty { margin: 0; padding: 18px; border: 1px dashed rgba(190, 211, 238, .14); border-radius: 8px; color: #8996a9; font-size: 11px; }
.lineup-player.is-editable, .bench-player.is-editable { cursor: pointer; }
.lineup-player.is-editable:focus-visible, .bench-player.is-editable:focus-visible { outline: 2px solid rgba(126, 171, 255, .86); outline-offset: 3px; }
.lineup-player.is-editable:hover, .bench-player.is-editable:hover { border-color: rgba(126, 171, 255, .48); }
.lineup-pitch, .bench-grid { transition: opacity 240ms ease, filter 240ms ease; }
.lineup-main.is-refreshing .lineup-pitch, .lineup-main.is-refreshing .bench-grid { opacity: .48; filter: saturate(.72); }
.player-editor-dialog { width: min(620px, calc(100vw - 28px)); max-width: 620px; max-height: calc(100vh - 28px); padding: 0; overflow: visible; border: 1px solid rgba(162, 190, 226, .2); border-radius: 16px; color: #e8eef8; background: radial-gradient(ellipse at 10% 0, rgba(89, 130, 195, .13), transparent 50%), linear-gradient(145deg, #121d2e, #0b1220 70%); box-shadow: 0 30px 100px rgba(0, 0, 0, .72), inset 0 1px rgba(255, 255, 255, .035); }
.player-editor-dialog::backdrop { background: rgba(2, 6, 13, .78); backdrop-filter: blur(7px); }
.player-editor-form { max-height: calc(100vh - 28px); overflow: auto; padding: 25px; scrollbar-color: #3a4d68 #111b2b; scrollbar-width: thin; }
.player-editor-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid rgba(190, 211, 238, .1); }
.player-editor-identity { display: flex; min-width: 0; align-items: center; gap: 15px; }
.player-editor-heading-copy { min-width: 0; }
.player-editor-identity h2 { overflow: hidden; max-width: min(390px, 64vw); margin: 5px 0 0; color: #f3f6fc; font-family: 'Space Grotesk', sans-serif; font-size: 23px; font-weight: 600; letter-spacing: -.045em; text-overflow: ellipsis; white-space: nowrap; }
.player-editor-face { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(169, 197, 232, .24); border-radius: 50%; color: #d3def0; background: radial-gradient(circle at 30% 20%, #445873, #1a283c 74%); }
.player-editor-face-image { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.player-editor-face-image.is-fallback { display: grid; place-items: center; font-size: 14px; font-weight: 700; }
.player-editor-close { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(190, 211, 238, .13); border-radius: 8px; color: #aab8ca; background: rgba(255, 255, 255, .035); cursor: pointer; font-size: 23px; line-height: 1; transition: color 150ms ease, border-color 150ms ease, background 150ms ease; }
.player-editor-close:hover { border-color: rgba(230, 150, 150, .35); color: #ffd1d1; background: rgba(130, 50, 58, .2); }
.player-editor-dialog button:focus-visible, .player-editor-dialog input:focus-visible { outline: 2px solid rgba(126, 171, 255, .78); outline-offset: 2px; }
.player-editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; padding: 20px 0; }
.editor-field { display: grid; min-width: 0; align-content: start; gap: 9px; }
.editor-field > label, .editor-field-label { color: #dce5f2; font-size: 11px; font-weight: 700; }
.editor-field-label small, .editor-field-hint { display: block; margin-top: 5px; color: #8493a9; font-size: 9px; font-weight: 500; line-height: 1.5; }
.editor-field-label small { margin-top: 4px; font-size: 8px; letter-spacing: .1em; }
.editor-club-picker, .editor-position-picker { position: relative; z-index: 3; }
.editor-club-input-wrap { position: relative; }
.editor-club-picker input { position: relative; z-index: 1; width: 100%; min-height: 41px; padding: 0 11px; border: 1px solid rgba(174, 200, 233, .17); border-radius: 7px; color: #e7eef9; background-color: #111c2c; font: inherit; font-size: 10px; }
.editor-club-picker:not(.is-searching) input { color: transparent; caret-color: transparent; cursor: pointer; }
.editor-club-selection { position: absolute; z-index: 2; top: 0; right: 12px; left: 12px; display: flex; height: 41px; align-items: center; gap: 9px; overflow: hidden; color: #e7eef9; font-size: 10px; pointer-events: none; }
.editor-club-selection img { width: 25px; height: 25px; flex: 0 0 auto; object-fit: contain; }
.editor-club-selection span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.editor-club-picker.is-searching .editor-club-selection { display: none; }
.editor-club-picker input::placeholder { color: #77869b; }
.editor-position-trigger { display: flex; width: 100%; min-height: 41px; align-items: center; gap: 10px; padding: 0 13px 0 11px; border: 1px solid rgba(174, 200, 233, .17); border-radius: 7px; color: #e7eef9; background: linear-gradient(135deg, #142137, #101a2a); cursor: pointer; text-align: left; transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease; }
.editor-position-trigger:hover, .editor-position-trigger[aria-expanded="true"] { border-color: rgba(126, 171, 255, .42); background: #16243a; box-shadow: 0 0 0 3px rgba(117, 168, 255, .06); }
.editor-position-trigger > span { display: flex; min-width: 0; flex: 1; align-items: center; gap: 10px; }
.editor-position-trigger strong { display: grid; min-width: 34px; height: 25px; place-items: center; border: 1px solid rgba(126, 171, 255, .24); border-radius: 5px; color: #b7d4ff; background: rgba(76, 116, 178, .2); font-family: 'Space Grotesk', sans-serif; font-size: 9px; }
.editor-position-trigger span span { overflow: hidden; color: #aab8ca; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.editor-position-trigger svg { width: 17px; height: 17px; flex: 0 0 auto; margin-right: 2px; color: #91a5bf; transition: transform 150ms ease; }
.editor-position-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.editor-primary-options { position: absolute; z-index: 12; top: calc(100% + 6px); right: 0; left: 0; max-height: min(320px, 43vh); overflow-y: auto; padding: 5px; border: 1px solid rgba(162, 190, 226, .2); border-radius: 8px; background: linear-gradient(145deg, #172337, #0c1422); box-shadow: 0 16px 38px rgba(0, 0, 0, .55); scrollbar-color: #3a4d68 #111b2b; scrollbar-width: thin; }
.editor-primary-options[hidden] { display: none; }
.editor-primary-option { display: flex; width: 100%; min-height: 43px; align-items: center; gap: 10px; padding: 5px 8px; border: 1px solid transparent; border-radius: 6px; color: #c6d1e0; background: transparent; cursor: pointer; text-align: left; }
.editor-primary-option strong { display: grid; width: 35px; height: 27px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(174, 200, 233, .12); border-radius: 5px; color: #a8b8ce; background: rgba(255, 255, 255, .035); font-family: 'Space Grotesk', sans-serif; font-size: 9px; }
.editor-primary-option span { color: #aab8ca; font-size: 10px; }
.editor-primary-option:hover, .editor-primary-option[aria-selected="true"] { border-color: rgba(119, 164, 239, .2); color: #f0f5ff; background: rgba(95, 137, 200, .12); }
.editor-primary-option[aria-selected="true"] strong { border-color: rgba(124, 174, 255, .35); color: #d7e8ff; background: rgba(73, 113, 177, .26); }
.editor-club-options { position: absolute; z-index: 10; top: calc(100% + 6px); right: 0; left: 0; max-height: min(300px, 42vh); overflow-y: auto; padding: 5px; border: 1px solid rgba(162, 190, 226, .2); border-radius: 8px; background: linear-gradient(145deg, #172337, #0c1422); box-shadow: 0 16px 38px rgba(0, 0, 0, .55); scrollbar-color: #3a4d68 #111b2b; scrollbar-width: thin; }
.editor-club-options[hidden] { display: none; }
.editor-club-option { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 11px; padding: 6px 9px; border: 1px solid transparent; border-radius: 6px; color: #c6d1e0; background: transparent; cursor: pointer; text-align: left; }
.editor-club-option:hover, .editor-club-option[aria-selected="true"] { border-color: rgba(119, 164, 239, .2); color: #f0f5ff; background: rgba(95, 137, 200, .12); }
.editor-club-option img { width: 29px; height: 29px; flex: 0 0 auto; object-fit: contain; }
.editor-club-option-copy { display: grid; min-width: 0; gap: 3px; }
.editor-club-option-copy strong { overflow: hidden; font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.editor-club-option-copy small { color: #8190a6; font-size: 8px; }
.editor-club-empty { margin: 0; padding: 14px 10px; color: #8d9bb0; font-size: 10px; }
.editor-position-options { display: flex; flex-wrap: wrap; gap: 6px; }
.editor-position-option { min-width: 46px; min-height: 30px; padding: 0 9px; border: 1px solid rgba(174, 200, 233, .13); border-radius: 6px; color: #9cabc0; background: rgba(12, 21, 34, .78); cursor: pointer; font-size: 9px; font-weight: 700; transition: color 140ms ease, border-color 140ms ease, background 140ms ease; }
.editor-position-option[aria-pressed="true"] { border-color: rgba(124, 174, 255, .42); color: #d7e8ff; background: rgba(73, 113, 177, .26); }
.editor-secondary-field, .editor-rating-field { grid-column: 1 / -1; }
.editor-rating-field { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0 2px; border-top: 1px solid rgba(190, 211, 238, .1); }
.editor-rating-control { display: flex; min-height: 40px; align-items: center; gap: 13px; }
.editor-rating-step { display: grid; width: 33px; height: 33px; place-items: center; border: 1px solid rgba(174, 200, 233, .17); border-radius: 7px; color: #d8e6fa; background: rgba(45, 70, 105, .28); cursor: pointer; font-size: 19px; line-height: 1; transition: border-color 140ms ease, background 140ms ease; }
.editor-rating-step:hover:not(:disabled) { border-color: rgba(124, 174, 255, .48); background: rgba(73, 113, 177, .3); }
.editor-rating-step:disabled { opacity: .35; cursor: not-allowed; }
.editor-rating-stars .player-rating-stars { gap: 3px; }
.editor-rating-stars .rating-star { width: 21px; height: 21px; }
.player-editor-footer { display: flex; justify-content: flex-end; gap: 9px; padding-top: 16px; border-top: 1px solid rgba(190, 211, 238, .1); }
.editor-cancel, .editor-save { min-height: 39px; padding: 0 15px; border: 1px solid rgba(190, 211, 238, .16); border-radius: 7px; color: #c2cede; background: rgba(255, 255, 255, .035); cursor: pointer; font-size: 10px; font-weight: 700; }
.editor-save { border-color: rgba(117, 168, 255, .52); color: #091421; background: linear-gradient(112deg, #b4d6ff, #7eabff 58%, #89c9f3); }
.editor-save:hover:not(:disabled) { filter: brightness(1.08); }
.editor-save:disabled { opacity: .58; cursor: wait; }
.player-editor-error { margin-top: 16px; padding: 11px 12px; border: 1px solid rgba(236, 128, 128, .27); border-radius: 7px; color: #f1aeae; background: rgba(115, 36, 45, .16); font-size: 10px; line-height: 1.55; }
.player-editor-error[hidden] { display: none; }
.lineup-loading { display: flex; align-items: center; gap: 9px; padding: 0 8px; color: #8d9bb0; font-size: 11px; }
.lineup-error-banner { margin: 14px 0; padding: 14px 16px; border: 1px solid rgba(236, 128, 128, .22); border-radius: 8px; color: #e9a2a2; background: rgba(115, 36, 45, .11); font-size: 12px; }

@media (max-width: 900px) {
  .lineup-main { padding-top: 34px; }
  .club-picker-row { gap: 13px; padding: 15px; }
  .selected-club { min-width: 160px; }
  .club-dropdown { width: min(285px, 42%); }
  .lineup-pitch { height: 670px; }
  .bench-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .lineup-main { padding-top: 25px; }
  .lineup-intro { margin-bottom: 20px; }
  .lineup-intro h1 { font-size: 39px; }
  .league-tabs { gap: 3px; padding: 8px; }
  .league-tab { min-height: 38px; gap: 7px; padding: 0 10px; font-size: 10px; }
  .league-tab img { width: 22px; height: 15px; }
  .club-picker-row { display: grid; grid-template-columns: 1fr auto; gap: 14px 10px; padding: 14px; }
  .selected-club { min-width: 0; }
  .lineup-club-crest { width: 38px; height: 38px; }
  .selected-club-copy strong { max-width: 45vw; font-size: 14px; }
  .club-dropdown { width: 100%; grid-column: 1 / 2; }
  .club-options { right: auto; left: 0; width: min(100%, 360px); }
  .formation-pill { grid-column: 2 / 3; grid-row: 2; align-self: end; }
  .lineup-section { margin-top: 25px; }
  .lineup-section-heading h2 { font-size: 19px; }
  .lineup-pitch { height: 590px; border-radius: 9px; }
  .pitch-markings { inset: 12px; }
  .formation-rows { padding: 25px 2%; }
  .formation-row { min-height: 78px; gap: 3px; }
  .lineup-player { width: auto; max-width: 23%; min-height: 75px; gap: 4px; padding: 6px 2px; border-radius: 7px; }
  .player-avatar { width: 27px; height: 27px; font-size: 9px; }
  .lineup-player-name { font-size: 8px; }
  .player-position { font-size: 7px; }
  .rating-star { width: 9px; height: 9px; }
  .player-rating-stars { height: 10px; gap: 0; }
  .bench-grid { grid-template-columns: 1fr; gap: 7px; }
  .bench-player { min-height: 58px; }
  .bench-player-face { width: 38px; height: 38px; }
  .player-editor-form { padding: 18px; }
  .player-editor-fields { grid-template-columns: 1fr; gap: 15px; padding: 16px 0; }
  .editor-secondary-field, .editor-rating-field { grid-column: auto; }
  .editor-rating-field { align-items: flex-start; flex-direction: column; gap: 11px; }
  .editor-rating-control { width: 100%; justify-content: space-between; }
  .player-editor-identity h2 { max-width: 58vw; font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .lineup-player, .league-tab, .lineup-pitch, .bench-grid { transition: none; }
}
