/**
 * Исполнитель — страница «Финансы» (Figma node 23815-744820).
 */
.ruqi-finance {
  display: flex;
  flex-direction: column;
  gap: var(--ruqi-space-5, 20px);
}

/* ─── Balance metrics ─────────────────────────────────────── */
.ruqi-finance__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ruqi-space-4, 16px);
}

.ruqi-finance__metrics--single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 420px;
}

.ruqi-finance__metrics--accruals {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: var(--ruqi-space-5, 20px);
}

@media (max-width: 991.98px) {
  .ruqi-finance__metrics--accruals {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .ruqi-finance__metrics {
    grid-template-columns: 1fr;
  }

  .ruqi-finance__metrics--single {
    max-width: none;
  }
}

.ruqi-finance__metric {
  align-items: flex-start;
  background: var(--ruqi-color-bg-surface);
  border: 1px solid var(--ruqi-color-border);
  border-radius: var(--ruqi-radius-lg, 16px);
  box-shadow: var(--ruqi-shadow-card-sm);
  display: flex;
  gap: var(--ruqi-space-4, 16px);
  padding: var(--ruqi-space-5, 20px) var(--ruqi-space-6, 24px);
}

.ruqi-finance__metric--highlight {
  background: linear-gradient(135deg, var(--ruqi-color-bg-auth-gradient-start) 0%, var(--ruqi-color-bg-surface) 72%);
  border-color: var(--ruqi-color-info-border);
}

.ruqi-finance__metric-icon {
  flex-shrink: 0;
  height: 40px;
  opacity: 0.9;
  width: 40px;
}

.ruqi-finance__metric-content {
  min-width: 0;
}

.ruqi-finance__metric-label {
  color: var(--ruqi-color-text-secondary);
  font-size: var(--ruqi-font-size-sm, 14px);
  font-weight: var(--ruqi-font-weight-medium, 500);
  line-height: 1.4;
  margin: 0 0 var(--ruqi-space-2, 8px);
}

.ruqi-finance__metric-value {
  color: var(--ruqi-color-text-primary);
  font-size: 28px;
  font-weight: var(--ruqi-font-weight-bold, 700);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0;
}

.ruqi-finance__metric-value--primary {
  color: var(--ruqi-color-primary);
}

/* ─── Panels ──────────────────────────────────────────────── */
.ruqi-finance__panel {
  background: var(--ruqi-color-bg-surface);
  border: 1px solid var(--ruqi-color-border);
  border-radius: var(--ruqi-radius-lg, 16px);
  box-shadow: var(--ruqi-shadow-card-sm);
  padding: var(--ruqi-space-6, 24px);
}

.ruqi-finance__panel-title {
  color: var(--ruqi-color-text-primary);
  font-size: var(--ruqi-font-size-lg, 18px);
  font-weight: var(--ruqi-font-weight-semibold, 600);
  line-height: 1.3;
  margin: 0 0 var(--ruqi-space-5, 20px);
}

/* ─── Operations list ─────────────────────────────────────── */
.ruqi-finance__ops {
  display: flex;
  flex-direction: column;
}

.ruqi-finance__op {
  align-items: center;
  border-top: 1px solid var(--ruqi-color-border-divider);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ruqi-space-4, 16px);
  justify-content: space-between;
  padding: var(--ruqi-space-5, 20px) 0;
}

.ruqi-finance__op:first-child {
  border-top: 0;
  padding-top: 0;
}

.ruqi-finance__op:last-child {
  padding-bottom: 0;
}

.ruqi-finance__op-info {
  flex: 1 1 220px;
  min-width: 0;
}

.ruqi-finance__op-title {
  color: var(--ruqi-color-text-primary);
  font-size: var(--ruqi-font-size-md, 16px);
  font-weight: var(--ruqi-font-weight-semibold, 600);
  line-height: 1.35;
  margin: 0 0 var(--ruqi-space-1, 4px);
}

.ruqi-finance__op-desc {
  color: var(--ruqi-color-text-secondary);
  font-size: var(--ruqi-font-size-sm, 14px);
  line-height: 1.45;
  margin: 0;
}

.ruqi-finance__op-action {
  flex: 0 0 auto;
}

.ruqi-finance__op-action .btn {
  min-width: 200px;
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  .ruqi-finance__op {
    align-items: stretch;
    flex-direction: column;
  }

  .ruqi-finance__op-action,
  .ruqi-finance__op-action .btn {
    width: 100%;
  }
}

.ruqi-finance__alert {
  border-radius: var(--ruqi-radius-md, 8px);
  font-size: var(--ruqi-font-size-sm, 14px);
  line-height: 1.5;
  margin: 0 0 var(--ruqi-space-5, 20px);
}

.ruqi-finance__footnote {
  color: var(--ruqi-color-text-muted);
  font-size: var(--ruqi-font-size-sm, 14px);
  line-height: 1.45;
  margin: var(--ruqi-space-5, 20px) 0 0;
}

/* ─── Recent payments ─────────────────────────────────────── */
.ruqi-finance__payments-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ruqi-space-3, 12px);
  justify-content: space-between;
  margin-bottom: var(--ruqi-space-5, 20px);
}

.ruqi-finance__payments-title {
  color: var(--ruqi-color-text-primary);
  font-size: var(--ruqi-font-size-lg, 18px);
  font-weight: var(--ruqi-font-weight-semibold, 600);
  line-height: 1.3;
  margin: 0;
}

.ruqi-finance__link-all {
  color: var(--ruqi-color-link);
  font-size: var(--ruqi-font-size-sm, 14px);
  font-weight: var(--ruqi-font-weight-semibold, 600);
  text-decoration: none;
  white-space: nowrap;
}

.ruqi-finance__link-all:hover {
  color: var(--ruqi-color-link-hover);
  text-decoration: underline;
}

.ruqi-finance__table-wrap {
  border: 1px solid var(--ruqi-color-border-divider);
  border-radius: var(--ruqi-radius-md, 8px);
  overflow: hidden;
}

.ruqi-finance__table {
  margin-bottom: 0;
}

.ruqi-finance__table thead th {
  background: var(--ruqi-color-bg-row);
  border-bottom: 1px solid var(--ruqi-color-border-divider);
  border-top: 0;
  color: var(--ruqi-color-text-tertiary);
  font-size: 12px;
  font-weight: var(--ruqi-font-weight-semibold, 600);
  letter-spacing: 0.04em;
  padding: var(--ruqi-space-3, 12px) var(--ruqi-space-4, 16px);
  text-transform: uppercase;
  white-space: nowrap;
}

.ruqi-finance__table tbody td {
  border-top: 1px solid var(--ruqi-color-border-divider);
  color: var(--ruqi-color-text-primary);
  font-size: var(--ruqi-font-size-sm, 14px);
  padding: var(--ruqi-space-4, 16px);
  vertical-align: middle;
}

.ruqi-finance__table tbody tr:first-child td {
  border-top: 0;
}

.ruqi-finance__table tbody tr[data-href]:hover {
  background: var(--ruqi-color-bg-page);
}

.ruqi-finance__table-amount {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.ruqi-finance__empty {
  color: var(--ruqi-color-text-muted);
  font-size: var(--ruqi-font-size-sm, 14px);
  margin: 0;
}
