/* UNIVERSAL CUSTOM SCROLLBARS (Proti bílým lištám ve Windows) */
* {
    scrollbar-width: thin;
    scrollbar-color: #ccff00 #111;
}
*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
*::-webkit-scrollbar-track {
    background: #111;
    border-radius: 4px;
}
*::-webkit-scrollbar-thumb {
    background: #ccff00;
    border-radius: 4px;
    border: 1px solid #111;
    box-shadow: 0 0 8px rgba(204, 255, 0, 0.5);
}
*::-webkit-scrollbar-thumb:hover {
    background: #4ade80;
    box-shadow: 0 0 12px rgba(74, 222, 128, 0.9);
}
:root {

    --bg-main: #0a0a0a;

    --bg-card: #141414;

    --bg-card-hover: #1a1a1a;

    --text-primary: #ffffff;

    --text-secondary: #888888;

    --accent: #ccff00; /* Vibrant sports yellow/green */

    --border-color: #333333;

    

    /* Rating colors */

    --rating-high: #ccff00;

    --rating-mid: #ffffff;

    --rating-low: #888888;

}



* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



body {

    background-color: var(--bg-main);

    color: var(--text-primary);

    font-family: 'Inter', sans-serif;

    -webkit-font-smoothing: antialiased;

}



h1, h2, h3, .logo, .nav-btn, .filter-btn, .rating-val {

    font-family: 'Oswald', sans-serif;

    text-transform: uppercase;

}



/* Navbar */

.navbar {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 0 2rem;

    height: 70px;

    background-color: var(--bg-main);

    border-bottom: 1px solid var(--border-color);

}



.logo {

    font-size: 1.5rem;

    font-weight: 700;

    letter-spacing: 1px;

    color: var(--text-primary);

}



.main-nav {

    display: flex;

    height: 100%;

}



.nav-btn {

    background: none;

    border: none;

    color: var(--text-secondary);

    font-size: 1rem;

    font-weight: 500;

    padding: 0 1.5rem;

    cursor: pointer;

    height: 100%;

    transition: color 0.2s, border-bottom 0.2s;

    border-bottom: 2px solid transparent;

}



.nav-btn:hover:not(.disabled) {

    color: var(--text-primary);

}



.nav-btn.active {

    color: var(--accent);

    border-bottom: 2px solid var(--accent);

}



.nav-btn.disabled {

    opacity: 0.3;

    cursor: not-allowed;

}



/* Main Container */

.container {

    max-width: 1400px;

    margin: 0 auto;

    padding: 3rem 2rem;

}



.page-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    margin-bottom: 3rem;

    padding-bottom: 1rem;

    border-bottom: 1px solid var(--border-color);

}



.page-title {

    font-size: 2.5rem;

    font-weight: 700;

    line-height: 1;

    margin: 0;

}



.header-controls {

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 1rem;

}



.search-bar {

    background-color: var(--bg-card);

    border: 1px solid var(--border-color);

    color: var(--text-primary);

    padding: 0.6rem 1.2rem;

    font-size: 1rem;

    font-family: 'Inter', sans-serif;

    outline: none;

    width: 300px;

    transition: all 0.2s;

}



.search-bar:focus {

    border-color: var(--accent);

    box-shadow: 0 0 10px rgba(204, 255, 0, 0.2);

}



.filters {

    display: flex;

    gap: 0.5rem;

    flex-wrap: wrap;

}



.filter-btn {

    background: transparent;

    border: 1px solid var(--border-color);

    color: var(--text-secondary);

    padding: 0.5rem 1rem;

    font-size: 0.9rem;

    cursor: pointer;

    transition: all 0.2s;

}



.filter-btn:hover {

    border-color: var(--text-primary);

    color: var(--text-primary);

}



.filter-btn.active {

    background-color: var(--text-primary);

    color: var(--bg-main);

    border-color: var(--text-primary);

}



/* Players Grid */

.players-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));

    gap: 1.5rem;

}



/* Professional Player Card */

.player-card {

    background-color: var(--bg-card);

    border: 1px solid var(--border-color);

    display: flex;

    flex-direction: column;

    position: relative;

    cursor: pointer;

    transition: transform 0.2s, background-color 0.2s, border-color 0.2s;

}



.player-card:hover {

    transform: translateY(-5px);

    background-color: var(--bg-card-hover);

    border-color: var(--text-primary);

}



/* Top half: Photo and Rating */

.card-top {

    position: relative;

    height: 200px;

    background-color: #1a1a1a;

    display: flex;

    align-items: flex-end;

    justify-content: center;

    border-bottom: 1px solid var(--border-color);

    overflow: hidden;

}



/* Placeholder for photo */

.card-photo {

    font-size: 4rem;

    font-weight: 700;

    color: #333;

    font-family: 'Oswald', sans-serif;

    user-select: none;

}



.card-rating {

    position: absolute;

    top: 1rem;

    left: 1rem;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    max-width: 120px;

}



.rating-val {

    font-size: 2.5rem;

    line-height: 1;

    font-weight: 700;

}



.rating-pos {

    font-size: 0.75rem;

    font-weight: 600;

    color: var(--text-secondary);

    letter-spacing: 0.5px;

    text-transform: uppercase;

    text-align: left;

    line-height: 1.1;

    margin-top: 0.2rem;

}



.full-pos-badge {

    color: var(--accent);

}



/* Bottom half: Info and Stats */

.card-bottom {

    padding: 1.5rem;

}



.player-name {

    font-family: 'Oswald', sans-serif;

    font-size: 1.5rem;

    font-weight: 500;

    margin-bottom: 0.25rem;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}



.player-club {

    font-size: 0.85rem;

    color: var(--text-secondary);

    margin-bottom: 1.5rem;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



.detailed-pos-label {

    color: var(--accent);

    font-weight: 500;

}



.player-stats {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 1rem;

    border-top: 1px solid var(--border-color);

    padding-top: 1rem;

}



.stat-box {

    display: flex;

    flex-direction: column;

}



.stat-label {

    font-size: 0.7rem;

    color: var(--text-secondary);

    text-transform: uppercase;

    margin-bottom: 0.2rem;

}



.stat-val {

    font-size: 1.1rem;

    font-weight: 600;

    font-family: 'Oswald', sans-serif;

}



/* Rating specific colors */

.rating-color-high { color: var(--rating-high); }

.rating-color-mid { color: var(--rating-mid); }

.rating-color-low { color: var(--rating-low); }



/* View Sections */

.view-section {

    display: none;

}



.view-section.active {

    display: block;

}



/* Higher/Lower Game View */

#game-view {

    text-align: center;

    padding-top: 2rem;

}



.game-header {

    display: flex;

    justify-content: center;

    gap: 4rem;

    margin-bottom: 4rem;

}



.score-board {

    display: flex;

    flex-direction: column;

    align-items: center;

}



.score-label {

    font-size: 0.9rem;

    color: var(--text-secondary);

    letter-spacing: 2px;

    margin-bottom: 0.5rem;

}



.score-value {

    font-size: 3rem;

    font-family: 'Oswald', sans-serif;

    font-weight: 700;

    line-height: 1;

    color: var(--accent);

}



.game-arena {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 2rem;

    flex-wrap: wrap;

}



.game-vs {

    font-size: 3rem;

    font-family: 'Oswald', sans-serif;

    font-weight: 700;

    color: var(--text-secondary);

    font-style: italic;

    opacity: 0.5;

}



.game-card-container {

    width: 320px;

    perspective: 1000px;

}



/* Override default card hover in game */

#game-view .player-card {

    cursor: default;

    transform: none !important;

}



.game-controls {

    margin-top: 2rem;

    display: flex;

    flex-direction: column;

    gap: 1rem;

    animation: fadeIn 0.5s ease-in;

}



.btn-game {

    background-color: transparent;

    border: 2px solid var(--border-color);

    color: var(--text-primary);

    font-family: 'Oswald', sans-serif;

    font-size: 1.5rem;

    padding: 1rem 2rem;

    cursor: pointer;

    transition: all 0.2s;

    text-transform: uppercase;

}



.btn-game:hover {

    background-color: var(--text-primary);

    color: var(--bg-main);

}



.btn-higher:hover {

    background-color: var(--accent);

    border-color: var(--accent);

    color: var(--bg-main);

}



.btn-lower:hover {

    background-color: #ff3333;

    border-color: #ff3333;

    color: var(--bg-main);

}



.hidden-rating {

    font-size: 4rem;

    font-weight: 700;

    color: var(--text-primary);

    text-shadow: 0 0 10px rgba(255,255,255,0.5);

    margin: 2rem 0;

}



.hidden-rating-text {

    font-size: 1.2rem;

    color: var(--text-secondary);

    margin-bottom: 1rem;

}



/* Modal */

.game-over-modal {

    position: fixed;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    background-color: var(--bg-card);

    border: 2px solid var(--accent);

    padding: 3rem;

    z-index: 100;

    box-shadow: 0 20px 50px rgba(0,0,0,0.8);

    text-align: center;

}



.game-over-modal.hidden {

    display: none;

}



.game-over-title {

    font-size: 3rem;

    color: #ff3333;

    margin-bottom: 1rem;

}



.game-over-text {

    font-size: 1.5rem;

    margin-bottom: 2rem;

}



.play-again-btn {

    background-color: var(--accent);

    color: var(--bg-main);

    border: none;

    font-family: 'Oswald', sans-serif;

    font-size: 1.5rem;

    padding: 1rem 2rem;

    cursor: pointer;

    transition: all 0.2s;

}



.play-again-btn:hover {

    background-color: #fff;

}



@keyframes fadeIn {

    from { opacity: 0; transform: translateY(10px); }

    to { opacity: 1; transform: translateY(0); }

}



/* Responsive */

@media (max-width: 768px) {

    .page-header {

        flex-direction: column;

        align-items: flex-start;

        gap: 1.5rem;

    }

    

    .game-arena {

        flex-direction: column;

    }

}



.group-divider {

    background-color: transparent !important;

}



.group-divider td {

    padding: 1rem 0 0.5rem 0 !important;

    font-family: 'Oswald', sans-serif;

    color: var(--text-secondary);

    text-transform: uppercase;

    font-size: 0.85rem;

    border-bottom: 2px solid var(--border-color) !important;

    letter-spacing: 1px;

}



/* ==========================================================================

   DRAFT SEZÓNY (DRAFT VIEW)

   ========================================================================== */



.draft-phase {

    display: none;

    flex-direction: column;

    align-items: center;

    width: 100%;

}



.draft-phase.active {

    display: flex;

}



#pitch-container.active {

    display: flex;

    flex-direction: row;

    gap: 2rem;

    justify-content: center;

    align-items: stretch;

    max-width: 1200px;

    margin: 0 auto;

}



.hidden {

    display: none !important;

}



/* Phase 1: Formations */

#formation-selection h2 {

    margin-bottom: 2rem;

    color: var(--text-secondary);

}



.formation-options {

    display: flex;

    gap: 2rem;

}



.formation-btn {

    background-color: var(--bg-card);

    border: 2px solid var(--border-color);

    color: var(--text-primary);

    font-family: 'Oswald', sans-serif;

    font-size: 2rem;

    padding: 2rem 4rem;

    cursor: pointer;

    transition: all 0.2s;

    border-radius: 8px;

}



.formation-btn:hover {

    border-color: var(--accent);

    color: var(--accent);

    transform: translateY(-5px);

}



/* Phase 2: Pitch */

.pitch-container {

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 2rem;

}



.pitch {

    position: relative;

    width: 100%;

    min-width: 500px;

    max-width: 800px;

    height: 520px;

    background-color: #2b5329; /* Grass green */

    border: 3px solid #ffffff;

    border-radius: 4px;

    margin-bottom: 0.5rem;

    background-image: 

        linear-gradient(to right, rgba(255,255,255,0.1) 1px, transparent 1px),

        linear-gradient(to bottom, rgba(255,255,255,0.1) 1px, transparent 1px);

    background-size: 100px 100px;

    overflow: hidden;

}



/* Pitch lines (simplified) */

.pitch::before {

    content: '';

    position: absolute;

    top: 0;

    bottom: 0;

    left: 50%;

    width: 2px;

    background-color: rgba(255, 255, 255, 0.5);

    transform: translateX(-50%);

}

.pitch::after {

    content: '';

    position: absolute;

    top: 50%;

    left: 50%;

    width: 150px;

    height: 150px;

    border: 2px solid rgba(255, 255, 255, 0.5);

    border-radius: 50%;

    transform: translate(-50%, -50%);

}



.pitch-slot {

    position: absolute;

    width: 90px;

    height: 130px;

    transform: translate(-50%, -50%);

    background-color: rgba(20, 20, 20, 0.8);

    border: 2px dashed var(--text-secondary);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    transition: all 0.2s;

    z-index: 10;

}



.pitch-slot:hover {

    border-color: var(--accent);

    background-color: rgba(204, 255, 0, 0.1);

}



.pitch-slot.filled {

    border: 2px solid var(--accent);

    background-color: var(--bg-card);

    padding: 0;

    justify-content: flex-start;

}



.pitch-slot .pos-label {

    font-family: 'Oswald', sans-serif;

    font-size: 1.2rem;

    color: var(--text-secondary);

}



.pitch-slot .add-icon {

    font-size: 1.5rem;

    color: var(--text-secondary);

    margin-top: 0.5rem;

}



.pitch-slot:hover .pos-label,

.pitch-slot:hover .add-icon {

    color: var(--accent);

}



/* Bench Slot overrides */

.bench-slot {

    width: 70px !important;

    height: 100px !important;

}



.bench-slot .pos-label {

    font-size: 1rem;

}



.bench-slot .add-icon {

    font-size: 1.2rem;

    margin-top: 0.2rem;

}



.bench-slot .mini-rating {

    font-size: 1.2rem;

}



.bench-slot .mini-name {

    font-size: 0.68rem;

    font-weight: 700;

}



.bench-slot .mini-club {

    font-size: 0.52rem;

}



.bench-slot .mini-top {

    height: 55% !important;

}



.bench-slot .mini-bottom {

    height: 45% !important;

    padding: 2px 4px !important;

}



/* Drag & Drop */

.pitch-slot.dragging {

    opacity: 0.5;

    border: 2px dashed #fff;

}



.pitch-slot.drag-over {

    border: 2px solid #4CAF50;

    box-shadow: 0 0 10px #4CAF50;

}



/* Mini player card for pitch */

.pitch-slot .mini-card {

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    position: relative;

}



/* Status Icons */

.status-icon {

    position: absolute;

    top: -6px;

    right: -6px;

    width: 22px;

    height: 22px;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 14px;

    font-weight: bold;

    z-index: 10;

    box-shadow: 0 0 5px rgba(0,0,0,0.8);

    border: 1px solid #fff;

}



.status-injury {

    background-color: #ef4444;

    color: white;

}



.status-yc {

    background-color: #eab308;

    color: black;

}



.status-rc {

    background-color: #dc2626;

    color: white;

}

.mini-card .mini-top {

    height: 50%;

    background-color: #1a1a1a;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    border-bottom: 1px solid var(--border-color);

}

.mini-card .mini-rating {

    font-family: 'Oswald', sans-serif;

    font-size: 1.5rem;

    font-weight: 700;

}

.mini-card .mini-bottom {

    height: 50%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 2px;

}

.mini-card .mini-name {

    font-family: 'Oswald', sans-serif;

    font-size: 0.92rem;

    font-weight: 700;

    text-transform: uppercase;

    text-align: center;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    width: 100%;

}

.mini-card .mini-club {

    font-size: 0.58rem;

    color: var(--text-secondary);

    text-transform: uppercase;

    opacity: 0.8;

}



/* Modal for drafting */

.draft-modal {

    position: fixed;

    top: 0; left: 0; right: 0; bottom: 0;

    background-color: rgba(0, 0, 0, 0.9);

    z-index: 1000;

    display: flex;

    align-items: center;

    justify-content: center;

}



.draft-modal.hidden {

    display: none;

}



.draft-modal-content {

    background-color: var(--bg-main);

    border: 2px solid var(--border-color);

    padding: 3rem;

    width: 95%;

    max-width: 1300px;

    max-height: 90vh;

    overflow-y: auto;

    display: flex;

    flex-direction: column;

    align-items: center;

    border-radius: 8px;

}



.draft-modal-title {

    font-size: 2.5rem;

    margin-bottom: 3rem;

}



.draft-choices {

    display: flex;

    gap: 2rem;

    margin-bottom: 3rem;

    width: 100%;

    justify-content: center;

    flex-wrap: wrap;

}



/* Simulation Phase */

.simulation-layout {

    display: flex;

    width: 100%;

    gap: 1.5rem;

    margin-bottom: 1rem;

}



.league-table-container {

    flex: 2;

    min-width: 420px;

    background-color: var(--bg-card);

    border: 1px solid var(--border-color);

    padding: 1rem;

    border-radius: 8px;

}



.league-table {

    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;

}



.league-table th, .league-table td {

    padding: 0.25rem 0.5rem;

    text-align: left;

    border-bottom: 1px solid var(--border-color);

}



.league-table th:first-child, .league-table td:first-child { width: 40px; text-align: center; }

.league-table th:nth-child(2), .league-table td:nth-child(2) { width: auto; overflow: hidden; text-overflow: ellipsis; }

.league-table th:nth-child(n+3), .league-table td:nth-child(n+3) { width: 38px; text-align: center; }

.league-table th:last-child, .league-table td:last-child { width: 44px; text-align: center; font-weight: 700; }



.league-table th {

    font-family: 'Oswald', sans-serif;

    color: var(--text-secondary);

    font-size: 1rem;

}



.league-table td {

    font-size: 0.9rem;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

}



.league-table tr:nth-child(even) {

    background-color: rgba(255,255,255,0.02);

}



.league-table tr.player-team {

    background-color: rgba(204, 255, 0, 0.1);

    font-weight: 600;

}



.league-table tr.player-team td {

    color: var(--accent);

}



.latest-results {

    flex: 1;

    background-color: var(--bg-card);

    border: 1px solid var(--border-color);

    padding: 1rem;

    border-radius: 8px;

    max-height: 480px;

    overflow-y: auto;

}



.result-item {

    padding: 1rem;

    border-bottom: 1px solid var(--border-color);

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-family: 'Oswald', sans-serif;

}

.result-item .home-team { text-align: right; flex: 1; }

.result-item .score { font-size: 1.5rem; margin: 0 1rem; color: var(--accent); width: 60px; text-align: center;}

.result-item .away-team { text-align: left; flex: 1; }



.simulation-controls {

    display: flex;

    gap: 1rem;

}



.season-status {

    font-size: 2.5rem;

    color: var(--accent);

    margin-bottom: 2rem;

}



/* Animations */

@keyframes modalPopIn {

    0% { opacity: 0; transform: scale(0.9); }

    100% { opacity: 1; transform: scale(1); }

}



@keyframes slideUpFadeIn {

    0% { opacity: 0; transform: translateY(40px) scale(0.95); }

    100% { opacity: 1; transform: translateY(0) scale(1); }

}



.draft-modal:not(.hidden) .draft-modal-content {

    animation: modalPopIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;

}



.draft-choices > div {

    opacity: 0;

    animation: slideUpFadeIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;

}



.draft-choices > div:nth-child(1) { animation-delay: 0.1s; }

.draft-choices > div:nth-child(2) { animation-delay: 0.25s; }

.draft-choices > div:nth-child(3) { animation-delay: 0.4s; }



/* Mode Selection & Spinner */

.mode-btn {

    background-color: var(--bg-card);

    border: 2px solid var(--border-color);

    color: var(--text-primary);

    font-family: 'Oswald', sans-serif;

    font-size: 2.5rem;

    padding: 2rem 4rem;

    cursor: pointer;

    transition: all 0.2s;

    border-radius: 8px;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 0.5rem;

}



.mode-btn:hover {

    border-color: var(--accent);

    color: var(--accent);

    transform: translateY(-5px);

}



.club-spinner-container {

    background: linear-gradient(to bottom, #111, #1a1a1a);

    border: 2px solid #444;

    box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 0 0 15px rgba(204,255,0,0.2);

    width: 450px;

    height: 160px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    margin-bottom: 2rem;

    border-radius: 12px;

    font-family: 'Oswald', sans-serif;

    text-align: center;

    position: relative;

    overflow: hidden;

    box-sizing: border-box;

}



.club-spinner-container::before {

    content: '';

    position: absolute;

    top: 0; left: 0; right: 0;

    height: 4px;

    background: var(--accent);

    box-shadow: 0 0 10px var(--accent);

}



.club-spinner-container.hidden {

    display: none;

}



.spinner-text {

    font-size: 2.8rem;

    color: var(--accent);

    text-shadow: 0 0 10px rgba(200,255,0,0.3);

    white-space: nowrap;

    width: 100%;

    overflow: hidden;

    text-overflow: ellipsis;

    padding: 0 1rem;

    box-sizing: border-box;

}



@keyframes slotSpin {

    0% { transform: translateY(-15px); opacity: 0; }

    30% { transform: translateY(0); opacity: 1; }

    70% { transform: translateY(0); opacity: 1; }

    100% { transform: translateY(15px); opacity: 0; }

}



.spinner-text.spinning {

    animation: slotSpin 0.15s infinite linear;

    color: var(--text-primary);

    text-shadow: 0 0 10px rgba(255,255,255,0.3);

}



/* Chemistry */

.chem-line {

    stroke: rgba(255, 255, 255, 0.1);

    stroke-width: 4;

    stroke-dasharray: 6,6;

    transition: all 0.3s ease;

}



.chem-line.active {

    stroke: #4CAF50;

    stroke-width: 6;

    stroke-dasharray: none;

    filter: drop-shadow(0 0 8px rgba(76, 175, 80, 0.8));

}



/* Placement Overlay Animations */

@keyframes trophyBounce {

    0%   { transform: scale(0) rotate(-20deg); opacity: 0; }

    60%  { transform: scale(1.3) rotate(5deg); opacity: 1; }

    80%  { transform: scale(0.9) rotate(-2deg); }

    100% { transform: scale(1) rotate(0deg); opacity: 1; }

}



@keyframes placementPopIn {

    0%   { transform: scale(0.3); opacity: 0; }

    70%  { transform: scale(1.15); opacity: 1; }

    100% { transform: scale(1); opacity: 1; }

}



@keyframes fadeInUp {

    0%   { transform: translateY(20px); opacity: 0; }

    100% { transform: translateY(0); opacity: 1; }

}



#placement-overlay:not(.hidden) {

    animation: fadeIn 0.4s ease-out forwards;

}



#placement-position {

    animation: placementPopIn 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;

    animation-delay: 0.5s;

    opacity: 0;

}



#placement-pts {

    animation: fadeInUp 0.5s ease-out forwards;

    animation-delay: 1.1s;

    opacity: 0;

}



#close-placement-btn {

    animation: fadeInUp 0.5s ease-out forwards;

    animation-delay: 1.5s;

    opacity: 0;

}



#placement-overlay.champion #placement-trophy {

    animation: trophyBounce 0.6s ease-out forwards, 

               trophyPulse 1.5s ease-in-out 0.6s infinite;

}



@keyframes trophyPulse {

    0%, 100% { transform: scale(1); }

    50% { transform: scale(1.1); }

}



/* Auto-draft button hover */

#auto-draft-btn:hover {

    background-color: rgba(200, 255, 0, 0.1) !important;

    border-color: var(--accent) !important;

    color: var(--accent) !important;

    transform: translateY(-2px);

}



#auto-draft-btn:active {

    transform: translateY(0px);

}



#auto-draft-btn:disabled {

    opacity: 0.4;

    cursor: not-allowed;

    transform: none;

}



/* Season End Stats */

.season-end-stats-box {

    position: fixed;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 90%;

    max-width: 900px;

    background: linear-gradient(145deg, #131417, #1b1c21);

    border-top: 4px solid var(--accent);

    border-radius: 12px;

    padding: 2.5rem;

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8), 0 0 0 100vw rgba(0,0,0,0.7);

    z-index: 1000;

    max-height: 90vh;

    overflow-y: auto;

}



.season-end-heading {

    text-align: center;

    color: var(--accent);

    font-size: 2.5rem;

    margin-bottom: 2.5rem;

    font-family: 'Oswald', sans-serif;

    text-transform: uppercase;

    letter-spacing: 0.15rem;

    text-shadow: 0 0 15px rgba(200, 255, 0, 0.2);

}



.stats-grids-container {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 1.5rem;

    width: 100%;

}



@media (max-width: 1024px) {

    .stats-grids-container {

        grid-template-columns: repeat(2, 1fr);

    }

}



@media (max-width: 600px) {

    .stats-grids-container {

        grid-template-columns: 1fr;

    }

}



.stats-card {

    background: rgba(255, 255, 255, 0.02);

    border: 1px solid rgba(255, 255, 255, 0.05);

    border-radius: 12px;

    padding: 1.25rem;

    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    display: flex;

    flex-direction: column;

}



.stats-card:hover {

    transform: translateY(-5px);

    border-color: rgba(200, 255, 0, 0.25);

    background: rgba(255, 255, 255, 0.04);

    box-shadow: 0 12px 40px 0 rgba(200, 255, 0, 0.08);

}



.stats-card-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    padding-bottom: 0.75rem;

    margin-bottom: 1rem;

}



.stats-card-header h3 {

    font-family: 'Oswald', sans-serif;

    text-transform: uppercase;

    font-size: 1.15rem;

    letter-spacing: 0.05rem;

    color: #eee;

    margin: 0;

}



.stats-card-header .header-icon {

    font-size: 1.25rem;

    opacity: 0.8;

}



.stats-list {

    list-style: none;

    padding: 0;

    margin: 0;

    display: flex;

    flex-direction: column;

    gap: 0.5rem;

}



.stats-item {

    display: flex;

    align-items: center;

    padding: 0.4rem 0.5rem;

    border-radius: 6px;

    border: 1px solid transparent;

    font-size: 0.88rem;

    transition: all 0.2s;

}



.stats-item:hover {

    background: rgba(255, 255, 255, 0.03);

}



.stats-item.player-highlight {

    background: rgba(200, 255, 0, 0.05);

    border: 1px solid rgba(200, 255, 0, 0.15);

}



.stats-item.player-highlight:hover {

    background: rgba(200, 255, 0, 0.09);

}



.stats-rank {

    font-family: 'Oswald', sans-serif;

    font-weight: 700;

    font-size: 0.95rem;

    width: 1.5rem;

    text-align: left;

    color: #888;

}



.stats-rank.rank-1 { color: #ffd700; text-shadow: 0 0 8px rgba(255,215,0,0.4); }

.stats-rank.rank-2 { color: #c0c0c0; }

.stats-rank.rank-3 { color: #cd7f32; }



.stats-player-name {

    flex: 1;

    font-weight: 500;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    margin-right: 0.5rem;

}



.stats-player-club {

    font-size: 0.72rem;

    color: #666;

    margin-right: 0.5rem;

    text-transform: uppercase;

}



.stats-value-badge {

    font-family: 'Oswald', sans-serif;

    font-weight: 700;

    font-size: 0.9rem;

    background: rgba(255, 255, 255, 0.04);

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 4px;

    padding: 0.15rem 0.45rem;

    color: #eee;

    white-space: nowrap;

}



.stats-item.player-highlight .stats-value-badge {

    background: rgba(200, 255, 0, 0.15);

    border-color: rgba(200, 255, 0, 0.3);

    color: var(--accent);

}



/* Simulation Tabs */

.sim-tabs {

    border-bottom: 2px solid rgba(255,255,255,0.05);

    padding-bottom: 0.5rem;

    margin-bottom: 1.5rem;

    width: 100%;

}



.tab-btn {

    background: none;

    border: none;

    color: #888;

    font-size: 1.1rem;

    font-weight: 600;

    text-transform: uppercase;

    padding: 0.5rem 1.5rem;

    cursor: pointer;

    position: relative;

    transition: all 0.25s ease;

}



.tab-btn:hover {

    color: #eee;

}



.tab-btn.active {

    color: var(--accent);

}



.tab-btn.active::after {

    content: '';

    position: absolute;

    bottom: -0.6rem;

    left: 1.5rem;

    right: 1.5rem;

    height: 3px;

    background-color: var(--accent);

    box-shadow: 0 0 10px var(--accent);

}



.sim-tab-content.hidden {

    display: none !important;

}



/* Hall of Fame Styling */

.hof-table {

    width: 100%;

    border-collapse: collapse;

    margin-top: 1rem;

    font-family: 'Inter', sans-serif;

}



.hof-table th, .hof-table td {

    padding: 0.75rem 1rem;

    text-align: left;

    border-bottom: 1px solid rgba(255,255,255,0.06);

}



.hof-table th {

    font-family: 'Oswald', sans-serif;

    text-transform: uppercase;

    color: #888;

    font-size: 0.85rem;

    letter-spacing: 0.05rem;

}



.hof-table tr:hover {

    background: rgba(255,255,255,0.02);

}



.hof-table td strong {

    font-family: 'Oswald', sans-serif;

    font-size: 1.05rem;

}



.hof-row-1st {

    color: gold;

    text-shadow: 0 0 8px rgba(255,215,0,0.2);

}

.hof-row-top {

    font-weight: bold;

}

/* =========================================

   CAREER MODE STYLES

========================================= */

.career-team-card {

    background: rgba(20,20,20,0.8);

    border: 2px solid #333;

    border-radius: 8px;

    padding: 1.5rem;

    text-align: center;

    cursor: pointer;

    transition: all 0.2s ease;

}

.career-team-card:hover {

    border-color: var(--accent);

    transform: translateY(-5px);

    box-shadow: 0 10px 20px rgba(0, 243, 255, 0.1);

}

.career-team-budget {

    font-size: 1.5rem;

    font-family: 'Oswald', sans-serif;

    color: #4ade80;

    margin-top: 1rem;

}



.news-item {

    background: rgba(0,0,0,0.5);

    border-left: 3px solid var(--accent);

    padding: 0.8rem;

    border-radius: 4px;

    font-size: 0.95rem;

}

.news-item.transfer {

    border-left-color: #facc15;

}

.news-item.injury {

    border-left-color: #f87171;

}

.news-item.award {

    border-left-color: #ffd700;

    background: rgba(255, 215, 0, 0.08);

}

.news-item.finance {

    border-left-color: #4ade80;

    background: rgba(74, 222, 128, 0.08);

}

.news-item .news-date {

    font-size: 0.75rem;

    color: #aaa;

    margin-bottom: 0.3rem;

}



.transfer-player-card {
    background: rgba(25, 25, 25, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 1.2rem 1rem;
    text-align: center;
    position: relative;
    cursor: pointer;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.transfer-player-card:hover {
    border-color: var(--accent);
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(204, 255, 0, 0.15);
    background: rgba(30, 35, 30, 0.65);
}

.transfer-price {
    font-family: 'Oswald', sans-serif;
    color: #facc15;
    font-size: 1.1rem;
    margin-top: 0.8rem;
    font-weight: 700;
    background: rgba(250, 204, 21, 0.08);
    border: 1px solid rgba(250, 204, 21, 0.25);
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    display: inline-block;
}




/* =========================================

   SQUAD HUB & INJURIES STYLES

========================================= */

.status-overlay {

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,0.6);

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 2rem;

    z-index: 10;

    border-radius: 6px;

    pointer-events: none;

}

.status-injury {

    color: #ef4444;

    text-shadow: 0 0 5px rgba(239, 68, 68, 0.5);

}

.status-suspension {

    color: #facc15;

    text-shadow: 0 0 5px rgba(250, 204, 21, 0.5);

}

#reserves-area .pitch-slot {

    width: 90px;

    height: 120px;

    position: relative;

    transform: none;

    margin: 0 auto;

}




/* =========================================

   INBOX & MOL CUP STYLES

========================================= */

.inbox-msg-card {

    background: #111;

    border-left: 4px solid var(--accent);

    padding: 1rem;

    border-radius: 4px;

    cursor: pointer;

    transition: background 0.2s;

}

.inbox-msg-card:hover {

    background: #222;

}

.inbox-msg-card.unread {

    border-left-color: #ef4444;

    background: #1a0f0f;

}

.mol-cup-round {

    display: flex;

    flex-direction: column;

    justify-content: space-around;

    position: relative;

    flex: 1;

}

.mol-cup-match {

    background: #222;

    border: 1px solid #444;

    padding: 0.5rem;

    border-radius: 4px;

    text-align: center;

    margin: 0.5rem;

    font-family: 'Oswald', sans-serif;

}

.mol-cup-match.winner {

    border-color: #ef4444;

    color: white;

}








/* Vlastni scrollbar */


::-webkit-scrollbar {


    width: 8px;


    height: 8px;


}


::-webkit-scrollbar-track {


    background: #111;


    border-radius: 4px;


}


::-webkit-scrollbar-thumb {


    background: #ccff00;


    border-radius: 4px;


    border: 1px solid #111;


    box-shadow: 0 0 8px rgba(204, 255, 0, 0.5);


}


::-webkit-scrollbar-thumb:hover {


    background: #4ade80;


    box-shadow: 0 0 12px rgba(74, 222, 128, 0.9);


}





/* Cervene tlacitko Zrusit/Zavrit */


.btn-cancel {


    background: #e11d48;


    color: white;


    border: none;


    padding: 0.6rem 1.5rem;


    font-weight: bold;


    border-radius: 4px;


    cursor: pointer;


    text-transform: uppercase;


    letter-spacing: 1px;


    transition: all 0.2s ease;


    box-shadow: 0 4px 6px rgba(0,0,0,0.3);


}


.btn-cancel:hover {


    background: #be123c;


    transform: scale(1.05);


}



.modern-close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.modern-close-btn:hover {
    background: #ef4444;
    color: white;
    transform: rotate(90deg);
}



/* STATUS BAR NA CARTECH V KARIERE */
.mini-status-bar {
    width: 100%;
    background: rgba(10, 10, 10, 0.9);
    border-top: 1px solid #333;
    padding: 2px 4px;
    box-sizing: border-box;
}
.stat-row {
    display: flex;
    align-items: center;
    gap: 3px;
    width: 100%;
    color: #ddd;
}
.stat-bar-track {
    flex: 1;
    height: 4px;
    background: #222;
    border-radius: 2px;
    overflow: hidden;
}
.stat-bar-fill {
    height: 100%;
    transition: width 0.3s ease, background 0.3s ease;
}

/* AKADEMIE A REGENI */
.academy-card {
    background: linear-gradient(145deg, #1e1e1e, #141414);
    border: 1px solid #333;
    border-radius: 10px;
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}
.academy-card:hover {
    border-color: gold;
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.15);
}
.academy-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}
.academy-rating-badge {
    background: linear-gradient(135deg, gold, #d4af37);
    color: #000;
    font-family: 'Oswald', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(255, 215, 0, 0.3);
}
.academy-pot-badge {
    background: rgba(255, 215, 0, 0.12);
    color: gold;
    border: 1px solid rgba(255, 215, 0, 0.4);
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 1rem;
}
.btn-promote {
    width: 100%;
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    border: 1px solid #34d399;
    padding: 0.7rem;
    border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.btn-promote:hover {
    background: linear-gradient(135deg, #34d399, #10b981);
    transform: scale(1.02);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4);
}

/* SPONZORI A ZAZEMI */
.sponsor-card {
    background: rgba(20, 20, 20, 0.9);
    border: 2px solid #4ade80;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease;
}
.sponsor-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 30px rgba(74,222,128,0.2);
    background: rgba(30, 30, 30, 0.95);
}
.facility-card {
    background: rgba(22, 22, 22, 0.95);
    border: 1px solid #444;
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.facility-level-badge {
    background: rgba(59,130,246,0.2);
    color: #3b82f6;
    border: 1px solid #3b82f6;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    font-weight: 700;
}
.btn-upgrade {
    width: 100%;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    border: none;
    padding: 0.8rem;
    border-radius: 8px;
    font-family: 'Oswald', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    text-transform: uppercase;
}
.btn-upgrade:hover {
    background: linear-gradient(135deg, #60a5fa, #3b82f6);
    transform: scale(1.02);
    box-shadow: 0 4px 15px rgba(59,130,246,0.4);
}

/* UI Modernization Overrides */
.draft-modal-content {
    background: rgba(18, 18, 18, 0.88) !important;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 24px 64px rgba(0,0,0,0.7) !important;
    border-radius: 16px !important;
    padding: 2.5rem !important;
}

.draft-modal-content select {
    background: rgba(30, 30, 30, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    padding: 0.6rem 2.5rem 0.6rem 1.2rem !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 1em !important;
}

.draft-modal-content select:hover {
    border-color: rgba(255,255,255,0.2) !important;
    background-color: rgba(45, 45, 45, 0.7) !important;
}

.draft-modal-content select:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 12px rgba(204, 255, 0, 0.3) !important;
}

.draft-modal-content .search-bar {
    background: rgba(30, 30, 30, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    padding: 0.6rem 1.2rem !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    transition: all 0.25s ease !important;
}

.draft-modal-content .search-bar:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 12px rgba(204, 255, 0, 0.3) !important;
}

.btn-game {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    border-radius: 8px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.btn-game:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Slot compatibility highlights in Draft */
.pitch-slot.compatible-highlight {
    border-color: var(--accent) !important;
    box-shadow: 0 0 15px var(--accent);
    animation: slotPulse 1.2s infinite alternate ease-in-out;
}

@keyframes slotPulse {
    from {
        transform: translate(-50%, -50%) scale(1);
        box-shadow: 0 0 5px var(--accent);
    }
    to {
        transform: translate(-50%, -50%) scale(1.06);
        box-shadow: 0 0 20px var(--accent);
    }
}

/* Vertical Draft Player List Row */
.draft-player-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 950px;
    background: linear-gradient(135deg, rgba(20, 20, 25, 0.95), rgba(30, 30, 40, 0.95));
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 1rem 1.8rem;
    margin-bottom: 0.8rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    box-sizing: border-box;
}

.draft-player-row:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(204,255,0,0.15);
    background: linear-gradient(135deg, rgba(30, 30, 40, 0.95), rgba(40, 40, 50, 0.95));
}

.player-info-main {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex: 1;
}

.player-rating-badge {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    min-width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #000;
    box-shadow: 0 3px 8px rgba(0,0,0,0.3);
}

.player-identity {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.player-name-text {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.03rem;
}

.player-position-sub {
    font-size: 0.75rem;
    color: #888;
    font-weight: 600;
    letter-spacing: 0.05rem;
}

.player-stats-mini {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-right: 3rem;
    color: #bbb;
    font-size: 0.9rem;
}

.stat-mini-item {
    font-weight: 500;
}

.stat-mini-item b {
    color: #777;
    margin-right: 0.3rem;
}

.btn-select-player {
    background-color: var(--accent);
    color: #000;
    border: none;
    padding: 0.6rem 1.8rem;
    border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.05rem;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 3px 8px rgba(204,255,0,0.25);
}

.btn-select-player:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(204,255,0,0.45);
}

.draft-choices-list-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 1rem;
}

/* 3-Column Grid for Draft Player Choices (Fit on Single Page) */
.draft-choices-grid-layout {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.5rem;
    box-sizing: border-box;
}

/* Compact Player Card/Row */
.compact-player-row {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    background: rgba(25, 25, 35, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    padding: 0.6rem 0.8rem;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
}

.compact-player-row:hover {
    border-color: var(--accent);
    background: rgba(40, 40, 55, 0.95);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(204,255,0,0.1);
}

.compact-rating-badge {
    font-family: 'Oswald', sans-serif;
    font-size: 1.15rem;
    font-weight: bold;
    min-width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: #000;
    flex-shrink: 0;
}

.compact-player-identity {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    overflow: hidden;
}

.compact-player-name {
    font-size: 0.92rem;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.compact-player-pos {
    font-size: 0.68rem;
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
}

.compact-rating-badge.rating-color-high {
    background-color: var(--rating-high) !important;
}
.compact-rating-badge.rating-color-mid {
    background-color: var(--rating-mid) !important;
}
.compact-rating-badge.rating-color-low {
    background-color: var(--rating-low) !important;
}

@keyframes slotPulseGlow {
    0% {
        outline: 3px dashed #ccff00;
        box-shadow: 0 0 12px rgba(204, 255, 0, 0.8), inset 0 0 15px rgba(204, 255, 0, 0.4);
    }
    50% {
        outline: 4px dashed #4ade80;
        box-shadow: 0 0 25px rgba(74, 222, 128, 1), inset 0 0 25px rgba(74, 222, 128, 0.6);
    }
    100% {
        outline: 3px dashed #ccff00;
        box-shadow: 0 0 12px rgba(204, 255, 0, 0.8), inset 0 0 15px rgba(204, 255, 0, 0.4);
    }
}

.pitch-slot.compatible-highlight {
    outline: 3px dashed #ccff00 !important;
    outline-offset: -2px !important;
    background: rgba(204, 255, 0, 0.25) !important;
    animation: slotPulseGlow 1.2s infinite ease-in-out !important;
    cursor: pointer !important;
    z-index: 100 !important;
}

.pitch-slot, .mini-card {
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: element !important;
}

.mini-card * {
    pointer-events: none !important;
    user-select: none !important;
}


/* ==========================================================================
   KARIÉRA – domovská obrazovka (sidebar + horní lišta + mřížka panelů)
   ========================================================================== */

/* Když je dashboard aktivní, využij celou šířku a schovej nadpis "KARIÉRA" */
.container:has(#career-dashboard:not(.hidden)) {
    max-width: none;
    padding: 1rem 1.25rem;
}

#career-view:has(#career-dashboard:not(.hidden)) > .page-header {
    display: none;
}

.fm-dashboard-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    height: calc(100vh - 110px);
    min-height: 660px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
}

/* --- Sidebar --- */
.fm-sidebar {
    width: 210px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: #101010;
    border-right: 1px solid var(--border-color);
    padding: 0.5rem 0;
    overflow-y: auto;
}

.fm-nav-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0.6rem 1rem;
    background: transparent;
    border: none;
    border-left: 3px solid transparent;
    color: #bbb;
    font-family: 'Inter', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.fm-nav-btn:hover {
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
}

.fm-nav-btn.active {
    background: rgba(204, 255, 0, 0.08);
    border-left-color: var(--accent);
    color: var(--accent);
}

.fm-nav-label {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.fm-nav-icon {
    width: 0.95rem;
    height: 0.95rem;
    fill: currentColor;
    flex-shrink: 0;
}

.fm-nav-divider {
    height: 1px;
    margin: 0.4rem 1rem;
    background: var(--border-color);
}

.fm-badge-red,
.fm-badge-green,
.fm-badge-gold,
.fm-badge-blue {
    font-family: 'Oswald', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
    white-space: nowrap;
}

.fm-badge-red { background: #ef4444; color: #fff; }
.fm-badge-green { background: rgba(74, 222, 128, 0.15); color: #4ade80; border: 1px solid rgba(74, 222, 128, 0.5); }
.fm-badge-gold { background: rgba(250, 204, 21, 0.15); color: #facc15; border: 1px solid rgba(250, 204, 21, 0.5); }
.fm-badge-blue { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.5); }

.fm-sidebar-next {
    margin-top: auto;
    padding: 0.8rem 1rem;
    border-top: 1px solid var(--border-color);
}

.fm-sidebar-next-label {
    font-size: 0.65rem;
    color: var(--text-secondary);
    letter-spacing: 1px;
}

.fm-sidebar-next-team {
    margin-top: 0.15rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: #fff;
}

/* --- Hlavní část --- */
.fm-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: var(--bg-main);
}

.fm-topbar {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.7rem 1.2rem;
    background: #101010;
    border-bottom: 1px solid var(--border-color);
}

.fm-topbar-title {
    font-family: 'Oswald', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.1;
}

.fm-topbar-sub {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.fm-topbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.fm-topbar-date {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 0.25rem 0.8rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.7rem;
    color: var(--text-secondary);
    line-height: 1.25;
}

.fm-topbar-date strong {
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    color: #fff;
    letter-spacing: 0.5px;
}

.fm-btn-play,
.fm-btn-sim {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 2.6rem;
    padding: 0 1.1rem;
    border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.15s;
}

.fm-btn-play {
    background: var(--accent);
    color: #000;
    border: 1px solid var(--accent);
    padding: 0 1.4rem;
}

.fm-btn-play:hover {
    filter: brightness(1.1);
    box-shadow: 0 0 14px rgba(204, 255, 0, 0.35);
}

.fm-btn-sim {
    background: transparent;
    color: #ccc;
    border: 1px solid var(--border-color);
}

.fm-btn-sim:hover {
    color: #fff;
    border-color: #555;
    background: rgba(255, 255, 255, 0.04);
}

/* --- Mřížka panelů --- */
.fm-grid {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: minmax(210px, 0.8fr) minmax(0, 1.6fr);
    gap: 0.6rem;
    padding: 0.6rem;
}

.fm-panel {
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.8rem 0.9rem;
    overflow: hidden;
}

.fm-panel-match {
    grid-column: span 2;
    padding: 0;
}

.fm-panel-title {
    font-family: 'Oswald', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: var(--accent);
    margin: 0 0 0.6rem 0;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid #222;
    flex-shrink: 0;
}

.fm-panel-hint {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin: 0 0 0.6rem 0;
}

.fm-empty {
    color: #666;
    font-style: italic;
    font-size: 0.8rem;
}

/* Erb klubu (iniciály) */
.fm-crest {
    width: 76px;
    height: 76px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% 50% 46% 46% / 40% 40% 60% 60%;
    background: #1c1c1c;
    border: 2px solid #444;
    font-family: 'Oswald', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #ddd;
}

.fm-crest-sm {
    width: 38px;
    height: 38px;
    font-size: 0.85rem;
}

.fm-crest-xs {
    width: 18px;
    height: 18px;
    font-size: 0.5rem;
    border-width: 1px;
}

.fm-crest-mine {
    background: rgba(204, 255, 0, 0.1);
    border-color: var(--accent);
    color: var(--accent);
}

/* Příští zápas */
.fm-match-hero {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 1.4rem;
    background: radial-gradient(ellipse at center, rgba(204, 255, 0, 0.06), transparent 70%);
}

.fm-match-hero-head {
    text-align: center;
    margin-bottom: 0.9rem;
}

.fm-match-hero-head .fm-label {
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 1px;
    color: var(--accent);
}

.fm-match-hero-head .fm-sub {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.fm-match-hero-body {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.fm-match-hero-center {
    flex: 1;
    text-align: center;
}

.fm-match-teams {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.fm-match-teams .fm-vs {
    color: var(--text-secondary);
    font-size: 1rem;
    margin: 0 0.5rem;
}

.fm-match-comp {
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin-top: 0.15rem;
}

.fm-match-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 1.5rem;
    margin-top: 0.9rem;
    font-size: 0.75rem;
}

.fm-match-meta div span {
    display: block;
    font-size: 0.65rem;
    letter-spacing: 0.8px;
    color: var(--text-secondary);
}

.fm-match-meta div strong {
    color: #fff;
    font-weight: 600;
}

/* Zprávy */
.fm-news-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-right: 0.2rem;
}

.fm-news-list .news-item {
    font-size: 0.78rem;
    padding: 0.5rem 0.6rem;
    background: rgba(255, 255, 255, 0.025);
}

.fm-news-list .news-item .news-date {
    font-size: 0.65rem;
    margin-bottom: 0.15rem;
}

/* Naše zápasy */
.fm-fixtures {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.fm-fixture {
    display: grid;
    grid-template-columns: 2.6rem 1.2rem 18px 1fr auto;
    align-items: center;
    gap: 0.45rem;
    padding: 0.32rem 0.2rem;
    font-size: 0.78rem;
    border-bottom: 1px solid #1d1d1d;
}

.fm-fixture-round { color: var(--text-secondary); font-size: 0.7rem; }
.fm-fixture-ha { color: var(--text-secondary); font-weight: 600; }
.fm-fixture-team { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.fm-fixture-score {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
}

.fm-fixture-next {
    background: rgba(204, 255, 0, 0.06);
    border-radius: 4px;
}

.fm-fixture-next .fm-fixture-score { color: var(--accent); font-size: 0.7rem; letter-spacing: 0.5px; }

.fm-result-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    box-sizing: border-box;
}

.fm-result-dot.win { background: #4ade80; }
.fm-result-dot.draw { background: #facc15; }
.fm-result-dot.loss { border: 2px solid #ef4444; }

/* Tabulka */
.fm-table-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.fm-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.fm-table th {
    position: sticky;
    top: 0;
    background: var(--bg-card);
    color: var(--text-secondary);
    font-size: 0.68rem;
    font-weight: 600;
    text-align: left;
    padding: 0.3rem 0.4rem;
    border-bottom: 1px solid #2a2a2a;
}

.fm-table td {
    padding: 0.3rem 0.4rem !important;
    border-bottom: 1px solid #1b1b1b;
    white-space: nowrap;
}

.fm-table td:nth-child(2) {
    max-width: 0;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fm-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}

/* Taktika */
.fm-tactics {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    overflow-y: auto;
}

.fm-tactics .tactic-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    width: 100%;
    padding: 0.55rem 0.75rem;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid #2a2a2a;
    border-left: 3px solid #2a2a2a;
    border-radius: 5px;
    color: #fff;
    text-align: left;
    cursor: pointer;
    transition: all 0.15s;
}

.fm-tactics .tactic-btn strong { font-size: 0.85rem; }
.fm-tactics .tactic-btn small { font-size: 0.7rem; color: var(--text-secondary); }

.fm-tactics .tactic-btn:hover {
    background: rgba(255, 255, 255, 0.05);
}

.fm-tactics .tactic-btn.active {
    background: rgba(204, 255, 0, 0.08);
    border-color: rgba(204, 255, 0, 0.35);
    border-left-color: var(--accent);
}

.fm-tactics .tactic-btn.active strong { color: var(--accent); }

/* Vedení a fanoušci */
.fm-meter {
    margin-bottom: 0.8rem;
}

.fm-meter-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    color: #bbb;
    margin-bottom: 0.3rem;
}

.fm-meter-row strong { color: var(--accent); }
.fm-meter-row strong.fm-meter-blue { color: #60a5fa; }

.fm-meter-track {
    height: 6px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    overflow: hidden;
}

.fm-meter-fill {
    height: 100%;
    background: var(--accent);
    transition: width 0.3s;
}

.fm-meter-fill-blue { background: #3b82f6; }

.fm-stat-list {
    margin-top: 0.4rem;
    border-top: 1px solid #222;
    padding-top: 0.5rem;
}

.fm-stat-row {
    display: flex;
    justify-content: space-between;
    padding: 0.35rem 0;
    font-size: 0.78rem;
    color: #bbb;
    border-bottom: 1px solid #1b1b1b;
}

.fm-stat-row strong { color: #fff; }

/* Kádr – nejlepší / nejslabší */
.fm-squad-preview {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    overflow-y: auto;
}

.fm-squad-label {
    font-family: 'Oswald', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 1px;
    color: var(--text-secondary);
    margin-top: 0.2rem;
}

.fm-squad-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
    border-radius: 5px;
    background: var(--accent);
    color: #000;
}

.fm-squad-highlight.worst {
    background: #b91c1c;
    color: #fff;
}

.fm-squad-highlight .fm-squad-name { font-weight: 700; font-size: 0.85rem; }
.fm-squad-highlight .fm-squad-pos { font-size: 0.7rem; opacity: 0.75; }

.fm-squad-highlight .fm-squad-rating {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.fm-squad-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 0.4rem;
    font-size: 0.78rem;
    border-bottom: 1px solid #1b1b1b;
}

.fm-squad-row span:first-child { color: #ddd; }

.fm-squad-row .fm-squad-rating-sm {
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
    padding: 0.05rem 0.4rem;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.06);
}

/* Rozložení: zprávy přes dva řádky, vedení a fanoušci jen na výšku obsahu */
@media (min-width: 1201px) {
    .fm-grid {
        grid-template-rows: minmax(210px, 0.8fr) minmax(0, 1fr) auto;
        grid-template-areas:
            "match match news fixtures"
            "table tactics news squad"
            "table tactics board squad";
    }
    .fm-area-match { grid-area: match; }
    .fm-area-news { grid-area: news; }
    .fm-area-fixtures { grid-area: fixtures; }
    .fm-area-table { grid-area: table; }
    .fm-area-tactics { grid-area: tactics; }
    .fm-area-board { grid-area: board; }
    .fm-area-squad { grid-area: squad; }
    .fm-area-board .fm-stat-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.2rem; }
    .fm-area-board .fm-stat-list .fm-stat-row { padding: 0.2rem 0; font-size: 0.78rem; white-space: nowrap; gap: 0.4rem; }
    .fm-area-board .fm-meter { margin-bottom: 0.4rem; }
}

/* Menší obrazovky */
@media (max-width: 1200px) {
    .fm-dashboard-container { height: auto; }
    .fm-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: minmax(260px, auto);
    }
    .fm-panel-tall { min-height: 380px; }
}

@media (max-width: 700px) {
    .fm-dashboard-container { flex-direction: column; }
    .fm-sidebar { width: 100%; flex-direction: row; flex-wrap: wrap; border-right: none; border-bottom: 1px solid var(--border-color); }
    .fm-nav-btn { width: auto; }
    .fm-nav-divider, .fm-sidebar-next { display: none; }
    .fm-topbar { flex-wrap: wrap; }
    .fm-grid { grid-template-columns: 1fr; }
    .fm-panel-match { grid-column: auto; }
}

/* --- Sekce ze sidebaru jako stránky v hlavní části --- */
.fm-page-host {
    display: none;
}

.fm-main.fm-showing-page .fm-grid {
    display: none;
}

.fm-main.fm-showing-page .fm-page-host {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.draft-modal.fm-page-mode {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: stretch !important;
    justify-content: stretch;
    padding: 0 !important;
    background: transparent !important;
    overflow: hidden;
}

.draft-modal.fm-page-mode > .draft-modal-content {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 1rem 1.2rem !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--bg-main) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    overflow-y: auto;
    animation: none !important;
}

/* Zavírací křížek nedává na stránce smysl – zpět se jde přes sidebar */
.draft-modal.fm-page-mode .modern-close-btn {
    display: none !important;
}

/* --- Soupiska: rezerva a lavička seskupené podle pozic --- */
.squad-group-title {
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--accent);
    padding-bottom: 0.3rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #2a2a2a;
}

.squad-group-title span {
    color: var(--text-secondary);
    font-weight: 500;
    margin-left: 0.3rem;
}

#reserves-area .squad-group-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 0.5rem;
}

#reserves-area .squad-group-cards .pitch-slot {
    margin-bottom: 0 !important;
}

/* Lavička: skupiny vedle sebe, karty ve skupině v řadě */
#bench-area {
    align-items: flex-start;
    gap: 1rem !important;
}

.squad-group-bench .squad-group-title {
    text-align: center;
    font-size: 0.7rem;
}

.squad-group-bench .squad-group-cards {
    display: flex;
    gap: 0.5rem;
}

/* --- Přestupové okno zavřené: šedý odznak --- */
.fm-badge-green.fm-badge-closed {
    background: rgba(255, 255, 255, 0.05);
    color: #888;
    border-color: #444;
}

.fm-fixture-clickable {
    cursor: pointer;
    border-radius: 4px;
}

.fm-fixture-clickable:hover {
    background: rgba(255, 255, 255, 0.05);
}

/* --- Zápis zápasu --- */
.match-report-content {
    position: relative;
    background: var(--bg-main) !important;
    backdrop-filter: none !important;
    max-width: 1050px !important;
    width: 94% !important;
    max-height: 92vh !important;
    padding: 1.6rem 1.8rem !important;
    align-items: stretch !important;
}

.match-report-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.match-report-continue {
    align-self: center;
    margin-top: 1.2rem;
}

.mr-head {
    text-align: center;
    margin-bottom: 1.2rem;
}

.mr-comp {
    font-size: 0.75rem;
    letter-spacing: 1px;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.mr-scoreline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-top: 0.8rem;
}

.mr-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    width: 180px;
    font-family: 'Oswald', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.mr-score {
    font-family: 'Oswald', sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    color: var(--accent);
    letter-spacing: 2px;
}

.mr-note {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.mr-tactics {
    margin-top: 0.3rem;
    font-size: 0.75rem;
    color: #666;
}

.mr-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
}

.mr-panel {
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.8rem 0.9rem;
}

.mr-events {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.82rem;
}

.mr-event {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mr-event-away {
    flex-direction: row-reverse;
    text-align: right;
}

.mr-event small {
    color: var(--text-secondary);
}

.mr-minute {
    font-family: 'Oswald', sans-serif;
    color: var(--text-secondary);
    min-width: 2.6rem;
}

.mr-event-away .mr-minute {
    text-align: right;
}

.mr-stat {
    margin-bottom: 0.65rem;
}

.mr-stat-values {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
}

.mr-stat-values span {
    color: var(--text-secondary);
}

.mr-stat-bar {
    display: flex;
    height: 6px;
    border-radius: 3px;
    overflow: hidden;
    gap: 2px;
}

.mr-stat-home { background: var(--accent); }
.mr-stat-away { background: #555; }

.mr-motm {
    margin-top: 0.8rem;
    padding: 0.5rem 0.7rem;
    border-radius: 5px;
    background: rgba(204, 255, 0, 0.08);
    font-size: 0.82rem;
}

.mr-player {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
    font-size: 0.8rem;
    border-bottom: 1px solid #1b1b1b;
}

.mr-rating {
    font-family: 'Oswald', sans-serif;
    padding: 0 0.4rem;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.06);
}

.mr-rating-high { background: var(--accent); color: #000; }
.mr-rating-low { background: rgba(239, 68, 68, 0.25); color: #fca5a5; }

/* --- Statistiky --- */
.stats-hub-content {
    max-width: 1200px !important;
    width: 94% !important;
    align-items: stretch !important;
}

.stats-hub-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.8rem;
}

.stats-section-title {
    font-family: 'Oswald', sans-serif;
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin: 1.2rem 0 0.6rem 0;
}

.stats-section-title small {
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    color: var(--text-secondary);
    letter-spacing: 0;
    margin-left: 0.5rem;
}

.stats-boards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
}

.stats-board {
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.7rem 0.8rem;
}

.stats-board-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0;
    font-size: 0.78rem;
    border-bottom: 1px solid #1b1b1b;
}

.stats-board-row.is-mine .stats-name { color: var(--accent); }
.stats-rank { color: var(--text-secondary); min-width: 1.4rem; }

.stats-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stats-name small {
    color: var(--text-secondary);
    margin-left: 0.35rem;
}

.stats-table-wrap {
    overflow-x: auto;
    border: 1px solid #222;
    border-radius: 6px;
}

.stats-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
    white-space: nowrap;
}

.stats-table th {
    position: sticky;
    top: 0;
    background: var(--bg-card);
    color: var(--text-secondary);
    font-weight: 600;
    text-align: left;
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid #2a2a2a;
}

.stats-table td {
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid #1b1b1b;
}

.stats-table tbody tr:hover td { background: rgba(255, 255, 255, 0.03); }

.stats-pos {
    font-family: 'Oswald', sans-serif;
    font-size: 0.72rem;
    color: var(--accent);
}

.stats-pot { color: #666; }
.stats-status { color: #f87171; margin-left: 0.3rem; }

.stats-form {
    display: flex;
    gap: 3px;
    align-items: center;
    height: 100%;
}

.stats-form-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #888;
}

.stats-form-dot.good { background: #4ade80; }
.stats-form-dot.bad { background: #ef4444; }

.stats-renew-btn {
    font-family: 'Oswald', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.5px;
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
    border: 1px solid var(--accent);
    background: transparent;
    color: var(--accent);
    cursor: pointer;
}

.stats-renew-btn:hover { background: rgba(204, 255, 0, 0.1); }

.stats-history {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.stats-history-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.2rem;
    padding: 0.55rem 0.8rem;
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    font-size: 0.8rem;
}

.stats-history-row span { color: #bbb; }

@media (max-width: 1000px) {
    .stats-boards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mr-grid { grid-template-columns: 1fr; }
}

/* --- Živý přenos zápasu --- */
.live-match-content {
    max-width: 1280px !important;
    width: 96% !important;
    max-height: 96vh !important;
    padding: 1rem 1.2rem !important;
    align-items: stretch !important;
    background: var(--bg-main) !important;
    backdrop-filter: none !important;
}

.lm-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.7rem;
}

.lm-team {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-family: 'Oswald', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
}

.lm-team-away { justify-content: flex-end; }

.lm-center { text-align: center; }

.lm-comp {
    font-size: 0.7rem;
    letter-spacing: 1px;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.lm-score {
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--accent);
    line-height: 1.1;
}

.lm-clock {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 0.9rem;
    padding: 0.05rem 0.6rem;
    border-radius: 4px;
    background: #1c1c1c;
    border: 1px solid #333;
}

.lm-body {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr);
    gap: 0.8rem;
    min-height: 0;
}

.lm-pitch-wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #222;
}

.lm-pitch {
    display: block;
    width: 100%;
}

.lm-side {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 0;
}

.lm-stats {
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.6rem 0.7rem;
}

.lm-stat { margin-bottom: 0.5rem; }
.lm-stat:last-child { margin-bottom: 0; }

.lm-stat-values {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
}

.lm-stat-values span { color: var(--text-secondary); }

.lm-stat-bar {
    display: flex;
    gap: 2px;
    height: 5px;
    border-radius: 3px;
    overflow: hidden;
}

.lm-home { background: var(--accent); }
.lm-away { background: #555; }

.lm-feed {
    flex: 1;
    min-height: 120px;
    max-height: 420px;
    overflow-y: auto;
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.5rem 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lm-feed-row {
    display: flex;
    gap: 0.5rem;
    font-size: 0.78rem;
    line-height: 1.35;
    animation: lmFadeIn 0.3s ease;
}

.lm-feed-min {
    font-family: 'Oswald', sans-serif;
    color: var(--text-secondary);
    min-width: 2rem;
}

.lm-filler { color: #888; }
.lm-whistle { color: #fff; }
.lm-goal-mine { color: var(--accent); }
.lm-goal { color: #fff; }
.lm-red { color: #f87171; }

@keyframes lmFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}

.lm-controls {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.7rem;
}

.lm-btn {
    font-family: 'Oswald', sans-serif;
    font-size: 0.85rem;
    padding: 0.35rem 0.8rem;
    border-radius: 5px;
    border: 1px solid #333;
    background: #161616;
    color: #ccc;
    cursor: pointer;
}

.lm-btn:hover { color: #fff; border-color: #555; }
.lm-btn.active { border-color: var(--accent); color: var(--accent); }
.lm-btn:disabled { opacity: 0.4; cursor: default; }

/* Panel přes hřiště: poločas / konec */
.lm-panel {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow-y: auto;
}

.lm-ht {
    width: 100%;
    max-width: 860px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
}

.lm-ht h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    margin: 0;
    color: var(--accent);
}

.lm-ht h4 {
    font-family: 'Oswald', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.8px;
    margin: 0 0 0.5rem 0;
}

.lm-ht h4 small {
    font-family: 'Inter', sans-serif;
    font-size: 0.68rem;
    color: var(--text-secondary);
    letter-spacing: 0;
    margin-left: 0.4rem;
}

.lm-ht-cols {
    width: 100%;
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1rem;
}

.lm-ht-tactics {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lm-ht-tactic {
    text-align: left;
    padding: 0.45rem 0.6rem;
    border-radius: 5px;
    border: 1px solid #333;
    border-left: 3px solid #333;
    background: #151515;
    color: #ddd;
    font-size: 0.8rem;
    cursor: pointer;
}

.lm-ht-tactic.active {
    border-color: rgba(204, 255, 0, 0.4);
    border-left-color: var(--accent);
    color: var(--accent);
    background: rgba(204, 255, 0, 0.08);
}

.lm-ht-lists {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.lm-ht-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lm-ht-player {
    display: grid;
    grid-template-columns: 2.6rem 1fr auto 1.8rem;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.5rem;
    border-radius: 4px;
    border: 1px solid #262626;
    background: #141414;
    color: #ddd;
    font-size: 0.76rem;
    text-align: left;
    cursor: pointer;
}

.lm-ht-player:hover:not(:disabled) { border-color: #555; }
.lm-ht-player.selected { border-color: var(--accent); background: rgba(204, 255, 0, 0.1); }
.lm-ht-player:disabled { opacity: 0.45; cursor: default; }
.lm-ht-empty { color: #777; cursor: default; }

.lm-ht-role {
    font-family: 'Oswald', sans-serif;
    font-size: 0.7rem;
    color: var(--accent);
}

.lm-ht-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lm-ht-fit { color: var(--text-secondary); font-size: 0.7rem; }

.lm-ft-actions {
    display: flex;
    gap: 0.6rem;
}

@media (max-width: 900px) {
    .lm-body { grid-template-columns: 1fr; }
    .lm-ht-cols { grid-template-columns: 1fr; }
    .lm-ht-lists { grid-template-columns: 1fr; }
}

.lm-team > div {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.lm-team-away > div { align-items: flex-end; }

.lm-tactic {
    font-family: 'Inter', sans-serif;
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--text-secondary);
}

/* --- Uložená kariéra a zálohy --- */
.career-save-slot {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
    margin-bottom: 1.5rem;
    background: var(--bg-card);
    border: 1px solid rgba(204, 255, 0, 0.4);
    border-left: 4px solid var(--accent);
    border-radius: 8px;
}

.save-slot-label {
    font-family: 'Oswald', sans-serif;
    font-size: 0.75rem;
    letter-spacing: 1px;
    color: var(--accent);
}

.save-slot-club {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
}

.save-slot-meta {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.save-slot-actions {
    display: flex;
    gap: 0.5rem;
}

.career-setup-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.career-setup-head h2 { margin: 0; }

.fm-sidebar-tools {
    margin-top: auto;
    display: flex;
    gap: 0.4rem;
    padding: 0.6rem 1rem 0;
}

.fm-sidebar-tools + .fm-sidebar-next { margin-top: 0.6rem; }

.fm-tool-btn {
    flex: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.5px;
    padding: 0.35rem 0.4rem;
    border-radius: 5px;
    border: 1px solid var(--border-color);
    background: transparent;
    color: #aaa;
    cursor: pointer;
}

.fm-tool-btn:hover {
    color: #fff;
    border-color: #555;
}

/* --- Akce u hráčů v Statistikách --- */
.stats-actions {
    display: flex;
    gap: 0.3rem;
}

.stats-renew-btn.stats-btn-muted {
    border-color: #444;
    color: #bbb;
}

.stats-renew-btn.is-listed {
    border-color: #facc15;
    color: #facc15;
}

.stats-renew-btn.stats-btn-danger {
    border-color: rgba(239, 68, 68, 0.6);
    color: #f87171;
}

.stats-renew-btn.stats-btn-danger:hover { background: rgba(239, 68, 68, 0.1); }

.stats-listed {
    margin-left: 0.4rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 0.05rem 0.35rem;
    border-radius: 3px;
    background: rgba(250, 204, 21, 0.15);
    color: #facc15;
}

.lm-ft-note {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

/* --- Formace a pokyny na dashboardu --- */
.fm-instr-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.fm-select,
.lm-select {
    background: #151515;
    color: #fff;
    border: 1px solid #333;
    border-radius: 5px;
    padding: 0.25rem 0.5rem;
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
}

.lm-select { width: 100%; margin-bottom: 0.6rem; }

.fm-seg,
.lm-seg {
    display: flex;
    border: 1px solid #333;
    border-radius: 5px;
    overflow: hidden;
}

.fm-seg button,
.lm-seg button {
    flex: 1;
    background: #151515;
    color: #aaa;
    border: none;
    border-right: 1px solid #333;
    padding: 0.25rem 0.45rem;
    font-size: 0.68rem;
    cursor: pointer;
}

.fm-seg button:last-child,
.lm-seg button:last-child { border-right: none; }

.fm-seg button.active,
.lm-seg button.active {
    background: rgba(204, 255, 0, 0.12);
    color: var(--accent);
}

.lm-seg { margin-bottom: 0.6rem; }

.fm-assistant-tip {
    margin-top: 0.8rem;
    padding: 0.45rem 0.7rem;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.04);
    border-left: 3px solid var(--accent);
    font-size: 0.75rem;
    color: #ccc;
    text-align: left;
}

.fm-derby,
.lm-derby { color: #fb923c; font-weight: 600; }

/* --- Panel změn v přenosu --- */
.lm-tips {
    width: 100%;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    background: rgba(204, 255, 0, 0.06);
    border: 1px solid rgba(204, 255, 0, 0.25);
}

.lm-tips-title {
    font-family: 'Oswald', sans-serif;
    font-size: 0.75rem;
    letter-spacing: 1px;
    color: var(--accent);
    margin-bottom: 0.3rem;
}

.lm-tip {
    font-size: 0.78rem;
    color: #ddd;
    padding: 0.12rem 0;
}

.lm-ht-lists-single { grid-template-columns: 1fr; }
.lm-ht-col h4 { margin-top: 0.2rem; }

/* --- Hodnota hráče, hostování --- */
.value-trend { font-size: 0.7rem; margin-left: 0.15rem; }
.value-trend.up { color: #4ade80; }
.value-trend.down { color: #f87171; }
.value-trend.flat { color: #666; }

.stats-loan {
    margin-left: 0.4rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 0.05rem 0.35rem;
    border-radius: 3px;
    background: rgba(96, 165, 250, 0.15);
    color: #60a5fa;
}

.transfer-player-card.is-loan { opacity: 0.6; }

/* --- Společné boxy (akademie, finance) --- */
.ac-body { overflow-y: auto; flex: 1; padding-right: 0.3rem; }

.ac-top,
.fin-top {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 0.8rem;
}

.fin-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ac-box {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.7rem 0.8rem;
}

.ac-box-label {
    font-family: 'Oswald', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 1px;
    color: var(--accent);
}

.ac-box-value {
    font-family: 'Oswald', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.ac-box-value span { font-size: 0.8rem; color: var(--text-secondary); }
.ac-box-note { font-size: 0.72rem; color: var(--text-secondary); }
.ac-box .stats-renew-btn { align-self: flex-start; }

.ac-scout-list { display: flex; flex-wrap: wrap; gap: 0.3rem; }

.ac-section-title {
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    letter-spacing: 1px;
    margin: 1rem 0 0.5rem;
}

.ac-section-title small {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    color: var(--text-secondary);
    letter-spacing: 0;
    margin-left: 0.4rem;
}

.ac-heads {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.ac-head-card {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.6rem 0.8rem;
    border: 1px dashed #444;
    border-radius: 6px;
    font-size: 0.78rem;
}

.ac-head-card span { color: var(--text-secondary); }
.ac-head-card .stats-renew-btn { align-self: flex-start; }

.ac-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 0.6rem;
}

.ac-card {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    background: var(--bg-card);
    border: 1px solid #262626;
    border-radius: 6px;
    padding: 0.7rem 0.8rem;
}

.ac-card.ac-wonderkid {
    border-color: gold;
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.2);
}

.ac-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.5rem; }
.ac-name { font-weight: 700; font-size: 0.9rem; }
.ac-meta { font-size: 0.72rem; color: var(--text-secondary); }
.ac-rating { font-family: 'Oswald', sans-serif; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.ac-pot { font-size: 0.75rem; color: #bbb; display: flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; }
.ac-stars { color: gold; letter-spacing: 1px; }
.ac-stars-sep { color: #666; font-size: 0.65rem; }
.ac-pers { font-size: 0.75rem; }
.ac-pers small { color: var(--text-secondary); }

.ac-progress {
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.ac-progress div { height: 100%; background: var(--accent); }
.ac-actions { display: flex; flex-wrap: wrap; gap: 0.3rem; }

.ac-grads,
.ac-loans {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 0.4rem;
}

.ac-grad {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.4rem 0.6rem;
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 5px;
    font-size: 0.75rem;
}

.ac-grad span { color: var(--text-secondary); }

/* --- Finance --- */
.fin-cols {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 0.8rem;
}

.fin-slots { display: flex; flex-direction: column; gap: 0.6rem; }

.fin-slot {
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 6px;
    padding: 0.7rem 0.8rem;
}

.fin-slot-title {
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 1px;
    color: var(--accent);
    margin-bottom: 0.5rem;
}

.fin-offer {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.5rem 0;
    border-top: 1px solid #222;
}

.fin-offer:first-of-type { border-top: none; padding-top: 0; }
.fin-offer-actions { display: flex; gap: 0.3rem; }
.fin-sponsor-name { font-weight: 700; font-size: 0.9rem; margin-bottom: 0.2rem; }
.fin-sponsor-name small { font-weight: 500; color: var(--text-secondary); margin-left: 0.3rem; }

.fin-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    padding: 0.15rem 0;
    color: #bbb;
}

.fin-row strong { color: #fff; }
.fin-plus { color: #4ade80 !important; }
.fin-minus { color: #f87171 !important; }

.fin-step {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 4px;
    border: 1px solid #444;
    background: #151515;
    color: #fff;
    cursor: pointer;
}

/* --- Síň slávy --- */
.tr-cabinet {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.tr-trophy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    padding: 1rem;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 215, 0, 0.1), var(--bg-card));
    border: 1px solid rgba(255, 215, 0, 0.35);
    text-align: center;
    font-size: 0.85rem;
}

.tr-trophy small { color: var(--text-secondary); font-size: 0.7rem; }
.tr-trophy.tr-empty { filter: grayscale(1); opacity: 0.5; }
.tr-icon { font-size: 2.4rem; }
.tr-count { font-family: 'Oswald', sans-serif; font-size: 1.4rem; font-weight: 700; color: gold; }

.tr-achievements {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.4rem;
}

.tr-ach {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    padding: 0.5rem 0.6rem;
    border-radius: 6px;
    background: var(--bg-card);
    border: 1px solid #222;
    opacity: 0.45;
}

.tr-ach.got { opacity: 1; border-color: rgba(204, 255, 0, 0.35); }
.tr-ach-icon { font-size: 1.5rem; }
.tr-ach strong { display: block; font-size: 0.8rem; }
.tr-ach small { display: block; font-size: 0.7rem; color: var(--text-secondary); }
.tr-ach em { display: block; font-size: 0.65rem; color: var(--accent); font-style: normal; }

@media (max-width: 1000px) {
    .ac-top, .fin-top, .fin-cols, .ac-heads, .tr-cabinet { grid-template-columns: 1fr; }
}

/* --- Zprávy a média --- */
.news-story {
    padding: 0.5rem 0.6rem;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid #222;
}

.news-story-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
}

.news-tag {
    font-family: 'Oswald', sans-serif;
    font-size: 0.6rem;
    letter-spacing: 0.8px;
    padding: 0.05rem 0.4rem;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.08);
    color: #ddd;
}

.news-tag-match { background: rgba(204, 255, 0, 0.15); color: var(--accent); }
.news-tag-derby { background: rgba(251, 146, 60, 0.18); color: #fb923c; }
.news-tag-league { background: rgba(96, 165, 250, 0.15); color: #60a5fa; }
.news-tag-rumour { background: rgba(244, 114, 182, 0.15); color: #f472b6; }
.news-tag-transfer { background: rgba(250, 204, 21, 0.15); color: #facc15; }
.news-tag-club { background: rgba(74, 222, 128, 0.15); color: #4ade80; }
.news-tag-injury { background: rgba(239, 68, 68, 0.15); color: #f87171; }
.news-tag-stars { background: rgba(255, 215, 0, 0.15); color: gold; }

.news-src { font-size: 0.62rem; color: #777; white-space: nowrap; }

.news-headline {
    font-weight: 700;
    font-size: 0.8rem;
    line-height: 1.25;
    color: #fff;
}

.news-body {
    margin-top: 0.15rem;
    font-size: 0.72rem;
    line-height: 1.35;
    color: #aaa;
}

.news-body i { color: #888; }

/* Zápis zápasu: výsledek z našeho pohledu */
.mr-verdict {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 2px;
    padding: 0.15rem 0.9rem;
    border-radius: 4px;
    margin-bottom: 0.4rem;
}

.mr-verdict.win { background: var(--accent); color: #000; }
.mr-verdict.draw { background: #facc15; color: #000; }
.mr-verdict.loss { background: #b91c1c; color: #fff; }

/* --- Erby klubů --- */
.fm-crest-svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

.fm-crest-svg.fm-crest-sm,
.fm-crest-svg.fm-crest-xs {
    width: auto;
    height: auto;
    border: none;
    background: none;
}

.club-crest { display: block; }

.table-crest {
    display: inline-flex;
    vertical-align: middle;
    margin-right: 0.35rem;
}

.career-card-crest {
    display: flex;
    justify-content: center;
    margin-bottom: 0.4rem;
}

.lm-conditions {
    font-size: 0.68rem;
    color: var(--text-secondary);
    margin-top: 0.1rem;
}

/* --- Shrnutí sezóny --- */


.season-head {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
}

.season-rank,
.season-champion {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.9rem 1rem;
    border-radius: 8px;
    background: var(--bg-card);
    border: 1px solid #2a2a2a;
}

.season-rank span,
.season-champion span {
    font-family: 'Oswald', sans-serif;
    font-size: 0.75rem;
    letter-spacing: 1px;
    color: var(--text-secondary);
}

.season-rank strong {
    font-family: 'Oswald', sans-serif;
    font-size: 2.2rem;
    color: var(--accent);
    line-height: 1.1;
}

.season-rank small,
.season-champion small { color: #bbb; font-size: 0.8rem; }

.season-champion div {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-family: 'Oswald', sans-serif;
    font-size: 1.4rem;
}

.season-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
}

.season-block {
    background: var(--bg-card);
    border: 1px solid #222;
    border-radius: 8px;
    padding: 0.8rem 0.9rem;
}

.season-block-wide { grid-column: span 2; }
.season-chart { width: 100%; height: auto; display: block; }

.season-moment {
    display: flex;
    gap: 0.5rem;
    font-size: 0.8rem;
    padding: 0.28rem 0;
    border-bottom: 1px solid #1d1d1d;
}

.season-xi {
    position: relative;
    height: 330px;
    border-radius: 6px;
    background: repeating-linear-gradient(180deg, #2a612a 0 33px, #2f6b2f 33px 66px);
    border: 2px solid rgba(255, 255, 255, 0.5);
}

.season-xi-player {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 76px;
    padding: 0.2rem 0.35rem;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.72);
    font-size: 0.7rem;
    line-height: 1.2;
    text-align: center;
}

.season-xi-player.mine { outline: 2px solid var(--accent); }
.season-xi-player small { color: #bbb; font-size: 0.62rem; }
.season-xi-crest { display: flex; }

.season-awards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
}

.season-award {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    padding: 0.6rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid #262626;
}

.season-award-icon { font-size: 1.8rem; }
.season-award-title { font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.5px; }
.season-award-name { font-weight: 700; font-size: 0.85rem; }
.season-award-detail { font-size: 0.7rem; color: var(--text-secondary); }

@media (max-width: 900px) {
    .season-head, .season-grid, .season-awards { grid-template-columns: 1fr; }
    .season-block-wide { grid-column: auto; }
}

/* Výběr klubu: skutečné údaje o klubu */
.career-card-info { margin-top: 0.5rem; font-size: 0.72rem; color: #aaa; line-height: 1.55; text-align: left; }
.career-card-info .career-card-budget { margin-top: 0.3rem; color: var(--accent); font-weight: 600; }
.stats-board-row small { margin-left: auto; color: #777; font-size: 0.68rem; }

/* Nálada hráčů */
.stats-listed.mood-out { background: rgba(248, 113, 113, 0.18); color: #f87171; border-color: rgba(248, 113, 113, 0.5); }
.mood-grumpy { margin-left: 0.3rem; font-size: 0.8rem; cursor: help; }
.talk-btn { flex: 1; min-width: 140px; padding: 0.6rem 0.8rem; background: #1a1a1a; color: #ddd; border: 1px solid #333; border-radius: 6px; font-family: 'Oswald', sans-serif; font-size: 0.85rem; letter-spacing: 0.05rem; cursor: pointer; transition: border-color 0.15s, color 0.15s; }
.talk-btn:hover { border-color: var(--accent); color: #fff; }
.talk-btn.is-primary { background: var(--accent); color: #000; border-color: var(--accent); font-weight: 600; }

/* =====================================================================
   PŘESTUPOVÉ JEDNÁNÍ – rozevřená složka se smlouvou
   ===================================================================== */
.deal-modal { background: radial-gradient(ellipse at 50% 120%, rgba(34, 120, 50, 0.55), transparent 60%), radial-gradient(ellipse at 50% -20%, rgba(255, 255, 255, 0.12), transparent 55%), rgba(4, 8, 6, 0.94) !important; }
.deal-scene { position: relative; width: min(1180px, 96vw); max-height: 94vh; overflow: auto; padding: 1rem; }
.deal-folder { display: grid; grid-template-columns: 1fr 18px 1fr; background: #121212; border: 3px solid #2b2b2b; border-radius: 10px; padding: 14px; box-shadow: 0 30px 80px rgba(0,0,0,0.7); }
.deal-folder.is-opening { animation: dealOpen 0.55s cubic-bezier(.2,.8,.2,1); }
@keyframes dealOpen { from { transform: perspective(1400px) rotateX(18deg) scale(0.92); opacity: 0; } to { transform: none; opacity: 1; } }
.deal-spine { background: linear-gradient(90deg, #0b0b0b, #232323 50%, #0b0b0b); }
.deal-page { position: relative; background: #eef0ea; color: #1b1b1b; padding: 1.4rem 1.6rem 1.2rem; overflow: hidden; min-height: 560px; font-family: 'Inter', sans-serif; }
.deal-corner { position: absolute; top: 0; left: 0; width: 70px; height: 70px; background: linear-gradient(135deg, #111 0 18%, transparent 18% 26%, var(--accent) 26% 34%, transparent 34%); }
.deal-right .deal-corner { left: auto; right: 0; bottom: 0; top: auto; transform: rotate(180deg); }
.deal-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.1rem; }
.deal-head h3 { flex: 1; margin: 0; font-family: 'Oswald', sans-serif; font-size: 1.35rem; letter-spacing: 0.06rem; border-bottom: 3px solid #1b1b1b; box-shadow: 0 3px 0 var(--accent); padding-bottom: 0.25rem; color: #1b1b1b; }
.deal-head-right { margin-top: 0.4rem; }
.deal-hex { width: 74px; height: 74px; display: grid; place-items: center; background: #fff; clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%); }
.deal-sub { font-family: 'Oswald', sans-serif; font-size: 1rem; margin: 0.6rem 0 0.4rem; letter-spacing: 0.05rem; border-bottom: 1px solid #c9ccc4; padding-bottom: 0.2rem; color: #1b1b1b; }
.deal-rows { background: #e2e5dd; border-radius: 4px; padding: 0.45rem 0.7rem; }
.deal-rows div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.22rem 0; font-size: 0.86rem; }
.deal-rows span { color: #555; }
.deal-rows strong { text-align: right; color: #111; }
.deal-rows strong.neg { color: #c81e1e; }
.deal-budget { margin-top: 0.8rem; }

/* Karta hráče v barvách klubu */
.deal-card { position: relative; margin: 1.4rem auto 0; max-width: 470px; background: #fff; border-radius: 6px; box-shadow: 0 8px 22px rgba(0,0,0,0.25); overflow: hidden; }
.is-signed .deal-card { animation: dealCardFlip 0.8s ease; }
@keyframes dealCardFlip { 0% { transform: rotateY(0); } 50% { transform: perspective(900px) rotateY(90deg); } 100% { transform: rotateY(0); } }
.deal-card-banner { display: flex; align-items: center; gap: 0.7rem; background: linear-gradient(100deg, var(--c1) 0 82%, transparent 82%); color: #fff; padding: 0.45rem 0.8rem; font-family: 'Oswald', sans-serif; font-size: 1.25rem; text-shadow: 0 1px 2px rgba(0,0,0,0.6); }
.deal-card-crest { width: 40px; height: 40px; display: grid; place-items: center; background: #fff; border-radius: 50%; flex: none; }
.deal-card-club { margin-left: 34%; background: var(--c2); color: #111; padding: 0.25rem 0.8rem; font-weight: 600; font-size: 0.9rem; border-left: 4px solid var(--c1); }
.deal-card-body { display: grid; grid-template-columns: 34% 1fr; }
.deal-card-avatar { display: grid; place-items: center; background: linear-gradient(160deg, var(--c1), #111); min-height: 150px; }
.deal-card-avatar span { font-family: 'Oswald', sans-serif; font-size: 3rem; color: rgba(255,255,255,0.9); letter-spacing: 0.1rem; }
.deal-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.deal-card-grid > div { padding: 0.3rem 0.4rem; text-align: center; border: 1px solid #2b2b2b; font-family: 'Oswald', sans-serif; }
.deal-card-grid .h, .deal-card-grid .k { background: #1a1a1a; color: #fff; font-size: 0.85rem; }
.deal-card-grid .v { background: #3a3a3a; color: #fff; font-size: 1.35rem; }
.deal-card-grid .w { grid-column: span 2; background: #3a3a3a; color: #fff; text-align: left; font-family: 'Inter', sans-serif; font-size: 0.85rem; }
.deal-card-grid .w.hl { background: #b9d400; color: #111; font-weight: 600; }
.deal-stamp { position: absolute; right: 10px; bottom: 14px; padding: 0.3rem 0.8rem; border: 4px solid #16a34a; color: #16a34a; font-family: 'Oswald', sans-serif; font-size: 1.6rem; letter-spacing: 0.15rem; border-radius: 6px; transform: rotate(-12deg); background: rgba(255,255,255,0.75); animation: dealStamp 0.45s 0.35s cubic-bezier(.3,1.6,.5,1) both; }
@keyframes dealStamp { from { transform: rotate(-12deg) scale(2.6); opacity: 0; } to { transform: rotate(-12deg) scale(1); opacity: 1; } }

/* Pravá strana */
.deal-steps { display: flex; gap: 0.4rem; justify-content: flex-end; }
.deal-step { display: flex; align-items: center; gap: 0.35rem; font-family: 'Oswald', sans-serif; font-size: 0.75rem; color: #888; padding: 0.15rem 0.5rem; border-radius: 20px; background: #e2e5dd; }
.deal-step span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #bbb; color: #fff; font-size: 0.7rem; }
.deal-step.is-active { color: #111; background: #d4ff00; }
.deal-step.is-active span { background: #111; }
.deal-step.is-done span { background: #16a34a; }
.deal-type { display: flex; border: 2px solid #1b1b1b; border-radius: 4px; overflow: hidden; }
.deal-type button { background: transparent; border: 0; padding: 0.3rem 0.6rem; font-family: 'Oswald', sans-serif; font-size: 0.8rem; cursor: pointer; color: #1b1b1b; }
.deal-type button.is-on { background: #1b1b1b; color: #d4ff00; }
.deal-type button:disabled { cursor: default; opacity: 0.6; }
.deal-label { font-size: 0.85rem; color: #444; border-bottom: 1px solid #c9ccc4; padding-bottom: 0.15rem; }
.deal-comment { min-height: 3.4em; padding: 0.45rem 0 0.3rem; font-size: 0.9rem; font-weight: 600; line-height: 1.4; color: #1b1b1b; }
.deal-comment.good { color: #15803d; }
.deal-comment.warn { color: #a16207; }
.deal-comment.bad { color: #b91c1c; }
.deal-input { margin-top: 0.5rem; }
.deal-input label { display: block; font-size: 0.78rem; color: #555; margin-bottom: 0.2rem; text-transform: uppercase; letter-spacing: 0.04rem; }
.deal-input-row { display: flex; align-items: center; gap: 0.6rem; }
.deal-input-row input[type=range] { flex: 1; accent-color: #1b1b1b; }
.deal-input-row input[type=number] { width: 90px; padding: 0.35rem; border: 2px solid #1b1b1b; border-radius: 4px; font-weight: 700; font-size: 1rem; text-align: right; background: #fff; color: #111; }
.deal-input-row em { font-style: normal; font-size: 0.8rem; color: #555; }
.deal-years { display: flex; gap: 0.3rem; flex-wrap: wrap; }
.deal-years button { padding: 0.3rem 0.6rem; border: 2px solid #1b1b1b; background: #fff; border-radius: 4px; cursor: pointer; font-size: 0.8rem; color: #111; }
.deal-years button.is-on { background: #1b1b1b; color: #d4ff00; }
.deal-options { display: flex; flex-direction: column; gap: 0.35rem; }
.deal-opt { display: flex; align-items: center; gap: 0.6rem; cursor: pointer; font-size: 0.92rem; color: #1b1b1b; }
.deal-opt input { display: none; }
.deal-opt span { width: 20px; height: 20px; border-radius: 3px; background: #9a9a9a; box-shadow: inset 0 0 0 2px #7a7a7a; position: relative; flex: none; }
.deal-opt input:checked + span { background: #16a34a; box-shadow: none; }
.deal-opt input:checked + span::after { content: '\2713'; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 0.85rem; }
.deal-confirm { display: block; width: calc(100% + 3.2rem); margin: 1rem -1.6rem 0; padding: 0.55rem; border: 0; background: #d4ff00; color: #111; font-family: 'Oswald', sans-serif; font-size: 1.1rem; letter-spacing: 0.1rem; cursor: pointer; border-top: 2px solid #1b1b1b; height: auto; line-height: 1.4; min-height: 0; }
.deal-confirm:hover { filter: brightness(1.08); }
.deal-confirm:disabled { opacity: 0.6; cursor: wait; }
.deal-welcome { margin-top: 1rem; padding: 0.8rem; background: #dcfce7; border-left: 4px solid #16a34a; font-weight: 600; color: #14532d; }

/* Podpisy a pero */
.deal-signatures { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 1.1rem; }
.deal-sign { text-align: center; }
.deal-sign svg { width: 100%; height: 48px; border-bottom: 1px solid #333; }
.deal-sign path { fill: none; stroke: #1b1b3a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 520; stroke-dashoffset: 520; }
.deal-sign svg.drawn path { stroke-dashoffset: 0; transition: stroke-dashoffset 0.9s ease; }
.deal-sign svg.drawing path { animation: dealWrite 1.6s 0.15s ease-in-out forwards; }
@keyframes dealWrite { to { stroke-dashoffset: 0; } }
.deal-sign small { display: block; margin-top: 0.25rem; color: #444; font-size: 0.8rem; }
.deal-pen { position: absolute; right: 4px; bottom: 20px; width: 16px; height: 150px; border-radius: 8px 8px 2px 2px; background: linear-gradient(90deg, #1c1c1c, #6b6b6b 40%, #1c1c1c); transform-origin: bottom center; transform: rotate(32deg); pointer-events: none; }
.deal-pen::before { content: ''; position: absolute; left: 3px; top: 18px; width: 4px; height: 50px; background: #c9c9c9; border-radius: 2px; }
.deal-pen::after { content: ''; position: absolute; left: 3px; bottom: -14px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 16px solid #b8b8b8; }
.deal-pen.is-writing { animation: dealPen 1.6s 0.15s ease-in-out forwards; }
@keyframes dealPen {
    0% { right: 46%; bottom: 30px; }
    20% { right: 38%; bottom: 46px; }
    40% { right: 28%; bottom: 26px; }
    60% { right: 18%; bottom: 44px; }
    80% { right: 8%; bottom: 28px; }
    100% { right: 4px; bottom: 20px; }
}

@media (max-width: 860px) {
    .deal-folder { grid-template-columns: 1fr; }
    .deal-spine { height: 12px; }
    .deal-page { min-height: 0; padding: 1rem; }
    .deal-confirm { width: calc(100% + 2rem); margin: 1rem -1rem 0; }
    .deal-card-banner { font-size: 1.05rem; }
}

/* Vlastní podpis trenéra */
.deal-sign-own { position: relative; }
.deal-sign-own canvas, .deal-sign-own img, .deal-sign-empty { display: block; width: 100%; height: 64px; border-bottom: 1px solid #333; }
.deal-sign-own canvas { cursor: crosshair; touch-action: none; background: repeating-linear-gradient(90deg, transparent 0 10px, rgba(0,0,0,0.04) 10px 11px); }
.deal-sign-own.is-live canvas { box-shadow: inset 0 -3px 0 #d4ff00; animation: dealSignPulse 1.6s ease-in-out infinite; }
@keyframes dealSignPulse { 50% { background-color: rgba(212, 255, 0, 0.12); } }
.deal-sign-own img { object-fit: contain; }
.deal-sign-hint { position: absolute; left: 0; right: 0; top: 20px; text-align: center; color: #777; font-size: 0.85rem; pointer-events: none; font-style: italic; }
.deal-sign-clear { position: absolute; right: 0; top: -4px; background: transparent; border: 0; color: #888; font-size: 0.72rem; cursor: pointer; text-decoration: underline; }
.deal-sign-clear:hover { color: #b91c1c; }

/* =====================================================================
   DEADLINE DAY
   ===================================================================== */
.dd-modal { background: rgba(3, 3, 3, 0.94) !important; }
.dd-screen { position: relative; width: min(1240px, 97vw); max-height: 95vh; display: flex; flex-direction: column; background: linear-gradient(180deg, #120808 0%, #0b0b0b 30%); border: 2px solid #3a1414; border-radius: 10px; overflow: hidden; box-shadow: 0 0 60px rgba(220, 38, 38, 0.25); }
.dd-screen.is-late { animation: ddPulse 1.6s ease-in-out infinite; }
@keyframes ddPulse { 50% { box-shadow: 0 0 90px rgba(220, 38, 38, 0.55); border-color: #dc2626; } }
.dd-screen.is-closed { border-color: #333; box-shadow: none; }
.dd-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.4rem 0.8rem; background: linear-gradient(90deg, #7f1d1d, #1a0a0a 55%); }
.dd-brand h2 { margin: 0.15rem 0 0; font-family: 'Oswald', sans-serif; font-size: 2.2rem; letter-spacing: 0.2rem; color: #fff; line-height: 1; }
.dd-brand small { color: #fca5a5; font-size: 0.8rem; }
.dd-live { display: inline-block; padding: 0.1rem 0.5rem; background: #dc2626; color: #fff; font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.1rem; border-radius: 3px; animation: ddBlink 1.2s steps(2) infinite; }
.is-closed .dd-live { background: #444; animation: none; }
@keyframes ddBlink { 50% { opacity: 0.45; } }
.dd-clock { text-align: right; }
.dd-time { font-family: 'Oswald', sans-serif; font-size: 3rem; line-height: 1; color: #fff; background: #000; padding: 0.2rem 0.8rem; border-radius: 6px; border: 2px solid #dc2626; font-variant-numeric: tabular-nums; letter-spacing: 0.15rem; }
.dd-left { margin-top: 0.3rem; color: #fca5a5; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08rem; }
.dd-progress { height: 6px; background: #1f1f1f; }
.dd-progress span { display: block; height: 100%; background: linear-gradient(90deg, #facc15, #dc2626); transition: width 0.6s; }
.dd-grid { display: grid; grid-template-columns: 1.1fr 1fr 1.2fr; gap: 1px; background: #222; flex: 1; min-height: 0; overflow: hidden; }
.dd-col { background: #0e0e0e; padding: 0.9rem 1rem; overflow-y: auto; max-height: 56vh; }
.dd-col h3 { margin: 0 0 0.7rem; font-family: 'Oswald', sans-serif; font-size: 1rem; letter-spacing: 0.1rem; color: var(--accent); display: flex; justify-content: space-between; }
.dd-col h3 small { color: #888; font-size: 0.8rem; }
.dd-empty { color: #666; font-size: 0.85rem; font-style: italic; padding: 0.5rem 0; }
.dd-offer { background: #171717; border: 1px solid #333; border-left: 4px solid #dc2626; border-radius: 6px; padding: 0.7rem; margin-bottom: 0.6rem; animation: ddIn 0.4s ease; }
@keyframes ddIn { from { transform: translateX(-12px); opacity: 0; } to { transform: none; opacity: 1; } }
.dd-offer-head { display: flex; align-items: center; gap: 0.6rem; }
.dd-offer-head div { flex: 1; }
.dd-offer-head strong { display: block; color: #fff; }
.dd-offer-head small { color: #f87171; font-size: 0.75rem; }
.dd-fee { font-family: 'Oswald', sans-serif; font-size: 1.4rem; color: #facc15; }
.dd-offer-player { margin: 0.5rem 0; color: #ddd; font-size: 0.88rem; }
.dd-offer-player small { color: #888; }
.dd-offer-btns { display: flex; gap: 0.4rem; }
.dd-btn { padding: 0.45rem 0.8rem; background: #1c1c1c; color: #ddd; border: 1px solid #3a3a3a; border-radius: 5px; font-family: 'Oswald', sans-serif; letter-spacing: 0.05rem; font-size: 0.85rem; cursor: pointer; transition: border-color 0.15s, color 0.15s; }
.dd-btn:hover { border-color: var(--accent); color: #fff; }
.dd-btn.is-on { border-color: var(--accent); color: var(--accent); }
.dd-btn-yes { background: var(--accent); color: #000; border-color: var(--accent); font-weight: 600; }
.dd-btn-yes:hover { color: #000; filter: brightness(1.08); }
.dd-btn-no:hover { border-color: #dc2626; color: #f87171; }
.dd-offer-btns .dd-btn { flex: 1; }
.dd-bargain { display: grid; grid-template-columns: auto 1fr auto auto auto; align-items: center; gap: 0.6rem; padding: 0.55rem 0.6rem; background: #151515; border: 1px solid #2a2a2a; border-radius: 6px; margin-bottom: 0.5rem; }
.dd-bargain-info strong { display: block; color: #fff; font-size: 0.9rem; }
.dd-bargain-info small { color: #888; font-size: 0.75rem; }
.dd-rating { font-family: 'Oswald', sans-serif; font-size: 1.2rem; }
.dd-price { text-align: right; line-height: 1.1; }
.dd-price s { display: block; color: #777; font-size: 0.75rem; }
.dd-price strong { color: #4ade80; font-family: 'Oswald', sans-serif; }
.dd-feed-item { display: grid; grid-template-columns: 46px 1fr; gap: 0.5rem; padding: 0.45rem 0; border-bottom: 1px solid #1d1d1d; animation: ddIn 0.4s ease; }
.dd-feed-item span { color: #f87171; font-family: 'Oswald', sans-serif; font-size: 0.85rem; }
.dd-feed-item p { margin: 0; color: #ccc; font-size: 0.85rem; line-height: 1.35; }
.dd-feed-item.hot p { color: #fbbf24; }
.dd-feed-item.mine p { color: #fff; font-weight: 600; }
.dd-feed-item.big p { color: var(--accent); font-weight: 600; }
.dd-feed-item.bargain p { color: #4ade80; }
.dd-actions { display: flex; align-items: center; gap: 0.5rem; padding: 0.8rem 1rem; background: #111; border-top: 1px solid #262626; flex-wrap: wrap; }
.dd-budget { margin-right: auto; color: #aaa; font-size: 0.85rem; }
.dd-budget strong { color: #facc15; font-family: 'Oswald', sans-serif; font-size: 1.1rem; margin-left: 0.3rem; }
.dd-big { font-size: 1rem; padding: 0.6rem 1.4rem; }
.dd-ticker { background: #dc2626; color: #fff; overflow: hidden; white-space: nowrap; font-size: 0.85rem; padding: 0.35rem 0; }
.is-closed .dd-ticker { background: #333; }
.dd-ticker-track { display: inline-block; animation: ddTicker 45s linear infinite; }
.dd-ticker-track span { margin-right: 2.5rem; }
@keyframes ddTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Upozornění na hlavní obrazovce */
.dd-banner { display: flex; align-items: center; gap: 0.8rem; width: 100%; margin-bottom: 0.8rem; padding: 0.7rem 1rem; background: linear-gradient(90deg, #7f1d1d, #1a0a0a); border: 1px solid #dc2626; border-radius: 8px; color: #fff; cursor: pointer; font-family: inherit; text-align: left; animation: ddPulse 2s ease-in-out infinite; }
.dd-banner strong { font-family: 'Oswald', sans-serif; letter-spacing: 0.12rem; }
.dd-banner span:not(.dd-banner-dot) { color: #fca5a5; font-size: 0.85rem; flex: 1; }
.dd-banner em { font-style: normal; font-family: 'Oswald', sans-serif; color: var(--accent); }
.dd-banner-dot { width: 10px; height: 10px; border-radius: 50%; background: #ef4444; animation: ddBlink 1s steps(2) infinite; }

/* Deska: výměna a role */
.deal-select { flex: 1; padding: 0.35rem; border: 2px solid #1b1b1b; border-radius: 4px; background: #fff; color: #111; font-size: 0.85rem; }
.deal-swap-note { margin-top: 0.3rem; font-size: 0.8rem; color: #444; }
.deal-input label small { text-transform: none; letter-spacing: 0; color: #777; }

@media (max-width: 900px) {
    .dd-grid { grid-template-columns: 1fr; overflow-y: auto; }
    .dd-col { max-height: none; }
    .dd-brand h2 { font-size: 1.6rem; }
    .dd-time { font-size: 2.1rem; }
}

/* Potvrzovací okno */
.game-confirm { width: min(460px, 92vw); background: #111; border: 1px solid var(--accent); border-radius: 10px; padding: 1.4rem 1.5rem; box-shadow: 0 20px 60px rgba(0,0,0,0.7); }
.game-confirm h3 { margin: 0 0 0.8rem; font-family: 'Oswald', sans-serif; color: var(--accent); letter-spacing: 0.08rem; }
.game-confirm-body p { margin: 0 0 0.6rem; color: #ccc; line-height: 1.5; font-size: 0.92rem; }
.game-confirm-body strong { color: #fff; }
.game-confirm-btns { display: flex; justify-content: flex-end; gap: 0.6rem; margin-top: 1rem; }
.fm-btn-play, .fm-btn-sim { white-space: nowrap; }
@media (max-width: 1100px) {
    .fm-topbar-right { gap: 0.4rem; }
    .fm-btn-sim, .fm-btn-play { padding: 0 0.7rem; font-size: 0.8rem; }
}

/* Výběr klubu na jednu obrazovku */
#career-setup { max-width: 1680px !important; }
#career-setup .career-save-slot { padding: 0.55rem 1rem; margin-bottom: 0.7rem; }
#career-setup .save-slot-club { font-size: 1.2rem; }
#career-setup .career-setup-head h2 { font-size: 1.3rem; }
.career-setup-actions { display: flex; gap: 0.5rem; align-items: center; }
#career-teams-grid { grid-template-columns: repeat(8, minmax(0, 1fr)) !important; gap: 0.6rem !important; margin-top: 0.7rem !important; }
#career-teams-grid .career-team-card { padding: 0.7rem 0.6rem; border-width: 1px; }
#career-teams-grid .career-team-card:hover { transform: translateY(-2px); }
#career-teams-grid .career-team-card h3 { font-size: 0.95rem; margin: 0.2rem 0 0.3rem; line-height: 1.15; min-height: 2.2em; display: flex; align-items: center; justify-content: center; }
#career-teams-grid .career-card-crest svg, #career-teams-grid .career-card-crest img { width: 38px !important; height: 38px !important; }
#career-teams-grid .career-card-info { margin-top: 0.2rem; font-size: 0.66rem; line-height: 1.45; }
#career-teams-grid .career-card-info div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#career-teams-grid .career-team-card.is-selected { border-color: var(--accent) !important; box-shadow: 0 0 0 1px var(--accent), 0 0 18px rgba(204, 255, 0, 0.2); }
@media (max-width: 1400px) { #career-teams-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (max-width: 700px) { #career-teams-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (min-width: 1401px) {
    #career-teams-grid { gap: 0.8rem !important; }
    #career-teams-grid .career-team-card { padding: 1rem 0.8rem; }
    #career-teams-grid .career-team-card h3 { font-size: 1.1rem; }
    #career-teams-grid .career-card-crest svg, #career-teams-grid .career-card-crest img { width: 50px !important; height: 50px !important; }
    #career-teams-grid .career-card-info { font-size: 0.74rem; line-height: 1.6; }
}
@media (min-width: 1401px) {
    #career-teams-grid .career-card-info { font-size: 0.7rem; line-height: 1.45; }
    #career-teams-grid .career-card-info div { white-space: normal; overflow: visible; margin-bottom: 0.15rem; }
}
@media (min-width: 1401px) {
    #career-teams-grid .career-team-card { padding: 0.75rem 0.7rem; }
    #career-teams-grid .career-card-crest svg, #career-teams-grid .career-card-crest img { width: 42px !important; height: 42px !important; }
    #career-teams-grid .career-team-card h3 { font-size: 1rem; margin: 0.15rem 0 0.25rem; }
}
#career-view > .page-header { margin-bottom: 0.2rem !important; }

/* Vlastní ikony hry (náhrada emoji) */
.gi { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -0.2em; flex: none; overflow: visible; }
.gi + .gi { margin-left: 0.1em; }
.gi-tone-gold { color: #facc15; }
.gi-tone-orange { color: #fb923c; }
.gi-tone-red { color: #f87171; }
.gi-tone-green { color: #4ade80; }
.gi-tone-blue { color: #7dd3fc; }
.gi-tone-accent { color: var(--accent); }
.gi-cardYellow, .gi-cardRed, .gi-cardGreen { stroke: none; }
#career-teams-grid .career-card-info .career-card-titles { display: flex; flex-wrap: wrap; column-gap: 0.7rem; white-space: normal; }
#career-teams-grid .career-card-titles span { white-space: nowrap; }

/* =====================================================================
   HRÁČSKÉ KARTY v soupisce (hřiště, lavička, rezerva)
   ===================================================================== */
.pitch-slot.filled { border-color: transparent; background: transparent; }
.pcard { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; border-radius: 8px; overflow: hidden;
    background: linear-gradient(165deg, color-mix(in srgb, var(--club) 50%, #111) 0%, #171717 52%, #0c0c0c 100%);
    border: 1.5px solid var(--tier); box-shadow: 0 4px 12px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.08); }
.pcard::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,0.06) 50%, transparent 60%); pointer-events: none; }
.tier-gold { --tier: #e3b341; }
.tier-silver { --tier: #aab2bd; }
.tier-bronze { --tier: #c27c4e; }
.pc-head { display: flex; justify-content: space-between; align-items: flex-start; padding: 5px 6px 0; }
.pc-ovr { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.pc-ovr strong { font-family: 'Oswald', sans-serif; font-size: 1.45rem; font-weight: 700; }
.pc-ovr span { margin-top: 2px; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.5px; color: var(--tier); }
.pc-crest { width: 18px; height: 18px; display: grid; place-items: center; opacity: 0.95; }
.pc-crest svg, .pc-crest img { width: 18px !important; height: 18px !important; }
.pc-face { flex: 1; display: grid; place-items: center; min-height: 0; }
.pc-face span { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,0.16), rgba(255,255,255,0.04)); border: 1px solid rgba(255,255,255,0.14); font-family: 'Oswald', sans-serif; font-size: 0.95rem; color: rgba(255,255,255,0.85); letter-spacing: 0.5px; }
.pc-name { background: rgba(0,0,0,0.6); border-top: 1px solid var(--tier); font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.3px; text-align: center; padding: 3px 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.pc-fit { height: 3px; background: #1f1f1f; }
.pc-fit i { display: block; height: 100%; }
.pitch-slot:hover .pcard { box-shadow: 0 0 0 1px var(--accent), 0 6px 16px rgba(0,0,0,0.6); }

/* Lavička: menší karta */
.bench-slot .pc-head { padding: 3px 4px 0; }
.bench-slot .pc-ovr strong { font-size: 1.05rem; }
.bench-slot .pc-ovr span { font-size: 0.52rem; }
.bench-slot .pc-crest, .bench-slot .pc-crest svg, .bench-slot .pc-crest img { width: 14px !important; height: 14px !important; }
.bench-slot .pc-face span { width: 26px; height: 26px; font-size: 0.7rem; }
.bench-slot .pc-name { font-size: 0.66rem; padding: 2px 3px; }

/* =====================================================================
   MOL CUP – pavouk
   ===================================================================== */
.mc-root { flex: 1; display: flex; flex-direction: column; gap: 0.8rem; min-height: 0; overflow: auto; background: transparent; padding: 0; }
.mc-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.9rem 1.1rem; background: linear-gradient(100deg, rgba(239, 68, 68, 0.18), rgba(17, 17, 17, 0.9) 55%); border: 1px solid #2a2a2a; border-left: 4px solid #ef4444; border-radius: 8px; }
.mc-title { display: flex; align-items: center; gap: 0.8rem; }
.mc-title .gi { width: 2.2rem; height: 2.2rem; }
.mc-title h3 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 1.5rem; letter-spacing: 0.08rem; color: #fff; }
.mc-title p { margin: 0.1rem 0 0; color: #aaa; font-size: 0.85rem; }
.mc-title p strong { color: #fff; }
.mc-my { display: flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.8rem; background: #0e0e0e; border: 1px solid #2a2a2a; border-radius: 8px; }
.mc-my small { display: block; color: #888; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05rem; }
.mc-my strong { font-family: 'Oswald', sans-serif; color: var(--accent); letter-spacing: 0.04rem; }
.mc-my strong.out { color: #f87171; }
.mc-my strong.gold { color: #facc15; }

.mc-bracket { position: relative; background: radial-gradient(ellipse at 50% 45%, rgba(250, 204, 21, 0.06), transparent 55%), #0f0f0f; border: 1px solid #222; border-radius: 10px; padding: 0.6rem 0.8rem 1rem; }
.mc-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.mc-lines path { fill: none; stroke: #333; stroke-width: 1.5; }
.mc-lines path.done { stroke: #4a4a4a; }
.mc-lines path.hot { stroke: var(--accent); stroke-width: 2; filter: drop-shadow(0 0 4px rgba(204, 255, 0, 0.5)); }
.mc-labels, .mc-cols { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); column-gap: 1.6rem; }
.mc-labels { margin-bottom: 0.4rem; }
.mc-labels span { text-align: center; font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.1rem; color: #777; text-transform: uppercase; }
.mc-labels .mc-label-final { color: #facc15; }
.mc-cols { min-height: 470px; }
.mc-col { display: flex; flex-direction: column; justify-content: space-around; gap: 0.5rem; }
.mc-col-final { justify-content: center; align-items: stretch; gap: 0.7rem; }

.mc-match { position: relative; z-index: 1; background: #171717; border: 1px solid #2c2c2c; border-radius: 7px; overflow: hidden; box-shadow: 0 3px 10px rgba(0,0,0,0.4); }
.mc-match.is-mine { border-color: rgba(204, 255, 0, 0.55); box-shadow: 0 0 0 1px rgba(204, 255, 0, 0.15), 0 3px 12px rgba(0,0,0,0.5); }
.mc-team { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 0.45rem; padding: 0.32rem 0.55rem; font-size: 0.8rem; color: #ddd; }
.mc-team + .mc-team { border-top: 1px solid #242424; }
.mc-crest { width: 20px; height: 20px; display: grid; place-items: center; }
.mc-crest svg, .mc-crest img { width: 20px !important; height: 20px !important; }
.mc-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-score { font-family: 'Oswald', sans-serif; font-size: 0.95rem; min-width: 1ch; text-align: right; }
.mc-team.is-win { color: #fff; font-weight: 600; background: linear-gradient(90deg, rgba(255,255,255,0.05), transparent); }
.mc-team.is-win .mc-score { color: var(--accent); }
.mc-team.is-out { color: #666; }
.mc-team.is-out .mc-crest { opacity: 0.45; filter: grayscale(0.7); }
.mc-team.is-mine { box-shadow: inset 3px 0 0 var(--accent); }
.mc-team.is-empty { color: #555; font-style: italic; font-size: 0.72rem; }
.mc-team.is-empty .mc-crest { border: 1px dashed #333; border-radius: 50%; width: 16px; height: 16px; }
.mc-note { position: absolute; right: 0.5rem; bottom: 50%; transform: translateY(50%); font-size: 0.6rem; color: #888; background: #171717; padding: 0 0.25rem; border-radius: 3px; pointer-events: none; }

.mc-final { border-color: rgba(250, 204, 21, 0.45); background: linear-gradient(180deg, #1d1a0d, #151515); }
.mc-final .mc-team { padding: 0.5rem 0.7rem; font-size: 0.9rem; }
.mc-final .mc-score { font-size: 1.15rem; }
.mc-trophy { display: grid; place-items: center; }
.mc-trophy .gi { width: 3.4rem; height: 3.4rem; opacity: 0.55; }
.mc-trophy.has-winner .gi { opacity: 1; filter: drop-shadow(0 0 12px rgba(250, 204, 21, 0.55)); }
.mc-champion { display: flex; align-items: center; justify-content: center; gap: 0.6rem; padding: 0.6rem; border: 1px dashed #3a3520; border-radius: 8px; color: #777; text-align: center; }
.mc-champion small { display: block; font-size: 0.65rem; letter-spacing: 0.15rem; color: #a38b2c; }
.mc-champion strong { font-family: 'Oswald', sans-serif; font-size: 1.1rem; }
.mc-champion.is-set { border: 1px solid rgba(250, 204, 21, 0.6); background: linear-gradient(135deg, rgba(250, 204, 21, 0.18), rgba(250, 204, 21, 0.04)); color: #facc15; }
.mc-champion.is-mine { box-shadow: 0 0 18px rgba(250, 204, 21, 0.35); }

.mc-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
.mc-panel { background: #111; border: 1px solid #222; border-radius: 8px; padding: 0.7rem 0.9rem; }
.mc-panel h4 { margin: 0 0 0.5rem; font-family: 'Oswald', sans-serif; font-size: 0.8rem; letter-spacing: 0.1rem; color: var(--accent); }
.mc-path { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.mc-path-step { display: flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.6rem; background: #181818; border: 1px solid #2a2a2a; border-left: 3px solid #4ade80; border-radius: 6px; font-size: 0.8rem; color: #ddd; }
.mc-path-step.lost { border-left-color: #f87171; }
.mc-path-step small { color: #777; font-size: 0.65rem; text-transform: uppercase; margin-right: 0.2rem; }
.mc-path-step strong { font-family: 'Oswald', sans-serif; color: #fff; }
.mc-path-step em { font-style: normal; color: #888; font-size: 0.7rem; }
.mc-path-step svg { width: 18px !important; height: 18px !important; }
.mc-path-empty { color: #666; font-size: 0.85rem; font-style: italic; }
.mc-hist-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.4rem; }
.mc-hist { display: flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; color: #ccc; min-width: 0; }
.mc-hist small { color: #777; font-size: 0.68rem; flex: none; }
.mc-hist span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-hist svg { width: 18px !important; height: 18px !important; flex: none; }
.mc-hist.is-mine span { color: var(--accent); font-weight: 600; }

@media (max-width: 1250px) {
    .mc-labels, .mc-cols { column-gap: 0.8rem; }
    .mc-team { font-size: 0.72rem; padding: 0.28rem 0.4rem; grid-template-columns: 18px 1fr auto; gap: 0.3rem; }
}
@media (max-width: 900px) {
    .mc-bracket { overflow-x: auto; }
    .mc-labels, .mc-cols { min-width: 860px; }
    .mc-foot { grid-template-columns: 1fr; }
    .mc-head { flex-direction: column; align-items: flex-start; }
}
#mol-cup-modal .draft-modal-content > header { display: none; }
#mol-cup-modal .draft-modal-content { height: auto !important; }
.mc-cols { min-height: 400px; }
.mc-col { gap: 0.35rem; }
.mc-team { padding: 0.26rem 0.55rem; }
.mc-head { padding: 0.6rem 1rem; }
.mc-trophy .gi { width: 2.8rem; height: 2.8rem; }
header:has(> #close-mol-cup-btn) { display: none !important; }
.mc-cols { min-height: 450px; }

/* =====================================================================
   SOUPISKA ve stylu FM: hřiště vlevo, tabulka kádru vpravo
   ===================================================================== */
.sq-layout { max-width: 1760px !important; width: 98% !important; display: grid !important; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr); gap: 0.9rem; align-items: stretch; background: transparent !important; box-shadow: none !important; padding: 0 !important; position: relative; max-height: none !important; }
.sq-left, .sq-right { background: rgba(18, 18, 18, 0.96); border: 1px solid #262626; border-radius: 8px; padding: 0.8rem; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.sq-tactic-bar { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.6rem; }
.sq-tactic-bar label { font-family: 'Oswald', sans-serif; font-size: 0.8rem; letter-spacing: 0.08rem; color: var(--accent); }
.sq-tactic-bar .fm-select { min-width: 120px; }
.sq-strength { margin-left: auto; font-family: 'Oswald', sans-serif; font-size: 0.85rem; color: #ccc; background: #0e0e0e; border: 1px solid #2a2a2a; border-radius: 5px; padding: 0.25rem 0.6rem; }
.sq-pitch-target { display: flex; flex-direction: column; gap: 0.6rem; min-height: 0; }
.sq-hidden-reserves { display: none !important; }

.sq-table-head { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; margin-bottom: 0.4rem; flex-wrap: wrap; }
.sq-tabs { display: flex; gap: 0.25rem; background: #0d0d0d; border: 1px solid #262626; border-radius: 6px; padding: 3px; }
.sq-tab { background: transparent; border: 0; color: #999; font-family: 'Oswald', sans-serif; font-size: 0.8rem; letter-spacing: 0.06rem; padding: 0.35rem 0.8rem; border-radius: 4px; cursor: pointer; }
.sq-tab:hover { color: #fff; }
.sq-tab.active { background: var(--accent); color: #000; }
.sq-actions { display: flex; gap: 0.4rem; }
.sq-btn { background: #1a1a1a; color: #ddd; border: 1px solid #333; border-radius: 5px; padding: 0.38rem 0.7rem; font-family: 'Oswald', sans-serif; font-size: 0.78rem; letter-spacing: 0.05rem; cursor: pointer; }
.sq-btn:hover { border-color: var(--accent); color: #fff; }
.sq-btn-primary { background: rgba(204, 255, 0, 0.1); border-color: rgba(204, 255, 0, 0.5); color: var(--accent); }
.sq-hint { font-size: 0.75rem; color: #777; margin-bottom: 0.4rem; }
.sq-table-wrap { flex: 1; min-height: 0; overflow: auto; border: 1px solid #222; border-radius: 6px; }
.sq-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.sq-table thead th { position: sticky; top: 0; z-index: 2; background: #1a1a1a; color: #888; font-weight: 600; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04rem; text-align: left; padding: 0.4rem 0.5rem; border-bottom: 1px solid #2c2c2c; white-space: nowrap; }
.sq-table td { padding: 0.28rem 0.5rem; border-bottom: 1px solid #1c1c1c; color: #ddd; white-space: nowrap; }
.sq-sep td { background: #0d0d0d; color: var(--accent); font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.12rem; padding: 0.3rem 0.5rem; }
.sq-row { cursor: pointer; transition: background 0.1s; }
.sq-row:hover { background: rgba(255, 255, 255, 0.04); }
.sq-row.is-selected { background: rgba(204, 255, 0, 0.12); box-shadow: inset 3px 0 0 var(--accent); }
.sq-row.is-drop { background: rgba(204, 255, 0, 0.08); }
.sq-row.sq-res td { color: #aaa; }
.sq-slot { width: 46px; font-family: 'Oswald', sans-serif; font-weight: 600; text-align: center; }
.sq-xi .sq-slot { background: rgba(204, 255, 0, 0.1); color: var(--accent); }
.sq-bench .sq-slot { background: rgba(125, 211, 252, 0.08); color: #7dd3fc; }
.sq-res .sq-slot { color: #555; }
.sq-slot.sq-offpos { color: #fb923c !important; background: rgba(251, 146, 60, 0.12) !important; }
.sq-player { max-width: 230px; overflow: hidden; text-overflow: ellipsis; }
.sq-name { font-weight: 600; color: #fff; margin-right: 0.3rem; }
.sq-res .sq-name { color: #ccc; }
.sq-pos { display: inline-block; min-width: 26px; padding: 0 0.3rem; background: #222; border-radius: 3px; text-align: center; font-size: 0.7rem; font-weight: 700; color: #ccc; }
.sq-flag { font-size: 0.68rem; padding: 0 0.3rem; border-radius: 3px; margin-right: 0.25rem; }
.sq-flag.inj { background: rgba(239, 68, 68, 0.18); color: #f87171; }
.sq-flag.susp { background: rgba(239, 68, 68, 0.18); color: #f87171; }
.sq-muted { color: #666; }
.sq-fit { display: flex; align-items: center; gap: 0.35rem; }
.sq-fit-bar { width: 52px; height: 6px; background: #262626; border-radius: 3px; overflow: hidden; }
.sq-fit-bar i { display: block; height: 100%; }
.sq-fit span { font-size: 0.72rem; color: #aaa; min-width: 2ch; }
.sq-morale { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; }
.sq-morale i { width: 8px; height: 8px; border-radius: 50%; }
.sq-morale.good i { background: #4ade80; } .sq-morale.ok i { background: #a3e635; } .sq-morale.mid i { background: #facc15; } .sq-morale.bad i { background: #f87171; }
.sq-forms { display: flex; gap: 2px; }
.sq-form { display: inline-block; min-width: 26px; text-align: center; font-size: 0.66rem; font-weight: 700; padding: 1px 2px; border-radius: 3px; background: #3a3a3a; color: #eee; }
.sq-form.good { background: #15803d; color: #fff; }
.sq-form.bad { background: #b91c1c; color: #fff; }
.sq-role { color: #aaa; font-size: 0.75rem; }
.sq-bad { color: #f87171; }
.sq-warn { color: #facc15; }
.sq-layout .modern-close-btn#close-squad-hub-top { position: absolute; top: -0.6rem; right: -0.6rem; z-index: 5; }

@media (max-width: 1250px) {
    .sq-layout { grid-template-columns: 1fr; }
}
.sq-pitch-target #football-pitch .pitch-slot { width: 74px; height: 104px; }
.sq-pitch-target #football-pitch .pc-ovr strong { font-size: 1.15rem; }
.sq-pitch-target #football-pitch .pc-face span { width: 30px; height: 30px; font-size: 0.78rem; }
.sq-pitch-target #football-pitch .pc-name { font-size: 0.7rem; }
.sq-pitch-target #football-pitch .pitch-slot { width: 78px; height: 62px; }
.sq-pitch-target #football-pitch .pc-face { display: none; }
.sq-pitch-target #football-pitch .pc-head { padding: 3px 5px 2px; flex: 1; align-items: center; }
.sq-pitch-target #football-pitch .pc-ovr { flex-direction: row; align-items: baseline; gap: 4px; }
.sq-pitch-target #football-pitch .pc-ovr strong { font-size: 1.15rem; }
.sq-pitch-target #football-pitch .pc-ovr span { font-size: 0.6rem; margin: 0; }
.sq-pitch-target #football-pitch .pc-name { font-size: 0.7rem; padding: 2px 3px; }
.sq-pitch-target #football-pitch .status-overlay { font-size: 1.3rem; }

/* Nápověda: kdo může nahradit vybraného hráče */
@keyframes sqFitPulse { 50% { box-shadow: 0 0 0 2px var(--accent), 0 0 18px rgba(204, 255, 0, 0.7); } }
.bench-slot.is-fit-hint .pcard { box-shadow: 0 0 0 2px rgba(204, 255, 0, 0.7), 0 0 10px rgba(204, 255, 0, 0.35); animation: sqFitPulse 1.3s ease-in-out infinite; }
.bench-slot.is-fit-best .pcard { box-shadow: 0 0 0 2px var(--accent), 0 0 18px rgba(204, 255, 0, 0.7); }
.sq-row.is-fit-hint { background: rgba(204, 255, 0, 0.07); }
.sq-row.is-fit-hint .sq-name { color: var(--accent); }
.sq-row.is-fit-best { background: rgba(204, 255, 0, 0.14); box-shadow: inset 3px 0 0 var(--accent); }
.sq-delta { display: inline-block; margin-left: 0.3rem; padding: 0 0.3rem; border-radius: 3px; font-size: 0.68rem; font-weight: 700; background: #2a2a2a; color: #ccc; }
.sq-delta.up { background: rgba(74, 222, 128, 0.18); color: #4ade80; }
.sq-delta.down { background: rgba(248, 113, 113, 0.15); color: #f87171; }
.ac-pot-num { display: inline-flex; align-items: baseline; gap: 0.2rem; margin-left: 0.3rem; font-family: 'Oswald', sans-serif; font-size: 1.15rem; cursor: help; }
.ac-pot-sep { color: #777; font-size: 0.95rem; }

/* Boční lišta bez barevných štítků (údaje jsou v sekcích) */
#career-hub-budget-badge, #career-academy-badge, #career-facilities-badge, #career-sponsor-badge { display: none !important; }

/* =====================================================================
   FINANCE – vše na jednu obrazovku
   ===================================================================== */
.fin-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; margin-bottom: 0.8rem; }
.fin-kpi { background: #141414; border: 1px solid #262626; border-radius: 8px; padding: 0.6rem 0.9rem; display: flex; flex-direction: column; gap: 0.15rem; }
.fin-kpi small { color: var(--accent); font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.1rem; }
.fin-kpi strong { font-family: 'Oswald', sans-serif; font-size: 1.55rem; color: #fff; line-height: 1.1; }
.fin-kpi strong em { font-style: normal; font-size: 0.8rem; color: #888; margin-left: 0.2rem; }
.fin-kpi span { color: #888; font-size: 0.75rem; }
.fin-layout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.05fr); gap: 0.7rem; align-items: start; }
.fin-col { display: flex; flex-direction: column; gap: 0.5rem; min-width: 0; }
.fin-col-title { font-family: 'Oswald', sans-serif; font-size: 0.85rem; letter-spacing: 0.08rem; color: var(--accent); border-bottom: 1px solid #262626; padding-bottom: 0.3rem; }
.fin-col-title small { color: #777; font-size: 0.72rem; letter-spacing: 0; margin-left: 0.3rem; }
.fin-col-body { display: flex; flex-direction: column; gap: 0.5rem; }
.fc-offer { display: flex; flex-direction: column; gap: 0.35rem; }
.fc-card { background: #141414; border: 1px solid #262626; border-radius: 8px; padding: 0.55rem 0.7rem; }
.fc-card.is-active { border-color: rgba(204, 255, 0, 0.5); background: linear-gradient(180deg, rgba(204, 255, 0, 0.06), #141414); }
.fc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.fc-head strong { color: #fff; font-size: 0.92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-style { font-size: 0.68rem; color: #888; background: #1f1f1f; border-radius: 3px; padding: 0 0.35rem; flex: none; }
.fc-main { display: flex; align-items: baseline; gap: 0.35rem; margin: 0.15rem 0 0.3rem; }
.fc-main span { font-family: 'Oswald', sans-serif; font-size: 1.45rem; color: #4ade80; }
.fc-main small { color: #888; font-size: 0.72rem; }
.fc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem 0.6rem; }
.fc-grid div { display: flex; flex-direction: column; }
.fc-grid small { color: #777; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.03rem; }
.fc-grid b { color: #ddd; font-size: 0.8rem; font-weight: 600; }
.fc-note { margin-top: 0.3rem; font-size: 0.66rem; color: #777; }
.fc-actions { display: flex; gap: 0.35rem; }
.fc-actions .stats-renew-btn { flex: 1; }
.fc-signed { align-self: flex-start; font-family: 'Oswald', sans-serif; font-size: 0.7rem; letter-spacing: 0.1rem; color: #000; background: var(--accent); padding: 0.1rem 0.5rem; border-radius: 3px; }
.fin-side-box { background: #141414; border: 1px solid #262626; border-radius: 8px; padding: 0.55rem 0.8rem; }
.fin-side-box .fin-row { padding: 0.22rem 0; font-size: 0.82rem; }
.fin-ledger { max-height: 260px; overflow-y: auto; }
@media (max-width: 1300px) {
    .fin-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
header:has(> #close-sponsor-btn) { display: none !important; }
.hist-row { display: flex; align-items: center; gap: 0.7rem; }
.hist-row .hist-season { flex: none; min-width: 4.6em; font-family: 'Oswald', sans-serif; color: #888; font-size: 0.85rem; }
.hist-row .stats-name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hist-row small { flex: none; }
.hist-row .stats-name { flex: 1 0 auto; min-width: 6em; max-width: 60%; }
.hist-row small { flex: 0 1 auto; min-width: 0; margin-left: auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; }
.fm-match-when { margin: 0.15rem 0 0.4rem; font-size: 0.82rem; color: #ccc; }
.fm-fixture-when { color: var(--accent); font-size: 0.75rem; }

/* Statistiky – tabulka kádru: stejné zarovnání všech buněk */
.stats-table td { vertical-align: middle; }
.stats-table td .stats-form { display: flex; gap: 3px; align-items: center; height: auto; }
.stats-table td .stats-pot[style*="block"] { font-size: 0.68rem; line-height: 1.1; }
.stats-actions { white-space: nowrap; }
.stats-loan-note { font-size: 0.72rem; color: #7dd3fc; font-style: italic; }

/* Deska se smlouvou: pevná velikost ve všech krocích jednání */
.deal-scene { width: min(1180px, 96vw); }
.deal-folder { width: 100%; box-sizing: border-box; }
.deal-page { height: 680px; min-height: 0; box-sizing: border-box; overflow: hidden; }
.deal-right { display: flex; flex-direction: column; }
.deal-right .deal-signatures { margin-top: auto; }
.deal-comment { height: 4.3em; min-height: 0; overflow: hidden; }
@media (max-height: 820px) { .deal-page { height: auto; min-height: 620px; } }
@media (max-width: 860px) { .deal-page { height: auto; } }

/* Řaditelné sloupce v tabulce kádru */
.stats-sortable { cursor: pointer; user-select: none; }
.stats-sortable:hover { color: #fff; }
.stats-sortable.is-sorted { color: var(--accent); }
.stats-sort-arrow { margin-left: 0.25rem; font-size: 0.65rem; }

/* Porada / střídání v přenosu: vše na jednu obrazovku */
.lm-panel { align-items: flex-start; padding: 0.6rem 0.8rem; }
.lm-ht { margin: auto; max-width: 1000px; gap: 0.45rem; }
.lm-ht h3 { font-size: 1.15rem; }
.lm-tips { display: grid; grid-template-columns: 1fr 1fr; gap: 0.1rem 1.2rem; padding: 0.45rem 0.75rem; width: 100%; box-sizing: border-box; }
.lm-tips-title { grid-column: 1 / -1; margin-bottom: 0.15rem; }
.lm-tip { font-size: 0.74rem; line-height: 1.3; margin: 0; }
.lm-ht h4 { font-size: 0.78rem; margin: 0.25rem 0 0.2rem; }
.lm-ht-cols { gap: 1rem; width: 100%; }
.lm-ht-tactics { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25rem; }
.lm-ht-tactic { padding: 0.3rem 0.5rem; font-size: 0.74rem; }
.lm-select { padding: 0.3rem 0.5rem; margin-bottom: 0.25rem; }
.lm-seg { margin-bottom: 0.25rem; }
.lm-seg button { padding: 0.25rem 0.4rem; }
.lm-ht-list { gap: 2px; }
.lm-ht-player { padding: 0.2rem 0.55rem; font-size: 0.76rem; }
.lm-ht-continue { height: 2.3rem; }

/* Zápis ze zápasu: vše na jednu obrazovku */
.match-report-content { max-width: 1500px !important; width: 96% !important; padding: 1rem 1.3rem !important; }
.mr-head { margin-bottom: 0.6rem; }
.mr-scoreline { margin-top: 0.3rem; gap: 1.5rem; }
.mr-team { flex-direction: row; width: auto; min-width: 230px; gap: 0.6rem; font-size: 1.15rem; }
.mr-scoreline .mr-team:first-child { justify-content: flex-end; }
.mr-scoreline .mr-team:first-child .fm-crest-svg { order: 2; }
.mr-team .fm-crest-svg svg, .mr-team .fm-crest-svg img { width: 42px !important; height: 42px !important; }
.mr-score { font-size: 2.5rem; line-height: 1; }
.mr-verdict { margin-bottom: 0.3rem; }
.mr-grid { grid-template-columns: 1.15fr 1fr 1fr 1fr; gap: 0.6rem; }
.mr-panel { padding: 0.55rem 0.7rem; }
.mr-panel .fm-panel-title { margin-bottom: 0.4rem; }
.mr-events { gap: 0.2rem; font-size: 0.78rem; }
.mr-stat { margin-bottom: 0.45rem; }
.mr-player { padding: 0.16rem 0; font-size: 0.78rem; }
.mr-rating { font-size: 0.72rem; padding: 0 0.3rem; }
.match-report-continue { margin-top: 0.7rem; }
@media (max-width: 1250px) { .mr-grid { grid-template-columns: 1fr 1fr; } }

/* Deadline Day: pruh nad mřížkou, křížek pro zavření */
#career-dashboard > section > .dd-banner, .dd-banner { width: auto; margin: 0.6rem 0.6rem 0; flex: none; animation: none; }
.dd-top { position: relative; padding-right: 3.6rem; }
.dd-close { position: absolute; top: 0.7rem; right: 0.8rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 1px solid rgba(255,255,255,0.25); background: rgba(0,0,0,0.45); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.dd-close:hover { border-color: var(--accent); color: var(--accent); }

/* MOL Cup – 1/16 finále (32 týmů obou lig) */
.mc-r32 { background: #0f0f0f; border: 1px solid #222; border-radius: 10px; padding: 0.5rem 0.7rem 0.6rem; }
.mc-r32 h4 { margin: 0 0 0.4rem; font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.1rem; color: #888; }
.mc-r32-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.35rem; }
.mc-r32-match { position: relative; background: #161616; border: 1px solid #262626; border-radius: 6px; padding: 0.15rem 0.35rem; }
.mc-r32-match.is-mine { border-color: rgba(204, 255, 0, 0.55); }
.mc-r32-match small { position: absolute; right: 0.3rem; top: -0.55rem; font-size: 0.55rem; color: #888; background: #0f0f0f; padding: 0 0.2rem; }
.mc-r32-team { display: grid; grid-template-columns: 16px 1fr auto auto; align-items: center; gap: 0.25rem; font-size: 0.68rem; color: #ccc; padding: 0.08rem 0; }
.mc-r32-team b { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-r32-team i { font-style: normal; font-size: 0.5rem; color: #7dd3fc; border: 1px solid rgba(125, 211, 252, 0.4); border-radius: 2px; padding: 0 0.15rem; }
.mc-r32-team em { font-style: normal; font-family: 'Oswald', sans-serif; }
.mc-r32-team.is-win { color: #fff; } .mc-r32-team.is-win em { color: var(--accent); }
.mc-r32-team.is-out { color: #666; }
.mc-r32-team.is-mine b { color: var(--accent); }
.mc-r32-team svg { width: 16px !important; height: 16px !important; }
@media (max-width: 1250px) { .mc-r32-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Tabulka: přepínač lig a zóny postupu / sestupu */
.tbl-title { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.tbl-switch { display: inline-flex; gap: 2px; background: #0d0d0d; border: 1px solid #262626; border-radius: 5px; padding: 2px; }
.tbl-switch button { background: transparent; border: 0; color: #888; font-family: 'Oswald', sans-serif; font-size: 0.65rem; letter-spacing: 0.05rem; padding: 0.15rem 0.45rem; border-radius: 3px; cursor: pointer; }
.tbl-switch button.is-on { background: var(--accent); color: #000; }
.tbl-group { text-align: center; padding: 0.2rem !important; font-size: 0.7rem; letter-spacing: 2px; background: rgba(255, 255, 255, 0.03); }
#career-league-table-body tr.tbl-zone-up td:first-child { box-shadow: inset 3px 0 0 #4ade80; }
#career-league-table-body tr.tbl-zone-playoff td:first-child { box-shadow: inset 3px 0 0 #fb923c; }
#career-league-table-body tr.tbl-zone-down td:first-child { box-shadow: inset 3px 0 0 #ef4444; }
.tbl-b { font-size: 0.55rem; color: #888; border: 1px solid #444; border-radius: 2px; padding: 0 0.15rem; }
.career-league-tabs { margin-left: auto; margin-right: 0.6rem; }
.career-league-tabs button { font-size: 0.8rem; padding: 0.35rem 0.8rem; }

/* Evropské poháry */
.euro-content { max-width: 1560px; width: 96%; height: 88vh; display: flex; flex-direction: column; }
.euro-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.6rem; }
.euro-head .draft-modal-title { margin: 0; }
.euro-head .tbl-switch { margin-left: auto; }
.euro-head .tbl-switch button { font-size: 0.75rem; padding: 0.3rem 0.8rem; }
#euro-body { flex: 1; min-height: 0; }
.eu-grid { display: grid; grid-template-columns: 290px minmax(0, 1fr) 400px; gap: 0.7rem; height: 100%; min-height: 0; }
.eu-panel { background: #0f0f0f; border: 1px solid #222; border-radius: 10px; padding: 0.55rem 0.7rem; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
.eu-panel h4 { margin: 0 0 0.45rem; font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.1rem; color: #888; display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.eu-legend { font-family: 'Inter', sans-serif; font-size: 0.62rem; letter-spacing: 0; color: #777; display: flex; align-items: center; gap: 0.3rem; }
.eu-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-left: 0.4rem; }
.eu-legend i.eu-z1 { background: #4ade80; } .eu-legend i.eu-z2 { background: #60a5fa; } .eu-legend i.eu-z3 { background: #444; }
.eu-info { color: #888; font-size: 0.75rem; margin: 0 0 0.6rem; }
.eu-team { display: inline-flex; align-items: center; gap: 0.3rem; min-width: 0; color: #ccc; }
.eu-team svg { width: 16px !important; height: 16px !important; flex-shrink: 0; }
.eu-team b { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu-team.is-cz b { color: #fff; }
.eu-team.is-mine b { color: var(--accent); font-weight: 700; }
.eu-ctry { font-style: normal; font-size: 0.58rem; color: #777; border: 1px solid #333; border-radius: 2px; padding: 0 0.2rem; }
.eu-ctry.is-cz { color: #7dd3fc; border-color: rgba(125, 211, 252, 0.4); }
.eu-tables { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; min-height: 0; }
.eu-table { width: 100%; border-collapse: collapse; font-size: 0.72rem; table-layout: fixed; }
.eu-table th { color: #666; font-weight: 500; text-align: left; padding: 0.15rem 0.3rem; border-bottom: 1px solid #222; }
.eu-table th:nth-child(1) { width: 26px; } .eu-table th:nth-child(3) { width: 34px; } .eu-table th:nth-child(4) { width: 22px; } .eu-table th:nth-child(5) { width: 44px; } .eu-table th:nth-child(6) { width: 26px; }
.eu-table td { padding: 0.17rem 0.3rem; border-bottom: 1px solid #1a1a1a; white-space: nowrap; overflow: hidden; }
.eu-table td:first-child { color: #888; }
.eu-table tr.eu-z1 td:first-child { box-shadow: inset 3px 0 0 #4ade80; }
.eu-table tr.eu-z2 td:first-child { box-shadow: inset 3px 0 0 #60a5fa; }
.eu-table tr.eu-z3 td { opacity: 0.75; }
.eu-table tr.is-mine td { background: rgba(204, 255, 0, 0.1); }
.eu-table strong { color: var(--accent); }
.eu-reps { gap: 0.5rem; overflow-y: auto; }
.eu-rep { background: #151515; border: 1px solid #262626; border-radius: 8px; padding: 0.4rem 0.5rem; display: flex; flex-direction: column; gap: 0.2rem; }
.eu-rep.is-mine { border-color: rgba(204, 255, 0, 0.5); }
.eu-rep-head { display: flex; flex-direction: column; gap: 0.1rem; }
.eu-rep-head small { color: #777; font-size: 0.65rem; }
.eu-step { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: 0.4rem; font-size: 0.72rem; padding-left: 0.4rem; border-left: 2px solid #333; }
.eu-step small { grid-column: 1 / -1; color: #777; font-size: 0.6rem; }
.eu-step em { font-style: normal; font-family: 'Oswald', sans-serif; }
.eu-step.won { border-left-color: #4ade80; } .eu-step.won em { color: #4ade80; }
.eu-step.lost { border-left-color: #ef4444; } .eu-step.lost em { color: #ef4444; }
.eu-rep-now { font-size: 0.72rem; color: var(--accent); font-weight: 600; }
.eu-rep-now.is-out { color: #ef4444; }
.eu-when { margin-top: auto; padding-top: 0.4rem; font-size: 0.7rem; color: #888; border-top: 1px solid #222; }
.eu-ko-cols { display: flex; flex-direction: column; gap: 0.35rem; overflow-y: auto; min-height: 0; }
.eu-ko-col h5 { margin: 0.1rem 0 0.2rem; font-family: 'Oswald', sans-serif; font-size: 0.62rem; letter-spacing: 0.08rem; color: #777; }
.eu-ko-col { display: grid; grid-template-columns: 1fr; gap: 2px; }
.eu-tbd { color: #555; font-size: 0.68rem; }
.eu-tie { display: grid; grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr); align-items: center; gap: 0.3rem; background: #151515; border: 1px solid #222; border-radius: 5px; padding: 0.12rem 0.4rem; font-size: 0.7rem; }
.eu-tie.is-mine { border-color: rgba(204, 255, 0, 0.5); }
.eu-tie em { font-style: normal; text-align: center; font-family: 'Oswald', sans-serif; color: #fff; }
.eu-tie em sup { color: #888; }
.eu-tie-side { min-width: 0; display: flex; }
.eu-tie-side.is-right { justify-content: flex-end; }
.eu-tie-side.is-right .eu-team { flex-direction: row-reverse; }
.eu-tie-side.lost .eu-team { opacity: 0.45; }
.eu-tie-side.won .eu-team b { color: #fff; font-weight: 700; }
.eu-champ { display: flex; align-items: center; gap: 0.4rem; background: rgba(204, 255, 0, 0.08); border: 1px solid rgba(204, 255, 0, 0.4); border-radius: 6px; padding: 0.3rem 0.5rem; margin-bottom: 0.4rem; color: var(--accent); font-family: 'Oswald', sans-serif; font-size: 0.8rem; }

/* Evropa: kompaktnější, ať se vše vejde bez scrollování */
.eu-reps { gap: 0.35rem; }
.eu-rep { padding: 0.3rem 0.45rem; gap: 0.12rem; }
.eu-rep-head { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 0.3rem; flex-wrap: wrap; }
.eu-rep-head small { font-size: 0.6rem; }
.eu-step { grid-template-columns: 30px minmax(0, 1fr) auto; grid-template-rows: auto; align-items: center; font-size: 0.68rem; }
.eu-step small { grid-column: auto; font-size: 0.58rem; }
.eu-rep-now { font-size: 0.68rem; }
.eu-ko-cols { gap: 0.2rem; }
.eu-ko-col { gap: 1px; }
.eu-ko-col h5 { margin: 0.05rem 0 0.1rem; font-size: 0.58rem; }
.eu-tie { padding: 0.04rem 0.35rem; font-size: 0.66rem; }
.eu-tie .eu-team svg { width: 14px !important; height: 14px !important; }

/* Evropa: pavouk, střelci, naše zápasy */
.eu-mid-switch { margin-left: auto; }
.eu-mid-switch button { font-size: 0.6rem; padding: 0.12rem 0.5rem; }
.eu-panel h4 .eu-legend { margin-left: auto; }
.eu-bracket { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.6rem; flex: 1; min-height: 0; }
.eu-br-col { display: flex; flex-direction: column; min-width: 0; }
.eu-br-col h5 { margin: 0 0 0.3rem; font-family: 'Oswald', sans-serif; font-size: 0.6rem; letter-spacing: 0.08rem; color: #777; text-align: center; }
.eu-br-ties { flex: 1; display: flex; flex-direction: column; justify-content: space-around; gap: 4px; }
.eu-br-tie { position: relative; background: #151515; border: 1px solid #262626; border-radius: 6px; padding: 0.12rem 0.35rem; }
.eu-br-tie.is-mine { border-color: rgba(204, 255, 0, 0.6); }
.eu-br-tie.is-final { border-color: rgba(250, 204, 21, 0.6); box-shadow: 0 0 12px rgba(250, 204, 21, 0.12); }
.eu-br-row { display: grid; grid-template-columns: minmax(0, 1fr) 18px; align-items: center; font-size: 0.68rem; padding: 0.08rem 0; }
.eu-br-row em { font-style: normal; text-align: right; font-family: 'Oswald', sans-serif; color: #fff; }
.eu-br-row.lost .eu-team { opacity: 0.45; } .eu-br-row.lost em { color: #666; }
.eu-br-row.won .eu-team b { color: #fff; font-weight: 700; }
.eu-br-note { position: absolute; right: -0.45rem; top: 0.1rem; font-style: normal; color: #888; font-size: 0.6rem; }
.eu-ph { color: #555; font-size: 0.62rem; font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu-side { gap: 0.2rem; }
.eu-h4-gap { margin-top: 0.5rem !important; }
.eu-scorers { width: 100%; border-collapse: collapse; font-size: 0.7rem; table-layout: fixed; }
.eu-scorers td { padding: 0.14rem 0.25rem; border-bottom: 1px solid #1a1a1a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu-scorers td:first-child { width: 24px; color: #777; } .eu-scorers td:last-child { width: 26px; text-align: right; }
.eu-scorers td:nth-child(3) { width: 42%; }
.eu-scorers b { font-weight: 500; color: #ddd; }
.eu-scorers tr.is-mine b { color: var(--accent); }
.eu-scorers strong { color: var(--accent); font-family: 'Oswald', sans-serif; }
.eu-mylist { display: flex; flex-direction: column; gap: 2px; overflow: hidden; }
.eu-my { display: grid; grid-template-columns: 92px minmax(0, 1fr) 14px 40px; align-items: center; gap: 0.3rem; font-size: 0.68rem; background: #151515; border-left: 3px solid #444; border-radius: 4px; padding: 0.1rem 0.35rem; }
.eu-my small { color: #777; font-size: 0.58rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu-my span { color: #777; font-size: 0.6rem; }
.eu-my em { font-style: normal; text-align: right; font-family: 'Oswald', sans-serif; }
.eu-my.win { border-left-color: #4ade80; } .eu-my.draw { border-left-color: #facc15; } .eu-my.loss { border-left-color: #ef4444; }
.eu-assoc { font-size: 0.68rem; color: #999; margin: -0.2rem 0 0.2rem; }
.eu-assoc b { color: #7dd3fc; }
.eu-rep-now.is-win { color: #facc15; }
/* Evropa: pevná šířka, ať stránka při přepínání soutěží neposkakuje */
.euro-content { width: min(1560px, 96%); }
.fm-page-mode .euro-content { width: 100%; max-width: none; }
#euro-body, .eu-grid { width: 100%; }
/* Skutečná loga: jemný světlý obrys, ať tmavé erby (Jablonec) nesplývají s pozadím */
/* Bez obrysu (u malých erbů dělal světelný lem); tmavá loga se jen zesvětlí */
img.club-crest-img.is-dark-logo { filter: brightness(1.75) saturate(1.1); }

/* Přestupy: Svět */
.transfer-player-card.is-reluctant { opacity: 0.45; }
.tm-ctry { font-size: 0.6rem; color: #7dd3fc; border: 1px solid rgba(125, 211, 252, 0.4); border-radius: 2px; padding: 0 0.15rem; }
.tm-more { grid-column: 1 / -1; text-align: center; color: #888; font-size: 0.8rem; padding: 0.6rem; }

/* =====================================================================
   HLAVNÍ MENU
   ===================================================================== */
body.is-home .navbar { display: none; }
body.is-home .container { max-width: none; padding: 0; margin: 0; }
.home { position: relative; min-height: 100vh; overflow: hidden; display: flex; flex-direction: column; background: #070807; }
.home-bg { position: absolute; inset: 0; }
.home-pitch { position: absolute; inset: -5% -10%; width: 120%; height: 110%; transform: perspective(900px) rotateX(55deg) translateY(18%); transform-origin: 50% 100%; opacity: 0.16; }
.home-pitch * { fill: none; stroke: var(--accent); stroke-width: 2.5; }
.home-glow { position: absolute; inset: 0; background:
    radial-gradient(ellipse 60% 50% at 75% 40%, rgba(204, 255, 0, 0.10), transparent 60%),
    radial-gradient(ellipse 50% 60% at 15% 80%, rgba(56, 189, 248, 0.06), transparent 60%),
    linear-gradient(180deg, rgba(7, 8, 7, 0.2) 0%, rgba(7, 8, 7, 0.85) 85%); }
.home-inner { position: relative; flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) 440px; align-items: center; gap: 4rem; max-width: 1500px; width: 100%; margin: 0 auto; padding: 4rem 4rem 2rem; }
.home-kicker { font-family: 'Oswald', sans-serif; letter-spacing: 0.35rem; font-size: 0.85rem; color: var(--accent); margin-bottom: 1rem; }
.home-title { font-family: 'Oswald', sans-serif; font-size: clamp(4rem, 9vw, 8.5rem); line-height: 0.9; margin: 0; color: #fff; letter-spacing: 0.02em; text-shadow: 0 10px 40px rgba(0, 0, 0, 0.6); }
.home-sub { font-family: 'Oswald', sans-serif; font-size: clamp(1.5rem, 3vw, 2.6rem); color: transparent; -webkit-text-stroke: 1.5px var(--accent); letter-spacing: 0.25rem; margin-top: 0.4rem; }
.home-facts { list-style: none; padding: 0; margin: 2.2rem 0 0; display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; color: #9a9a9a; font-size: 0.95rem; }
.home-facts b { color: #fff; font-family: 'Oswald', sans-serif; font-size: 1.15rem; margin-right: 0.25rem; }
.home-menu { background: rgba(18, 20, 16, 0.82); border: 1px solid rgba(204, 255, 0, 0.18); border-radius: 14px; padding: 1.2rem; display: flex; flex-direction: column; gap: 0.55rem; backdrop-filter: blur(10px); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55); }
.home-item { display: flex; flex-direction: column; align-items: flex-start; gap: 0.15rem; width: 100%; text-align: left; background: #151713; border: 1px solid #262a22; border-radius: 9px; padding: 0.85rem 1.1rem; color: #fff; cursor: pointer; transition: background 0.15s, border-color 0.15s, transform 0.15s; }
.home-item span { font-family: 'Oswald', sans-serif; font-size: 1.2rem; letter-spacing: 0.08rem; }
.home-item small { color: #8a8f84; font-size: 0.78rem; }
.home-item:hover { background: #1c2017; border-color: rgba(204, 255, 0, 0.5); transform: translateX(3px); }
.home-item.is-main { background: var(--accent); border-color: var(--accent); }
.home-item.is-main span { color: #0a0a0a; } .home-item.is-main small { color: #2c3410; }
.home-item.is-main:hover { background: #d9ff33; }
.home-item.is-continue { flex-direction: row; align-items: center; gap: 0.9rem; background: linear-gradient(90deg, rgba(204, 255, 0, 0.14), #151713 70%); border-color: rgba(204, 255, 0, 0.45); }
.home-continue-crest { display: flex; }
.home-continue-text { display: flex; flex-direction: column; gap: 0.15rem; flex: 1; min-width: 0; }
.home-continue-text span { color: var(--accent); }
.home-continue-text small { font-family: 'Inter', sans-serif; font-size: 0.78rem; letter-spacing: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-item em { font-style: normal; color: var(--accent); font-size: 1.2rem; }
.home-foot { display: flex; justify-content: space-between; color: #5f6459; font-size: 0.7rem; margin-top: 0.4rem; padding: 0 0.2rem; }
.home-crests { position: relative; border-top: 1px solid rgba(255, 255, 255, 0.06); background: rgba(0, 0, 0, 0.35); padding: 0.9rem 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.home-crests-track { display: flex; gap: 2.6rem; width: max-content; animation: home-crests 70s linear infinite; }
.home-crests-track span { display: flex; opacity: 0.75; filter: grayscale(0.25); }
@keyframes home-crests { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 1000px) { .home-inner { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 1.2rem 1.5rem; } }
@media (prefers-reduced-motion: reduce) { .home-crests-track { animation: none; } }

/* Menu přesně na výšku okna (lišta je skrytá, nic se neposouvá) */
body.is-home { overflow: hidden; }
body.is-home .container { padding-top: 0 !important; }
.home { height: 100vh; min-height: 0; }
.home-inner { min-height: 0; }

/* Logo FCM */
.navbar .logo { display: flex; align-items: center; gap: 0.6rem; }
.navbar .logo .logo-mark { width: 34px; height: 34px; display: block; filter: drop-shadow(0 0 6px rgba(204, 255, 0, 0.25)); }
.home-logo { position: absolute; top: 1.6rem; left: 2rem; z-index: 2; display: flex; align-items: center; gap: 0.7rem; }
.home-logo img { width: 52px; height: 52px; filter: drop-shadow(0 0 10px rgba(204, 255, 0, 0.3)); }
.home-logo span { font-family: 'Oswald', sans-serif; font-size: 1.15rem; letter-spacing: 0.2rem; color: #fff; opacity: 0.85; }

/* =====================================================================
   OKNA HRY (potvrzení / oznámení) a LIŠTA COOKIES
   ===================================================================== */
.gd-overlay { position: fixed; inset: 0; z-index: 20000; display: flex; align-items: center; justify-content: center; padding: 1rem;
    background: rgba(0, 0, 0, 0.55); backdrop-filter: blur(4px); opacity: 0; transition: opacity 0.18s; }
.gd-overlay.is-open { opacity: 1; }
.gd-card { width: min(470px, 100%); background: linear-gradient(180deg, #161a12, #0d0f0b); border: 1px solid rgba(204, 255, 0, 0.35); border-radius: 14px;
    padding: 1.3rem 1.4rem 1.2rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(0, 0, 0, 0.4); transform: translateY(14px) scale(0.98); transition: transform 0.18s; }
.gd-overlay.is-open .gd-card { transform: none; }
.gd-card.is-danger { border-color: rgba(239, 68, 68, 0.5); }
.gd-head { display: flex; align-items: center; gap: 0.55rem; font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.25rem; color: #8a8f84; margin-bottom: 0.8rem; }
.gd-title { font-family: 'Oswald', sans-serif; font-size: 1.45rem; line-height: 1.2; margin: 0 0 0.5rem; color: #fff; letter-spacing: 0.02em; }
.gd-body { color: #b5b9ae; font-size: 0.92rem; line-height: 1.5; }
.gd-body p { margin: 0 0 0.5rem; }
.gd-btns { display: flex; justify-content: flex-end; gap: 0.6rem; margin-top: 1.1rem; }
.gd-btn { font-family: 'Oswald', sans-serif; font-size: 0.95rem; letter-spacing: 0.08rem; padding: 0.6rem 1.2rem; border-radius: 8px; cursor: pointer; transition: background 0.15s, border-color 0.15s; }
.gd-cancel { background: transparent; border: 1px solid #3a3f35; color: #c9ccc4; }
.gd-cancel:hover { border-color: #6b7063; color: #fff; }
.gd-ok { background: var(--accent); border: 1px solid var(--accent); color: #0a0a0a; }
.gd-ok:hover { background: #d9ff33; }
.gd-card.is-danger .gd-ok { background: #ef4444; border-color: #ef4444; color: #fff; }
.gd-card.is-danger .gd-ok:hover { background: #f05a5a; }
.gd-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.ck-bar { position: fixed; left: 50%; bottom: 1.2rem; z-index: 15000; width: min(860px, calc(100% - 2rem)); transform: translate(-50%, 140%); transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; background: rgba(18, 21, 15, 0.96); border: 1px solid rgba(204, 255, 0, 0.3);
    border-radius: 14px; padding: 0.9rem 1.1rem; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55); backdrop-filter: blur(8px); }
.ck-bar.is-open { transform: translate(-50%, 0); }
.ck-icon { width: 42px; height: 42px; }
.ck-text h4 { margin: 0 0 0.15rem; font-family: 'Oswald', sans-serif; font-size: 1rem; letter-spacing: 0.08rem; color: #fff; }
.ck-text p { margin: 0; color: #a9ada2; font-size: 0.82rem; line-height: 1.45; }
.ck-more { display: none; margin-top: 0.4rem !important; }
.ck-bar.is-expanded .ck-more { display: block; }
.ck-btns { display: flex; gap: 0.5rem; }
.ck-btns button { font-family: 'Oswald', sans-serif; letter-spacing: 0.06rem; font-size: 0.85rem; padding: 0.55rem 0.9rem; border-radius: 8px; cursor: pointer; white-space: nowrap; }
.ck-info { background: transparent; border: 1px solid #3a3f35; color: #c9ccc4; }
.ck-ok { background: var(--accent); border: 1px solid var(--accent); color: #0a0a0a; }
@media (max-width: 700px) { .ck-bar { grid-template-columns: 1fr; } .ck-icon { display: none; } }

/* =====================================================================
   PŘECHODY MEZI STRÁNKAMI (jemné: zesvětlení + malý posun, ~0,3 s)
   Animace se spustí sama, když se prvek z display:none zobrazí.
   ===================================================================== */
@keyframes fc-view-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes fc-page-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes fc-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes fc-pop-in { from { opacity: 0; transform: translateY(8px) scale(0.985); } to { opacity: 1; transform: none; } }
@keyframes fc-nav-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes fc-from-left { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }
@keyframes fc-from-right { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }

/* Hlavní stránky (menu, databáze, kariéra, draft) */
.view-section.active { animation: fc-view-in 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }
body:not(.is-home) .navbar { animation: fc-nav-in 0.3s ease-out backwards; }

/* Menu: nápis zleva, nabídka zprava, položky postupně, odchod vytracením */
#home-view.active .home-brand { animation: fc-from-left 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }
#home-view.active .home-menu { animation: fc-from-right 0.5s 0.06s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }
#home-view.active .home-menu > * { animation: fc-page-in 0.35s backwards; }
#home-view.active .home-menu > *:nth-child(2) { animation-delay: 0.12s; }
#home-view.active .home-menu > *:nth-child(3) { animation-delay: 0.16s; }
#home-view.active .home-menu > *:nth-child(4) { animation-delay: 0.2s; }
#home-view.active .home-menu > *:nth-child(5) { animation-delay: 0.24s; }
#home-view.active .home-menu > *:nth-child(6) { animation-delay: 0.28s; }
#home-view.active .home-logo, #home-view.active .home-crests { animation: fc-fade-in 0.6s 0.15s backwards; }
#home-view.is-leaving { opacity: 0; transform: scale(0.99); transition: opacity 0.18s ease-in, transform 0.18s ease-in; }

/* Kariéra: výběr klubu → dashboard, stránky v kariéře a návrat domů */
#career-setup:not(.hidden), #career-dashboard:not(.hidden) { animation: fc-view-in 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }
.draft-modal.fm-page-mode:not(.hidden) { animation: fc-page-in 0.26s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }
.fm-main:not(.fm-showing-page) .fm-grid { animation: fc-page-in 0.26s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }

/* Vyskakovací okna (zápis zápasu, vyjednávání…): ztmavení a mírné „vyplutí“ obsahu */
.draft-modal:not(.fm-page-mode):not(.hidden) { animation: fc-fade-in 0.2s ease-out backwards; }
.draft-modal:not(.fm-page-mode):not(.hidden) > * { animation: fc-pop-in 0.26s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }

@media (prefers-reduced-motion: reduce) {
    .view-section.active, body:not(.is-home) .navbar, #home-view.active *, #career-setup, #career-dashboard,
    .draft-modal, .draft-modal > *, .fm-grid { animation: none !important; transition: none !important; }
}

/* Přestupy: filtr ratingu od–do */
.tm-range { display: flex; align-items: center; gap: 0.35rem; background: #222; border: 1px solid #444; border-radius: 4px; padding: 0 0.55rem; }
.tm-range span { font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.08rem; color: #888; }
.tm-range em { font-style: normal; color: #666; }
.tm-range input { width: 3.2rem; background: #151515; border: 1px solid #383838; border-radius: 4px; color: #fff; padding: 0.35rem 0.3rem; text-align: center; font-family: 'Oswald', sans-serif; font-size: 0.95rem; }
.tm-range input:focus { outline: none; border-color: var(--accent); }

/* Statistiky: jméno a klub oddělené, klub s erbem */
.stats-board-row .stats-name { display: flex; align-items: baseline; gap: 0.55rem; }
.stats-board-row .stats-name b { font-weight: 500; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.stats-board-row .stats-name .stats-club { display: inline-flex; align-items: center; gap: 0.3rem; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 0.72rem; color: #7d8277; }
.stats-board-row .stats-name .stats-club svg, .stats-board-row .stats-name .stats-club img { width: 14px !important; height: 14px !important; flex-shrink: 0; align-self: center; }

/* =====================================================================
   SMLOUVY A KÁDR
   ===================================================================== */
.ct-cards { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.6rem; margin: 0.4rem 0 0.9rem; }
.ct-card { background: #141414; border: 1px solid #262626; border-radius: 10px; padding: 0.65rem 0.8rem; display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.ct-card span { font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.12rem; color: #888; }
.ct-card strong { font-family: 'Oswald', sans-serif; font-size: 1.45rem; color: #fff; line-height: 1.15; }
.ct-card small { color: #777; font-size: 0.72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-card.is-warn { border-color: rgba(248, 113, 113, 0.45); } .ct-card.is-warn strong { color: #f87171; }
.ct-card.is-ok strong { color: #4ade80; }
.ct-card.is-link { cursor: pointer; transition: border-color 0.15s, background 0.15s; }
.ct-card.is-link:hover { border-color: rgba(204, 255, 0, 0.5); background: #181a14; }
.ct-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-bottom: 0.6rem; }
.ct-filters button { font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.06rem; background: #161616; border: 1px solid #2c2c2c; color: #aaa; border-radius: 6px; padding: 0.35rem 0.75rem; cursor: pointer; }
.ct-filters button:hover { color: #fff; border-color: #444; }
.ct-filters button.is-on { background: var(--accent); border-color: var(--accent); color: #0a0a0a; }
.ct-hint { margin-left: auto; color: #6f6f6f; font-size: 0.75rem; }
.ct-table tr.is-expiring td { background: rgba(248, 113, 113, 0.05); }
.ct-years { color: #ccc; } .ct-years.is-short { color: #f87171; font-weight: 600; }
@media (max-width: 1400px) { .ct-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* =====================================================================
   PŘEDZÁPASOVÁ PORADA
   ===================================================================== */
.br { width: 100%; display: flex; flex-direction: column; gap: 0.5rem; }
.br-strip { display: grid; grid-template-columns: 1fr minmax(260px, 1.2fr) 1fr; align-items: center; gap: 1rem; background: #121510; border: 1px solid #2a2f24; border-radius: 10px; padding: 0.55rem 0.9rem; }
.br-strip.is-good { border-color: rgba(74, 222, 128, 0.4); }
.br-strip.is-bad { border-color: rgba(248, 113, 113, 0.4); }
.br-team { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
.br-team.is-right { justify-content: flex-end; }
.br-team b { font-family: 'Oswald', sans-serif; font-size: 1.05rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.br-team small { color: #888; font-size: 0.72rem; white-space: nowrap; }
.br-mid { text-align: center; }
.br-nums { display: flex; justify-content: center; align-items: baseline; gap: 0.8rem; }
.br-nums strong { font-family: 'Oswald', sans-serif; font-size: 1.5rem; color: #fff; line-height: 1; }
.br-nums span { font-family: 'Oswald', sans-serif; font-size: 0.6rem; letter-spacing: 0.2rem; color: #777; }
.br-bar { height: 5px; background: #3a1f1f; border-radius: 3px; overflow: hidden; margin: 0.3rem auto 0.25rem; max-width: 240px; }
.br-bar i { display: block; height: 100%; background: var(--accent); }
.br-verdict { font-family: 'Oswald', sans-serif; font-size: 0.95rem; letter-spacing: 0.04rem; color: var(--accent); }
.br-strip.is-bad .br-verdict { color: #f87171; } .br-strip.is-good .br-verdict { color: #4ade80; }
.br-venue { font-size: 0.7rem; color: #8a8f84; }
.br-venue em { font-style: normal; color: #fb923c; }
.br-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.br-card { background: #121510; border: 1px solid #23271f; border-radius: 10px; padding: 0.5rem 0.65rem; display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
.br-card h5 { margin: 0 0 0.1rem; font-family: 'Oswald', sans-serif; font-size: 0.7rem; letter-spacing: 0.18rem; color: var(--accent); }
.br-item { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 0.4rem; align-items: start; font-size: 0.74rem; line-height: 1.32; color: #c9ccc4; }
.br-item i { font-style: normal; display: flex; justify-content: center; padding-top: 1px; }
.br-item i svg, .br-item i img { width: 14px; height: 14px; }
.br-item b { color: #fff; font-weight: 600; }
.br-item.is-warn span { color: #fcd34d; } .br-item.is-warn b { color: #fde68a; }
.br-item.is-bad span { color: #fca5a5; } .br-item.is-bad b { color: #fecaca; }
.br-item.is-good span { color: #bbf7d0; }
@media (max-width: 1100px) { .br-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* =====================================================================
   CENTRUM ZPRÁV
   ===================================================================== */
.ib-content { max-width: 1400px; width: 95%; height: 82vh; display: flex; flex-direction: column; }
.ib-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.8rem; }
.ib-tools { margin-left: auto; display: flex; gap: 0.4rem; }
.ib-tools button { font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.06rem; background: #161616; border: 1px solid #2c2c2c; color: #aaa; border-radius: 6px; padding: 0.35rem 0.7rem; cursor: pointer; }
.ib-tools button:hover { color: #fff; border-color: #444; }
.ib { flex: 1; min-height: 0; display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 0.8rem; }
.ib-left { display: flex; flex-direction: column; min-height: 0; background: #101010; border: 1px solid #222; border-radius: 12px; overflow: hidden; }
.ib-tabs { display: flex; gap: 2px; padding: 0.5rem; border-bottom: 1px solid #1e1e1e; }
.ib-tabs button { flex: 1; font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.06rem; background: transparent; border: 0; color: #888; padding: 0.4rem 0.3rem; border-radius: 6px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 0.3rem; }
.ib-tabs button:hover { color: #fff; background: #181818; }
.ib-tabs button.is-on { background: var(--accent); color: #0a0a0a; }
.ib-tabs button i { font-style: normal; background: #ef4444; color: #fff; border-radius: 9px; font-size: 0.62rem; padding: 0 0.35rem; line-height: 1.4; font-family: 'Inter', sans-serif; }
.ib-tabs button.is-on i { background: #0a0a0a; color: var(--accent); }
.ib-list { flex: 1; overflow-y: auto; }
.ib-row { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr) 10px; gap: 0.65rem; align-items: center; padding: 0.7rem 0.85rem; border-bottom: 1px solid #1a1a1a; cursor: pointer; transition: background 0.12s; }
.ib-row:hover { background: #161616; }
.ib-row.is-active { background: #1a1d14; box-shadow: inset 3px 0 0 var(--accent); }
.ib-row-text { min-width: 0; }
.ib-row-top { display: flex; justify-content: space-between; gap: 0.5rem; }
.ib-sender { font-size: 0.75rem; color: #9a9a9a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-when { font-size: 0.68rem; color: #666; white-space: nowrap; }
.ib-row-title { font-size: 0.88rem; color: #cfcfcf; margin: 0.12rem 0 0.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-row.is-unread .ib-row-title { color: #fff; font-weight: 600; }
.ib-row.is-unread .ib-sender { color: #d9d9d9; }
.ib-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 8px rgba(204, 255, 0, 0.6); }
.ib-av { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: 'Oswald', sans-serif; font-size: 0.85rem; color: #fff; }
.ib-av.is-crest { background: transparent; border-radius: 0; }
.ib-av.is-transfer { background: rgba(250, 204, 21, 0.14); color: #facc15; }
.ib-av.is-players { background: rgba(96, 165, 250, 0.16); color: #93c5fd; }
.ib-av.is-club { background: rgba(204, 255, 0, 0.12); color: var(--accent); }
.ib-detail-head .ib-av { width: 56px; height: 56px; font-size: 1.2rem; }
.ib-chip { display: inline-block; font-family: 'Oswald', sans-serif; font-size: 0.6rem; letter-spacing: 0.1rem; padding: 0.05rem 0.4rem; border-radius: 4px; border: 1px solid; }
.ib-chip.is-transfer { color: #facc15; border-color: rgba(250, 204, 21, 0.4); }
.ib-chip.is-players { color: #93c5fd; border-color: rgba(147, 197, 253, 0.4); }
.ib-chip.is-club { color: var(--accent); border-color: rgba(204, 255, 0, 0.35); }
.ib-empty { color: #777; text-align: center; padding: 2rem 1rem; font-size: 0.85rem; }
.ib-detail { background: #101010; border: 1px solid #222; border-radius: 12px; padding: 1.3rem 1.5rem; overflow-y: auto; min-height: 0; }
.ib-detail-head { display: flex; gap: 1rem; align-items: center; padding-bottom: 1rem; border-bottom: 1px solid #1e1e1e; margin-bottom: 1rem; }
.ib-detail-head h3 { margin: 0.3rem 0 0.2rem; font-family: 'Oswald', sans-serif; font-size: 1.6rem; color: #fff; letter-spacing: 0.02em; }
.ib-meta { color: #888; font-size: 0.82rem; }
.ib-meta b { color: #cfcfcf; font-weight: 500; }
.ib-body { color: #c9c9c9; font-size: 0.95rem; line-height: 1.6; display: block !important; }
.ib-body p { margin: 0 0 0.7rem; }
.ib-body .btn-game, .ib-body .btn-cancel, .ib-body .talk-btn { min-height: 44px; }
.ib-offer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; background: #151515; border: 1px solid #262626; border-radius: 10px; padding: 0.8rem 1rem; margin-bottom: 1rem; }
.ib-offer-player { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
.ib-offer-player b { font-size: 1.05rem; color: #fff; }
.ib-offer-player small { color: #888; }
.ib-pos { font-family: 'Oswald', sans-serif; color: var(--accent); font-size: 0.85rem; }
.ib-offer-nums { display: flex; gap: 1.4rem; }
.ib-offer-nums div { display: flex; flex-direction: column; align-items: flex-end; }
.ib-offer-nums span { font-family: 'Oswald', sans-serif; font-size: 0.62rem; letter-spacing: 0.15rem; color: #777; }
.ib-offer-nums strong { font-family: 'Oswald', sans-serif; font-size: 1.35rem; color: #fff; }
.ib-offer-nums .is-up strong { color: #4ade80; } .ib-offer-nums .is-down strong { color: #f87171; }
.ib-detail-empty { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.8rem; color: #777; text-align: center; }
.ib-detail-empty img { opacity: 0.5; }
@media (max-width: 1000px) { .ib { grid-template-columns: 1fr; } .ib-left { max-height: 40vh; } }

.fm-page-mode .ib-content { max-width: none; width: 100%; height: 100%; }
.ib-head .draft-modal-title { margin-right: auto !important; text-align: left; }
.ib-tools { margin-left: 0; }
.ib-body > div[style*="display: flex"] { gap: 0.6rem !important; max-width: 560px; }
.ib-body .btn-game, .ib-body .btn-cancel, .ib-body .talk-btn { font-family: 'Oswald', sans-serif; font-size: 1rem; letter-spacing: 0.08rem; border-radius: 8px; padding: 0.6rem 1.2rem; min-height: 46px; cursor: pointer; }
.ib-body .btn-game { background: var(--accent) !important; border: 1px solid var(--accent) !important; color: #0a0a0a !important; }
.ib-body .btn-game:hover { background: #d9ff33 !important; }
.ib-body .btn-cancel { background: transparent !important; border: 1px solid #3a3f35 !important; color: #c9ccc4 !important; }
.ib-body .btn-cancel:hover { border-color: #ef4444 !important; color: #fca5a5 !important; }
.ib, .ib-head { width: 100%; align-self: stretch; }

/* Vyjednávání o nabídce */
.neg { margin-top: 1.4rem; background: #121510; border: 1px solid #262b20; border-radius: 12px; padding: 1rem 1.1rem; max-width: 760px; }
.neg-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.7rem; }
.neg-head h4 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 0.8rem; letter-spacing: 0.2rem; color: var(--accent); }
.neg-patience { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; color: #888; }
.neg-patience i { width: 9px; height: 9px; border-radius: 50%; background: #333; display: inline-block; }
.neg-patience i.is-on { background: #facc15; box-shadow: 0 0 6px rgba(250, 204, 21, 0.5); }
.neg-log { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.8rem; }
.neg-line { display: flex; align-items: baseline; gap: 0.6rem; font-size: 0.88rem; padding: 0.35rem 0.6rem; border-radius: 8px; background: #181818; max-width: 85%; }
.neg-line span { font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.1rem; color: #888; min-width: 4.5rem; }
.neg-line b { color: #fff; font-family: 'Oswald', sans-serif; font-size: 1rem; }
.neg-line em { color: #aaa; font-style: normal; }
.neg-line.is-me { align-self: flex-end; background: rgba(204, 255, 0, 0.08); }
.neg-line.is-me b { color: var(--accent); }
.neg-form { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 0.8rem; }
.neg-form label { font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.1rem; color: #999; }
.neg-range { width: 100%; accent-color: #ccff00; }
.neg-input { display: flex; align-items: center; gap: 0.35rem; }
.neg-input input { width: 5.5rem; background: #0d0d0d; border: 1px solid #333; border-radius: 6px; color: #fff; padding: 0.45rem 0.5rem; font-family: 'Oswald', sans-serif; font-size: 1.05rem; text-align: right; }
.neg-input input:focus { outline: none; border-color: var(--accent); }
.neg-input em { font-style: normal; color: #888; font-size: 0.8rem; }
.neg-send { font-family: 'Oswald', sans-serif; letter-spacing: 0.08rem; font-size: 0.95rem; background: transparent; border: 1px solid var(--accent); color: var(--accent); border-radius: 8px; padding: 0.55rem 1rem; cursor: pointer; }
.neg-send:hover { background: rgba(204, 255, 0, 0.1); }
.neg-hint { margin-top: 0.6rem; color: #777; font-size: 0.78rem; }
.neg-note { font-size: 0.9rem; padding: 0.55rem 0.75rem; border-radius: 8px; }
.neg-note.is-ok { background: rgba(74, 222, 128, 0.08); border: 1px solid rgba(74, 222, 128, 0.35); color: #bbf7d0; }
.neg-note b { color: #fff; }
/* Přenos: výšku řádku určuje hřiště, boční panel se mu přizpůsobí (komentář se scrolluje) */
.lm-body { align-items: start; }
.lm-side { height: 0; min-height: 100%; overflow: hidden; }
.lm-side .lm-feed { flex: 1; min-height: 0; overflow-y: auto; }
.lm-stats .lm-stat { margin-bottom: 0.25rem; }

/* =====================================================================
   HLAVNÍ OBRAZOVKA: zprávy přes pravou polovinu (bez panelu Kádr)
   ===================================================================== */
@media (min-width: 1201px) {
    .fm-grid {
        grid-template-rows: minmax(210px, 0.8fr) minmax(0, 1fr) minmax(0, auto);
        grid-template-areas:
            "match match news news"
            "table tactics news news"
            "table tactics fixtures board";
    }
    .fm-area-fixtures { max-height: 260px; }
}
.news-head { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; margin-bottom: 0.5rem; }
.news-head .fm-panel-title { margin: 0; }
.news-filters { display: flex; gap: 2px; background: #0d0d0d; border: 1px solid #262626; border-radius: 6px; padding: 2px; }
.news-filters button { background: transparent; border: 0; color: #888; font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.06rem; padding: 0.22rem 0.55rem; border-radius: 4px; cursor: pointer; }
.news-filters button:hover { color: #fff; }
.news-filters button.is-on { background: var(--accent); color: #0a0a0a; }
.fm-area-news .fm-news-list { display: block; }
.fm-area-news .news-story { margin-bottom: 0.55rem; }
.fm-area-news .news-story.is-lead { padding: 0.9rem 1rem; border-color: rgba(204, 255, 0, 0.25); background: linear-gradient(180deg, rgba(204, 255, 0, 0.05), rgba(255, 255, 255, 0.02)); }
.fm-area-news .news-story.is-lead .news-headline { font-size: 1.35rem; line-height: 1.25; }
.fm-area-news .news-story.is-lead .news-body { font-size: 0.9rem; -webkit-line-clamp: unset; }
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 0.55rem; }
.news-grid .news-story { margin-bottom: 0 !important; }
.news-briefs h4 { margin: 0.2rem 0 0.35rem; font-family: 'Oswald', sans-serif; font-size: 0.7rem; letter-spacing: 0.18rem; color: #888; }
.news-briefs-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 0.55rem; }
.news-briefs-list .news-item { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: 0.4rem; font-size: 0.76rem; padding: 0.4rem 0.55rem; background: rgba(255, 255, 255, 0.025); border-radius: 6px; line-height: 1.35; }
.news-briefs-list .news-date { color: #666; font-size: 0.66rem; }
.news-tag-europe { background: rgba(125, 211, 252, 0.15); color: #7dd3fc; }
.news-empty { color: #777; font-size: 0.85rem; padding: 1rem 0; }

/* Porada: větší okno a vše bez scrollování, sestava ve dvou sloupcích */
.live-match-content { max-width: 1640px !important; width: 97% !important; max-height: 98vh !important; padding: 0.7rem 1.1rem !important; }
.lm-header { margin-bottom: 0.45rem; }
.lm-ht.is-pre { max-width: 1240px; gap: 0.4rem; }
.lm-ht.is-pre h3 { font-size: 1.05rem; }
.lm-ht.is-pre .br { gap: 0.4rem; }
.lm-ht.is-pre .br-strip { padding: 0.4rem 0.9rem; }
.lm-ht.is-pre .br-card { padding: 0.45rem 0.6rem; gap: 0.22rem; }
.lm-ht.is-pre .br-item { font-size: 0.72rem; line-height: 1.28; }
.lm-ht.is-pre .lm-ht-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 1.2rem; }
.lm-ht.is-pre .lm-ht-tactics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lm-ht.is-pre .lm-ht-lists-single .lm-ht-list { display: grid; grid-template-columns: 1fr 1fr; grid-auto-flow: column; grid-template-rows: repeat(6, auto); gap: 3px 0.5rem; }
.lm-ht.is-pre .lm-ht-player { padding: 0.28rem 0.55rem; }
.lm-ht.is-pre .lm-ht-continue { height: 2.2rem; }

/* Křížek pro zavření jednání o přestupu */
.deal-x { position: absolute; top: 0.2rem; right: 0.2rem; z-index: 5; width: 38px; height: 38px; border-radius: 50%; border: 2px solid #3a3a3a; background: #141414; color: #ddd; font-size: 1.05rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6); transition: all 0.15s; }
.deal-x:hover { border-color: var(--accent); color: var(--accent); transform: rotate(90deg); }

/* Příští zápas: údaje ve 4 sloupcích, ať se vejdou i vzájemné zápasy */
.fm-match-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem 0.9rem; margin-top: 0.7rem; }
.fm-match-meta div strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fm-match-hero-head { margin-bottom: 0.5rem; }
.fm-match-hero { justify-content: safe center; padding: 0.55rem 1.2rem 0.6rem; }
.fm-match-hero .fm-match-teams { font-size: 1.35rem; }
.fm-match-hero .fm-match-meta { margin-top: 0.45rem; gap: 0.3rem 0.9rem; }
.fm-match-hero .fm-crest-svg, .fm-match-hero-body > img { max-width: 64px; max-height: 64px; }
.fm-match-hero .fm-assistant-tip { margin-top: 0.45rem; }
@media (min-width: 1201px) { .fm-grid { grid-template-rows: minmax(236px, 0.8fr) minmax(0, 1fr) minmax(0, auto); } }
.deal-x:hover { transform: none; }
.deal-x svg { transition: transform 0.15s; }
.deal-x:hover svg { transform: rotate(90deg); }
.deal-scene { overflow-x: hidden; }

/* Živý přenos: komentátorský pruh dole na hřišti */
.lm-caption { position: absolute; left: 50%; bottom: 14px; transform: translate(-50%, 10px); width: max-content; max-width: min(78%, 900px); display: flex; align-items: center; gap: 0.7rem; padding: 0.45rem 1rem 0.45rem 0.5rem; background: rgba(8, 10, 8, 0.82); border: 1px solid rgba(255, 255, 255, 0.08); border-left: 3px solid #666; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45); backdrop-filter: blur(4px); pointer-events: none; opacity: 0; transition: opacity 0.35s, transform 0.35s, border-color 0.3s; }
.lm-caption.is-on { opacity: 1; transform: translate(-50%, 0); }
.lm-caption.is-on.is-dim { opacity: 0.45; }
.lm-cap-tag { display: inline-flex; align-items: center; gap: 0.35rem; font-family: 'Oswald', sans-serif; font-size: 0.62rem; letter-spacing: 0.16rem; color: #0a0a0a; background: var(--accent); border-radius: 4px; padding: 0.18rem 0.45rem; white-space: nowrap; }
.lm-cap-tag i { width: 6px; height: 6px; border-radius: 50%; background: #d00; animation: lmCapLive 1.2s infinite; }
@keyframes lmCapLive { 50% { opacity: 0.25; } }
.lm-cap-min { font-family: 'Oswald', sans-serif; font-size: 0.95rem; color: #9aa094; min-width: 2.2rem; text-align: right; }
.lm-cap-text { font-size: 0.95rem; color: #eef0ea; line-height: 1.3; animation: lmCapType 0.7s steps(28, end); }
.lm-cap-text strong { color: #fff; }
@keyframes lmCapType { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.lm-caption.is-goal-mine { border-left-color: var(--accent); box-shadow: 0 0 0 1px rgba(204, 255, 0, 0.35), 0 8px 30px rgba(204, 255, 0, 0.25); }
.lm-caption.is-goal-mine .lm-cap-text { color: var(--accent); font-size: 1.1rem; }
.lm-caption.is-goal { border-left-color: #fff; }
.lm-caption.is-goal .lm-cap-text { font-size: 1.05rem; }
.lm-caption.is-red { border-left-color: #f87171; }
.lm-caption.is-whistle { border-left-color: #facc15; }

/* Zprávy: logo klubu, kterého se zpráva týká */
.news-story.has-crest { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0.65rem; align-items: start; }
.news-story.is-lead.has-crest { grid-template-columns: 58px minmax(0, 1fr); gap: 1rem; align-items: center; }
.news-crest { display: flex; align-items: center; justify-content: center; padding-top: 0.15rem; }
.news-crest svg, .news-crest img { width: 100%; height: auto; max-height: 58px; object-fit: contain; }
.news-main { min-width: 0; }

/* MOL Cup: vše na jednu obrazovku, pavouk vyplní zbylé místo */
#mol-cup-modal .mc-root { overflow: hidden; gap: 0.55rem; }
.mc-head { padding: 0.4rem 1rem; }
.mc-title .gi { width: 1.7rem; height: 1.7rem; }
.mc-title h3 { font-size: 1.2rem; }
.mc-title p { font-size: 0.78rem; }
.mc-my { padding: 0.25rem 0.7rem; }
.mc-bracket { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 0.45rem 0.8rem 0.6rem; }
.mc-cols { flex: 1; min-height: 0 !important; }
.mc-labels { margin-bottom: 0.2rem; }
.mc-foot { flex: none; }
.mc-panel { padding: 0.5rem 0.9rem; }

/* =====================================================================
   VYHODNOCENÍ SEZÓNY: vše na jedné obrazovce
   ===================================================================== */
#season-awards-modal .sa-modal { max-width: 1840px !important; width: 97vw !important; height: 95vh !important; max-height: 95vh !important; padding: 0.9rem 1.2rem !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0.7rem; background: radial-gradient(ellipse at 50% -10%, rgba(255, 215, 0, 0.1), transparent 45%), #0c0c0f !important; border: 1px solid rgba(255, 215, 0, 0.45) !important; border-radius: 14px !important; box-shadow: 0 10px 60px rgba(255, 215, 0, 0.12) !important; text-align: left; overflow: hidden !important; }
.sa-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 0.6rem; border-bottom: 1px solid rgba(255, 215, 0, 0.18); }
.sa-head h2 { margin: 0; display: flex; align-items: center; gap: 0.55rem; font-family: 'Oswald', sans-serif; font-size: 1.7rem; letter-spacing: 0.06rem; color: gold; }
.sa-head h2 svg, .sa-head h2 img { width: 1.6rem; height: 1.6rem; }
.sa-head p { margin: 0.1rem 0 0; color: #999; font-size: 0.85rem; }
.sa-continue { font-family: 'Oswald', sans-serif; font-size: 1.05rem; letter-spacing: 0.06rem; background: gold; color: #000; border: 0; border-radius: 8px; padding: 0.7rem 1.6rem; font-weight: 700; cursor: pointer; box-shadow: 0 0 22px rgba(255, 215, 0, 0.25); transition: transform 0.15s, box-shadow 0.15s; }
.sa-continue:hover { transform: translateY(-1px); box-shadow: 0 0 30px rgba(255, 215, 0, 0.4); }
.sa-content { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0.7rem; }

.sa-hero { display: grid; grid-template-columns: 1.4fr 1.3fr 1fr 0.9fr 1.15fr 1.3fr; gap: 0.6rem; }
.sa-tile { background: linear-gradient(180deg, #17171b, #111114); border: 1px solid #26262c; border-radius: 10px; padding: 0.6rem 0.85rem; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.sa-tile > span { font-family: 'Oswald', sans-serif; font-size: 0.66rem; letter-spacing: 0.15rem; color: #8a8a92; }
.sa-tile > strong { font-family: 'Oswald', sans-serif; font-size: 1.7rem; line-height: 1.1; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-tile > small { color: #9a9aa2; font-size: 0.72rem; line-height: 1.3; }
.sa-tile.is-rank { border-color: rgba(204, 255, 0, 0.35); background: linear-gradient(135deg, rgba(204, 255, 0, 0.1), #111114 60%); }
.sa-tile.is-rank > strong { font-size: 2.3rem; color: var(--accent); }
.sa-tile.is-champ { border-color: rgba(255, 215, 0, 0.35); background: linear-gradient(135deg, rgba(255, 215, 0, 0.1), #111114 60%); }
.sa-tile.is-champ > div { display: flex; align-items: center; gap: 0.55rem; margin: 0.15rem 0; }
.sa-tile.is-champ > div strong { font-family: 'Oswald', sans-serif; font-size: 1.45rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-tile .fin-plus, .sa-tile .fin-minus { font-weight: inherit; }

.sa-main { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.15fr 1fr 1fr 1.2fr; gap: 0.7rem; }
.sa-col { display: flex; flex-direction: column; gap: 0.7rem; min-height: 0; min-width: 0; }
.sa-block { background: #121215; border: 1px solid #232328; border-radius: 10px; padding: 0.6rem 0.8rem; display: flex; flex-direction: column; min-height: 0; }
.sa-block .fm-panel-title { margin: 0 0 0.45rem; display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.sa-block .fm-panel-title small { font-family: 'Inter', sans-serif; font-size: 0.66rem; letter-spacing: 0; color: #888; font-weight: 400; }
.sa-grow { flex: 1; overflow: hidden; }
.sa-block .season-chart { width: 100%; height: auto; }
.sa-moments { display: flex; flex-direction: column; overflow: hidden; }
.sa-moments .season-moment { font-size: 0.78rem; padding: 0.3rem 0; }
.sa-block .season-xi { flex: 1; height: auto; min-height: 0; }

.sa-awards { display: flex; flex-direction: column; gap: 0.4rem; }
.sa-award { display: grid; grid-template-columns: 30px minmax(0, 1fr) 26px; align-items: center; gap: 0.55rem; padding: 0.4rem 0.6rem; border-radius: 8px; background: #18181c; border-left: 3px solid #555; }
.sa-award i { font-style: normal; display: flex; justify-content: center; }
.sa-award i svg, .sa-award i img { width: 22px; height: 22px; }
.sa-award span { display: block; font-family: 'Oswald', sans-serif; font-size: 0.64rem; letter-spacing: 0.12rem; }
.sa-award b { display: block; font-size: 0.86rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-award small { display: block; font-size: 0.7rem; color: #999; }
.sa-award.is-gold { border-left-color: gold; } .sa-award.is-gold span { color: gold; }
.sa-award.is-blue { border-left-color: #60a5fa; } .sa-award.is-blue span { color: #60a5fa; }
.sa-award.is-green { border-left-color: var(--accent); } .sa-award.is-green span { color: var(--accent); }
.sa-award.is-purple { border-left-color: #a855f7; } .sa-award.is-purple span { color: #c084fc; }
.sa-award.is-mine { box-shadow: inset 0 0 0 1px rgba(204, 255, 0, 0.35); background: rgba(204, 255, 0, 0.05); }

.sa-leaders { display: flex; flex-direction: column; gap: 0.35rem; }
.sa-leader { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) auto; align-items: center; gap: 0.5rem; padding: 0.38rem 0.55rem; border-radius: 7px; background: #18181c; font-size: 0.8rem; }
.sa-leader span { color: #8a8a92; font-size: 0.72rem; }
.sa-leader b { color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-leader em { font-style: normal; font-family: 'Oswald', sans-serif; color: var(--accent); }

.sa-trs { display: flex; flex-direction: column; gap: 0.3rem; overflow: hidden; }
.sa-tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) auto; align-items: center; gap: 0.5rem; padding: 0.34rem 0.55rem; border-radius: 7px; background: #18181c; border-left: 3px solid #333; }
.sa-tr.is-in { border-left-color: #4ade80; }
.sa-tr.is-out { border-left-color: #f87171; }
.sa-tr-who b { display: block; font-size: 0.8rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-tr-who small { display: block; font-size: 0.66rem; color: #888; }
.sa-tr-path { display: flex; align-items: center; gap: 0.3rem; min-width: 0; font-size: 0.72rem; color: #bbb; }
.sa-tr-path i { font-style: normal; color: #666; }
.sa-club { display: inline-flex; align-items: center; gap: 0.25rem; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-club svg, .sa-club img { flex: none; }
.sa-tr-fee { font-family: 'Oswald', sans-serif; font-size: 0.95rem; color: gold; white-space: nowrap; }

@media (max-width: 1200px) {
    .sa-modal { height: auto !important; overflow: auto !important; }
    .sa-hero { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sa-main { grid-template-columns: 1fr 1fr; }
}

/* =====================================================================
   PLATOVÝ ROZPOČET: box a dialog převodu
   ===================================================================== */
#career-wage-box { flex: 1; max-width: 460px; margin: 0 1.5rem; }
.wb-box { background: rgba(255, 255, 255, 0.03); border: 1px solid #2a2a2a; border-radius: 10px; padding: 0.6rem 0.85rem; display: flex; flex-direction: column; gap: 0.4rem; }
.wb-box-top { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; }
.wb-box-top span { font-size: 0.72rem; letter-spacing: 1px; font-weight: 600; color: #aaa; }
.wb-box-top b { font-family: 'Oswald', sans-serif; font-size: 1.25rem; color: #fff; }
.wb-box-top em { font-style: normal; font-size: 0.75rem; color: #999; }
.wb-bar { height: 7px; border-radius: 4px; background: #262626; overflow: hidden; }
.wb-bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #60a5fa, #a78bfa); transition: width 0.2s; }
.wb-bar.is-full i { background: linear-gradient(90deg, #f59e0b, #ef4444); }
.wb-box-bot { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
.wb-box-bot small { color: #999; font-size: 0.75rem; }
.wb-box-bot small b { color: #fff; }
.wb-open { font-family: 'Oswald', sans-serif; font-size: 0.78rem; letter-spacing: 0.06rem; background: transparent; color: #a78bfa; border: 1px solid rgba(167, 139, 250, 0.55); border-radius: 6px; padding: 0.3rem 0.7rem; cursor: pointer; white-space: nowrap; }
.wb-open:hover { background: rgba(167, 139, 250, 0.12); color: #c4b5fd; }
.fin-col-side .wb-box { margin-bottom: 0.8rem; }

.wb-overlay { position: fixed; inset: 0; z-index: 10060; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(3px); opacity: 0; transition: opacity 0.18s; }
.wb-overlay.is-open { opacity: 1; }
.wb-card { width: min(620px, 94vw); background: linear-gradient(180deg, #17171c, #101013); border: 1px solid #2e2e36; border-top: 3px solid #a78bfa; border-radius: 14px; padding: 1.2rem 1.4rem 1.1rem; box-shadow: 0 24px 70px rgba(0, 0, 0, 0.7); transform: translateY(10px) scale(0.98); transition: transform 0.18s; }
.wb-overlay.is-open .wb-card { transform: none; }
.wb-head { display: flex; align-items: center; justify-content: space-between; }
.wb-head h3 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 1.35rem; letter-spacing: 0.08rem; color: #fff; }
.wb-x { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #333; background: #141414; color: #ccc; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.wb-x:hover { color: #fff; border-color: #666; }
.wb-lead { margin: 0.4rem 0 1rem; color: #aaa; font-size: 0.86rem; line-height: 1.45; }
.wb-pots { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 0.7rem; }
.wb-pot { background: #141418; border: 1px solid #2a2a30; border-radius: 10px; padding: 0.7rem 0.85rem; display: flex; flex-direction: column; gap: 0.2rem; }
.wb-pot > span { font-size: 0.68rem; letter-spacing: 0.12rem; font-weight: 600; color: #8a8a92; }
.wb-pot > strong { font-family: 'Oswald', sans-serif; font-size: 1.7rem; line-height: 1.1; }
.wb-pot > small { color: #999; font-size: 0.76rem; }
.wb-pot.is-transfer > strong { color: #4ade80; }
.wb-pot.is-wage > strong { color: #c4b5fd; }
.wb-pot .wb-bar { margin: 0.35rem 0 0.15rem; }
.wb-swap { display: flex; align-items: center; color: #666; }
.wb-range { width: 100%; margin: 1.1rem 0 0.2rem; accent-color: #a78bfa; cursor: pointer; }
.wb-scale { display: flex; justify-content: space-between; align-items: center; font-size: 0.74rem; color: #777; }
.wb-scale b { font-family: 'Oswald', sans-serif; font-size: 1rem; color: #fff; letter-spacing: 0.03rem; }
.wb-note { margin-top: 0.9rem; padding: 0.55rem 0.75rem; border-radius: 8px; background: rgba(167, 139, 250, 0.07); border: 1px solid rgba(167, 139, 250, 0.2); color: #bbb; font-size: 0.78rem; line-height: 1.45; }
.wb-note b { color: #fff; }
.wb-actions { display: flex; justify-content: flex-end; gap: 0.6rem; margin-top: 1rem; }
.wb-actions button { font-family: 'Oswald', sans-serif; font-size: 0.95rem; letter-spacing: 0.06rem; border-radius: 8px; padding: 0.55rem 1.2rem; cursor: pointer; }
.wb-cancel { background: transparent; color: #aaa; border: 1px solid #3a3a3a; }
.wb-cancel:hover { color: #fff; border-color: #666; }
.wb-ok { background: #a78bfa; color: #0b0b0b; border: 0; font-weight: 700; }
.wb-ok:hover:not(:disabled) { background: #c4b5fd; }
.wb-ok:disabled { opacity: 0.4; cursor: default; }
.deal-wage-btn { margin-left: 0.35rem; font-size: 0.68rem; background: transparent; border: 1px solid #a78bfa; color: #7c3aed; border-radius: 4px; padding: 0 0.35rem; cursor: pointer; }
.deal-wage-over strong { color: #dc2626; }

/* Deadline Day: okno má pevnou výšku, s přibývajícími hodinami neroste; sloupce se posouvají samy */
.dd-screen { height: min(820px, 92vh); }
.dd-grid { flex: 1; min-height: 0; }
.dd-col { max-height: none; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #3a1414 transparent; }
.dd-col::-webkit-scrollbar { width: 6px; }
.dd-col::-webkit-scrollbar-thumb { background: #3a1414; border-radius: 3px; }

/* Zázemí akademie: tři zařízení s úrovněmi */
.ac-facilities { display: grid; grid-template-columns: 170px repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin-bottom: 0.6rem; align-items: stretch; }
.ac-fac-title { display: flex; flex-direction: column; justify-content: center; gap: 0.2rem; padding: 0.6rem 0.8rem; border-radius: 6px; background: linear-gradient(135deg, rgba(204, 255, 0, 0.1), transparent 70%); border: 1px solid rgba(204, 255, 0, 0.25); }
.ac-fac-title span { font-family: 'Oswald', sans-serif; font-size: 1rem; letter-spacing: 0.1rem; color: var(--accent); }
.ac-fac-title small { color: #999; font-size: 0.72rem; }
.ac-fac { display: flex; flex-direction: column; gap: 0.3rem; background: var(--bg-card); border: 1px solid #222; border-radius: 6px; padding: 0.6rem 0.8rem; }
.ac-fac-head { display: flex; align-items: center; gap: 0.6rem; }
.ac-fac-icon { font-size: 1.3rem; display: flex; }
.ac-fac-icon svg, .ac-fac-icon img { width: 22px; height: 22px; }
.ac-fac-head b { font-family: 'Oswald', sans-serif; font-size: 0.98rem; letter-spacing: 0.04rem; color: #fff; font-weight: 600; }
.ac-fac-pips { display: flex; align-items: center; gap: 3px; margin-top: 0.15rem; }
.ac-fac-pips i { width: 18px; height: 5px; border-radius: 2px; background: #2c2c2c; }
.ac-fac-pips i.is-on { background: var(--accent); box-shadow: 0 0 6px rgba(204, 255, 0, 0.35); }
.ac-fac-pips span { margin-left: 0.35rem; font-size: 0.7rem; color: #999; }
.ac-fac-now { font-size: 0.8rem; color: #e5e5e5; }
.ac-fac-next { font-size: 0.72rem; color: #8a8a8a; }
.ac-fac-next.is-max { color: var(--accent); }
.ac-fac .stats-renew-btn { align-self: flex-start; margin-top: auto; }
@media (max-width: 900px) { .ac-facilities { grid-template-columns: 1fr; } }

/* Mentoring v akademii */
.ac-mentors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem 0.8rem; }
.ac-mentor-row { display: grid; grid-template-columns: minmax(0, 1.2fr) 6.5rem minmax(0, 1.4fr); align-items: center; gap: 0.6rem; background: var(--bg-card); border: 1px solid #222; border-radius: 6px; padding: 0.4rem 0.6rem; }
.ac-mentor-who b { display: block; font-size: 0.85rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-mentor-who small { color: #888; font-size: 0.7rem; }
.ac-mentor-pers { font-size: 0.75rem; font-weight: 600; text-align: center; border-radius: 4px; padding: 0.15rem 0.3rem; background: #1b1b1b; }
.ac-mentor-pers.is-r0 { color: #f87171; } .ac-mentor-pers.is-r1 { color: #fb923c; } .ac-mentor-pers.is-r2 { color: #ddd; }
.ac-mentor-pers.is-r3 { color: #facc15; } .ac-mentor-pers.is-r4 { color: #a3e635; } .ac-mentor-pers.is-r5 { color: var(--accent); }
.ac-mentor-select { background: #0e0e0e; color: #ddd; border: 1px solid #333; border-radius: 5px; padding: 0.3rem 0.4rem; font-size: 0.78rem; min-width: 0; }
.ac-mentor-select:focus { outline: none; border-color: var(--accent); }
@media (max-width: 900px) { .ac-mentors { grid-template-columns: 1fr; } }
.ac-mentors .ac-mentor-select { font-size: 0.78rem !important; padding: 0.25rem 0.4rem !important; height: auto !important; }
.ac-mentors .ac-mentor-row { padding: 0.3rem 0.6rem; }

/* Mentorské skupiny */
.ac-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.ac-group { display: flex; flex-direction: column; gap: 0.35rem; background: var(--bg-card); border: 1px solid #222; border-radius: 6px; padding: 0.6rem 0.8rem; }
.ac-group-head { display: flex; justify-content: space-between; align-items: baseline; }
.ac-group-head b { font-family: 'Oswald', sans-serif; font-size: 0.95rem; letter-spacing: 0.05rem; color: #fff; font-weight: 600; }
.ac-group-head small { color: #888; font-size: 0.72rem; }
.ac-group-label { font-size: 0.68rem; letter-spacing: 0.08rem; color: #8a8a8a; text-transform: uppercase; }
.ac-group .ac-mentor-select { font-size: 0.78rem !important; padding: 0.25rem 0.4rem !important; height: auto !important; width: 100%; }
.ac-group-leader { font-size: 0.78rem; color: #ddd; display: flex; align-items: center; gap: 0.35rem; }
.ac-group-leader.is-none { color: #888; font-style: italic; }
.ac-group-list { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.15rem; }
.ac-chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.74rem; color: #ddd; background: #181818; border: 1px solid #2a2a2a; border-radius: 999px; padding: 0.15rem 0.5rem; }
.ac-chip i { font-style: normal; font-size: 0.66rem; padding: 0 0.25rem; }
.ac-chip.is-empty { color: #777; }
@media (max-width: 900px) { .ac-groups { grid-template-columns: 1fr; } }

/* Síň slávy: legendy a sezóna po sezóně */
.lg-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.6rem; }
.lg-card { position: relative; padding: 0.8rem 0.9rem 0.7rem; border-radius: 10px; background: radial-gradient(ellipse at 50% -20%, rgba(255, 215, 0, 0.18), transparent 60%), linear-gradient(180deg, #1b1810, #121212); border: 1px solid rgba(255, 215, 0, 0.35); box-shadow: inset 0 0 0 1px rgba(255, 215, 0, 0.05); }
.lg-card.is-active { border-color: rgba(204, 255, 0, 0.5); }
.lg-badge { position: absolute; top: 0.55rem; right: 0.65rem; font-family: 'Oswald', sans-serif; font-size: 0.6rem; letter-spacing: 0.18rem; color: #0c0c0c; background: gold; border-radius: 3px; padding: 0.05rem 0.35rem; }
.lg-name { font-family: 'Oswald', sans-serif; font-size: 1.15rem; color: #fff; padding-right: 4.5rem; }
.lg-meta { font-size: 0.72rem; color: #a8a08a; margin: 0.1rem 0 0.5rem; }
.lg-nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.3rem; }
.lg-nums span { display: flex; flex-direction: column; align-items: center; font-size: 0.62rem; color: #888; letter-spacing: 0.04rem; }
.lg-nums b { font-family: 'Oswald', sans-serif; font-size: 1.15rem; color: gold; font-weight: 600; }
.lg-where { margin-top: 0.45rem; font-size: 0.72rem; color: #bbb; text-align: right; }
.lg-empty { grid-column: 1 / -1; color: #888; font-size: 0.85rem; font-style: italic; padding: 0.8rem; border: 1px dashed #333; border-radius: 8px; }
.lg-road { margin-top: 0.7rem; background: var(--bg-card); border: 1px solid #222; border-radius: 8px; padding: 0.6rem 0.8rem; }
.lg-road-row { display: grid; grid-template-columns: minmax(0, 1.2fr) 7rem minmax(0, 2fr) 3rem; align-items: center; gap: 0.7rem; padding: 0.25rem 0; font-size: 0.82rem; }
.lg-road-name { color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lg-road-stat { color: #999; font-size: 0.75rem; }
.lg-road-bar { height: 6px; border-radius: 3px; background: #262626; overflow: hidden; }
.lg-road-bar i { display: block; height: 100%; background: linear-gradient(90deg, #a18419, gold); border-radius: 3px; }
.lg-road-pct { font-family: 'Oswald', sans-serif; color: gold; text-align: right; }
.cs-table { background: var(--bg-card); border: 1px solid #222; border-radius: 8px; overflow: hidden; }
.cs-row { display: grid; grid-template-columns: 5.5rem 7rem 3.5rem 5rem 4.5rem 3.5rem minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1.4fr); gap: 0.6rem; align-items: center; padding: 0.4rem 0.8rem; font-size: 0.8rem; color: #ddd; border-top: 1px solid #1d1d1d; }
.cs-row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cs-head { border-top: 0; background: #151515; font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.08rem; color: #888; }
.cs-rank { font-family: 'Oswald', sans-serif; font-size: 0.95rem; }
.cs-rank.is-gold { color: gold; } .cs-rank.is-silver { color: #cbd5e1; }

/* Zázemí klubu: stadion, fan zóna, trénink, lékaři */
.fz-page { max-width: 1500px !important; width: 96% !important; padding: 1.2rem 1.4rem !important; background: #0e0e0e !important; border: 1px solid #262626 !important; text-align: left; }
.fz-page-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.9rem; }
.fz-page-head h2 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 1.8rem; letter-spacing: 0.06rem; color: #fff; }
.fz-stadium { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 0.8rem; margin-bottom: 0.8rem; }
.fz-stadium-main { position: relative; overflow: hidden; border-radius: 12px; padding: 1rem 1.2rem; border: 1px solid #2a2f24;
    background: radial-gradient(ellipse at 80% 120%, rgba(74, 222, 128, 0.18), transparent 55%), repeating-linear-gradient(90deg, rgba(255,255,255,0.025) 0 40px, transparent 40px 80px), linear-gradient(160deg, #142014, #0d120d); }
.fz-label { font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.2rem; color: var(--accent); }
.fz-stadium-main h2 { margin: 0.1rem 0 0.7rem; font-family: 'Oswald', sans-serif; font-size: 1.7rem; color: #fff; }
.fz-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.fz-stats div { background: rgba(0, 0, 0, 0.35); border-radius: 8px; padding: 0.5rem 0.7rem; display: flex; flex-direction: column; }
.fz-stats b { font-family: 'Oswald', sans-serif; font-size: 1.4rem; color: #fff; font-weight: 600; }
.fz-stats span { font-size: 0.7rem; color: #9aa59a; }
.fz-atm { text-transform: capitalize; }
.fz-atm.is-pekelná { color: #f87171 !important; } .fz-atm.is-bouřlivá { color: #fb923c !important; } .fz-atm.is-dobrá { color: var(--accent) !important; } .fz-atm.is-vlažná { color: #9ca3af !important; }
.fz-build { margin-top: 0.7rem; font-size: 0.8rem; color: #facc15; }
.fz-stadium-note { border-radius: 12px; border: 1px solid #262626; background: #131313; padding: 1rem 1.1rem; color: #bbb; font-size: 0.85rem; line-height: 1.5; display: flex; align-items: center; }
.fz-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; }
.fz-card { display: flex; flex-direction: column; gap: 0.45rem; background: #141414; border: 1px solid #262626; border-radius: 10px; padding: 0.9rem 1rem; border-top: 3px solid #444; }
.fz-card.is-stadium { border-top-color: #4ade80; } .fz-card.is-fanzone { border-top-color: #f472b6; } .fz-card.is-training { border-top-color: #60a5fa; } .fz-card.is-medical { border-top-color: #f87171; }
.fz-head { display: flex; align-items: center; gap: 0.7rem; }
.fz-icon { display: flex; } .fz-icon svg, .fz-icon img { width: 28px; height: 28px; }
.fz-head h3 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 1.15rem; color: #fff; letter-spacing: 0.03rem; }
.fz-pips { display: flex; align-items: center; gap: 3px; margin-top: 0.2rem; }
.fz-pips i { width: 20px; height: 5px; border-radius: 2px; background: #2c2c2c; }
.fz-pips i.is-on { background: var(--accent); box-shadow: 0 0 6px rgba(204, 255, 0, 0.35); }
.fz-pips span { margin-left: 0.35rem; font-size: 0.7rem; color: #999; }
.fz-desc { margin: 0; color: #9a9a9a; font-size: 0.8rem; line-height: 1.45; min-height: 3.4em; }
.fz-now { font-size: 0.88rem; color: #fff; font-weight: 600; }
.fz-next { font-size: 0.75rem; color: #8a8a8a; }
.fz-btn { margin-top: auto; padding-top: 0.3rem; }
.fz-max { color: var(--accent); font-size: 0.8rem; }
.fz-busy { color: #facc15; font-size: 0.8rem; }
@media (max-width: 1100px) { .fz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fz-stadium { grid-template-columns: 1fr; } }

.lm-sound.active { border-color: var(--accent); color: var(--accent); }

/* Síň slávy: rivalové */
.rv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.6rem; }
.rv-card { background: var(--bg-card); border: 1px solid #262626; border-radius: 10px; padding: 0.7rem 0.85rem; display: flex; flex-direction: column; gap: 0.45rem; }
.rv-card.is-hot { border-color: rgba(251, 146, 60, 0.45); background: linear-gradient(180deg, rgba(251, 146, 60, 0.08), var(--bg-card) 60%); }
.rv-head { display: flex; align-items: center; gap: 0.6rem; }
.rv-head b { display: block; font-family: 'Oswald', sans-serif; font-size: 1.05rem; color: #fff; }
.rv-head small { color: #fb923c; font-size: 0.72rem; }
.rv-heat { height: 5px; border-radius: 3px; background: #262626; overflow: hidden; }
.rv-heat i { display: block; height: 100%; background: linear-gradient(90deg, #facc15, #f97316, #ef4444); }
.rv-h2h { display: flex; gap: 0.8rem; align-items: baseline; font-size: 0.72rem; color: #999; }
.rv-h2h b { font-family: 'Oswald', sans-serif; font-size: 1.05rem; color: #fff; margin-right: 0.15rem; }
.rv-score { margin-left: auto; font-family: 'Oswald', sans-serif; font-size: 0.95rem; color: #ddd; }
.rv-none { font-style: italic; }
/* komentátorský pruh nad spodní tribunou, ať nezakrývá diváky */
.lm-caption { bottom: 54px; }

/* Přenos: tlačítko záznamu gólu */
.lm-replay.is-new { border-color: #ef4444; color: #fca5a5; animation: lmReplayPulse 1.2s ease-in-out 3; }
@keyframes lmReplayPulse { 50% { box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.25); } }
/* Zápis: průměrné pozice */
.mr-tabs { display: inline-flex; gap: 2px; background: #0d0d0d; border: 1px solid #262626; border-radius: 6px; padding: 2px; }
.mr-tabs button { background: transparent; border: 0; color: #888; font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.06rem; padding: 0.15rem 0.5rem; border-radius: 4px; cursor: pointer; }
.mr-tabs button.is-on { background: var(--accent); color: #0a0a0a; }
.mr-pos { display: none; }
.mr-stats-panel.show-pos .mr-pos { display: block; }
.mr-stats-panel.show-pos .mr-stats-body { display: none; }
.mr-pos-pitch { position: relative; width: 100%; aspect-ratio: 1.55; border-radius: 6px; border: 2px solid rgba(255,255,255,0.55); background: repeating-linear-gradient(90deg, #2a632a 0 9.09%, #2f6d2f 9.09% 18.18%); overflow: hidden; }
.mr-pos-half { position: absolute; left: 50%; top: 0; bottom: 0; border-left: 1.5px solid rgba(255,255,255,0.5); }
.mr-pos-circle { position: absolute; left: 50%; top: 50%; width: 22%; aspect-ratio: 1; border: 1.5px solid rgba(255,255,255,0.5); border-radius: 50%; transform: translate(-50%, -50%); }
.mr-pos-box { position: absolute; top: 22%; bottom: 22%; width: 15%; border: 1.5px solid rgba(255,255,255,0.5); }
.mr-pos-box.is-l { left: -1.5px; border-left: 0; } .mr-pos-box.is-r { right: -1.5px; border-right: 0; }
.mr-pos-dot { position: absolute; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 0.68rem Inter, sans-serif; border: 1.5px solid rgba(0,0,0,0.6); box-shadow: 0 2px 4px rgba(0,0,0,0.4); }
.mr-pos-legend { display: flex; justify-content: space-between; margin-top: 0.35rem; font-size: 0.72rem; color: #aaa; }
.mr-pos-legend span { display: inline-flex; align-items: center; gap: 0.3rem; }
.mr-pos-legend i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }

/* Klubové dresy */
.kit-row { display: grid; grid-template-columns: 220px repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin-top: 0.7rem; }
.kit-title { display: flex; flex-direction: column; gap: 0.3rem; justify-content: center; padding: 0.6rem 0.9rem; border-radius: 10px; background: linear-gradient(135deg, rgba(204,255,0,0.08), transparent 70%); border: 1px solid rgba(204,255,0,0.2); }
.kit-title span { font-family: 'Oswald', sans-serif; font-size: 1rem; letter-spacing: 0.1rem; color: var(--accent); }
.kit-title small { color: #999; font-size: 0.74rem; line-height: 1.4; }
.kit-ed { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 0.8rem; align-items: center; background: #141414; border: 1px solid #262626; border-radius: 10px; padding: 0.6rem 0.9rem; }
.kit-shirt { display: flex; justify-content: center; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.5)); }
.kit-pick { display: flex; flex-direction: column; gap: 0.2rem; }
.kit-pick b { font-family: 'Oswald', sans-serif; font-size: 0.95rem; color: #fff; }
.kit-pick span { font-size: 0.66rem; letter-spacing: 0.08rem; color: #888; text-transform: uppercase; }
.kit-sw { display: flex; flex-wrap: wrap; gap: 4px; }
.kit-sw button { width: 18px; height: 18px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.18); cursor: pointer; padding: 0; }
.kit-sw button.is-on { outline: 2px solid var(--accent); outline-offset: 1px; }
/* Vyhodnocení: ceny klubu */
.sa-sub { margin-top: 0.7rem !important; }
.sa-club-awards { display: flex; flex-direction: column; gap: 0.3rem; }
.sa-cla { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 0.5rem; padding: 0.35rem 0.55rem; border-radius: 7px; background: rgba(255, 215, 0, 0.06); border-left: 3px solid gold; }
.sa-cla span { grid-row: 1 / 3; align-self: center; color: #c9b56b; font-size: 0.72rem; }
.sa-cla b { color: #fff; font-size: 0.82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sa-cla small { color: #999; font-size: 0.68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Kalendář sezóny */
.cal-page { max-width: 1600px !important; width: 97% !important; padding: 1rem 1.2rem !important; background: #0e0e0e !important; border: 1px solid #262626 !important; text-align: left; }
.cal-legend { display: flex; gap: 1rem; margin-bottom: 0.6rem; font-size: 0.75rem; color: #999; }
.cal-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
.cal-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.cal-legend i.is-cup, .cal-ev.is-cup { background: rgba(239, 68, 68, 0.16); }
.cal-legend i.is-euro, .cal-ev.is-euro { background: rgba(96, 165, 250, 0.16); }
.cal-legend i.is-window { background: rgba(250, 204, 21, 0.4); } .cal-legend i.is-ac { background: rgba(167, 139, 250, 0.45); }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.45rem; }
.cal-card { background: #141414; border: 1px solid #242424; border-radius: 8px; padding: 0.4rem 0.5rem; display: flex; flex-direction: column; gap: 0.25rem; min-height: 88px; }
.cal-card.is-past { opacity: 0.55; }
.cal-card.is-now { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(204, 255, 0, 0.35), 0 0 14px rgba(204, 255, 0, 0.12); opacity: 1; }
.cal-head { display: flex; justify-content: space-between; align-items: baseline; }
.cal-head b { font-family: 'Oswald', sans-serif; font-size: 0.85rem; color: #fff; }
.cal-head small { color: #888; font-size: 0.7rem; }
.cal-match { display: flex; align-items: center; gap: 0.35rem; font-size: 0.78rem; color: #eee; min-width: 0; }
.cal-match span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
.cal-match i { font-style: normal; font-size: 0.66rem; color: #888; border: 1px solid #333; border-radius: 3px; padding: 0 0.2rem; }
.cal-match.is-empty { color: #777; font-style: italic; font-size: 0.72rem; }
.cal-derby { font-style: normal; font-size: 0.62rem; color: #fb923c; }
.cal-res { font-family: 'Oswald', sans-serif; font-size: 0.78rem; padding: 0 0.3rem; border-radius: 3px; }
.cal-res.is-win { background: rgba(74, 222, 128, 0.18); color: #4ade80; } .cal-res.is-loss { background: rgba(248, 113, 113, 0.18); color: #f87171; } .cal-res.is-draw { background: rgba(250, 204, 21, 0.15); color: #facc15; }
.cal-ev { font-size: 0.7rem; color: #ddd; border-radius: 4px; padding: 0.1rem 0.35rem; display: flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; }
.cal-tags { display: flex; flex-wrap: wrap; gap: 3px; margin-top: auto; }
.cal-tag { font-size: 0.6rem; letter-spacing: 0.03rem; padding: 0 0.3rem; border-radius: 3px; background: #222; color: #aaa; }
.cal-tag.is-window { background: rgba(250, 204, 21, 0.15); color: #facc15; } .cal-tag.is-dd { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
.cal-tag.is-ac { background: rgba(167, 139, 250, 0.18); color: #c4b5fd; } .cal-tag.is-split { background: rgba(204, 255, 0, 0.12); color: var(--accent); }
@media (max-width: 1200px) { .cal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .kit-row { grid-template-columns: 1fr; } }

/* Stránky na jednu obrazovku: pevná výška, posouvá se jen seznam / obsah záložky */
#contracts-modal.fm-page-mode > .draft-modal-content,
#stats-hub-modal.fm-page-mode > .draft-modal-content,
#trophy-hub-modal.fm-page-mode > .draft-modal-content { height: 100% !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
#contracts-body, #stats-hub-body, #trophy-hub-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#contracts-body .stats-table-wrap, #stats-hub-body .stats-table-wrap { flex: 1; min-height: 0; overflow-y: auto; }
#contracts-body .stats-table thead th, #stats-hub-body .stats-table thead th { position: sticky; top: 0; z-index: 2; background: #141414; }
#stats-hub-body .stats-section-title { margin-top: 0.6rem; }
.pg-tabs { display: flex; align-items: center; gap: 4px; margin: 0.2rem 0 0.7rem; flex-wrap: wrap; }
.pg-tabs button { font-family: 'Oswald', sans-serif; font-size: 0.85rem; letter-spacing: 0.06rem; background: #141414; color: #aaa; border: 1px solid #2a2a2a; border-radius: 6px; padding: 0.4rem 0.9rem; cursor: pointer; }
.pg-tabs button:hover { color: #fff; border-color: #444; }
.pg-tabs button.is-on { background: var(--accent); color: #0a0a0a; border-color: var(--accent); }
.pg-tabs-hint { margin-left: 0.6rem; font-size: 0.75rem; color: #888; }
.pg-tab-body { flex: 1; min-height: 0; overflow-y: auto; }
#trophy-hub-body .pg-tab-body > .stats-section-title:first-child { margin-top: 0; }
.cs-table { max-height: 330px; overflow-y: auto; }
#academy-hub-body { display: flex; flex-direction: column; overflow: hidden !important; }
#academy-hub-body .pg-tab-body { padding-right: 0.2rem; }

/* Přestupový trh: kompaktní horní lišta s penězi, ať je vidět víc hráčů */
#transfer-market-modal header { margin-bottom: 0.5rem !important; padding-bottom: 0.45rem !important; }
#transfer-market-modal header .draft-modal-title { font-size: 1.45rem !important; }
#transfer-market-modal header .draft-modal-title svg { width: 1.4rem !important; height: 1.4rem !important; }
#career-budget-container { padding: 0.35rem 0.9rem !important; margin-bottom: 0.6rem !important; gap: 1rem; box-shadow: none !important; }
#career-budget-container > div:first-child { gap: 0.6rem !important; }
#career-budget-container > div:first-child > div:first-child { display: none !important; }
#career-budget-container > div:first-child > div:last-child { display: flex; align-items: baseline; gap: 0.6rem; }
#career-budget-container > div:first-child > div:last-child > div:first-child { font-size: 0.7rem !important; }
#career-budget-container > div:first-child > div:last-child > div:last-child { font-size: 1.45rem !important; }
#career-budget-container > div:first-child > div:last-child > div:last-child > span:last-child { font-size: 0.95rem !important; }
#career-budget-container #career-budget { text-shadow: none !important; }
#career-wage-box .wb-box { flex-direction: row; align-items: center; gap: 0.8rem; padding: 0.25rem 0.7rem; border-radius: 8px; }
#career-wage-box .wb-box-top b { font-size: 1rem; }
#career-wage-box .wb-bar { width: 140px; height: 5px; }
#career-wage-box .wb-box-bot { gap: 0.6rem; }
#career-wage-box .wb-open { padding: 0.15rem 0.55rem; font-size: 0.72rem; }
#career-budget-container > div:last-child { padding-left: 1rem !important; max-width: 360px !important; }
#career-budget-container > div:last-child svg { width: 1rem !important; height: 1rem !important; }
#career-budget-container > div:last-child span { font-size: 0.72rem !important; line-height: 1.25 !important; }
#career-wage-box .wb-box-top, #career-wage-box .wb-box-bot { flex-wrap: nowrap; white-space: nowrap; }
#career-wage-box .wb-box-top span { font-size: 0.66rem; }
#career-wage-box .wb-box-top em { font-size: 0.68rem; }
#career-budget-container > div:first-child > div:last-child > div:first-child { white-space: nowrap; }
#career-wage-box .wb-bar { flex-shrink: 0; min-width: 120px; }
#career-wage-box .wb-bar { min-width: 90px; width: 90px; }
#career-wage-box { flex-shrink: 0; margin: 0 auto; }
#career-budget-container > div:last-child { max-width: 330px !important; flex-shrink: 1; }
.deal-wage-btn { display: inline-flex; align-items: center; gap: 0.3rem; margin-left: 0.55rem; vertical-align: middle; font-family: 'Oswald', sans-serif; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05rem; text-transform: uppercase; color: #fff; background: linear-gradient(135deg, #8b5cf6, #6d28d9); border: none; border-radius: 999px; padding: 0.22rem 0.7rem 0.22rem 0.55rem; cursor: pointer; box-shadow: 0 2px 6px rgba(109, 40, 217, 0.35); transition: transform 0.12s, box-shadow 0.12s, filter 0.12s; }
.deal-wage-btn svg { width: 0.85rem; height: 0.85rem; fill: currentColor; }
.deal-wage-btn:hover { filter: brightness(1.12); transform: translateY(-1px); box-shadow: 0 4px 10px rgba(109, 40, 217, 0.45); }
.deal-wage-btn:active { transform: none; box-shadow: 0 1px 3px rgba(109, 40, 217, 0.35); }

/* Nepodepsaná smlouva: místo kolečka čekání bublina s nápovědou a zvýraznění pole pro podpis */
.deal-confirm { position: relative; }
.deal-confirm.needs-ink:disabled { cursor: not-allowed; }
.deal-confirm.needs-ink::after {
    content: 'Nejdřív se podepiš myší do pole Trenér dole';
    position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translate(-50%, 6px);
    background: #141414; color: #fff; font-family: 'Inter', sans-serif; font-size: 0.85rem; letter-spacing: 0; font-weight: 500; white-space: nowrap;
    padding: 0.55rem 1rem 0.55rem 2.3rem; border-radius: 10px; border: 1px solid #d4ff00;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d4ff00'%3E%3Cpath d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-size: 16px; background-position: 0.8rem center;
    opacity: 0; pointer-events: none; transition: opacity 0.15s, transform 0.15s; z-index: 20;
}
.deal-confirm.needs-ink::before {
    content: ''; position: absolute; left: 50%; bottom: calc(100% + 6px); width: 10px; height: 10px;
    background: #141414; border-right: 1px solid #d4ff00; border-bottom: 1px solid #d4ff00;
    transform: translate(-50%, 6px) rotate(45deg); opacity: 0; pointer-events: none; transition: opacity 0.15s, transform 0.15s; z-index: 21;
}
.deal-confirm.needs-ink:hover::after { opacity: 1; transform: translate(-50%, 0); }
.deal-confirm.needs-ink:hover::before { opacity: 1; transform: translate(-50%, 0) rotate(45deg); }
.deal-confirm.needs-ink:hover { filter: none; }
:has(.deal-confirm.needs-ink:hover) .deal-sign-own.is-live { animation: dealSignPulse 0.9s ease-in-out infinite; }
@keyframes dealSignPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(212, 255, 0, 0); } 50% { box-shadow: 0 0 0 4px rgba(212, 255, 0, 0.75); } }
/* Tlačítko Upravit ve stylu papírové smlouvy: černá + limetka jako přepínač PŘESTUP/HOSTOVÁNÍ */
.deal-wage-btn { background: #111; color: #d4ff00; border: 1px solid #111; border-radius: 3px; box-shadow: none; padding: 0.12rem 0.55rem 0.12rem 0.45rem; font-size: 0.7rem; letter-spacing: 0.08rem; gap: 0.25rem; }
.deal-wage-btn svg { width: 0.75rem; height: 0.75rem; }
.deal-wage-btn:hover { background: #d4ff00; color: #111; filter: none; transform: none; box-shadow: none; }
.deal-wage-btn:active { background: #c2ea00; }
.deal-confirm.needs-ink:disabled { opacity: 1; background: #e8f79a; color: rgba(17, 17, 17, 0.5); }

/* Smlouvy: karta platového rozpočtu s tlačítkem na přesun peněz mezi přestupy a platy */
.ct-wage { gap: 0.25rem; }
.ct-wage strong em { font-style: normal; font-size: 0.85rem; color: #888; }
.ct-wage-bar { height: 5px; border-radius: 3px; background: #262626; overflow: hidden; }
.ct-wage-bar i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #60a5fa, #a78bfa); }
.ct-wage.is-over { border-color: rgba(248, 113, 113, 0.45); }
.ct-wage.is-over .ct-wage-bar i { background: linear-gradient(90deg, #f59e0b, #ef4444); }
.ct-wage-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.15rem; font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.06rem; text-transform: uppercase; background: transparent; color: #a78bfa; border: 1px solid rgba(167, 139, 250, 0.55); border-radius: 5px; padding: 0.15rem 0.5rem; cursor: pointer; }
.ct-wage-btn svg { width: 0.75rem; height: 0.75rem; fill: currentColor; }
.ct-wage-btn:hover { background: rgba(167, 139, 250, 0.12); color: #c4b5fd; }

/* Jednání o prodloužení: víc polí, kompaktnější pravá strana */
.deal-right > * { flex-shrink: 0; }
.deal-folder.is-renew .deal-right .deal-input { margin-top: 0.3rem; }
.deal-folder.is-renew .deal-right .deal-budget { margin-top: 0.5rem; }
.deal-folder.is-renew .deal-right .deal-sub { display: none; }
.deal-folder.is-renew .deal-right .deal-options { flex-direction: row; gap: 1.6rem; margin-top: 0.6rem; }
.deal-folder.is-renew .deal-right .deal-comment { height: 3.2em; }


/* Zprávy: rozkliknutý článek */
.news-story { cursor: pointer; transition: border-color 0.15s, background 0.15s, transform 0.15s; }
.news-story:hover { border-color: rgba(204, 255, 0, 0.45); background-color: rgba(204, 255, 0, 0.03); }
.news-story:hover .news-headline { color: var(--accent); }
.art-overlay { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); opacity: 0; transition: opacity 0.18s; padding: 16px; }
.art-overlay.is-open { opacity: 1; }
.art-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 1.6rem; width: min(1180px, 100%); max-height: min(820px, 92vh); background: linear-gradient(180deg, #17181a, #111213); border: 1px solid #2a2a2a; border-top: 3px solid var(--accent); border-radius: 14px; padding: 1.6rem 1.8rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7); transform: translateY(12px); transition: transform 0.18s; }
.art-overlay.is-open .art-card { transform: none; }
.art-x { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #333; background: #141414; color: #ccc; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }
.art-x:hover { color: #fff; border-color: var(--accent); }
.art-main { overflow-y: auto; min-height: 0; padding-right: 0.8rem; }
.art-kicker { display: flex; align-items: center; gap: 0.8rem; font-size: 0.78rem; color: #888; }
.art-headline { font-family: 'Oswald', sans-serif; font-size: 2.1rem; line-height: 1.15; color: #fff; margin: 0.6rem 0 0.4rem; letter-spacing: 0.01rem; }
.art-byline { font-size: 0.78rem; color: #777; padding-bottom: 0.8rem; border-bottom: 1px solid #262626; margin-bottom: 1rem; }
.art-perex { font-size: 1.1rem; font-weight: 600; color: #e6e6e6; line-height: 1.55; margin: 0 0 1rem; }
.art-main p { font-size: 0.98rem; color: #c4c4c4; line-height: 1.7; margin: 0 0 0.9rem; }
.art-main blockquote { margin: 1.1rem 0 0.2rem; padding: 0.4rem 0 0.4rem 1.1rem; border-left: 3px solid var(--accent); font-family: 'Oswald', sans-serif; font-size: 1.3rem; line-height: 1.35; color: #fff; }
.art-main .art-quote-by { font-size: 0.8rem; color: #888; margin: 0 0 1.1rem 1.2rem; }
.art-end { display: block; margin-top: 1.2rem; padding-top: 0.8rem; border-top: 1px solid #262626; font-size: 0.8rem; color: #777; font-style: italic; }
.art-side { display: flex; flex-direction: column; gap: 0.8rem; overflow-y: auto; min-height: 0; padding-top: 2.2rem; }
.art-box { background: #161718; border: 1px solid #262626; border-radius: 10px; padding: 0.8rem 0.9rem; }
.art-box-club { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.6rem; }
.art-box-club strong, .art-player-top strong { display: block; font-family: 'Oswald', sans-serif; font-size: 1rem; color: #fff; line-height: 1.2; }
.art-box-club small, .art-player-top small { font-size: 0.74rem; color: #888; }
.art-box-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; }
.art-box-grid div { background: #0f1011; border-radius: 6px; padding: 0.35rem 0.5rem; display: flex; flex-direction: column; }
.art-box-grid b { font-family: 'Oswald', sans-serif; font-size: 1.05rem; color: #fff; }
.art-box-grid span { font-size: 0.66rem; letter-spacing: 0.05rem; color: #777; text-transform: uppercase; }
.art-box-row { display: flex; justify-content: space-between; margin-top: 0.5rem; font-size: 0.8rem; color: #999; }
.art-box-row b { color: var(--accent); font-family: 'Oswald', sans-serif; font-size: 1rem; }
.art-player-top { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.6rem; }
.art-ovr { width: 42px; height: 42px; border-radius: 8px; background: var(--accent); color: #0a0a0a; font-family: 'Oswald', sans-serif; font-size: 1.25rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none; }
.art-related h5 { margin: 0 0 0.5rem; font-family: 'Oswald', sans-serif; font-size: 0.8rem; letter-spacing: 0.12rem; color: var(--accent); }
.art-related button { display: block; width: 100%; text-align: left; background: none; border: none; border-top: 1px solid #232323; padding: 0.5rem 0; color: #ddd; font-size: 0.85rem; line-height: 1.35; cursor: pointer; }
.art-related button span { display: block; font-size: 0.68rem; color: #777; margin-bottom: 0.1rem; }
.art-related button:hover { color: var(--accent); }
@media (max-width: 900px) { .art-card { grid-template-columns: 1fr; overflow-y: auto; } .art-side { padding-top: 0; } .art-headline { font-size: 1.6rem; } }
.art-card { grid-template-rows: minmax(0, 1fr); overflow: hidden; }
.art-side { padding-right: 0.2rem; }


/* Profil klubu */
[data-club] { cursor: pointer; }
.fm-match-teams [data-club]:hover, td[data-club]:hover { color: var(--accent) !important; text-decoration: underline; text-underline-offset: 3px; }
.fm-crest-svg[data-club] { transition: transform 0.15s, filter 0.15s; }
.fm-crest-svg[data-club]:hover { transform: scale(1.06); filter: drop-shadow(0 0 10px rgba(204, 255, 0, 0.35)); }
.cp-overlay { position: fixed; inset: 0; z-index: 10040; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.72); backdrop-filter: blur(4px); opacity: 0; transition: opacity 0.18s; padding: 16px; }
.cp-overlay.is-open { opacity: 1; }
.cp-card { position: relative; display: flex; flex-direction: column; width: min(1380px, 100%); height: min(830px, 94vh); background: linear-gradient(180deg, #17181a, #101112); border: 1px solid #2a2a2a; border-top: 4px solid var(--cp, var(--accent)); border-radius: 14px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7); overflow: hidden; transform: translateY(12px); transition: transform 0.18s; }
.cp-overlay.is-open .cp-card { transform: none; }
.cp-head { display: flex; align-items: center; gap: 1.3rem; padding: 1.1rem 1.6rem; background: linear-gradient(110deg, color-mix(in srgb, var(--cp) 28%, transparent), transparent 55%); border-bottom: 1px solid #242424; }
.cp-crest { filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.5)); flex: none; }
.cp-title { flex: 1; min-width: 0; }
.cp-title h2 { margin: 0 0 0.25rem; font-family: 'Oswald', sans-serif; font-size: 2rem; color: #fff; line-height: 1.1; }
.cp-sub { font-size: 0.85rem; color: #aaa; margin-top: 0.15rem; }
.cp-sub b { color: #fff; font-weight: 600; }
.cp-head-stats { display: flex; gap: 0.5rem; margin-right: 2.4rem; }
.cp-head-stats > div { background: rgba(0, 0, 0, 0.35); border: 1px solid #2a2a2a; border-radius: 8px; padding: 0.4rem 0.75rem; min-width: 64px; display: flex; flex-direction: column; align-items: center; }
.cp-head-stats span { font-size: 0.62rem; letter-spacing: 0.1rem; color: #888; }
.cp-head-stats b { font-family: 'Oswald', sans-serif; font-size: 1.3rem; color: #fff; }
.cp-form { display: flex; gap: 3px; margin-top: 0.15rem; }
.cp-form i, .cp-meet i { font-style: normal; font-family: 'Oswald', sans-serif; font-size: 0.75rem; width: 19px; height: 19px; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; color: #0a0a0a; }
.f-W i, i.f-W, .cp-form i.f-W { background: #4ade80; } .cp-form i.f-D, i.f-D { background: #facc15; } .cp-form i.f-L, i.f-L { background: #f87171; }
.cp-body { flex: 1; min-height: 0; display: grid; grid-template-columns: 330px minmax(0, 1fr) 320px; gap: 1rem; padding: 1rem 1.3rem 1.2rem; }
.cp-col { min-height: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.cp-col h4, .cp-pitch-head h4 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 0.85rem; letter-spacing: 0.12rem; color: var(--accent); }
.cp-col h4 small { color: #777; font-family: 'Inter', sans-serif; letter-spacing: 0; font-size: 0.75rem; margin-left: 0.4rem; }
.cp-pitch-head { display: flex; justify-content: space-between; align-items: baseline; }
.cp-pitch-head span { font-family: 'Oswald', sans-serif; color: #fff; }
.cp-pitch { position: relative; flex: none; height: 420px; border-radius: 10px; background: repeating-linear-gradient(180deg, #1d3b22 0 42px, #20422a 42px 84px); border: 2px solid rgba(255, 255, 255, 0.18); overflow: hidden; }
.cp-pitch-lines { position: absolute; inset: 0; background:
    linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0.2)) center 50% / 100% 2px no-repeat,
    radial-gradient(circle at 50% 50%, transparent 38px, rgba(255,255,255,0.2) 39px, transparent 41px); }
.cp-pitch-lines::before, .cp-pitch-lines::after { content: ''; position: absolute; left: 25%; right: 25%; height: 13%; border: 2px solid rgba(255, 255, 255, 0.2); }
.cp-pitch-lines::before { top: -2px; border-top: none; } .cp-pitch-lines::after { bottom: -2px; border-bottom: none; }
.cp-dot { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 2px; width: 84px; }
.cp-dot b { width: 30px; height: 30px; border-radius: 50%; background: var(--cp, #333); border: 2px solid #fff; color: #fff; font-family: 'Oswald', sans-serif; font-size: 0.85rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.5); text-shadow: 0 1px 2px rgba(0,0,0,0.8); }
.cp-dot span { font-size: 0.7rem; color: #fff; background: rgba(0, 0, 0, 0.55); padding: 0 0.3rem; border-radius: 3px; white-space: nowrap; max-width: 84px; overflow: hidden; text-overflow: ellipsis; }
.cp-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; }
.cp-mini > div, .cp-trophies > div, .cp-h2h > div { background: #161718; border: 1px solid #242424; border-radius: 8px; padding: 0.4rem 0.6rem; display: flex; flex-direction: column; min-width: 0; }
.cp-mini span { font-size: 0.68rem; color: #888; }
.cp-mini b { font-family: 'Oswald', sans-serif; font-size: 0.98rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-squad { flex: 1; min-height: 0; overflow-y: auto; border: 1px solid #242424; border-radius: 10px; }
.cp-squad table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.cp-squad th { position: sticky; top: 0; background: #141414; color: #888; font-weight: 500; text-align: left; padding: 0.5rem 0.6rem; font-size: 0.75rem; z-index: 1; }
.cp-squad td { padding: 0.38rem 0.6rem; border-top: 1px solid #1f1f1f; color: #ccc; }
.cp-squad tr:hover td { background: #17181a; }
.cp-pos { font-family: 'Oswald', sans-serif; color: var(--accent) !important; }
.cp-name { color: #fff !important; }
.cp-name small { color: #60a5fa; font-size: 0.7rem; }
.cp-buy { font-family: 'Oswald', sans-serif; font-size: 0.68rem; letter-spacing: 0.05rem; background: transparent; color: var(--accent); border: 1px solid rgba(204, 255, 0, 0.5); border-radius: 4px; padding: 0.1rem 0.45rem; cursor: pointer; }
.cp-buy:hover { background: var(--accent); color: #0a0a0a; }
.cp-col-info { overflow-y: auto; }
.cp-box { background: #141516; border: 1px solid #242424; border-radius: 10px; padding: 0.8rem 0.9rem; display: flex; flex-direction: column; gap: 0.55rem; }
.cp-stadium { display: flex; align-items: center; gap: 0.8rem; color: var(--accent); }
.cp-stadium strong { display: block; color: #fff; font-family: 'Oswald', sans-serif; font-size: 1.05rem; }
.cp-stadium small { color: #999; font-size: 0.78rem; }
.cp-trophies { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; }
.cp-trophies b, .cp-h2h b { font-family: 'Oswald', sans-serif; font-size: 1.4rem; color: #facc15; }
.cp-trophies span, .cp-h2h span { font-size: 0.7rem; color: #888; }
.cp-seasons { font-size: 0.78rem; color: #ccc; line-height: 1.45; }
.cp-seasons span { color: #888; }
.cp-h2h { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.35rem; }
.cp-h2h b { font-size: 1.15rem; color: #fff; }
.cp-h2h .f-W b { color: #4ade80; } .cp-h2h .f-D b { color: #facc15; } .cp-h2h .f-L b { color: #f87171; }
.cp-meet { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.8rem; color: #aaa; }
.cp-meet div { display: flex; align-items: center; gap: 0.5rem; }
.cp-meet i { width: 10px; height: 10px; border-radius: 3px; }
.cp-meet b { color: #fff; font-family: 'Oswald', sans-serif; }
.cp-empty { font-size: 0.8rem; color: #777; }
.cp-rival { align-self: flex-start; font-family: 'Oswald', sans-serif; font-size: 0.75rem; letter-spacing: 0.08rem; color: #fff; background: linear-gradient(90deg, #ef4444, #f97316); border-radius: 4px; padding: 0.15rem 0.55rem; }
@media (max-width: 1100px) { .cp-body { grid-template-columns: 1fr; overflow-y: auto; } .cp-head-stats { display: none; } }


/* Trénink */
#training-modal.fm-page-mode > .draft-modal-content { height: 100% !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
#training-body { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0.8rem; }
.tr-top { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.25fr); gap: 0.8rem; }
.tr-box { background: #141414; border: 1px solid #262626; border-radius: 10px; padding: 0.75rem 0.9rem; display: flex; flex-direction: column; gap: 0.55rem; min-width: 0; }
.tr-box h4 { margin: 0; font-family: 'Oswald', sans-serif; font-size: 0.85rem; letter-spacing: 0.12rem; color: var(--accent); }
.tr-box-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.tr-box-head span { font-size: 0.75rem; color: #888; text-align: right; }
.tr-strip { display: flex; gap: 0.35rem; overflow-x: auto; }
.tr-day { flex: 1; min-width: 74px; background: #0f0f0f; border: 1px solid #242424; border-radius: 8px; padding: 0.35rem 0.4rem; display: flex; flex-direction: column; align-items: center; gap: 0.1rem; }
.tr-day span { font-size: 0.68rem; color: #999; white-space: nowrap; }
.tr-day b { font-size: 1.1rem; line-height: 1.3; }
.tr-day em { font-style: normal; font-size: 0.68rem; color: #ccc; text-align: center; line-height: 1.2; }
.tr-day.is-past { opacity: 0.4; }
.tr-day.is-today { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
.tr-day.tr-match { background: linear-gradient(180deg, rgba(204,255,0,0.12), #0f0f0f); border-color: rgba(204,255,0,0.4); }
.tr-day.tr-match em { color: var(--accent); font-weight: 600; }
.tr-step { display: flex; align-items: center; gap: 0.4rem; font-size: 0.75rem; color: #999; }
.tr-step button, .tr-plan button { font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.04rem; background: #161616; border: 1px solid #2c2c2c; color: #aaa; border-radius: 5px; padding: 0.15rem 0.55rem; cursor: pointer; }
.tr-step button.is-on, .tr-plan button.is-on { background: var(--accent); border-color: var(--accent); color: #0a0a0a; }
.tr-step small { color: #666; }
.tr-seg { display: flex; flex-direction: column; gap: 0.3rem; }
.tr-seg button { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; background: #101010; border: 1px solid #262626; border-radius: 7px; padding: 0.32rem 0.6rem; cursor: pointer; color: #ccc; text-align: left; }
.tr-seg button b { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 0.85rem; letter-spacing: 0.04rem; }
.tr-seg button small { font-size: 0.7rem; color: #777; }
.tr-seg button:hover { border-color: #444; }
.tr-seg button.is-on { border-color: var(--accent); background: rgba(204, 255, 0, 0.07); color: var(--accent); }
.tr-seg button.is-on small { color: #bbb; }
.tr-main { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 0.8rem; }
.tr-players { min-height: 0; }
.tr-players .cp-squad { flex: 1; min-height: 0; }
.tr-name { color: #fff !important; }
.tr-injtag { color: #f87171; font-size: 0.68rem; }
tr.is-inj td { opacity: 0.6; }
.tr-cond { width: 70px; height: 6px; background: #262626; border-radius: 3px; overflow: hidden; }
.tr-cond i { display: block; height: 100%; background: #4ade80; border-radius: 3px; }
.tr-cond i.low { background: #f59e0b; }
.tr-log { white-space: nowrap; }
.tr-log i { font-style: normal; display: inline-block; min-width: 26px; text-align: center; font-size: 0.68rem; padding: 0.05rem 0.15rem; margin-right: 2px; border-radius: 3px; background: #222; color: #ccc; }
.tr-log i.g { background: rgba(74, 222, 128, 0.2); color: #4ade80; }
.tr-log i.b { background: rgba(248, 113, 113, 0.18); color: #f87171; }
.tr-meter { width: 80px; height: 6px; background: #262626; border-radius: 3px; overflow: hidden; }
.tr-meter i { display: block; height: 100%; background: linear-gradient(90deg, #60a5fa, var(--accent)); border-radius: 3px; }
.tr-trend { font-size: 0.75rem; white-space: nowrap; }
.tr-trend.tr-up { color: #4ade80; } .tr-trend.tr-eq { color: #aaa; } .tr-trend.tr-down { color: #f87171; }
.tr-plan { display: flex; gap: 3px; }
.tr-logbox { min-height: 0; }
.tr-loglist { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 0.4rem; }
.tr-entry { background: #101010; border: 1px solid #222; border-left: 3px solid #444; border-radius: 6px; padding: 0.4rem 0.55rem; font-size: 0.78rem; color: #ccc; display: flex; flex-direction: column; gap: 0.15rem; }
.tr-entry b { color: #fff; font-weight: 600; }
.tr-entry small { color: #888; font-size: 0.72rem; }
.tr-entry .tr-ev { color: #d4d4d4; }
.tr-entry.tr-train { border-left-color: var(--accent); }
.tr-entry.tr-regen, .tr-entry.tr-off { border-left-color: #60a5fa; }
.tr-entry.tr-prep { border-left-color: #a78bfa; }

/* Trénink: kompaktní horní část, víc místa pro hráče */
.tr-top { grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.9fr) minmax(0, 1.2fr); }
.tr-box { padding: 0.6rem 0.8rem; gap: 0.45rem; }
.tr-day { padding: 0.25rem 0.3rem; gap: 0; }
.tr-day b { font-size: 0.95rem; line-height: 1.2; }
.tr-seg { flex-direction: row; flex-wrap: wrap; gap: 4px; }
.tr-seg button { flex: 1; justify-content: center; font-family: 'Oswald', sans-serif; font-size: 0.82rem; letter-spacing: 0.04rem; padding: 0.35rem 0.5rem; white-space: nowrap; }
.tr-seg-desc { font-size: 0.72rem; color: #888; }
.tr-plan button.is-double { border-color: rgba(167, 139, 250, 0.5); color: #c4b5fd; }
.tr-plan button.is-double.is-on { background: #a78bfa; border-color: #a78bfa; color: #0a0a0a; }
#training-modal.fm-page-mode > .tr-page { width: 100% !important; max-width: none !important; }
.tr-top { align-items: start; }
#training-modal .fz-page-head { margin-bottom: 0.2rem; }
#training-body { width: 100%; align-self: stretch; }
#training-modal .fz-page-head { width: 100%; align-self: stretch; }

/* Smlouvy: kompaktní karty nahoře, víc hráčů v tabulce */
#contracts-modal .stats-hub-header { margin-bottom: 0.4rem !important; padding-bottom: 0 !important; }
#contracts-modal .stats-hub-header .draft-modal-title { font-size: 1.5rem !important; }
#contracts-body .ct-cards { margin: 0.2rem 0 0.55rem; gap: 0.45rem; }
#contracts-body .ct-card { padding: 0.35rem 0.65rem; gap: 0; }
#contracts-body .ct-card span { font-size: 0.6rem; }
#contracts-body .ct-card strong { font-size: 1.1rem; line-height: 1.2; }
#contracts-body .ct-card small { font-size: 0.66rem; }
#contracts-body .ct-wage { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "lbl lbl" "val btn" "bar bar"; column-gap: 0.4rem; align-items: center; }
#contracts-body .ct-wage > span { grid-area: lbl; }
#contracts-body .ct-wage > strong { grid-area: val; }
#contracts-body .ct-wage > .ct-wage-btn { grid-area: btn; justify-self: end; margin: 0; padding: 0.05rem 0.4rem; font-size: 0.62rem; white-space: nowrap; }
#contracts-body .ct-wage > .ct-wage-bar { grid-area: bar; height: 4px; margin-top: 0.15rem; }
#contracts-body .ct-filters { margin-bottom: 0.45rem; }

/* Přestupy jako ve FM: hráči v řádcích */
#transfer-players-grid { display: block !important; gap: 0 !important; border: 1px solid #242424; border-radius: 10px; padding-right: 0 !important; }
.tm-head, .tm-row { display: grid; grid-template-columns: 52px minmax(200px, 2.2fr) 54px 50px minmax(180px, 1.7fr) 80px 86px 118px 86px; align-items: center; gap: 0.5rem; padding: 0 0.9rem; }
.tm-head { position: sticky; top: 0; z-index: 2; height: 36px; background: #141414; border-bottom: 1px solid #262626; font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.08rem; color: #888; }
.tm-sort { cursor: pointer; user-select: none; }
.tm-sort:hover, .tm-sort.is-on { color: var(--accent); }
.tm-row { height: 38px; border-bottom: 1px solid #1c1c1c; font-size: 0.88rem; color: #ccc; cursor: pointer; transition: background 0.1s; }
.tm-row:nth-child(even) { background: rgba(255, 255, 255, 0.015); }
.tm-row:hover { background: rgba(204, 255, 0, 0.06); }
.tm-row.is-loan, .tm-row.is-reluctant { opacity: 0.5; }
.tm-row .tm-pos { font-family: 'Oswald', sans-serif; color: var(--accent); }
.tm-row .tm-name { color: #fff; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-name small { font-size: 0.68rem; color: #60a5fa; font-weight: 400; }
.tm-name small.tm-no { color: #f87171; }
.tm-row .tm-ovr { font-family: 'Oswald', sans-serif; font-size: 1.05rem; text-align: center; }
.tm-head .tm-ovr { text-align: center; }
.tm-row .tm-stars { color: #facc15; letter-spacing: -1px; white-space: nowrap; font-size: 0.85rem; }
.tm-row .tm-stars svg { width: 15px; height: 15px; }
.tm-row .tm-age { color: #ccc; }
.tm-row .tm-club { display: flex; align-items: center; gap: 0.45rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-crest { display: inline-flex; flex: none; border-radius: 4px; transition: transform 0.15s; }
.tm-crest:hover { transform: scale(1.15); }
.tm-club .tm-ctry { font-size: 0.68rem; color: #888; }
.tm-row .tm-contract, .tm-row .tm-wage { color: #aaa; font-size: 0.82rem; }
.tm-row .tm-price { font-family: 'Oswald', sans-serif; color: #facc15; white-space: nowrap; }
.tm-act button { font-family: 'Oswald', sans-serif; font-size: 0.7rem; letter-spacing: 0.05rem; background: transparent; color: var(--accent); border: 1px solid rgba(204, 255, 0, 0.45); border-radius: 4px; padding: 0.15rem 0.6rem; cursor: pointer; opacity: 0; transition: opacity 0.1s; }
.tm-row:hover .tm-act button { opacity: 1; }
.tm-act button:hover { background: var(--accent); color: #0a0a0a; }
#transfer-players-grid .tm-more { padding: 0.8rem; text-align: center; color: #777; font-size: 0.8rem; }
/* Přestupy: platový box se nesmí přelévat přes svůj rámeček */
#career-wage-box { flex: 0 0 auto; min-width: 0; }
#career-wage-box .wb-box { width: max-content; max-width: 100%; }
#career-wage-box .wb-box-bot small { white-space: nowrap; }
#career-budget-container > div:first-child { flex: 0 1 auto; min-width: 0; }
#career-budget-container > div:last-child { flex: 1 1 200px; min-width: 0; }
#career-wage-box .wb-box { max-width: none; }
#career-wage-box .wb-box > * { flex: none; }
#career-wage-box { max-width: none !important; margin: 0 1rem !important; }
#career-budget-container > div:first-child { flex: none !important; }
#career-budget-container > div:first-child > div:last-child > div { white-space: nowrap; }
@media (max-width: 1750px) {
    #career-budget-container > div:last-child { display: none !important; }
    #career-budget-container { justify-content: flex-start !important; }
}
@media (max-width: 1250px) {
    #career-budget-container > div:first-child > div:last-child > div:first-child { display: none; }
}

/* Přestupy: info o oknech jen jako ikonka s bublinou, nic se nepřekrývá */
#career-budget-container .tm-window-info { display: flex !important; flex: none !important; max-width: none !important; padding-left: 0.9rem !important; margin-left: auto; cursor: help; }
#career-budget-container .tm-window-info span { display: none !important; }
#career-budget-container .tm-window-info svg { width: 1.2rem !important; height: 1.2rem !important; }
#career-budget-container { justify-content: flex-start !important; }

/* Trénink: všechny dny do zápasu bez posouvání */
.tr-strip { overflow: visible; }
.tr-day { min-width: 0; flex: 1 1 0; overflow: hidden; }
.tr-day span, .tr-day em { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.tr-day em { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; }
.tr-top { grid-template-columns: minmax(0, 2.1fr) minmax(0, 0.85fr) minmax(0, 1.15fr); }
.tr-strip { gap: 0.25rem; }
.tr-day { padding: 0.25rem 0.15rem; }
.tr-day span { font-size: 0.64rem; }
.tr-day em { font-size: 0.66rem; }
.deal-bonus-note { font-size: 0.74rem; color: #555; margin-top: 0.15rem; }
.deal-bonus-note b { color: #111; }
.deal-folder.is-renew .deal-right .deal-comment { height: 2.9em; }
.deal-folder.is-renew .deal-right .deal-comment { height: auto; min-height: 2.6em; max-height: 4em; font-size: 0.84rem; line-height: 1.3; }

/* Tažení hráče: náhled u kurzoru a ztlumené původní místo */
.drag-ghost { transition: none !important; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.6), 0 0 0 2px var(--accent) !important; }
.drag-chip { display: inline-flex; gap: 0.5rem; align-items: center; padding: 0.45rem 0.8rem; background: #141414; border: 2px solid var(--accent); border-radius: 8px; color: #fff; font: 600 0.9rem 'Inter', sans-serif; white-space: nowrap; }
.drag-chip b { font-family: 'Oswald', sans-serif; color: var(--accent); }
.is-held { opacity: 0.35 !important; outline: 2px dashed var(--accent); outline-offset: 2px; }
.drag-float { position: fixed !important; left: 0 !important; top: 0 !important; margin: 0 !important; z-index: 100000 !important; pointer-events: none !important; opacity: 1 !important; transition: none !important; will-change: transform; }
.drag-float.drag-ghost { box-shadow: 0 14px 30px rgba(0, 0, 0, 0.7), 0 0 0 2px var(--accent) !important; }

/* Živý zápas: klíčové momenty pod komentářem */
.lm-keys { flex: none; background: var(--bg-card); border: 1px solid #222; border-radius: 6px; padding: 0.45rem 0.6rem 0.5rem; }
.lm-keys h4 { margin: 0 0 0.35rem; font-family: 'Oswald', sans-serif; font-size: 0.72rem; letter-spacing: 0.12rem; color: var(--accent); text-align: center; }
.lm-keys-list { max-height: 150px; overflow-y: auto; display: flex; flex-direction: column; gap: 0.2rem; }
.lm-keys-empty { font-size: 0.74rem; color: #666; text-align: center; padding: 0.2rem 0; }
.lm-key { display: grid; grid-template-columns: 1fr 38px 1fr; align-items: center; gap: 0.4rem; font-size: 0.8rem; color: #ddd; animation: lmFadeIn 0.3s ease; }
.lm-key-min { font-family: 'Oswald', sans-serif; font-size: 0.78rem; color: #999; text-align: center; background: #151515; border-radius: 4px; padding: 0.05rem 0; }
.lm-key.is-home .lm-key-txt { text-align: right; }
.lm-key-txt i { font-style: normal; }
.lm-key-txt small { color: #888; font-size: 0.7rem; }
.lm-key.is-mine .lm-key-txt b { color: var(--accent); }

/* Soupiska: lavička jen v tabulce vpravo, pod hřištěm nic */
#squad-hub-modal.fm-page-mode #bench-area-wrapper { display: none !important; }
.sq-row.sq-empty td { color: #666; font-style: italic; font-size: 0.78rem; }
.sq-row.sq-empty .sq-slot { color: #555; font-style: normal; }
.sq-row.sq-empty { cursor: pointer; }
.sq-row.sq-empty:hover td, .sq-row.sq-empty.is-drop td { background: rgba(204, 255, 0, 0.06); color: #bbb; }
.sq-empty-cell { border: 1px dashed #2c2c2c; }
.sq-sep small { color: #777; font-family: 'Inter', sans-serif; letter-spacing: 0; margin-left: 0.3rem; }
/* Bez lavičky pod hřištěm: hřiště vyplní celou výšku sloupce */
#squad-hub-modal.fm-page-mode .sq-pitch-target { flex: 1; min-height: 0; }
#squad-hub-modal.fm-page-mode .sq-pitch-target > div:has(> #football-pitch) { flex: 1; min-height: 0; justify-content: stretch !important; }
#squad-hub-modal.fm-page-mode #football-pitch { flex: 1; height: auto !important; min-height: 420px; max-width: none; }
/* Akademie: všechny záložky stejně široké (stránka se nepřizpůsobuje obsahu) */
#academy-hub-modal.fm-page-mode > .draft-modal-content { width: 100% !important; max-width: none !important; }
#academy-hub-body { width: 100%; align-self: stretch; }

/* Akademie: kompaktní řádek šéf mládeže / reputace / skauting, víc místa pro dorostence */
#academy-hub-modal .ac-top { gap: 0.5rem; margin-bottom: 0.5rem; }
#academy-hub-modal .ac-top .ac-box { padding: 0.45rem 0.75rem; gap: 0.15rem; display: grid; grid-template-columns: auto 1fr; column-gap: 0.7rem; align-items: center; }
#academy-hub-modal .ac-top .ac-box-label { grid-column: 1 / -1; font-size: 0.66rem; margin: 0; }
#academy-hub-modal .ac-top .ac-box-value { font-size: 1.05rem; line-height: 1.2; }
#academy-hub-modal .ac-top .ac-box-note { font-size: 0.68rem; line-height: 1.25; }
#academy-hub-modal .ac-top .ac-box-note + .ac-box-note { grid-column: 1 / -1; }
#academy-hub-modal .ac-top .stats-renew-btn { padding: 0.1rem 0.5rem; font-size: 0.66rem; grid-column: 2; justify-self: start; }
#academy-hub-modal .ac-top .fm-meter-track { grid-column: 2; height: 5px; }
#academy-hub-modal .ac-top .ac-box:nth-child(2) .ac-box-note { grid-column: 1 / -1; }
#academy-hub-modal .ac-top .ac-scout-list { grid-column: 1 / -1; gap: 4px; }
#academy-hub-modal .ac-top .ac-scout-list .stats-renew-btn { font-size: 0.64rem; padding: 0.1rem 0.45rem; }
#academy-hub-modal > .draft-modal-content > header h2 { font-size: 1.6rem !important; }
#academy-hub-modal > .draft-modal-content > header { margin-bottom: 0.6rem !important; padding-bottom: 0.4rem !important; }

/* Evropa: přesun po vyřazení z předkola do nižší soutěže */
.eu-step.drop { border-left-color: #f59e0b; }
.eu-step.drop small { color: #f59e0b; }
.eu-drop-txt { grid-column: 2 / -1; color: #bbb; }

/* 3D přenos zápasu */
.lm-3d-canvas { display: block; width: 100%; }
.lm-3d-overlay { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.lm3d-tag { position: absolute; left: 0; top: 0; display: none; padding: 2px 8px; border-radius: 4px; background: rgba(0, 0, 0, 0.62); color: #fff; font: 600 0.78rem Inter, sans-serif; white-space: nowrap; border-bottom: 2px solid rgba(255, 255, 255, 0.5); }
.lm3d-tag.is-mine { border-bottom-color: #ccff00; }
.lm3d-banner { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); display: none; flex-direction: column; align-items: center; padding: 1.1rem 0; background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.62) 20%, rgba(0, 0, 0, 0.62) 80%, transparent); }
.lm3d-banner b { font: 700 4.2rem/1 Oswald, sans-serif; letter-spacing: 0.04em; text-shadow: 0 4px 18px rgba(0, 0, 0, 0.6); }
.lm3d-banner small { margin-top: 0.4rem; color: rgba(255, 255, 255, 0.88); font: 600 1rem Inter, sans-serif; }
.lm3d-banner small:empty { display: none; }
.lm3d-replay { position: absolute; left: 14px; top: 14px; display: none; align-items: center; gap: 8px; padding: 6px 12px 9px; background: rgba(0, 0, 0, 0.6); border-radius: 4px; color: #fff; font: 700 0.85rem Oswald, sans-serif; letter-spacing: 0.05em; }
.lm3d-replay i { width: 9px; height: 9px; border-radius: 50%; background: #ef4444; animation: lm3dBlink 1s steps(2) infinite; }
.lm3d-replay em { position: absolute; left: 12px; right: 12px; bottom: 4px; height: 3px; background: rgba(255, 255, 255, 0.15); }
.lm3d-replay s { display: block; height: 100%; width: 0; background: #ef4444; text-decoration: none; }
@keyframes lm3dBlink { 50% { opacity: 0.25; } }
.lm3d-cams { position: absolute; right: 10px; top: 10px; display: flex; gap: 4px; pointer-events: auto; }
.lm3d-cams button { padding: 4px 9px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 4px; background: rgba(0, 0, 0, 0.55); color: #ddd; font: 600 0.68rem Oswald, sans-serif; letter-spacing: 0.06em; cursor: pointer; }
.lm3d-cams button:hover { color: #fff; border-color: rgba(255, 255, 255, 0.4); }
.lm3d-cams button.is-on { background: #ccff00; color: #000; border-color: #ccff00; }
.lm3d-bug { position: absolute; left: 14px; top: 14px; display: flex; align-items: stretch; background: rgba(8, 10, 14, 0.82); border-radius: 4px; overflow: hidden; font: 700 0.95rem Oswald, sans-serif; letter-spacing: 0.05em; color: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4); }
.lm3d-bug span { padding: 5px 10px; border-left: 4px solid #fff; }
.lm3d-bug span.a { border-left: 0; border-right: 4px solid #fff; }
.lm3d-bug b { padding: 5px 12px; background: #ccff00; color: #000; }
.lm3d-bug em { padding: 5px 10px; font-style: normal; color: #ccff00; background: rgba(255, 255, 255, 0.06); }
.lm3d-names { position: absolute; inset: 0; }
.lm3d-names span { position: absolute; left: 0; top: 0; font: 600 0.66rem Inter, sans-serif; white-space: nowrap; text-shadow: 0 0 3px #000, 0 1px 2px #000; pointer-events: none; }
.lm3d-cams .lm3d-names-btn { margin-left: 6px; }
.lm3d-cams .lm3d-names-btn.is-on { background: #fff; color: #000; border-color: #fff; }
.lm3d-warn { position: absolute; left: 50%; bottom: 64px; transform: translateX(-50%); max-width: 640px; padding: 8px 14px; border-radius: 6px; background: rgba(120, 53, 15, 0.9); border: 1px solid #f59e0b; color: #fde68a; font: 500 0.78rem/1.4 Inter, sans-serif; text-align: center; pointer-events: none; }
.lm3d-warn b { color: #fff; }
.lm3d-cut { position: absolute; inset: 0; background: #000; opacity: 0; pointer-events: none; }
.lm3d-cut.is-on { animation: lm3dCut 0.45s ease-out; }
@keyframes lm3dCut { 0% { opacity: 0.85; } 100% { opacity: 0; } }
/* Lišta s popisem akce (jako v FM) */
.lm-ticker { position: absolute; left: 0; right: 0; bottom: 0; padding: 4px 12px; background: rgba(0, 0, 0, 0.72); color: #f1f1f1; font: 600 0.82rem Inter, sans-serif; text-align: center; pointer-events: none; min-height: 1.4em; }
.lm-ticker:empty { display: none; }
.lm-pitch-wrap .lm-caption { bottom: 38px; }
.lm-3d-overlay ~ .lm-ticker, .lm-ticker { z-index: 3; }
/* Sestřih zápasu (klíčové / rozšířené / celý) */
.lm-hl { display: inline-flex; gap: 2px; margin: 0 6px; padding: 2px; border-radius: 6px; background: rgba(255, 255, 255, 0.04); }
.lm-hl .lm-btn { font-size: 0.68rem; padding-left: 0.55rem; padding-right: 0.55rem; }
.lm-ff { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); padding: 4px 12px; border-radius: 4px; background: rgba(0, 0, 0, 0.7); color: #ccff00; font: 700 0.75rem Oswald, sans-serif; letter-spacing: 0.08em; opacity: 0; transition: opacity 0.2s; pointer-events: none; z-index: 4; }
.lm-ff.is-on { opacity: 1; }
.lm-ff { top: 50%; transform: translate(-50%, -50%); min-width: 300px; padding: 12px 18px; background: rgba(5, 8, 6, 0.86); border: 1px solid rgba(204, 255, 0, 0.35); border-radius: 8px; color: #eee; font: 600 0.82rem Inter, sans-serif; letter-spacing: 0; }
.lm-ff-head { color: #ccff00; font: 700 0.95rem Oswald, sans-serif; letter-spacing: 0.06em; text-align: center; margin-bottom: 8px; }
.lm-ff-row { display: grid; grid-template-columns: 50px 1fr 50px; align-items: center; padding: 3px 0; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.lm-ff-row b { font: 700 0.95rem Oswald, sans-serif; text-align: center; color: #fff; }
.lm-ff-row span { text-align: center; color: #aaa; font-size: 0.75rem; }
.lm-ff-foot { margin-top: 8px; text-align: center; color: #888; font-size: 0.72rem; }
/* O hře (kontakt, nezávislost, soukromí) */
.home-about-link { background: none; border: 0; padding: 0; color: #8a9180; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.home-about-link:hover { color: #ccff00; }
.about-modal { position: fixed; inset: 0; z-index: 16000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); }
.about-modal.hidden { display: none; }
.about-box { position: relative; width: min(720px, 100%); max-height: 90vh; overflow-y: auto; padding: 1.6rem 1.8rem; background: #14170f; border: 1px solid rgba(204, 255, 0, 0.25); border-radius: 12px; color: #d8dcd2; font-size: 0.9rem; line-height: 1.55; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6); }
.about-box h2 { margin: 0 0 0.6rem; color: #ccff00; font: 700 1.5rem Oswald, sans-serif; letter-spacing: 0.04em; }
.about-box h3 { margin: 1.1rem 0 0.3rem; color: #fff; font: 700 0.95rem Oswald, sans-serif; letter-spacing: 0.06em; text-transform: uppercase; }
.about-box p { margin: 0 0 0.5rem; }
.about-box a { color: #ccff00; }
.about-small { color: #8e9387; font-size: 0.8rem; }
.about-close { position: absolute; top: 0.8rem; right: 0.9rem; width: 32px; height: 32px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 6px; background: transparent; color: #ddd; font-size: 1rem; cursor: pointer; }
.about-close:hover { border-color: #ccff00; color: #ccff00; }
.about-close { display: flex; align-items: center; justify-content: center; }

/* Podpora (Buy Me a Coffee): nenápadně v navigaci, na úvodu a v O hře */
.cup-ico { width: 18px; height: 18px; flex: 0 0 auto; }
.nav-coffee { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0 0.6rem; padding: 0.35rem 0.8rem; border: 1px solid rgba(255, 221, 0, 0.45); border-radius: 999px; color: #ffdd00; font-size: 0.85rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background 0.15s, color 0.15s; }
.nav-coffee:hover { background: #ffdd00; color: #111; }
.home-coffee { display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.9rem; border: 1px dashed rgba(255, 221, 0, 0.4); border-radius: 9px; color: #cfd2c8; font-size: 0.82rem; text-decoration: none; transition: background 0.15s, border-color 0.15s; }
.home-coffee .cup-ico { color: #ffdd00; width: 20px; height: 20px; }
.home-coffee b { color: #ffdd00; font-weight: 600; }
.home-coffee:hover { background: rgba(255, 221, 0, 0.08); border-style: solid; }
.nav-coffee { align-self: center; height: auto; line-height: 1.2; padding: 0.3rem 0.8rem; }
