

		/* ===== Table ===== */
		.table-wrap{
			width:100%;
			overflow:auto;
			border-radius: 16px;
			border: 1px solid rgba(255,255,255,0.10);
			background: rgba(0,0,0,0.12);
		}

		table{
			width:100%;
			border-collapse:separate;
			border-spacing:0;
		}
		thead th{
			position:sticky;
			top:0;
			background: rgba(0,0,0,0.35);
			backdrop-filter: blur(8px);
			border-bottom: 1px solid rgba(255,255,255,0.10);
			padding: 12px 12px;
			text-align:left;
			font-size:12px;
			color: rgba(255,255,255,0.75);
			font-weight:700;
			letter-spacing:0.2px;
			z-index:2;
		}
		tbody td{
			padding: 8px 10px;
			border-bottom: 1px solid rgba(255,255,255,0.06);
			vertical-align:middle;
			font-size: 14px;
		}
		tbody tr:hover{
			background: rgba(255,255,255,0.04);
		}

		table th.t-centro { text-align: center; }
		table th.t-derecha { text-align: right; }
		table th.t-izquierda { text-align: left; }

		table td.t-centro { text-align: center; }
		table td.t-derecha { text-align: right; }
		table td.t-izquierda { text-align: left; }


.parcelas-table{
	width:100%;
	overflow:auto;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.12);
}

.parcelas-header{
	position: sticky;
	top: 0;
	background: rgba(0,0,0,0.35);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(255,255,255,0.10);
	padding: 0;
	z-index: 2;

	display: grid;
	align-items: center;
}

.parcelas-header .col{
	padding: 12px 12px;
	text-align: left;
	font-size: 12px;
	color: rgba(255,255,255,0.75);
	font-weight: 700;
	letter-spacing: 0.2px;
}

.parcelas-row{
	display: grid;
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	padding: 0;
	font-size: 14px;
}

.parcelas-row .col{
	padding: 8px 10px;
	vertical-align: middle;
}

.parcelas-row:hover{
	background: rgba(255,255,255,0.04);
}

.parcelas-header,
.parcelas-row{
	grid-template-columns:
		140px    /* Estatus */
		1fr      /* Titular */
		100px    /* Parcela */
		80px     /* Progreso */
		1fr      /* Certificado */
		1fr      /* Comentarios */
		120px;   /* Acciones */
}

.col.t-centro { text-align: center; }
.col.t-derecha { text-align: right; }
.col.t-izquierda { text-align: left; }

@media (max-width: 780px){

	.parcelas-table{ border:none; }
	.parcelas-header{ display:none; }

	.parcelas-row{
		display: grid;
		grid-template-columns: 1fr 150px 150px; /* 3 columnas */
		gap: 0;
		border: 1px solid rgba(255,255,255,0.10);
		border-radius: 12px;
		padding: 8px;
		margin-bottom: 20px;
		background: rgba(0,0,0,0.18);
		align-items: stretch;

		/* evita que el contenido fuerce el ancho del grid */
		min-width: 0;
	}

	.parcelas-row .col{
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 10px;
		padding: 6px 8px;
		border-bottom: 1px solid rgba(255,255,255,0.06);
		text-align: left;
		height: 100%;

		/* evita overflow por textos largos */
		min-width: 0;
	}

	/* Quitar label (::before) a 2, 3, 6 y acciones (último) */
	.parcelas-row .col:nth-child(2)::before,
	.parcelas-row .col:nth-child(3)::before,
	.parcelas-row .col:nth-child(6)::before,
	.parcelas-row .col:last-child::before{
		content: none;
	}

	/* Desde el hijo 7 en adelante → ocupar toda la fila */
	.parcelas-row .col:nth-child(n+7){
		grid-column: 1 / -1;
	}

	/* Acciones al final */
	.parcelas-row .col:last-child{
		grid-column: 1 / -1;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		border-bottom: none;
	}

	/* también quita el borde al último aunque cambie el DOM */
	.parcelas-row .col:last-child{
		border-bottom: none;
	}

	.parcelas-row .col::before{
		content: attr(data-label);
		font-size: 12px;
		font-weight: 700;
		color: rgba(255,255,255,0.5);
		letter-spacing: 0.2px;
		width: 90px;
		text-align: left;
		flex: 0 0 auto;
	}

	/* Ajuste específico del label para el hijo 5 */
	.parcelas-row .col:nth-child(5)::before{
		width: 45px;
	}
}

@media (max-width: 600px){

	.parcelas-row{
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 0;
		border: 1px solid rgba(255,255,255,0.10);
		border-radius: 12px;
		padding: 8px;
		background: rgba(0,0,0,0.18);

		/* evita overflow dentro del grid */
		min-width: 0;
	}

	/* Todos ocupan toda la fila por defecto */
	.parcelas-row .col{
		grid-column: 1 / -1;

		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 10px;
		padding: 6px 8px;
		border-bottom: 1px solid rgba(255,255,255,0.06);
		text-align: left;

		min-width: 0;
	}

	/* Fila dividida (col 2 y 3) */
	.parcelas-row .col:nth-child(2){ 
		grid-column: 1 / 2; 
	}

	.parcelas-row .col:nth-child(3){ 
		grid-column: 2 / 3;
		justify-content: flex-end;
		text-align: right;
	}

	/* Segunda fila dividida (col 5 y 6) */
	.parcelas-row .col:nth-child(5){ 
		grid-column: 1 / 2; 
	}

	.parcelas-row .col:nth-child(6){ 
		grid-column: 2 / 3;
		justify-content: flex-end;
		text-align: right;
	}

	/* Labels */
	.parcelas-row .col::before{
		content: attr(data-label);
		font-size: 12px;
		font-weight: 700;
		color: rgba(255,255,255,0.5);
		letter-spacing: 0.2px;
		width: 90px;
		text-align: left;
		flex: 0 0 auto;
	}

	/* Ajuste específico del label */
	.parcelas-row .col:nth-child(5)::before{
		width: 90px;
	}

	/* Hijo 8 con label arriba */
	.parcelas-row .col:nth-child(8){
		flex-direction: column;
	}

	/* Evita borde en el último */
	.parcelas-row .col:last-child{
		border-bottom: none;
	}
}


.pct{
	--size: 34px;
	--p: 0; /* porcentaje 0-100 */
	--bg: transparent; /* vacío */
	--fg: #48B8E9; /* azul por defecto */

	width: var(--size);
	height: var(--size);
	border-radius: 50%;
	display: grid;
	place-items: center;
	position: relative;

	/* El tramo no completado queda transparente */
	background: conic-gradient(var(--fg) calc(var(--p) * 1%), transparent 0);
}

/* Centro “hueco” */
.pct::before{
	content:"";
	position:absolute;
	inset: 8px; /* grosor del anillo */
	background: transparent; /* vacío */
	border-radius: 50%;
}

.pct.azul{     --fg: #48B8E9; }
.pct.amarillo{ --fg: #ffc107; }
.pct.verde{    --fg: #a3ff12; }
.pct.negro{     --fg: #1C361E; }



.moneybar250{
	display: flex;
	flex-wrap: wrap;
	gap: 10px; /* separación entre millones */
	align-items: center;
}

/* Bloque de 1 millón (2x2) */
.moneybar250 .mblock{
	display: grid;
	grid-template-columns: repeat(2, 12px);
	grid-template-rows: repeat(2, 12px);
	gap: 2px;
}

/* cuadrito */
.moneybar250 .sq{
	width: 12px;
	height: 12px;
	border-radius: 3px;
	position: relative;
	overflow: hidden;

	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
}

/* encendido */
.moneybar250 .sq.on{
	background: rgba(79,124,255,0.55);
	border-color: rgba(79,124,255,0.75);
}

/* parcial */
.moneybar250 .sq.partial::before{
	content:"";
	position:absolute;
	inset:0;
	width: calc(var(--fill) * 100%);
	background: rgba(79,124,255,0.9);
}

/* cuadritos fantasma (para completar el bloque final) */
.moneybar250 .sq.ghost{
	opacity: 0.05;
}

