/* Telefon na výšku – kariéra i společné prvky. Načítá se jen do šířky 760 px, desktop se ho nedotýká. */

/* ===== Základ ===== */
:root { --m-nav-h: 58px; --m-head-h: 46px; }
html { overflow-x: hidden; }
body { overflow-x: clip !important; overflow-y: visible !important; max-width: 100%; }
body { padding-bottom: env(safe-area-inset-bottom); }
button, a, select, input { touch-action: manipulation; }
img, svg, canvas { max-width: 100%; }

/* ===== Horní lišta webu ===== */
.navbar { height: var(--m-head-h) !important; padding: 0 0.6rem !important; }
.navbar .logo { font-size: 0 !important; gap: 0; }
.navbar .logo .logo-mark { width: 28px; height: 28px; }
.main-nav { gap: 0 !important; height: 100%; }
.nav-btn { font-size: 0.82rem !important; padding: 0 0.55rem !important; height: 100%; white-space: nowrap; }
.nav-coffee { font-size: 0 !important; margin: 0 0 0 0.3rem !important; padding: 0.3rem 0.45rem !important; gap: 0 !important; }
.nav-coffee svg { width: 16px; height: 16px; }
body.is-home .navbar { display: none !important; }

/* ===== Úvodní menu ===== */
.home-logo { position: relative !important; top: auto !important; left: auto !important; padding: 0.9rem 1.1rem 0 !important; }
.home-inner { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 1.2rem !important; padding: 0.7rem 1.1rem 1.5rem !important; margin: 0 !important; width: 100%; max-width: none !important; }
.home-kicker { font-size: 0.66rem !important; letter-spacing: 0.15rem !important; margin-bottom: 0.4rem !important; }
.home-title { font-size: 3.1rem !important; }
.home-sub { font-size: 1.35rem !important; }
.home-facts { margin-top: 0.9rem !important; font-size: 0.8rem !important; gap: 0.25rem 0.9rem !important; }
.home-menu { padding: 0.8rem !important; gap: 0.5rem !important; }
.home-item { padding: 0.65rem 0.9rem !important; }
.home-crests { display: none !important; }
.home-view, #home-view { min-height: 100dvh; height: auto !important; overflow: visible !important; }

/* ===== Obecný obsah ===== */
.container { padding: 0.6rem !important; max-width: 100% !important; }
.page-header { flex-wrap: wrap; margin-bottom: 0.4rem !important; padding-bottom: 0.3rem !important; }
.page-title { font-size: 1.6rem !important; }

/* ===== Výběr klubu ===== */
.career-setup-head { flex-wrap: wrap; gap: 0.5rem; }
.career-setup-head h2 { font-size: 1.05rem !important; width: 100%; margin: 0; }
.career-league-tabs { flex: 1 1 100%; }
.career-league-tabs button { flex: 1; white-space: nowrap; font-size: 0.72rem !important; padding: 0.45rem 0.3rem !important; }
.career-setup-actions { flex: 1 1 100%; flex-wrap: wrap; }
.career-setup-actions button { flex: 1; justify-content: center; }
#career-teams-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.45rem !important; }
#career-teams-grid .career-team-card { padding: 0.55rem 0.5rem !important; }
#career-teams-grid .career-team-card h3 { font-size: 0.86rem !important; min-height: 2.2em; }
#career-teams-grid .career-card-info { font-size: 0.62rem !important; }

/* ===== Kariéra: rozložení ===== */
.container:has(#career-dashboard:not(.hidden)) { padding: 0 !important; }
.fm-dashboard-container:not(.hidden) { display: block !important; height: auto !important; min-height: 0 !important; border: 0 !important; border-radius: 0 !important; overflow: visible !important; padding-bottom: calc(var(--m-nav-h) + env(safe-area-inset-bottom) + 8px); }
.fm-main { display: block !important; }

/* Boční menu → spodní lišta: 4 hlavní sekce + VÍCE, ostatní v panelu nad lištou */
.fm-sidebar { position: static !important; width: 100% !important; height: auto !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(20, minmax(0, 1fr)); align-items: stretch; overflow: visible !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.fm-nav-divider, .fm-sidebar-next { display: none !important; }
.fm-nav-btn { position: relative; grid-column: span 4; width: 100% !important; height: var(--m-nav-h); min-height: 0 !important; padding: 0.3rem 0.1rem 0.2rem !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #8d9088 !important; justify-content: center !important; order: 3; }
.fm-nav-btn.active { color: var(--accent) !important; background: transparent !important; }
.fm-nav-btn.active .fm-nav-icon { fill: var(--accent) !important; }
.fm-nav-label { display: flex !important; flex-direction: column; align-items: center; gap: 0.2rem !important; font-size: 0.6rem !important; letter-spacing: 0 !important; white-space: nowrap; line-height: 1.1; }
.fm-nav-label .fm-nav-icon { width: 20px !important; height: 20px !important; margin: 0 !important; }
.fm-badge-red { position: absolute !important; top: 3px; left: calc(50% + 6px); right: auto !important; margin: 0 !important; font-size: 0.52rem !important; padding: 0 3px !important; line-height: 1.35; }
.fm-sidebar .fm-nav-btn > span:not(.fm-nav-label):not(.fm-badge-red) { display: none !important; }
#career-more-btn { display: flex !important; }
#career-training-btn, #career-contracts-btn, #career-calendar-btn, #career-academy-btn, #career-facilities-btn, #career-sponsor-btn, #career-mol-cup-btn, #career-euro-btn, #career-trophy-btn, #career-stats-btn { display: none !important; order: 1; grid-column: span 5; height: 66px; border-top: 0 !important; border-radius: 10px; background: rgba(255, 255, 255, 0.04) !important; }
.fm-sidebar-tools { display: none !important; order: 2; grid-column: 1 / -1; gap: 0.4rem; padding: 0.5rem 0.55rem !important; margin: 0 !important; border: 0 !important; }
.fm-sidebar-tools button { flex: 1; height: 40px; white-space: nowrap; font-size: 0.72rem !important; padding: 0.3rem !important; }
/* otevřený panel */
.fm-sidebar.is-more { row-gap: 0.4rem; padding-top: 0.6rem !important; animation: mMoreIn 0.16s ease-out; }
.fm-sidebar.is-more::before { content: ""; position: fixed; inset: 0; z-index: -1; background: rgba(0, 0, 0, 0.62); }
.fm-sidebar.is-more #career-training-btn, .fm-sidebar.is-more #career-contracts-btn, .fm-sidebar.is-more #career-calendar-btn, .fm-sidebar.is-more #career-academy-btn, .fm-sidebar.is-more #career-facilities-btn, .fm-sidebar.is-more #career-sponsor-btn, .fm-sidebar.is-more #career-mol-cup-btn, .fm-sidebar.is-more #career-euro-btn, .fm-sidebar.is-more #career-trophy-btn, .fm-sidebar.is-more #career-stats-btn { display: flex !important; width: calc(100% - 0.5rem) !important; margin: 0 0.25rem !important; }
.fm-sidebar.is-more .fm-sidebar-tools { display: flex !important; }
.fm-sidebar.is-more #career-more-btn, .fm-sidebar:has(#career-training-btn.active, #career-contracts-btn.active, #career-calendar-btn.active, #career-academy-btn.active, #career-facilities-btn.active, #career-sponsor-btn.active, #career-mol-cup-btn.active, #career-euro-btn.active, #career-trophy-btn.active, #career-stats-btn.active) #career-more-btn { color: var(--accent) !important; }
.fm-sidebar.is-more .fm-nav-btn.active { color: var(--accent) !important; background: transparent !important; }
.fm-nav-btn.active .fm-nav-icon { fill: var(--accent) !important; }
.fm-sidebar.is-more .fm-nav-label { white-space: normal; text-align: center; }
@keyframes mMoreIn { from { transform: translateY(16px); opacity: 0.5; } to { transform: none; opacity: 1; } }

/* Horní lišta kariéry: jen název a datum; akce jsou dole pod palcem */
body:has(#career-dashboard:not(.hidden)) .navbar { display: none !important; }
.fm-topbar { position: sticky; top: 0; z-index: 600; display: flex !important; gap: 0.5rem !important; padding: calc(0.3rem + env(safe-area-inset-top)) 0.6rem 0.3rem !important; align-items: center; min-height: 44px; }
.fm-topbar .fm-crest { width: 28px !important; height: 28px !important; flex: 0 0 28px; }
.fm-topbar-heading { flex: 1; min-width: 0; }
.fm-topbar-title { font-size: 1rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fm-topbar-sub { display: none; }
.fm-topbar-right { display: contents !important; }
.fm-topbar-date { padding: 0.1rem 0.45rem !important; font-size: 0.56rem !important; white-space: nowrap; margin: 0 !important; }
.fm-topbar-date strong { font-size: 0.72rem !important; }
/* Dok: akce a menu jako jeden pevný celek */
#m-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 700; background: #0f100d; border-top: 1px solid #2b2e25; padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.55); transform: translateZ(0); }
#m-dock:has(.fm-sidebar.is-more) { border-radius: 16px 16px 0 0; }
.m-dock-actions { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 0.35rem; padding: 0.4rem 0.5rem 0.3rem; }
#m-dock:has(.fm-sidebar.is-more) .m-dock-actions { display: none; }
.m-dock-actions .fm-btn-sim, .m-dock-actions .fm-btn-play { height: 44px !important; min-width: 0; margin: 0 !important; padding: 0 0.2rem !important; line-height: 1.05; white-space: normal; text-align: center; justify-content: center; gap: 0.2rem !important; border-radius: 10px !important; letter-spacing: 0 !important; box-shadow: none !important; }
.m-dock-actions .fm-btn-sim { background: #1b1d17 !important; color: #d6d8d0 !important; border: 1px solid #2f322a !important; font-size: 0 !important; }
.m-dock-actions .fm-btn-play { font-size: 0.82rem !important; font-weight: 700; border: 0 !important; }
.m-dock-actions .fm-nav-icon { width: 11px !important; height: 11px !important; flex: 0 0 11px; }
#career-sim-rest-btn::after { content: "RYCHLÁ SIM."; font-size: 0.62rem; }
#career-sim-one-btn::after { content: "SIM. ZÁPAS"; font-size: 0.62rem; }
.fm-dashboard-container:not(.hidden) { padding-bottom: calc(var(--m-nav-h) + 62px + env(safe-area-inset-bottom)) !important; }
/* Panel Více přes akční lištu; MENU a DRAFT jen tady */
#career-menu-btn, #career-draft-link { display: flex !important; align-items: center; justify-content: center; }
#career-draft-link { flex: 1; height: 40px; font-size: 0.72rem; text-decoration: none; }
/* Výběr při výměně */
#m-swap-hint { position: fixed; z-index: 660; left: 0.4rem; right: 0.4rem; top: calc(env(safe-area-inset-top) + 48px); display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.7rem; border: 1px solid var(--accent); border-radius: 10px; background: rgba(20, 24, 8, 0.97); color: #fff; font: 600 0.8rem Inter, sans-serif; text-align: left; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6); }
#m-swap-hint b { color: var(--accent); flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#m-swap-hint span { color: #aaa; font-weight: 400; font-size: 0.7rem; flex: 1; white-space: nowrap; }
#m-swap-hint i { font-style: normal; color: #bbb; padding-left: 0.3rem; }

/* Domů: panely pod sebou */
.fm-main:not(.fm-showing-page) .fm-grid { display: flex !important; flex-direction: column; gap: 0.55rem !important; padding: 0.55rem !important; height: auto !important; overflow: visible !important; }
.fm-panel { height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; }
.fm-area-match { order: 1; } .fm-area-news { order: 4; } .fm-area-table { order: 2; } .fm-area-tactics { order: 3; } .fm-area-fixtures { order: 5; } .fm-area-board { order: 6; }
.fm-match-hero .fm-match-teams { font-size: 1.1rem !important; }
.fm-match-hero-body { gap: 0.4rem !important; }
.fm-match-hero .fm-crest-svg, .fm-match-hero-body > img { max-width: 44px !important; max-height: 44px !important; }
.fm-match-meta { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.fm-match-meta div span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fm-match-meta div strong { white-space: normal !important; }
.news-grid, .news-briefs-list { grid-template-columns: minmax(0, 1fr) !important; }
.fm-area-news .news-story.is-lead .news-headline { font-size: 1.05rem !important; }
.news-head { flex-wrap: wrap; }

/* Stránky v hlavní části a dříve modální okna */
.fm-main.fm-showing-page .fm-page-host { height: auto !important; overflow: visible !important; padding: 0.5rem !important; }
.draft-modal { padding: 0 !important; align-items: flex-start !important; }
.fm-page-host .draft-modal, .fm-page-host .draft-modal-content { position: static !important; width: 100% !important; max-width: none !important; height: auto !important; max-height: none !important; padding: 0.25rem !important; overflow: visible !important; }
.draft-modal-title { font-size: 1.35rem !important; }
.draft-modal-content { width: 100% !important; max-width: 100% !important; max-height: 100dvh !important; border-radius: 0 !important; padding: 0.7rem !important; overflow-y: auto; }
table { max-width: 100%; }

/* ===== Soupiska ===== */
.sq-layout { display: flex !important; flex-direction: column; gap: 0.5rem !important; width: 100% !important; padding: 0 !important; }
.sq-left, .sq-right { padding: 0.45rem !important; min-width: 0; width: 100%; }
.sq-tactic-bar { margin-bottom: 0.35rem; }
#football-pitch { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; aspect-ratio: 0.82; min-height: 0 !important; }
#football-pitch .pitch-slot { width: 58px !important; }
#football-pitch .pitch-slot .mini-card, #football-pitch .pitch-slot.filled { transform-origin: center; }
.pitch-slot.filled .mini-card { zoom: 0.8; }
.sq-table-head { gap: 0.35rem; }
.sq-actions { width: 100%; }
.sq-actions .sq-btn { flex: 1; }
.sq-table-wrap { overflow-x: auto !important; overflow-y: visible !important; max-height: none !important; -webkit-overflow-scrolling: touch; }
.sq-table td, .sq-table th { padding: 0.45rem 0.35rem !important; }
.sq-player { max-width: 150px !important; }
.sq-slot { position: sticky; left: 0; z-index: 1; background-color: #141414; }
.sq-pos2 { display: none; }

/* ===== Trénink ===== */
.tr-top { display: flex !important; flex-direction: column; gap: 0.5rem !important; }
.tr-main { display: flex !important; flex-direction: column; gap: 0.5rem !important; }
.tr-box { width: 100%; min-width: 0; }
.tr-strip { overflow-x: auto; flex-wrap: nowrap !important; }
.tr-day { flex: 0 0 56px !important; min-width: 56px !important; }
.tr-seg { flex-wrap: wrap; }
.tr-step { flex: 1 1 28%; }

/* ===== Tabulky: posouvání do strany místo useknutí ===== */
.stats-table-wrap { overflow-x: auto !important; overflow-y: visible !important; max-height: none !important; -webkit-overflow-scrolling: touch; }
.stats-table td, .stats-table th { padding: 0.45rem 0.4rem !important; white-space: nowrap; }
.stats-boards { grid-template-columns: minmax(0, 1fr) !important; }
.ct-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ct-filters { flex-wrap: nowrap !important; overflow-x: auto; }
.ct-filters button { flex: 0 0 auto; white-space: nowrap; }
.stats-hub-content { height: auto !important; }

/* ===== Kalendář ===== */
.cal-week, .cal-month-grid { gap: 2px !important; }
.cal-day { padding: 0.15rem !important; min-height: 50px; }
.cal-day-note { display: none !important; }
.cal-months { overflow-x: auto; flex-wrap: nowrap !important; justify-content: flex-start !important; order: 3; flex: 1 1 100% !important; }
.cal-months button { flex: 0 0 auto; padding: 0.4rem 0.6rem !important; }
.cal-page { padding: 0.25rem !important; width: 100% !important; }
.cal-bar { flex-wrap: wrap !important; gap: 0.3rem !important; }
.cal-legend { flex-wrap: wrap !important; gap: 0.2rem 0.5rem !important; font-size: 0.62rem !important; }
.cal-layout { display: flex !important; flex-direction: column; }
.cal-month-grid { height: auto !important; grid-auto-rows: 54px !important; }
.cal-day { overflow: hidden; }
.cal-day .fm-crest, .cal-day img { max-width: 16px; }
.cal-side { width: 100%; }

/* ===== Přestupy: dvouřádkový hráč ===== */
#career-wage-box { width: 100% !important; max-width: 100% !important; margin: 0 !important; min-width: 0 !important; }
#career-wage-box .wb-box { width: 100% !important; min-width: 0 !important; flex-wrap: wrap !important; height: auto !important; gap: 0.3rem !important; }
.wb-bar { min-width: 0 !important; flex: 1 1 100% !important; width: 100% !important; }
.wb-open { max-width: 100%; white-space: normal !important; }
.tm-head { display: none !important; }
.tm-row { display: grid !important; grid-template-columns: 54px minmax(0, 1fr) auto 34px !important; grid-template-areas: "pos name price ovr" "pos club age ovr"; gap: 0 0.4rem !important; padding: 0.5rem 0.45rem !important; align-items: center; height: auto !important; min-height: 54px; }
.tm-row .tm-pos { grid-area: pos; font-size: 0.8rem !important; }
.tm-row .tm-name { grid-area: name; font-size: 0.86rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-row .tm-name small { display: none; }
.tm-row .tm-ovr { grid-area: ovr; font-size: 1.15rem !important; text-align: right; }
.tm-row .tm-age { grid-area: age; font-size: 0.68rem !important; color: #888; text-align: right; }
.tm-row .tm-age::after { content: " let"; }
.tm-row .tm-club { grid-area: club; font-size: 0.7rem !important; color: #999; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tm-row .tm-price { grid-area: price; font-size: 0.82rem !important; text-align: right; white-space: nowrap; }
.tm-row .tm-contract, .tm-row .tm-wage, .tm-row .tm-act { display: none !important; }

/* ===== Zázemí, finance, Evropa, MOL Cup ===== */
.fz-grid, .kit-ed { grid-template-columns: minmax(0, 1fr) !important; }
.fz-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.fin-layout { display: flex !important; flex-direction: column; gap: 0.6rem !important; height: auto !important; }
.fin-col { width: 100%; }
.euro-head { flex-wrap: wrap; gap: 0.4rem !important; }
.euro-head .draft-modal-title { width: 100%; }
#euro-tabs { width: 100%; }
.euro-content { overflow: hidden !important; }
#euro-body { width: 100%; }
.euro-content { height: auto !important; }
.euro-tabs, #euro-tabs { overflow-x: auto; flex-wrap: nowrap !important; max-width: 100%; }
.euro-tabs button, #euro-tabs button { flex: 0 0 auto; white-space: nowrap; }
.eu-grid { display: flex !important; flex-direction: column; height: auto !important; }
.eu-panel { width: 100%; height: auto !important; max-height: none !important; overflow: visible !important; }
.eu-tables { grid-template-columns: minmax(0, 1fr) !important; }
#mol-cup-bracket { max-width: 100%; width: 100% !important; min-width: 0 !important; }
.mc-bracket { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
.mc-labels, .mc-cols { min-width: 720px !important; }
.mc-panel, .mc-head { max-width: 100%; }
.mc-head { flex-wrap: wrap; gap: 0.4rem; height: auto !important; }
.mc-hist-list { grid-template-columns: minmax(0, 1fr) !important; }
.mc-foot { flex-direction: column; display: flex !important; height: auto !important; }

/* ===== Živý zápas ===== */
#live-match-modal { position: fixed !important; inset: 0 !important; padding: 0 !important; background: #0a0a0a !important; display: block !important; overflow: hidden !important; }
#live-match-modal.hidden { display: none !important; }
.live-match-content { position: absolute !important; inset: 0; width: 100% !important; max-width: none !important; height: 100% !important; max-height: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; display: flex !important; flex-direction: column; overflow: hidden !important; }
.lm-header { flex: 0 0 auto; display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.3rem !important; padding: 0.3rem 0.5rem !important; margin: 0 !important; align-items: center; }
.lm-team { gap: 0.3rem !important; font-size: 0.8rem !important; min-width: 0; }
.lm-team > div { min-width: 0; }
.lm-team span { font-size: 0.82rem !important; line-height: 1.1; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lm-team svg, .lm-team img { width: 24px !important; height: 24px !important; flex: 0 0 24px; }
.lm-tactic { display: none !important; }
.lm-comp, .lm-conditions { display: none !important; }
.lm-score { font-size: 1.7rem !important; line-height: 1 !important; margin: 0 !important; white-space: nowrap; }
.lm-clock { font-size: 0.7rem !important; padding: 0.05rem 0.4rem !important; margin: 0.1rem auto 0 !important; }
.lm-livetable { font-size: 0.6rem !important; margin: 0 !important; white-space: nowrap; }
.lm-body { flex: 1 1 auto; min-height: 0; display: flex !important; flex-direction: column; gap: 0 !important; overflow: hidden; margin: 0 !important; }
.lm-pitch-wrap { flex: 0 0 auto; width: 100% !important; height: auto !important; border-radius: 0 !important; }
.lm-side { flex: 1 1 auto; height: auto !important; min-height: 0 !important; display: flex !important; flex-direction: column; overflow-y: auto !important; padding: 0.3rem 0.5rem !important; gap: 0.4rem; -webkit-overflow-scrolling: touch; }
.lm-side .lm-feed { flex: 0 0 auto !important; order: 1; max-height: none !important; min-height: 90px; overflow: visible !important; font-size: 0.78rem !important; }
.lm-side .lm-keys { order: 2; flex: 0 0 auto !important; height: auto !important; max-height: none !important; }
.lm-side .lm-stats { order: 3; flex: 0 0 auto !important; }
.lm-controls { flex: 0 0 auto; display: flex !important; flex-wrap: wrap !important; overflow: visible !important; gap: 0.25rem !important; padding: 0.3rem 0.35rem calc(0.3rem + env(safe-area-inset-bottom)) !important; margin: 0 !important; justify-content: center; background: #101010; border-top: 1px solid var(--border-color); }
.lm-btn { min-height: 34px !important; height: auto !important; padding: 0.2rem 0.3rem !important; font-size: 0.64rem !important; white-space: nowrap; letter-spacing: 0 !important; flex: 1 1 auto; justify-content: center; }
.lm-pause, .lm-speed { flex: 1 1 14%; }
.lm-hl { display: flex !important; flex: 1 1 100%; gap: 0.25rem; }
.lm-hl .lm-btn { flex: 1; min-height: 30px !important; }
.lm-changes, .lm-shout, .lm-skip, .lm-replay, .lm-sound, .lm-3d { flex: 1 1 15%; }
.lm3d-cams { top: 4px !important; right: 4px !important; gap: 2px !important; }
.lm3d-cams button { padding: 2px 4px !important; font-size: 0.5rem !important; }
.lm3d-tv, .lm3d-cams .is-on { font-size: 0.5rem !important; }
.lm-ticker, .lm-caption { font-size: 0.7rem !important; }
/* Porada, poločas, změny: přes celou obrazovku s vlastním posouváním */
.lm-panel { position: fixed !important; inset: 0 !important; z-index: 50; display: block !important; padding: 0.6rem !important; overflow-y: auto !important; background: #0b0b0b !important; -webkit-overflow-scrolling: touch; }
.lm-panel.hidden { display: none !important; }
.lm-ht { max-width: none !important; padding-bottom: 70px; }
.lm-ht h3 { font-size: 1.15rem !important; }
.lm-ht-cols, .lm-ht-lists, .lm-ht.is-pre .lm-ht-cols, .br { grid-template-columns: minmax(0, 1fr) !important; display: grid !important; }
.lm-ht-tactics, .lm-ht.is-pre .lm-ht-tactics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.lm-ht.is-pre .lm-ht-lists-single .lm-ht-list { grid-template-columns: minmax(0, 1fr) !important; grid-auto-flow: row !important; grid-template-rows: none !important; }
.lm-ht-player { min-height: 40px; padding: 0.4rem 0.55rem !important; }
.lm-ht-continue { position: fixed !important; left: 0.6rem; right: 0.6rem; bottom: calc(0.5rem + env(safe-area-inset-bottom)); width: auto !important; height: 46px !important; z-index: 60; }

/* ===== Dialogy a zápis z utkání ===== */
.gd-card { width: calc(100% - 1.4rem) !important; max-width: none !important; }
.match-report-content { padding: 0.5rem !important; height: 100dvh !important; }
#match-report-modal { position: fixed !important; inset: 0 !important; }
#match-report-body { display: block !important; }
#match-report-body > * { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.lm-ft-actions, .mr-actions { flex-wrap: wrap; }
.deal-page { height: auto !important; }
.deal-x { position: fixed !important; top: 0.4rem; right: 0.4rem; z-index: 60; }
.lm-talk-tones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.lm-talk-players { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100%; gap: 0.3rem !important; }
.lm-talk-player { min-width: 0 !important; width: 100% !important; min-height: 36px; }
.lm-shout-grid { grid-template-columns: minmax(0, 1fr) !important; }
.lm-talk-actions { width: 100%; justify-content: center; }

/* ===== Zápis z utkání ===== */
.mr-scoreline { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.3rem !important; align-items: center; }
.mr-team { font-size: 0.9rem !important; min-width: 0; gap: 0.3rem !important; }
.mr-team svg, .mr-team img { width: 30px !important; height: 30px !important; flex: 0 0 30px; }
.mr-score { font-size: 2.1rem !important; white-space: nowrap; }
.mr-grid { display: flex !important; flex-direction: column; gap: 0.5rem !important; height: auto !important; }
.mr-panel { width: 100%; min-width: 0; height: auto !important; max-height: none !important; overflow: visible !important; }
.mr-head { margin-bottom: 0.3rem !important; }

/* ===== Vyhodnocení sezóny ===== */
#season-awards-modal { position: fixed !important; inset: 0 !important; display: block; overflow-y: auto !important; }
#season-awards-modal.hidden { display: none !important; }
#season-awards-modal .draft-modal-content { height: auto !important; max-height: none !important; min-height: 100dvh; overflow: visible !important; }
#season-awards-modal .sa-hero, .sa-main, .sa-col { display: flex !important; flex-direction: column; height: auto !important; min-height: 0 !important; overflow: visible !important; width: 100% !important; }
.sa-block { height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; }
.sa-tiles, [class*="sa-tiles"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.sa-tile { min-width: 0; height: auto !important; }
.sa-tile strong, .sa-tile b { white-space: normal !important; overflow: visible !important; word-break: break-word; font-size: 1.3rem !important; }
.fin-plus { max-width: 100%; white-space: normal !important; }
#season-awards-modal .fm-btn-play { position: sticky; top: 0.3rem; z-index: 5; font-size: 0.95rem !important; height: 46px !important; width: 100%; }

/* ===== Profil klubu ===== */
.cp-overlay { padding: 0 !important; align-items: flex-start !important; }
.cp-overlay > * { width: 100% !important; max-width: 100% !important; max-height: 100dvh !important; border-radius: 0 !important; overflow-y: auto !important; }
.cp-body { display: flex !important; flex-direction: column; height: auto !important; overflow: visible !important; }
.cp-body > * { width: 100% !important; min-width: 0 !important; height: auto !important; max-height: none !important; }
.cp-card { height: auto !important; max-height: none !important; overflow: visible !important; position: static !important; }
.cp-head { flex-wrap: wrap; padding: 0.7rem !important; gap: 0.5rem !important; }
.cp-head h2, .cp-name { font-size: 1.5rem !important; }
.cp-crest svg, .cp-crest img { width: 60px !important; height: 60px !important; }
.cp-pitch { width: 100% !important; height: auto !important; aspect-ratio: 0.85; position: relative !important; }
.cp-dot { width: 60px !important; font-size: 0.62rem !important; }
.cp-squad { overflow-x: auto !important; max-height: none !important; position: static !important; }
.cp-h2h { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/* ===== Toast ===== */
.game-toast { max-width: 88vw; font-size: 0.75rem !important; padding: 0.4rem 0.7rem !important; white-space: normal; text-align: center; }

/* ===== Přestupy: filtry a rozpočet ===== */
:has(> #transfer-search) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem !important; width: 100% !important; }
:has(> #transfer-search) > * { width: 100% !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; flex: none !important; }
#transfer-search { grid-column: 1 / -1; font-size: 16px !important; padding: 0.45rem !important; }
:has(> #transfer-search) select { font-size: 14px !important; padding: 0.45rem !important; }
:has(> #transfer-rating-min) { justify-content: center; }
#transfer-rating-min, #transfer-rating-max { font-size: 14px !important; width: 44px !important; }
#career-budget-container { flex-direction: column !important; align-items: stretch !important; padding: 0.45rem !important; gap: 0.35rem !important; width: 100% !important; }
#career-budget-container > * { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; padding-left: 0 !important; flex: none !important; }
#career-wage-box .wb-box { flex-direction: column !important; align-items: stretch !important; box-sizing: border-box; }
.wb-box-top, .wb-box-bot { flex-wrap: wrap !important; }
.wb-bar { width: 100% !important; min-width: 0 !important; }

/* ===== Drobnosti ===== */
.cal-side { display: flex !important; margin-top: 0.6rem; }
.euro-head { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.euro-head .modern-close-btn { display: none; }
#euro-tabs { display: flex !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-top: 0.3rem; }
#euro-modal, #euro-modal .euro-content { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }

/* ===== Dotyk a výkon ===== */
html { -webkit-tap-highlight-color: transparent; }
html, body { overscroll-behavior-y: none; }
body { -webkit-touch-callout: none; }
button, a, .tm-row, .sq-row, .pitch-slot, .career-team-card, .compact-player-row { -webkit-user-select: none; user-select: none; }
input, select, textarea { font-size: 16px !important; }
* { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
button:active, .tm-row:active, .sq-row:active, .career-team-card:active, .home-item:active { filter: brightness(1.25); }
.home-item:hover, .career-team-card:hover, .fm-nav-btn:hover, .lm-btn:hover { transform: none !important; }
.tbl-switch button, .sq-tab, .news-filters button, .ct-filters button, .sq-btn { min-height: 36px; }
.news-filters { overflow-x: auto; }
.lm-seg button { min-height: 40px; }
.lm-ht-tactic { min-height: 42px; }
.modern-close-btn { min-width: 42px; min-height: 42px; }
.navbar { padding-top: env(safe-area-inset-top) !important; height: calc(var(--m-head-h) + env(safe-area-inset-top)) !important; }

/* ===== Domů: příští zápas ===== */
.fm-match-meta div span { font-size: 0.56rem !important; letter-spacing: 0.02rem !important; white-space: normal !important; overflow: visible !important; }
.fm-match-meta > div:nth-child(7) { grid-column: 1 / -1; }

/* ===== Soupiska: kompaktní přehled ===== */
.sq-hint { display: none; }
.sq-table th:nth-child(4), .sq-table td:nth-child(4) { width: 34px; }
.sq-player { max-width: 128px !important; position: sticky; left: 36px; z-index: 1; background: #121212; }
.sq-row.is-selected .sq-player, .sq-row.is-selected .sq-slot { background: #23290f !important; }
.sq-slot { width: 36px !important; }
#football-pitch { aspect-ratio: 0.92 !important; }
.pitch-slot.compatible-highlight { z-index: 5 !important; }

/* ===== Trénink: hráči ===== */
.tr-players .cp-squad { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
.tr-players td, .tr-players th { white-space: nowrap; }
.tr-players td:nth-child(2) { position: sticky; left: 0; background: #141414; }

/* ===== Kalendář: v políčku jen znak ===== */
.cal-m { padding: 0.05rem 0.1rem !important; align-items: center; }
.cal-m-top { display: none !important; }
.cal-m-opp { font-size: 0 !important; justify-content: center; }
.cal-m-opp svg, .cal-m-opp img { width: 18px !important; height: 18px !important; }
.cal-res { font-size: 0.56rem !important; }
.cal-tag, .cal-tags { font-size: 0 !important; height: 3px; padding: 0 !important; min-height: 0; }
.cal-tags { display: flex; gap: 1px; margin-top: auto; }
.cal-tag { flex: 1; background: currentColor; border-radius: 2px; }
.cal-month-grid { grid-auto-rows: 50px !important; }

/* ===== Přestupy: rozpočet v jedné řádce ===== */
#career-budget-container { flex-direction: row !important; align-items: center !important; flex-wrap: wrap !important; }
#career-budget-container > div:first-child { width: auto !important; flex: 0 0 auto !important; }
#career-wage-box { flex: 1 1 0 !important; width: auto !important; }
#career-wage-box .wb-box { padding: 0.25rem 0.4rem !important; border: 0 !important; background: transparent !important; }
#career-wage-box .wb-box-top em, #career-wage-box .wb-box-bot small { display: none !important; }
#career-budget-container .tm-window-info { display: none !important; }
.tm-row { border-bottom: 1px solid #1c1c1c; }

/* ===== Živý zápas: přehled při zrychlení nezakrývá hřiště ===== */
.lm-ff { top: 4px !important; transform: translateX(-50%) !important; min-width: 0 !important; width: 82%; padding: 2px 8px !important; }
.lm-ff-row, .lm-ff-foot { display: none !important; }
.lm-ff-head { font-size: 0.68rem !important; margin: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== Stránky: název je v horní liště, nadpis v obsahu je navíc ===== */
.fm-page-host .draft-modal-title, .fm-page-host .tr-page-title, .fm-page-host .stats-hub-content > h2 { display: none !important; }
.fm-page-host .ib-content > div:first-child, .fm-page-host .stats-hub-content > div:first-child:empty { margin: 0 !important; }
.fm-main.fm-showing-page .fm-page-host { padding: 0.35rem !important; }
.fm-page-host .draft-modal-content { padding: 0.15rem !important; background: transparent !important; border: 0 !important; }

/* ===== Domů: herní styl ve dvou sloupcích ===== */
.fm-tactics { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem !important; }
.fm-tactics .tactic-btn { padding: 0.5rem 0.55rem !important; min-height: 46px; margin: 0 !important; }
.fm-tactics .tactic-btn small, .fm-tactics .tactic-btn span { font-size: 0.62rem !important; line-height: 1.2; }

/* ===== Soupiska ===== */
#football-pitch { aspect-ratio: 0.84 !important; }
.pitch-slot.filled .mini-card { zoom: 0.76; }
#m-swap-hint { top: auto !important; bottom: calc(var(--m-nav-h) + env(safe-area-inset-bottom)) !important; left: 0 !important; right: 0 !important; height: 57px; z-index: 710; border: 0 !important; border-top: 1px solid var(--accent) !important; border-radius: 0 !important; background: #1a1f0a !important; }
#m-swap-hint i { font-size: 1rem; padding: 0.3rem 0.5rem; }

/* ===== Tabulky hráčů: jméno se vždycky vejde ===== */
.stats-name-cell, .stats-name { max-width: 128px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-players td:nth-child(2) { max-width: 128px; overflow: hidden; text-overflow: ellipsis; }
.tr-week > div { flex-wrap: wrap !important; }
.tr-players .tr-plan { flex-wrap: nowrap !important; }
.ct-filters { margin: 0.4rem 0 !important; }
.ct-hint { margin: 0 0 0.3rem !important; font-size: 0.7rem !important; }
.ct-cards { margin-bottom: 0.3rem !important; }

/* ===== Kalendář ===== */
.cal-m-opp > *:not(:first-child):not(.cal-res), .cal-derby { display: none !important; }
.cal-layout { gap: 0.5rem !important; height: auto !important; }
.cal-main, .cal-page { height: auto !important; min-height: 0 !important; }
.cal-month-grid { grid-template-rows: none !important; min-height: 0 !important; }

/* ===== Pohár ===== */
.mc-r32-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.5rem 0.35rem !important; }
.mc-r32-match { padding: 0.25rem 0.4rem !important; }
.mc-r32-match .tag-fnl, .mc-r32-match [class*="fnl"] { display: none !important; }

/* ===== Evropa ===== */
.eu-panel h4 { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.5rem; height: auto !important; white-space: normal; }
.eu-legend { flex-wrap: wrap; }
.eu-panel .tbl-switch { margin-left: 0 !important; }
.eu-table { font-size: 0.74rem !important; }

/* ===== Síň slávy ===== */
.tr-cabinet { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.35rem !important; }
.tr-trophy { padding: 0.5rem 0.2rem !important; min-height: 0 !important; height: auto !important; }
.tr-icon svg, .tr-icon { max-height: 32px; font-size: 1.5rem !important; }
.tr-trophy small { font-size: 0.6rem !important; line-height: 1.15; text-align: center; }
.tr-count { font-size: 1.4rem !important; }

/* ===== Výběr klubu a úvodní menu ===== */

/* ===== Smlouvy: karty a filtry na menší ploše ===== */
.ct-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.3rem !important; }
.ct-cards > * { padding: 0.4rem 0.45rem !important; min-width: 0; }
.ct-cards small { display: none !important; }
.ct-filters { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
.ct-filters::-webkit-scrollbar { display: none; }
.ct-filters .ct-hint { display: none !important; }

/* ===== Živý zápas ===== */
.lm-caption { display: none !important; }
.lm-side { align-items: stretch !important; }
.lm-side > * { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
.lm-changes, .lm-shout, .lm-skip, .lm-replay, .lm-sound, .lm-3d { font-size: 0.58rem !important; padding: 0.2rem 0.1rem !important; }
.lm-changes svg, .lm-shout svg, .lm-skip svg, .lm-replay svg { width: 10px !important; height: 10px !important; }

/* ===== Podpis prstem ===== */
.deal-signatures { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important; gap: 0.7rem !important; align-items: end; }
.deal-sign svg { height: 36px !important; }
.deal-sign-own canvas, .deal-sign-own img, .deal-sign-empty { height: 104px !important; }
.deal-sign-hint { top: 40px !important; font-size: 0.95rem !important; }
.deal-sign-clear { min-height: 32px; padding: 0 0.3rem; font-size: 0.78rem !important; }

/* ===== Živý zápas: komentář přes celou šířku ===== */
.lm-body { align-items: stretch !important; }
.lm-side { width: 100% !important; max-width: 100% !important; align-self: stretch !important; box-sizing: border-box; }

.deal-swap, .deal-swap select { max-width: 100% !important; min-width: 0 !important; width: 100% !important; box-sizing: border-box; }

/* ===== Úvodní menu: přesně jedna obrazovka ===== */
html:has(body.is-home), body.is-home { height: 100dvh; overflow: hidden !important; overscroll-behavior: none; }
body.is-home .container { height: 100dvh; min-height: 0 !important; padding: 0 !important; overflow: hidden; }
body.is-home #home-view, body.is-home .home { height: 100% !important; min-height: 0 !important; overflow: hidden !important; margin: 0 !important; display: flex; flex-direction: column; }
body.is-home .home { padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom) !important; box-sizing: border-box; }
.home-logo { flex: 0 0 auto; padding: 0.6rem 1.1rem 0 !important; }
.home-inner { flex: 1 1 auto; min-height: 0; justify-content: space-evenly; gap: 0.5rem !important; padding: 0.3rem 1.1rem 0.5rem !important; }
.home-menu { gap: 0.4rem !important; padding: 0.65rem !important; margin: 0 !important; }
.home-item { padding: 0.5rem 0.85rem !important; }
.home-foot { margin-top: 0.1rem !important; }

/* Nižší displeje (Safari s lištami, menší telefony) */
@media (max-height: 760px) {
    .home-logo img { width: 38px !important; height: 38px !important; }
    .home-title { font-size: 2.5rem !important; }
    .home-sub { font-size: 1.05rem !important; }
    .home-kicker { font-size: 0.58rem !important; margin-bottom: 0.2rem !important; }
    .home-facts { margin-top: 0.4rem !important; font-size: 0.7rem !important; }
    .home-facts b { font-size: 0.9rem !important; }
    .home-item { padding: 0.38rem 0.8rem !important; }
    .home-item span { font-size: 1.02rem !important; }
    .home-item small { font-size: 0.68rem !important; }
    .home-coffee { padding: 0.35rem 0.6rem !important; font-size: 0.72rem !important; }
}
@media (max-height: 640px) {
    .home-facts, .home-kicker { display: none !important; }
    .home-logo { padding-top: 0.4rem !important; }
    .home-title { font-size: 2rem !important; }
    .home-sub { font-size: 0.9rem !important; }
    .home-menu { gap: 0.3rem !important; padding: 0.5rem !important; }
    .home-item { padding: 0.3rem 0.7rem !important; }
    .home-item small { display: none !important; }
}

/* ===== Tip: přidat na plochu ===== */
#home-a2hs.is-on { display: flex !important; align-items: center; gap: 0.55rem; padding: 0.35rem 0.25rem 0.35rem 0.6rem; border: 1px solid rgba(204, 255, 0, 0.35); border-radius: 10px; background: rgba(204, 255, 0, 0.07); }
#home-a2hs svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: var(--accent); stroke-width: 2; stroke-linecap: round; }
#home-a2hs div { flex: 1; min-width: 0; line-height: 1.2; }
#home-a2hs b { display: block; color: #fff; font-size: 0.74rem; }
#home-a2hs span { display: block; color: #b9bdb0; font-size: 0.68rem; }
#home-a2hs i { font-style: normal; color: var(--accent); margin: 0 0.1rem; }
#home-a2hs button { flex: 0 0 34px; width: 34px; height: 34px; background: transparent; border: 0; color: #999; font-size: 1.15rem; line-height: 1; }
