/* V2 — локальні налаштування ширини колонок і висоти рядків. */

.v2-tablewrap .v2-tbl th {
    --v2-table-cell-padding-y: var(--s-3);
}

[data-v2-density="compact"] .v2-tablewrap .v2-tbl th {
    --v2-table-cell-padding-y: var(--s-2);
}

.v2-tablewrap .v2-tbl td {
    --v2-table-cell-padding-y: var(--row-padding-y);
}

.v2-tablewrap[data-v2-rows="normal"] .v2-tbl th,
.v2-tablewrap[data-v2-rows="normal"] .v2-tbl td {
    padding-top: calc(var(--v2-table-cell-padding-y) + 3px);
    padding-bottom: calc(var(--v2-table-cell-padding-y) + 3px);
}

.v2-tablewrap[data-v2-rows="roomy"] .v2-tbl th,
.v2-tablewrap[data-v2-rows="roomy"] .v2-tbl td {
    padding-top: calc(var(--v2-table-cell-padding-y) + 7px);
    padding-bottom: calc(var(--v2-table-cell-padding-y) + 7px);
}

.v2-tbl thead th.v2-col-resizable {
    overflow: visible;
}

.v2-col-resize-handle {
    position: absolute;
    z-index: 4;
    top: 0;
    /* Усередині свого заголовка: сусідній липкий th малюється пізніше й
       перекрив би ручку, що виступає за край (27.09.2026). */
    right: 0;
    width: 7px;
    height: 100%;
    cursor: col-resize;
    touch-action: none;
}

.v2-col-resize-handle::after {
    position: absolute;
    top: 2px;
    bottom: 2px;
    right: 0;
    width: 2px;
    background: var(--border-strong);
    content: "";
    opacity: 0;
    transition: opacity .1s, background-color .1s;
}

.v2-tbl thead th:hover > .v2-col-resize-handle::after,
.v2-col-resize-handle:hover::after,
.v2-tbl.is-column-resizing .v2-col-resize-handle::after {
    opacity: 1;
}

.v2-col-resize-handle:hover::after,
.v2-tbl.is-column-resizing .v2-col-resize-handle::after {
    width: 2px;
    background: var(--accent);
}

body.v2-col-resizing,
body.v2-col-resizing * {
    cursor: col-resize;
    user-select: none;
}

.v2-table-view-section input[type="radio"] {
    margin: 0;
    accent-color: var(--accent);
}

.v2-table-view-reset {
    width: 100%;
    border: 0;
    background: transparent;
    font: inherit;
    text-align: left;
}

/* Shared late overrides also cover registries with older page-local wrapping rules. */
body.v2-shell .v2-tablewrap .v2-tbl td,
body.v2-shell .v2-tablewrap .v2-tbl td * {
    overflow-wrap: normal;
    word-break: normal;
}

body.v2-shell .v2-tbl thead th .v2-header-text {
    display: inline-block;
    max-height: 2.4em;
    line-height: 1.2;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
    vertical-align: middle;
}

.v2-tbl thead th .v2-colfilter-host {
    flex: 0 0 auto;
}

body.v2-shell .v2-tablewrap .v2-tbl td .v2-badge {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Поки ширини колонок не налаштовані вручну, довгий бейдж (тип заяви тощо) не
   забирає місце в ПІБ: до 216 px, повна назва - у підказці. Розширена вручну
   колонка показує бейдж повністю (правки 06.10). 180 px рахували під 10 px;
   216 = 180 x 12/10 - та сама кількість літер після переходу на 12 px (07.10). */
body.v2-shell .v2-tablewrap .v2-tbl:not(.v2-tbl-sized) td .v2-badge {
    max-width: 216px;
}

.v2-tbl td .v2-badge-dot {
    position: relative;
    top: -0.12em;
    margin-right: 5px;
    /* «middle» ставить крапку по середині малих літер - на ~1 px нижче центру позначки;
       підйом на 0,12 em ставить її рівно (власник 06.10, «Очікує»). */
    vertical-align: middle;
}
