th.sortable:hover {
    background: #222;
    cursor: pointer;
    color: #fff!important;
}
th.sortable {
    position: relative;
    padding-right: 18px;
}
th.sortable .arrow {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    opacity: 0.5;
}

tr.totals-row {
    background: #333!important;
    color: #fff;
    font-weight: bold;
}
table.proto,
table.proto-table,
table.result-table {
    width: auto !important;
	max-width: none !important;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    white-space: nowrap;
    font-size: 15px;
}

/* Хедеры */
table.proto th,
table.proto-table th,
table.result-table th {
    background: #004070;
    color: #fff;
    padding: 8px 10px;
    border: 1px solid #ccc;
    text-align: center;
}

/* Ячейки */
table.proto td,
table.proto-table td,
table.result-table td {
    padding: 8px 10px;
    border: 1px solid #ccc;
    text-align: center;
    white-space: nowrap;
}

/* Зебра */
table.proto tr:nth-child(even),
table.proto-table tr:nth-child(even),
table.result-table tr:nth-child(even) {
    background: #f7f7f7;
}

/* Призовые места */
tr.place-1 { background:#e9ffe3 !important; }
tr.place-2 { background:#e3f2ff !important; }
tr.place-3 { background:#fff4c2 !important; }

/* ===== Командный зачёт — недостающие элементы ===== */

.zone-col {
    font-weight: bold;
    white-space: nowrap;
}

.back-btn {
    display:inline-block;
    padding:8px 14px;
    background:#004070;
    color:white!important;
    border-radius:6px;
    margin:10px 0;
    text-decoration:none;
}
.back-btn:hover {
    background:#002f4e;
}

/* Размер шрифта в proto-таблицах */
table.proto {
    font-size: 13px;
}

.header-block {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 14px;
}
.header-block p {
    margin: 4px 0;
}


/* Основная таблица уловов — старый стиль */
table.team-daily {
    width: auto !important;
    margin: 20px auto;
    border-collapse: collapse;
    white-space: nowrap;
    font-size: 14px;
	margin-left: 0 !important;
	table-layout: fixed;
}
table.team-daily th,
table.team-daily td {
    border: 1px solid #ccc;
    padding: 4px 6px;
    text-align: center;
}
table.team-daily th {
    background: #004070;
    color: #fff;
}

/* Вертикальная зебра начиная с колонки дат (3-я и дальше) */
table.team-daily tbody td:nth-child(2n+3) {
    background: #f7f7f7;
}

/* Таблица итогов */
table.team-daily-summary {
    width: auto !important;
    margin: 5px auto 25px auto;
    border-collapse: collapse;
    white-space: nowrap;
    font-size: 14px;
	margin-left: 0 !important;
	table-layout: fixed;
}
table.team-daily-summary th,
table.team-daily-summary td {
    border: 1px solid #ccc;
    padding: 4px 6px;
    text-align: center;
	
}
table.team-daily-summary th {
    background: #004070;
    color: #fff;
}

/* Подсветка ячеек с числовыми итогами (кроме текстового столбца) */
table.team-daily-summary td.data-cell {
    background: #e1f3b9;
    font-weight: bold;
}

/* Выравнивание текстового столбца в итогах */
table.team-daily-summary td.label-cell {
    text-align: right;
    font-weight: bold;
}

/* Номер и время выравниваем по центру/лево слегка для читаемости */
table.team-daily td.time-col {
    text-align: center;
}
table.team-daily td.idx-col {
    text-align: center;
}
.team-block {
    width: fit-content;
    margin: 0 auto;
}

.team-daily,
.team-daily-summary {
    margin-left: 0 !important;
}

.team-daily, .team-daily-summary {
    table-layout: fixed;
}

.flag-btn img {
    width: 22px;
    height: 15px;
    display: block;
    cursor: pointer;
}

.flag-btn img {
    height: 20px;
    width: auto;
}
.flag-btn {
    padding: 2px;
    border-radius: 4px;
}
.flag-btn:hover {
    background: #ffffff33;
}

h2 {
    text-align: center;
    margin-top: 20px;
}
.st-draft        { background:#e5e5e5; padding:4px 10px; border-radius:6px; }
.st-reg          { background:#d6ebff; padding:4px 10px; border-radius:6px; }
.st-draw         { background:#eedbff; padding:4px 10px; border-radius:6px; }
.st-live         { background:#d8f5c0; padding:4px 10px; border-radius:6px; font-weight:bold; }
.st-finished     { background:#ffe7b3; padding:4px 10px; border-radius:6px; }
.st-archived     { background:#ffd65c; padding:4px 10px; border-radius:6px; }

.map-btn {
    display:inline-block;
    padding:6px 12px;
    background:#1abc9c;
    color:white!important;
    border-radius:6px;
    text-decoration:none;
    font-size:14px;
}
.map-btn:hover { background:#159a80; }

.map-disabled {
    display:inline-block;
    padding:6px 12px;
    background:#cccccc;
    color:#666;
    border-radius:6px;
    font-size:14px;
}
.logo-cell img { width:80px; height:80px; object-fit:contain; }

.button-results {
    display:inline-block;
    padding:8px 14px;
    background:#004070;
    color:white!important;
    border-radius:6px;
    text-decoration:none;
}
.button-results:hover { background:#002f4e; }

.lang-switch { text-align:center; margin-bottom:10px; font-size:17px; }
.lang-switch a { color:#004070; text-decoration:none; padding:4px 8px; }
.lang-switch .active { font-weight:bold; text-decoration:underline; }
/* reports_public.css — SAFE OVERRIDES */
/* Этот файл НЕ управляет хедером 
.report-menu-wrapper,
.menu-right,
.menu-left {
    all: unset;
}*/
@media (max-width: 768px) {
body {
font-size: 16px;
}

table {
font-size: 15px;
}

th, td {
padding: 8px 6px;
}

h2 {
font-size: 18px;
}
}
.team-photos {
    margin: 15px auto;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    max-width: 100%;
}

.team-photos img {
    max-height: 140px;
    border-radius: 8px;
    display: block;
}

/* Public tournament portal: visually separate future/current and finished cards. */
body.tournaments-page .tournament-card:has(.st-reg),
body.tournaments-page .tournament-card:has(.st-draw),
body.tournaments-page .tournament-card:has(.st-live) {
    border-color: rgba(34, 163, 109, .72) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,255,250,.96)) !important;
    box-shadow: 0 14px 34px rgba(20, 130, 92, .13) !important;
}

body.tournaments-page .tournament-card:has(.st-reg):hover,
body.tournaments-page .tournament-card:has(.st-draw):hover,
body.tournaments-page .tournament-card:has(.st-live):hover {
    border-color: rgba(19, 132, 88, .88) !important;
    box-shadow: 0 24px 46px rgba(20, 130, 92, .19) !important;
}

body.tournaments-page .tournament-card:has(.st-finished),
body.tournaments-page .tournament-card:has(.st-archived) {
    border-color: rgba(148, 163, 184, .64) !important;
    background:
        linear-gradient(180deg, rgba(248,250,252,.97), rgba(241,245,249,.93)) !important;
    box-shadow: 0 10px 24px rgba(70, 85, 105, .08) !important;
}

body.tournaments-page .tournament-card:has(.st-finished) .tournament-name,
body.tournaments-page .tournament-card:has(.st-archived) .tournament-name {
    color: #334155 !important;
}

body.tournaments-page .tournament-card:has(.st-finished) .tournament-logo,
body.tournaments-page .tournament-card:has(.st-archived) .tournament-logo {
    box-shadow: 0 8px 18px rgba(70, 85, 105, .08) !important;
}

body.tournaments-page .tournament-card.tournament-card--flagship,
body.tournaments-page .tournament-card.tournament-card--flagship:hover,
body.tournaments-page .tournament-card.tournament-card--flagship:has(.st-reg),
body.tournaments-page .tournament-card.tournament-card--flagship:has(.st-reg):hover,
body.tournaments-page .tournament-card.tournament-card--flagship:has(.st-draw),
body.tournaments-page .tournament-card.tournament-card--flagship:has(.st-draw):hover,
body.tournaments-page .tournament-card.tournament-card--flagship:has(.st-live),
body.tournaments-page .tournament-card.tournament-card--flagship:has(.st-live):hover {
    border-color: rgba(244, 197, 66, .88) !important;
    background:
        radial-gradient(circle at 86% 12%, rgba(244, 197, 66, .25), transparent 22rem),
        linear-gradient(135deg, rgba(6, 27, 58, .98), rgba(10, 71, 148, .94)) !important;
    box-shadow: 0 26px 64px rgba(6, 27, 58, .25) !important;
}

/* WC public championship results facelift. Scoped through existing wc_results.php markup. */
body:has(.wc-wrap .wc-head) {
    margin: 0;
    color: #10284d;
    background:
        radial-gradient(circle at 12% -8%, rgba(11, 94, 215, .23), transparent 30rem),
        radial-gradient(circle at 88% 0%, rgba(25, 167, 206, .16), transparent 34rem),
        linear-gradient(180deg, #eaf6ff 0%, #f7fbff 34%, #eef6ff 100%);
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

body:has(.wc-wrap .wc-head)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255,255,255,.32) 25%, transparent 25%) 0 0 / 34px 34px,
        linear-gradient(315deg, rgba(255,255,255,.22) 25%, transparent 25%) 0 0 / 34px 34px;
    opacity: .26;
}

.wc-wrap {
    width: min(100% - 32px, 1280px) !important;
    max-width: 1280px !important;
    padding: 0 0 42px !important;
}

.wc-wrap .report-menu-wrapper {
    box-sizing: border-box;
    width: fit-content !important;
    max-width: calc(100% - 32px) !important;
    min-height: 58px;
    margin: 12px auto 24px !important;
    padding: 8px 12px !important;
    gap: 10px !important;
    border: 1px solid rgba(151, 190, 224, .64);
    border-radius: 18px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 12px 28px rgba(15, 72, 128, .08);
    backdrop-filter: blur(10px);
}

.wc-wrap .public-logo {
    display: block;
    flex: 0 0 auto;
    width: 56px;
    height: 38px;
    background: url('/API/logos/israfish_logo_transparent.png') center/contain no-repeat;
}

.wc-wrap .public-logo img {
    width: 56px !important;
    height: 38px !important;
    max-width: none;
    object-fit: contain;
    opacity: 0;
}

.wc-wrap .menu-center,
.wc-wrap .wc-nav {
    gap: 8px !important;
}

.wc-wrap .menu-btn,
.wc-wrap .wc-nav a,
.wc-wrap .wc-nav span,
.wc-wrap .snapshot-nav-table a,
.wc-wrap .snapshot-nav-table span,
.wc-wrap .snapshot-nav-mobile a,
.wc-wrap .snapshot-nav-mobile span {
    box-sizing: border-box;
    min-height: 38px;
    padding: 10px 14px !important;
    border: 1px solid #0a478f;
    border-radius: 11px !important;
    background: #0a478f !important;
    color: #fff !important;
    font-family: inherit;
    font-size: 13px !important;
    font-weight: 800;
    line-height: 16px;
    text-decoration: none !important;
    box-shadow: 0 8px 16px rgba(6, 27, 58, .09);
}

.wc-wrap .menu-btn:hover,
.wc-wrap .wc-nav a:hover,
.wc-wrap .snapshot-nav-table a:hover,
.wc-wrap .snapshot-nav-mobile a:hover {
    border-color: #061b3a;
    background: #061b3a !important;
}

.wc-wrap .menu-btn.active,
.wc-wrap .wc-nav .active,
.wc-wrap .snapshot-nav-table .active,
.wc-wrap .snapshot-nav-mobile .active {
    border-color: rgba(122, 177, 225, .72);
    background: #ffffff !important;
    color: #061b3a !important;
    opacity: 1;
    box-shadow: none;
}

.wc-wrap .menu-btn.disabled {
    border-color: #cbd5e1 !important;
    background: #e2e8f0 !important;
    color: #64748b !important;
    box-shadow: none;
}

.wc-wrap .menu-right {
    position: static !important;
    width: auto;
    display: flex;
    align-items: center;
    gap: 6px !important;
    margin-left: 2px;
    font-size: 0;
}

.wc-wrap .menu-right span {
    display: none;
}

.wc-wrap .lang-btn {
    box-sizing: border-box;
    min-width: 42px;
    min-height: 36px;
    padding: 9px 11px;
    border: 1px solid rgba(122, 177, 225, .72);
    border-radius: 11px;
    background: #ffffff;
    color: #061b3a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 16px;
    text-align: center;
    text-decoration: none !important;
}

.wc-wrap .lang-btn.active {
    border-color: #0a478f;
    background: #0a478f;
    color: #fff !important;
    text-decoration: none !important;
}

.wc-wrap .wc-head {
    max-width: 860px;
    margin: 18px auto 18px !important;
    padding: 24px 28px !important;
    border: 1px solid rgba(151, 190, 224, .68) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 18px 42px rgba(6, 27, 58, .11) !important;
    backdrop-filter: blur(8px);
}

.wc-wrap .wc-head h1 {
    margin: 0 0 10px !important;
    color: #061b3a;
    font-size: clamp(25px, 3vw, 36px) !important;
    font-weight: 800;
    line-height: 1.15 !important;
    letter-spacing: -.025em;
}

.wc-wrap .wc-meta {
    color: #667b96 !important;
    font-size: 14px !important;
}

.wc-wrap .wc-meta a {
    color: #0a478f !important;
    font-weight: 800;
    text-decoration: none;
}

.wc-wrap .wc-meta a:hover {
    text-decoration: underline;
}

.wc-wrap .wc-nav-wrap,
.wc-wrap .snapshot-nav-wrap {
    margin: 14px 0 20px !important;
}

.wc-wrap .snapshot-nav-table {
    border-spacing: 9px 10px !important;
}

.wc-wrap .snapshot-nav-table .menu-btn,
.wc-wrap .snapshot-nav-table a,
.wc-wrap .snapshot-nav-table span {
    min-width: 138px !important;
}

.wc-wrap .result-table {
    width: max-content !important;
    max-width: 100% !important;
    margin: 26px auto 28px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(137, 180, 222, .62) !important;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(6, 27, 58, .11);
    font-family: inherit;
    font-size: 14px;
}

.wc-wrap .result-table th {
    padding: 11px 13px !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    background: linear-gradient(180deg, #07518d, #064775) !important;
    color: #fff;
    font-size: 13px !important;
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.25;
}

.wc-wrap .result-table th:first-child {
    border-top-left-radius: 15px;
}

.wc-wrap .result-table th:last-child {
    border-top-right-radius: 15px;
    border-right: 0 !important;
}

.wc-wrap .result-table td {
    padding: 9px 13px !important;
    border: 0 !important;
    border-right: 1px solid #edf1f4 !important;
    border-bottom: 1px solid rgba(137, 180, 222, .48) !important;
    color: #10284d;
    background: transparent;
    line-height: 1.3;
}

.wc-wrap .result-table td:last-child {
    border-right: 0 !important;
}

.wc-wrap .result-table tr:last-child td {
    border-bottom: 0 !important;
}

.wc-wrap .result-table tr:nth-child(even) {
    background: #f8fafb;
}

.wc-wrap .result-table .row-top1,
.wc-wrap .result-table tr.row-top1 {
    background: #fff3cf !important;
}

.wc-wrap .result-table .row-top2,
.wc-wrap .result-table tr.row-top2 {
    background: #edf3f8 !important;
}

.wc-wrap .result-table .row-top3,
.wc-wrap .result-table tr.row-top3 {
    background: #f8e7d9 !important;
}

.wc-wrap .result-table .row-israel,
.wc-wrap .result-table tr.row-israel {
    background: #e8f8ef !important;
}

.wc-wrap .result-table tr.row-top1 td:first-child,
.wc-wrap .result-table tr.row-top2 td:first-child,
.wc-wrap .result-table tr.row-top3 td:first-child {
    border-left: 4px solid #d7a916 !important;
    font-weight: 800;
}

.wc-wrap .result-table tr.row-top2 td:first-child { border-left-color: #9aaab5 !important; }
.wc-wrap .result-table tr.row-top3 td:first-child { border-left-color: #b87545 !important; }

.wc-wrap .wc-flag {
    width: 20px !important;
    height: 14px !important;
    margin-right: 8px !important;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10);
}

.wc-wrap .wc-msg {
    max-width: 900px;
    margin: 18px auto !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(151, 190, 224, .68) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.92) !important;
    color: #667b96;
    box-shadow: 0 10px 24px rgba(15, 72, 128, .08);
}

.wc-wrap h3 {
    margin: 24px 0 8px !important;
    color: #061b3a;
    font-size: 20px;
    text-align: center;
}

@media (max-width: 900px) {
    .wc-wrap {
        width: calc(100% - 24px) !important;
    }

    .wc-wrap .report-menu-wrapper {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        padding: 10px 12px !important;
    }
}

@media (max-width: 768px) {
    .wc-wrap .public-logo {
        margin: 0 auto;
    }

    .wc-wrap .menu-center {
        width: 100%;
    }

    .wc-wrap .menu-btn,
    .wc-wrap .wc-nav a,
    .wc-wrap .wc-nav span,
    .wc-wrap .snapshot-nav-mobile a,
    .wc-wrap .snapshot-nav-mobile span {
        flex: 1 1 135px;
        text-align: center;
    }

    .wc-wrap .wc-head {
        padding: 18px 16px !important;
    }

    .wc-wrap .wc-head h1 {
        font-size: 24px !important;
    }

    .wc-wrap .result-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
