/* frontend/css/risk.css — вкладка «Группа риска» */
.risk-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 24px; flex-shrink: 0; }
.risk-kpi { padding: 18px 20px; }
.risk-kpi-value { font-size: 32px; font-weight: 800; color: var(--primary-color); margin-top: 6px; line-height: 1.1; }
.risk-kpi-sub { font-size: 12px; color: var(--text-muted); margin-top: 6px; }
@media (max-width: 1400px) { .risk-kpis { grid-template-columns: repeat(3, 1fr); } }

.risk-settings { margin-bottom: 24px; flex-shrink: 0; }
.risk-settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.risk-settings h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .5px; color: var(--text-muted); margin-bottom: 12px; }
.risk-field { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 13px; }
.risk-field input { width: 80px; padding: 8px 10px; border: 1px solid #CBD5E1; border-radius: 6px; font-size: 14px; text-align: right; background: #F8FAFC; }
.risk-field input:focus { outline: none; border-color: var(--accent-color); background: #FFF; }
.risk-settings-actions { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #E2E8F0; }
.risk-hint-inline { font-size: 12px; color: var(--text-muted); }

.risk-tabs { display: flex; gap: 4px; border-bottom: 2px solid #E2E8F0; margin-bottom: 16px; flex-shrink: 0; flex-wrap: wrap; }
.risk-tab { background: none; border: none; padding: 12px 18px; font-size: 14px; font-weight: 600; color: var(--text-muted); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: .2s; }
.risk-tab:hover { color: var(--text-main); }
.risk-tab.active { color: var(--accent-color); border-bottom-color: var(--accent-color); }
.risk-count { display: inline-block; min-width: 24px; padding: 1px 8px; margin-left: 6px; border-radius: 10px; background: #E2E8F0; color: #334155; font-size: 12px; text-align: center; }
.risk-tab.active .risk-count { background: rgba(59,130,246,.15); color: var(--accent-color); }

.risk-filters { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; flex-shrink: 0; }
.risk-table th { white-space: nowrap; }
.risk-table td { vertical-align: top; }
.risk-table td.num { text-align: center; white-space: nowrap; }
.risk-hint { font-size: 13px; color: var(--text-muted); margin-bottom: 30px; line-height: 1.5; }

.risk-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.risk-critical { background: #FEE2E2; color: #B91C1C; }
.risk-high, .risk-weak { background: #FEF3C7; color: #B45309; }
.risk-watch { background: #E0F2FE; color: #0369A1; }

.risk-score { position: relative; min-width: 90px; height: 24px; background: #F1F5F9; border-radius: 4px; overflow: hidden; }
.risk-score span { position: relative; z-index: 1; display: block; text-align: center; line-height: 24px; font-weight: 700; font-size: 13px; }
.risk-score-bar { position: absolute; left: 0; top: 0; bottom: 0; opacity: .35; }
.risk-score-bar.bad { background: #EF4444; }
.risk-score-bar.warn { background: #F59E0B; }
.risk-score-bar.ok { background: #10B981; }

.risk-flags { list-style: none; font-size: 13px; line-height: 1.45; }
.risk-flags li + li { margin-top: 2px; }

/* ---- прокрутка вкладок ----
   Карточки с overflow:hidden в колонке flex сжимались до высоты экрана и обрезали таблицу.
   Не даём им сжиматься — прокручивается сама вкладка. */
#risk-view > * { flex-shrink: 0; }
/* Пользователи: форма слева, список справа; список прокручивается внутри карточки */
#users-view > div:nth-of-type(2) { min-height: 0; grid-template-rows: minmax(0, 1fr); }
#users-view .flex-card { min-height: 0; }
#users-table th { position: sticky; top: 0; z-index: 2; }

#pullup-view > * { flex-shrink: 0; }
