/* Сводка за месяц (ae001).
 *
 * В MPI страницы не было: был iframe с посторонним бандлом и своей таблицей
 * стилей, не знавшей тем оболочки. Здесь всё на токенах — светлая и тёмная
 * темы получаются сами. */

.ae001-page .ae001-shell {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
}

.ae001-page .ae001-head {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.ae001-page .ae001-title {
    margin: 0;
    font-size: var(--font-size-lg);
    color: var(--color-text-primary);
}

.ae001-page .ae001-note {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    max-width: 70ch;
}

.ae001-page .ae001-controls {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.ae001-page .ae001-controls__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
}

.ae001-page .ae001-controls__select {
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-text-primary);
    font-size: var(--font-size-sm);
}

.ae001-page .ae001-controls__state {
    font-size: var(--font-size-sm);
    color: var(--color-text-tertiary);
}

.ae001-page .ae001-message {
    max-width: 80ch;
}

.ae001-page .ae001-empty {
    padding: var(--spacing-lg);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
}

/* Таблица шире экрана прокручивается внутри себя, а не тянет страницу. */
.ae001-page .ae001-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

.ae001-page .ae001-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.ae001-page .ae001-table__head-cell {
    position: sticky;
    top: 0;
    background: var(--color-bg-secondary);
    color: var(--color-text-secondary);
    font-weight: 600;
    text-align: left;
    padding: var(--spacing-sm);
    border-bottom: 1px solid var(--color-border);
    white-space: nowrap;
}

.ae001-page .ae001-table__num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    padding: var(--spacing-xs) var(--spacing-sm);
}

.ae001-page .ae001-table__total {
    border-left: 1px solid var(--color-border);
    font-weight: 600;
}

.ae001-page .ae001-table__label {
    padding: var(--spacing-xs) var(--spacing-sm);
    color: var(--color-text-primary);
}

/* Разбивка по организациям — второй уровень: сдвиг делает иерархию видимой
 * без дополнительной колонки. */
.ae001-page .ae001-table__label--nested {
    padding-left: var(--spacing-lg);
    color: var(--color-text-secondary);
}

.ae001-page .ae001-table__row--total {
    background: var(--color-bg-secondary);
    font-weight: 600;
}

.ae001-page .ae001-table__row--result {
    border-top: 2px solid var(--color-border);
}

.ae001-page .ae001-table__row--result.ae001-table__row--total {
    color: var(--color-primary);
}
