@media (max-width: 80rem) {
	.psp-portal__main { padding-left: 2rem; padding-right: 2rem; }
}

@media (max-width: 64rem) {
	.psp-welcome { grid-template-columns: minmax(0, 1fr) minmax(16rem, .65fr); }
	.psp-home__feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.psp-home__steps { grid-template-columns: 1fr; }
	.psp-home__steps li:not(:last-child)::after { display: none; }
	.psp-portal { display: block; }
	.psp-sidebar { box-shadow: 1rem 0 3rem rgb(0 0 0 / 20%); max-width: calc(100vw - 3rem); position: fixed; transform: translateX(-110%); transition: transform 180ms ease; width: 17.5rem; }
	.psp-sidebar__close, .psp-topbar__menu { display: inline-flex; }
	.psp-nav-open .psp-sidebar { transform: translateX(0); }
	.psp-nav-open .psp-portal__overlay { display: block; }
	html.psp-nav-open, body.psp-nav-open { overflow: hidden; }
	.psp-topbar { display: grid; gap: 1rem; grid-template-columns: auto minmax(0, 1fr) auto; }
	.psp-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 48.875rem) {
	.psp-auth-shell { display: block; }
	.psp-auth-shell__brand { min-height: 15rem; padding: 1.5rem; }
	.psp-auth-shell__intro { margin-top: 3rem; }
	.psp-auth-shell__intro h2 { font-size: clamp(1.8rem, 7vw, 2.6rem); max-width: 18ch; }
	.psp-auth-shell__intro p, .psp-auth-shell__security { display: none; }
	.psp-auth-shell__main { margin-top: -2rem; padding: 0 1rem 2rem; position: relative; z-index: 2; }
	.ps-auth__card { border-radius: 1rem; }
	.psp-welcome { align-items: stretch; grid-template-columns: 1fr; }
	.psp-welcome__panel h1 { font-size: clamp(2.4rem, 11vw, 4rem); }
	.psp-home__hero-inner { grid-template-columns: 1fr; }
	.psp-home__hero-copy h1 { max-width: 13ch; }
	.psp-home__advantage-grid { grid-template-columns: 1fr; }
	.psp-home__cta-inner { align-items: flex-start; flex-direction: column; }
	.psp-dashboard-grid, .psp-profile-grid, .psp-shipment-detail { grid-template-columns: 1fr; }
	.psp-form fieldset, .psp-list-filter { grid-template-columns: 1fr; }
	.psp-profile-grid > .psp-card:first-child { grid-row: auto; }
	.psp-profile-edit { grid-row: auto; }
	.psp-recent-row { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(9rem, .7fr); }
	.psp-recent-row > .psp-text-link { grid-column: 1 / -1; }
	.psp-topbar__identity strong { max-width: 10rem; }
}

@media (max-width: 48rem) {
	.psp-public-header__inner, .psp-public-main { padding-left: 1rem; padding-right: 1rem; }
	.psp-home__hero-inner, .psp-home__container { padding-left: 1rem; padding-right: 1rem; }
	.psp-portal__main { padding: 1.5rem 1rem 2.5rem; }
	.psp-topbar { height: 4.5rem; padding: .7rem 1rem; }
	.psp-topbar__title p { display: none; }
	.psp-details-grid { grid-template-columns: 1fr; }
	.psp-details-grid > div { padding-right: 0; }
	.psp-kpi-grid { grid-template-columns: 1fr; }
	.psp-shipment-row { align-items: flex-start; flex-wrap: wrap; }
}

@media (max-width: 30rem) {
	.psp-public-header__inner { flex-wrap: wrap; gap: .65rem; }
	.psp-public-header .psp-link-button { min-height: 2.5rem; padding: .55rem .7rem; }
	.psp-public-header__actions { margin-left: auto; }
	.psp-brand__text small { display: none; }
	.psp-actions { align-items: stretch; flex-direction: column; }
	.psp-home__feature-grid, .psp-home__steps { grid-template-columns: 1fr; }
	.psp-home__feature-card, .psp-home__advantage-card { padding: 1rem; }
	.psp-home__cta .psp-actions { width: 100%; }
	.psp-link-button { width: 100%; }
	.psp-auth-shell__brand { min-height: 12.5rem; }
	.psp-auth-shell__intro { margin-top: 2rem; }
	.ps-auth__card { padding: 1.3rem 1rem; }
	.psp-card__heading { align-items: flex-start; flex-direction: column; }
	.psp-profile-list > div { grid-template-columns: 1fr; }
	.psp-topbar__identity > span:last-child { display: none; }
	.psp-topbar { grid-template-columns: auto minmax(0, 1fr) auto; }
	.psp-page-header h1 { font-size: 2rem; }
}

@media (max-width: 24.375rem) {
	.psp-topbar__title strong { font-size: .9rem; }
	.psp-portal__main { padding-left: .75rem; padding-right: .75rem; }
	.psp-card { border-radius: .9rem; padding: 1rem; }
}

@media (max-width: 22.5rem) {
	.psp-public-header__inner { gap: .6rem; }
	.psp-brand__mark { height: 2.3rem; width: 2.3rem; }
	.psp-topbar { gap: .55rem; padding-left: .75rem; padding-right: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
	.psp-sidebar { transition: none; }
}
