.public-page .site-main { width: min(1500px, calc(100% - 40px)); padding-top: clamp(28px, 5vw, 72px); }
.home-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); min-height: 430px; overflow: hidden; border: 1px solid rgba(183,243,74,.24); background: radial-gradient(circle at 77% 30%, rgba(183,243,74,.14), transparent 28%), linear-gradient(132deg, #0f2a3c, #07111f 68%); box-shadow: var(--shadow); }
.home-stage::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(90deg, #000, transparent 78%); }
.home-stage-copy { position: relative; z-index: 1; align-self: center; padding: clamp(34px, 6vw, 92px); }
.home-kicker, .public-page-head > span, .public-section-head span, .schedule-launch span { color: var(--lime); font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.home-stage h1 { margin: 12px 0 10px; font-size: clamp(56px, 8vw, 130px); line-height: .84; letter-spacing: -.07em; }
.home-stage p { margin: 0; color: #aabcc9; font-size: clamp(16px, 1.35vw, 21px); line-height: 1.7; }
.home-actions { display: flex; gap: 12px; margin-top: 30px; }
.home-actions .button-link { min-height: 50px; padding-inline: 23px; }
.home-stage-mark { position: relative; display: grid; align-content: center; justify-items: center; color: #eef6f3; transform: rotate(-8deg); }
.home-stage-mark::before { content: ""; position: absolute; width: min(29vw, 350px); aspect-ratio: 1; border: 2px solid rgba(183,243,74,.48); border-radius: 50%; box-shadow: 0 0 70px rgba(183,243,74,.18), inset 0 0 70px rgba(183,243,74,.1); }
.home-stage-mark span, .home-stage-mark b { position: relative; font-weight: 950; letter-spacing: -.08em; }
.home-stage-mark span { font-size: clamp(50px, 7vw, 100px); }.home-stage-mark b { color: var(--lime); font-size: clamp(35px, 5vw, 72px); }
.public-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0 52px; }
.public-metrics article, .team-preview, .team-directory article, .schedule-launch, .schedule-placeholder { border: 1px solid var(--line); background: linear-gradient(145deg, rgba(16,38,57,.95), rgba(6,17,28,.98)); }
.public-metrics article { padding: 20px; }.public-metrics span { display: block; color: #9caebc; font-size: 14px; }.public-metrics strong { display: block; margin-top: 5px; font-size: 35px; font-variant-numeric: tabular-nums; }
.public-section { margin-top: 38px; }.public-section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 16px; }.public-section-head h2, .public-page-head h1, .schedule-launch h2 { margin: 6px 0 0; font-size: clamp(27px, 3vw, 42px); letter-spacing: -.04em; }.public-section-head a { font-weight: 800; }
.team-preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.team-preview { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 4px 12px; align-items: center; min-height: 92px; padding: 14px; color: var(--paper); }.team-preview:hover { border-color: rgba(183,243,74,.45); color: var(--paper); transform: translateY(-2px); }.team-preview i, .team-directory i { display: grid; grid-row: span 2; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(183,243,74,.14); color: var(--lime); font-style: normal; font-weight: 900; }.team-preview strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.team-preview span { color: var(--muted); font-size: 13px; }
.schedule-launch { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px; }.schedule-launch p, .public-page-head p { margin: 10px 0 0; color: #9badbb; line-height: 1.7; }.public-page-head { max-width: 850px; margin-bottom: 30px; }.team-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.team-directory article { display: flex; align-items: center; gap: 16px; min-height: 100px; padding: 18px; }.team-directory h2 { margin: 0; font-size: 21px; }.team-directory p { margin: 6px 0 0; color: var(--muted); }.schedule-placeholder, .public-empty { display: grid; justify-items: center; gap: 9px; padding: 70px 20px; color: var(--muted); text-align: center; }.schedule-placeholder b { color: var(--paper); font-size: 22px; }
@media (max-width: 850px) { .home-stage { grid-template-columns: 1fr; }.home-stage-mark { display: none; }.team-preview-grid, .team-directory { grid-template-columns: repeat(2, 1fr); }.schedule-launch { align-items: flex-start; flex-direction: column; } }
@media (max-width: 560px) { .public-page .site-main { width: calc(100% - 24px); }.public-metrics, .team-preview-grid, .team-directory { grid-template-columns: 1fr; }.home-stage { min-height: 360px; }.home-actions { flex-direction: column; }.home-actions .button-link { justify-content: center; } }

.team-directory a { display:flex; align-items:center; gap:16px; min-height:100px; padding:18px; color:var(--paper); border:1px solid var(--line); background:linear-gradient(145deg,rgba(16,38,57,.95),rgba(6,17,28,.98)); }.team-directory a:hover { color:var(--paper); border-color:rgba(183,243,74,.4); }.team-hero { display:flex; align-items:center; gap:18px; min-height:180px; padding:28px; border:1px solid var(--line); background:linear-gradient(125deg,color-mix(in srgb,var(--team-color),#07111f 75%),#07111f); }.team-hero>i { display:grid; place-items:center; width:88px; height:88px; overflow:hidden; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:34px; font-style:normal; font-weight:900; }.team-hero img { width:100%; height:100%; object-fit:cover; }.team-hero span,.workbench-card header span,.team-roster-shell header span { color:var(--lime); font-size:11px; font-weight:900; letter-spacing:.15em; }.team-hero h1 { margin:6px 0; font-size:clamp(34px,4vw,60px); }.team-hero p { margin:0; color:#bccad2; }.team-hero .button-link { margin-left:auto; }.team-roster-shell,.workbench-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }.team-roster-shell>article,.workbench-card { padding:22px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(16,38,57,.95),rgba(6,17,28,.98)); }.team-roster-shell h2,.workbench-card h2 { margin:5px 0 18px; font-size:25px; }.lineup-list,.roster-table { display:grid; gap:7px; }.lineup-list>div,.roster-table>div { display:flex; align-items:center; gap:12px; min-height:48px; padding:8px 10px; background:rgba(4,13,22,.56); }.lineup-list b,.roster-table>div>b { min-width:42px; color:var(--lime); }.roster-table span { min-width:0; flex:1; }.roster-table strong,.roster-table small { display:block; }.roster-table small { margin-top:3px; color:var(--muted); }.roster-table em { color:#d9c792; font-size:12px; font-style:normal; }.workbench-card label { display:grid; gap:7px; margin-bottom:13px; color:#aebfcb; font-size:14px; font-weight:700; }.workbench-card input,.workbench-card select { min-height:43px; border:1px solid var(--line-strong); background:#07111f; color:var(--paper); padding:0 10px; }.lineup-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:18px; }.lineup-editor label { grid-template-columns:48px minmax(0,1fr) 64px; align-items:center; margin:0; }.lineup-editor b { color:var(--lime); }.lineup-editor input { width:64px; }
@media (max-width:850px) { .team-roster-shell,.workbench-grid,.lineup-editor { grid-template-columns:1fr; }.team-hero { align-items:flex-start; flex-wrap:wrap; }.team-hero .button-link { margin-left:0; } }

/* The public homepage is intentionally migrated from the original Jiucai Cup broadcast design. */
.legacy-home .site-main { width:100%; max-width:none; padding:0; }.event-home { width:100%; }.legacy-home .home-hero { position:relative; min-height:calc(100svh - 77px); overflow:hidden; background:#040c16 url("images/jiucai-hero-84452.1f591b9ab87e.png") center center / cover no-repeat; background-image:image-set(url("images/jiucai-hero-84452.77043d567e67.webp") type("image/webp"),url("images/jiucai-hero-84452.1f591b9ab87e.png") type("image/png")); }.legacy-home .home-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(2,8,15,.32),rgba(2,8,15,.04) 48%,rgba(2,8,15,.12) 70%,rgba(2,8,15,.64)),linear-gradient(0deg,rgba(2,8,15,.46),transparent 44%); }.legacy-home .home-hero-copy { position:absolute; z-index:4; left:clamp(32px,4.5vw,92px); top:47%; display:flex; flex-direction:column; width:min(42vw,760px); transform:translateY(-50%); }.legacy-home .home-kicker { display:flex; align-items:center; gap:13px; color:var(--lime); font-size:clamp(15px,1vw,20px); font-weight:900; letter-spacing:.18em; text-shadow:0 2px 12px rgba(0,0,0,.7); }.legacy-home .live-dot { width:9px; height:9px; border-radius:50%; background:#ff6a55; box-shadow:0 0 16px #ff6a55; }.legacy-home .home-hero-copy h1 { margin:20px 0 6px; color:#fff; font-size:clamp(78px,6vw,118px); line-height:.9; letter-spacing:-.055em; text-shadow:0 6px 34px rgba(0,0,0,.55); }.legacy-home .home-hero-copy h1 em { color:var(--lime); font-family:"Arial Narrow",Impact,sans-serif; font-style:normal; }.legacy-home .home-hero-copy>p { max-width:650px; margin:0; color:#e3ebef; font-size:clamp(20px,1.3vw,27px); line-height:1.65; text-shadow:0 2px 14px #020812; }.legacy-home .home-hero-actions { display:flex; gap:12px; margin:27px 0 22px; }.legacy-home .home-primary,.legacy-home .home-secondary { display:inline-flex; align-items:center; min-height:58px; padding:0 25px; font-size:17px; font-weight:900; text-decoration:none; backdrop-filter:blur(10px); }.legacy-home .home-primary { background:var(--lime); color:#07111a; box-shadow:0 10px 28px rgba(200,255,79,.16); }.legacy-home .home-primary span { margin-left:15px; font-size:20px; }.legacy-home .home-secondary { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); color:#f4f8fa; }.home-host-portrait { position:absolute; z-index:2; left:42.5%; bottom:-8%; width:clamp(320px,27vw,520px); height:104%; pointer-events:none; opacity:.72; filter:saturate(.72) contrast(1.08) brightness(.82); -webkit-mask-image:radial-gradient(ellipse 48% 50% at 50% 43%,#000 42%,rgba(0,0,0,.82) 68%,transparent 100%); mask-image:radial-gradient(ellipse 48% 50% at 50% 43%,#000 42%,rgba(0,0,0,.82) 68%,transparent 100%); }.home-host-portrait>img { width:100%; height:100%; object-fit:cover; object-position:50% 8%; }.home-douyu-room { display:inline-flex; align-items:center; width:fit-content; min-height:56px; gap:11px; padding:7px 12px 7px 8px; border:1px solid rgba(255,101,45,.42); border-radius:8px; background:linear-gradient(110deg,rgba(255,91,35,.18),rgba(6,20,32,.68) 64%); color:#fff; box-shadow:0 14px 34px rgba(0,0,0,.22); text-decoration:none; backdrop-filter:blur(12px); }.home-douyu-room>img { width:40px; height:40px; border-radius:10px; object-fit:contain; }.home-douyu-room>span { color:#b9c7d0; font-size:14px; font-weight:800; }.home-douyu-room>strong { color:#ff7443; font-family:"Arial Narrow",Impact,sans-serif; font-size:28px; letter-spacing:.09em; }.home-douyu-room>i { color:#ff8a60; font-size:16px; font-style:normal; }.home-schedule-card { position:absolute; z-index:5; right:clamp(24px,2.4vw,52px); top:50%; width:clamp(370px,22vw,460px); padding:24px; border:1px solid rgba(255,255,255,.2); border-top:4px solid var(--lime); background:rgba(3,13,23,.84); box-shadow:0 24px 70px rgba(0,0,0,.42); backdrop-filter:blur(18px); transform:translateY(-50%); }.home-schedule-card>header { display:flex; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.12); }.home-schedule-card small { color:var(--lime); font-size:12px; font-weight:900; letter-spacing:.18em; }.home-schedule-card h2 { margin:4px 0 0; font-size:28px; }.home-schedule-card a { color:#d4dfe5; font-size:14px; font-weight:800; }.home-schedule-list>p { color:#9eb0bc; font-size:15px; line-height:1.7; }
@media (max-width:760px) { .legacy-home .home-hero { min-height:950px; background-position:65% center; }.legacy-home .home-hero::before { background:linear-gradient(180deg,rgba(2,8,15,.12),rgba(2,8,15,.52) 40%,rgba(2,8,15,.96) 72%); }.legacy-home .home-hero-copy { position:relative; left:auto; top:auto; width:auto; padding:34px 20px 0; transform:none; }.legacy-home .home-hero-copy h1 { font-size:55px; }.legacy-home .home-hero-copy>p { max-width:90%; font-size:17px; }.legacy-home .home-hero-actions { display:grid; }.legacy-home .home-primary,.legacy-home .home-secondary { justify-content:center; }.home-host-portrait { top:54px; right:-28px; bottom:auto; left:auto; width:270px; height:430px; opacity:.44; }.home-schedule-card { right:14px; bottom:18px; left:14px; top:auto; width:auto; padding:18px; transform:none; } }

/* M04 team and lineup workbench.  The field remains a stable desktop canvas; narrow windows scroll instead of shrinking players beyond readability. */
.team-page .site-main,.team-workbench-page .site-main,.lineup-policy-page .site-main{width:min(1880px,calc(100% - 40px));padding-top:34px;padding-bottom:70px}.team-page-hero,.team-workbench-head{display:flex;align-items:center;gap:20px;min-height:148px;padding:24px 28px;border:1px solid color-mix(in srgb,var(--team-color),transparent 56%);border-left:5px solid var(--team-color);background:linear-gradient(120deg,color-mix(in srgb,var(--team-color),#0d2638 82%),#07111f 58%);box-shadow:var(--shadow)}.team-crest-large{display:grid;flex:0 0 auto;place-items:center;width:82px;height:82px;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.28),rgba(255,255,255,.04));color:#fff;font-size:32px;font-style:normal;font-weight:900}.team-crest-large img{width:100%;height:100%;object-fit:cover}.section-kicker,.team-workbench-head>div>span,.team-public-card header span,.team-pitch-editor header span,.team-squad-panel header span,.team-profile-editor summary span,.lineup-policy-card header span,.team-visibility-table header span{color:var(--lime);font-size:12px;font-weight:900;letter-spacing:.15em}.team-page-hero h1,.team-workbench-head h1{margin:6px 0;font-size:clamp(32px,3vw,54px);letter-spacing:-.04em}.team-page-hero p,.team-workbench-head p{margin:0;color:#b7c6cf;font-size:16px}.team-hero-actions{margin-left:auto}.team-public-layout{display:grid;grid-template-columns:minmax(640px,1.18fr) minmax(400px,.82fr);gap:16px;margin-top:16px}.team-public-card,.team-pitch-editor,.team-squad-panel,.team-profile-editor,.lineup-policy-card,.lineup-policy-note,.team-visibility-table{border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,38,57,.97),rgba(5,16,27,.99));box-shadow:var(--shadow)}.team-public-card>header,.team-pitch-editor>header,.team-squad-panel>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line)}.team-public-card h2,.team-pitch-editor h2,.team-squad-panel h2,.lineup-policy-card h2,.team-visibility-table h2{margin:5px 0 0;font-size:24px}.team-public-card>header>b,.team-squad-panel>header>b{color:var(--lime);font-size:17px}.football-pitch{position:relative;min-width:600px;min-height:690px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.045) 50%,transparent 50%) 0 0/12.5% 100%,repeating-linear-gradient(0deg,#185d46 0 10%,#1c6d50 10% 20%);box-shadow:inset 0 0 90px rgba(0,0,0,.34)}.football-pitch::before{content:"";position:absolute;inset:20px;border:2px solid rgba(255,255,255,.45);pointer-events:none}.football-pitch::after{content:"";position:absolute;top:50%;left:0;right:0;height:0;border-top:2px solid rgba(255,255,255,.42);box-shadow:0 0 0 58px transparent;pointer-events:none}.football-pitch .pitch-centre{position:absolute}.pitch-player-card,.pitch-player-editor{position:absolute;z-index:2;left:var(--x);top:var(--y);width:108px;transform:translate(-50%,-50%);text-align:center}.pitch-player-card img,.pitch-player-editor img,.pitch-avatar-fallback{display:grid;width:54px;height:54px;margin:auto;place-items:center;border:2px solid rgba(255,255,255,.65);border-radius:50%;background:linear-gradient(145deg,#224a5d,#092334);color:#eaf4ed;object-fit:cover;box-shadow:0 7px 18px rgba(0,0,0,.36)}.pitch-player-card .pitch-rating{position:absolute;top:-4px;left:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--lime);color:#07111a;font-size:11px;font-weight:950}.pitch-player-card strong{display:block;overflow:hidden;margin-top:5px;padding:3px 6px;border-radius:2px;background:rgba(2,12,18,.86);color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.pitch-player-card small{display:block;margin-top:2px;color:#dbe7e2;font-size:11px}.pitch-player-card.empty{opacity:.72}.pitch-player-card.empty .pitch-avatar-fallback{border-style:dashed;color:#c6d5d1}.lineup-hidden-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:690px;padding:36px;text-align:center;background:radial-gradient(circle,rgba(242,185,75,.13),transparent 55%)}.lineup-hidden-state i{display:grid;place-items:center;width:78px;height:78px;border:1px solid rgba(242,185,75,.44);border-radius:50%;color:var(--gold);font-size:27px;font-style:normal;font-weight:900}.lineup-hidden-state strong{margin-top:17px;font-size:22px}.lineup-hidden-state span{margin-top:8px;color:#aebec8}.team-roster-list{max-height:722px;overflow:auto;padding:10px}.team-roster-row,.team-squad-row{display:grid;grid-template-columns:42px 42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:8px;border-bottom:1px solid rgba(255,255,255,.08)}.team-roster-row img,.team-squad-row img,.team-roster-row .roster-photo-fallback,.team-squad-row i{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#102b39;color:#d5e7df;font-size:11px;font-style:normal;object-fit:cover}.roster-rating,.team-squad-row>b{color:var(--lime);font-size:19px;text-align:center}.team-roster-row strong,.team-roster-row small,.team-squad-row strong,.team-squad-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-roster-row small,.team-squad-row small{margin-top:3px;color:#9db0bd;font-size:12px}.team-roster-row em,.team-squad-row em{color:#dec180;font-size:12px;font-style:normal}.team-empty{display:grid;justify-items:center;gap:6px;padding:50px 22px;color:#8fa4b2;text-align:center}.team-empty strong{color:#d9e4e8;font-size:18px}.team-workbench-metrics{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.team-workbench-metrics article{flex:1 1 180px;min-height:0;padding:10px 14px;border:1px solid var(--line);background:rgba(10,29,44,.92)}.team-workbench-metrics span,.team-workbench-metrics small{display:block;color:#9fb2be;font-size:12px}.team-workbench-metrics strong{display:block;margin-top:3px;color:#fff;font-size:20px}.team-workbench-metrics strong small{display:inline;color:var(--lime);font-size:13px}.workbench-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:14px;min-width:0}.workbench-shell-2col{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.team-pitch-editor>header label{display:flex;align-items:center;gap:9px;color:#b7c7d0;font-size:14px}.team-pitch-editor>header select{min-height:38px;border:1px solid var(--line-strong);background:#07111f;color:#fff}.editor-pitch{min-width:0;min-height:580px}.pitch-player-editor{width:92px}.pitch-player-editor>span{display:block;margin-top:3px;color:#e9f4ee;font-size:10px;font-weight:900}.pitch-player-editor select{display:block;width:92px;min-height:28px;margin:3px auto 0;border:1px solid rgba(255,255,255,.24);background:rgba(2,13,19,.88);color:#fff;font-size:10px}.pitch-player-editor input{width:42px;min-height:24px;margin-top:3px;border:1px solid rgba(255,255,255,.22);background:rgba(2,13,19,.9);color:#fff;text-align:center;font-size:10px}.pitch-player-editor.empty .pitch-avatar-fallback{border-style:dashed}.pitch-slot-avatar{position:relative}.pitch-player-editor.is-captain .pitch-slot-avatar::after{content:"C";position:absolute;top:-4px;right:-4px;z-index:4;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:linear-gradient(145deg,#f7d488,#e6a52e);color:#1a1208;font-size:10px;font-weight:950;border:1.5px solid #07111f;box-shadow:0 2px 6px rgba(0,0,0,.55)}.team-squad-row.is-captain{border-left:3px solid var(--gold,#f2b94b);position:relative}.team-squad-row.is-captain::after{content:"C";position:absolute;top:50%;right:10px;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:linear-gradient(145deg,#f7d488,#e6a52e);color:#1a1208;font-size:10px;font-weight:950;border:1.5px solid #07111f;box-shadow:0 2px 5px rgba(0,0,0,.55);pointer-events:none}.team-pitch-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;border-top:1px solid var(--line);color:#9eb2be;font-size:13px}.team-squad-panel{min-height:0}.team-squad-scroll{max-height:calc(100vh - 280px);overflow:auto;padding:8px 12px}.team-tactics-panel{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,38,57,.97),rgba(5,16,27,.99));box-shadow:var(--shadow)}.team-tactics-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.team-tactics-panel>header span{color:var(--lime);font-size:12px;font-weight:900;letter-spacing:.15em}.team-tactics-panel>header h2{margin:4px 0 0;font-size:20px}.team-tactics-panel>header .button-link{min-height:32px;padding:0 14px;font-size:12px}.team-tactics-body{flex:1;min-height:0;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.team-profile-editor{margin-top:16px}.team-profile-editor summary{display:flex;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;list-style:none}.team-profile-editor summary i{margin-left:auto;color:#9eb2be;font-size:12px;font-style:normal}.team-profile-editor form{padding:0 20px 20px}.team-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.team-profile-grid label,.lineup-policy-card label{display:grid;gap:7px;color:#afc0cb;font-size:13px;font-weight:800}.team-profile-grid input,.team-profile-grid select,.lineup-policy-card input,.lineup-policy-card select{min-height:42px;border:1px solid var(--line-strong);background:#07111f;color:#fff;padding:0 10px}.team-profile-grid small{color:#8197a7;font-size:12px;font-weight:400}.lineup-policy-grid{display:grid;grid-template-columns:minmax(440px,1fr) minmax(300px,.6fr);gap:16px}.lineup-policy-card,.lineup-policy-note{padding:24px}.lineup-policy-card header{margin-bottom:18px}.lineup-policy-card p,.lineup-policy-note p{color:#9eb1bd;font-size:14px;line-height:1.65}.lineup-policy-card label{margin:14px 0}.lineup-policy-note>span{color:var(--lime);font-size:12px;font-weight:900;letter-spacing:.13em}.lineup-policy-note strong{display:block;margin-top:8px;font-size:28px}.team-visibility-table{margin-top:16px}.team-visibility-table>header{padding:20px;border-bottom:1px solid var(--line)}.team-visibility-table form{display:grid;grid-template-columns:minmax(210px,1fr) 130px minmax(180px,.8fr) minmax(220px,1fr) auto;align-items:end;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.team-policy-name{display:flex;align-items:center;gap:10px;min-height:42px}.team-policy-name i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font-size:13px;font-style:normal;font-weight:900}.team-visibility-table label{display:grid;gap:6px;color:#99adba;font-size:12px}.team-visibility-table select,.team-visibility-table input:not([type=checkbox]){min-height:38px;border:1px solid var(--line-strong);background:#07111f;color:#fff;padding:0 8px}.team-visibility-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--lime)}
@media(max-width:1200px){.team-public-layout{grid-template-columns:1fr}.workbench-shell{min-width:0;grid-template-columns:1fr}.workbench-shell-2col{grid-template-columns:1fr}.team-squad-panel{min-height:0}.team-squad-scroll{max-height:460px}.team-visibility-table{overflow-x:auto}.team-visibility-table form{min-width:950px}}@media(max-width:760px){.team-page .site-main,.team-workbench-page .site-main,.lineup-policy-page .site-main{width:calc(100% - 24px);padding-top:18px}.team-page-hero,.team-workbench-head{align-items:flex-start;flex-wrap:wrap;padding:18px}.team-crest-large{width:60px;height:60px;font-size:24px}.team-page-hero h1,.team-workbench-head h1{font-size:30px}.team-hero-actions{margin-left:0}.team-workbench-metrics article{flex:1 1 calc(50% - 10px);padding:8px 12px}.team-workbench-metrics strong{font-size:17px}.football-pitch{min-width:580px}.team-pitch-editor{overflow-x:auto}.team-pitch-editor>header,.team-pitch-editor>footer{min-width:580px}.team-profile-grid,.lineup-policy-grid{grid-template-columns:1fr}.team-profile-grid{gap:10px}.team-pitch-editor>footer{align-items:flex-start;flex-direction:column}.lineup-policy-card,.lineup-policy-note{padding:18px}}

/* Keep broadcast viewing generous on 2K/4K displays without creating a second layout system. */
.team-lineup-guard{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:860px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,38,57,.97),rgba(5,16,27,.99));box-shadow:var(--shadow)}.team-lineup-guard>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line)}.team-lineup-guard header span{color:var(--lime);font-size:12px;font-weight:900;letter-spacing:.15em}.team-lineup-guard h2{margin:5px 0 0;font-size:24px}.team-lineup-guard header>b{padding:5px 9px;border:1px solid rgba(242,185,75,.46);color:#f3ca75;font-size:13px}.team-lineup-guard>div{display:grid;place-content:center;justify-items:center;max-width:500px;margin:auto;padding:40px;text-align:center}.team-lineup-guard i{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(242,185,75,.44);border-radius:50%;background:rgba(242,185,75,.08);color:#f3ca75;font-size:28px;font-style:normal;font-weight:900}.team-lineup-guard strong{margin-top:18px;font-size:25px}.team-lineup-guard p{margin:10px 0 22px;color:#aebec8;font-size:15px;line-height:1.65}
@media(min-width:2400px){.team-page .site-main,.team-workbench-page .site-main,.lineup-policy-page .site-main{width:min(2440px,calc(100% - 96px));padding-top:48px}.team-page-hero,.team-workbench-head{min-height:176px;padding:30px 36px}.team-crest-large{width:104px;height:104px;font-size:40px}.team-page-hero h1,.team-workbench-head h1{font-size:64px}.team-page-hero p,.team-workbench-head p{font-size:19px}.team-public-layout{grid-template-columns:minmax(880px,1.18fr) minmax(520px,.82fr);gap:22px}.football-pitch{min-width:840px;min-height:800px}.lineup-hidden-state{min-height:800px}.pitch-player-card{width:140px}.pitch-player-card img,.pitch-avatar-fallback{width:68px;height:68px}.pitch-player-card .pitch-rating{left:18px;width:31px;height:31px;font-size:13px}.pitch-player-card strong{font-size:16px}.pitch-player-card small{font-size:13px}.team-roster-list{max-height:832px;padding:14px}.team-roster-row,.team-squad-row{grid-template-columns:50px 50px minmax(0,1fr) auto;min-height:78px;padding:10px}.team-roster-row img,.team-squad-row img,.team-roster-row .roster-photo-fallback,.team-squad-row i{width:48px;height:48px}.roster-rating,.team-squad-row>b{font-size:22px}.team-roster-row strong,.team-squad-row strong{font-size:17px}.team-roster-row small,.team-squad-row small{font-size:14px}.team-workbench-metrics article{padding:14px 20px}.team-workbench-metrics span,.team-workbench-metrics small{font-size:14px}.team-workbench-metrics strong{font-size:26px}.workbench-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:22px;min-width:0}.workbench-shell-2col{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.editor-pitch{min-width:0;min-height:780px}.pitch-player-editor{width:112px}.pitch-player-editor>span,.pitch-player-editor select{font-size:12px}.pitch-player-editor select{width:112px;min-height:32px}.pitch-player-editor input{min-height:28px}.team-squad-panel{min-height:0}.team-squad-scroll{max-height:calc(100vh - 320px)}.team-tactics-panel>header{padding:20px 24px}.team-tactics-panel>header h2{font-size:24px}.team-tactics-body{padding:16px 18px;gap:12px}.tactics-fieldset{padding:12px 16px}.tactics-fieldset legend{font-size:14px}.tactics-radio{font-size:13px;padding:6px 12px}.tactics-slider span{font-size:12px}.tactics-slider b{font-size:14px}.setpiece-row span{font-size:12px}.team-pitch-editor>footer{font-size:15px}.lineup-policy-grid{gap:22px}.lineup-policy-card,.lineup-policy-note{padding:30px}.team-visibility-table form{padding:18px 26px}.team-visibility-table label{font-size:14px}}
.team-directory-crest img{width:100%;height:100%;object-fit:cover}
.team-flag{position:relative;display:block;overflow:hidden;border:1px solid color-mix(in srgb,var(--flag-color),#fff 35%);border-radius:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--flag-color),#fff 13%),var(--flag-color) 64%,color-mix(in srgb,var(--flag-color),#06111d 44%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 5px 12px rgba(0,0,0,.2)}.team-flag::before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 0 44%,rgba(255,255,255,.22) 45% 49%,transparent 50%)}.team-flag::after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:11%;background:rgba(4,14,24,.42);clip-path:polygon(0 0,100% 15%,100% 85%,0 100%)}.team-crest-large .team-flag{width:58px;height:42px}.team-directory .team-directory-crest.team-flag{width:42px;height:30px;border-radius:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--flag-color),#fff 13%),var(--flag-color) 64%,color-mix(in srgb,var(--flag-color),#06111d 44%))}.team-identity-preview{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:12px;border:1px solid var(--line);background:rgba(4,14,23,.48)}.team-identity-preview>span{display:grid;flex:0 0 auto;place-items:center;width:58px;height:46px;overflow:hidden;border-radius:3px;background:#102b39}.team-identity-preview>span>img{width:100%;height:100%;object-fit:cover}.team-identity-preview b,.team-identity-preview small{display:block}.team-identity-preview b{font-size:15px}.team-identity-preview small{margin-top:4px;color:#90a5b3;font-size:12px}.team-color-field>div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px}.team-color-field input[type=color]{width:44px;min-height:42px;padding:3px;border:1px solid var(--line-strong);background:#07111f;cursor:pointer}.team-color-field output{min-width:74px;color:var(--lime);font-family:ui-monospace,Consolas,monospace;font-size:13px}
.team-profile-crest-trigger{display:grid;flex:0 0 auto;place-items:center;width:58px;height:46px;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:3px;background:#102b39;cursor:pointer}.team-profile-crest-trigger img{width:100%;height:100%;object-fit:cover}.team-profile-upload{display:none}.team-profile-crest-dialog{width:min(760px,calc(100vw - 32px));border:1px solid rgba(183,255,74,.32);background:#0a1d2d;color:#eef7fb;box-shadow:0 30px 90px rgba(0,0,0,.55)}.team-profile-crest-dialog::backdrop{background:rgba(2,10,17,.72)}.crest-dialog header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid rgba(142,181,200,.2)}.crest-dialog header span{color:var(--lime);font-size:12px;font-weight:900;letter-spacing:.13em}.crest-dialog h2{margin:4px 0 0;font-size:23px}.dialog-close{width:36px;height:36px;border:1px solid var(--line-strong);background:#102a3d;color:#eaf3f7;font-size:23px;cursor:pointer}.crest-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:16px}.crest-library-grid button{display:grid;justify-items:center;gap:7px;padding:10px;border:1px solid rgba(142,181,200,.22);background:rgba(4,18,31,.7);color:#c7d6dd;cursor:pointer}.crest-library-grid button:hover{border-color:rgba(183,255,74,.65);background:rgba(183,255,74,.08)}.crest-library-grid img{width:46px;height:46px;object-fit:contain}.crest-library-grid span{font-size:12px}.crest-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:16px;border-top:1px solid rgba(142,181,200,.2)}.crest-dialog footer button{min-height:36px;padding:0 12px;border:1px solid var(--line-strong);background:#0d2a3b;color:#e5f0f5;cursor:pointer}.crest-dialog .crest-upload-action{border-color:rgba(183,255,74,.52);color:var(--lime)}@media(max-width:760px){.crest-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Settings remain operationally dense and legible, separate from broadcast surfaces. */
.settings-page .site-main{width:min(1880px,calc(100% - 40px));padding-top:24px;padding-bottom:54px}.settings-shell{display:grid;grid-template-columns:208px minmax(0,1fr);align-items:start;gap:18px}.settings-sidebar{position:sticky;top:18px;padding:16px 10px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(16,37,55,.96),rgba(5,16,27,.98));box-shadow:var(--shadow)}.settings-sidebar>span,.settings-section-head>span{display:block;color:var(--lime);font-size:11px;font-weight:900;letter-spacing:.14em}.settings-sidebar h1{margin:5px 9px 14px;font-size:24px}.settings-sidebar nav{display:grid;gap:5px}.settings-sidebar a{display:grid;gap:3px;padding:11px 10px;border-left:3px solid transparent;color:#aebec9}.settings-sidebar a:hover,.settings-sidebar a.active{border-left-color:var(--lime);background:rgba(183,243,74,.08);color:#fff}.settings-sidebar a b{font-size:15px}.settings-sidebar a small{color:#8197a7;font-size:12px}.settings-content{min-width:0}.settings-section-head{display:flex;align-items:baseline;gap:12px;min-height:42px;margin-bottom:12px}.settings-section-head h2{margin:0;font-size:27px}.settings-section-head p{margin:0;color:#92a5b2;font-size:14px}.lineup-policy-page .lineup-policy-grid{grid-template-columns:minmax(520px,1.3fr) minmax(260px,.55fr);gap:12px}.lineup-policy-page .lineup-policy-card,.lineup-policy-page .lineup-policy-note{padding:18px}.lineup-policy-page .lineup-policy-card h2,.lineup-policy-page .team-visibility-table h2{font-size:21px}.policy-control-grid{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:end}.policy-control-grid label{margin:0}.policy-control-grid .is-muted{opacity:.4}.lineup-policy-page .lineup-policy-card p,.lineup-policy-page .lineup-policy-note p{margin:12px 0;color:#9eb1bd;font-size:13px}.lineup-policy-page .lineup-policy-note strong{font-size:25px}.lineup-policy-page .team-visibility-table{margin-top:12px}.team-visibility-table>header{display:flex;align-items:baseline;gap:12px;padding:16px 18px}.team-visibility-table>header p{margin:0;color:#8fa3b1;font-size:13px}.team-visibility-list{display:grid}.team-visibility-row{display:grid;grid-template-columns:minmax(240px,1fr) 96px 230px;align-items:center;gap:18px;min-height:70px;padding:8px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.team-policy-name{min-width:0}.team-policy-name i{overflow:hidden}.team-policy-name i img{width:100%;height:100%;object-fit:cover}.team-policy-name span{min-width:0}.team-policy-name b,.team-policy-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-policy-name small{margin-top:3px;color:#8fa4b2;font-size:12px}.visibility-status{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:850}.visibility-status i{width:8px;height:8px;border-radius:50%;background:#8598a6}.visibility-status.shown{color:#9cecc0}.visibility-status.shown i{background:#48cf8b;box-shadow:0 0 10px rgba(72,207,139,.5)}.visibility-status.hidden{color:#b7c2c9}.visibility-switch{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--line-strong);border-radius:3px}.visibility-switch button{min-height:34px;border:0;border-right:1px solid var(--line);background:#081623;color:#a9bac5;font-size:13px;font-weight:800;cursor:pointer}.visibility-switch button:last-child{border-right:0}.visibility-switch button:hover{background:#132b3b;color:#fff}.visibility-switch button.active{background:rgba(183,243,74,.16);color:var(--lime);box-shadow:inset 0 -2px var(--lime)}.private-preview-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(242,185,75,.38);background:rgba(242,185,75,.1);color:#f3d58d;font-size:13px}.private-preview-banner span{font-weight:900}.private-preview-banner b{font-weight:650}.private-preview-banner a{margin-left:auto;color:#fff2cf;font-weight:800}.private-preview-trigger{margin-top:18px;min-height:40px;font-size:14px}.private-preview-dialog{width:min(460px,calc(100vw - 36px));padding:26px;border:1px solid rgba(242,185,75,.52);background:linear-gradient(145deg,#10293b,#07121e);color:var(--paper);box-shadow:0 28px 90px rgba(0,0,0,.6)}.private-preview-dialog::backdrop{background:rgba(0,0,0,.72)}.private-preview-dialog>span{color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.14em}.private-preview-dialog h2{margin:9px 0;font-size:28px}.private-preview-dialog p{margin:0;color:#b5c4cd;font-size:17px;line-height:1.65}.private-preview-dialog p .dialog-danger,.private-preview-dialog .dialog-danger{color:#ff6b6b;font-weight:850}.private-preview-dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#aabac3;font-size:25px;cursor:pointer}
@media(max-width:1100px){.settings-shell{grid-template-columns:1fr;min-width:0}.settings-sidebar{position:static;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.settings-sidebar h1{margin:0}.settings-sidebar nav{display:flex;flex:1;flex-wrap:wrap}.settings-sidebar a{flex:1 1 auto;min-width:120px}.settings-content{min-width:0}}@media(max-width:760px){.settings-page .site-main{width:calc(100% - 24px);padding-top:12px}.settings-shell{gap:12px}.settings-sidebar{display:block;padding:8px;overflow:hidden}.settings-sidebar>span,.settings-sidebar>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.settings-sidebar nav{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}.settings-sidebar a{flex:0 0 142px;min-width:142px;padding:8px;border-left:1px solid rgba(142,181,200,.18);border-bottom:3px solid transparent;scroll-snap-align:start}.settings-sidebar a:hover,.settings-sidebar a.active{border-left-color:rgba(142,181,200,.18);border-bottom-color:var(--lime)}.settings-sidebar a b{font-size:13px}.settings-sidebar a small{font-size:10px;line-height:1.25}.team-visibility-table{overflow-x:auto}.team-visibility-table form{min-width:600px}.team-visibility-row{grid-template-columns:minmax(160px,1fr) 80px 180px}}@media(min-width:2400px){.settings-page .site-main{width:min(2460px,calc(100% - 96px));padding-top:38px}.settings-shell{grid-template-columns:248px minmax(0,1fr);gap:24px}.settings-sidebar{padding:22px 14px}.settings-sidebar h1{font-size:29px}.settings-sidebar a b{font-size:17px}.settings-sidebar a small{font-size:14px}.settings-section-head h2{font-size:33px}.settings-section-head p{font-size:16px}.team-visibility-row{grid-template-columns:minmax(320px,1fr) 120px 280px;padding:15px 22px}.visibility-status{font-size:16px}.visibility-switch button{min-height:40px;font-size:15px}}

/* M04 account control stays compact beside the existing team identity editor. */
.team-password-editor summary span{color:#9fb6c2}.team-password-grid input{width:100%}
.team-next-fixture{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 18px;border:1px solid rgba(183,243,74,.28);background:linear-gradient(100deg,rgba(183,243,74,.1),rgba(8,25,37,.92))}.team-next-fixture div{display:grid;gap:4px}.team-next-fixture span{color:var(--lime);font-size:11px;font-weight:900;letter-spacing:.13em}.team-next-fixture b{font-size:17px}.team-next-fixture b i{padding:0 8px;color:#aabac4;font-style:normal}.team-next-fixture small{color:#9aafbb;font-size:13px}
/* Empty platform state deliberately keeps the same broadcast canvas, without a regular navigation bar. */
.platform-home-page{min-width:0;overflow:hidden;background:#06111d}.platform-home-page .platform-hero{min-height:100svh}.platform-home-page .platform-hero::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:radial-gradient(circle at 27% 48%,rgba(184,248,61,.12),transparent 28%);animation:platformLight 8s ease-in-out infinite}.platform-home-page .platform-home-copy{z-index:4;width:min(48vw,760px)}.platform-home-page .platform-home-copy h1{font-size:clamp(58px,5.4vw,104px)}.platform-home-page .platform-home-actions{margin-top:28px}.platform-home-page .platform-home-actions .home-primary,.platform-home-page .platform-home-actions .home-secondary{min-width:190px;justify-content:center}.platform-home-page .home-primary{margin-top:24px}@keyframes platformLight{50%{opacity:.55;transform:scale(1.08)}}@media(max-width:720px){.platform-home-page .platform-hero{min-height:100svh}.platform-home-page .platform-home-copy h1{font-size:55px}.platform-home-page .platform-home-actions{display:grid}.platform-home-page .platform-home-actions .home-primary,.platform-home-page .platform-home-actions .home-secondary{width:100%}}

/* Five nearby fixtures read like a broadcast rundown rather than a text list. */
.home-schedule-card{width:clamp(450px,26vw,560px);padding:26px}.home-schedule-list{display:grid;margin-top:4px}.home-schedule-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;min-height:64px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.home-schedule-row:last-child{border-bottom:0}.home-schedule-row time{display:grid;gap:4px;color:#dfeef4;font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}.home-schedule-row time small{color:#9bb1bd;font-size:11px;letter-spacing:.08em}.home-schedule-row.complete time{color:#a8bdc7}.home-schedule-row.complete time small{color:#83a3ae}.home-schedule-row>div{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:7px;min-width:0}.home-schedule-row b{overflow:hidden;color:#f2f8fa;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.home-schedule-row b:last-of-type{text-align:right}.home-schedule-row strong{color:var(--lime);font-size:16px;text-align:center;font-variant-numeric:tabular-nums}.home-schedule-row.complete strong{color:#dbe7ec}.home-schedule-row span{grid-column:1/-1;overflow:hidden;margin-top:1px;color:#92a8b4;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.home-schedule-card>header{padding-bottom:15px}.home-schedule-card h2{font-size:30px}@media(min-width:2400px){.home-schedule-card{width:620px;padding:30px}.home-schedule-card h2{font-size:34px}.home-schedule-row{grid-template-columns:108px minmax(0,1fr);min-height:74px;padding:12px 0}.home-schedule-row time{font-size:17px}.home-schedule-row b{font-size:18px}.home-schedule-row strong{font-size:18px}.home-schedule-row span{font-size:14px}}@media(max-width:760px){.home-schedule-card{width:auto}.home-schedule-row{grid-template-columns:80px minmax(0,1fr);gap:10px}.home-schedule-row b{font-size:14px}}

/* M04 directory: keep the desktop canvas intact; narrow browsers scroll horizontally instead of distorting it. */
dialog.team-directory-crest-dialog[open]{display:grid}.team-directory-crest-dialog{grid-template-rows:auto 0 auto minmax(0,1fr) auto auto;max-height:calc(100vh - 48px);padding:0;overflow:hidden}.team-directory-crest-dialog>form{min-height:0;overflow:hidden}.team-directory-crest-dialog .crest-library-grid{min-height:0;overflow:auto;align-content:start}
.team-directory-crest-trigger{position:relative;padding:0;border:1px solid rgba(255,255,255,.25);cursor:pointer;transition:transform .16s ease,filter .16s ease}.team-directory-crest-trigger:hover,.team-directory-crest-trigger:focus-visible{filter:brightness(1.12);outline:2px solid var(--lime);outline-offset:4px;transform:translateY(-1px)}.team-directory-crest-trigger .team-flag{width:58px;height:42px}.team-crest-edit-mark{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:23px;height:23px;border:2px solid #0b1b2a;border-radius:50%;background:var(--lime);color:#08121c;font-size:14px;line-height:1;font-weight:950;box-shadow:0 4px 10px rgba(0,0,0,.34)}.team-directory-crest-dialog{width:min(760px,calc(100vw - 32px));border:1px solid rgba(183,255,74,.32);background:#0a1d2d;color:#eef7fb;box-shadow:0 30px 90px rgba(0,0,0,.55)}.team-directory-crest-dialog::backdrop{background:rgba(2,10,17,.72)}.team-directory-crest-dialog .crest-library-grid button[aria-pressed="true"]{border-color:var(--lime);background:rgba(183,255,74,.13);box-shadow:inset 0 0 0 1px rgba(183,255,74,.3)}.team-directory-crest-dialog footer .button-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px}
.teams-directory-page .site-main{width:max(1260px,min(1980px,calc(100% - 48px)));padding-top:26px;padding-bottom:48px}.team-selector-workspace{display:grid;grid-template-columns:308px minmax(0,1fr);gap:18px;min-width:1260px}.team-selector-rail,.team-selector-detail{border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,38,57,.97),rgba(5,16,27,.99));box-shadow:var(--shadow)}.team-selector-rail{display:grid;grid-template-rows:auto 1fr;min-height:774px}.team-selector-rail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.team-selector-rail header span,.team-selector-head>div>span{display:block;color:var(--lime);font-size:12px;font-weight:900;letter-spacing:.14em}.team-selector-rail h1{margin:5px 0 0;font-size:29px}.team-selector-rail>header>b{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(183,255,74,.48);border-radius:50%;color:var(--lime);font-size:16px;font-variant-numeric:tabular-nums}.team-selector-rail nav{display:grid;grid-template-rows:repeat(16,minmax(40px,1fr));gap:4px;padding:10px}.team-selector-rail nav>a{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:9px;min-height:40px;padding:5px 8px;border:1px solid transparent;color:#c0d0d8}.team-selector-rail nav>a:hover{border-color:rgba(183,255,74,.34);background:rgba(183,255,74,.06);color:#fff}.team-selector-rail nav>a.active{border-color:rgba(183,255,74,.58);background:linear-gradient(100deg,rgba(183,255,74,.18),rgba(10,31,44,.88));color:#fff;box-shadow:inset 3px 0 var(--lime)}.team-selector-rail .team-directory-crest{display:grid;place-items:center;width:30px;height:24px;overflow:hidden;border-radius:2px;background:#102b39}.team-selector-rail .team-directory-crest img{width:100%;height:100%;object-fit:contain}.team-selector-rail span{display:grid;min-width:0}.team-selector-rail span b,.team-selector-rail span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-selector-rail span b{font-size:15px}.team-selector-rail span small{margin-top:2px;color:#8fa6b2;font-size:12px}.team-selector-rail em{color:#8298a5;font-size:12px;font-style:normal;font-weight:850;text-align:right;font-variant-numeric:tabular-nums}.team-selector-rail a.active em{color:var(--lime)}.team-selector-head{display:flex;align-items:center;gap:18px;min-height:118px;padding:19px 24px;border-bottom:1px solid var(--line);border-left:4px solid var(--team-color);background:linear-gradient(105deg,color-mix(in srgb,var(--team-color),#102738 80%),#07111f 62%)}.team-selector-head .team-crest-large{width:70px;height:70px}.team-selector-head h1{margin:4px 0;font-size:34px;letter-spacing:-.035em}.team-selector-head p{margin:0;color:#aebfc8;font-size:15px}.team-selector-panels{display:grid;grid-template-columns:minmax(650px,1.26fr) minmax(365px,.74fr);gap:16px;padding:16px}.directory-lineup-card,.directory-roster-card{min-height:640px}.directory-lineup-card>header,.directory-roster-card>header{padding:16px 18px}.directory-lineup-card h2,.directory-roster-card h2{font-size:23px}.directory-pitch{min-width:0;min-height:576px}.directory-lineup-hidden{display:grid;min-height:576px;place-content:center;justify-items:center;gap:14px;padding:32px;background:radial-gradient(circle at 50% 45%,rgba(168,183,193,.09),transparent 34%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 11px);text-align:center}.directory-lineup-hidden strong{color:#dce6ea;font-size:clamp(44px,5vw,70px);letter-spacing:.17em;font-variant-numeric:tabular-nums}.directory-lineup-hidden span{color:#a2b6c0;font-size:16px;font-weight:800}.directory-roster-card .team-roster-list{max-height:575px;padding:9px 12px}.directory-roster-card .team-roster-row{min-height:58px}.directory-roster-card .team-roster-row strong{font-size:15px}.directory-roster-card .team-roster-row small{font-size:12px}@media(min-width:2400px){.teams-directory-page .site-main{width:min(2480px,calc(100% - 96px));padding-top:40px}.team-selector-workspace{grid-template-columns:375px minmax(0,1fr);gap:24px;min-width:1640px}.team-selector-rail{min-height:990px}.team-selector-rail>header{padding:24px 22px 19px}.team-selector-rail h1{font-size:35px}.team-selector-rail nav{padding:14px;gap:6px}.team-selector-rail nav>a{grid-template-columns:42px minmax(0,1fr) 32px;min-height:51px;padding:6px 10px}.team-selector-rail .team-directory-crest{width:37px;height:29px}.team-selector-rail span b{font-size:18px}.team-selector-rail span small,.team-selector-rail em{font-size:14px}.team-selector-head{min-height:152px;padding:26px 32px}.team-selector-head .team-crest-large{width:94px;height:94px}.team-selector-head h1{font-size:47px}.team-selector-head p{font-size:18px}.team-selector-panels{grid-template-columns:minmax(920px,1.26fr) minmax(510px,.74fr);gap:22px;padding:22px}.directory-lineup-card,.directory-roster-card{min-height:814px}.directory-pitch,.directory-lineup-hidden{min-height:744px}.directory-roster-card .team-roster-list{max-height:744px;padding:13px 16px}.directory-roster-card .team-roster-row{min-height:72px}.directory-roster-card .team-roster-row strong{font-size:18px}.directory-roster-card .team-roster-row small{font-size:14px}}@media(max-width:1380px){body.teams-directory-page{overflow-x:auto}.teams-directory-page .site-main{width:max(1260px,calc(100% - 40px))}.team-selector-workspace{grid-template-columns:286px minmax(920px,1fr);min-width:1230px}.team-selector-panels{grid-template-columns:minmax(560px,1.2fr) minmax(340px,.8fr)}.team-selector-detail{min-width:0}}@media(max-width:760px){body.teams-directory-page{overflow-x:hidden}.teams-directory-page .site-main{width:calc(100% - 24px);padding-top:18px;overflow-x:hidden}.team-selector-workspace{grid-template-columns:1fr;min-width:0;gap:12px}.team-selector-rail{min-height:auto}.team-selector-rail nav{grid-template-rows:none;grid-auto-flow:row;max-height:280px;overflow-y:auto}.team-selector-head{min-height:105px;padding:16px}.team-selector-panels{grid-template-columns:1fr;gap:12px;padding:12px}.directory-lineup-card,.directory-roster-card{min-height:400px}.directory-pitch,.directory-lineup-hidden{min-height:360px}}
/* A completed result without a scheduled kickoff should read as a result,
   not as an unplanned future fixture. */
.home-schedule-row time.is-result-only{align-content:center}
.home-schedule-row time.is-result-only small{color:#83a3ae}

/* The match stage, score, shootout and report action use fixed tracks. Team
   identities only align to the score track, so completed rows never push the
   score upward or become taller than upcoming rows. */
.home-schedule-card{width:clamp(500px,29vw,650px);padding:28px}
.home-schedule-card>header{padding-bottom:17px}
.home-schedule-card h2{font-size:32px}
.home-schedule-header-actions{display:flex;align-items:center;gap:8px}
.home-schedule-card a.home-schedule-all-link,.home-schedule-collapse{display:inline-flex;align-items:center;justify-content:center;min-height:32px;gap:6px;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));color:#dbe7ec;font-family:inherit;font-size:12px;font-weight:800;line-height:1;letter-spacing:0;text-decoration:none;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.home-schedule-card a.home-schedule-all-link:hover,.home-schedule-collapse:hover{border-color:rgba(183,243,74,.5);background:rgba(183,243,74,.08);color:#f4ffd9}
.home-schedule-card a.home-schedule-all-link:focus-visible,.home-schedule-collapse:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.home-schedule-card a.home-schedule-all-link svg,.home-schedule-collapse svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.home-schedule-card a.home-schedule-all-link svg{color:var(--lime)}
.home-schedule-collapse{cursor:pointer}
.home-schedule-collapse:hover{border-color:rgba(183,243,74,.5);color:#fff}
.home-schedule-collapse:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.home-schedule-collapse svg{transition:transform .16s ease}
.home-schedule-collapse[aria-expanded="false"] svg{transform:rotate(180deg)}
.home-schedule-card.is-collapsed>header{padding-bottom:0;border-bottom:0}
.home-schedule-list[hidden]{display:none}
.home-schedule-row{grid-template-columns:96px minmax(0,1fr);gap:16px;min-height:90px;padding:5px 0}
.home-schedule-row:last-child{border-bottom:1px solid transparent}
.home-schedule-row time{font-size:16px}
.home-schedule-row time small{font-size:12px}
.home-schedule-row>.home-schedule-match{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(72px,5vw,88px) minmax(0,1fr);
  grid-template-rows:18px 44px 22px;
  align-items:center;
  column-gap:10px;
  row-gap:1px;
  min-width:0;
}
.home-schedule-row .home-schedule-stage{
  grid-column:1/-1;
  grid-row:1;
  margin:0;
  color:#9fb3bd;
  font-size:12px;
  font-weight:800;
  line-height:17px;
  text-align:center;
}
.home-schedule-team{display:flex;align-items:center;gap:7px;min-width:0}
.home-schedule-team.home{grid-column:1;grid-row:2;flex-direction:row-reverse;justify-content:flex-start}
.home-schedule-team.away{grid-column:3;grid-row:2;flex-direction:row;justify-content:flex-start}
.home-schedule-team b{min-width:0;flex:1 1 auto;font-size:17px}
.home-schedule-team.home b{text-align:right}
.home-schedule-team.away b{text-align:left}
.home-schedule-team em{display:grid;flex:0 0 auto;place-items:center;width:32px;height:32px;overflow:hidden;border:1px solid rgba(142,181,200,.3);font-style:normal}
.home-schedule-team em img{width:100%;height:100%;object-fit:contain}
.home-schedule-team em.team-flag{border-color:color-mix(in srgb,var(--flag-color),#fff 40%);background:linear-gradient(135deg,color-mix(in srgb,var(--flag-color),#fff 18%),var(--flag-color) 62%,color-mix(in srgb,var(--flag-color),#06111d 42%))}
.home-schedule-team em.source-mark{color:#91a8b3;font-size:13px}
.home-schedule-score{display:grid;grid-column:2;grid-row:2;place-items:center;min-width:0}
.home-schedule-score>strong{font-size:27px;line-height:1;font-variant-numeric:tabular-nums}
.home-schedule-result-meta{
  display:flex;
  grid-column:2;
  grid-row:3;
  align-items:center;
  justify-content:center;
  min-width:max-content;
  gap:5px;
  white-space:nowrap;
}
.home-schedule-penalty{
  min-height:18px;
  color:#e7c96c;
  font-size:12px;
  font-weight:850;
  line-height:18px;
  text-align:center;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.home-schedule-penalty.is-empty{display:none}
.home-schedule-report-slot{display:grid;min-height:18px;place-items:center}
.home-schedule-card a.home-schedule-report{display:inline-flex;align-items:center;justify-content:center;min-height:18px;margin:0;padding:0 5px;border:0;border-bottom:1px solid rgba(183,243,74,.48);border-radius:0;background:transparent;color:#bde978;font-size:10px;font-weight:850;line-height:1;white-space:nowrap;text-decoration:none}
.home-schedule-card a.home-schedule-report:hover{border-color:var(--lime);background:transparent;color:#efffc9}
.home-schedule-card a.home-schedule-report:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(min-width:2400px){
  .home-schedule-card{width:720px;padding:32px}
  .home-schedule-card h2{font-size:36px}
  .home-schedule-row{grid-template-columns:112px minmax(0,1fr);gap:20px;min-height:104px;padding:8px 0}
  .home-schedule-row time{font-size:18px}
  .home-schedule-row>.home-schedule-match{grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);grid-template-rows:20px 54px 24px;column-gap:13px}
  .home-schedule-row .home-schedule-stage{font-size:14px;line-height:20px}
  .home-schedule-team b{font-size:20px}
  .home-schedule-team em{width:38px;height:38px}
  .home-schedule-score>strong{font-size:29px}
  .home-schedule-penalty{font-size:15px;line-height:18px}
  .home-schedule-card a.home-schedule-report{min-height:20px;font-size:11px}
}
@media(max-width:760px){
  .home-schedule-card{position:relative;right:auto;bottom:auto;left:auto;top:auto;width:auto;margin:112px 10px 0;padding:14px;transform:none}
  .legacy-home .home-event-tools{position:relative;right:auto;bottom:auto;left:auto;margin:12px 10px 20px}
  .home-schedule-card h2{font-size:28px}
  .home-schedule-header-actions{gap:6px}
  .home-schedule-header-actions>a{display:none}
  .home-schedule-collapse{min-height:26px;padding-inline:7px}
  .home-schedule-row{grid-template-columns:60px minmax(0,1fr);gap:8px;min-height:84px;padding:4px 0}
  .home-schedule-row time{font-size:14px}
  .home-schedule-row time small{font-size:10px}
  .home-schedule-row>.home-schedule-match{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);grid-template-rows:17px 40px 19px;column-gap:5px}
  .home-schedule-row .home-schedule-stage{font-size:11px;line-height:17px}
  .home-schedule-team{gap:4px}
  .home-schedule-team em{width:24px;height:24px}
  .home-schedule-team b{
    display:-webkit-box;
    min-height:0;
    overflow:hidden;
    font-size:14px;
    line-height:1.15;
    white-space:normal;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  .home-schedule-score>strong{font-size:22px}
  .home-schedule-penalty{font-size:10px;line-height:16px}
  .home-schedule-card a.home-schedule-report{min-height:16px;padding:0 3px;font-size:9px}
}

/* The selector rail stays a compact 16-team index.  The crest is an
   independent grid item, so long team names can never sit underneath it. */
.team-selector-workspace{grid-template-columns:300px minmax(0,1fr)}
.team-selector-rail{min-height:770px}
.team-selector-rail>header{min-height:70px;padding:14px 16px 11px}
.team-selector-rail h1{font-size:26px}
.team-selector-rail nav{grid-template-rows:repeat(16,minmax(38px,1fr));gap:3px;padding:8px}
.team-selector-rail nav>a{grid-template-columns:34px minmax(0,1fr) 24px;gap:9px;min-height:38px;padding:4px 8px}
.team-selector-rail .team-directory-crest{grid-row:auto!important;align-self:center;justify-self:center;width:30px;height:30px;aspect-ratio:1;border-radius:3px}
.team-selector-rail span b{font-size:16px;line-height:18px}
.team-selector-rail span small{margin-top:0;font-size:12px;line-height:14px}
.team-selector-rail em{font-size:11px}
@media(min-width:2400px){.team-selector-workspace{grid-template-columns:360px minmax(0,1fr)}.team-selector-rail{min-height:890px}.team-selector-rail>header{min-height:92px;padding:20px}.team-selector-rail h1{font-size:32px}.team-selector-rail nav{grid-template-rows:repeat(16,minmax(42px,1fr));gap:5px;padding:12px}.team-selector-rail nav>a{grid-template-columns:38px minmax(0,1fr) 28px;gap:11px;min-height:42px;padding:5px 10px}.team-selector-rail .team-directory-crest{width:34px;height:34px}.team-selector-rail span b{font-size:18px;line-height:21px}.team-selector-rail span small,.team-selector-rail em{font-size:14px;line-height:16px}}
@media(max-width:1380px){.team-selector-workspace{grid-template-columns:300px minmax(920px,1fr);min-width:1240px}}

/* Team accounts land on the editable workspace; keep its two navigation
   actions together and out of the title's reading column. */
.team-workbench-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-left:auto}.team-workbench-actions .button-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;white-space:nowrap}@media(max-width:760px){.team-workbench-actions{width:100%;justify-content:flex-start;margin-left:0}.team-workbench-actions .button-link{flex:1}}
.team-selector-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.team-selector-actions form{display:flex;margin:0}.team-selector-actions .button-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;font-size:15px;font-weight:850;line-height:1;white-space:nowrap}@media(max-width:760px){.team-selector-actions{width:100%;margin-left:0}.team-selector-actions form{min-width:0}.team-selector-actions .button-link{width:100%}}

/* Direct-manipulation lineup editor.  The submitted controls remain native
   selects for server-side validation, while the visual layer stays a real
   football pitch with click-to-place and drag-to-place interaction. */
.lineup-slot-input{display:none!important}.team-pitch-editor .editor-pitch{isolation:isolate}.team-pitch-editor .pitch-player-editor{display:grid;justify-items:center;width:120px;padding:0;border:0;background:transparent;color:#eef7f3;font:inherit;cursor:pointer}.pitch-player-editor .pitch-slot-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;transition:transform .16s ease,filter .16s ease}.pitch-player-editor .pitch-slot-avatar>img,.pitch-player-editor .pitch-slot-avatar>.lineup-avatar-silhouette{width:54px;height:54px}.pitch-player-editor .pitch-slot-role{display:grid;place-items:center;min-width:32px;min-height:19px;margin-top:-7px;padding:0 6px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:#07131e;color:#dceee2;font-size:11px;font-weight:950;line-height:1;z-index:1}.pitch-player-editor strong{display:block;max-width:120px;overflow:hidden;margin-top:3px;padding:3px 6px;border-radius:2px;background:rgba(2,12,18,.88);color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.pitch-player-editor small{display:block;max-width:120px;overflow:hidden;margin-top:2px;color:#d6e2dc;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pitch-player-editor.empty{opacity:.9}.pitch-player-editor.empty .pitch-slot-avatar{border:1px dashed rgba(220,239,229,.56);background:rgba(4,30,31,.35)}.pitch-player-editor.empty strong{color:#d5e4dc;background:rgba(2,13,19,.72)}.pitch-player-editor.is-selected .pitch-slot-avatar{filter:drop-shadow(0 0 12px rgba(183,243,74,.7));transform:translateY(-3px)}.pitch-player-editor.is-selected strong{background:var(--lime);color:#07131a}.pitch-player-editor.is-drop-target .pitch-slot-avatar{outline:3px solid var(--lime);outline-offset:4px;transform:scale(1.07)}.lineup-avatar-silhouette{position:relative;display:grid;overflow:hidden;place-items:end center;border:2px solid rgba(255,255,255,.58);border-radius:50%;background:radial-gradient(circle at 36% 24%,rgba(140,228,255,.65),transparent 18%),linear-gradient(145deg,#173d55,#082031 70%);box-shadow:0 7px 18px rgba(0,0,0,.36)}.lineup-avatar-silhouette::before{content:"";position:absolute;z-index:1;top:11px;width:19px;height:19px;border-radius:50%;background:linear-gradient(135deg,#c2e7ee,#5d91a2)}.lineup-avatar-silhouette::after{content:"";position:absolute;bottom:-7px;width:43px;height:37px;border-radius:50% 50% 8px 8px;background:linear-gradient(135deg,#2c7590,#0e3347);clip-path:polygon(22% 0,78% 0,100% 34%,88% 100%,12% 100%,0 34%)}.team-squad-row.team-lineup-player{position:relative;cursor:grab;transition:border-color .16s ease,background .16s ease,transform .16s ease}.team-squad-row.team-lineup-player:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}.team-squad-row.team-lineup-player:hover{background:rgba(255,255,255,.065)}.team-squad-row.team-lineup-player.is-selected{border-left:3px solid #86c9ff;background:rgba(87,168,255,.13)}.team-squad-row.team-lineup-player.is-starter{border-left:3px solid var(--lime);background:linear-gradient(90deg,rgba(183,243,74,.12),rgba(255,255,255,.025))}.team-squad-row.team-lineup-player.is-dragging{opacity:.48;cursor:grabbing}.team-squad-row .lineup-primary-position{color:#9eb2bd}.team-squad-row .lineup-assigned-position{color:#90a8b6;font-weight:850}.team-squad-row.is-starter .lineup-assigned-position{color:var(--lime)}.team-squad-row .lineup-avatar-silhouette{width:40px;height:40px}.team-squad-row .lineup-avatar-silhouette::before{top:7px;width:14px;height:14px}.team-squad-row .lineup-avatar-silhouette::after{bottom:-6px;width:32px;height:29px}.lineup-editor-actions{display:flex;align-items:center;gap:8px}.lineup-editor-actions .button-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;white-space:nowrap}.lineup-editor-actions .button-link:disabled{opacity:.42;cursor:not-allowed}@media(max-width:760px){.team-pitch-editor .pitch-player-editor{width:112px}.pitch-player-editor strong,.pitch-player-editor small{max-width:112px}.lineup-editor-actions{width:100%}.lineup-editor-actions .button-link{flex:1}}

/* 2026-07 card-density and three-surface team layouts. */
.team-workbench-page{overflow-x:auto}
.team-workbench-page .site-main{width:max(1420px,min(1880px,calc(100% - 40px)))}
.team-workbench-page .workbench-shell{grid-template-columns:minmax(560px,1.2fr) minmax(330px,.72fr) minmax(390px,.88fr);align-items:start}
.team-workbench-page .team-pitch-editor,.team-workbench-page .team-squad-panel,.team-workbench-page .team-tactics-panel{min-width:0;overflow:hidden}
.team-workbench-page .editor-pitch{min-height:690px}
.team-workbench-page .pitch-player-editor{width:124px;cursor:default}
.team-workbench-page .pitch-player-editor.empty{opacity:1}
.team-workbench-page .pitch-player-editor.empty .pitch-slot-avatar{border:2px dashed rgba(183,243,74,.68);background:rgba(7,52,39,.48);box-shadow:0 0 0 4px rgba(183,243,74,.07)}
.team-workbench-page .pitch-player-editor.empty strong{background:rgba(7,31,31,.9);color:#dff2e6}
.team-workbench-page .team-squad-row{grid-template-columns:42px 42px minmax(0,1fr);align-items:start;min-height:88px}
.team-workbench-page .team-squad-row>span:nth-of-type(2){min-width:0}
.team-workbench-page .team-squad-row>em{display:none}
.team-workbench-page .team-squad-row .lineup-primary-position{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}
.team-workbench-page .team-squad-scroll{max-height:690px}
.teams-directory-page .site-main{width:max(1480px,min(2200px,calc(100% - 48px)))}
.teams-directory-page .team-selector-workspace{grid-template-columns:248px minmax(0,1fr);align-items:start;min-width:1440px}
.teams-directory-page .team-selector-rail{align-self:start;height:clamp(720px,calc(100vh - 150px),900px);min-height:0;overflow:hidden}
.teams-directory-page .team-selector-rail nav{min-height:0;overflow-y:auto}
.teams-directory-page .team-selector-detail{min-width:0}
.teams-directory-page .team-selector-panels{grid-template-columns:minmax(560px,1.25fr) minmax(310px,.68fr) minmax(340px,.78fr);align-items:start}
.teams-directory-page .directory-lineup-card,.teams-directory-page .directory-roster-card,.teams-directory-page .directory-tactics-card{min-width:0;min-height:640px;overflow:hidden}
.teams-directory-page .directory-roster-card .team-roster-list,.teams-directory-page .directory-tactics-card .tactics-readonly-body{max-height:575px;overflow:auto}
.teams-directory-page .team-roster-row{grid-template-columns:38px 38px minmax(0,1fr);align-items:start;min-height:76px}
.teams-directory-page .team-roster-row>span{min-width:0}
.teams-directory-page .team-roster-row>em{display:none}
.teams-directory-page .team-roster-row small{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}
.teams-directory-page .team-role-summary{margin-top:5px}
@media(min-width:2400px){.team-workbench-page .site-main{width:min(2440px,calc(100% - 96px))}.team-workbench-page .workbench-shell{grid-template-columns:minmax(760px,1.22fr) minmax(440px,.7fr) minmax(550px,.88fr)}.team-workbench-page .editor-pitch{min-height:850px}.team-workbench-page .team-squad-scroll{max-height:850px}.teams-directory-page .team-selector-workspace{grid-template-columns:300px minmax(0,1fr);min-width:1900px}.teams-directory-page .team-selector-panels{grid-template-columns:minmax(820px,1.3fr) minmax(420px,.66fr) minmax(500px,.78fr)}.teams-directory-page .team-selector-rail{height:960px}}
@media(max-width:760px){.teams-directory-page{overflow-x:hidden}.teams-directory-page .site-main{width:calc(100% - 24px);min-width:0}.teams-directory-page .team-selector-workspace{grid-template-columns:1fr;min-width:0}.teams-directory-page .team-selector-rail{width:100%;height:auto;max-height:310px}.teams-directory-page .team-selector-panels{grid-template-columns:1fr;min-width:0}.teams-directory-page .directory-lineup-card,.teams-directory-page .directory-roster-card,.teams-directory-page .directory-tactics-card{width:100%;min-width:0;min-height:400px}.teams-directory-page .directory-pitch{min-width:0}}

/* Equal-height team surfaces: the lineup column defines the row height;
   roster and tactics stay inside that frame and scroll independently. */
.team-workbench-page .workbench-shell{align-items:stretch}
.team-workbench-page .team-pitch-editor{align-self:start}
.team-workbench-page .team-squad-panel,
.team-workbench-page .team-tactics-panel{align-self:stretch;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:none;contain:size}
.team-workbench-page .team-squad-scroll,
.team-workbench-page .team-tactics-body{min-height:0;max-height:none;overflow-y:auto;scrollbar-color:rgba(183,243,74,.52) rgba(4,16,25,.62)}
.teams-directory-page .team-selector-panels{align-items:stretch}
.teams-directory-page .directory-lineup-card{align-self:start}
.teams-directory-page .directory-roster-card,
.teams-directory-page .directory-tactics-card{align-self:stretch;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:none;contain:size}
.teams-directory-page .directory-roster-card .team-roster-list,
.teams-directory-page .directory-tactics-card .tactics-readonly-body{min-height:0;max-height:none;overflow-y:auto;scrollbar-color:rgba(183,243,74,.52) rgba(4,16,25,.62)}

/* Reuse one compact role hierarchy on public and editable squad rows. */
.team-role-summary{display:grid;min-width:0;gap:2px;margin-top:4px;overflow:hidden}
.team-role-tier{display:flex;min-width:0;align-items:center;gap:3px;overflow:hidden;white-space:nowrap}
.team-role-tier>em{display:grid;flex:0 0 20px;place-items:center;min-height:15px;border:1px solid currentColor;border-radius:3px;font-size:9px;font-style:normal;font-weight:950;line-height:1}
.team-role-tier>b{flex:0 0 auto;padding:2px 4px;border:1px solid rgba(210,225,237,.3);border-radius:3px;color:#e5eef6;font-size:9px;font-weight:850;line-height:1.05}
.team-role-tier.double-plus>em,
.team-role-tier.double-plus>b{border-color:rgba(255,207,72,.55);color:#ffe28a}
.team-role-tier.plus>em,
.team-role-tier.plus>b{border-color:rgba(210,225,237,.34);color:#dbe7ee}
.teams-directory-page .team-roster-row{height:96px;min-height:96px;max-height:96px;overflow:hidden;box-sizing:border-box}
.teams-directory-page .team-roster-row>span,
.team-workbench-page .team-squad-row>span:nth-of-type(2){align-self:start;overflow:hidden}
.teams-directory-page .team-roster-row small,
.team-workbench-page .team-squad-row .lineup-primary-position{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-workbench-page .team-squad-row{height:112px;min-height:112px;max-height:112px;overflow:hidden;box-sizing:border-box}

@media(min-width:2400px){
  .teams-directory-page .team-roster-row{height:118px;min-height:118px;max-height:118px}
  .team-workbench-page .team-squad-row{height:132px;min-height:132px;max-height:132px}
  .team-role-tier>em{flex-basis:24px;min-height:18px;font-size:11px}
  .team-role-tier>b{font-size:11px}
}
@media(max-width:760px){
  .teams-directory-page .directory-lineup-card{align-self:auto}
  .teams-directory-page .directory-roster-card,
  .teams-directory-page .directory-tactics-card{align-self:auto;height:520px;min-height:520px}
}

/* Fluid laptop and tablet canvases.  The pitch and roster share one row;
   tactics uses the full second row instead of being clipped off-screen. */
@media (min-width: 1241px) and (max-width: 1539px) {
  .team-workbench-page { overflow-x: hidden; }
  .team-workbench-page .site-main {
    width: calc(100% - 24px);
    min-width: 0;
    padding-inline: 20px;
  }
  .team-workbench-page .workbench-shell {
    grid-template-columns: minmax(500px, 1.2fr) minmax(300px, .72fr) minmax(340px, .88fr);
  }

  .teams-directory-page { overflow-x: hidden; }
  .teams-directory-page .site-main {
    width: calc(100% - 24px);
    min-width: 0;
    padding-inline: 20px;
  }
  .teams-directory-page .team-selector-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
    min-width: 0;
  }
  .teams-directory-page .team-selector-panels {
    grid-template-columns: minmax(390px, 1.2fr) minmax(230px, .7fr) minmax(250px, .8fr);
  }
}
@media (min-width: 961px) and (max-width: 1240px) {
  .team-workbench-page { overflow-x: hidden; }
  .team-workbench-page .site-main {
    width: calc(100% - 24px);
    min-width: 0;
    padding-inline: 18px;
  }
  .team-workbench-page .workbench-shell {
    grid-template-columns: minmax(530px, 1.25fr) minmax(320px, .75fr);
    align-items: stretch;
  }
  .team-workbench-page .team-pitch-editor { grid-column: 1; grid-row: 1; }
  .team-workbench-page .team-squad-panel { grid-column: 2; grid-row: 1; }
  .team-workbench-page .team-tactics-panel {
    grid-column: 1 / -1;
    grid-row: 2;
    height: clamp(620px, 72svh, 820px);
    contain: size;
  }
  .team-workbench-page .team-tactics-body { overflow-y: auto; }

  .teams-directory-page { overflow-x: hidden; }
  .teams-directory-page .site-main {
    width: calc(100% - 24px);
    min-width: 0;
    padding-inline: 16px;
  }
  .teams-directory-page .team-selector-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
    min-width: 0;
  }
  .teams-directory-page .team-selector-panels {
    grid-template-columns: minmax(420px, 1.2fr) minmax(270px, .8fr);
  }
  .teams-directory-page .directory-lineup-card { grid-column: 1; grid-row: 1; }
  .teams-directory-page .directory-roster-card { grid-column: 2; grid-row: 1; }
  .teams-directory-page .directory-tactics-card {
    grid-column: 1 / -1;
    grid-row: 2;
    height: clamp(560px, 68svh, 760px);
  }
}
@media (min-width: 761px) and (max-width: 960px) {
  .team-workbench-page,
  .teams-directory-page { overflow-x: hidden; }
  .team-workbench-page .site-main,
  .teams-directory-page .site-main {
    width: calc(100% - 24px);
    min-width: 0;
    padding-inline: 14px;
  }
  .team-workbench-page .workbench-shell,
  .teams-directory-page .team-selector-workspace,
  .teams-directory-page .team-selector-panels {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }
  .teams-directory-page .team-selector-rail {
    width: 100%;
    height: auto;
    max-height: 320px;
  }
  .team-workbench-page .team-pitch-editor,
  .team-workbench-page .team-squad-panel,
  .team-workbench-page .team-tactics-panel,
  .teams-directory-page .directory-lineup-card,
  .teams-directory-page .directory-roster-card,
  .teams-directory-page .directory-tactics-card {
    grid-column: 1;
    grid-row: auto;
    contain: none;
  }
  .team-workbench-page .team-squad-panel,
  .team-workbench-page .team-tactics-panel,
  .teams-directory-page .directory-roster-card,
  .teams-directory-page .directory-tactics-card {
    height: 560px;
  }
}

@media (max-width: 760px) {
  .teams-directory-page .team-selector-head {
    align-items: center;
    flex-wrap: wrap;
  }
  .teams-directory-page .team-selector-head > div:not(.team-selector-actions) {
    flex: 1 1 170px;
    min-width: 0;
  }
  .teams-directory-page .team-selector-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex: 0 0 100%;
  }
  .teams-directory-page .team-selector-actions .button-link {
    width: auto;
    min-width: 0;
    padding-inline: 10px;
  }
}
/* Organizer-only team identity controls: crest uniqueness and FC 26 shell mapping. */
.team-fc26-mapping-card {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(183, 255, 74, .24);
  border-left: 3px solid var(--lime);
  background: linear-gradient(135deg, rgba(10, 34, 43, .96), rgba(5, 19, 30, .98));
}
.team-fc26-mapping-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.team-fc26-mapping-card > header span {
  color: var(--lime);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
}
.team-fc26-mapping-card h3 {
  margin: 4px 0 0;
  color: #f3faf6;
  font-size: 19px;
}
.team-fc26-mapping-card > header > b {
  padding: 5px 8px;
  border: 1px solid rgba(183, 255, 74, .34);
  color: var(--lime);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.team-fc26-mapping-card > header > b.is-empty {
  border-color: rgba(148, 169, 181, .24);
  color: #91a5b1;
}
.team-fc26-mapping-card > label {
  color: #b8c9d1;
  font-size: 13px;
  font-weight: 800;
}
.team-fc26-mapping-card > input {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line-strong);
  background: #061723;
  color: #f5fbff;
  font-size: 15px;
}
.team-fc26-mapping-card > input:focus-visible,
.crest-search-row input:focus-visible {
  border-color: var(--lime);
  outline: 2px solid rgba(183, 255, 74, .2);
  outline-offset: 2px;
}
.team-fc26-mapping-card > small {
  color: #91a6b2;
  font-size: 12px;
  line-height: 1.55;
}
dialog.team-profile-crest-dialog[open] {
  display: grid;
}
.team-profile-crest-dialog {
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  max-height: calc(100vh - 48px);
  padding: 0;
  overflow: hidden;
}
.crest-search-row {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(142, 181, 200, .2);
  background: rgba(4, 18, 29, .72);
}
.crest-search-row label {
  color: #c5d4db;
  font-size: 13px;
  font-weight: 800;
}
.crest-search-row input {
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid var(--line-strong);
  background: #061723;
  color: #f5fbff;
  font-size: 15px;
}
.crest-search-row small {
  min-width: 64px;
  color: #94a9b5;
  font-size: 12px;
  text-align: right;
}
.team-profile-crest-dialog .crest-library-grid {
  min-height: 0;
  overflow: auto;
  align-content: start;
}
.crest-library-grid button[hidden] {
  display: none;
}
.crest-library-grid button:disabled {
  border-color: rgba(142, 181, 200, .12);
  opacity: .48;
  cursor: not-allowed;
  filter: grayscale(.65);
}
.crest-library-grid button em {
  color: #e6b96b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 760px) {
  .team-fc26-mapping-card > header {
    align-items: flex-start;
  }
  .crest-search-row {
    grid-template-columns: 1fr auto;
  }
  .crest-search-row label {
    grid-column: 1 / -1;
  }
}
@media (min-width: 2400px) {
  .team-profile-crest-dialog,
  .team-directory-crest-dialog {
    width: min(clamp(820px, 30vw, 1180px), calc(100vw - 64px));
  }
  .team-profile-crest-dialog .crest-library-grid,
  .team-directory-crest-dialog .crest-library-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .crest-search-row input,
  .team-fc26-mapping-card > input {
    min-height: 48px;
    font-size: 17px;
  }
}

.team-workbench-page .team-squad-scroll {
  display: flex;
  flex-direction: column;
}

.team-roster-row.is-starter {
  position: relative;
  border-left: 3px solid var(--lime);
  background: linear-gradient(90deg, rgba(183, 243, 74, .12), rgba(255, 255, 255, .025));
}

.team-roster-row .roster-starter-badge {
  position: absolute;
  top: 6px;
  right: 7px;
  padding: 2px 5px;
  border: 1px solid rgba(183, 243, 74, .42);
  border-radius: 2px;
  background: rgba(12, 42, 35, .92);
  color: var(--lime);
  font-size: 10px;
  line-height: 1.2;
}

.team-roster-row.is-captain .roster-starter-badge {
  right: 34px;
}

.team-roster-row.is-captain {
  position: relative;
  border-left-color: var(--gold, #f2b94b);
}

.team-roster-row.is-captain::after {
  content: "C";
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1.5px solid #07111f;
  border-radius: 50%;
  background: linear-gradient(145deg, #f7d488, #e6a52e);
  color: #1a1208;
  font-size: 10px;
  font-weight: 950;
}

.team-roster-row .roster-lineup-status {
  display: block;
  margin-top: 4px;
  color: var(--lime);
  font-size: 12px;
  font-weight: 850;
}

.owner-private-lineup-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(183, 243, 74, .26);
  background: rgba(183, 243, 74, .07);
}

.owner-private-lineup-banner span {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 1px solid rgba(183, 243, 74, .42);
  color: var(--lime);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
}

.owner-private-lineup-banner b {
  color: #d7e6dd;
  font-size: 12px;
  font-weight: 750;
}

.pitch-player-card .pitch-role-line {
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  padding: 2px 4px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 2px;
  background: rgba(3, 16, 24, .82);
  color: #e1ede8;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Public pitch marker stacking: rating above portrait, then text metadata. */
.pitch-player-card {
  /* The shared transform/z-index declaration above created one stacking
     context per player. A later player's role label could therefore cover an
     earlier player's rating regardless of the rating's own z-index. Preserve
     the same centred placement with margins so all marker children can share
     the pitch stacking context. */
  z-index: auto;
  margin-top: -58px;
  margin-left: -54px;
  transform: none;
}

.pitch-player-card .pitch-rating {
  z-index: 100;
}

.pitch-player-card > img,
.pitch-player-card > .pitch-avatar-fallback {
  position: relative;
  z-index: 80;
}

.pitch-player-card > strong {
  position: relative;
  z-index: 60;
}

.pitch-player-card > small {
  position: relative;
  z-index: 40;
}

@media (min-width: 2400px) {
  .pitch-player-card {
    margin-top: -70px;
    margin-left: -70px;
  }
}

.team-selector-identity {
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
}

.team-selector-head .team-selector-identity h1,
.team-selector-head .team-selector-identity h2 {
  margin: 2px 0 1px;
}

.team-selector-head .team-selector-identity h2 {
  overflow: hidden;
  font-size: 34px;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 2400px) {
  .team-selector-head .team-selector-identity h2 {
    font-size: 47px;
  }
}

.team-selector-head .team-selector-identity p {
  margin: 0;
  color: #aebfc8;
  font-size: 15px;
  line-height: 1.35;
}

.team-selector-head .team-selector-meta i {
  margin: 0 5px;
  color: #718a98;
  font-style: normal;
}

@media (min-width: 2400px) {
  .team-selector-head .team-selector-identity p {
    font-size: 18px;
  }
}
.team-staff-stack {
  --staff-avatar-size: 44px;
  --staff-label-size: 12px;
  --staff-name-size: 17px;
  --staff-row-gap: 4px;
  display: grid;
  flex: 0 1 clamp(250px, 21vw, 350px);
  gap: var(--staff-row-gap);
  min-width: 0;
  margin-left: auto;
}
.team-selector-head .team-staff-stack {
  --staff-avatar-size: 39px;
  --staff-label-size: 11px;
  --staff-name-size: 16px;
  --staff-row-gap: 2px;
  flex-basis: clamp(235px, 19vw, 320px);
}
.team-staff-row {
  display: grid;
  grid-template-columns: var(--staff-avatar-size) minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.team-staff-row > span:last-child {
  display: grid;
  min-width: 0;
  line-height: 1.08;
}
.team-staff-row small {
  color: #8299a9;
  font-size: var(--staff-label-size);
  font-weight: 900;
  letter-spacing: .08em;
}
.team-staff-row b {
  overflow: hidden;
  color: #eaf3f1;
  font-size: var(--staff-name-size);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.team-staff-avatar {
  display: grid;
  place-items: center;
  width: var(--staff-avatar-size);
  height: var(--staff-avatar-size);
  overflow: hidden;
  border: 1px solid rgba(173, 255, 47, .25);
  border-radius: 50%;
  background: #173047;
}
.team-staff-avatar.coach-avatar {
  border-radius: 8px;
}
.team-staff-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.team-staff-avatar.coach-avatar img {
  object-fit: contain;
  object-position: center bottom;
}
.team-staff-avatar > i:not(.coach-staff-silhouette) {
  color: #d9ff83;
  font-size: calc(var(--staff-avatar-size) * .4);
  font-style: normal;
  font-weight: 900;
}
.coach-staff-silhouette {
  display: block;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 50% 31%, #547087 0 15%, transparent 16%),
    radial-gradient(ellipse at 50% 96%, #3b586e 0 36%, transparent 37%);
}
@media (max-width: 900px) {
  .team-staff-stack {
    flex-basis: 225px;
  }
}
@media (max-width: 760px) {
  .team-staff-stack {
    flex: 1 1 100%;
    width: 100%;
    margin-left: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 2400px) {
  .team-staff-stack {
    --staff-avatar-size: 54px;
    --staff-label-size: 15px;
    --staff-name-size: 21px;
    --staff-row-gap: 5px;
    flex-basis: clamp(330px, 20vw, 460px);
  }
  .team-selector-head .team-staff-stack {
    --staff-avatar-size: 48px;
    --staff-label-size: 14px;
    --staff-name-size: 20px;
    --staff-row-gap: 4px;
    flex-basis: clamp(310px, 18vw, 410px);
  }
}
.team-workbench-metrics .team-budget-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 18px;
}
.team-workbench-metrics .team-budget-metric > span {
  grid-column: 1 / -1;
}
.team-workbench-metrics .team-budget-metric > strong {
  color: var(--lime);
}
.team-workbench-metrics .team-budget-metric > em {
  color: #b9c9d1;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}
.team-workbench-metrics .team-budget-metric > em b {
  color: #f2f7f5;
  font-size: 15px;
}

/* Team identity now has two editable fields: team name and manager name. */
.team-profile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.team-profile-grid.team-password-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 760px) {
  .team-profile-grid,
  .team-profile-grid.team-password-grid {
    grid-template-columns: 1fr;
  }
}

/* Mobile settings pages must size to the viewport. These rules intentionally
   follow the desktop policy table so minimum columns cannot reopen a
   page-level horizontal scrollbar. */
@media (max-width: 760px) {
  .lineup-policy-page .lineup-policy-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lineup-policy-page .policy-control-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lineup-policy-page .team-visibility-table {
    overflow: visible;
  }

  .lineup-policy-page .team-visibility-table > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .lineup-policy-page .team-visibility-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    min-width: 0;
    padding: 12px;
  }

  .lineup-policy-page .team-visibility-row > form {
    display: block;
    grid-column: 1 / -1;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
  }

  .lineup-policy-page .visibility-switch {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .team-workbench-page {
    overflow-x: hidden;
  }

  .team-workbench-page .site-main {
    width: calc(100% - 24px);
    min-width: 0;
    padding-inline: 0;
  }

  .team-workbench-page .workbench-shell {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  .team-workbench-page .team-pitch-editor,
  .team-workbench-page .team-squad-panel,
  .team-workbench-page .team-tactics-panel {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    min-width: 0;
    contain: none;
  }

  .team-workbench-page .team-pitch-editor {
    align-self: auto;
    overflow-x: auto;
  }

  .team-workbench-page .team-squad-panel,
  .team-workbench-page .team-tactics-panel {
    align-self: auto;
    height: 560px;
  }
}

/* Filled players without a portrait use the same neutral football silhouette
   everywhere; empty lineup slots keep their positional text treatment. */
.team-roster-row .lineup-avatar-silhouette {
  width: 40px;
  height: 40px;
}

.team-roster-row .lineup-avatar-silhouette::before {
  top: 7px;
  width: 14px;
  height: 14px;
}

.team-roster-row .lineup-avatar-silhouette::after {
  bottom: -6px;
  width: 32px;
  height: 29px;
}

.team-bench-row .bench-card .lineup-avatar-silhouette {
  width: 32px;
  height: 32px;
}

.team-bench-row .bench-card .lineup-avatar-silhouette::before {
  top: 5px;
  width: 12px;
  height: 12px;
}

.team-bench-row .bench-card .lineup-avatar-silhouette::after {
  bottom: -5px;
  width: 26px;
  height: 24px;
}

@media (min-width: 2400px) {
  .team-roster-row .lineup-avatar-silhouette {
    width: 48px;
    height: 48px;
  }
}

/* Keep the effective lineup state and its source readable as separate facts. */
.lineup-policy-page .team-visibility-row {
  grid-template-columns: minmax(240px, 1fr) minmax(170px, .72fr) 280px;
  min-height: 76px;
}

.lineup-policy-page .visibility-status {
  display: inline-grid;
  grid-template-columns: 8px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.lineup-policy-page .visibility-status > span,
.lineup-policy-page .visibility-status b,
.lineup-policy-page .visibility-status small {
  display: block;
  min-width: 0;
}

.lineup-policy-page .visibility-status small {
  overflow: hidden;
  margin-top: 3px;
  color: #8fa4b2;
  font-size: 12px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lineup-policy-page .team-policy-name i img {
  object-fit: contain;
}

.lineup-policy-page .visibility-switch button {
  min-height: 38px;
  padding-inline: 8px;
  white-space: nowrap;
}

.lineup-policy-page .visibility-switch button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--lime);
  outline-offset: -2px;
}

@media (max-width: 760px) {
  .lineup-policy-page .team-visibility-row {
    grid-template-columns: minmax(180px, 1fr) minmax(150px, .75fr) 250px;
  }
}

@media (min-width: 2400px) {
  .lineup-policy-page .team-visibility-row {
    grid-template-columns: minmax(320px, 1fr) minmax(210px, .72fr) 330px;
  }

  .lineup-policy-page .visibility-status small {
    font-size: 14px;
  }
}
