th {
  text-align: right;
}

.info {
  padding: 10px 0 0 5px;
}
.info label, .info input {
  display: inline-block;
}

.info input {
  width: 30%;
  text-align: left;
}

.info label {
  width: 10%;
  min-width: 55px;
  text-align: right;
}

#errorProductos {
  color: red;
}

#errorFechas {
  color: red;
}

.required {
  color: #c0392b;
  font-weight: bold;
  margin-left: 2px;
}

.required-note {
  font-size: 0.88em;
  color: #666;
  margin: 18px 0 6px;
}

.submit-area {
  margin: 8px 0 24px;
}

.btn-primary {
  background: #417690;
  color: white;
  border: none;
  padding: 8px 20px;
  font-size: 1em;
  border-radius: 4px;
  cursor: pointer;
}

.btn-primary:hover {
  background: #2c5f75;
}

/* Tabla de resumen de consulta en final.html */
.info-table {
  border-collapse: collapse;
  margin: 16px 0;
}
.info-table th,
.info-table td {
  padding: 6px 14px 6px 0;
  text-align: left;
  vertical-align: top;
}
.info-table th {
  color: #555;
  font-weight: 600;
  white-space: nowrap;
  padding-right: 20px;
}
.info-table code {
  font-family: monospace;
  background: #f4f4f4;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 0.95em;
}

/* Bloques de aviso en final.html */
.notice {
  border-left: 4px solid;
  padding: 12px 16px;
  margin: 16px 0;
  border-radius: 0 4px 4px 0;
  line-height: 1.6;
}
.notice-blue {
  border-color: #3b82f6;
  background: #eff6ff;
}
.notice-yellow {
  border-color: #f59e0b;
  background: #fffbeb;
}

.hint {
  font-size: 0.88em;
  color: #888;
  margin: 12px 0 20px;
}

.action-buttons {
  margin-top: 8px;
}
.action-buttons button {
  margin-right: 10px;
}

/* Estilos para el admin - campo de carga de archivo JSON */
.json-file-input {
  margin-bottom: 10px;
}

.field-json_file {
  margin-bottom: 20px;
}

.field-json_file .help {
  font-style: italic;
  color: #666;
  margin-top: 5px;
}

.field-json_file input[type="file"] {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #f9f9f9;
}

.field-json_file input[type="file"]:focus {
  border-color: #79afd1;
  background-color: #fff;
}

/* Separador visual entre carga de archivo y editor JSON */
.field-json {
  border-top: 1px solid #eee;
  padding-top: 15px;
}
