/*
 * Сибербух — свой слой поверх стандартного Filament 5. Без сборки.
 * Цвета берутся из переменных самого Filament (--primary-*, --danger-*,
 * --warning-*, --gray-*), поэтому тёмная тема и палитра панели остаются
 * едиными источником правды.
 */

/* ---- Плотность: строки таблиц компактнее, цифры выровнены по разрядам ---- */

.fi-ta-cell {
    padding-block: 0.5rem;
}

.fi-ta-text,
.fi-ta-cell {
    line-height: 1.35;
}

.sb-num,
.fi-ta-cell .sb-num,
.sb-table .sb-num {
    font-variant-numeric: tabular-nums;
}

/* Подпись под значением колонки (компания под задачей, «через 3 дня» под датой) */
.fi-ta-text-description {
    font-size: 0.75rem;
    line-height: 1.25;
}

/* ---- Срочность: единственное, что в интерфейсе «кричит» ---- */

.fi-ta-row.sb-row-overdue {
    box-shadow: inset 4px 0 0 var(--danger-500);
    background-color: color-mix(in srgb, var(--danger-500) 5%, transparent);
}

.fi-ta-row.sb-row-today {
    box-shadow: inset 4px 0 0 var(--warning-500);
}

.fi-ta-row.sb-row-done .fi-ta-text {
    color: var(--gray-500);
}

/* Заголовки групп на дашборде: «Просрочено», «Сегодня», ... */
.fi-ta-group-header {
    background-color: var(--gray-50);
}

.dark .fi-ta-group-header {
    background-color: color-mix(in srgb, var(--gray-500) 10%, transparent);
}


.fi-ta-group-heading {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* ---- Плитки-счётчики на главной ---- */

.fi-wi-stats-overview-stat-value {
    font-variant-numeric: tabular-nums;
}

.fi-wi-stats-overview-stat[href]:hover,
a.fi-wi-stats-overview-stat:hover {
    outline: 2px solid var(--primary-500);
    outline-offset: -2px;
}

/* ---- Виджет «Сотрудники» (своя разметка) ---- */

.sb-table-wrap {
    overflow-x: auto;
}

.sb-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.sb-table th,
.sb-table td {
    padding: 0.5rem 0.75rem;
    text-align: start;
    border-bottom: 1px solid var(--gray-200);
    white-space: nowrap;
}

.dark .sb-table th,
.dark .sb-table td {
    border-bottom-color: color-mix(in srgb, var(--gray-500) 25%, transparent);
}

.sb-table th {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--gray-500);
}

.sb-table tbody tr:last-child td {
    border-bottom: 0;
}

.sb-table th.sb-num,
.sb-table td.sb-num {
    text-align: end;
}

.sb-link {
    font-weight: 500;
    color: var(--primary-600);
}

.dark .sb-link {
    color: var(--primary-400);
}

.sb-link:hover {
    text-decoration: underline;
}

.sb-count {
    display: inline-block;
    min-width: 2rem;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    font-weight: 600;
    text-align: center;
    background-color: var(--gray-100);
    color: var(--gray-800);
}

.dark .sb-count {
    background-color: color-mix(in srgb, var(--gray-500) 20%, transparent);
    color: var(--gray-200);
}

.sb-count:hover {
    outline: 2px solid var(--primary-500);
    outline-offset: -1px;
}

.sb-count-zero {
    background-color: transparent;
    color: var(--gray-400);
    font-weight: 400;
}

.sb-count-warning {
    background-color: color-mix(in srgb, var(--warning-500) 15%, transparent);
    color: var(--warning-700);
}

.dark .sb-count-warning {
    color: var(--warning-400);
}

.sb-count-danger {
    background-color: color-mix(in srgb, var(--danger-500) 12%, transparent);
    color: var(--danger-700);
}

.dark .sb-count-danger {
    color: var(--danger-400);
}

.sb-text-danger {
    color: var(--danger-600);
    font-weight: 600;
}

.sb-muted {
    color: var(--gray-500);
    font-size: 0.875rem;
}

/* ---- Шапка страницы: заголовки чуть спокойнее, чем в стандарте ---- */

.fi-header-heading {
    font-size: 1.375rem;
    letter-spacing: -0.01em;
}

/* ---- Формы ---- */

/* Выделенный блок главного действия формы (поиск по ЕГРЮЛ в организации) */
.sb-section-accent .fi-section {
    border-color: color-mix(in srgb, var(--primary-500) 45%, transparent);
    background-color: color-mix(in srgb, var(--primary-500) 4%, transparent);
}

/* Суммы в смете: разряды выровнены, итог заметен */
.sb-money .fi-in-text {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sb-total {
    justify-self: end;
    text-align: end;
}

.sb-total .fi-in-text {
    font-size: 1.125rem;
    font-weight: 600;
}

/* --- Логотип: знак + слово. Слово шрифтом панели, цвет наследуется из темы. --- */
.sb-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    line-height: 1;
}

.sb-brand__mark {
    width: 1.85em;
    height: 1.85em;
    flex: none;
    border-radius: 0.42em;
}

.sb-brand__word {
    font-size: 1.12em;
    font-weight: 650;
    letter-spacing: -0.015em;
    color: rgb(24 24 27);
}

.sb-brand__word-accent {
    color: #2563eb;
}

.dark .sb-brand__word {
    color: rgb(250 250 250);
}

.dark .sb-brand__word-accent {
    color: #60a5fa;
}

/* На странице входа логотип крупнее и стоит по центру. */
.fi-simple-main .sb-brand {
    gap: 0.7rem;
}

.fi-simple-main .sb-brand__word {
    font-size: 1.6em;
}
