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;
}
