/* ═══════════════════════════════════════════════════════════════
   Risks V2 — реестр рисков
   Извлечено из checklist_operational.css строки 6644–6893
   ═══════════════════════════════════════════════════════════════ */

/* ===== RISKS V2 ===== */
.risks-v2-wrap {
    padding: 20px 32px 32px;
}
.risks-v2-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: var(--space-2);
}
.risks-v2-plan-filter { gap: var(--space-2); }
/* .risks-v2-plan-select: алиас,
унифицирован через .system-select из tokens.css */
.risk-v2-task-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--color-primary);
    cursor: pointer;
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    background: var(--color-primary-25);
    border: 1px solid var(--color-primary-50);
    white-space: normal;
    max-width: 120px;
    overflow: hidden;
    transition: background 0.15s;
}
.risk-v2-task-link:hover { background: var(--color-primary-50); }
.risks-v2-btn-add {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-lg);
    padding: 8px 16px;
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    font-family: inherit;
    box-shadow: none;
}
.risks-v2-btn-add:hover {
    background: var(--color-primary-hover);
    box-shadow: 0 2px 6px rgba(62, 60, 89, 0.22);
}
.risks-v2-btn-sort {
    background: white;
    color: var(--color-text-strong);
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 8px 16px;
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
}
.risks-v2-btn-sort:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--color-primary-20);
}
.risks-v2-status {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    font-weight: 500;
}
.risks-v2-card {
    background: white;
    border-radius: var(--radius-2xl);
    box-shadow: 0 4px 24px rgba(15,23,42,0.08);
    overflow: hidden;
}
.risks-v2-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.risks-v2-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
}
.risks-v2-table thead th {
    background: #f8f9fa;
    color: var(--color-text-secondary);
    padding: var(--space-3);
    text-align: left;
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-border);
    white-space: nowrap;
}
.risks-v2-table tbody td {
    padding: var(--space-3);
    border-bottom: 1px solid var(--color-gray-100);
    font-size: var(--text-sm);
    vertical-align: middle;
    color: var(--color-text);
}
.risks-v2-table tbody tr:last-child td {
    border-bottom: none;
}
.risks-v2-table tbody tr:hover td {
    background: #fafbff;
}
/* Левый цветной бордер вместо окрашенной строки */
.risks-v2-table tbody tr td:first-child {
    padding-left: 10px;
}
.risk-v2-p-critical td:first-child { box-shadow: inset 4px 0 0 var(--color-danger-600); }
.risk-v2-p-high     td:first-child { box-shadow: inset 4px 0 0 var(--color-warning); }
.risk-v2-p-med      td:first-child { box-shadow: inset 4px 0 0 var(--color-primary-400); }
.risk-v2-p-low      td:first-child { box-shadow: inset 4px 0 0 var(--color-success-500); }

/* Drag */
.risks-v2-table tbody tr.dragging { opacity: 0.3; }
.risks-v2-table tbody tr.drag-over-top td { border-top: 2px solid var(--color-primary); }

/* Priority badge select */
.risk-v2-priority-sel {
    border: none;
    border-radius: var(--radius-3xl);
    padding: 4px 8px;
    font-size: var(--text-xs);
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    text-align: center;
    outline: none;
}
.risk-v2-priority-sel.p-critical { background: var(--color-danger-50); color: var(--color-danger-600); }
.risk-v2-priority-sel.p-high { background: var(--color-warning-50); color: #d97706; }
.risk-v2-priority-sel.p-med { background: var(--color-primary-50); color: var(--color-primary-strong); }
.risk-v2-priority-sel.p-low { background: #d1fae5; color: #059669; }

/* Status badge */
.risk-v2-status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: var(--radius-3xl);
    font-size: var(--text-xs);
    font-weight: 600;
}
.risk-v2-status-active { background: var(--color-danger-50); color: var(--color-danger-600); }
.risk-v2-status-monitor { background: var(--color-warning-50); color: #d97706; }
.risk-v2-status-accepted { background: var(--color-primary-50); color: var(--color-primary-strong); }
.risk-v2-status-closed { background: #f0fdf4; color: #16a34a; }

/* Status select */
.risk-v2-status-sel {
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 4px 8px;
    font-size: var(--text-xs);
    font-weight: 500;
    background: white;
    cursor: pointer;
    font-family: inherit;
    color: var(--color-text-strong);
    outline: none;
}
.risk-v2-status-sel:focus { border-color: var(--color-primary); }

/* Phase tag */
.risk-v2-phase-tag {
    background: var(--color-primary-25);
    color: var(--color-primary-strong);
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    white-space: nowrap;
}

/* Prob / impact */
.risk-v2-prob-sel {
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 3px 8px;
    font-size: var(--text-xs);
    background: white;
    cursor: pointer;
    font-family: inherit;
    color: var(--color-text-strong);
    outline: none;
}
.risk-v2-prob-sel:focus { border-color: var(--color-primary); }
.risk-v2-editable-cell { cursor: text; }
.risk-v2-editable-cell:hover { background: var(--color-primary-20) !important; }
.risk-v2-editable-cell input {
    width: 100%;
    border: 1.5px solid var(--color-primary);
    border-radius: var(--radius-sm);
    padding: 4px 8px;
    font-size: var(--text-sm);
    font-family: inherit;
    outline: none;
    box-shadow: 0 0 0 3px rgba(62, 60, 89,0.12);
    background: white;
}

/* Delete btn */
.risk-v2-del-btn {
    width: 26px;
    height: 26px;
    border-radius: var(--radius-md);
    border: 1.5px solid var(--color-border);
    background: white;
    color: var(--color-gray-400);
    font-size: var(--text-base);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-0);
    transition: all 0.18s;
    line-height: 1;
}
.risk-v2-del-btn:hover {
    border-color: var(--color-danger-600);
    color: var(--color-danger-600);
    background: #fff5f5;
}

/* ID cell */
.risk-v2-id {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    font-weight: 600;
    font-family: monospace;
}

@media (max-width: 768px) {
    .risks-v2-wrap { padding: var(--space-3); }
    .risks-v2-table thead th,
.risks-v2-table tbody td { padding: var(--space-2); font-size: var(--text-xs); }
}

