/**
 * Triviantes Orders Manager — Registro de Ingresos
 *
 * Estilos específicos del shortcode [triviantes_ingreso_table].
 * Todos los estilos de tabla, contenedor, modal base, barra de progreso,
 * encabezados de fecha y layout responsivo se heredan de:
 *   • triviantes-orders-manager.css  (base compartida)
 *   • triviantes-future-orders.css   (grupos por fecha)
 *
 * Este archivo solo declara lo que es exclusivo de la vista de ingresos,
 * respetando el principio DRY y evitando sobrescribir reglas heredadas.
 *
 * @package Triviantes_Orders_Manager
 * @since   3.1.0
 */

/* =============================================================================
   Barra de búsqueda
   Permite buscar pedidos por ID, nombre o documento, ignorando el filtro de
   fechas.  Diseñada para integrarse visualmente con el header de la tabla.
   ============================================================================= */

.triviantes-om-ingreso-search-bar {
	margin-bottom: 16px;
}

.triviantes-om-ingreso-search-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

#triviantes-om-ingreso-search-input {
	flex: 1 1 260px;
	min-width: 200px;
	padding: 7px 12px;
	border: 1px solid #ccd0d4;
	border-radius: 4px;
	font-size: 0.9rem;
	line-height: 1.4;
	background: #fff;
	color: #333;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#triviantes-om-ingreso-search-input:focus {
	outline: none;
	border-color: #2271b1;
	box-shadow: 0 0 0 2px rgba( 34, 113, 177, 0.2 );
}

/* Banner de contador de resultados */
.triviantes-om-search-count-banner {
	margin: 10px 0 14px;
	padding: 8px 14px;
	border-left: 4px solid #2271b1;
	background: #f0f6fc;
	font-size: 0.875rem;
	color: #444;
	border-radius: 0 4px 4px 0;
}

/* En móvil, apilar búsqueda y botones verticalmente */
@media ( max-width: 600px ) {
	.triviantes-om-ingreso-search-fields {
		flex-direction: column;
		align-items: stretch;
	}

	#triviantes-om-ingreso-search-input {
		width: 100%;
	}
}

/* =============================================================================
   Botón "Marcar ingreso"
   Color naranja cálido para distinguirlo visualmente de las acciones
   principales (azul) y de éxito (verde) ya presentes en el plugin.
   ============================================================================= */

.triviantes-om-marcar-ingreso-btn {
	background-color: #e67e22;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 5px 12px;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	line-height: 1.4;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.triviantes-om-marcar-ingreso-btn:hover {
	background-color: #cf6d17;
}

.triviantes-om-marcar-ingreso-btn:focus-visible {
	outline: 3px solid #e67e22;
	outline-offset: 2px;
}

.triviantes-om-marcar-ingreso-btn:active {
	transform: scale( 0.97 );
}

.triviantes-om-marcar-ingreso-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
}

/* =============================================================================
   Celda de ingreso ya registrado — layout de dos líneas
   Línea 1: "✓ Ingresado" en verde bold → identidad inmediata del estado.
   Línea 2: fecha/hora exacta en texto secundario → información de auditoría.
   ============================================================================= */

.triviantes-om-ingreso-done-cell {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: 4px 10px;
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	border-radius: 4px;
	min-width: 120px;
}

/* "✓ Ingresado" — etiqueta principal, negrita, verde oscuro */
.triviantes-om-ingreso-done-label {
	font-size: 0.82rem;
	font-weight: 700;
	color: #155724;
	line-height: 1.3;
	white-space: nowrap;
}

/* Fecha y hora — texto secundario, monoespacio para dígitos alineados */
.triviantes-om-ingreso-done-datetime {
	font-size: 0.75rem;
	color: #3d6b4f;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

/* Mantener compatibilidad con el badge antiguo en caso de que algún
   fragmento de código externo lo referencia (no romper retrocompatibilidad). */
.triviantes-om-ingreso-status-badge.triviantes-om-ingreso-done {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.4;
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

/* =============================================================================
   Columna de ingreso — ancho mínimo para que el badge y el botón no queden
   apachurrados en pantallas medianas.
   ============================================================================= */

.triviantes-om-ingreso-table .triviantes-om-ingreso-col {
	min-width: 160px;
	text-align: center;
	vertical-align: middle;
}

/* =============================================================================
   Modal de confirmación de ingreso
   Se apoya en .triviantes-om-modal del CSS base; solo ajusta el ancho máximo
   y añade el footer con los botones de acción.
   ============================================================================= */

.triviantes-om-ingreso-confirm-content {
	max-width: 480px;
}

/* Footer del modal — no existe en el modal de progreso heredado, por lo que
   se declara aquí exclusivamente. */
.triviantes-om-modal-footer {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	padding: 12px 20px 18px;
	border-top: 1px solid rgba( 0, 0, 0, 0.08 );
}

/* En móvil, apilar los botones verticalmente para facilitar el toque. */
@media ( max-width: 480px ) {
	.triviantes-om-modal-footer {
		flex-direction: column-reverse;
	}

	.triviantes-om-modal-footer .triviantes-om-btn {
		width: 100%;
		justify-content: center;
	}
}

/* =============================================================================
   Resaltado temporal de fila tras confirmar ingreso
   Animación de fundido desde amarillo pálido a transparente para dar feedback
   visual al operador sin distracciones prolongadas.
   ============================================================================= */

@keyframes triviantesIngresoHighlight {
	0%   { background-color: #fffbdd; }
	100% { background-color: transparent; }
}

.triviantes-om-ingreso-highlight {
	animation: triviantesIngresoHighlight 2s ease forwards;
}
