.diario-container {
  display: flex;
  flex: 1; /* <-- Esto hace que ocupe todo el espacio disponible */
  gap: 20px;
  padding: 10px;
  background-color: #f3efef;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  flex-direction: column;
}

.sidebar-filtros {
  display: flex;
  flex-wrap: wrap; /* permite que los filtros bajen a otra línea si no caben */
  align-items: center;
  gap: 10px; /* espacio entre filtros, antes estaba en 15px */
  background-color: #f9f9f9;
  padding: 10px 15px; /* reducir padding vertical y horizontal */
  border: 1px solid #ddd;
  border-radius: 8px;
  box-sizing: border-box;
}

.sidebar-filtros h3 {
  margin: 0; /* quitar margen extra */
  font-size: 18px;
  color: #333;
  flex-shrink: 0; /* evita que se encoja */
  margin-right: 10px; /* espacio reducido hacia los filtros */
}

/* Cada label + select como fila horizontal */
.sidebar-filtros .form-group {
  display: flex;
  align-items: center;
  gap: 5px; /* espacio entre label y select */
  flex-shrink: 0; /* evita que se encoja demasiado */
}

/* Labels con ancho fijo y menos margen */
.sidebar-filtros label {
  display: inline-block;
  width: 70px; /* reducimos ancho de label */
  font-weight: bold;
  color: #555;
  margin-bottom: 0; /* quitar margen inferior */
  text-align: right; /* opcional: alinear texto a la derecha */
}

/* Select ocupa lo que quede */
.sidebar-filtros select {
  width: auto; /* ancho un poco menor para compactar */
  padding: 5px 8px; /* padding más compacto */
  border-radius: 4px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-sizing: border-box;
}



.tabla-contenedor {
  flex: 1;
  /* overflow-x: auto; */
  overflow-y: auto;
  margin: 6px;
  margin-bottom: 10px;
  padding-bottom: 25px;
  background-color: #f1f1f1;
  box-shadow: 2px 2px 3px #ccc;
}

.tabla-diario {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 800px;
  border: 1px solid #ddd; /* borde general */
}

.tabla-diario thead {
  background-color: #f0f0f0;
}

.tabla-diario th,
.tabla-diario td {
  border: 1px solid #ccc;
  padding: 4px;
  text-align: left;
  white-space: nowrap;
  
}

.tabla-diario tbody tr:nth-child(even) {
  background-color: #fafafa;
}


.diario-head {
  background-color: #c9b1b1;
  border-left: 4px solid #3498db;
  padding: 10px 15px;
  margin: 15px 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 6px;
  max-width: 600px;
}

.diario-head label {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 5px;
  color: #333;
}

.diario-head strong {
  color: #2c3e50;
}


/* Resalta la fila de totales */
.tabla-diario tr.totales {
    background-color: #f0f0f0; 
    font-weight: bold;          
}

.tabla-diario tr.totales td {
    border-top: 2px solid #333; 
    padding: 8px;
    text-align: right;          
}

/* Opcional: solo la primera columna (colspan) alineada a la derecha */
.tabla-diario tr.totales td:first-child {
    text-align: right;
    padding-right: 10px;
}





/* Contenedor general del banner más compacto */
.diario-banner {
  display: flex;
    flex-direction: column;
    gap: 15px;
  background: #e6f0fa;
  border: 1px solid #e0e0e0;
  padding: 10px 10px; /* menos padding vertical */
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
  margin: 12px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Filas internas */
.banner-row {
  /* display: grid; */
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 15px;
  margin-bottom: 5px;
  display: flex;
    flex-wrap: wrap; /* para que los items bajen de fila en pantallas pequeñas */
}

/* Cada item dentro de la fila */
.banner-item {
  display: flex;
  align-items: center; /* Alinea verticalmente con las labels */
  gap: 5px; /* Espacio entre select y input */
  flex-wrap: wrap; /* Evita que se rompa en pantallas muy pequeñas */
  
}


/* Etiquetas */
.banner-item label {
  font-weight: 600;
  margin-top: 4px; /* menos espacio */
  margin-bottom: 0px; /* menos espacio */
  font-size: 0.85rem;
  color: #333;
}

/* Inputs y selects más compactos */
.banner-item select,
.banner-item input[type="datetime-local"]{
  padding: 6px 10px;
  font-size: 0.85rem;
  border: 1px solid #ccc;
  background-color: #f5f9ff;
  border-radius: 5px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 200px;
  box-sizing: border-box;
}

.banner-item input[type="text"],
.banner-item textarea {
  padding: 6px 10px;
  font-size: 0.85rem;
  border: 1px solid #ccc;
  background-color: #f5f9ff;
  border-radius: 5px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
  box-sizing: border-box;
}

/* Focus en inputs y selects */
.banner-item input:focus,
.banner-item select:focus,
.banner-item textarea:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0,123,255,0.15);
}

/* Textarea más corto */
.banner-item textarea {
  resize: vertical;
  min-height: 60px;
  /* max-height: 80px; */
}

/* Botón pequeño y a la izquierda */
.banner-item button {
  padding: 6px 15px;
  font-size: 0.85rem;
  border: none;
  border-radius: 5px;
  background-color: #429cfc;
  color: white;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-top: 5px;
  align-self: flex-start; /* alinea el botón a la izquierda */
}

.banner-item button:hover {
  background-color: #0056b3;
}






.banner-totales {
  display: flex;
  gap: 30px;
  border-top: 1px solid #ccc;
  padding-top: 10px;
  margin-top: 10px;
}

.total label {
  font-weight: bold;
  display: block;
}

.total span {
  font-size: 1.1rem;
}

.total.debe span {
  color: #28a745; /* verde */
}

.total.haber span {
  color: #dc3545; /* rojo */
}

.total.saldo span {
  color: #007bff; /* azul */
}


/* detalles*/

.detalle-diario {
    display: flex;
    flex-direction: column;
    align-items: stretch; /* Cambiar de center a stretch para ocupar todo el ancho */
    width: 100%;
    flex: 1; /* Ocupar todo el alto disponible */
    overflow-y: auto; /* scroll si es necesario */
    padding-bottom: 200px;
    box-sizing: border-box;
    padding-left: 1%;
    padding-right: 1%;
}






/* 


*/



.toggle-notas-btn{
   width: 18px;
  height: 18px;
  display: flex;
  align-items: center;      /* centra verticalmente */
  justify-content: center;  /* centra horizontalmente */
  background: none;         /* o el color que uses */
  border: none;             /* o un borde si quieres */
  cursor: pointer;
  color: #333;
  font-size: 12px;          /* ajusta el tamaño del ícono */
  padding: 0;               /* sin relleno extra */
  margin-left: 5px;         /* separación respecto al label */
}
.toggle-notas-btn:hover {
  color: #000;
}

/* Animación de colapso */
#txtNotas {
  width: 100%;
  resize: vertical;
  overflow: hidden;
  transition: height 0.3s ease, opacity 0.3s ease, margin 0.3s ease, padding 0.3s ease;
}

/* Estado colapsado: completamente fuera del flujo */
#txtNotas.collapsed {
  height: 0;
  opacity: 0;
  margin: 0;
  padding: 0;
  border: none;
  display: none;
}

