/* style.css - inspirado en la app de impresiones */
body { background: #f4f6f9; font-family: 'Inter', Arial, sans-serif; }
.card { border-radius: 12px; }
.navbar-brand { font-weight: 700; }
.badge.bg-warning { color: #212529; }
table.dataTable thead th { background: #f1f3f6; }
.btn-outline-primary { border-color: #00509B; color: #00509B; }
.btn-outline-primary:hover { background:#00509B; color:#fff; }
.btn-outline-secondary {
  border-color: #555;
  color: #555;
}
.btn-outline-secondary:hover {
  background-color: #555;
  color: white;
}
.btn-group .btn {
  min-width: 34px;
  padding: 3px 6px;
}
.table td, .table th {
 vertical-align: middle;
}

.accordion-button:not(.collapsed) {
	background-color: #e8f0ff;
	color: #0d6efd;
	box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
}
.accordion-button::after {
	filter: brightness(0.5);
}
.accordion-item {
	border-radius: 0.75rem !important;
}
.accordion {
	border: 1px solid #d0d7de;
	background: #fafafa;
}
.badge.bg-primary {
	font-size: 0.9rem;
}

.table-scroll {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #bbb #f8f9fa;
}

/* Sombras laterales */
.table-scroll::before,
.table-scroll::after {
  content: "";
  position: absolute;
  top: 0;
  width: 40px;
  height: 100%;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.table-scroll::before {
  left: 0;
  background: linear-gradient(to right, rgba(0,0,0,0.08), transparent);
  opacity: 0;
}

.table-scroll::after {
  right: 0;
  background: linear-gradient(to left, rgba(0,0,0,0.08), transparent);
  opacity: 0;
}

.table-scroll.scrolled-left::before { opacity: 1; }
.table-scroll.scrolled-right::after { opacity: 1; }

.table-scroll::-webkit-scrollbar {
  height: 8px;
}
.table-scroll::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}

.table-scroll::-webkit-scrollbar-thumb:hover {
  background-color: #999;
}

.estado-select {
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* 💶 Total ingresado */
.card-body h3.text-success {
  background-color: rgba(25, 135, 84, 0.1); /* verde Bootstrap clarito */
  display: inline-block;
  padding: 4px 12px;
  border-radius: 8px;
  font-weight: 700;
}

/* 🕓 Pendiente de pago */
.card-body h3.text-warning {
  background-color: rgba(220, 53, 69, 0.1); /* rojo clarito */
  color: #dc3545 !important;
  display: inline-block;
  padding: 4px 12px;
  border-radius: 8px;
  font-weight: 700;
}

#modalObservaciones .modal-body {
  max-height: 40vh;
  overflow-y: auto;
  white-space: pre-wrap;
  line-height: 1.4;
}

/* === Badges de estado en la tabla === */
.badge.bg-warning { background-color: #FFD700 !important; color: #212529 !important; }
.badge.bg-info    { background-color: #FF0080 !important; color: #fff !important; }
.badge.bg-primary { background-color: #00509B !important; color: #fff !important; }
.badge.bg-success { background-color: #28A745 !important; color: #fff !important; }
.badge.bg-danger  { background-color: #DC3545 !important; color: #fff !important; }

/* === Opciones select de estados (solo para admin) === */
.estado-select option[value="Presupuestado"] { background-color: #FFD700 !important; color: #212529; }
.estado-select option[value="En proceso"]    { background-color: #FF0080 !important; color: #fff; }
.estado-select option[value="Entregado"]     { background-color: #00509B !important; color: #fff; }
.estado-select option[value="Terminado"]     { background-color: #28A745 !important; color: #fff; }
.estado-select option[value="Anulado"]       { background-color: #DC3545 !important; color: #fff; }

/* === Hover visual en selects para que no pierdan color al abrir === */
.estado-select option:checked { color: #fff !important; }

/* === Opcional: cursor pointer en donuts === */
canvas[id^="chartEstados-"] {
    cursor: pointer;
}

/* Estilo del footer */
.footer {
  text-align: center;
  padding: 12px 0;
  background-color: #f8f9fa; /* color claro de fondo */
  color: #555; /* texto gris oscuro */
  font-size: 14px;
  position: relative;
  bottom: 0;
  width: 100%;
}