/*
 * LapoShop customer presentation foundation.
 * It deliberately contains no route, capability or customer-domain decisions.
 */
.nsc-customer {
	--nsc-customer-space-1: 10px;
	--nsc-customer-space-2: 16px;
	--nsc-customer-space-3: 22px;
	--nsc-customer-space-4: 28px;
	--nsc-customer-space-5: 34px;
	padding: var(--nsc-customer-space-5) 0 48px;
	background: var(--paper, #f8fafb);
}

.nsc-customer__container {
	width: min(84.5%, 1410px);
	margin-inline: auto;
}

.nsc-customer__panel {
	width: min(100%, 640px);
	margin: 0;
	padding: var(--nsc-customer-space-4);
	background: #fff;
	border: 1px solid var(--line, #e4e8eb);
	border-radius: var(--radius, 12px);
	box-shadow: 0 14px 32px rgb(16 34 56 / 6%);
}

.nsc-customer h1,
.nsc-customer h2,
.nsc-customer h3 {
	color: var(--ink, #102238);
	letter-spacing: -0.02em;
}

.nsc-customer h1 {
	margin: 0 0 var(--nsc-customer-space-1);
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	line-height: 1.15;
}

.nsc-customer h2 {
	margin: var(--nsc-customer-space-4) 0 var(--nsc-customer-space-2);
	padding-top: var(--nsc-customer-space-3);
	border-top: 1px solid var(--line, #e4e8eb);
	font-size: 1.12rem;
}

.nsc-customer h1 + h2 {
	margin-top: var(--nsc-customer-space-3);
}

.nsc-customer p,
.nsc-customer li,
.nsc-customer dd {
	line-height: 1.55;
}

.nsc-customer p {
	margin: 0 0 var(--nsc-customer-space-2);
	color: var(--muted, #637083);
}

.nsc-customer form {
	display: grid;
	gap: var(--nsc-customer-space-2);
	margin: var(--nsc-customer-space-3) 0;
}

.nsc-customer label {
	display: grid;
	gap: 7px;
	color: var(--ink, #102238);
	font-weight: 700;
	font-size: 0.875rem;
}

.nsc-customer label:has(input[type='checkbox']) {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 600;
}

.nsc-customer input,
.nsc-customer select,
.nsc-customer textarea {
	width: 100%;
	min-height: 45px;
	padding: 0 13px;
	border: 1px solid var(--line, #e4e8eb);
	border-radius: 9px;
	background: #fff;
	color: var(--ink, #102238);
	font: inherit;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.nsc-customer input[type='checkbox'] {
	width: 18px;
	min-height: 18px;
	padding: 0;
	accent-color: var(--cyan, #00aabe);
}

.nsc-customer input:focus-visible,
.nsc-customer select:focus-visible,
.nsc-customer textarea:focus-visible,
.nsc-customer button:focus-visible,
.nsc-customer a:focus-visible,
.nsc-customer summary:focus-visible {
	outline: 3px solid rgb(0 170 190 / 32%);
	outline-offset: 3px;
}

.nsc-customer input:focus,
.nsc-customer select:focus,
.nsc-customer textarea:focus {
	border-color: var(--cyan, #00aabe);
	box-shadow: 0 0 0 3px rgb(0 170 190 / 12%);
	outline: 0;
}

.nsc-customer button {
	min-height: 45px;
	justify-self: start;
	padding: 0 18px;
	border: 1px solid var(--cyan, #00aabe);
	border-radius: 9px;
	background: var(--cyan, #00aabe);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.nsc-customer button:hover {
	border-color: #008b9d;
	background: #008b9d;
}

.nsc-customer button:active {
	transform: translateY(1px);
}

.nsc-customer a {
	color: #008fa3;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nsc-customer ul,
.nsc-customer dl {
	margin: var(--nsc-customer-space-2) 0;
	padding: 0;
}

.nsc-customer li {
	margin: 0;
	padding: var(--nsc-customer-space-2) 0;
	border-top: 1px solid var(--line, #e4e8eb);
	list-style: none;
}

.nsc-customer li:first-child {
	border-top: 0;
}

.nsc-customer dl {
	display: grid;
	grid-template-columns: minmax(8rem, .55fr) 1fr;
	gap: 10px var(--nsc-customer-space-2);
}

.nsc-customer dt {
	font-weight: 800;
	color: var(--ink, #102238);
}

.nsc-customer dd {
	margin: 0;
	color: var(--muted, #637083);
}

.nsc-customer details {
	margin: var(--nsc-customer-space-2) 0;
	padding: var(--nsc-customer-space-2);
	border: 1px solid var(--line, #e4e8eb);
	border-radius: 9px;
}

.nsc-customer summary {
	cursor: pointer;
	color: var(--ink, #102238);
	font-weight: 800;
}

.nsc-customer [aria-live],
.nsc-customer__feedback,
.nsc-customer__empty-state,
.nsc-customer__status-badge {
	border-radius: 9px;
}

.nsc-customer__feedback {
	padding: var(--nsc-customer-space-2);
	border: 1px solid var(--line, #e4e8eb);
	background: #f3fbfc;
	color: var(--ink, #102238);
}

.nsc-customer__empty-state {
	padding: var(--nsc-customer-space-4);
	border: 1px dashed #b9c5cd;
	background: #fbfcfd;
	text-align: center;
}

.nsc-customer__status-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 10px;
	background: #e8f7f8;
	color: #006d7c;
	font-size: .78rem;
	font-weight: 800;
}

@media (max-width: 1450px) {
	.nsc-customer__container { width: min(92%, 1410px); }
}

@media (max-width: 720px) {
	.nsc-customer { padding: 22px 0 34px; }
	.nsc-customer__container { width: 92%; }
	.nsc-customer__panel { padding: 22px 18px; }
	.nsc-customer dl { grid-template-columns: 1fr; gap: 3px; }
	.nsc-customer dd { margin-bottom: 9px; }
	.nsc-customer button { width: 100%; }
}

.nsc-customer__breadcrumbs { margin: 0 0 18px; color: #637083; font-size: .875rem; }
.nsc-customer__breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nsc-customer__breadcrumbs li + li::before { content: '›'; margin-right: 8px; color: #9ba7b3; }
.nsc-customer__breadcrumbs a { color: inherit; }
.nsc-customer__breadcrumbs a:focus-visible { outline: 3px solid #00aabe; outline-offset: 3px; }
.nsc-customer__navigation { margin: 0 0 18px; }
.nsc-customer__navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nsc-customer__navigation a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 14px; border: 1px solid #e4e8eb; border-radius: 8px; color: #102238; font-weight: 700; text-decoration: none; }
.nsc-customer__navigation a[aria-current='page'] { border-color: #00aabe; background: #00aabe; color: #fff; }
.nsc-customer__navigation a:focus-visible { outline: 3px solid #00aabe; outline-offset: 3px; }

.nsc-customer--overview { padding: 16px 0 28px; }
.nsc-customer--overview .nsc-customer__breadcrumbs { margin-bottom: 10px; }
.nsc-account-overview { color: #102238; }
.nsc-account-overview__welcome { display: flex; align-items: center; gap: 16px; margin: 0 0 14px; }
.nsc-account-overview__welcome h1 { margin: 0 0 3px; font-size: 1.48rem; line-height: 1.15; }
.nsc-account-overview__welcome p { margin: 0; color: #52647a; font-size: .86rem; }
.nsc-account-overview__avatar { display: grid; place-items: center; width: 53px; height: 53px; flex: 0 0 53px; border-radius: 50%; background: #009cab; color: #fff; font-size: 1.05rem; font-weight: 800; }
.nsc-account-overview__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.nsc-account-overview__stat, .nsc-account-overview__side, .nsc-account-overview__order, .nsc-account-overview__recent, .nsc-account-overview__summary section { border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-account-overview__stat { display: flex; min-width: 0; align-items: center; gap: 13px; min-height: 92px; padding: 13px 16px; color: #102238; text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.nsc-account-overview__stat:hover { border-color: #8bdbe3; box-shadow: 0 8px 18px rgb(0 156 171 / 10%); transform: translateY(-1px); }
.nsc-account-overview__stat:focus-visible, .nsc-account-overview a:focus-visible { outline: 3px solid #00aabe; outline-offset: 3px; }
.nsc-account-overview__stat-icon { display: grid; place-items: center; width: 50px; height: 50px; flex: 0 0 50px; border-radius: 50%; background: #eaf8f9; color: #00aabe; }
.nsc-customer-area-icon { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; }
.nsc-account-overview__stat strong, .nsc-account-overview__stat b, .nsc-account-overview__stat small { display: block; }
.nsc-account-overview__stat strong { font-size: 1.42rem; line-height: 1; }
.nsc-account-overview__stat b { margin-top: 3px; font-size: .77rem; }
.nsc-account-overview__stat small { margin-top: 4px; color: #64758a; font-size: .69rem; }
.nsc-account-overview__stat i { color: #00aabe; font-size: 1rem; font-style: normal; }
.nsc-account-overview__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr) 290px; gap: 14px; align-items: start; }
.nsc-account-overview__side { min-height: 400px; overflow: hidden; padding: 12px 0; }
.nsc-account-overview__side h2 { margin: 0; padding: 0 15px 9px; border: 0; font-size: 1rem; }
.nsc-account-overview__side .nsc-customer__navigation { margin: 0; }
.nsc-account-overview__side .nsc-customer__navigation ul { display: grid; gap: 1px; }
.nsc-account-overview__side .nsc-customer__navigation a, .nsc-account-overview__logout { display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 0 14px; border: 0; border-left: 3px solid transparent; border-radius: 0; color: #4d6279; font-size: .78rem; font-weight: 700; text-decoration: none; }
.nsc-account-overview__side .nsc-customer__navigation a:hover { background: #f3fbfc; color: #008f9e; }
.nsc-account-overview__side .nsc-customer__navigation a[aria-current='page'] { border-left-color: #00aabe; background: #e8f8fa; color: #008f9e; }
.nsc-account-overview__side .nsc-customer__navigation .nsc-customer-area-icon, .nsc-account-overview__logout .nsc-customer-area-icon { width: 16px; height: 16px; }
.nsc-account-overview__logout { margin-top: 12px; color: #df254a !important; }
.nsc-account-overview__logout:hover { background: #fff0f3; color: #bf1238 !important; }
.nsc-account-overview__logout:active { background: #ffe0e7; color: #9f1230 !important; }
.nsc-account-overview__content { display: grid; gap: 14px; min-width: 0; }
.nsc-account-overview__order { min-height: 208px; padding: 14px; }
.nsc-account-overview__order > header, .nsc-account-overview__recent > header, .nsc-account-overview__summary header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nsc-account-overview__order h2, .nsc-account-overview__recent h2, .nsc-account-overview__summary h2 { margin: 0; padding: 0; border: 0; font-size: .9rem; }
.nsc-account-overview__order > header > a, .nsc-account-overview__edit-link { color: #009cab; font-size: .72rem; font-weight: 700; text-decoration: none; }
.nsc-account-overview__status { display: inline-block; margin-top: 4px; padding: 3px 7px; border-radius: 999px; background: #e8f8fa; color: #008f9e; font-size: .62rem; font-weight: 800; }
.nsc-account-overview__empty { display: flex; align-items: center; gap: 14px; min-height: 145px; margin-top: 9px; padding: 20px; border-radius: 8px; background: #f7fafb; }
.nsc-account-overview__empty > .nsc-customer-area-icon { width: 32px; height: 32px; flex: 0 0 32px; color: #00aabe; }
.nsc-account-overview__empty strong { font-size: .91rem; }
.nsc-account-overview__empty p { margin: 4px 0 8px; color: #64758a; font-size: .76rem; }
.nsc-account-overview__empty a { color: #009cab; font-size: .74rem; font-weight: 800; }
.nsc-account-overview__order-details { margin-top: 12px; }
.nsc-account-overview__order-details > p { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 16px; margin: 0; color: #6b7b8d; font-size: .72rem; }
.nsc-account-overview__order-details > p strong { color: #18324e; font-size: .9rem; }
.nsc-account-overview__order-details > p b { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: #102238; font-size: .8rem; }
.nsc-account-overview__fulfillment { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: relative; margin: 12px 5px 12px; padding: 0; list-style: none; }
.nsc-account-overview__fulfillment::before { content: ''; position: absolute; top: 7px; left: 12.5%; right: 12.5%; height: 2px; background: #d6e6e9; }
.nsc-account-overview__fulfillment li { position: relative; z-index: 1; display: grid; justify-items: center; min-width: 0; color: #738397; text-align: center; }
.nsc-account-overview__fulfillment li i { display: grid; width: 15px; height: 15px; place-items: center; border: 2px solid #c7d6db; border-radius: 50%; background: #fff; color: #fff; font-size: 9px; font-style: normal; }
.nsc-account-overview__fulfillment li.is-complete i { border-color: #0aaaba; background: #0aaaba; }
.nsc-account-overview__fulfillment li span { display: block; margin-top: 5px; font-size: .58rem; font-weight: 800; white-space: nowrap; }
.nsc-account-overview__fulfillment li small { margin-top: 2px; font-size: .54rem; white-space: nowrap; }
.nsc-account-overview__order-items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nsc-account-overview__order-items li, .nsc-account-overview__order-more { display: inline-flex; align-items: center; gap: 7px; min-width: 78px; min-height: 52px; padding: 4px 8px; border: 1px solid #e7edf1; border-radius: 7px; color: #50657a; font-size: .61rem; }
.nsc-account-overview__order-item-image { display: block; width: 34px; height: 38px; border-radius: 5px; background: linear-gradient(145deg, #f4f7f8, #e7eef0); }
.nsc-account-overview__order-more { margin-top: 6px; }
.nsc-account-overview__order-actions { display: flex; gap: 8px; margin-top: 10px; }
.nsc-account-overview__order-action, .nsc-account-overview__order-invoice { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 32px; padding: 0 14px; border-radius: 6px; color: #fff; font-size: .72rem; font-weight: 800; text-decoration: none; }
.nsc-account-overview__order-action { flex: 1; min-width: 174px; background: #009cab; box-shadow: 0 3px 8px rgb(0 156 171 / 18%); color: #fff !important; }
.nsc-account-overview__order-action:hover { background: #008492; color: #fff !important; }
.nsc-account-overview__order-invoice { flex: 1; border: 1px solid #dce6eb; color: #31475e; }
.nsc-account-overview__order-invoice.is-blocked { border-color: #e8ecef; background: #f7f9fa; color: #8090a0; cursor: not-allowed; }
.nsc-account-overview__order-action .nsc-customer-area-icon, .nsc-account-overview__order-invoice .nsc-customer-area-icon { width: 15px; height: 15px; }
.nsc-account-overview__recent { padding: 11px 12px 9px; overflow: hidden; }
.nsc-account-overview__recent > header { margin-bottom: 8px; }
.nsc-account-overview__recent > header > span { color: #64758a; font-size: .64rem; }
.nsc-account-overview__products { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.nsc-account-overview__product { position: relative; min-width: 0; min-height: 126px; padding: 7px; border: 1px solid #edf1f4; border-radius: 8px; background: #fff; }
.nsc-account-overview__product img, .nsc-account-overview__product-image { display: block; width: 100%; height: 58px; border-radius: 5px; background: linear-gradient(145deg, #f7f9fa, #e8eef0); }
.nsc-account-overview__product strong, .nsc-account-overview__product span, .nsc-account-overview__product b { display: block; overflow: hidden; margin-top: 4px; color: #24394f; font-size: .57rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.nsc-account-overview__product > div > span { color: #718195; }
.nsc-account-overview__product > div > b { color: #102238; font-size: .64rem; }
.nsc-account-overview__product form { position: absolute; top: 6px; right: 6px; }
.nsc-account-overview__product-cart-form { top: auto !important; right: 6px; bottom: 6px; }
.nsc-account-overview__product-action { display: grid; width: 25px; height: 25px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #008f9e; cursor: pointer; }
.nsc-account-overview__product-action:hover { background: #e8f8fa; }
.nsc-account-overview__product-action:focus-visible { outline: 3px solid #00aabe; outline-offset: 2px; }
.nsc-account-overview__product-action .nsc-customer-area-icon { width: 14px; height: 14px; }
.nsc-account-overview__product-action--cart { top: auto; right: 6px; bottom: 6px; background: #009cab; color: #fff; text-decoration: none; }
.nsc-account-overview__product-action--cart:hover { background: #008492; color: #fff; }

/* Phase 14: customer-owned saved collections reuse the accepted account-shell cards. */
.nsc-customer--saved-collections { padding-top: 16px; }
.nsc-saved-collections__welcome { display: flex; align-items: center; gap: 16px; margin: 0 0 14px; }
.nsc-saved-collections__welcome > span { display: grid; place-items: center; width: 53px; height: 53px; flex: 0 0 53px; border-radius: 50%; background: #eaf8f9; color: #009cab; }
.nsc-saved-collections__welcome > span .nsc-customer-area-icon { width: 25px; height: 25px; }
.nsc-saved-collections__welcome h1 { margin: 0 0 3px; font-size: 1.48rem; line-height: 1.15; }
.nsc-saved-collections__welcome p { margin: 0; color: #52647a; font-size: .86rem; }
.nsc-saved-collections__grid { grid-template-columns: 260px minmax(0, 1fr); }
.nsc-saved-collections__content { min-width: 0; }
.nsc-saved-collections__notice { margin: 0 0 12px; padding: 10px 13px; border: 1px solid #b9e4e8; border-radius: 8px; background: #effbfc; color: #17616d; font-size: .8rem; font-weight: 700; }
.nsc-saved-collections__notice--error { border-color: #f2c5cf; background: #fff4f6; color: #a2183a; }
.nsc-saved-collections__list-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 0 12px; padding: 1px 2px; }
.nsc-saved-collections__list-header h2 { margin: 0; padding: 0; border: 0; font-size: 1.02rem; }
.nsc-saved-collections__list-header p { margin: 4px 0 0; font-size: .76rem; }
.nsc-saved-collections__list-header > a { color: #008f9e; font-size: .76rem; font-weight: 800; text-decoration: none; }
.nsc-saved-collections__cards { display: grid; gap: 10px; }
.nsc-saved-collections__card { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px; border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-saved-collections__image { display: block; width: 96px; height: 82px; border-radius: 7px; background: linear-gradient(145deg, #f7f9fa, #e8eef0); }
.nsc-saved-collections__details { min-width: 0; }
.nsc-saved-collections__details > p { margin: 0 0 4px; }
.nsc-saved-collections__details h2 { overflow: hidden; margin: 0; padding: 0; border: 0; color: #19324c; font-size: .92rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.nsc-saved-collections__sku, .nsc-saved-collections__price-muted { display: block; margin-top: 4px; color: #718195; font-size: .71rem; }
.nsc-saved-collections__details > strong { display: block; margin-top: 7px; color: #102238; font-size: .84rem; }
.nsc-saved-collections__availability { display: inline-flex; min-height: 21px; align-items: center; padding: 0 7px; border-radius: 999px; background: #e8f8fa; color: #008f9e; font-size: .61rem; font-weight: 800; }
.nsc-saved-collections__availability--unavailable { background: #f1f3f5; color: #667687; }
.nsc-saved-collections__actions { display: grid; gap: 7px; justify-items: stretch; min-width: 154px; }
.nsc-saved-collections__actions form { margin: 0; }
.nsc-saved-collections__actions button { width: 100%; min-height: 32px; padding: 0 12px; border-radius: 6px; font-size: .7rem; }
.nsc-saved-collections__secondary { border-color: #dce6eb !important; background: #fff !important; color: #31475e !important; }
.nsc-saved-collections__secondary:hover { border-color: #a9dce2 !important; background: #effbfc !important; color: #008492 !important; }
.nsc-saved-collections__remove { border-color: transparent !important; background: transparent !important; color: #c02045 !important; }
.nsc-saved-collections__remove:hover { background: #fff0f3 !important; }
.nsc-saved-collections__empty { display: grid; justify-items: center; gap: 7px; padding: 44px 24px; border: 1px dashed #c7d4db; border-radius: 10px; background: #fff; text-align: center; }
.nsc-saved-collections__empty .nsc-customer-area-icon { width: 32px; height: 32px; color: #00aabe; }
.nsc-saved-collections__empty h2 { margin: 4px 0 0; padding: 0; border: 0; font-size: 1rem; }
.nsc-saved-collections__empty p { margin: 0; font-size: .8rem; }
.nsc-saved-collections__empty a { color: #008f9e; font-size: .78rem; font-weight: 800; }

@media (max-width: 900px) {
	.nsc-saved-collections__grid { grid-template-columns: 1fr; }
	.nsc-saved-collections__side { min-height: 0; }
}

@media (max-width: 620px) {
	.nsc-saved-collections__welcome { align-items: flex-start; }
	.nsc-saved-collections__welcome > span { width: 44px; height: 44px; flex-basis: 44px; }
	.nsc-saved-collections__list-header { align-items: flex-start; flex-direction: column; gap: 6px; }
	.nsc-saved-collections__card { grid-template-columns: 72px minmax(0, 1fr); gap: 11px; }
	.nsc-saved-collections__image { width: 72px; height: 72px; }
	.nsc-saved-collections__actions { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; }
	.nsc-saved-collections__actions button { min-height: 38px; }
}
.nsc-account-overview__summary { display: grid; gap: 14px; }
.nsc-account-overview__summary section { padding: 14px; }
.nsc-account-overview__summary header { margin-bottom: 18px; }
.nsc-account-overview__address, .nsc-account-overview__empty-inline { display: flex; align-items: center; gap: 12px; }
.nsc-account-overview__address > .nsc-customer-area-icon, .nsc-account-overview__empty-inline > .nsc-customer-area-icon { width: 26px; height: 26px; flex: 0 0 26px; color: #00aabe; }
.nsc-account-overview__address p, .nsc-account-overview__empty-inline p { margin: 0; }
.nsc-account-overview__address strong, .nsc-account-overview__address span, .nsc-account-overview__empty-inline strong, .nsc-account-overview__empty-inline span { display: block; }
.nsc-account-overview__address strong, .nsc-account-overview__empty-inline strong { font-size: .75rem; }
.nsc-account-overview__address span, .nsc-account-overview__empty-inline span { margin-top: 3px; color: #687a8f; font-size: .69rem; line-height: 1.35; }
.nsc-account-overview__summary .nsc-account-overview__edit-link { display: inline-block; margin-top: 14px; }
@media (max-width: 1100px) { .nsc-account-overview__grid { grid-template-columns: 215px minmax(0, 1fr) 240px; } .nsc-account-overview__products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .nsc-account-overview__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nsc-account-overview__grid { grid-template-columns: 1fr; } .nsc-account-overview__side { min-height: 0; } .nsc-account-overview__side .nsc-customer__navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nsc-account-overview__summary { max-width: none; } }
@media (max-width: 520px) { .nsc-account-overview__welcome { align-items: flex-start; } .nsc-account-overview__stats, .nsc-account-overview__side .nsc-customer__navigation ul { grid-template-columns: 1fr; } .nsc-account-overview__products { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nsc-account-overview__stat { min-height: 82px; } }

/* Phase 15 — payment remains an honest checkout-bound projection in the frozen account shell. */
.nsc-customer--payments { padding-top: 16px; }
.nsc-payments { color: #102238; }
.nsc-payments__welcome { display: flex; align-items: center; gap: 16px; margin: 0 0 14px; }
.nsc-payments__welcome > span { display: grid; place-items: center; width: 53px; height: 53px; flex: 0 0 53px; border-radius: 50%; background: #eaf8f9; color: #009cab; }
.nsc-payments__welcome > span .nsc-customer-area-icon { width: 25px; height: 25px; }
.nsc-payments__welcome h1 { margin: 0 0 3px; font-size: 1.48rem; line-height: 1.15; }
.nsc-payments__welcome p { margin: 0; color: #52647a; font-size: .86rem; }
.nsc-payments__grid { grid-template-columns: 260px minmax(0, 1fr); }
.nsc-payments__content { min-width: 0; }
.nsc-payments__content > header { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 1px 2px 12px; }
.nsc-payments__content > header h2 { margin: 0; padding: 0; border: 0; font-size: 1.02rem; }
.nsc-payments__content > header span { color: #718195; font-size: .72rem; font-weight: 700; }
.nsc-payments__card { padding: 18px; border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-payments__card--empty { min-height: 112px; display: flex; align-items: center; }
.nsc-payments__boundary { margin: 15px 0 0; padding-top: 13px; border-top: 1px solid #edf1f4; color: #64758a; font-size: .76rem; line-height: 1.45; }
@media (max-width: 900px) { .nsc-payments__grid { grid-template-columns: 1fr; } .nsc-payments__grid .nsc-account-overview__side { min-height: 0; } }
@media (max-width: 620px) { .nsc-payments__welcome { align-items: flex-start; } .nsc-payments__welcome > span { width: 44px; height: 44px; flex-basis: 44px; } .nsc-payments__content > header { align-items: flex-start; flex-direction: column; gap: 5px; } .nsc-payments__card { padding: 14px; } }

/* Phase 09 — profile editing stays inside the accepted account-overview shell. */
.nsc-profile { color: #102238; }
.nsc-profile__welcome { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; }
.nsc-profile__welcome h1 { margin: 0 0 3px; font-size: 1.48rem; line-height: 1.15; }
.nsc-profile__welcome p { margin: 0; color: #52647a; font-size: .86rem; }
.nsc-profile__icon { display: grid; width: 53px; height: 53px; flex: 0 0 53px; place-items: center; border-radius: 50%; background: #eaf8f9; color: #009cab; }
.nsc-profile__icon .nsc-customer-area-icon { width: 26px; height: 26px; }
.nsc-profile__grid { grid-template-columns: 260px minmax(0, 1fr) 290px; }
.nsc-profile__card { min-width: 0; padding: 20px; border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-profile__card > header { margin-bottom: 18px; }
.nsc-profile__card h2 { margin: 0 0 4px; padding: 0; border: 0; font-size: 1rem; }
.nsc-profile__card > header p { margin: 0; color: #64758a; font-size: .78rem; }
.nsc-profile__notice { margin: 0 0 18px; padding: 11px 13px; border: 1px solid #8bdbe3; border-radius: 8px; background: #edfafa; color: #087887; font-size: .8rem; font-weight: 700; }
.nsc-profile__notice--success { border-color: #55bd78; background: #eaf8ee; color: #16703a; }
.nsc-profile__notice--error { border-color: #e89797; background: #fff0f0; color: #9f1d28; }
.nsc-profile__form { display: grid; gap: 15px; margin: 0; }
.nsc-profile__form label { display: grid; gap: 7px; color: #18324e; font-size: .8rem; font-weight: 800; }
.nsc-profile__form label > span { color: #718195; font-size: .7rem; font-weight: 600; }
.nsc-profile__form input { min-height: 42px; border-color: #d8e4ea; border-radius: 7px; }
.nsc-profile__form input[aria-invalid='true'] { border-color: #d6515c; background: #fff9f9; }
.nsc-profile__form small { color: #718195; font-size: .68rem; font-weight: 500; }
.nsc-profile__names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nsc-profile__field-error { margin: -4px 0 0; color: #a61b2a !important; font-size: .73rem; font-weight: 700; }
.nsc-profile__submit { min-height: 42px; margin-top: 3px; border: 0; border-radius: 7px; background: #009cab; color: #fff; font: inherit; font-size: .8rem; font-weight: 800; cursor: pointer; box-shadow: 0 3px 8px rgb(0 156 171 / 18%); }
.nsc-profile__submit:hover { background: #008492; }
.nsc-profile__summary section { min-height: 0; }
.nsc-profile__summary header { margin-bottom: 14px !important; }
.nsc-profile__security-copy { margin: 14px 0 0; color: #687a8f; font-size: .72rem; line-height: 1.45; }
@media (max-width: 1100px) { .nsc-profile__grid { grid-template-columns: 215px minmax(0, 1fr) 240px; } }
@media (max-width: 900px) { .nsc-profile__grid { grid-template-columns: 1fr; } .nsc-profile__summary { max-width: none; } }
@media (max-width: 520px) { .nsc-profile__welcome { align-items: flex-start; } .nsc-profile__names { grid-template-columns: 1fr; } .nsc-profile__card { padding: 16px; } }

/* Phase 10 — address book reuses the accepted account card family. */
.nsc-address__content { display: grid; gap: 14px; min-width: 0; }
.nsc-address__list, .nsc-address__empty { padding: 18px; border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-address__list > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.nsc-address__list > header h2, .nsc-address__empty h2 { margin:0; padding:0; border:0; font-size:1rem; }
.nsc-address__list > header a, .nsc-address__card a { color:#009cab; font-size:.78rem; font-weight:800; }
.nsc-address__card { padding:15px 0; border-top:1px solid #e8eef1; }
.nsc-address__card:first-of-type { border-top:0; }
.nsc-address__card header, .nsc-address__card footer { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.nsc-address__card h2 { margin:0 0 3px; padding:0; border:0; font-size:.92rem; }
.nsc-address__card header p, .nsc-address__card > p { margin:0; color:#687a8f; font-size:.74rem; line-height:1.5; }
.nsc-address__card > p { margin-top:10px; color:#40566d; }
.nsc-address__card header div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.nsc-address__card b { padding:3px 6px; border-radius:999px; background:#e8f8fa; color:#008f9e; font-size:.61rem; }
.nsc-address__card footer { align-items:center; margin-top:12px; }
.nsc-address__card footer form { display:flex; align-items:center; gap:8px; margin:0; }
.nsc-address__card footer label { display:flex; align-items:center; gap:5px; color:#66798d; font-size:.68rem; font-weight:600; }
.nsc-address__card footer input[type='checkbox'] { width:15px; min-height:15px; }
.nsc-address__card button { min-height:32px; padding:0 12px; border:0; border-radius:6px; background:#fff0f3; color:#bf1238; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.nsc-address__form form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nsc-address__form form > input, .nsc-address__form form > button, .nsc-address__form form > a { grid-column:1 / -1; }
.nsc-address__form form label:has(select), .nsc-address__form form label:nth-last-of-type(-n+2) { grid-column:span 1; }
.nsc-address__form select { min-height:42px; border-color:#d8e4ea; border-radius:7px; }
.nsc-address__form form > a { color:#009cab; font-size:.78rem; font-weight:800; text-align:center; }
@media (max-width:520px) { .nsc-address__list, .nsc-address__empty { padding:16px; } .nsc-address__card header, .nsc-address__card footer, .nsc-address__card footer form { align-items:flex-start; flex-direction:column; } .nsc-address__form form { grid-template-columns:1fr; } .nsc-address__form form label:has(select), .nsc-address__form form label:nth-last-of-type(-n+2) { grid-column:1; } }

/* Phase 11 — security and sessions remain inside the accepted account shell. */
.nsc-security { color: #102238; }
.nsc-security__welcome { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; }
.nsc-security__welcome h1 { margin: 0 0 3px; font-size: 1.48rem; line-height: 1.15; }
.nsc-security__welcome p { margin: 0; color: #52647a; font-size: .86rem; }
.nsc-security__icon { display: grid; width: 53px; height: 53px; flex: 0 0 53px; place-items: center; border-radius: 50%; background: #eaf8f9; color: #009cab; }
.nsc-security__icon .nsc-customer-area-icon { width: 26px; height: 26px; }
.nsc-security__grid { grid-template-columns: 260px minmax(0, 1fr); }
.nsc-security__workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 320px); gap: 14px; min-width: 0; }
.nsc-security__content { display: grid; gap: 14px; min-width: 0; }
.nsc-security__rail { display: grid; align-content: start; gap: 14px; min-width: 0; }
.nsc-security__card { padding: 20px; border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-security__card > header { margin-bottom: 18px; }
.nsc-security__card h2 { margin: 0 0 4px; padding: 0; border: 0; font-size: 1rem; }
.nsc-security__card > header p { margin: 0; color: #64758a; font-size: .78rem; line-height: 1.45; }
.nsc-security__card > header strong { color: #18324e; overflow-wrap: anywhere; }
.nsc-security__notice { margin: 0; padding: 11px 13px; border: 1px solid #8bdbe3; border-radius: 8px; background: #edfafa; color: #087887; font-size: .8rem; font-weight: 700; }
.nsc-security__notice--success { border-color: #55bd78; background: #eaf8ee; color: #16703a; }
.nsc-security__notice--error { border-color: #e89797; background: #fff0f0; color: #9f1d28; }
.nsc-security__form { display: grid; gap: 15px; margin: 0; }
.nsc-security__form label { display: grid; gap: 7px; color: #18324e; font-size: .8rem; font-weight: 800; }
.nsc-security__form label > span { color: #718195; font-size: .7rem; font-weight: 600; }
.nsc-security__form input { min-height: 42px; border-color: #d8e4ea; border-radius: 7px; }
.nsc-security__hint, .nsc-security__summary-copy { margin: 0; color: #687a8f; font-size: .72rem; line-height: 1.45; }
.nsc-security__submit, .nsc-security__danger, .nsc-security__secondary { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 15px; border: 0; border-radius: 7px; background: #009cab; color: #fff; font: inherit; font-size: .8rem; font-weight: 800; text-decoration: none; cursor: pointer; box-shadow: 0 3px 8px rgb(0 156 171 / 18%); }
.nsc-security__submit:hover { background: #008492; }
.nsc-security__session-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nsc-security__session-actions form { display: grid; gap: 9px; margin: 0; }
.nsc-security__confirm { display: flex; align-items: flex-start; gap: 7px; color: #687a8f; font-size: .72rem; font-weight: 600; line-height: 1.35; }
.nsc-security__confirm input { width: 16px; min-height: 16px; margin: 1px 0 0; }
.nsc-security__secondary { border: 1px solid #d8e4ea; background: #fff; color: #31475e; box-shadow: none; }
.nsc-security__secondary:hover { border-color: #8bdbe3; color: #008f9e; }
.nsc-security__danger { background: #fff0f3; color: #bf1238; box-shadow: none; }
.nsc-security__danger:hover { background: #ffe0e7; color: #9f1230; }
.nsc-lifecycle-delete .nsc-security__danger { background: #fff0f3 !important; color: #bf1238 !important; box-shadow: none; }
.nsc-lifecycle-delete .nsc-security__danger:hover { background: #ffe0e7 !important; color: #9f1230 !important; }
.nsc-security__card--sessions .nsc-security__hint { margin-top: 13px; }
.nsc-security__summary header { margin-bottom: 14px !important; }
.nsc-security__summary-copy { margin-top: 14px; }
.nsc-security a:focus-visible, .nsc-security button:focus-visible, .nsc-security input:focus-visible { outline: 3px solid #00aabe; outline-offset: 3px; }
@media (max-width: 1180px) { .nsc-security__grid { grid-template-columns: 215px minmax(0, 1fr); } .nsc-security__workspace { grid-template-columns: 1fr; } .nsc-security__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .nsc-security__grid { grid-template-columns: 1fr; } .nsc-security__rail { grid-template-columns: 1fr; } .nsc-security__summary { max-width: none; } }

/* Phase 12 — order history and historical order snapshots reuse the accepted account family. */
.nsc-orders, .nsc-order-detail { color: #102238; }
.nsc-orders__welcome { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; }
.nsc-orders__welcome > span, .nsc-order-detail__icon { display: grid; width: 53px; height: 53px; flex: 0 0 53px; place-items: center; border-radius: 50%; background: #eaf8f9; color: #009cab; }
.nsc-orders__welcome .nsc-customer-area-icon, .nsc-order-detail__icon .nsc-customer-area-icon { width: 26px; height: 26px; }
.nsc-orders__welcome h1 { margin: 0 0 3px; font-size: 1.48rem; line-height: 1.15; }
.nsc-orders__welcome p, .nsc-orders__list-header p, .nsc-order-detail__card header > p { margin: 0; color: #52647a; font-size: .86rem; }
.nsc-orders__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 14px; align-items: start; }
.nsc-orders__content, .nsc-order-detail__main, .nsc-order-detail__rail { display: grid; gap: 14px; min-width: 0; }
.nsc-orders__list-header, .nsc-orders__row, .nsc-orders__empty, .nsc-order-detail__card { border: 1px solid #e2e8ed; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgb(16 34 56 / 3%); }
.nsc-orders__list-header { padding: 15px 16px; }
.nsc-orders__list-header h2, .nsc-order-detail__card h2 { margin: 0 0 3px; padding: 0; border: 0; font-size: .96rem; }
.nsc-orders__list { display: grid; gap: 10px; }
.nsc-orders__row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 11px 12px; }
.nsc-orders__row-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #eaf8f9; color: #009cab; }
.nsc-orders__row-icon .nsc-customer-area-icon { width: 18px; height: 18px; }
.nsc-orders__row-main { display: flex; min-width: 0; align-items: start; justify-content: space-between; gap: 10px; }
.nsc-orders__eyebrow { margin: 0 0 2px; color: #718195; font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.nsc-orders__row h2 { margin: 0; font-size: .93rem; }
.nsc-orders__row h2 a { color: #18324e; text-decoration: none; }
.nsc-orders__row h2 a:hover { color: #008f9e; }
.nsc-orders__row-main p:not(.nsc-orders__eyebrow) { margin: 4px 0 0; color: #65778b; font-size: .74rem; }
.nsc-orders__status, .nsc-order-detail__status { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #e8f8fa; color: #008f9e; font-size: .64rem; font-weight: 800; white-space: nowrap; }
.nsc-orders__row-meta { display: grid; grid-template-columns: repeat(3, minmax(78px, 1fr)); grid-column: 2 / 3; gap: 5px 15px; margin: 0; }
.nsc-orders__row-meta div { min-width: 0; }
.nsc-orders__row-meta dt { margin-bottom: 2px; color: #718195; font-size: .62rem; }
.nsc-orders__row-meta dd { margin: 0; color: #31475e; font-size: .73rem; font-weight: 700; }
.nsc-orders__details, .nsc-order-detail__document-link, .nsc-order-detail__provider-link { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; gap: 7px; border-radius: 6px; color: #009cab; font-size: .72rem; font-weight: 800; text-decoration: none; }
.nsc-orders__details { grid-row: 1 / span 2; grid-column: 3; padding: 0 10px; border: 1px solid #dce6eb; }
.nsc-orders__details:hover { border-color: #8bdbe3; background: #f3fbfc; }
.nsc-orders__empty { display: flex; align-items: center; gap: 15px; padding: 22px; }
.nsc-orders__empty > span { color: #009cab; }
.nsc-orders__empty .nsc-customer-area-icon { width: 32px; height: 32px; }
.nsc-orders__empty h2 { margin: 0; font-size: .96rem; }
.nsc-orders__empty p { max-width: 500px; margin: 5px 0 10px; color: #64758a; font-size: .78rem; line-height: 1.5; }
.nsc-orders__empty a, .nsc-order-detail__back { color: #009cab; font-size: .76rem; font-weight: 800; text-decoration: none; }
.nsc-orders__pagination { display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: #64758a; font-size: .74rem; }
.nsc-orders__pagination a, .nsc-orders__pagination span { min-width: 72px; text-align: center; }
.nsc-orders__pagination a { color: #009cab; font-weight: 800; text-decoration: none; }
.nsc-orders__pagination [aria-disabled='true'] { color: #a5b0bb; }
.nsc-order-detail__back { display: inline-block; margin-bottom: 13px; }
.nsc-order-detail__hero { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 17px 18px; border-radius: 10px; background: linear-gradient(120deg, #effafb, #fff); }
.nsc-order-detail__hero p { margin: 0 0 3px; color: #65778b; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.nsc-order-detail__hero h1 { margin: 0; font-size: 1.45rem; }
.nsc-order-detail__hero span { display: block; margin-top: 4px; color: #607286; font-size: .76rem; }
.nsc-order-detail__hero > div:last-child { text-align: right; }
.nsc-order-detail__hero strong { display: block; margin-top: 7px; font-size: 1rem; }
.nsc-order-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 320px); gap: 14px; align-items: start; }
.nsc-order-detail__card { padding: 15px; }
.nsc-order-detail__card > header { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.nsc-order-detail__card > header > div { min-width: 0; }
.nsc-order-detail__card > header .nsc-order-detail__icon { width: 34px; height: 34px; flex-basis: 34px; }
.nsc-order-detail__card > header .nsc-order-detail__icon .nsc-customer-area-icon { width: 17px; height: 17px; }
.nsc-order-detail__timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: relative; margin: 15px 4px 4px; padding: 0; list-style: none; }
.nsc-order-detail__timeline::before { position: absolute; top: 8px; right: 12.5%; left: 12.5%; height: 2px; background: #d6e6e9; content: ''; }
.nsc-order-detail__timeline li { position: relative; z-index: 1; display: grid; justify-items: center; min-width: 0; color: #748497; text-align: center; }
.nsc-order-detail__timeline i { display: grid; width: 17px; height: 17px; place-items: center; border: 2px solid #c7d6db; border-radius: 50%; background: #fff; color: #fff; font-size: 9px; font-style: normal; }
.nsc-order-detail__timeline .is-complete i { border-color: #0aaaba; background: #0aaaba; }
.nsc-order-detail__timeline span { margin-top: 5px; font-size: .62rem; font-weight: 800; white-space: nowrap; }
.nsc-order-detail__timeline-note { margin: 0; color: #64758a; font-size: .78rem; }
.nsc-order-detail__items { margin: 0; padding: 0; list-style: none; }
.nsc-order-detail__item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto auto; gap: 11px; align-items: center; padding: 11px 0; border-top: 1px solid #edf1f4; }
.nsc-order-detail__item:first-child { padding-top: 0; border-top: 0; }
.nsc-order-detail__item-image { display: block; width: 42px; height: 48px; border-radius: 6px; background: linear-gradient(145deg, #f4f7f8, #e7eef0); }
.nsc-order-detail__item h3 { margin: 0; color: #24394f; font-size: .8rem; }
.nsc-order-detail__item span, .nsc-order-detail__item small { display: block; margin-top: 3px; color: #718195; font-size: .67rem; }
.nsc-order-detail__item p, .nsc-order-detail__item strong { margin: 0; color: #50657a; font-size: .72rem; white-space: nowrap; }
.nsc-order-detail__item strong { color: #18324e; }
.nsc-order-detail__addresses > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nsc-order-detail__address { padding: 11px; border-radius: 7px; background: #f7fafb; }
.nsc-order-detail__address h3 { margin: 0 0 8px; font-size: .72rem; }
.nsc-order-detail__address address { display: grid; color: #64758a; font-size: .71rem; font-style: normal; line-height: 1.45; }
.nsc-order-detail__address address strong { color: #31475e; }
.nsc-order-detail__totals dl { margin: 0; }
.nsc-order-detail__totals dl > div { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 12px; padding: 7px 0; color: #5e7084; font-size: .74rem; }
.nsc-order-detail__totals dt, .nsc-order-detail__totals dd { margin: 0; }
.nsc-order-detail__totals dd { min-width: 8.5ch; color: #31475e; font-variant-numeric: tabular-nums; font-weight: 700; text-align: right; white-space: nowrap; }
.nsc-order-detail__totals .nsc-order-detail__grand-total { margin-top: 5px; padding-top: 12px; border-top: 1px solid #dce6eb; color: #18324e; font-size: .86rem; font-weight: 800; }
.nsc-order-detail__totals .nsc-order-detail__grand-total dd { color: #18324e; font-size: .9rem; }
.nsc-order-detail__payment { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid #edf1f4; color: #65778b; font-size: .72rem; }
.nsc-order-detail__payment strong { color: #31475e; }
.nsc-order-detail__document-link, .nsc-order-detail__provider-link { width: 100%; padding: 0 10px; border: 1px solid #dce6eb; color: #31475e; }
.nsc-order-detail__document-link:hover, .nsc-order-detail__provider-link:hover { border-color: #8bdbe3; background: #f3fbfc; }
.nsc-order-detail__document-link .nsc-customer-area-icon { width: 16px; height: 16px; color: #009cab; }
.nsc-order-detail__rail > .nsc-order-detail__card > p { margin: 4px 0; color: #52647a; font-size: .75rem; }
.nsc-order-detail__muted { color: #718195 !important; font-size: .72rem !important; line-height: 1.45; }
.nsc-orders a:focus-visible, .nsc-order-detail a:focus-visible { outline: 3px solid #00aabe; outline-offset: 3px; }
@media (max-width: 1180px) { .nsc-orders__grid { grid-template-columns: 215px minmax(0, 1fr); } .nsc-order-detail__grid { grid-template-columns: minmax(0, 1fr) 260px; } }
@media (max-width: 900px) { .nsc-orders__grid, .nsc-order-detail__grid { grid-template-columns: 1fr; } .nsc-orders__grid .nsc-account-overview__side .nsc-customer__navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nsc-order-detail__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nsc-order-detail__rail > :first-child { grid-column: 1 / -1; } }
@media (max-width: 620px) { .nsc-orders__row { grid-template-columns: 38px minmax(0, 1fr); gap: 11px; } .nsc-orders__row-meta { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); } .nsc-orders__details { grid-row: auto; grid-column: 1 / -1; } .nsc-orders__row-main { display: block; } .nsc-orders__status { margin-top: 7px; } .nsc-order-detail__hero { align-items: start; flex-direction: column; } .nsc-order-detail__hero > div:last-child { text-align: left; } .nsc-order-detail__item { grid-template-columns: 48px minmax(0, 1fr) auto; } .nsc-order-detail__item strong { grid-column: 2 / -1; } .nsc-order-detail__addresses > div, .nsc-order-detail__rail { grid-template-columns: 1fr; } .nsc-order-detail__rail > :first-child { grid-column: auto; } }
@media (max-width: 420px) { .nsc-orders__row-meta { grid-template-columns: 1fr; } .nsc-order-detail__timeline span { font-size: .53rem; white-space: normal; } .nsc-order-detail__item p { display: none; } }
@media (max-width: 520px) { .nsc-security__welcome { align-items: flex-start; } .nsc-security__card { padding: 16px; } .nsc-security__session-actions, .nsc-security__session-actions form { display: grid; } .nsc-security__session-actions > *, .nsc-security__session-actions form > button { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
	.nsc-customer *, .nsc-customer *::before, .nsc-customer *::after { transition: none !important; }
}

/* Login fidelity composition: only the anonymous login route receives this layout. */
.nsc-customer--login {
	padding-top: 18px;
	padding-bottom: 22px;
}

.nsc-login__breadcrumbs {
	margin: 0 0 14px;
	color: #587084;
	font-size: .82rem;
	font-weight: 700;
}

.nsc-login__breadcrumbs ol {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsc-login__breadcrumbs li {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	padding: 0;
	border: 0;
}

.nsc-login__breadcrumbs li:not(:last-child)::after {
	content: '›';
	color: #9ba9b4;
	font-size: 1.1em;
}

.nsc-login__breadcrumbs a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #0095aa;
	text-decoration: none;
}

.nsc-login__breadcrumbs a:hover { text-decoration: underline; }
.nsc-login__crumb-icon { width: 15px; height: 15px; }

.nsc-login {
	display: grid;
	grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
	gap: 24px;
	align-items: stretch;
}

.nsc-login__card,
.nsc-login__promo {
	min-height: 476px;
	border-radius: 14px;
}

.nsc-login__card {
	display: flex;
	flex-direction: column;
	padding: 28px 56px 22px;
	background: #fff;
	border: 1px solid var(--line, #e4e8eb);
	box-shadow: 0 10px 24px rgb(16 34 56 / 7%);
}

.nsc-login__header h1 {
	margin: 0;
	font-size: clamp(1.55rem, 2.2vw, 1.95rem);
	line-height: 1.15;
}

.nsc-customer .nsc-login__header p {
	margin: 7px 0 18px;
	font-size: .98rem;
	color: #536276;
}

.nsc-customer .nsc-login__form {
	display: grid;
	gap: 13px;
	margin: 0;
}

.nsc-login__field {
	display: grid;
	gap: 6px;
	font-size: .78rem;
}

.nsc-login__input-wrap {
	position: relative;
	display: block;
}

.nsc-login__input-wrap input {
	min-height: 40px;
	padding-left: 40px;
	border-color: #dce3e8;
	border-radius: 9px;
	font-size: .87rem;
}

.nsc-login__input-wrap input::placeholder { color: #8996a4; }

.nsc-login__field-icon {
	position: absolute;
	top: 50%;
	left: 12px;
	width: 17px;
	height: 17px;
	transform: translateY(-50%);
	color: #94a1af;
	pointer-events: none;
}

.nsc-login__options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: -1px;
	font-size: .77rem;
}

.nsc-login__options label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: inherit;
	font-weight: 600;
	white-space: nowrap;
}

.nsc-login__options input[type='checkbox'] {
	width: 15px;
	min-height: 15px;
}

.nsc-login__options a { font-size: inherit; }

.nsc-login__submit {
	width: 100%;
	min-height: 42px;
	margin-top: 1px;
	border-radius: 9px;
	background: linear-gradient(105deg, #00afc2, #008ba2);
	box-shadow: 0 6px 13px rgb(0 170 190 / 22%);
}

.nsc-login__submit:hover { background: linear-gradient(105deg, #009eae, #007b91); }

.nsc-login__separator {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0;
	color: #718095;
	font-size: .76rem;
	text-align: center;
}

.nsc-login__separator::before,
.nsc-login__separator::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #dce3e8;
}

.nsc-login__social {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11px;
}

.nsc-login__social button,
.nsc-login__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 39px;
	padding: 0 10px;
	border: 1px solid #dce3e8;
	border-radius: 9px;
	background: #fff;
	color: #344458;
	font-size: .76rem;
	font-weight: 800;
	cursor: not-allowed;
	opacity: .72;
}

.nsc-login__social a { color: #344458; text-decoration: none; }
.nsc-login__social a:hover { border-color: #90dfe6; background: #f4fcfd; }
.nsc-login__social a:focus-visible, .nsc-login__notice:focus-visible { outline: 3px solid #00aabe; outline-offset: 3px; }
.nsc-login__notice { margin: 0 0 14px; padding: 10px 12px; border: 1px solid #f1c7d0; border-radius: 8px; background: #fff6f7; color: #9f1230; font-size: .82rem; }
.nsc-login__social-icon { width: 17px; height: 17px; flex: 0 0 17px; }

.nsc-customer .nsc-login__availability {
	margin: 8px 0 0;
	color: #768495;
	font-size: .71rem;
	text-align: center;
}

.nsc-login__register {
	margin-top: auto;
	padding-top: 15px;
	border-top: 1px solid #dce3e8;
	color: #55657a;
	font-size: .88rem;
}

.nsc-login__promo {
	position: relative;
	overflow: hidden;
	padding: 28px 40px;
	background-color: #0d2a41;
	background-image: linear-gradient(90deg, rgb(8 31 49 / 98%) 0%, rgb(8 31 49 / 91%) 39%, rgb(8 31 49 / 22%) 100%), url('../images/customer-login-shopping-bag.png');
	background-repeat: no-repeat;
	background-position: center, center 60%;
	background-size: cover, cover;
	box-shadow: 0 10px 24px rgb(16 34 56 / 12%);
	color: #fff;
}

.nsc-login__promo-content { position: relative; z-index: 1; max-width: 54%; }

.nsc-login__wordmark {
	margin: 0 0 13px;
	color: #fff !important;
	font-size: 2.65rem;
	font-weight: 400;
	letter-spacing: -3px;
	line-height: .7;
}

.nsc-login__wordmark span {
	display: block;
	margin: 7px 0 0 43px;
	color: var(--cyan, #00aabe);
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: 4px;
}

.nsc-login__promo h2 {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	color: #fff;
	font-size: clamp(1.16rem, 1.7vw, 1.45rem);
	line-height: 1.2;
}

.nsc-customer .nsc-login__promo-intro {
	margin: 0 0 19px;
	color: #f2f7f9 !important;
	font-size: .82rem;
	line-height: 1.45;
}

.nsc-customer .nsc-login__benefits {
	display: grid;
	gap: 13px;
	margin: 0;
	padding: 0;
}

.nsc-customer .nsc-login__benefits li {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	color: #fff;
}

.nsc-login__benefit-icon {
	width: 38px;
	height: 38px;
	padding: 9px;
	border: 1px solid rgb(104 237 246 / 38%);
	border-radius: 50%;
	background: rgb(0 170 190 / 28%);
	color: #c7fbff;
}

.nsc-login__benefits strong,
.nsc-login__benefits small { display: block; }
.nsc-login__benefits strong { font-size: .79rem; }
.nsc-login__benefits small { margin-top: 2px; color: #eff8fb; font-size: .70rem; line-height: 1.25; }

@media (max-width: 1100px) {
	.nsc-login__card { padding-inline: 34px; }
	.nsc-login__promo { padding-inline: 28px; }
	.nsc-login__promo-content { max-width: 61%; }
}

@media (max-width: 840px) {
	.nsc-login { grid-template-columns: 1fr; }
	.nsc-login__promo { min-height: 410px; }
	.nsc-login__promo-content { max-width: 58%; }
}

@media (max-width: 720px) {
	.nsc-customer--login { padding-top: 12px; }
	.nsc-login__breadcrumbs { margin-bottom: 11px; font-size: .74rem; }
	.nsc-login__breadcrumbs li { gap: 7px; }
	.nsc-login__card { min-height: 0; padding: 24px 18px 20px; }
	.nsc-login__header p { margin-bottom: 17px; font-size: .89rem; }
	.nsc-login__options { align-items: flex-start; flex-direction: column; gap: 8px; }
	.nsc-login__separator { margin: 17px 0; }
	.nsc-login__social { grid-template-columns: 1fr; }
	.nsc-login__social button { min-height: 43px; }
	.nsc-login__register { margin-top: 18px; }
	.nsc-login__promo { min-height: 355px; padding: 26px 22px; background-position: center, center 60%; }
	.nsc-login__promo-content { max-width: 63%; }
	.nsc-login__benefits { gap: 9px; }
	.nsc-login__benefits li { grid-template-columns: 33px minmax(0, 1fr); gap: 8px; }
	.nsc-login__benefit-icon { width: 33px; height: 33px; padding: 8px; }
	.nsc-login__benefits li:nth-child(n+3) { display: none; }
}

/* Phase 06: registration and verification use the shared shell, not a second page chrome. */
.nsc-customer--register{padding-bottom:14px}.nsc-register{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.19fr);gap:20px;max-width:1296px;margin:0 auto}.nsc-register__breadcrumbs{max-width:1296px;margin:17px auto 14px;font-size:13px;font-weight:650;color:#39516d}.nsc-register__breadcrumbs ol{display:flex;align-items:center;gap:13px;padding:0;margin:0;list-style:none}.nsc-register__breadcrumbs li+li:before{content:'›';margin-right:13px;color:#8291a3}.nsc-register__breadcrumbs a{color:#00a5bb;text-decoration:none}.nsc-register__card{padding:26px 78px 15px;border:1px solid #e1e8ef;border-radius:13px;background:#fff;box-shadow:0 2px 7px rgba(8,37,65,.055)}.nsc-register__card header h1{margin:0;color:#112c49;font-size:25px;line-height:1.1}.nsc-register__card header p{max-width:400px;margin:5px 0 16px;color:#435b76;font-size:14px;line-height:1.38}.nsc-register__notice{margin:0 0 12px;padding:9px 11px;border:1px solid #91dce5;border-radius:7px;background:#edfafe;color:#075b72;font-size:13px;line-height:1.35}.nsc-register__form{display:grid;gap:9px}.nsc-register__names{display:grid;grid-template-columns:1fr 1fr;gap:22px}.nsc-register__form label>span:first-child{display:block;margin:0 0 5px;color:#15304c;font-size:12px;font-weight:750}.nsc-register__input-wrap{position:relative;display:flex!important;align-items:center;border:1px solid #d6e0ea;border-radius:7px;background:#fff;min-height:31px}.nsc-register__input-wrap:focus-within{border-color:#009eb3;box-shadow:0 0 0 3px rgba(0,166,187,.12)}.nsc-register__field-icon{width:17px;height:17px;margin:0 8px 0 10px;flex:none;color:#8290a2}.nsc-register__input-wrap input{width:100%;min-width:0;height:29px;padding:0 9px 0 0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;color:#172f4a;font:inherit;font-size:12px}.nsc-register__input-wrap input::placeholder{color:#9aa7b8}.nsc-register__password-hint{margin:-2px 0 1px;color:#687b91;font-size:10px}.nsc-register__consents{display:grid;gap:7px;padding:0;margin:1px 0 3px;border:0}.nsc-register__consents legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nsc-register__consents label{display:flex;align-items:flex-start;gap:7px;color:#233c59;font-size:11px;line-height:1.35;cursor:pointer}.nsc-register__consents label>span:first-child{margin:0}.nsc-register__consents input{width:15px;height:15px;flex:none;margin:0;accent-color:#00a4b8}.nsc-register__consents a,.nsc-register footer a{color:#009db4;font-weight:750;text-decoration:none}.nsc-register__submit,.nsc-verification__cta{display:flex;align-items:center;justify-content:center;min-height:34px;border:0;border-radius:7px;background:linear-gradient(90deg,#00a8bb,#008ca4);color:#fff;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.nsc-register__separator{display:flex;align-items:center;gap:10px;margin:13px 0 9px;color:#667c94;font-size:10px;text-align:center}.nsc-register__separator:before,.nsc-register__separator:after{content:'';height:1px;flex:1;background:#dfe7ee}.nsc-register__social{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nsc-register__social a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;border:1px solid #d8e1e9;border-radius:7px;color:#1b344f;font-size:12px;font-weight:750;text-decoration:none}.nsc-register__social a:hover{border-color:#00a4b8;background:#f4fcfd}.nsc-register__social-icon{width:16px;height:16px}.nsc-register__availability{margin:8px 0 0;color:#718398;font-size:10px;text-align:center}.nsc-register footer{margin-top:9px;color:#1c3652;font-size:12px;font-weight:650}.nsc-register__promo{position:relative;display:flex;overflow:hidden;min-height:500px;border-radius:13px;background:radial-gradient(circle at 75% 52%,rgba(0,169,190,.25),transparent 34%),linear-gradient(135deg,#103b5c,#061c34 80%);color:#fff}.nsc-register__promo:after{position:absolute;inset:0;content:'';background:radial-gradient(ellipse at 72% 70%,transparent 0 42%,rgba(0,193,213,.78) 42.2% 42.7%,transparent 43%);pointer-events:none}.nsc-register__promo-copy{position:relative;z-index:2;width:53%;padding:31px 0 24px 52px}.nsc-register__wordmark{margin:0 0 18px!important;color:#fff!important;font-size:53px!important;letter-spacing:-3px;line-height:.75!important}.nsc-register__wordmark span{display:block;margin-left:43px;color:#06c4d2;font-size:9px;letter-spacing:5px}.nsc-register__promo h2{margin:0 0 9px;font-size:25px;line-height:1.12}.nsc-register__promo-copy>p:not(.nsc-register__wordmark){margin:0;max-width:290px;font-size:14px;line-height:1.45}.nsc-register__promo ul{display:grid;gap:16px;padding:0;margin:27px 0 0;list-style:none}.nsc-register__promo li{display:flex;align-items:center;gap:13px}.nsc-register__benefit-icon{width:44px;height:44px;flex:none;padding:10px;border-radius:50%;background:linear-gradient(145deg,#0bc7d5,#006581);box-sizing:border-box}.nsc-register__promo li strong,.nsc-register__promo li small{display:block}.nsc-register__promo li strong{font-size:14px}.nsc-register__promo li small{max-width:180px;margin-top:2px;color:#edf8ff;font-size:12px;line-height:1.25}.nsc-register__promo img{position:absolute;z-index:1;right:0;bottom:0;width:61%;height:auto;object-fit:contain;filter:drop-shadow(-10px 20px 14px rgba(0,0,0,.32))}.nsc-customer--verification{min-height:430px;display:grid;place-items:center;padding:50px 20px}.nsc-verification{width:min(520px,100%);padding:44px 40px;border:1px solid #e0e8ef;border-radius:15px;background:#fff;box-shadow:0 3px 16px rgba(8,37,65,.08);text-align:center}.nsc-verification__symbol{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border-radius:50%;background:#e4f8fa;color:#009fb4;font-size:31px;font-weight:800}.nsc-verification__symbol--invalid{background:#fff2e9;color:#c15b24}.nsc-verification h1{margin:0;color:#112c49;font-size:27px}.nsc-verification p{margin:10px auto 20px;color:#526a83;line-height:1.5}.nsc-verification__notice{padding:9px;border-radius:7px;background:#eefbfd;color:#075b72;font-size:13px}.nsc-verification form{margin:0}.nsc-verification__cta{width:100%;min-height:42px}.nsc-register input:focus-visible,.nsc-register a:focus-visible,.nsc-register button:focus-visible,.nsc-verification a:focus-visible,.nsc-verification button:focus-visible{outline:3px solid #f2bd58;outline-offset:3px}
@media (max-width:1100px){.nsc-register{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)}.nsc-register__card{padding-inline:38px}.nsc-register__promo-copy{padding-left:35px}.nsc-register__promo h2{font-size:22px}.nsc-register__promo img{width:66%}}
@media (max-width:800px){.nsc-register{grid-template-columns:1fr}.nsc-register__promo{min-height:430px}.nsc-register__promo-copy{width:56%;padding-left:55px}.nsc-register__card{padding:28px 52px}.nsc-register__breadcrumbs{margin-inline:0}.nsc-register__promo img{width:48%}}
@media (max-width:520px){.nsc-customer--register{padding-inline:12px}.nsc-register__breadcrumbs{font-size:11px;gap:8px}.nsc-register__breadcrumbs li+li:before{margin-right:8px}.nsc-register__card{padding:24px 18px 17px}.nsc-register__card header h1{font-size:23px}.nsc-register__names,.nsc-register__social{grid-template-columns:1fr}.nsc-register__promo{min-height:420px}.nsc-register__promo-copy{width:64%;padding:28px 0 20px 25px}.nsc-register__wordmark{font-size:44px!important}.nsc-register__promo h2{font-size:20px}.nsc-register__promo-copy>p:not(.nsc-register__wordmark){font-size:12px}.nsc-register__promo ul{gap:12px;margin-top:20px}.nsc-register__benefit-icon{width:37px;height:37px;padding:8px}.nsc-register__promo li strong{font-size:12px}.nsc-register__promo li small{font-size:10px}.nsc-register__promo img{width:48%;right:-3%}.nsc-verification{padding:35px 23px}.nsc-verification h1{font-size:23px}}

/* Keep the shared keyboard focus indicator above route-specific :focus styling. */
.nsc-customer input:focus-visible,
.nsc-customer select:focus-visible,
.nsc-customer textarea:focus-visible,
.nsc-customer button:focus-visible,
.nsc-customer a:focus-visible,
.nsc-customer summary:focus-visible { outline: 3px solid rgb(0 170 190 / 68%); outline-offset: 3px; }
