/**
 * PSB-PORTAL-RESPONSIVE-NOMBRES-TITULO-001 — responsive real portal cliente.
 */

body.psb-pres-portal-shell .psb-pres-portal,
body.psb-pres-portal-shell .psb-pres-panel {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.psb-pres-portal-shell .psb-pres-panel__grid {
	min-width: 0;
}

body.psb-pres-portal-shell .psb-pres-panel__main {
	overflow-x: clip;
}

/* Tablas — scroll horizontal controlado */
body.psb-pres-portal-shell .psb-pres-portal-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.psb-pres-portal-shell .psb-pres-portal-table {
	min-width: min(100%, 560px);
}

body.psb-pres-portal-shell .psb-pres-portal-table--compact {
	min-width: min(100%, 480px);
}

/* Formularios — campos a ancho completo */
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl input[type="text"],
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl input[type="number"],
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl select,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-cfg-input,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .large-text {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.psb-pres-portal-shell .psb-pres-field-hint {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: #a8a29e;
}

/* Cabecera multiproceso */
body.psb-pres-portal-shell .psb-pres-trabajo-cabecera__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

body.psb-pres-portal-shell .psb-pres-trabajo-cabecera__work,
body.psb-pres-portal-shell .psb-pres-trabajo-cabecera__cfg {
	min-width: 0;
	flex: 1 1 140px;
}

/* Drawer multiproceso */
@media (max-width: 640px) {
	body.psb-pres-portal-shell .psb-pres-trabajo-panel__drawer {
		width: 100%;
		max-width: 100%;
		border-radius: 14px 14px 0 0;
	}

	body.psb-pres-portal-shell .psb-pres-trabajo-panel__item-main {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	body.psb-pres-portal-shell .psb-pres-trabajo-vista__proc-foot {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	body.psb-pres-portal-shell .psb-pres-trabajo-vista__proc-actions {
		flex-wrap: wrap;
	}

	body.psb-pres-portal-shell .psb-pres-trabajo-vista__meta-grid {
		grid-template-columns: 1fr;
	}
}

/* Grid panel + rail */
@media (max-width: 1024px) {
	body.psb-pres-portal-shell .psb-pres-panel__grid:not(.psb-pres-panel__grid--shell3) {
		gap: 24px 28px;
	}
}

@media (max-width: 960px) {
	body.psb-pres-portal-shell .psb-pres-panel__grid {
		grid-template-columns: 1fr;
	}

	body.psb-pres-portal-shell .psb-pres-rail-d1d {
		position: static;
	}

	.psb-pres-rail-d1d--form .psb-pres-rail-d1d__actions {
		display: none;
	}

	.psb-pres-panel__form-actions--mobile {
		display: flex;
	}
}

@media (max-width: 768px) {
	body.psb-pres-portal-shell .psb-pres-panel--home .psb-pres-panel__quick-grid,
	body.psb-pres-portal-shell .psb-pres-panel--armonizado .psb-pres-panel__quick-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	body.psb-pres-portal-shell .psb-pres-panel__section-card {
		padding: 16px 14px 18px;
	}

	body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl dt,
	body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl dd {
		width: 100%;
		max-width: 100%;
	}

	body.psb-pres-portal-shell .psb-pres-cfg-mother__workrow,
	body.psb-pres-portal-shell .psb-pres-cfg-2026__workrow {
		flex-direction: column;
	}

	body.psb-pres-portal-shell .psb-pres-live-price {
		position: static;
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 480px) {
	body.psb-pres-portal-shell .psb-pres-panel--home .psb-pres-panel__quick-grid,
	body.psb-pres-portal-shell .psb-pres-panel--armonizado .psb-pres-panel__quick-grid {
		grid-template-columns: 1fr;
	}

	body.psb-pres-portal-shell .psb-pres-portal-table th,
	body.psb-pres-portal-shell .psb-pres-portal-table td {
		padding: 10px 10px;
		font-size: 12px;
	}

	body.psb-pres-portal-shell .psb-pres-panel__screen-title {
		font-size: 1.35rem;
	}
}
