/* css/v5-grid.css */

/* ============================================================
   GRID — сетки
   ============================================================ */

.v5-grid {
    display: grid;
    gap: var(--v5-gap-normal);
    padding: var(--v5-padding);
}

.v5-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.v5-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.v5-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

.v5-grid-auto-fill {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.v5-grid-auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.v5-grid-fill {
    height: 100%;
    min-height: 0;
    align-items: stretch;
    overflow: hidden;
}

/* ============================================================
   GRID — специфичные раскладки
   ============================================================ */

/* Доступ / кнопки / нет доступа — три колонки */
.v5-grid-cols-section-center-section {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--v5-gap-normal);
    padding: var(--v5-padding);
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Центральный блок с кнопками — вертикально */
.v5-grid-center-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--v5-gap-normal);
    flex-shrink: 0;
}

/* Отчёты: 3 колонки в ландшафте, 1 в портрете */
.v5-grid--reports {
    grid-template-columns: repeat(3, 1fr);
}

/* Список отчётов внутри секции */
.v5-report-list {
    display: flex;
    flex-direction: column;
    gap: var(--v5-gap-normal);
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
}

/* Тонкий вертикальный скроллбар (ландшафт) */
.v5-report-list::-webkit-scrollbar {
    width: var(--v5-scrollbar-width);
    height: var(--v5-scrollbar-height);
}

.v5-report-list::-webkit-scrollbar-track {
    background: transparent;
}

.v5-report-list::-webkit-scrollbar-thumb {
    background: var(--v5-primary-secondary);
    border-radius: calc(var(--v5-scrollbar-width) / 2);
}

.v5-report-list::-webkit-scrollbar-thumb:hover {
    background: var(--v5-primary-base);
}

@media (orientation: portrait) {
    .v5-grid--reports {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
    overflow: visible;
}

.v5-grid--reports .v5-section--fill {
    height: auto;
    min-height: calc(80px * var(--v5-scale));
}

    /* Тело секции — без своего скролла, скроллит список */
    .v5-grid--reports .v5-frame-body--col {
        overflow: hidden;
    }

    /* Список — горизонтальный, со скроллом по X */
    .v5-report-list {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        min-height: auto;
    }

    /* Карточки не сжимаются */
    .v5-report-list .report-option {
        flex-shrink: 0;
        width: calc(60vmin * var(--v5-scale));
    }
}