        body { background: #f8f9fa; }
        h1 { margin-top: 20px; margin-bottom: 30px; text-align: center; }
        table { background: white; }
        .unfinished-result,
        .unfinished-result > * {
            --bs-table-bg: transparent;
            --bs-table-striped-bg: transparent;
            --bs-table-hover-bg: transparent;
            --bs-table-color: #bbbbbb;
            color: #bbbbbb !important;
            font-style: italic;
        }
        .filter-form { max-width: 900px; margin: 0 auto 30px auto; }
        .popisek { max-width: 900px; margin: 0 auto 30px auto; text-align:center }
        .mezicasy-btn { max-width: 900px; margin: 0 auto 30px auto;  display:block}
        .filter-hint { max-width: 900px; margin: 0 auto 28px auto; }
        .category-heading { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; max-width: 900px; margin: 40px auto 0 auto; }
        .category-header { margin: 0; white-space: nowrap; }
        .category-count { margin-left: auto; text-align: right; }
        .results-table-wrap { max-width: 900px; margin: 0 auto; }
        .no-results { color: #777; font-style: italic; }

        /* Plovoucí tlačítko pro obnovení */
        #refresh-btn {
            position: fixed;
            bottom: 25px;
            right: 25px;
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background-color: #0d6efd;
            color: white;
            border: none;
            box-shadow: 0 3px 6px rgba(0,0,0,0.25);
            cursor: pointer;
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            overflow: hidden;
            padding: 0;
        }

        #refresh-btn i {
            transition: transform 0.5s linear;
        }

        #refresh-btn .loading-text {
            display: none;
            margin-left: 10px;
            white-space: nowrap;
        }

        #refresh-btn.loading {
            width: 150px;
            border-radius: 28px;
        }

        #refresh-btn.loading i {
            animation: spin 1s linear infinite;
        }

        #refresh-btn.loading .loading-text {
            display: inline-block;
            font-weight: 500;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        /* Logo firmy */
        footer {
            text-align: center;
            margin: 60px 0 20px 0;
            color: #666;
        }
        footer img {
            width: 80%;
            max-width: 400px;
            opacity: 0.8;
            transition: opacity 0.2s;
        }
        footer img:hover {
            opacity: 1;
        }

        .result-name-link { color: inherit; font-weight: 600; text-decoration: none; }
        .result-name-link:hover { color: #0d6efd; text-decoration: underline; }
        .club-filter-link { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
        .club-filter-link:hover { color: #0d6efd; text-decoration: underline; }
        .category-splits-action { text-align: center; margin: 12px 0 34px 0; }
        .clickable-result { cursor: pointer; }
        .splits-page { padding-top: 20px; }
        .page-actions { margin: 20px 0; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
        .splits-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
        .splits-table { width: max-content; min-width: 100%; font-size: 0.72rem; }
        .splits-table th,
        .splits-table td { white-space: nowrap; padding: 0.22rem 0.35rem; text-align: right; }
        .splits-table th:nth-child(2),
        .splits-table td:nth-child(2),
        .splits-table th:nth-child(3),
        .splits-table td:nth-child(3) { text-align: left; }
        .splits-table .runner-name-cell { text-align: left; }
        .split-cell { min-width: 54px; }
        .split-total { color: #555; border-top: 1px solid rgba(0,0,0,0.08); margin-top: 1px; padding-top: 1px; }
        .ranked-split.split-rank-1 { color: #03a9f4; font-weight: 700; }
        .ranked-split.split-rank-top3 { color: #03a9f4; font-weight: 400; }
        .personal-splits { max-width: 520px; margin: 0 auto 40px auto; text-align: center; font-family: Consolas, 'Courier New', monospace; }
        .personal-splits h1 { margin: 6px 0; font-size: 1.65rem; }
        .personal-race { font-size: 0.85rem; }
        .personal-splits-table { margin: 22px auto; }
        .personal-splits-table td { padding: 1px 9px; white-space: nowrap; text-align: right; }
        .personal-splits-table td:first-child { text-align: left; }
        .personal-splits-table .split-with-rank { text-align: right; }
        .split-with-rank .split-time { display: inline-block; min-width: 6ch; text-align: right; }
        .split-with-rank .split-rank { display: inline-block; min-width: 4ch; margin-left: 0.5ch; text-align: left; }
        .personal-summary { margin: 16px auto; }
        .personal-summary td { padding: 1px 12px; white-space: nowrap; }
        .personal-summary td:first-child { text-align: left; }
        .personal-summary td:last-child { text-align: right; font-weight: 600; }
        @media (max-width: 576px) {
            .results-table-wrap { overflow-x: visible; }
            .results-table-wrap .table { table-layout: fixed; font-size: 0.78rem; }
            .results-table-wrap th,
            .results-table-wrap td { padding: 0.34rem 0.26rem; white-space: nowrap; }
            .results-table-wrap th:nth-child(1),
            .results-table-wrap td:nth-child(1) { width: 9%; }
            .results-table-wrap th:nth-child(2),
            .results-table-wrap td:nth-child(2) { width: 36%; }
            .results-table-wrap th:nth-child(3),
            .results-table-wrap td:nth-child(3) { width: 20%; }
            .results-table-wrap th:nth-child(4),
            .results-table-wrap td:nth-child(4) { width: 15%; }
            .results-table-wrap th:nth-child(5),
            .results-table-wrap td:nth-child(5) { width: 20%; }
            .result-name-link { font-weight: 600; }
            .splits-table { font-size: 0.58rem; }
            .splits-table th,
            .splits-table td { padding: 0.16rem 0.24rem; }
            .personal-splits { font-size: 0.82rem; }
        }
