.nh-portal {
	max-width: 1080px;
	margin: 0 auto;
	padding: 32px var(--nh-space, 16px) calc(96px + env(safe-area-inset-bottom));
	min-width: 0;
}
.nh-portal--login {
	display: grid;
	place-items: center;
	min-height: 60vh;
	padding-inline: var(--nh-space, 16px);
}
.nh-portal--login .nh-logo-img { margin-bottom: 12px; }
.nh-portal__card {
	width: min(420px, 100%);
	padding: clamp(20px, 4vw, 32px);
	min-width: 0;
}
.nh-portal__top {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: end;
	margin-bottom: 24px;
}
.nh-portal__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.nh-dash-card { padding: 22px; min-width: 0; }
.nh-doc-list { margin: 0; padding-left: 18px; }
.nh-check { display: flex; gap: 8px; align-items: flex-start; margin: 8px 0 14px; }
.nh-alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 14px; }
.nh-alert--ok { background: rgba(22,119,255,.12); }
.nh-alert--err { background: rgba(255,80,80,.12); }
.nh-portal img,
.nh-portal table { max-width: 100%; }
.nh-portal table { display: block; overflow-x: auto; }
@media (max-width: 720px) {
	.nh-portal__grid,
	.nh-portal__top { grid-template-columns: 1fr; display: grid; }
	.nh-portal__top { align-items: stretch; }
	.nh-portal { padding-top: 20px; }
}
