/* Вид таблиц реестров (Mnu*List) — по образцу реестра актов OrtaBilim.
   Ячейки печатает MnuListCells, класс .bq-ltable на таблицу ставит mnu-list-table.js. */

:root {
    --bq-primary: #006196;
    --bq-link: #1B6E9C;
    --bq-primary-soft: #E5F1F8;
    --bq-primary-soft-bg: #F4FAFD;
    --bq-primary-soft-line: #CFE2EE;
    --bq-primary-soft-line-hover: #9FC9E0;
    --bq-text: #2A2C31;
    --bq-text-muted: #64717E;
    --bq-surface: #FFFFFF;
    --bq-surface-alt: #F7FAFC;
    --bq-surface-hover: #FAFCFD;
    --bq-line: #E4E9F0;
    --bq-line-soft: #EAEFF4;
    --bq-line-hairline: #F2F6F9;
    --bq-ok-bg: #EAF7E4;
    --bq-ok-tx: #2F7A0D;
    --bq-ok-soft: #BFE3AC;
    --bq-wn-bg: #FFF6E0;
    --bq-wn-tx: #9A6B00;
    --bq-dn-bg: #FFECEC;
    --bq-dn-tx: #D4383A;
    --bq-nu-bg: #F1F5F9;
    --bq-lfs: 13.5px;
}

.bq-hidden { display: none !important; }

/* ===== Таблица ===== */

.bq-ltable__scroll {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    background: var(--bq-surface);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(42, 44, 49, .04);
}

/* Вторая полоса прокрутки — над таблицей: пустая дорожка той же ширины, что таблица. */
.bq-ltable__topscroll {
    overflow-x: auto;
    overflow-y: hidden;
    margin: 0 0 6px;
    -webkit-overflow-scrolling: touch;
}
.bq-ltable__topscroll > div { height: 1px; }

/* Полосы прокрутки — видимые всегда: overlay-полосу, которая появляется только
   при наведении, над таблицей никто не находит. Только ::-webkit-scrollbar:
   стандартные scrollbar-width/scrollbar-color в Chromium отключают эти стили. */
.bq-ltable__topscroll::-webkit-scrollbar,
.bq-ltable__scroll::-webkit-scrollbar { height: 10px; }
.bq-ltable__topscroll::-webkit-scrollbar-thumb,
.bq-ltable__scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #C3CEDA;
}
.bq-ltable__topscroll::-webkit-scrollbar-thumb:hover,
.bq-ltable__scroll::-webkit-scrollbar-thumb:hover { background: #9FB0C2; }
.bq-ltable__topscroll::-webkit-scrollbar-track,
.bq-ltable__scroll::-webkit-scrollbar-track { background: var(--bq-line-hairline); border-radius: 5px; }

table.bq-ltable {
    min-width: 100%;
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

/* Шапка: обычный регистр, серым, липнет к верху при прокрутке. */
table.bq-ltable th {
    position: sticky;
    top: 0;
    z-index: 2;
    vertical-align: bottom;
    white-space: normal;
    text-transform: none;
    letter-spacing: 0;
    background: var(--bq-surface);
    border-top: 0;
    border-bottom: 1px solid var(--bq-line);
    padding: 10px 12px;
    font-size: calc(var(--bq-lfs) - 1px);
    font-weight: 500;
    line-height: 1.4;
    color: var(--bq-text-muted);
}

/* Ячейки — по верхней кромке: в строке соседствуют одно- и трёхстрочные значения. */
table.bq-ltable td {
    vertical-align: top;
    padding: 10px 12px;
    border-top: 0;
    border-bottom: 1px solid var(--bq-line-hairline);
    background: transparent;
    font-size: var(--bq-lfs);
    line-height: 1.5;
    color: var(--bq-text);
}

table.bq-ltable tbody tr:last-child td { border-bottom: 0; }
table.bq-ltable tbody tr:hover td { background: var(--bq-surface-hover); }

/* Штатные колонки ядра: ссылка цветом, без подчёркивания в покое. */
table.bq-ltable td a:not(.btn):not(.bq-lopen__btn) {
    color: var(--bq-link);
    text-decoration: none;
}
table.bq-ltable td a:not(.btn):not(.bq-lopen__btn):hover {
    color: var(--bq-primary);
    text-decoration: underline;
}

/* ===== Ячейки ===== */

.bq-lcell { min-width: 0; }
.bq-lcell__main {
    display: block;
    font-size: var(--bq-lfs);
    font-weight: 500;
    line-height: 1.5;
    color: var(--bq-text);
    font-variant-numeric: tabular-nums;
}
.bq-lcell__sub {
    display: block;
    margin-top: 2px;
    font-size: calc(var(--bq-lfs) - 1.5px);
    line-height: 1.5;
    color: var(--bq-text-muted);
    font-variant-numeric: tabular-nums;
}

/* Идентификаторы и короткие значения — одной строкой: перенос по символам
   разбивал бы 18-значный номер на несколько строк. */
.bq-lcell--id .bq-lcell__main,
.bq-lcell--id .bq-lcell__sub,
.bq-lcell--short .bq-lcell__main {
    white-space: nowrap;
}
.bq-lcell--short .bq-lcell__main { font-weight: 400; }

/* Наименования — переносятся по словам, столбец не растёт без предела. */
/* Нижний предел — чтобы на узком экране адрес не сжимался в столбик по слову
   в строке: лучше прокрутка таблицы, чем лесенка из слогов. */
.bq-lcell--text { max-width: 300px; min-width: 160px; }
.bq-lcell--text .bq-lcell__main,
.bq-lcell--text .bq-lcell__sub {
    white-space: normal;
    overflow-wrap: break-word;
}
.bq-lcell--name { max-width: 380px; min-width: 200px; }

/* Число: вправо, ровные разряды. */
.bq-lnum {
    text-align: right;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ===== «Открыть» — первый столбец, единственный переход строки ===== */

table.bq-ltable td.bq-lopen-col,
table.bq-ltable th.bq-lopen-col {
    width: 1%;
    padding-right: 4px;
    white-space: nowrap;
}
.bq-lopen { white-space: nowrap; }
a.bq-lopen__btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px 3px 8px;
    border: 1px solid var(--bq-primary-soft-line);
    border-radius: 6px;
    background: var(--bq-primary-soft-bg);
    font-size: calc(var(--bq-lfs) - 1px);
    font-weight: 500;
    line-height: 1.4;
    color: var(--bq-link);
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
a.bq-lopen__btn > i { font-size: 1.15em; }
a.bq-lopen__btn:hover,
a.bq-lopen__btn:focus-visible {
    border-color: var(--bq-primary);
    background: var(--bq-primary);
    color: #fff;
    text-decoration: none;
    outline: none;
}

/* ===== Копируемое значение — плашкой ===== */

.bq-lcopy {
    position: relative;
    display: inline-block;
    padding: 0 5px;
    border: 1px solid var(--bq-line-soft);
    border-radius: 5px;
    background: var(--bq-surface-alt);
    color: inherit;
    cursor: copy;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.bq-lcell--id .bq-lcell__main > .bq-lcopy:first-child { margin-left: -6px; }
.bq-lcopy:hover,
.bq-lcopy:focus-visible {
    border-color: var(--bq-primary-soft-line-hover);
    background: var(--bq-primary-soft);
    color: var(--bq-primary);
    outline: none;
}
.bq-lcopy.is-copied {
    border-color: var(--bq-ok-soft);
    background: var(--bq-ok-bg);
    color: var(--bq-ok-tx);
}
.bq-lcopy.is-copied::after {
    content: '\2713\00a0' attr(data-bq-copied);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    transform: translateX(-50%);
    z-index: 5;
    padding: 3px 8px;
    border-radius: 6px;
    background: var(--bq-text);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    pointer-events: none;
}

/* ===== Статус — пилюля с точкой ===== */

.bq-lpill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 6px;
    padding: 3px 9px;
    font-size: calc(var(--bq-lfs) - 1px);
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}
.bq-lpill::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex: none;
}
.bq-tone-success { background: var(--bq-ok-bg); color: var(--bq-ok-tx); }
.bq-tone-info    { background: var(--bq-primary-soft); color: #1E6E9C; }
.bq-tone-warn    { background: var(--bq-wn-bg); color: var(--bq-wn-tx); }
.bq-tone-danger  { background: var(--bq-dn-bg); color: var(--bq-dn-tx); }
.bq-tone-neutral { background: var(--bq-nu-bg); color: var(--bq-text-muted); }

/* ===== Переключатель «Карточки | Таблица» ===== */

.bq-lview {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    margin-right: 4px;
    vertical-align: middle;
    border: 1px solid var(--bq-line);
    border-radius: 8px;
    background: var(--bq-surface-alt);
}
.bq-lview__btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--bq-text-muted);
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s ease, color .15s ease;
}
.bq-lview__btn > i { font-size: 15px; }
.bq-lview__btn:hover,
.bq-lview__btn:focus-visible {
    background: var(--bq-surface);
    color: var(--bq-primary);
    text-decoration: none;
    outline: none;
}
.bq-lview__btn.is-active {
    background: var(--bq-surface);
    color: var(--bq-primary);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .08), 0 0 0 1px var(--bq-primary-soft-line);
    cursor: default;
}
