/* 예산집행 관리시스템 - 커스텀 스타일 */
.nav-link.active { background-color: #1e40af; border-left: 4px solid #60a5fa; }
.nav-link { border-left: 4px solid transparent; }

.stat-card { transition: transform 0.15s, box-shadow 0.15s; }
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }

.badge-품의 { background: #fef9c3; color: #854d0e; }
.badge-원인행위\/계약 { background: #dbeafe; color: #1e40af; }
.badge-지급명령 { background: #fce7f3; color: #9d174d; }
.badge-지급완료 { background: #dcfce7; color: #166534; }

.badge-당해 { background: #ede9fe; color: #5b21b6; }
.badge-명시이월 { background: #ffedd5; color: #9a3412; }
.badge-사고이월 { background: #fee2e2; color: #991b1b; }

.progress-bar { height: 8px; border-radius: 4px; background: #e5e7eb; overflow: hidden; }
.progress-fill { height: 100%; border-radius: 4px; transition: width 0.4s ease; }

.table-row:hover { background-color: #f8fafc; }
.over-budget { color: #dc2626; font-weight: 700; }
.warn-budget { color: #d97706; font-weight: 600; }

.section-header {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: white; padding: 12px 20px; border-radius: 10px 10px 0 0;
  font-weight: 600; font-size: 0.95rem;
}

input:focus, select:focus, textarea:focus {
  outline: none; border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.btn-primary { background: #2563eb; color: white; }
.btn-primary:hover { background: #1d4ed8; }
.btn-danger { background: #dc2626; color: white; }
.btn-danger:hover { background: #b91c1c; }
.btn-success { background: #16a34a; color: white; }
.btn-success:hover { background: #15803d; }
.btn-gray { background: #6b7280; color: white; }
.btn-gray:hover { background: #4b5563; }

.summary-table th { background: #f1f5f9; font-weight: 600; color: #374151; }
.summary-table td, .summary-table th { padding: 8px 12px; border: 1px solid #e2e8f0; font-size: 0.85rem; }
.summary-table tr.total-row { background: #eff6ff; font-weight: 700; }
.amount-cell { text-align: right; font-variant-numeric: tabular-nums; }

@media (max-width: 768px) {
  #sidebar { transform: translateX(-100%); }
  #sidebar.open { transform: translateX(0); }
  .ml-60 { margin-left: 0; }
}
