/* ===== Seleccion de items en Cotizaciones ===== */
.tblItems{
	border-collapse:collapse;
}

.tblItems td{
	padding:5px 7px;
}

.tblItems tbody tr:hover{
	background:#f3f7fb;
}

/* Linea sin pendiente: ya cotizada en su totalidad */
.tblItems tr.itemAgotado{
	color:#9aa5b1;
	background:#f7f8f9;
}

.tblItems tr.itemAgotado:hover{
	background:#f7f8f9;
}

.tblItems tr.itemAgotado b{
	color:#c0483f;
}

.tblItems input[type="checkbox"]{
	cursor:pointer;
	transform:scale(1.15);
}

.tblItems input[type="checkbox"]:disabled{
	cursor:not-allowed;
}

/* Input de cantidad deshabilitado = la fila no viaja en el POST */
.tblItems .cantItem:disabled{
	background:#f0f2f4;
	color:#9aa5b1;
	cursor:not-allowed;
}

/* Parpadeo cuando se intenta pasar del pendiente */
.tblItems .cantItem.cantTope{
	border-color:#c0483f;
	background:#fdf1f0;
	box-shadow:0 0 0 2px rgba(192,72,63,.18);
}

.itemsMsg{
	padding:10px 12px;
	margin-bottom:8px;
	border:1px solid #d7dee6;
	border-radius:6px;
	background:#f6f8fa;
	color:#5c6773;
	font-style:italic;
	text-align:center;
}

/* ===== Estados de la cotizacion ===== */
.est1{ color:#977a22; }   /* Solicitada */
.est2{ color:#c0483f; }   /* Anulada    */
.est3{ color:#2f8a52; }   /* Recibida   */
.est5{ color:#2c5f6f; }   /* Aprobada   */

/* Una cotizacion cancelada no reserva cantidades: se muestra apagada */
tr.filaCancelada td{
	color:#9aa5b1;
	background:#fbfbfc;
}

tr.filaCancelada .cellInfo b.est2{ color:#c0483f; }

/* ===== Adjunto ( PDF del proveedor ) ===== */
#rowDoc .tdInfo{ padding:8px 10px; }

.docActual{
	margin-top:6px;
	padding:6px 10px;
	border:1px solid #d7dee6;
	border-radius:6px;
	background:#f6f8fa;
	display:inline-block;
}

.docActual i{ color:#c0392b; }

.docActual a{
	color:#2c5f6f;
	text-decoration:none;
	font-weight:bold;
}

.docActual a:hover{ text-decoration:underline; }

.docHint{
	display:block;
	margin-top:4px;
	font-size:11px;
	color:#7b8794;
	font-style:italic;
}

/* Vigencia cumplida en una cotizacion recibida */
.vigVencida{
	color:#c0483f;
	font-weight:bold;
	white-space:nowrap;
}

/* Encabezado de seccion por requerimiento en la tabla de materiales */
.tblItems tr.reqSec td{
	background:#eef4ec;
	color:#2f6a3e;
	font-weight:bold;
	font-size:12px;
	padding:6px 10px;
	border-top:2px solid #cfe0c8;
}
.tblItems tr.reqSec i{ margin-right:6px; }
.tblItems .cantTope{ border-color:#c0483f !important; background:#fdf1f0; }

.est4{ color:#7b8794; }   /* Cerrada */

/* ===== Info del resumen / ver cotizacion ( modal ) ===== */
.resGrid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px 20px;
	margin-bottom:12px;
}

.resItem{
	display:flex;
	flex-direction:column;
	min-width:0;
}

.resK{
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.4px;
	color:#8a97a5;
	font-weight:bold;
	margin-bottom:1px;
}

.resV{
	font-size:13px;
	color:#33404f;
	word-wrap:break-word;
}

.resV a{
	color:#2c5f6f;
	font-weight:bold;
	text-decoration:none;
}

.resV a:hover{ text-decoration:underline; }

.resObs{
	display:flex;
	flex-direction:column;
	border-top:1px solid #eef2f6;
	padding-top:9px;
	margin-bottom:12px;
}

.resSubtit{
	font-size:11px;
	font-weight:bold;
	text-transform:uppercase;
	letter-spacing:.4px;
	color:#2f6a3e;
	margin:4px 0 3px;
}

.resVacio{
	color:#c0483f;
	font-style:italic;
	margin-top:6px;
}

/* ===== Tabla del resumen ( modal de aprobacion ) ===== */
.resumenTbl{
	border-collapse:collapse;
	margin-top:8px;
	font-size:12px;
}

.resumenTbl th,
.resumenTbl td{
	border:1px solid #e1e7ee;
	padding:5px 8px;
}

.resumenTbl thead th{
	background:#eef4ec;
	color:#2f6a3e;
	font-weight:bold;
}

.resumenTbl tbody tr:nth-child(even){ background:#f7f9fb; }
