:root {
    --status-draft:      #6c757d;
    --status-in-review:  #0d6efd;
    --status-approved:   #198754;
    --status-rejected:   #dc3545;
    --status-withdrawn:  #fd7e14;
    --status-commented:  #e09b00;
}

body { background-color: #f0f2f5; }
.navbar-brand { font-weight: 700; letter-spacing: 0.5px; }
.flash-container { margin-top: 1rem; }

.x-small { font-size: 0.76rem; }

tr[data-href] { cursor: pointer; }
tr[data-href]:hover td { background-color: rgba(13, 110, 253, 0.04); }

/* Статусные бейджи */
.badge-draft     { background-color: var(--status-draft);     color: #fff; }
.badge-in_review { background-color: var(--status-in-review); color: #fff; }
.badge-approved  { background-color: var(--status-approved);  color: #fff; }
.badge-rejected  { background-color: var(--status-rejected);  color: #fff; }
.badge-withdrawn { background-color: var(--status-withdrawn); color: #fff; }
.badge-commented { background-color: var(--status-commented); color: #fff; }

/* Панель комплектности документов */
.doc-checklist .doc-ok   { color: var(--status-approved); }
.doc-checklist .doc-miss { color: var(--status-rejected); }

/* Таблицы */
.table-sm td, .table-sm th { vertical-align: middle; }

/* Таблица заявок */
.payments-table thead tr {
    background-color: #1e2a3a;
    color: #c8d6e5;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.payments-table thead th { border: none; padding: 0.6rem 0.75rem; }
.payments-table tbody td { padding: 0.5rem 0.75rem; vertical-align: middle; border-color: #e9ecef; }
.payments-table .col-date { width: 80px; white-space: nowrap; }
.payments-table .col-appr { width: 200px; }

/* Согласование — строки участников */
.appr-row { display: flex; align-items: center; gap: 5px; font-size: 0.77rem; padding: 1px 0; }
.appr-role  { color: #888; width: 58px; flex-shrink: 0; font-size: 0.72rem; }
.appr-label { flex: 1; }
.appr-time  { color: #aaa; font-size: 0.72rem; white-space: nowrap; }

.appr-sent     .appr-label { color: #0d6efd; }
.appr-approved .appr-label { color: #198754; font-weight: 500; }
.appr-commented .appr-label { color: var(--status-commented); font-weight: 500; }
.appr-rejected .appr-label { color: #dc3545; font-weight: 500; }
.appr-withdrawn .appr-label { color: #888; }

/* Прогресс-полоска согласований (карточка заявки) */
.approval-track { display: flex; gap: .5rem; flex-wrap: wrap; }
.approval-item  { padding: .25rem .6rem; border-radius: .375rem; font-size: .82rem; font-weight: 500; border: 1px solid transparent; }

/* Карточки */
.card { border-radius: 0.5rem; }
