/* Дополнения к altairika.css, специфичные для кабинета студий. */

/* Строка под заголовком: вкладки раздела слева, переключатель месяца справа */
.atk-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.atk-toolbar .atk-datepag {
    margin: 0;
}

.atk-datepag__cell.is-disabled {
    color: var(--ink-20);
    pointer-events: none;
}

/* Числовые колонки таблиц */
.atk-tbl td.atk-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ---------- Технический режим ----------
   ЛК студий — рабочий инструмент, а не витрина: убираем крупную
   типографику Asgard, уплотняем отступы. */

.atk-page {
    padding: 24px 32px;
}

.atk-page__head {
    align-items: baseline;
    padding-bottom: 14px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--ink-15);
}

.atk-page__title {
    font-family: "Onest", system-ui, sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}

.atk-page__title small {
    font-size: inherit;
    font-weight: 400;
    color: var(--ink-40);
}

/* ---------- Элементы страниц кабинета ---------- */

.atk-h2 {
    font-size: 16px;
    font-weight: 600;
    margin: 32px 0 12px;
}

.atk-muted {
    color: var(--ink-60);
    font-size: 14px;
}

/* Простое сообщение (у .atk-callout обязательная колонка под иконку) */
.atk-note {
    padding: 12px 16px;
    margin-bottom: 20px;
    border-left: 3px solid var(--ink-40);
    background: var(--paper-2);
    font-size: 14px;
}

.atk-note.is-error {
    border-left-color: var(--crimson);
    background: var(--crimson-50);
}

/* Подвал страницы: ссылка на пересчёт кеша */
.atk-page-foot {
    margin-top: 16px;
    text-align: right;
}

.atk-cache-link {
    font-family: var(--font-label);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-40);
}

/* Ячейки таблиц */
.atk-id {
    color: var(--ink-40);
    font-variant-numeric: tabular-nums;
}

.atk-sub {
    font-size: 12px;
    color: var(--ink-60);
    margin-top: 2px;
}

.atk-missing {
    color: var(--crimson);
}

.atk-tbl th.atk-num {
    text-align: right;
}

.atk-tbl .atk-col-num {
    width: 56px;
    color: var(--ink-40);
}

/* Таблица с группировкой по месяцам: в свёрнутой группе видна только первая строка */
.atk-grouped .atk-group__title td {
    background: var(--paper-2);
    font-weight: 600;
}

.atk-grouped .atk-group__extra {
    display: none;
}

.atk-grouped .atk-group.is-open .atk-group__extra {
    display: table-row;
}

.atk-group__total td {
    font-weight: 600;
    border-top: 1px solid var(--ink-15);
}

.atk-group__toggle {
    border: 1px solid var(--ink-15);
    background: var(--white);
    padding: 2px 8px;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.atk-group__toggle:hover {
    border-color: var(--violet);
    color: var(--violet);
}

.atk-group__toggle .when-open,
.atk-group.is-open .atk-group__toggle .when-closed {
    display: none;
}

.atk-group.is-open .atk-group__toggle .when-open {
    display: inline;
}

/* Карточка фильтров и форма периода */
.atk-filters-card {
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
}

.atk-period-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.atk-field {
    display: grid;
    gap: 6px;
    margin: 0;
}

.atk-field .atk-input,
.atk-field .atk-select {
    min-width: 180px;
}

/* Разбивка итогов: строки .atk-dl обёрнуты в div */
.atk-dl > div {
    display: contents;
}

.atk-dl > div.is-admin dt::after {
    content: " · admin";
    color: var(--yellow);
}

/* Админский блок «игнорирование статистики» */
.atk-admin-box {
    display: grid;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 16px;
    background: var(--paper-2);
    border-left: 3px solid var(--yellow);
    font-size: 14px;
}

.atk-admin-box__mode .atk-filters__label {
    margin-right: 8px;
}

.atk-admin-box__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 32px;
    margin: 0;
}

.atk-admin-box__stats dt {
    font-family: var(--font-label);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-60);
}

.atk-admin-box__stats dd {
    margin: 0;
    font-weight: 600;
}

/* Вход */
.atk-login {
    max-width: 420px;
    margin: 48px auto;
}

.atk-login .atk-page__title {
    margin-bottom: 4px;
}

.atk-login__hint {
    color: var(--ink-60);
    margin: 0 0 20px;
}

.atk-login .atk-input {
    width: 100%;
}

/* Тулбар без вкладок: переключатель месяца прижимаем вправо */
.atk-toolbar.is-end {
    justify-content: flex-end;
}

/* ---------- Меню продуктов в шапке ----------
   Шапка и скин меню — в admin-header.css (копия из админки stvr2-web).
   Здесь только то, что в админке даёт CSS Bootstrap 5 (в кабинете он не подключён),
   и дополнения кабинета. Выпадение — bootstrap.bundle.js. */

.atk-admin-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.atk-admin-nav .dropdown {
    position: relative;
}

.atk-admin-nav .nav-link {
    display: block;
    text-decoration: none;
}

.atk-admin-nav .dropdown-toggle::after {
    content: "";
    display: inline-block;
    margin-left: 6px;
    vertical-align: 2px;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.atk-admin-nav .dropdown-menu {
    position: absolute;
    z-index: 1000;
    display: none;
}

.atk-admin-nav .dropdown-menu.show {
    display: block;
}

.atk-admin-nav .dropdown-item {
    display: block;
    white-space: nowrap;
    text-decoration: none;
}

.atk-admin-nav .dropdown-header {
    display: block;
    margin: 0;
    font-family: var(--font-label);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--ink-40);
    padding: 10px 14px 4px;
}

/* Текущий отчёт в меню */
.atk-admin-nav .dropdown-item.active {
    color: var(--violet);
    font-weight: 600;
}

/* Итоговая строка таблицы */
.atk-tbl tr.atk-row-total td {
    font-weight: 600;
    background: var(--paper-2);
}

/* Ширина колонок: данные (числа, даты) не переносятся и занимают ровно своё место,
   всё остальное пространство получает колонка с названием (.atk-col-wide). */
.atk-tbl tbody td {
    white-space: nowrap;
}

.atk-tbl td.atk-col-wide,
.atk-tbl th.atk-col-wide {
    width: 100%;
    min-width: 220px;
    white-space: normal;
    text-align: left;
}

/* Сводная табличка итогов (Summary): по ширине содержимого */
.atk-summary {
    display: inline-block;
    min-width: 420px;
    max-width: 100%;
}

.atk-summary .atk-tbl td {
    padding: 8px 14px;
    text-align: left;
}

.atk-summary .atk-tbl td.atk-num {
    text-align: right;
    padding-left: 48px;
}

.atk-summary tr.is-admin td:first-child::after {
    content: " · admin";
    color: var(--yellow);
}

.atk-summary tr.atk-row-total.is-first td {
    border-top: 1px solid var(--ink);
}

/* Выход из режима «смотреть глазами студии» (крестик в плашке пользователя) */
.atk-admin-user__reset {
    margin-left: 4px;
    padding: 0 4px;
    color: var(--ink-60);
    text-decoration: none;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    line-height: 1;
}

.atk-admin-user__reset:hover {
    color: var(--crimson);
    text-decoration: none;
}

/* Метка типа контента в ячейке (например «интерактив») */
.atk-tag {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    font-family: var(--font-label);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--violet);
    border: 1px solid var(--violet-100);
    background: var(--violet-soft);
    vertical-align: 1px;
}
