/* =========================================================================
   FRANCHISE ELEMENT BANNERS — SQUAD + TRAINING FIX
   Element banners remain animated cosmetics, but on Franchise management
   cards they are perimeter effects only. The card's normal/special surface
   remains visible and all text stays completely clear.
   ========================================================================= */

/* Management cards: never let an elemental banner repaint the whole card. */
.franchise-squad-view .franchise-player-card[data-cosmetic-banner],
.franchise-training-card .franchise-player-card[data-cosmetic-banner] {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    /* Kill the element's full-surface fire/nature/etc background on these two
       screens only. The underlying Franchise card styling remains in charge. */
    background-image: none !important;
}

/* The animated element border itself stays behind the content. */
.franchise-squad-view .franchise-player-card[data-cosmetic-banner]::before,
.franchise-training-card .franchise-player-card[data-cosmetic-banner]::before {
    z-index: 0 !important;
    inset: 0 !important;
    padding: 2px !important;
    border-radius: inherit !important;
    opacity: .92;
}

/* Decorative flames/snowflakes/bolt/leaves are too intrusive on dense
   management cards. Keep the animated border, remove the floating symbols. */
.franchise-squad-view .franchise-player-card[data-cosmetic-banner]::after,
.franchise-training-card .franchise-player-card[data-cosmetic-banner]::after {
    display: none !important;
    content: none !important;
}

/* Every actual player-data child is guaranteed above the cosmetic layer. */
.franchise-squad-view .franchise-player-card[data-cosmetic-banner] > *,
.franchise-training-card .franchise-player-card[data-cosmetic-banner] > * {
    position: relative;
    z-index: 3 !important;
}

/* Give squad/training text a real safe zone inside the animated edge. */
.franchise-squad-view .franchise-player-card[data-cosmetic-banner] {
    padding: 10px 12px !important;
}

.franchise-training-card .franchise-player-card[data-cosmetic-banner] {
    padding: 12px 14px !important;
}

/* Tone down the management-card glow so four/eight element cards together
   don't turn the screen into a nightclub evacuation route. */
.franchise-squad-view .franchise-player-card[data-cosmetic-banner="fire"],
.franchise-training-card .franchise-player-card[data-cosmetic-banner="fire"] {
    box-shadow: 0 0 0 1px #fb923c80, 0 0 18px -10px #ef444477 !important;
}
.franchise-squad-view .franchise-player-card[data-cosmetic-banner="snow"],
.franchise-training-card .franchise-player-card[data-cosmetic-banner="snow"] {
    box-shadow: 0 0 0 1px #bae6fd99, 0 0 18px -10px #7dd3fc88 !important;
}
.franchise-squad-view .franchise-player-card[data-cosmetic-banner="lightning"],
.franchise-training-card .franchise-player-card[data-cosmetic-banner="lightning"] {
    box-shadow: 0 0 0 1px #67e8f999, 0 0 18px -9px #818cf888 !important;
}
.franchise-squad-view .franchise-player-card[data-cosmetic-banner="nature"],
.franchise-training-card .franchise-player-card[data-cosmetic-banner="nature"] {
    box-shadow: 0 0 0 1px #22c55e88, 0 0 18px -10px #16a34a77 !important;
}

/* ==========================================================================
   FRANCHISE ENGAGEMENT PACK
   ========================================================================== */
.franchise-matchday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.franchise-matchday-slot,.franchise-matchday-grid>article{min-width:0}.franchise-mini-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.franchise-mini-actions button{flex:1 1 130px}.franchise-tactic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.franchise-tactic-grid button{display:flex;flex-direction:column;gap:5px;min-height:86px;padding:12px;text-align:left;border:1px solid rgba(75,85,99,.7);border-radius:12px;background:rgba(3,7,18,.45)}.franchise-tactic-grid button strong{font-size:12px;color:#e5e7eb}.franchise-tactic-grid button small{font-size:9px;line-height:1.45;color:#6b7280}.franchise-tactic-grid button.is-selected{border-color:#818cf8;box-shadow:inset 0 0 0 1px rgba(129,140,248,.25),0 0 24px -18px #818cf8}.franchise-kickoff{width:100%;margin-top:18px;min-height:48px}.franchise-negotiation{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:16px}.franchise-offer-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px;border:1px solid rgba(129,140,248,.35);border-radius:12px;background:rgba(79,70,229,.09)}.franchise-incoming-offer{margin-bottom:14px}.franchise-challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.franchise-challenge-grid article{text-align:center;padding:22px}.franchise-challenge-grid h2{font-size:25px;margin:6px 0}.franchise-challenge-grid article>strong{font-size:28px;color:#f3f4f6}.franchise-allstars .franchise-release-title{text-align:center}.franchise-allstars .franchise-matchday-grid{margin:16px 0 22px}.franchise-halftime{max-width:900px;margin-inline:auto}.franchise-halftime>h2{font-size:30px}.franchise-training-focus,.franchise-milestone-choice{margin:14px 0}.franchise-milestone-choice{border-color:rgba(251,191,36,.35);background:linear-gradient(135deg,rgba(120,79,16,.12),rgba(17,24,39,.72))}
@media(max-width:900px){.franchise-matchday-grid,.franchise-tactic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.franchise-challenge-grid{grid-template-columns:1fr}.franchise-negotiation{grid-template-columns:1fr}}@media(max-width:560px){.franchise-matchday-grid,.franchise-tactic-grid{grid-template-columns:1fr}}


/* ==========================================================================
   FRANCHISE BANNER NORMALISATION + REPRESENTATIVE SIDES
   ========================================================================== */
/* Every Franchise player-card banner is cosmetic only. No banner may repaint
   the management card surface or push player data underneath itself. */
.franchise-shell .franchise-player-card[data-cosmetic-banner],
.franchise-shell .franchise-player-card[data-country-banner]{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    padding:12px 14px !important;
}
.franchise-shell .franchise-player-card[data-cosmetic-banner]{
    background:transparent !important;
    background-image:none !important;
}
.franchise-shell .franchise-player-card[data-cosmetic-banner]::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    border:2px solid var(--banner-c1,#818cf8) !important;
    border-radius:12px !important;
    background:linear-gradient(110deg,transparent 25%,color-mix(in srgb,var(--banner-c2,#22d3ee) 22%,transparent) 48%,transparent 68%) !important;
    opacity:.92 !important;
    box-shadow:inset 0 0 14px color-mix(in srgb,var(--banner-c1,#818cf8) 18%,transparent) !important;
    animation:franchise-banner-edge-sheen 5.5s ease-in-out infinite !important;
}
.franchise-shell .franchise-player-card[data-cosmetic-banner]::after{display:none !important;content:none !important;}
.franchise-shell .franchise-player-card[data-cosmetic-banner] > *,
.franchise-shell .franchise-player-card[data-country-banner] > :not(.country-banner-overlay){position:relative !important;z-index:3 !important;}
.franchise-shell .franchise-player-card[data-country-banner] > .country-banner-overlay{z-index:1 !important;padding:2px !important;opacity:.98 !important;}
@keyframes franchise-banner-edge-sheen{0%,15%{filter:brightness(.9)}45%{filter:brightness(1.35)}70%,100%{filter:brightness(1)}}

/* Navigation order is deliberately management-first, Legacy last. */
.franchise-nav-logical{grid-template-columns:repeat(9,minmax(0,1fr)) !important;}
@media(max-width:980px){.franchise-nav-logical{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}}
@media(max-width:560px){.franchise-nav-logical{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}

/* Representative-side identity cards. No public OVR is displayed. */
.franchise-rep-card{position:relative;overflow:hidden;isolation:isolate;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;border-width:1px !important;}
.franchise-rep-card>*{position:relative;z-index:2;}
.franchise-rep-card .franchise-rep-shine{position:absolute;z-index:1;inset:-40%;pointer-events:none;transform:rotate(18deg);animation:rep-card-shine 5.8s linear infinite;}
.franchise-rep-arl{border-color:#ef4444 !important;background:linear-gradient(135deg,#050505 0%,#121212 48%,#4a090d 100%) !important;box-shadow:inset 0 0 0 1px #ef444433,0 16px 40px -24px #ef444499 !important;}
.franchise-rep-arl .franchise-rep-shine{background:linear-gradient(90deg,transparent 38%,rgba(239,68,68,.30) 47%,rgba(255,255,255,.13) 50%,transparent 60%);}
.franchise-rep-yorkshire{border-color:#e5e7eb !important;background:linear-gradient(135deg,#f8fafc 0%,#e5e7eb 55%,#cbd5e1 100%) !important;color:#111827 !important;box-shadow:inset 0 0 0 1px #fff,0 16px 38px -25px #f8fafc !important;}
.franchise-rep-yorkshire .franchise-kicker,.franchise-rep-yorkshire .franchise-muted{color:#475569 !important;}.franchise-rep-yorkshire .franchise-rep-shine{background:linear-gradient(90deg,transparent 38%,rgba(255,255,255,.85) 49%,transparent 61%);}
.franchise-rep-lancashire{border-color:#f87171 !important;background:linear-gradient(135deg,#310709 0%,#7f1118 55%,#dc2626 100%) !important;box-shadow:inset 0 0 0 1px #fecaca33,0 16px 40px -24px #ef4444aa !important;}
.franchise-rep-lancashire .franchise-rep-shine{background:linear-gradient(90deg,transparent 38%,rgba(254,202,202,.30) 48%,rgba(255,255,255,.12) 51%,transparent 61%);}
.franchise-rep-result{display:grid;gap:5px;margin:16px 0;padding:14px;border-radius:10px;background:rgba(3,7,18,.45);}.franchise-rep-result strong{font-size:20px}.franchise-rep-result small{font-size:10px;letter-spacing:.08em}.franchise-rep-result.is-win strong{color:#86efac}.franchise-rep-result.is-loss strong{color:#fca5a5}
@keyframes rep-card-shine{0%{transform:translateX(-55%) rotate(18deg)}100%{transform:translateX(55%) rotate(18deg)}}
@media(prefers-reduced-motion:reduce){.franchise-rep-card .franchise-rep-shine,.franchise-shell .franchise-player-card[data-cosmetic-banner]::before{animation:none !important;}}

/* Country artwork repair: retain the original surface and a thin masked edge.
   A small, uncropped flag sits inside the bottom perimeter's reserved inset,
   so dragons, crosses, stars and crests do not vanish behind the centre mask. */
[data-country-banner]:has(> .country-banner-overlay),
.franchise-shell .franchise-player-card[data-country-banner]:has(> .country-banner-overlay),
.franchise-squad-view .franchise-player-card[data-country-banner]:has(> .country-banner-overlay) {
    padding-bottom: max(18px, var(--country-original-bottom, 0px)) !important;
}
[data-country-banner] > .country-banner-overlay,
.franchise-shell .franchise-player-card[data-country-banner] > .country-banner-overlay,
.franchise-squad-view .franchise-player-card[data-country-banner] > .country-banner-overlay {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    filter: none !important;
    opacity: 1 !important;
    z-index: 1 !important;
}
[data-country-banner] > .country-banner-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    border-radius: inherit;
    padding: var(--country-edge-width, 3px);
    background: var(--country-flag) center / 100% 100% no-repeat;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
}
.unr-shop-item .cosmetic-preview-card[data-country-banner] > .country-banner-overlay::after {
    content: "";
    position: absolute;
    width: 21.333px;
    height: 16px;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--country-flag) center / contain no-repeat;
    box-shadow: 0 0 0 1px #ffffff30;
}
[data-country-banner][data-card-surface="preview"],
[data-country-banner][data-card-surface="options"],
.franchise-player-card[data-country-banner],
.cosmetic-preview-card[data-country-banner] { --country-edge-width: 2px; }
/* The game's requested Japan edge marks complement the true central disc. */
[data-country-banner="japan"] > .country-banner-overlay::before {
    background-image: linear-gradient(#bc002d,#bc002d), linear-gradient(#bc002d,#bc002d), var(--country-flag);
    background-size: 30px var(--country-edge-width,3px), 30px var(--country-edge-width,3px), 100% 100%;
    background-position: center top, center bottom, center;
    background-repeat: no-repeat;
}

/* =========================================================================
   FINAL RELEASE POLISH · FITNESS + SAVED CHEMISTRY
   ========================================================================= */
.franchise-fitness {
    margin-top: 8px;
    display: grid;
    gap: 5px;
}
.franchise-fitness > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.franchise-fitness small {
    font-size: 9px;
    letter-spacing: .11em;
    font-weight: 900;
    color: #94a3b8;
}
.franchise-fitness strong {
    font-size: 10px;
    color: #e5e7eb;
}
.franchise-fitness-track {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(51,65,85,.75);
}
.franchise-fitness-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #22c55e;
    transition: width 180ms ease;
}
.franchise-fitness[data-fitness-band="managed"] .franchise-fitness-track span { background: #eab308; }
.franchise-fitness[data-fitness-band="tired"] .franchise-fitness-track span { background: #f97316; }
.franchise-fitness[data-fitness-band="drained"] .franchise-fitness-track span { background: #ef4444; }

.draft-history-chemistry .chemistry-panel {
    margin-top: 7px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.draft-history-chemistry .chemistry-panel-top {
    min-height: 16px;
    margin-bottom: 4px;
    justify-content: flex-end;
    font-size: 10px;
}
.draft-history-chemistry .chemistry-track { margin-top: 0; }

/* Responsive polish. Card artwork and country overlay layers remain independent. */
#app, #game-view, #game-view .grid > *, .franchise-shell { min-width: 0; }
#game-view :is(button, select, input) { max-width: 100%; }
#game-view :is(button, [onclick], summary) { touch-action: manipulation; }
#game-view :is(button, select, input, [tabindex]):focus-visible {
    outline: 2px solid #a5b4fc; outline-offset: 3px;
}
#game-view button { cursor: pointer; }
#game-view button:disabled { cursor: not-allowed; }
#game-view .draft-pitch [data-lineup-slot] { min-width: 0; overflow-wrap: anywhere; }
#game-view .draft-pitch [data-lineup-slot] > .text-lg { font-size: clamp(12px, 1.4vw, 18px); line-height: 1.25; }
.draft-reels > div { min-width: 0 !important; }
.draft-reels [id^="slot-"] { white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
.franchise-match-speed { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid #475569; border-radius: 12px; background: #0f172a; }
.franchise-match-speed button { min-width: 52px; min-height: 44px; border: 0; border-radius: 8px; }
.franchise-match-speed button[aria-pressed="true"] { color: #fff; background: #4f46e5; box-shadow: inset 0 0 0 1px #a5b4fc; }
.franchise-match-lineups { border-bottom: 1px solid #334155; padding: 10px 0; font-size: 12px; }
.franchise-match-lineups summary { cursor: pointer; padding: 8px 0; color: #c7d2fe; }
.franchise-match-lineups > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 12px 0; }
.franchise-match-lineups p { color: #94a3b8; line-height: 1.7; margin-top: 6px; }
.franchise-match-feed article > div { min-width: 0; overflow-wrap: anywhere; }
.franchise-match-feed article > strong { flex-shrink: 0; white-space: nowrap; }
.franchise-shell :is(.franchise-section-title,.franchise-actions,.franchise-offer-callout) { flex-wrap: wrap; }
.franchise-shell :is(h2,h3,strong,p) { overflow-wrap: anywhere; }
dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; }
@media (max-width: 650px) {
    #app { padding: 12px; gap: 16px; }
    #game-view { gap: 16px; }
    #game-view button, #game-view select { min-height: 44px; }
    #game-view select, #game-view input { font-size: 16px; }
    .draft-stage { gap: 16px; }
    .draft-stage > .grid { gap: 16px; }
    #game-view .draft-spinner-panel { padding: 18px 12px; min-height: 250px; }
    .draft-stage > .flex { flex-wrap: wrap; gap: 8px; }
    .draft-stage .lg\:col-span-7 { padding: 12px; min-height: 0; }
    .draft-stage .lg\:col-span-6 > .p-5 { padding: 12px; }
    #game-view .draft-pitch { padding: 8px; gap: 12px; min-height: 330px; }
    #game-view .draft-pitch > .grid { gap: 8px; margin-top: 0; }
    #game-view .draft-pitch > .grid-cols-3:first-of-type { grid-template-columns: 1fr 1.4fr 1fr; }
    #game-view .draft-pitch [data-lineup-slot] { padding: 8px 5px; border-radius: 10px; min-height: 66px; }
    #game-view .draft-pitch [data-lineup-slot] .draft-ovr { font-size: 16px; margin-top: 8px; }
    #game-view .draft-pitch [data-lineup-slot] > .tracking-wider { font-size: 9px; letter-spacing: 0; }
    #game-view .draft-pitch [data-lineup-slot] > .mt-2 { font-size: 9px; line-height: 1.4; }
    .draft-stage [data-card-surface="options"] { padding: 12px; }
    .draft-stage [data-card-surface="options"] > div { min-width: 0; gap: 12px; }
    .draft-stage [data-card-surface="options"] h4 { overflow-wrap: anywhere; }
    #modifier-spin-panel .flex { flex-wrap: wrap; }
    .franchise-shell { padding: 16px 12px; border-radius: 16px; }
    .franchise-live-score { gap: 8px; padding: 20px 8px; margin: 14px 0; }
    .franchise-live-score > div > strong { font-size: 12px; margin-top: 8px; }
    .franchise-live-numbers { font-size: clamp(26px, 7vw, 40px); }
    .franchise-live-numbers span { padding: 0 2px; }
    .franchise-match-clock { font-size: 20px; padding: 8px 12px; }
    .franchise-match-feed { height: 300px; margin: 16px 0; }
    .franchise-match-feed article { padding: 12px 6px; gap: 7px; font-size: 11px; }
    .franchise-momentum > div:first-child { flex-wrap: wrap; }
    .franchise-momentum small { order: 3; flex-basis: 100%; }
    .franchise-match-centre .franchise-actions { display: flex; gap: 12px; justify-content: space-between; }
    .franchise-match-lineups > div { grid-template-columns: 1fr; }
    .franchise-tactic-grid button small { font-size: 12px; color: #94a3b8; }
    .franchise-training-focus .franchise-tactic-grid { grid-template-columns: 1fr; }
    .franchise-training-intro { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    .franchise-match-feed .is-latest { animation: none; }
}
@media (max-width: 480px) {
    #game-view .draft-pitch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; }
    #game-view .draft-pitch > .grid { display: contents; }
    #game-view .draft-pitch > .grid > div:empty { display: none; }
    #game-view .draft-pitch [data-lineup-slot] { padding: 10px 8px; min-height: 82px; }
    #game-view .draft-pitch [data-lineup-slot] > .text-lg { font-size: 14px; }
}

@media (min-width: 360px) and (max-width: 650px) {
    .unr-shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .unr-shop-item { padding: 9px; gap: 10px; }
    .unr-shop-item .cosmetic-preview-wrap { padding: 6px; min-height: 106px; }
    .unr-shop-item .cosmetic-preview-card { padding: 9px 6px; gap: 6px; }
    .unr-shop-item .cosmetic-preview-ovr { min-width: 34px; font-size: 22px; padding-left: 4px; }
    .unr-shop-item .cosmetic-preview-card strong { font-size: 11px; }
    .unr-shop-item-head { flex-wrap: wrap; gap: 5px; }
}
/* Match Centre fills its own workspace; other game screens retain their widths. */
#app:has(.franchise-match-centre) { width: min(100%, 1296px); max-width: 1296px; }
#game-view .franchise-match-centre { width: 100%; max-width: 1248px; }
@media (min-width: 651px) {
    #game-view .franchise-match-centre { padding: clamp(24px, 3vw, 40px); }
    .franchise-match-centre .franchise-section-title h2 { font-size: clamp(28px, 3vw, 42px); }
    .franchise-match-centre .franchise-live-numbers { font-size: clamp(54px, 6vw, 88px); }
    .franchise-match-centre .franchise-live-score > div > strong { font-size: clamp(18px, 1.7vw, 24px); }
    .franchise-match-centre .franchise-live-score .franchise-team-badge { width: clamp(66px, 6vw, 88px); height: clamp(75px, 7vw, 100px); font-size: 24px; }
    .franchise-match-centre .franchise-match-feed { height: clamp(380px, 45vh, 520px); }
    .franchise-match-centre .franchise-match-feed article { font-size: clamp(14px, 1.25vw, 18px); padding: 16px; gap: 16px; }
    .franchise-match-centre .franchise-match-feed article > div > span { font-size: 13px; }
    .franchise-match-centre .franchise-match-feed .franchise-team-badge { width: 34px; height: 40px; font-size: 12px; flex-shrink: 0; }
    .franchise-match-centre .franchise-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
    .franchise-match-centre .franchise-actions button { min-height: 48px; padding: 12px 24px; font-size: 14px; }
    .franchise-match-centre .franchise-match-lineups { font-size: 14px; }
    .franchise-match-centre .franchise-momentum > div:first-child { font-size: 13px; }
    .franchise-match-centre .franchise-momentum small { font-size: 11px; }
}
@media (min-width: 1100px) {
    .franchise-match-centre .franchise-live-score { padding: 32px; }
    .franchise-match-centre .franchise-match-clock { font-size: 34px; }
    .franchise-match-centre .franchise-kicker { font-size: 12px; }
    .franchise-match-centre .franchise-actions button { min-height: 54px; font-size: 16px; }
}
/* Optional Tactical View: 16 SVG players and one ball, driven by saved events. */
.franchise-view-controls { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:14px 0; }
.franchise-view-controls button { min-height:44px; padding:10px 16px; font-size:13px; }
.franchise-pause { border:1px solid #64748b; border-radius:10px; background:#17243c; color:#e2e8f0; }
.franchise-pause[aria-pressed="true"] { border-color:#fbbf24; color:#fde68a; }
#game-view .franchise-tactical-view { padding:clamp(12px,2.2vw,32px); }
.tactical-scoreboard { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:20px; padding:18px 0; }
.tactical-scoreboard>div { display:flex; align-items:center; gap:12px; min-width:0; font-size:clamp(13px,1.5vw,21px); }
.tactical-scoreboard>div:last-child { justify-content:flex-end; text-align:right; }
.tactical-scoreboard>strong { font-size:clamp(28px,4vw,52px); white-space:nowrap; font-variant-numeric:tabular-nums; }
.tactical-pitch-wrap { position:relative; border:1px solid #49786e; border-radius:16px; overflow:hidden; background:#123e35; }
.tactical-pitch { width:100%; height:auto; display:block; aspect-ratio:1000/640; }
.pitch-grass { fill:#16483d; }
.pitch-markings { stroke:#d1e8df; stroke-width:2; opacity:.65; }
.pitch-posts { stroke:#fff; stroke-width:5; opacity:1; }
.pitch-labels { fill:#b4d5c8; font-size:13px; text-anchor:middle; letter-spacing:2px; }
.tactical-player circle { stroke:#082f49; stroke-width:3; fill:#67e8f9; }
.tactical-player text { fill:#082f49; font-family:Arial,sans-serif; font-size:12px; font-weight:700; pointer-events:none; }
.tactical-team-1 circle { fill:#fb923c; stroke:#431407; }
.tactical-team-1 text { fill:#431407; }
.tactical-ball ellipse { fill:#fff8c5; stroke:#172033; stroke-width:3; }
.tactical-ball path { stroke:#172033; stroke-width:1.5; }
.tactical-popup { position:absolute; left:50%; top:9%; transform:translateX(-50%); max-width:90%; padding:8px 14px; color:#f8fafc; background:#0f172aeb; border:1px solid #94a3b8; border-radius:8px; text-align:center; font-size:clamp(12px,1.5vw,19px); font-weight:800; pointer-events:none; }
.tactical-paused { position:absolute; bottom:12px; right:12px; background:#0f172ae6; color:#fde68a; padding:6px 12px; border-radius:6px; font-size:12px; letter-spacing:.1em; }
.tactical-popup[hidden],.tactical-paused[hidden] { display:none; }
.tactical-legend { display:flex; justify-content:space-between; gap:16px; margin:12px 0; font-size:clamp(12px,1.2vw,15px); }
.tactical-home-key { color:#67e8f9; }
.tactical-away-key { color:#fdba74; text-align:right; }
.tactical-phase { min-height:2.7em; color:#cbd5e1; font-size:clamp(12px,1.2vw,16px); margin:10px 0; }
.tactical-log { margin-top:20px; border-top:1px solid #475569; font-size:14px; }
.tactical-log summary { padding:14px 0; cursor:pointer; color:#c7d2fe; }
#tactical-event-log { max-height:320px; overflow-y:auto; }
#tactical-event-log p { margin:0; padding:12px 0; border-bottom:1px solid #334155; }
#tactical-event-log span { display:block; margin-top:4px; color:#94a3b8; font-size:12px; }
@media(max-width:650px) {
    .franchise-view-controls { gap:8px; }
    .franchise-view-controls .franchise-match-speed { flex:1; }
    .franchise-view-controls .franchise-match-speed button { flex:1; padding:8px; font-size:12px; }
    .franchise-view-controls>.franchise-pause { padding:8px 12px; }
    .tactical-scoreboard { gap:10px; padding:12px 0; }
    .tactical-scoreboard>div { flex-direction:column; justify-content:center; text-align:center; gap:6px; }
    .tactical-scoreboard>div:last-child { text-align:center; }
    .tactical-player circle { r:17px; stroke-width:4px; }
    .tactical-player text { font-size:15px; }
    .tactical-ball ellipse { rx:11px; ry:7px; }
    .tactical-legend { font-size:11px; gap:10px; }
    .franchise-tactical-view .franchise-actions button { min-height:44px; }
}


/* =========================================================================
   FINAL COUNTRY-BANNER BEHAVIOUR
   Store = border + small flag identifier. Equipped cards = border only.
   ========================================================================= */
[data-country-banner]:has(> .country-banner-overlay),
.franchise-shell .franchise-player-card[data-country-banner]:has(> .country-banner-overlay),
.franchise-squad-view .franchise-player-card[data-country-banner]:has(> .country-banner-overlay) {
    padding-bottom: var(--country-original-bottom, 0px) !important;
}
/* Keep the small full flag strictly inside shop previews. */
[data-country-banner] > .country-banner-overlay::after { content:none !important; }
.unr-shop-item .cosmetic-preview-card[data-country-banner] > .country-banner-overlay::after {
    content:"" !important;
    position:absolute;
    width:24px;
    height:16px;
    bottom:2px;
    left:50%;
    transform:translateX(-50%);
    background:var(--country-flag) center / contain no-repeat !important;
    border-radius:2px;
    box-shadow:0 0 0 1px rgba(255,255,255,.28),0 2px 7px rgba(0,0,0,.4);
}
/* Match Centre stays substantial on desktop while reflowing on phones. */
@media (min-width: 900px) {
    #app:has(.franchise-match-centre), #app:has(.franchise-tactical-view) { width:min(96vw,1400px); max-width:1400px; }
    #game-view .franchise-match-centre, #game-view .franchise-tactical-view { max-width:1360px; margin-inline:auto; }
}
@media (max-width: 650px) {
    .franchise-view-controls { align-items:stretch; }
    .franchise-view-controls > * { min-width:0; }
    .franchise-view-controls .franchise-match-speed { width:100%; }
    .franchise-match-centre .franchise-live-score { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
    .franchise-tactical-view { padding-inline:10px !important; }
    .tactical-pitch-wrap { border-radius:12px; }
}


/* =========================================================================
   TACTICAL VIEW · HIGHLIGHTS MODE
   Dashboard between key moments; pitch only appears for a live highlight.
   ========================================================================= */
.tactical-highlights-mode .tactical-mode-copy {
    margin-top: 5px;
    color: #8ea2c4;
    font-size: 12px;
}
.tactical-dashboard {
    min-height: 430px;
    display: grid;
    align-content: center;
    gap: 18px;
    padding: clamp(22px,4vw,54px);
    border: 1px solid #334766;
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(59,130,246,.10), transparent 42%),
        linear-gradient(160deg, rgba(14,30,55,.88), rgba(8,17,33,.94));
}
.tactical-dashboard[hidden], .tactical-highlight-shell[hidden] { display:none !important; }
.tactical-dashboard-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(100,116,139,.3);
}
.tactical-dashboard-head > div { display:grid; gap:5px; }
.tactical-dashboard-head span {
    color:#7dd3fc;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}
.tactical-dashboard-head strong {
    color:#f8fafc;
    font-size:clamp(18px,2.3vw,28px);
}
.tactical-dashboard-head small { color:#8193b2; font-size:12px; }
.tactical-stat-teamnames {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center;
    color:#e5e7eb;
}
.tactical-stat-teamnames strong:last-child { text-align:right; }
.tactical-stat-teamnames span {
    color:#64748b;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}
.tactical-stats-card {
    display:grid;
    gap:3px;
    border:1px solid rgba(71,85,105,.5);
    border-radius:14px;
    overflow:hidden;
    background:rgba(2,6,23,.38);
}
.tactical-stat-row {
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 72px;
    align-items:center;
    gap:15px;
    min-height:58px;
    padding:9px 16px;
    border-bottom:1px solid rgba(71,85,105,.28);
}
.tactical-stat-row:last-child { border-bottom:0; }
.tactical-stat-row > strong {
    font-size:clamp(18px,2vw,25px);
    font-variant-numeric:tabular-nums;
}
.tactical-stat-row > strong:last-child { text-align:right; }
.tactical-stat-row > div { min-width:0; text-align:center; }
.tactical-stat-row span {
    display:block;
    margin-bottom:7px;
    color:#aebbd0;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
}
.tactical-stat-track {
    position:relative;
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:#f9731642;
}
.tactical-stat-track i {
    position:absolute;
    inset:0 auto 0 0;
    display:block;
    border-radius:999px;
    background:linear-gradient(90deg,#38bdf8,#60a5fa);
    transition:width .45s ease;
}
.tactical-highlight-pulse {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    color:#7185a7;
    font-size:11px;
}
.tactical-highlight-pulse span {
    width:7px;height:7px;border-radius:50%;
    background:#60a5fa;
    box-shadow:0 0 12px #60a5fa99;
    animation:tactical-pulse 1.6s ease-in-out infinite;
}
@keyframes tactical-pulse { 50% { opacity:.35; transform:scale(.72); } }
.tactical-highlight-shell {
    border:1px solid #334766;
    border-radius:18px;
    overflow:hidden;
    background:#081321;
}
.tactical-highlight-bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 14px;
    border-bottom:1px solid rgba(71,85,105,.45);
    background:#0d1b30;
}
.tactical-highlight-bar span {
    color:#7dd3fc;
    font-size:9px;
    font-weight:950;
    letter-spacing:.14em;
}
.tactical-highlight-bar strong {
    font-size:13px;
    color:#eef6ff;
}
.tactical-highlights-mode .tactical-pitch-wrap { border:0; border-radius:0; }
.tactical-highlights-mode .tactical-pitch { aspect-ratio:1000/640; }
.tactical-highlights-mode .tactical-player,
.tactical-highlights-mode .tactical-ball {
    will-change: transform;
}
.tactical-highlights-mode .tactical-popup {
    top:7%;
    box-shadow:0 10px 35px rgba(0,0,0,.32);
}
@media (max-width:650px) {
    .tactical-dashboard { min-height:360px; padding:18px 12px; gap:13px; }
    .tactical-dashboard-head { align-items:flex-start; flex-direction:column; gap:7px; }
    .tactical-stat-row { grid-template-columns:54px minmax(0,1fr) 54px; gap:8px; min-height:50px; padding:7px 9px; }
    .tactical-stat-row > strong { font-size:17px; }
    .tactical-stat-row span { font-size:10px; }
    .tactical-stat-teamnames { gap:7px; font-size:11px; }
    .tactical-highlight-bar { padding:8px 10px; }
}
@media (prefers-reduced-motion:reduce) {
    .tactical-highlight-pulse span { animation:none; }
    .tactical-stat-track i { transition:none; }
}


/* ========================================================================== 
   V2.1.1 MATCHDAY COACHING + MATCH CENTRE DEPTH
   ========================================================================== */
.franchise-matchday-v211 .franchise-kickoff{margin-top:18px;width:100%;min-height:52px}
.franchise-coaching-v211 .franchise-section-title{align-items:flex-start}
.unr-v211-morale{min-width:112px;padding:10px 14px;border:1px solid rgba(99,102,241,.35);border-radius:14px;background:rgba(15,23,42,.72);text-align:center}.unr-v211-morale small,.unr-v211-morale span{display:block;font-size:9px;letter-spacing:.12em;color:#94a3b8}.unr-v211-morale strong{display:block;font-size:28px;line-height:1.05;color:#f8fafc}
.unr-v211-opponent{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid rgba(71,85,105,.5);border-radius:14px;background:rgba(2,6,23,.45)}.unr-v211-opponent span{font-size:9px;letter-spacing:.14em;color:#64748b}.unr-v211-opponent strong{flex:1}.unr-v211-opponent small{color:#a5b4fc;font-weight:800}
.unr-v211-tactics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.unr-v211-tactic{padding:12px;border:1px solid rgba(51,65,85,.75);border-radius:14px;background:rgba(15,23,42,.5)}.unr-v211-tactic>b{display:block;margin-bottom:9px;font-size:9px;letter-spacing:.13em;color:#94a3b8}.unr-v211-tactic>div{display:flex;flex-wrap:wrap;gap:6px}.unr-v211-tactic button{flex:1 1 auto;min-height:34px;padding:7px 9px;border:1px solid rgba(71,85,105,.65);border-radius:9px;background:rgba(2,6,23,.55);font-size:10px;color:#cbd5e1}.unr-v211-tactic button.is-selected{border-color:#818cf8;background:rgba(79,70,229,.18);color:#eef2ff;box-shadow:inset 0 0 0 1px rgba(129,140,248,.18)}
.unr-v211-commands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.unr-v211-command{display:flex;flex-direction:column;gap:7px;padding:11px;border:1px solid rgba(51,65,85,.75);border-radius:12px;background:rgba(15,23,42,.45)}.unr-v211-command span{font-size:9px;letter-spacing:.1em;color:#94a3b8}.unr-v211-command select{width:100%;padding:8px;border:1px solid rgba(71,85,105,.7);border-radius:8px;background:#0b1220;color:#e2e8f0}
.unr-v211-talk{margin-top:14px;padding:14px;border:1px solid rgba(99,102,241,.28);border-radius:16px;background:linear-gradient(135deg,rgba(30,41,59,.62),rgba(15,23,42,.42))}.unr-v211-talk>.franchise-section-title{margin-bottom:10px}.unr-v211-talk>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.unr-v211-talk button{display:flex;flex-direction:column;gap:5px;padding:11px;text-align:left;border:1px solid rgba(71,85,105,.6);border-radius:11px;background:rgba(2,6,23,.5)}.unr-v211-talk button strong{font-size:11px}.unr-v211-talk button small{font-size:9px;line-height:1.4;color:#94a3b8}.unr-v211-talk button.is-selected{border-color:#22d3ee;background:rgba(8,145,178,.11);box-shadow:inset 0 0 0 1px rgba(34,211,238,.15)}
.match-analysis-v9 .analysis-table{max-height:620px;overflow:auto}.match-analysis-v9 .analysis-read{border-left:3px solid #818cf8}
@media(max-width:900px){.unr-v211-tactics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unr-v211-commands,.unr-v211-talk>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.unr-v211-tactics-grid,.unr-v211-commands,.unr-v211-talk>div:last-child{grid-template-columns:1fr}.unr-v211-morale{min-width:86px}}


/* V2.1.1 COACHING ROOM POLISH */
.franchise-coaching-v211{--coach-blue:#168cff;--coach-cyan:#20d5ff;--coach-violet:#7c4dff;--coach-surface:rgba(10,24,48,.88);background:radial-gradient(circle at 88% 12%,rgba(124,77,255,.20),transparent 30%),radial-gradient(circle at 12% 24%,rgba(22,140,255,.13),transparent 28%),linear-gradient(155deg,#061226 0%,#07142a 54%,#090d24 100%)!important;border-color:rgba(32,213,255,.28)!important;box-shadow:0 24px 70px -40px rgba(22,140,255,.65),inset 0 1px 0 rgba(255,255,255,.035)}
.franchise-coaching-v211 .unr-v211-coaching-head{margin-bottom:12px}.franchise-coaching-v211 .unr-v211-coaching-head h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}.franchise-coaching-v211 .franchise-kicker{color:#54c8ff}.franchise-coaching-v211 .franchise-muted{color:#8da9c9}
.franchise-coaching-v211 .unr-v211-morale{border-color:rgba(32,213,255,.45);background:linear-gradient(145deg,rgba(22,140,255,.14),rgba(124,77,255,.10));box-shadow:inset 0 0 22px rgba(22,140,255,.06)}.franchise-coaching-v211 .unr-v211-morale strong{color:#fff;text-shadow:0 0 18px rgba(32,213,255,.28)}
.franchise-coaching-v211 .unr-v211-opponent{border-color:rgba(72,149,220,.28);background:linear-gradient(90deg,rgba(11,29,56,.92),rgba(13,20,48,.72));box-shadow:inset 3px 0 0 #168cff}.franchise-coaching-v211 .unr-v211-opponent span{color:#6faee8}.franchise-coaching-v211 .unr-v211-opponent small{color:#65d9ff}
.unr-v211-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.unr-v211-plan-group{min-width:0;padding:14px;border:1px solid rgba(77,139,205,.25);border-radius:16px;background:linear-gradient(155deg,rgba(13,31,59,.94),rgba(9,18,40,.82));box-shadow:0 16px 30px -26px rgba(22,140,255,.7)}
.unr-v211-plan-title{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.unr-v211-plan-title span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#36b8ff}.unr-v211-plan-title strong{font-size:16px;color:#f7fbff}
.franchise-coaching-v211 .unr-v211-tactic{padding:0 0 12px;margin:0 0 12px;border:0;border-bottom:1px solid rgba(80,126,176,.18);border-radius:0;background:transparent}.franchise-coaching-v211 .unr-v211-tactic:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.unr-v211-tactic-head{margin-bottom:7px}.unr-v211-tactic-head b{display:block;font-size:9px;letter-spacing:.12em;color:#a7c4df}.unr-v211-tactic-head small{display:block;margin-top:2px;min-height:24px;font-size:9px;line-height:1.35;color:#6685a5}
.franchise-coaching-v211 .unr-v211-tactic>div:last-child{display:flex;gap:5px;flex-wrap:wrap}.franchise-coaching-v211 .unr-v211-tactic button{position:relative;flex:1 1 70px;min-height:34px;padding:7px 8px;border:1px solid rgba(68,133,194,.48);border-radius:9px;background:rgba(12,35,65,.82);color:#bcd2e8;font-size:10px;font-weight:800;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.franchise-coaching-v211 .unr-v211-tactic button:hover{transform:translateY(-1px);border-color:rgba(32,213,255,.7);background:rgba(15,52,91,.95)}.franchise-coaching-v211 .unr-v211-tactic button.is-selected{border-color:#46c7ff;background:linear-gradient(135deg,rgba(22,140,255,.46),rgba(76,85,210,.38));color:#fff;box-shadow:inset 0 0 0 1px rgba(173,230,255,.22),0 0 18px -9px rgba(32,213,255,.9)}.franchise-coaching-v211 .unr-v211-tactic button.is-selected:before{content:'';position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:#4de1ff;box-shadow:0 0 8px #4de1ff}
.unr-v211-role-wrap{margin-top:12px;padding:14px;border:1px solid rgba(124,77,255,.25);border-radius:16px;background:linear-gradient(110deg,rgba(24,25,63,.78),rgba(10,28,53,.78))}.franchise-coaching-v211 .unr-v211-commands{margin:0;gap:8px}.franchise-coaching-v211 .unr-v211-command{padding:10px;border-color:rgba(93,119,180,.28);background:rgba(5,16,35,.52)}.franchise-coaching-v211 .unr-v211-command span{color:#7fa9d0}.franchise-coaching-v211 .unr-v211-command select{border-color:rgba(66,139,207,.5);background:#07172d;color:#f1f7ff}
.franchise-coaching-v211 .unr-v211-talk{margin-top:12px;padding:14px;border-color:rgba(32,213,255,.28);background:linear-gradient(135deg,rgba(9,33,61,.84),rgba(28,19,63,.64))}.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.franchise-coaching-v211 .unr-v211-talk button{min-height:72px;padding:10px 12px;border-color:rgba(72,139,200,.35);background:rgba(6,21,43,.72);transition:.14s ease}.franchise-coaching-v211 .unr-v211-talk button:hover{border-color:#46c7ff;background:rgba(12,46,79,.88)}.franchise-coaching-v211 .unr-v211-talk button strong{color:#f4f9ff;font-size:11px}.franchise-coaching-v211 .unr-v211-talk button small{color:#83a5c6}.franchise-coaching-v211 .unr-v211-talk button.is-selected{border-color:#5ce1ff;background:linear-gradient(135deg,rgba(16,125,196,.30),rgba(88,61,190,.26));box-shadow:inset 3px 0 0 #39d7ff,0 0 18px -12px #39d7ff}
.unr-v211-coaching-actions{margin-top:14px}.unr-v211-coaching-actions .franchise-primary{background:linear-gradient(135deg,#147dff,#13c7f4)!important;border-color:#58dcff!important;box-shadow:0 10px 26px -15px rgba(32,213,255,.9)!important}.unr-v211-coaching-actions .franchise-primary:disabled{filter:saturate(.35);opacity:.45;box-shadow:none!important}
@media(max-width:1000px){.unr-v211-plan-grid{grid-template-columns:1fr}.unr-v211-tactic-head small{min-height:0}.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:1fr}.unr-v211-plan-group,.unr-v211-role-wrap,.franchise-coaching-v211 .unr-v211-talk{padding:11px}}

/* V2.1.1 COACHING ROOM · TABBED TACTICS */
.franchise-coaching-v211{max-width:1080px!important;margin-inline:auto}.franchise-coaching-v211 .unr-v211-coaching-head{margin-bottom:10px}.franchise-coaching-v211 .unr-v211-coaching-head .franchise-muted{display:none}.unr-v211-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 10px;padding:5px;border:1px solid rgba(57,146,220,.28);border-radius:14px;background:rgba(3,14,32,.72)}.unr-v211-tabs button{min-height:42px;border:1px solid transparent;border-radius:10px;background:transparent;color:#7fa9d0;font-size:11px;font-weight:900;letter-spacing:.1em}.unr-v211-tabs button:hover{background:rgba(22,140,255,.12);color:#d9f4ff}.unr-v211-tabs button.is-active{border-color:rgba(72,208,255,.62);background:linear-gradient(135deg,rgba(22,140,255,.55),rgba(94,67,220,.42));color:#fff;box-shadow:0 7px 20px -13px #20d5ff,inset 0 0 0 1px rgba(255,255,255,.08)}
.unr-v211-tab-panel{padding:15px;border:1px solid rgba(60,157,226,.30);border-radius:17px;background:linear-gradient(145deg,rgba(11,32,62,.96),rgba(8,18,42,.9));box-shadow:0 18px 36px -30px rgba(32,213,255,.9)}.unr-v211-tab-title{margin-bottom:12px;color:#53d9ff;font-size:10px;font-weight:950;letter-spacing:.18em}.unr-v211-tab-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.franchise-coaching-v211 .unr-v211-tab-options .unr-v211-tactic{margin:0;padding:11px 12px;border:1px solid rgba(66,126,186,.22);border-radius:12px;background:rgba(5,20,42,.58)}.franchise-coaching-v211 .unr-v211-tab-options .unr-v211-tactic>b{display:block;margin-bottom:8px;color:#a9c8e6;font-size:9px;letter-spacing:.12em}.franchise-coaching-v211 .unr-v211-tab-options .unr-v211-tactic>div{display:flex;flex-wrap:wrap;gap:5px}.franchise-coaching-v211 .unr-v211-tab-options .unr-v211-tactic button{flex:1 1 86px;min-height:35px;padding:7px 8px;border:1px solid rgba(67,132,194,.46);border-radius:8px;background:rgba(10,34,64,.82);color:#bdd4ea;font-size:10px;font-weight:850}.franchise-coaching-v211 .unr-v211-tab-options .unr-v211-tactic button.is-selected{border-color:#55d8ff;background:linear-gradient(135deg,rgba(22,140,255,.52),rgba(93,70,218,.40));color:#fff;box-shadow:inset 0 -2px 0 #4ce1ff,0 0 16px -10px #4ce1ff}
.franchise-coaching-v211 .unr-v211-role-wrap{margin-top:10px;padding:12px}.franchise-coaching-v211 .unr-v211-role-wrap .unr-v211-plan-title{margin-bottom:8px}.franchise-coaching-v211 .unr-v211-commands{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.franchise-coaching-v211 .unr-v211-command{padding:9px}.franchise-coaching-v211 .unr-v211-talk{margin-top:10px;padding:12px}.franchise-coaching-v211 .unr-v211-talk>.franchise-section-title{margin-bottom:8px}.franchise-coaching-v211 .unr-v211-talk .franchise-muted{display:none}.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.franchise-coaching-v211 .unr-v211-talk button{min-height:44px;justify-content:center;padding:8px 10px}.franchise-coaching-v211 .unr-v211-talk button small{display:none}.franchise-coaching-v211 .unr-v211-talk button strong{font-size:10px}.unr-v211-coaching-actions{margin-top:10px}
@media(max-width:760px){.unr-v211-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.unr-v211-tab-options{grid-template-columns:1fr}.franchise-coaching-v211 .unr-v211-commands{grid-template-columns:1fr}.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.unr-v211-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.unr-v211-tabs button{min-height:40px}.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:1fr}}

/* V2.1.1 COACHING ROOM · SIX-OPTION TAB BALANCE + COMPACT TEAM TALK */
.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.franchise-coaching-v211 .unr-v211-talk button{min-height:58px;padding:11px 14px}
.franchise-coaching-v211 .unr-v211-talk button strong{font-size:11px;letter-spacing:.015em}
@media(max-width:760px){.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:1fr}}


/* V2.1.1 LIVE + HALF-TIME COACHING */
.unr-v211-fixed-talks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.unr-v211-fixed-talks button{min-height:58px;border:1px solid rgba(72,139,200,.42);border-radius:10px;background:rgba(7,24,48,.82);color:#dceeff;font-size:11px;font-weight:900;letter-spacing:.03em}
.unr-v211-fixed-talks button:hover{border-color:#4fdcff;background:rgba(13,49,82,.92)}
.unr-v211-fixed-talks button.is-selected{border-color:#55d8ff;background:linear-gradient(135deg,rgba(22,140,255,.52),rgba(93,70,218,.40));color:#fff;box-shadow:inset 0 -2px 0 #4ce1ff,0 0 18px -11px #4ce1ff}
.unr-v211-halftime-coaching,.unr-v211-halftime-talk{margin-top:12px}
.unr-v211-halftime-coaching .unr-v211-tabs,.unr-v211-live-coaching .unr-v211-tabs{margin-top:10px}
.unr-v211-halftime-coaching .unr-v211-tab-panel,.unr-v211-live-coaching .unr-v211-tab-panel{margin-top:0}
.unr-v211-live-coaching{max-width:1080px!important;margin-inline:auto}
.unr-v211-live-coaching .franchise-halftime-scorebar{margin:12px 0}
.unr-v211-live-coaching .unr-v211-coaching-actions{justify-content:flex-end;gap:10px}
.franchise-halftime-v11 .unr-v211-tab-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.franchise-halftime-v11 .unr-v211-tactic{padding:11px 12px;border:1px solid rgba(66,126,186,.22);border-radius:12px;background:rgba(5,20,42,.58)}
.franchise-halftime-v11 .unr-v211-tactic>b{display:block;margin-bottom:8px;color:#a9c8e6;font-size:9px;letter-spacing:.12em}
.franchise-halftime-v11 .unr-v211-tactic>div{display:flex;flex-wrap:wrap;gap:5px}
.franchise-halftime-v11 .unr-v211-tactic button{flex:1 1 86px;min-height:35px;padding:7px 8px;border:1px solid rgba(67,132,194,.46);border-radius:8px;background:rgba(10,34,64,.82);color:#bdd4ea;font-size:10px;font-weight:850}
.franchise-halftime-v11 .unr-v211-tactic button.is-selected{border-color:#55d8ff;background:linear-gradient(135deg,rgba(22,140,255,.52),rgba(93,70,218,.40));color:#fff;box-shadow:inset 0 -2px 0 #4ce1ff}
@media(max-width:760px){.unr-v211-fixed-talks{grid-template-columns:repeat(2,minmax(0,1fr))}.franchise-halftime-v11 .unr-v211-tab-options{grid-template-columns:1fr}}
@media(max-width:480px){.unr-v211-fixed-talks{grid-template-columns:1fr}}

/* V2.1.1 tactical rework: fixed four talks + live substitutions */
.franchise-coaching-v211 .unr-v211-talk>div:last-child{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.franchise-coaching-v211 .unr-v211-talk button{min-height:58px!important}
.unr-v211-live-subs{margin-top:12px}
.unr-v211-live-subs .franchise-halftime-lineup-grid{max-height:330px;overflow:auto}
@media(max-width:760px){.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.franchise-coaching-v211 .unr-v211-talk>div:last-child{grid-template-columns:1fr!important}}

/* =========================================================================
   TACTICAL VIEW V11 · MATCH ANALYSIS REDESIGN
   ========================================================================= */
.match-analysis-v11{--analysis-line:rgba(105,150,205,.22);padding:14px!important;background:radial-gradient(circle at 14% 4%,color-mix(in srgb,var(--match-home) 11%,transparent),transparent 27%),radial-gradient(circle at 86% 7%,color-mix(in srgb,var(--match-away) 10%,transparent),transparent 28%),linear-gradient(155deg,#061226,#07162c 55%,#050c1d)!important}
.match-analysis-v11 .analysis-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}.match-analysis-v11 .analysis-top h2{margin:2px 0 0;font-size:clamp(23px,3vw,34px);letter-spacing:-.035em}.match-analysis-v11 .franchise-view-controls{margin:6px 0 8px}
.match-analysis-v11 .analysis-scorebar{min-height:84px;margin:0 0 9px;padding:8px 16px;border:1px solid var(--analysis-line);border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--match-home) 10%,#071426),rgba(5,13,29,.92) 45% 55%,color-mix(in srgb,var(--match-away) 10%,#071426));box-shadow:0 14px 34px -30px #000}
.match-analysis-v11 .analysis-scorebar>div{gap:9px}.match-analysis-v11 .analysis-scorebar>div>strong{font-size:clamp(11px,1.3vw,15px)}.match-analysis-v11 #analysis-score{font-size:clamp(30px,5vw,48px);letter-spacing:-.05em}
.match-analysis-v11 .analysis-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.match-analysis-v11 .analysis-section-head>span{font-size:10px;font-weight:950;letter-spacing:.15em;color:#8edbff}.match-analysis-v11 .analysis-section-head>small{font-size:8px;font-weight:850;letter-spacing:.12em;color:#526c91}
.match-analysis-v11 .analysis-live-card,.match-analysis-v11 .analysis-control-card,.match-analysis-v11 .analysis-coach-card,.match-analysis-v11 .analysis-key-card,.match-analysis-v11 .analysis-detail-card,.match-analysis-v11 .analysis-moments-card{border:1px solid var(--analysis-line);border-radius:14px;background:linear-gradient(150deg,rgba(11,29,55,.84),rgba(5,14,31,.82));box-shadow:0 16px 34px -31px #000}
.match-analysis-v11 .analysis-live-card{padding:11px 13px;margin-bottom:9px;border-left:3px solid #32c8ff}.match-analysis-v11 .analysis-reads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.match-analysis-v11 .analysis-read-item{min-width:0;padding:8px 10px;border-radius:9px;background:rgba(3,10,24,.55);border:1px solid rgba(82,126,177,.16)}.match-analysis-v11 .analysis-read-item span{display:block;margin-bottom:3px;font-size:8px;font-weight:950;letter-spacing:.13em;color:#6f93bc}.match-analysis-v11 .analysis-read-item strong{display:block;font-size:11px;line-height:1.35;color:#e7f1ff}.match-analysis-v11 .analysis-read-item.is-home{box-shadow:inset 2px 0 0 var(--match-home)}.match-analysis-v11 .analysis-read-item.is-away{box-shadow:inset 2px 0 0 var(--match-away)}
.match-analysis-v11 .analysis-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:9px;margin-bottom:9px}.match-analysis-v11 .analysis-control-card,.match-analysis-v11 .analysis-coach-card{padding:12px 14px}
.match-analysis-v11 .analysis-control-row{margin:9px 0}.match-analysis-v11 .analysis-control-row>div{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:8px;margin-bottom:5px}.match-analysis-v11 .analysis-control-row strong{font-size:16px;font-variant-numeric:tabular-nums}.match-analysis-v11 .analysis-control-row strong:last-child{text-align:right}.match-analysis-v11 .analysis-control-row span{text-align:center;font-size:9px;font-weight:900;letter-spacing:.12em;color:#91a7c5}.match-analysis-v11 .analysis-control-row>i{position:relative;display:block;height:11px;border-radius:999px;overflow:hidden;background:var(--match-away);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.match-analysis-v11 .analysis-control-row>i:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--home-pct);background:var(--match-home);transition:width .35s ease}.match-analysis-v11 .analysis-control-row>i:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.65)}
.match-analysis-v11 .analysis-approach{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;margin-bottom:7px;border-radius:9px;background:rgba(2,8,20,.55)}.match-analysis-v11 .analysis-approach span,.match-analysis-v11 .analysis-coach-read span{font-size:8px;font-weight:900;letter-spacing:.11em;color:#718cac}.match-analysis-v11 .analysis-approach strong{font-size:11px;text-align:right;color:#fff}.match-analysis-v11 .analysis-coach-read{display:grid;gap:3px;padding:7px 9px;margin-top:6px;border-radius:9px;background:rgba(2,8,20,.42)}.match-analysis-v11 .analysis-coach-read strong{font-size:10px;line-height:1.3}.match-analysis-v11 .analysis-coach-read.is-good{border-left:2px solid #34d399}.match-analysis-v11 .analysis-coach-read.is-good span{color:#6ee7b7}.match-analysis-v11 .analysis-coach-read.is-bad{border-left:2px solid #fb7185}.match-analysis-v11 .analysis-coach-read.is-bad span{color:#fda4af}.match-analysis-v11 .analysis-adjust{width:100%;margin-top:9px;min-height:34px;border:1px solid rgba(49,197,255,.45);border-radius:9px;background:linear-gradient(90deg,rgba(8,145,178,.2),rgba(79,70,229,.18));font-size:9px;font-weight:950;letter-spacing:.12em;color:#dff8ff}
.match-analysis-v11 .analysis-key-card{padding:11px 14px;margin-bottom:9px}.match-analysis-v11 .analysis-key-head,.match-analysis-v11 .analysis-key-row{display:grid;grid-template-columns:minmax(75px,1fr) minmax(130px,1.2fr) minmax(75px,1fr);align-items:center;text-align:center}.match-analysis-v11 .analysis-key-head{padding:0 8px 7px}.match-analysis-v11 .analysis-key-head strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-analysis-v11 .analysis-key-head strong:first-child{text-align:left}.match-analysis-v11 .analysis-key-head strong:last-child{text-align:right}.match-analysis-v11 .analysis-key-head span{font-size:8px;letter-spacing:.12em;color:#536b8b}.match-analysis-v11 .analysis-key-row{min-height:35px;padding:5px 8px;border-top:1px solid rgba(82,126,177,.13)}.match-analysis-v11 .analysis-key-row strong{font-size:17px;font-variant-numeric:tabular-nums;color:#f6faff}.match-analysis-v11 .analysis-key-row strong:first-child{text-align:left}.match-analysis-v11 .analysis-key-row strong:last-child{text-align:right}.match-analysis-v11 .analysis-key-row span{font-size:9px;font-weight:850;letter-spacing:.07em;color:#91a7c5}
.match-analysis-v11 .analysis-detail-card,.match-analysis-v11 .analysis-moments-card{padding:12px 14px;margin-top:9px}.match-analysis-v11 .analysis-detail-tabs{display:flex;gap:5px;margin-bottom:8px}.match-analysis-v11 .analysis-detail-tabs button{flex:1;min-width:0;padding:7px 5px;border:1px solid rgba(71,104,146,.28);border-radius:8px;background:rgba(2,8,20,.45);font-size:8px;font-weight:900;letter-spacing:.08em;color:#7086a5}.match-analysis-v11 .analysis-detail-tabs button.is-active{border-color:#39c6ff;background:rgba(14,165,233,.12);color:#dff8ff}.match-analysis-v11 .analysis-detail-body{overflow:visible!important;max-height:none!important}.match-analysis-v11 .match-analysis-row{min-height:34px;padding:5px 8px}.match-analysis-v11 .match-analysis-row strong{font-size:14px}.match-analysis-v11 .match-analysis-row span{font-size:9px}
.match-analysis-v11 .analysis-moments{display:grid;gap:3px}.match-analysis-v11 .analysis-moment{display:grid;grid-template-columns:42px 10px 1fr;align-items:center;gap:8px;min-height:38px;padding:4px 7px;border-radius:8px}.match-analysis-v11 .analysis-moment>strong{font-size:11px;color:#8ba5c7;text-align:right}.match-analysis-v11 .analysis-moment>i{width:7px;height:7px;border-radius:50%;background:#57708f;box-shadow:0 0 0 3px rgba(87,112,143,.12)}.match-analysis-v11 .analysis-moment span{display:grid}.match-analysis-v11 .analysis-moment b{font-size:10px;color:#e6f0ff}.match-analysis-v11 .analysis-moment small{font-size:9px;color:#7086a5}.match-analysis-v11 .analysis-moment.is-score{background:linear-gradient(90deg,rgba(34,211,238,.08),transparent)}.match-analysis-v11 .analysis-moment.is-score>i{background:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.14),0 0 12px rgba(34,211,238,.25)}.match-analysis-v11 .analysis-moment.is-score b{color:#c9f7ff}
.match-analysis-v11 .tactical-log{margin-top:9px}.match-analysis-v11 .franchise-match-actions{margin-top:9px}
@media(max-width:820px){.match-analysis-v11 .analysis-dashboard-grid{grid-template-columns:1fr}.match-analysis-v11 .analysis-reads{grid-template-columns:1fr}.match-analysis-v11 .analysis-scorebar{min-height:76px}.match-analysis-v11 .analysis-key-head,.match-analysis-v11 .analysis-key-row{grid-template-columns:70px minmax(110px,1fr) 70px}}
@media(max-width:520px){.match-analysis-v11{padding:9px!important}.match-analysis-v11 .analysis-top{align-items:flex-start}.match-analysis-v11 .analysis-top h2{font-size:24px}.match-analysis-v11 .analysis-scorebar{padding:7px 8px}.match-analysis-v11 .analysis-scorebar>div>strong{font-size:9px}.match-analysis-v11 .analysis-control-card,.match-analysis-v11 .analysis-coach-card,.match-analysis-v11 .analysis-key-card,.match-analysis-v11 .analysis-detail-card,.match-analysis-v11 .analysis-moments-card{padding:10px}.match-analysis-v11 .analysis-key-head,.match-analysis-v11 .analysis-key-row{grid-template-columns:60px minmax(100px,1fr) 60px}.match-analysis-v11 .analysis-key-row strong{font-size:15px}.match-analysis-v11 .analysis-detail-tabs{display:grid;grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.match-analysis-v11 .analysis-control-row>i:before{transition:none}}


/* TACTICAL VIEW V11.1 · readable stat rows + working tabs */
.match-analysis-v11 .analysis-detail-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 12px}
.match-analysis-v11 .analysis-detail-tabs button{min-height:36px;padding:8px 10px;font-size:9px;line-height:1.2;white-space:nowrap}
.match-analysis-v11 .analysis-detail-body{display:grid;gap:0;border:1px solid rgba(82,126,177,.14);border-radius:10px;overflow:hidden!important}
.match-analysis-v11 .analysis-stat-row{display:grid;grid-template-columns:minmax(70px,1fr) minmax(180px,1.4fr) minmax(70px,1fr);align-items:center;gap:18px;min-height:42px;padding:8px 14px;border-bottom:1px solid rgba(82,126,177,.13)}
.match-analysis-v11 .analysis-stat-row:last-child{border-bottom:0}
.match-analysis-v11 .analysis-stat-row>strong{font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums;color:#f4f8ff}
.match-analysis-v11 .analysis-stat-row>strong:first-child{text-align:left}
.match-analysis-v11 .analysis-stat-row>strong:last-child{text-align:right}
.match-analysis-v11 .analysis-stat-row>span{display:block;text-align:center;font-size:10px;line-height:1.35;font-weight:850;letter-spacing:.055em;color:#9bb0ca;white-space:normal}
.match-analysis-v11 .analysis-key-row{gap:18px;padding:7px 12px}
.match-analysis-v11 .analysis-key-row span{line-height:1.3;white-space:normal}
@media(max-width:720px){.match-analysis-v11 .analysis-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.match-analysis-v11 .analysis-stat-row{grid-template-columns:58px minmax(120px,1fr) 58px;gap:9px;padding:8px 9px}.match-analysis-v11 .analysis-stat-row>strong{font-size:14px}.match-analysis-v11 .analysis-stat-row>span{font-size:9px}}
