/**
 * Iteration 26 account, permissions and representation layer.
 */

.snm-frontend [hidden] {
	display: none !important;
}

/* Iteration 62.2: purchasing hub and automatic product-industry links. */
.snm-purchase-hero__actions,
.snm-purchase-workflow__actions,
.snm-material-industry-link-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.snm-purchase-hero__icon {
	display: grid;
	place-items: center;
	min-height: 210px;
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 28px;
	background: color-mix(in srgb, var(--snm-accent-soft, #def2ef) 72%, transparent);
}

.snm-purchase-hero__icon svg {
	width: 124px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.4;
}

.snm-purchase-topic-grid,
.snm-material-industry-links__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.snm-purchase-topic-card,
.snm-material-industry-link-card {
	display: flex;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--snm-border, #dce4e2);
	border-radius: 20px;
	background: var(--snm-card-bg, #fff);
}

.snm-purchase-topic-card__icon,
.snm-material-industry-link-card > svg {
	display: grid;
	flex: 0 0 48px;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	color: var(--snm-accent, #087a72);
	background: var(--snm-accent-soft, #def2ef);
}

.snm-purchase-topic-card svg,
.snm-material-industry-link-card > svg {
	width: 25px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.snm-purchase-topic-card h3,
.snm-material-industry-link-card h3 {
	margin: 0 0 8px;
}

.snm-purchase-topic-card p,
.snm-material-industry-link-card p {
	margin: 0;
	color: var(--snm-muted, #5e7072);
}

.snm-purchase-workflow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 32px;
	border-radius: 24px;
	color: #fff;
	background: linear-gradient(135deg, var(--snm-accent-strong, #075f5a), #082f34);
}

.snm-purchase-workflow h2 {
	margin: 6px 0 10px;
	color: inherit;
}

.snm-purchase-workflow p {
	max-width: 760px;
	margin: 0;
	color: color-mix(in srgb, #fff 82%, transparent);
}

.snm-home-purchase__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.snm-home-purchase__steps span {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--snm-border, #dce4e2);
	border-radius: 14px;
}

.snm-home-purchase__steps svg {
	width: 24px;
	fill: none;
	stroke: var(--snm-accent, #087a72);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.snm-material-industry-links {
	margin: 32px 0;
}

.snm-material-industry-link-card {
	display: block;
}

.snm-material-industry-link-card > svg {
	margin-bottom: 16px;
}

.snm-material-industry-link-card__actions a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--snm-border, #dce4e2);
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
}

.snm-directory-spec-card h3 {
	margin: 20px 0 6px;
	font-size: 1rem;
}

@media (max-width: 760px) {
	.snm-purchase-topic-grid,
	.snm-material-industry-links__grid,
	.snm-home-purchase__steps {
		grid-template-columns: 1fr;
	}

	.snm-purchase-workflow {
		align-items: flex-start;
		flex-direction: column;
		padding: 22px;
	}

	.snm-purchase-workflow__actions,
	.snm-purchase-workflow__actions a,
	.snm-purchase-hero__actions,
	.snm-purchase-hero__actions a {
		width: 100%;
	}
}

/* Iteration 62.1: separate the broad industry from exact product markers. */
.snm-frontend .snm-directory-card__facet-group {
	display: grid;
	gap: 6px;
}

.snm-frontend .snm-directory-card__facet-group > strong {
	color: var(--snm-muted, #64748b);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1.2;
	text-transform: uppercase;
}

.snm-frontend .snm-directory-card__facet-group + .snm-directory-card__facet-group {
	margin-top: 2px;
}

.snm-directory-map__popup-products,
.snm-directory-google-map__popup-products,
.snm-directory-yandex-map__balloon-products {
	display: block;
	margin-top: 4px;
	color: #334155;
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.4;
}

/* Optional, evidence-backed manufacturer verification. */
.snm-frontend .snm-verification-state {
	display: inline-flex;
	min-height: 26px;
	box-sizing: border-box;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef2f3;
	color: #54666a;
	font-size: .62rem;
	font-weight: 780;
	line-height: 1.25;
}
.snm-frontend .snm-verification-state.is-info { background: #e6f0ff; color: #2458a6; }
.snm-frontend .snm-verification-state.is-warning { background: #fff2cf; color: #855b00; }
.snm-frontend .snm-verification-state.is-error { background: #fee8e8; color: #982f32; }
.snm-public-verification {
	display: grid;
	gap: 14px;
	padding: 15px;
	border: 1px solid var(--snm-line);
	border-left: 4px solid #8a9a9d;
	border-radius: 13px;
	background: #f7f9f9;
}
.snm-public-verification.is-success { border-left-color: var(--snm-success); background: #f1faf6; }
.snm-public-verification.is-info { border-left-color: #3575c5; background: #f1f6fd; }
.snm-public-verification.is-warning { border-left-color: #d28a08; background: #fff9ea; }
.snm-public-verification.is-error { border-left-color: #be3d43; background: #fff3f3; }
.snm-public-verification__status { display: flex; align-items: flex-start; gap: 10px; }
.snm-public-verification__status > span {
	display: grid;
	width: 27px;
	height: 27px;
	flex: 0 0 27px;
	border-radius: 50%;
	background: #dfe7e8;
	color: #42595d;
	font-weight: 850;
	place-items: center;
}
.snm-public-verification.is-success .snm-public-verification__status > span { background: #d7f2e5; color: var(--snm-success); }
.snm-public-verification.is-info .snm-public-verification__status > span { background: #dceafd; color: #2458a6; }
.snm-public-verification.is-warning .snm-public-verification__status > span { background: #ffebba; color: #855b00; }
.snm-public-verification.is-error .snm-public-verification__status > span { background: #fbdcdd; color: #982f32; }
.snm-public-verification__status > div { display: grid; gap: 3px; }
.snm-public-verification__status strong { color: var(--snm-ink-strong); font-size: .79rem; }
.snm-public-verification__status small { color: var(--snm-muted); font-size: .68rem; line-height: 1.48; }
.snm-public-verification__summary { color: var(--snm-ink) !important; font-size: .72rem !important; }
.snm-public-verification__facts { display: grid; gap: 7px; margin: 0; }
.snm-public-verification__facts > div { display: grid; grid-template-columns: minmax(100px, .75fr) minmax(0, 1.25fr); gap: 10px; }
.snm-public-verification__facts dt { color: var(--snm-muted); font-size: .65rem; }
.snm-public-verification__facts dd { margin: 0; color: var(--snm-ink-strong); font-size: .68rem; font-weight: 730; overflow-wrap: anywhere; }
.snm-public-verification__scopes { display: grid; gap: 7px; }
.snm-public-verification__scopes > strong,
.snm-public-verification__evidence h3 { margin: 0; color: var(--snm-ink-strong); font-size: .72rem; }
.snm-public-verification__scopes ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.snm-public-verification__scopes li { padding: 4px 7px; border-radius: 8px; background: #fff; color: var(--snm-muted); font-size: .62rem; }
.snm-public-verification__evidence { display: grid; gap: 8px; padding-top: 11px; border-top: 1px solid var(--snm-line); }
.snm-public-verification__evidence > ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.snm-public-verification__evidence li { display: grid; gap: 5px; padding: 10px; border-radius: 10px; background: #fff; }
.snm-public-verification__evidence li > div { display: grid; gap: 2px; }
.snm-public-verification__evidence li strong { color: var(--snm-ink-strong); font-size: .69rem; overflow-wrap: anywhere; }
.snm-public-verification__evidence li span { color: var(--snm-muted); font-size: .61rem; line-height: 1.4; }
.snm-public-verification__evidence li p { color: var(--snm-ink) !important; font-size: .66rem !important; }
.snm-public-verification__evidence li a,
.snm-public-verification__evidence li code { width: fit-content; font-size: .64rem; overflow-wrap: anywhere; }
.snm-card-information-sources {
	display: grid;
	gap: 8px;
	margin-top: 14px;
	padding: 13px;
	border: 1px dashed var(--snm-line);
	border-radius: 12px;
	background: #fafcfc;
}
.snm-card-information-sources h3 { margin: 0; color: var(--snm-ink-strong); font-size: .75rem; }
.snm-card-information-sources p { margin: 0; color: var(--snm-muted) !important; font-size: .67rem !important; line-height: 1.5; }
.snm-card-information-sources > small { color: var(--snm-muted); font-size: .63rem; }
.snm-card-information-sources ul { display: grid; gap: 5px; margin: 0; padding-left: 18px; }
.snm-card-information-sources a { font-size: .67rem; overflow-wrap: anywhere; }

.snm-account__shell {
	gap: 24px !important;
	padding-top: clamp(28px, 4vw, 58px) !important;
}

.snm-account-hero,
.snm-account-login-hero {
	position: relative;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--snm-brand) 24%, var(--snm-line));
	border-radius: 28px;
	background-color: var(--snm-brand-deep);
	background-image:
		linear-gradient(90deg, rgba(4, 35, 40, 0.98) 0%, rgba(4, 35, 40, 0.92) 45%, rgba(4, 35, 40, 0.5) 74%, rgba(4, 35, 40, 0.24) 100%),
		var(--snm-industry-banner, url("../images/industry-banners/banner-all.webp"));
	background-position: center;
	background-size: cover;
	box-shadow: var(--snm-shadow);
	color: #fff;
}

.snm-account-hero::after,
.snm-account-login-hero::after {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 30px 30px;
	content: "";
	pointer-events: none;
}

.snm-account-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(22px, 4vw, 38px);
}

.snm-account-hero > *,
.snm-account-login-hero > * {
	position: relative;
	z-index: 1;
}

.snm-account-hero__user {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 16px;
}

.snm-account-hero__avatar {
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	border: 3px solid rgba(255, 255, 255, 0.27);
	border-radius: 20px;
	object-fit: cover;
}

.snm-account-hero .snm-kicker,
.snm-account-login-hero .snm-kicker {
	margin-bottom: 4px;
	color: var(--snm-lime);
}

.snm-account-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.65rem, 3vw, 2.55rem);
	font-weight: 850;
	letter-spacing: -0.035em;
	line-height: 1.1;
	overflow-wrap: anywhere;
}

.snm-account-hero__user > div > span {
	display: block;
	margin-top: 5px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.84rem;
	overflow-wrap: anywhere;
}

.snm-account-hero__actions,
.snm-account-login-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.snm-account-hero .snm-directory-text-link,
.snm-account-login-hero .snm-directory-text-link {
	color: #d8efeb;
}

.snm-account-login-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.65fr);
	gap: clamp(28px, 5vw, 70px);
	padding: clamp(32px, 6vw, 72px);
}

.snm-account-login-hero h1 {
	max-width: 16ch;
	margin: 0;
	color: #fff;
	font-size: clamp(2.15rem, 5vw, 4.6rem);
	font-weight: 870;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.snm-account-login-hero > div:first-child > p:not(.snm-kicker) {
	max-width: 63ch;
	margin: 22px 0 26px;
	color: #cfe0de;
	font-size: clamp(0.96rem, 1.5vw, 1.1rem);
}

.snm-account-login-hero__preview {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-content: center;
	gap: 12px 14px;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(14px);
}

.snm-account-login-hero__preview > span {
	display: grid;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: rgba(199, 230, 109, 0.14);
	color: var(--snm-lime);
	font-size: 1.15rem;
	place-items: center;
}

.snm-account-login-hero__preview > div {
	display: grid;
	align-content: center;
}

.snm-account-login-hero__preview strong {
	color: #fff;
	font-size: 0.92rem;
}

.snm-account-login-hero__preview small {
	color: #b9cecb;
}

.snm-account-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border: 1px solid color-mix(in srgb, var(--snm-danger) 28%, var(--snm-line));
	border-radius: 14px;
	background: color-mix(in srgb, var(--snm-danger) 7%, var(--snm-surface));
	color: var(--snm-danger);
}

.snm-account-notice.is-success {
	border-color: color-mix(in srgb, var(--snm-success) 28%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-success) 8%, var(--snm-surface));
	color: var(--snm-success);
}

.snm-account-notice > span {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border-radius: 50%;
	background: currentColor;
	color: #fff;
	font-weight: 900;
	place-items: center;
}

.snm-account-notice p {
	margin: 0;
	color: var(--snm-ink);
	font-weight: 680;
}

.snm-account-layout {
	display: grid;
	min-width: 0;
	grid-template-columns: 230px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
}

.snm-account-nav {
	position: sticky;
	top: 94px;
	display: grid;
	gap: 5px;
	padding: 8px;
	border: 1px solid var(--snm-line);
	border-radius: 18px;
	background: var(--snm-surface);
	box-shadow: var(--snm-shadow-sm);
}

.admin-bar .snm-account-nav {
	top: 126px;
}

.snm-account-nav a {
	display: grid;
	min-height: 48px;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	padding: 8px 10px;
	border-radius: 12px;
	color: var(--snm-muted);
	font-size: 0.86rem;
	font-weight: 740;
	text-decoration: none;
}

.snm-account-nav a:hover,
.snm-account-nav a[aria-current="page"] {
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
}

.snm-account-nav__icon {
	display: grid;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: var(--snm-surface-soft);
	color: var(--snm-brand);
	font-size: 0.88rem;
	place-items: center;
}

.snm-account-nav a[aria-current="page"] .snm-account-nav__icon {
	background: var(--snm-brand);
	color: #fff;
}

.snm-account-nav small {
	min-width: 23px;
	padding: 2px 6px;
	border-radius: 999px;
	background: var(--snm-surface-soft);
	color: var(--snm-muted);
	font-size: 0.68rem;
	line-height: 1.5;
	text-align: center;
}

.snm-account-panel {
	min-width: 0;
	padding: clamp(22px, 4vw, 40px);
	border: 1px solid var(--snm-line);
	border-radius: 22px;
	background: var(--snm-surface);
	box-shadow: var(--snm-shadow-sm);
}

.snm-account-panel__heading,
.snm-account-block__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
}

.snm-account-panel__heading {
	margin-bottom: 26px;
}

.snm-account-panel__heading > div,
.snm-account-block__heading > div {
	min-width: 0;
}

.snm-account-panel__heading > div > span,
.snm-account-block__heading > div > span {
	display: block;
	margin-bottom: 4px;
	color: var(--snm-brand);
	font-size: 0.68rem;
	font-weight: 820;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.snm-account-panel__heading h2 {
	margin: 0;
	color: var(--snm-ink-strong);
	font-size: clamp(1.65rem, 3.2vw, 2.65rem);
	font-weight: 860;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.snm-account-panel__heading > p {
	max-width: 48ch;
	margin: 0;
	color: var(--snm-muted);
	font-size: 0.88rem;
	text-align: right;
}

.snm-account-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 11px;
}

.snm-account-metrics a {
	display: grid;
	min-height: 142px;
	align-content: start;
	padding: 17px;
	border: 1px solid var(--snm-line);
	border-radius: 16px;
	background: var(--snm-surface-soft);
	color: var(--snm-ink);
	text-decoration: none;
	transition: border-color 160ms ease, transform 160ms ease;
}

.snm-account-metrics a:hover {
	border-color: color-mix(in srgb, var(--snm-brand) 48%, var(--snm-line));
	transform: translateY(-2px);
}

.snm-account-metrics a > span {
	display: grid;
	width: 32px;
	height: 32px;
	margin-bottom: 12px;
	border-radius: 10px;
	background: var(--snm-surface);
	color: var(--snm-brand);
	place-items: center;
}

.snm-account-metrics a > span.is-favorite {
	color: #c43c52;
}

.snm-account-metrics strong {
	color: var(--snm-ink-strong);
	font-size: 1.75rem;
	font-weight: 870;
	line-height: 1;
}

.snm-account-metrics small {
	margin-top: 6px;
	color: var(--snm-muted);
	font-size: 0.74rem;
	line-height: 1.35;
}

.snm-account-block {
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid var(--snm-line);
}

.snm-account-block__heading {
	margin-bottom: 17px;
}

.snm-account-block__heading h3 {
	margin: 0;
	color: var(--snm-ink-strong);
	font-size: 1.32rem;
	font-weight: 830;
	letter-spacing: -0.02em;
}

.snm-account-action-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.snm-account-action-grid article {
	position: relative;
	display: flex;
	min-height: 220px;
	flex-direction: column;
	align-items: flex-start;
	padding: 19px;
	border: 1px dashed var(--snm-line-strong);
	border-radius: 16px;
	background: var(--snm-surface-soft);
	opacity: 0.72;
}

.snm-account-action-grid article.is-enabled {
	border-style: solid;
	border-color: color-mix(in srgb, var(--snm-brand) 25%, var(--snm-line));
	background: var(--snm-surface);
	opacity: 1;
}

.snm-account-action-grid article > span {
	display: grid;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand);
	font-weight: 850;
	place-items: center;
}

.snm-account-action-grid h4 {
	margin: 15px 0 6px;
	color: var(--snm-ink-strong);
	font-size: 1rem;
}

.snm-account-action-grid p {
	margin: 0 0 14px;
	color: var(--snm-muted);
	font-size: 0.8rem;
	line-height: 1.55;
}

.snm-account-action-grid a,
.snm-account-action-grid small {
	margin-top: auto;
	color: var(--snm-brand-strong);
	font-size: 0.76rem;
	font-weight: 780;
	text-decoration: none;
}

.snm-account-action-grid small {
	color: var(--snm-muted);
}

.snm-account-favorites-grid,
.snm-account-owned-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.snm-account-empty {
	display: grid;
	min-height: 310px;
	grid-template-columns: 64px minmax(0, 560px);
	align-content: center;
	justify-content: center;
	gap: 18px;
	padding: 34px;
	border: 1px dashed var(--snm-line-strong);
	border-radius: 18px;
	background: var(--snm-surface-soft);
}

.snm-account-empty--compact {
	min-height: 150px;
	justify-content: start;
}

.snm-account-empty > span {
	display: grid;
	width: 64px;
	height: 64px;
	border-radius: 19px;
	background: var(--snm-surface);
	box-shadow: var(--snm-shadow-sm);
	color: var(--snm-brand);
	font-size: 1.35rem;
	place-items: center;
}

.snm-account-empty h3 {
	margin: 3px 0 5px;
	color: var(--snm-ink-strong);
	font-size: 1.25rem;
}

.snm-account-empty p {
	margin: 0 0 14px;
	color: var(--snm-muted);
}

.snm-request-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	margin-bottom: 20px;
	padding: 13px;
	border: 1px solid var(--snm-line);
	border-radius: 15px;
	background: var(--snm-surface-soft);
}

.snm-request-filters label {
	display: grid;
	flex: 1 1 190px;
	gap: 4px;
}

.snm-request-filters label > span {
	color: var(--snm-muted);
	font-size: 0.68rem;
	font-weight: 760;
	text-transform: uppercase;
}

.snm-request-filters select {
	width: 100%;
	min-height: 43px;
	padding: 7px 34px 7px 10px;
	border: 1px solid var(--snm-line-strong);
	border-radius: 10px;
	background-color: var(--snm-surface);
	color: var(--snm-ink);
	font: inherit;
	font-size: 0.82rem;
}

.snm-request-list {
	display: grid;
	gap: 11px;
}

.snm-request-card {
	display: grid;
	min-width: 0;
	grid-template-columns: 12px minmax(0, 1fr) auto;
	gap: 15px;
	padding: 17px;
	border: 1px solid var(--snm-line);
	border-radius: 16px;
	background: var(--snm-surface);
}

.snm-request-card__rail {
	display: flex;
	justify-content: center;
}

.snm-request-card__rail::before {
	width: 2px;
	height: 100%;
	border-radius: 99px;
	background: var(--snm-line);
	content: "";
}

.snm-request-card__rail > span {
	position: absolute;
	width: 10px;
	height: 10px;
	margin-top: 7px;
	border: 2px solid var(--snm-surface);
	border-radius: 50%;
	background: var(--snm-warm);
	box-shadow: 0 0 0 2px var(--snm-warm);
}

.snm-request-card[data-status="approved"] .snm-request-card__rail > span {
	background: var(--snm-success);
	box-shadow: 0 0 0 2px var(--snm-success);
}

.snm-request-card[data-status="rejected"] .snm-request-card__rail > span,
.snm-request-card[data-status="failed"] .snm-request-card__rail > span,
.snm-request-card[data-status="conflict"] .snm-request-card__rail > span {
	background: var(--snm-danger);
	box-shadow: 0 0 0 2px var(--snm-danger);
}

.snm-request-card__body {
	min-width: 0;
}

.snm-request-card__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.snm-request-card__top time {
	color: var(--snm-muted);
	font-size: 0.7rem;
}

.snm-request-card__type {
	display: block;
	margin-top: 9px;
	color: var(--snm-muted);
	font-size: 0.67rem;
	font-weight: 740;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.snm-request-card h3 {
	margin: 3px 0 5px;
	color: var(--snm-ink-strong);
	font-size: 1rem;
	line-height: 1.35;
}

.snm-request-card h3 a {
	color: inherit;
	text-decoration: none;
}

.snm-request-card h3 a:hover {
	color: var(--snm-brand);
}

.snm-request-card__body > p {
	margin: 0;
	color: var(--snm-muted);
	font-size: 0.78rem;
}

.snm-request-card__note {
	margin-top: 12px;
	padding: 10px 12px;
	border-left: 3px solid var(--snm-brand);
	border-radius: 0 9px 9px 0;
	background: var(--snm-surface-soft);
	font-size: 0.78rem;
}

.snm-request-card__note strong {
	color: var(--snm-ink-strong);
}

.snm-request-card__note p {
	margin: 3px 0 0;
	color: var(--snm-muted);
}

.snm-request-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: flex-end;
	gap: 7px;
}

.snm-request-card__actions form {
	margin: 0;
}

.snm-request-card__actions .snm-directory-button {
	min-height: 38px;
	padding: 7px 11px;
	font-size: 0.73rem;
}

.snm-account-representative-note,
.snm-account-access-help {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 18px;
	padding: 15px 17px;
	border: 1px solid color-mix(in srgb, var(--snm-success) 24%, var(--snm-line));
	border-radius: 14px;
	background: color-mix(in srgb, var(--snm-success) 7%, var(--snm-surface));
}

.snm-account-representative-note > span {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border-radius: 50%;
	background: var(--snm-success);
	color: #fff;
	font-weight: 900;
	place-items: center;
}

.snm-account-representative-note p,
.snm-account-access-help p {
	margin: 0;
	color: var(--snm-muted);
	font-size: 0.82rem;
}

.snm-account-access-list {
	display: grid;
	gap: 9px;
}

.snm-account-access-list article {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	align-items: center;
	gap: 13px;
	padding: 14px 16px;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: var(--snm-surface-soft);
	opacity: 0.7;
}

.snm-account-access-list article.is-enabled {
	border-color: color-mix(in srgb, var(--snm-success) 25%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-success) 6%, var(--snm-surface));
	opacity: 1;
}

.snm-account-access-list article > span {
	display: grid;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--snm-surface);
	color: var(--snm-muted);
	font-weight: 900;
	place-items: center;
}

.snm-account-access-list article.is-enabled > span {
	background: var(--snm-success);
	color: #fff;
}

.snm-account-access-list strong {
	color: var(--snm-ink-strong);
	font-size: 0.88rem;
}

.snm-account-access-list p {
	margin: 2px 0 0;
	color: var(--snm-muted);
	font-size: 0.75rem;
	line-height: 1.45;
}

.snm-account-access-list article > small {
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--snm-surface);
	color: var(--snm-muted);
	font-size: 0.66rem;
	font-weight: 760;
	white-space: nowrap;
}

.snm-account-access-list article.is-enabled > small {
	color: var(--snm-success);
}

.snm-account-access-help {
	display: block;
	border-color: var(--snm-line);
	background: var(--snm-surface-soft);
}

.snm-account-access-help strong {
	color: var(--snm-ink-strong);
}

.snm-account-access-help p {
	margin-top: 4px;
}

.snm-account-panel[data-account-section="create"] .snm-directory-submission {
	margin: 0;
}

.snm-entry-ownership {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 14px;
	padding: 12px;
	border: 1px solid var(--snm-line);
	border-radius: 12px;
	background: var(--snm-surface-soft);
}

.snm-entry-ownership > span {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border-radius: 9px;
	background: var(--snm-surface);
	color: var(--snm-brand);
	font-weight: 850;
	place-items: center;
}

.snm-entry-ownership > div {
	display: grid;
	gap: 2px;
}

.snm-entry-ownership strong {
	color: var(--snm-ink-strong);
	font-size: 0.78rem;
}

.snm-entry-ownership a,
.snm-entry-ownership small {
	color: var(--snm-muted);
	font-size: 0.7rem;
}

.snm-entry-ownership.is-owned {
	border-color: color-mix(in srgb, var(--snm-success) 28%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-success) 7%, var(--snm-surface));
}

.snm-entry-ownership.is-owned > span {
	background: var(--snm-success);
	color: #fff;
}

.snm-entry-ownership.is-pending {
	border-color: color-mix(in srgb, var(--snm-warm) 38%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-warm) 8%, var(--snm-surface));
}

@media (max-width: 1120px) {
	.snm-account-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.snm-account-action-grid {
		grid-template-columns: 1fr;
	}

	.snm-account-action-grid article {
		min-height: 0;
	}
}

@media (max-width: 900px) {
	.snm-account-layout {
		grid-template-columns: 1fr;
	}

	.snm-account-nav {
		position: static;
		display: flex;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.snm-account-nav a {
		min-width: max-content;
		grid-template-columns: 30px auto auto;
	}

	.snm-account-login-hero {
		grid-template-columns: 1fr;
	}

	.snm-account-login-hero__preview {
		max-width: 580px;
	}

	.snm-account-favorites-grid,
	.snm-account-owned-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 680px) {
	.snm-account-hero,
	.snm-account-panel__heading,
	.snm-account-block__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.snm-account-hero__actions {
		width: 100%;
	}

	.snm-account-hero__actions .snm-directory-button {
		flex: 1 1 200px;
	}

	.snm-account-panel {
		padding: 18px;
		border-radius: 17px;
	}

	.snm-account-panel__heading > p {
		text-align: left;
	}

	.snm-account-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.snm-account-metrics a {
		min-height: 132px;
		padding: 14px;
	}

	.snm-request-card {
		grid-template-columns: 10px minmax(0, 1fr);
	}

	.snm-request-card__actions {
		grid-column: 2;
		justify-content: flex-start;
	}

	.snm-account-empty {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.snm-account-access-list article {
		grid-template-columns: 34px minmax(0, 1fr);
	}

	.snm-account-access-list article > small {
		grid-column: 2;
		justify-self: start;
	}
}

@media (max-width: 460px) {
	.snm-account-hero__user {
		align-items: flex-start;
	}

	.snm-account-hero__avatar {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
		border-radius: 15px;
	}

	.snm-account-metrics {
		grid-template-columns: 1fr;
	}

	.snm-account-metrics a {
		min-height: 112px;
	}

	.snm-account-login-hero__preview {
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 17px;
	}

	.snm-account-login-hero__preview > span {
		width: 42px;
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snm-account-metrics a {
		transition: none;
	}
}

/* China procurement, paid supplier contacts and delivery workflow. */
.snm-contact-card__notice {
	margin: 0;
	padding: 18px 24px 4px;
	color: var(--snm-muted);
	font-size: 0.78rem;
	line-height: 1.6;
}

.snm-procurement-actions {
	display: grid;
	gap: 9px;
	padding: 0 24px 24px;
}

.snm-procurement-actions .snm-directory-button {
	width: 100%;
	text-align: center;
}

.snm-supplier-contact-card {
	margin-top: 16px;
}

.snm-supplier-contact-card.is-locked .snm-contact-card__heading {
	background: linear-gradient(135deg, #26383b, #41575a);
}

.snm-supplier-contact-card.is-unlocked .snm-contact-card__heading {
	background: linear-gradient(135deg, var(--snm-brand-dark), #087d70);
}

.snm-supplier-contact-card.is-loading [data-snm-supplier-contacts-status] {
	opacity: 0.72;
	pointer-events: none;
}

.snm-supplier-contact-card.is-loading .snm-supplier-contact-lock__icon {
	animation: snm-supplier-contact-pulse 1.1s ease-in-out infinite alternate;
}

.snm-supplier-contact-card.is-error .snm-contact-card__heading {
	background: linear-gradient(135deg, #6b2929, #9a4747);
}

[data-snm-supplier-contacts-output]:not([hidden]) {
	display: block;
}

[data-snm-supplier-contacts-output].is-error {
	margin: 16px 24px 20px;
	padding: 14px 16px;
	border-left: 4px solid var(--snm-danger, #a13535);
	border-radius: 10px;
	background: color-mix(in srgb, var(--snm-danger, #a13535) 7%, #fff);
	color: var(--snm-ink);
	line-height: 1.55;
}

@keyframes snm-supplier-contact-pulse {
	from {
		transform: scale(0.94);
		opacity: 0.62;
	}

	to {
		transform: scale(1);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snm-supplier-contact-card.is-loading .snm-supplier-contact-lock__icon {
		animation: none;
	}
}

.snm-supplier-contact-card__state {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 17px 24px 3px;
	color: #166534;
	font-size: 0.76rem;
	font-weight: 780;
}

.snm-supplier-contact-card__state > span {
	display: grid;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #dcfce7;
	place-items: center;
}

.snm-supplier-contact-lock {
	display: grid;
	gap: 14px;
	padding: 24px;
}

.snm-supplier-contact-lock p,
.snm-supplier-contact-lock small {
	margin: 0;
	color: var(--snm-muted);
	line-height: 1.6;
}

.snm-supplier-contact-lock__icon {
	display: grid;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: var(--snm-surface-soft);
	font-size: 1.25rem;
	place-items: center;
}

.snm-subscription-card,
.snm-order-directory-cta,
.snm-user-order-card,
.snm-staff-order,
.snm-moderator-tool-list,
.snm-moderator-tool-editor {
	border: 1px solid var(--snm-line);
	border-radius: 18px;
	background: #fff;
}

.snm-subscription-card {
	display: grid;
	gap: 18px;
	padding: clamp(20px, 4vw, 30px);
}

.snm-subscription-card.is-active {
	border-color: color-mix(in srgb, var(--snm-success) 42%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-success) 4%, #fff);
}

.snm-subscription-card > header,
.snm-user-order-card > header,
.snm-staff-order > header,
.snm-moderator-record-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.snm-subscription-card > header span,
.snm-user-order-card > header span,
.snm-staff-order > header span,
.snm-moderator-record-heading span {
	color: var(--snm-muted);
	font-size: 0.7rem;
}

.snm-subscription-card h3,
.snm-user-order-card h3,
.snm-staff-order h3,
.snm-moderator-record-heading h2 {
	margin: 4px 0 0;
	color: var(--snm-ink-strong);
}

.snm-subscription-card__mark {
	display: grid;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	border-radius: 15px;
	background: var(--snm-surface-soft);
	font-size: 1.2rem;
	place-items: center;
}

.snm-subscription-card dl,
.snm-subscription-summary,
.snm-user-order-card dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.snm-subscription-card dl > div,
.snm-subscription-summary > div,
.snm-user-order-card dl > div {
	display: grid;
	gap: 4px;
	padding: 13px;
	border-radius: 12px;
	background: var(--snm-surface-soft);
}

.snm-subscription-card dt,
.snm-subscription-summary dt,
.snm-user-order-card dt {
	color: var(--snm-muted);
	font-size: 0.66rem;
	font-weight: 740;
	text-transform: uppercase;
}

.snm-subscription-card dd,
.snm-subscription-summary dd,
.snm-user-order-card dd {
	margin: 0;
	color: var(--snm-ink);
	font-weight: 740;
}

.snm-subscription-card__invoice,
.snm-user-order-card__note {
	padding: 16px;
	border-left: 4px solid var(--snm-brand);
	border-radius: 10px;
	background: var(--snm-surface-soft);
}

.snm-subscription-card__invoice p,
.snm-user-order-card__note p {
	margin: 6px 0 0;
	color: var(--snm-muted);
	line-height: 1.6;
}

.snm-subscription-current-note {
	margin: 0;
	padding: 14px 16px;
	border-left: 4px solid var(--snm-success);
	border-radius: 10px;
	background: color-mix(in srgb, var(--snm-success) 7%, #fff);
	color: var(--snm-ink);
	line-height: 1.55;
}

.snm-subscription-current-note.is-info {
	border-left-color: var(--snm-brand);
	background: var(--snm-directory-accent-soft);
}

.snm-subscription-current-note.is-warning {
	border-left-color: var(--snm-warning, #a76b08);
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 8%, #fff);
}

.snm-subscription-current-note.is-neutral {
	border-left-color: var(--snm-muted);
	background: var(--snm-surface-soft);
}

.snm-subscription-offer {
	display: grid;
	gap: 12px;
	margin-bottom: 22px;
	padding: clamp(18px, 3vw, 24px);
	border: 1px solid var(--snm-line);
	border-radius: 16px;
	background: linear-gradient(135deg, var(--snm-directory-accent-soft), #fff 68%);
}

.snm-subscription-offer h3,
.snm-subscription-offer p {
	margin: 0;
}

.snm-subscription-offer p,
.snm-subscription-offer details > div {
	color: var(--snm-muted);
	line-height: 1.65;
}

.snm-subscription-offer details {
	padding-top: 12px;
	border-top: 1px solid var(--snm-line);
}

.snm-subscription-offer summary,
.snm-subscription-record__details summary {
	cursor: pointer;
	color: var(--snm-ink-strong);
	font-weight: 760;
}

.snm-subscription-offer details > div,
.snm-subscription-record__details p {
	margin-top: 10px;
}

.snm-subscription-progress {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.snm-subscription-progress li {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 13px;
	border: 1px solid var(--snm-line);
	border-radius: 13px;
	background: #fff;
}

.snm-subscription-progress li > span {
	display: grid;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 50%;
	background: var(--snm-surface-soft);
	color: var(--snm-muted);
	font-size: 0.72rem;
	font-weight: 800;
	place-items: center;
}

.snm-subscription-progress li > div {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.snm-subscription-progress small {
	overflow-wrap: anywhere;
	color: var(--snm-muted);
	font-size: 0.68rem;
	line-height: 1.35;
}

.snm-subscription-progress li.is-current {
	border-color: color-mix(in srgb, var(--snm-brand) 45%, var(--snm-line));
	background: var(--snm-directory-accent-soft);
}

.snm-subscription-progress li.is-current > span {
	background: var(--snm-brand);
	color: #fff;
}

.snm-subscription-progress li.is-complete {
	border-color: color-mix(in srgb, var(--snm-success) 36%, var(--snm-line));
}

.snm-subscription-progress li.is-complete > span {
	background: var(--snm-success);
	color: #fff;
}

.snm-subscription-progress--staff {
	margin-top: 18px;
}

.snm-subscription-card.is-scheduled {
	border-color: color-mix(in srgb, var(--snm-brand) 34%, var(--snm-line));
}

.snm-subscription-card.is-paused,
.snm-subscription-card.is-cancelled {
	border-color: color-mix(in srgb, var(--snm-warning, #a76b08) 38%, var(--snm-line));
}

.snm-subscription-payment-guide {
	display: grid;
	gap: 16px;
	margin-top: 24px;
	padding: clamp(20px, 4vw, 28px);
	border: 2px solid color-mix(in srgb, var(--snm-brand) 42%, var(--snm-line));
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(28, 43, 58, 0.08);
}

.snm-subscription-payment-guide > header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.snm-subscription-payment-guide > header span {
	color: var(--snm-muted);
	font-size: 0.68rem;
	font-weight: 760;
	text-transform: uppercase;
}

.snm-subscription-payment-guide > header h3 {
	margin: 4px 0 0;
	color: var(--snm-ink-strong);
}

.snm-subscription-payment-guide > header > strong {
	color: var(--snm-brand-strong);
	font-size: clamp(1.25rem, 3vw, 1.7rem);
	white-space: nowrap;
}

.snm-subscription-payment-guide > dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.snm-subscription-payment-guide > dl > div {
	display: grid;
	gap: 4px;
	padding: 12px;
	border-radius: 11px;
	background: var(--snm-surface-soft);
}

.snm-subscription-payment-guide dt {
	color: var(--snm-muted);
	font-size: 0.64rem;
	font-weight: 740;
	text-transform: uppercase;
}

.snm-subscription-payment-guide dd {
	margin: 0;
	color: var(--snm-ink);
	font-weight: 740;
}

.snm-subscription-payment-guide__content {
	padding: 16px;
	border-left: 4px solid var(--snm-brand);
	border-radius: 11px;
	background: var(--snm-surface-soft);
}

.snm-subscription-payment-guide__content p,
.snm-subscription-payment-guide__warning {
	margin: 7px 0 0;
	color: var(--snm-muted);
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.snm-subscription-payment-guide__warning {
	margin: 0;
	padding: 12px 14px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 8%, #fff);
	color: var(--snm-ink);
}

.snm-subscription-history {
	display: grid;
	gap: 16px;
	margin-top: 26px;
}

.snm-subscription-history__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
}

.snm-subscription-history__heading span {
	display: block;
	color: var(--snm-muted);
	font-size: 0.68rem;
	font-weight: 760;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.snm-subscription-history__heading h3 {
	margin: 4px 0 0;
	color: var(--snm-ink-strong);
}

.snm-subscription-history__heading > small {
	color: var(--snm-muted);
	white-space: nowrap;
}

.snm-subscription-history__list,
.snm-subscription-period-list {
	display: grid;
	gap: 14px;
}

.snm-subscription-record {
	display: grid;
	gap: 16px;
	padding: 20px;
	border: 1px solid var(--snm-line);
	border-radius: 16px;
	background: #fff;
}

.snm-subscription-record.is-paid {
	border-color: color-mix(in srgb, var(--snm-success) 32%, var(--snm-line));
}

.snm-subscription-record.is-cancelled {
	background: color-mix(in srgb, var(--snm-surface-soft) 82%, #fff);
}

.snm-subscription-record > header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.snm-subscription-record > header span {
	display: block;
	color: var(--snm-muted);
	font-size: 0.68rem;
	font-weight: 740;
	text-transform: uppercase;
}

.snm-subscription-record h4 {
	margin: 4px 0 0;
	color: var(--snm-ink-strong);
	font-size: 1.05rem;
}

.snm-subscription-status {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
	font-size: 0.7rem;
	line-height: 1.25;
	text-align: center;
}

.snm-subscription-record > dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
	margin: 0;
}

.snm-subscription-record > dl > div {
	display: grid;
	gap: 4px;
	padding: 12px;
	border-radius: 11px;
	background: var(--snm-surface-soft);
}

.snm-subscription-record dt {
	color: var(--snm-muted);
	font-size: 0.64rem;
	font-weight: 740;
	text-transform: uppercase;
}

.snm-subscription-record dd {
	margin: 0;
	color: var(--snm-ink);
	font-weight: 720;
}

.snm-subscription-record__note {
	padding: 14px 16px;
	border-left: 4px solid var(--snm-brand);
	border-radius: 10px;
	background: var(--snm-surface-soft);
}

.snm-subscription-record__note.is-internal {
	border-left-color: var(--snm-warning, #a76b08);
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 7%, #fff);
}

.snm-subscription-record__note p {
	margin: 6px 0 0;
	color: var(--snm-muted);
	line-height: 1.55;
}

.snm-subscription-record__state {
	margin: 0;
	padding: 10px 12px;
	border-radius: 9px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-ink);
	line-height: 1.5;
}

.snm-subscription-record__state.is-success {
	background: color-mix(in srgb, var(--snm-success) 8%, #fff);
}

.snm-subscription-record__state.is-neutral {
	background: var(--snm-surface-soft);
	color: var(--snm-muted);
}

.snm-subscription-record__details {
	padding: 13px 15px;
	border: 1px solid var(--snm-line);
	border-radius: 11px;
	background: var(--snm-surface-soft);
}

.snm-subscription-record__details p {
	margin-bottom: 0;
	color: var(--snm-muted);
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.snm-subscription-payment-list {
	display: grid;
	gap: 9px;
	padding: 14px;
	border: 1px solid var(--snm-line);
	border-radius: 12px;
}

.snm-subscription-payment {
	display: grid;
	grid-template-columns: minmax(120px, 1fr) auto auto;
	align-items: center;
	gap: 8px 14px;
	padding: 10px 12px;
	border-radius: 9px;
	background: var(--snm-surface-soft);
}

.snm-subscription-payment span,
.snm-subscription-payment time,
.snm-subscription-payment small {
	color: var(--snm-muted);
	font-size: 0.7rem;
}

.snm-subscription-payment small {
	grid-column: 1 / -1;
}

.snm-subscription-period {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px 20px;
	padding: 18px;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: #fff;
}

.snm-subscription-period.is-active {
	border-color: color-mix(in srgb, var(--snm-success) 38%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-success) 4%, #fff);
}

.snm-subscription-period.is-scheduled {
	border-color: color-mix(in srgb, var(--snm-brand) 34%, var(--snm-line));
	background: var(--snm-directory-accent-soft);
}

.snm-subscription-period.is-paused {
	border-color: color-mix(in srgb, var(--snm-warning, #a76b08) 34%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 5%, #fff);
}

.snm-subscription-period.is-expired,
.snm-subscription-period.is-cancelled {
	background: color-mix(in srgb, var(--snm-surface-soft) 82%, #fff);
}

.snm-subscription-period > div:first-child {
	display: grid;
	gap: 5px;
}

.snm-subscription-period > div:first-child > span,
.snm-subscription-period > div:first-child > small {
	color: var(--snm-muted);
	font-size: 0.7rem;
}

.snm-subscription-period > div:first-child > strong {
	color: var(--snm-ink-strong);
}

.snm-subscription-period__meta {
	display: grid;
	align-content: start;
	justify-items: end;
	gap: 5px;
	color: var(--snm-muted);
	font-size: 0.72rem;
}

.snm-subscription-period__explanation {
	margin: 3px 0 0;
	color: var(--snm-ink);
	font-size: 0.76rem;
	line-height: 1.5;
}

.snm-subscription-period-group {
	display: grid;
	gap: 12px;
}

.snm-subscription-period-group + .snm-subscription-period-group {
	margin-top: 22px;
}

.snm-subscription-period-group > header h4,
.snm-subscription-period-group > header p {
	margin: 0;
}

.snm-subscription-period-group > header p {
	margin-top: 4px;
	color: var(--snm-muted);
	font-size: 0.78rem;
}

.snm-subscription-period-group-heading {
	display: grid;
	gap: 3px;
	margin-top: 8px;
	padding: 10px 2px;
	border-bottom: 1px solid var(--snm-line);
}

.snm-subscription-period-group-heading span {
	color: var(--snm-muted);
	font-size: 0.72rem;
}

.snm-subscription-history--staff {
	padding-top: 8px;
	border-top: 1px solid var(--snm-line);
}

.snm-billing-guidance {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid var(--snm-line);
	border-radius: 13px;
	background: var(--snm-surface-soft);
}

.snm-billing-guidance p {
	margin: 6px 0 0;
	color: var(--snm-muted);
	line-height: 1.55;
}

.snm-billing-next-action {
	margin-top: 16px;
	padding: 15px 16px;
	border-left: 4px solid var(--snm-brand);
	border-radius: 11px;
	background: var(--snm-directory-accent-soft);
}

.snm-billing-next-action.is-active {
	border-left-color: var(--snm-success);
	background: color-mix(in srgb, var(--snm-success) 7%, #fff);
}

.snm-billing-next-action.is-paused,
.snm-billing-next-action.is-cancelled {
	border-left-color: var(--snm-warning, #a76b08);
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 7%, #fff);
}

.snm-billing-next-action p {
	margin: 6px 0 0;
	color: var(--snm-muted);
	line-height: 1.55;
}

.snm-billing-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.snm-billing-form__heading,
.snm-billing-form__wide,
.snm-billing-form > fieldset,
.snm-billing-form > button {
	grid-column: 1 / -1;
}

.snm-billing-form__heading span {
	color: var(--snm-muted);
	font-size: 0.66rem;
	font-weight: 750;
	text-transform: uppercase;
}

.snm-billing-form__heading h3,
.snm-billing-form__heading h4 {
	margin: 4px 0 0;
	color: var(--snm-ink-strong);
}

.snm-billing-form__heading p {
	margin: 6px 0 0;
	color: var(--snm-muted);
	line-height: 1.5;
}

.snm-billing-form label,
.snm-billing-danger label {
	display: grid;
	align-content: start;
	gap: 6px;
}

.snm-billing-form label > span,
.snm-billing-danger label > span {
	font-size: 0.72rem;
	font-weight: 740;
}

.snm-billing-form input:not([type="hidden"]),
.snm-billing-form select,
.snm-billing-form textarea,
.snm-billing-danger textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--snm-line);
	border-radius: 10px;
	background: #fff;
	color: var(--snm-ink);
}

.snm-billing-form textarea,
.snm-billing-danger textarea {
	resize: vertical;
}

.snm-billing-form small {
	color: var(--snm-muted);
	line-height: 1.45;
}

.snm-billing-inline-warning {
	display: grid;
	gap: 4px;
	padding: 12px 14px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 8%, #fff);
}

.snm-billing-inline-warning span {
	color: var(--snm-muted);
	font-size: 0.76rem;
	line-height: 1.5;
}

.snm-billing-term-fields {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 15px;
	border: 1px solid var(--snm-line);
	border-radius: 12px;
}

.snm-billing-term-fields legend {
	padding: 0 6px;
	color: var(--snm-ink-strong);
	font-weight: 760;
}

.snm-billing-form--compact {
	margin-top: 2px;
	padding: 16px;
	border: 1px solid var(--snm-line);
	border-radius: 13px;
	background: var(--snm-surface-soft);
}

.snm-billing-danger {
	padding-top: 12px;
	border-top: 1px solid var(--snm-line);
}

.snm-billing-danger summary {
	cursor: pointer;
	color: var(--snm-danger, #a13535);
	font-weight: 740;
}

.snm-billing-danger form {
	display: grid;
	gap: 10px;
	margin-top: 12px;
	padding: 14px;
	border-radius: 11px;
	background: color-mix(in srgb, var(--snm-danger, #a13535) 5%, #fff);
}

.snm-billing-danger p {
	margin: 0;
	color: var(--snm-muted);
	line-height: 1.5;
}

.snm-billing-period-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	grid-column: 1 / -1;
}

.snm-billing-period-actions form {
	margin: 0;
}

.snm-order-directory-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
	padding: 20px;
}

.snm-order-directory-cta p {
	margin: 5px 0 0;
	color: var(--snm-muted);
}

.snm-frontend .snm-directory-chip-list .snm-directory-product-chip {
	display: inline-flex;
	min-width: 0;
	align-items: stretch;
	border: 1px solid var(--snm-line);
	border-radius: 11px;
	background: var(--snm-surface-soft);
	overflow: hidden;
}

.snm-frontend .snm-directory-chip-list .snm-directory-product-chip > a {
	border: 0;
	border-radius: 0;
	background: transparent;
}

.snm-frontend .snm-directory-chip-list .snm-directory-product-chip__request {
	border-left: 1px solid var(--snm-line);
	background: #fff;
	color: var(--snm-brand-strong);
	font-size: 0.66rem;
	font-weight: 780;
}

.snm-frontend .snm-directory-chip-list .snm-directory-product-chip__request:hover {
	background: var(--snm-directory-accent-soft);
}

.snm-order-form-wrap {
	margin-top: 18px;
}

.snm-order-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.snm-order-form > h3,
.snm-order-form > p,
.snm-order-form > label:last-of-type,
.snm-order-form > .snm-captcha-fields,
.snm-order-form > button {
	grid-column: 1 / -1;
}

.snm-order-form label,
.snm-staff-order__form label,
.snm-order-filter label,
.snm-moderator-search label {
	display: grid;
	gap: 6px;
}

.snm-order-form input,
.snm-order-form textarea,
.snm-staff-order__form input,
.snm-staff-order__form select,
.snm-staff-order__form textarea,
.snm-order-filter input,
.snm-order-filter select,
.snm-moderator-search input {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--snm-line);
	border-radius: 10px;
	background: #fff;
	color: var(--snm-ink);
}

.snm-user-order-list,
.snm-staff-order-list {
	display: grid;
	gap: 16px;
}

.snm-user-order-card,
.snm-staff-order {
	display: grid;
	gap: 18px;
	padding: 20px;
}

.snm-user-order-card > header > strong,
.snm-staff-order > header > strong {
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
	font-size: 0.72rem;
}

.snm-user-order-card details {
	padding-top: 14px;
	border-top: 1px solid var(--snm-line);
}

.snm-user-order-card summary {
	cursor: pointer;
	font-weight: 760;
}

.snm-user-order-card ol {
	display: grid;
	gap: 10px;
	margin: 14px 0 0;
	padding-left: 22px;
}

.snm-user-order-card li time {
	display: block;
	color: var(--snm-muted);
	font-size: 0.68rem;
}

.snm-moderator-tool-grid {
	display: grid;
	grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.6fr);
	gap: 20px;
	align-items: start;
}

.snm-moderator-tool-list,
.snm-moderator-tool-editor {
	padding: 20px;
}

.snm-moderator-tool-list {
	position: sticky;
	top: 32px;
}

.snm-moderator-search,
.snm-order-filter,
.snm-staff-inline-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 10px;
}

.snm-moderator-search label {
	flex: 1 1 180px;
}

.snm-moderator-row-list {
	display: grid;
	gap: 8px;
	max-height: 660px;
	margin-top: 16px;
	overflow: auto;
}

.snm-moderator-row-list > a {
	display: grid;
	gap: 3px;
	padding: 12px;
	border: 1px solid var(--snm-line);
	border-radius: 11px;
	color: var(--snm-ink);
	text-decoration: none;
}

.snm-moderator-row-list > a[aria-current="page"] {
	border-color: var(--snm-brand);
	background: var(--snm-directory-accent-soft);
}

.snm-moderator-row-list small,
.snm-moderator-row-list span {
	color: var(--snm-muted);
	font-size: 0.68rem;
}

.snm-moderator-row-list .snm-moderator-row-list__request {
	justify-self: start;
	padding: 4px 7px;
	border-radius: 999px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
	font-weight: 780;
}

.snm-moderator-row-list .snm-moderator-row-list__request.is-requested {
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 10%, #fff);
	color: #7a4b06;
}

.snm-moderator-list-empty {
	display: grid;
	gap: 4px;
	padding: 16px;
	border: 1px dashed var(--snm-line);
	border-radius: 11px;
	background: var(--snm-surface-soft);
}

.snm-subscription-workspace :where(a, button, input, select, textarea, summary):focus-visible,
.snm-subscription-offer :where(a, button, summary):focus-visible,
.snm-subscription-payment-guide :where(a, button):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--snm-brand) 42%, transparent);
	outline-offset: 3px;
}

.snm-subscription-summary {
	margin: 18px 0;
}

.snm-staff-action-form,
.snm-staff-order__form {
	margin-top: 20px;
	padding: 18px;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: var(--snm-surface-soft);
}

.snm-staff-inline-actions {
	margin-top: 14px;
}

.snm-staff-inline-actions form {
	display: flex;
	align-items: end;
	gap: 8px;
}

.snm-order-filter {
	margin-bottom: 20px;
	padding: 14px;
	border-radius: 13px;
	background: var(--snm-surface-soft);
}

.snm-staff-order__request {
	padding: 14px;
	border-radius: 12px;
	background: var(--snm-surface-soft);
}

.snm-staff-order__request p {
	margin: 5px 0;
}

/* Iteration 57: commercial request master/detail workspace. */
.snm-order-form select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--snm-line);
	border-radius: 10px;
	background: #fff;
	color: var(--snm-ink);
}

.snm-order-form > fieldset,
.snm-order-form > .snm-order-consent {
	grid-column: 1 / -1;
}

.snm-order-items {
	display: grid;
	gap: 14px;
	min-width: 0;
	margin: 0;
	padding: 18px;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: var(--snm-surface-soft);
}

.snm-order-items > legend {
	padding: 0 8px;
	color: var(--snm-ink-strong);
	font-weight: 800;
}

.snm-order-item {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
	padding: 16px;
	border: 1px solid var(--snm-line);
	border-radius: 12px;
	background: #fff;
}

.snm-order-item > h4,
.snm-order-item > label:last-child {
	grid-column: 1 / -1;
}

.snm-order-item > h4 {
	margin: 0;
	color: var(--snm-ink-strong);
	font-size: 0.84rem;
}

.snm-order-consent {
	display: flex !important;
	align-items: flex-start;
	gap: 10px !important;
	padding: 13px 15px;
	border: 1px solid var(--snm-line);
	border-radius: 11px;
	background: var(--snm-surface-soft);
}

.snm-order-consent input {
	width: auto;
	min-height: 0;
	margin-top: 3px;
	padding: 0;
}

.snm-order-form input[type="file"] {
	padding: 8px;
	font-size: 0.78rem;
}

.snm-order-form label > small,
.snm-staff-order__form label > small {
	color: var(--snm-muted);
	font-size: 0.7rem;
	line-height: 1.45;
}

.snm-order-account-layout,
.snm-staff-order-layout {
	display: grid;
	grid-template-columns: minmax(245px, 0.65fr) minmax(0, 1.65fr);
	gap: 20px;
	align-items: start;
}

.snm-order-account-queue,
.snm-staff-order-queue {
	position: sticky;
	top: 28px;
	min-width: 0;
	padding: 15px;
	border: 1px solid var(--snm-line);
	border-radius: 16px;
	background: #fff;
}

.snm-order-queue-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.snm-order-queue-heading strong {
	color: var(--snm-ink-strong);
}

.snm-order-queue-heading small {
	color: var(--snm-muted);
}

.snm-order-queue-list {
	display: grid;
	gap: 8px;
	max-height: 720px;
	overflow: auto;
	overscroll-behavior: contain;
}

.snm-order-queue-empty {
	margin: 0;
	padding: 12px;
	border-radius: 10px;
	background: var(--snm-surface-soft);
	color: var(--snm-muted);
	font-size: 0.73rem;
	line-height: 1.5;
}

.snm-order-queue-card {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding: 13px;
	border: 1px solid var(--snm-line);
	border-radius: 11px;
	background: #fff;
	color: var(--snm-ink);
	text-decoration: none;
}

.snm-order-queue-card:hover,
.snm-order-queue-card[aria-current="page"] {
	border-color: var(--snm-brand);
	background: var(--snm-directory-accent-soft);
}

.snm-order-queue-card > span,
.snm-order-queue-card > small {
	color: var(--snm-muted);
	font-size: 0.68rem;
	overflow-wrap: anywhere;
}

.snm-order-queue-card > strong {
	color: var(--snm-ink-strong);
	font-size: 0.85rem;
	overflow-wrap: anywhere;
}

.snm-order-queue-card > b {
	justify-self: start;
	padding: 4px 7px;
	border-radius: 999px;
	background: var(--snm-surface-soft);
	color: var(--snm-brand-strong);
	font-size: 0.66rem;
}

.snm-order-queue-card > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.snm-order-queue-card > div b,
.snm-order-queue-card > div em {
	font-size: 0.66rem;
	font-style: normal;
}

.snm-order-queue-card > div em {
	padding: 3px 6px;
	border-radius: 999px;
	background: var(--snm-surface-soft);
	color: var(--snm-muted);
}

.snm-order-queue-card.is-priority-high,
.snm-order-queue-card.is-priority-urgent {
	border-left: 4px solid var(--snm-warning, #a76b08);
}

.snm-order-queue-card.is-priority-urgent {
	border-left-color: var(--snm-danger, #a13535);
}

.snm-order-detail,
.snm-staff-order-detail {
	display: grid;
	gap: 20px;
	min-width: 0;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid var(--snm-line);
	border-radius: 18px;
	background: #fff;
}

.snm-order-detail__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--snm-line);
}

.snm-order-detail__header > div:first-child {
	min-width: 0;
}

.snm-order-detail__header span {
	color: var(--snm-brand-strong);
	font-size: 0.7rem;
	font-weight: 780;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.snm-order-detail__header h3 {
	margin: 5px 0;
	color: var(--snm-ink-strong);
	overflow-wrap: anywhere;
}

.snm-order-detail__header p,
.snm-order-detail__header small {
	margin: 0;
	color: var(--snm-muted);
	overflow-wrap: anywhere;
}

.snm-order-detail__state {
	display: grid;
	min-width: min(220px, 100%);
	gap: 6px;
	justify-items: end;
	text-align: right;
}

.snm-order-detail__state > strong {
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
	font-size: 0.72rem;
}

.snm-order-detail__section {
	display: grid;
	gap: 14px;
}

.snm-order-detail__section-heading {
	display: flex;
	align-items: center;
	gap: 10px;
}

.snm-order-detail__section-heading > span {
	display: grid;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
	font-size: 0.66rem;
	font-weight: 820;
	place-items: center;
}

.snm-order-detail__section-heading h4 {
	margin: 0;
	color: var(--snm-ink-strong);
}

.snm-order-item-list {
	display: grid;
	gap: 10px;
}

.snm-order-item-card {
	display: grid;
	gap: 12px;
	padding: 15px;
	border: 1px solid var(--snm-line);
	border-radius: 13px;
	background: var(--snm-surface-soft);
}

.snm-order-item-card > header {
	display: grid;
	gap: 3px;
}

.snm-order-item-card > header span,
.snm-order-item-card dt {
	color: var(--snm-muted);
	font-size: 0.66rem;
	font-weight: 760;
	text-transform: uppercase;
}

.snm-order-item-card > header strong {
	color: var(--snm-ink-strong);
	overflow-wrap: anywhere;
}

.snm-order-item-card dl,
.snm-order-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin: 0;
}

.snm-order-item-card dl > div,
.snm-order-facts > div {
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 11px;
	border-radius: 9px;
	background: #fff;
}

.snm-order-item-card dd,
.snm-order-facts dd {
	margin: 0;
	color: var(--snm-ink);
	font-weight: 700;
	overflow-wrap: anywhere;
}

.snm-order-item-card > p,
.snm-order-request-comment p {
	margin: 0;
	color: var(--snm-muted);
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.snm-order-request-comment {
	padding: 14px;
	border-left: 4px solid var(--snm-brand);
	border-radius: 10px;
	background: var(--snm-surface-soft);
}

.snm-order-request-comment p {
	margin-top: 6px;
}

.snm-order-correspondence {
	display: grid;
	gap: 14px;
	padding-top: 18px;
	border-top: 1px solid var(--snm-line);
}

.snm-order-correspondence .snm-order-detail__section-heading > div {
	display: grid;
	gap: 3px;
}

.snm-order-correspondence .snm-order-detail__section-heading small {
	color: var(--snm-muted);
	line-height: 1.45;
}

.snm-order-correspondence__notice,
.snm-order-correspondence__more,
.snm-order-correspondence__preview {
	margin: 0;
	padding: 11px 13px;
	border: 1px solid var(--snm-line);
	border-radius: 10px;
	background: var(--snm-surface-soft);
	color: var(--snm-muted);
	line-height: 1.5;
}

.snm-order-correspondence__notice.is-success {
	border-color: color-mix(in srgb, var(--snm-success, #25704a) 35%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-success, #25704a) 8%, #fff);
	color: var(--snm-success, #25704a);
}

.snm-order-correspondence__notice.is-error {
	border-color: color-mix(in srgb, var(--snm-danger, #a13535) 35%, var(--snm-line));
	background: color-mix(in srgb, var(--snm-danger, #a13535) 7%, #fff);
	color: var(--snm-danger, #a13535);
}

.snm-order-message-list {
	display: grid;
	gap: 10px;
	max-height: 680px;
	padding: 14px;
	overflow: auto;
	overscroll-behavior: contain;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: var(--snm-surface-soft);
}

.snm-order-message-list__empty {
	padding: 22px;
	text-align: center;
}

.snm-order-message-list__empty strong {
	color: var(--snm-ink-strong);
}

.snm-order-message-list__empty p {
	margin: 5px 0 0;
	color: var(--snm-muted);
}

.snm-order-message {
	display: grid;
	justify-self: start;
	gap: 9px;
	width: min(82%, 660px);
	padding: 13px 14px;
	border: 1px solid var(--snm-line);
	border-radius: 4px 14px 14px;
	background: #fff;
}

.snm-order-message.is-own {
	justify-self: end;
	border-color: color-mix(in srgb, var(--snm-brand) 25%, var(--snm-line));
	border-radius: 14px 4px 14px 14px;
	background: var(--snm-directory-accent-soft);
}

.snm-order-message > header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.snm-order-message > header strong {
	color: var(--snm-ink-strong);
	font-size: 0.78rem;
}

.snm-order-message > header time {
	color: var(--snm-muted);
	font-size: 0.66rem;
	white-space: nowrap;
}

.snm-order-message > p {
	margin: 0;
	color: var(--snm-ink);
	line-height: 1.58;
	overflow-wrap: anywhere;
}

.snm-order-attachment-list {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.snm-order-attachment-list form {
	margin: 0;
}

.snm-order-attachment-list button {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 9px 10px;
	border: 1px solid var(--snm-line);
	border-radius: 9px;
	background: #fff;
	color: var(--snm-ink);
	cursor: pointer;
	text-align: left;
}

.snm-order-attachment-list button:hover {
	border-color: var(--snm-brand);
}

.snm-order-attachment-list button > span {
	display: grid;
	width: 25px;
	height: 25px;
	border-radius: 7px;
	background: var(--snm-directory-accent-soft);
	color: var(--snm-brand-strong);
	font-weight: 800;
	place-items: center;
}

.snm-order-attachment-list button > strong {
	min-width: 0;
	font-size: 0.75rem;
	overflow-wrap: anywhere;
}

.snm-order-attachment-list button > small {
	color: var(--snm-muted);
	font-size: 0.65rem;
	white-space: nowrap;
}

.snm-order-reply-form {
	display: grid;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: #fff;
}

.snm-order-reply-form h5 {
	margin: 0;
	color: var(--snm-ink-strong);
	font-size: 1rem;
}

.snm-order-reply-form label {
	display: grid;
	gap: 7px;
	color: var(--snm-ink-strong);
	font-weight: 720;
}

.snm-order-reply-form textarea,
.snm-order-reply-form input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--snm-line);
	border-radius: 10px;
	background: #fff;
	color: var(--snm-ink);
	font: inherit;
}

.snm-order-reply-form textarea {
	min-height: 118px;
	resize: vertical;
}

.snm-order-reply-form label > small,
.snm-order-reply-form__actions > small {
	color: var(--snm-muted);
	font-size: 0.7rem;
	font-weight: 500;
	line-height: 1.45;
}

.snm-order-reply-form__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.snm-order-progress {
	display: grid;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--snm-line);
	border-radius: 14px;
	background: var(--snm-surface-soft);
}

.snm-order-progress__scales {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.snm-order-progress__scale,
.snm-order-logistics,
.snm-order-timeline {
	display: grid;
	gap: 11px;
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--snm-line);
	border-radius: 11px;
	background: #fff;
}

.snm-order-progress__scale > header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.snm-order-progress__scale > header span,
.snm-order-logistics h5,
.snm-order-timeline h5 {
	margin: 0;
	color: var(--snm-muted);
	font-size: 0.68rem;
	font-weight: 780;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.snm-order-progress__scale > header strong {
	color: var(--snm-ink-strong);
	font-size: 0.78rem;
	text-align: right;
}

.snm-order-progress__scale ol {
	display: grid;
	grid-template-columns: repeat(5, minmax(34px, 1fr));
	gap: 8px 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.snm-order-progress__scale li {
	display: grid;
	justify-items: center;
	gap: 5px;
	min-width: 0;
	color: var(--snm-muted);
	text-align: center;
}

.snm-order-progress__scale li > span {
	display: block;
	width: 10px;
	height: 10px;
	border: 2px solid var(--snm-line);
	border-radius: 50%;
	background: #fff;
}

.snm-order-progress__scale li.is-complete > span {
	border-color: var(--snm-brand);
	background: var(--snm-brand);
}

.snm-order-progress__scale li.is-current > span {
	border-color: var(--snm-brand);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--snm-brand) 18%, transparent);
}

.snm-order-progress__scale li small {
	font-size: 0.6rem;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.snm-order-progress__scale li.is-current {
	color: var(--snm-brand-strong);
	font-weight: 780;
}

.snm-order-logistics h5,
.snm-order-timeline h5 {
	color: var(--snm-ink-strong);
}

.snm-order-timeline > ol {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0 0 0 18px;
}

.snm-order-timeline li {
	min-width: 0;
	padding-left: 5px;
}

.snm-order-timeline li.is-correction {
	padding: 10px 10px 10px 14px;
	border-left: 3px solid var(--snm-warning, #a76b08);
	border-radius: 8px;
	background: color-mix(in srgb, var(--snm-warning, #a76b08) 7%, #fff);
}

.snm-order-timeline li > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.snm-order-timeline li strong {
	color: var(--snm-ink-strong);
	overflow-wrap: anywhere;
}

.snm-order-timeline li time,
.snm-order-timeline li > p {
	color: var(--snm-muted);
}

.snm-order-timeline li time {
	font-size: 0.67rem;
	white-space: nowrap;
}

.snm-order-timeline li > p {
	margin: 5px 0 0;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.snm-order-timeline .snm-order-timeline__change {
	color: var(--snm-ink);
	font-size: 0.78rem;
	font-weight: 680;
}

.snm-order-timeline .snm-order-timeline__correction {
	color: var(--snm-warning, #805400);
}

.snm-staff-order__visibility {
	display: grid;
	gap: 6px;
	padding: 11px;
	border: 1px solid var(--snm-line);
	border-radius: 10px;
	background: var(--snm-surface-soft);
}

.snm-staff-order__visibility > label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: var(--snm-ink-strong);
	font-size: 0.82rem;
	font-weight: 680;
}

.snm-staff-order__visibility > input[type="hidden"] {
	display: none;
}

.snm-staff-order__visibility small {
	color: var(--snm-muted);
	font-size: 0.7rem;
	line-height: 1.45;
}

.snm-staff-order__mode {
	display: grid;
	gap: 5px;
	padding: 14px 16px;
	border: 1px solid color-mix(in srgb, var(--snm-brand) 30%, var(--snm-line));
	border-radius: 12px;
	background: var(--snm-directory-accent-soft);
}

.snm-staff-order__mode strong {
	color: var(--snm-ink-strong);
}

.snm-staff-order__mode p {
	margin: 0;
	color: var(--snm-muted);
	line-height: 1.5;
}

.snm-order-history {
	padding-top: 14px;
	border-top: 1px solid var(--snm-line);
}

.snm-order-history summary {
	cursor: pointer;
	color: var(--snm-ink-strong);
	font-weight: 780;
}

.snm-order-history ol {
	display: grid;
	gap: 10px;
	margin: 14px 0 0;
	padding-left: 22px;
}

.snm-order-history li time {
	display: block;
	margin-top: 2px;
	color: var(--snm-muted);
	font-size: 0.68rem;
}

.snm-order-history li p {
	margin: 5px 0 0;
	color: var(--snm-muted);
	line-height: 1.5;
}

.snm-staff-order-control-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.snm-staff-order-control-grid .snm-staff-order__form {
	align-content: start;
	grid-template-columns: 1fr;
	margin: 0;
}

.snm-staff-order__form > h4,
.snm-staff-order__form > button {
	grid-column: 1 / -1;
}

.snm-staff-order__form > h4 {
	margin: 0;
	color: var(--snm-ink-strong);
}

.snm-order-convert-form {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border: 1px solid color-mix(in srgb, var(--snm-brand) 35%, var(--snm-line));
	border-radius: 13px;
	background: var(--snm-directory-accent-soft);
}

.snm-order-convert-form p {
	margin: 4px 0 0;
	color: var(--snm-muted);
}

.snm-order-filter--staff label {
	flex: 1 1 150px;
}

.snm-order-filter--account label {
	flex: 1 1 260px;
}

.snm-orders-workspace :where(a, button, input, select, textarea, summary):focus-visible,
.snm-order-account-layout :where(a, button, input, select, textarea, summary):focus-visible,
.snm-order-form :where(button, input, select, textarea):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--snm-brand) 42%, transparent);
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.snm-moderator-tool-grid {
		grid-template-columns: 1fr;
	}

	.snm-order-account-layout,
	.snm-staff-order-layout,
	.snm-staff-order-control-grid {
		grid-template-columns: 1fr;
	}

	.snm-order-account-queue,
	.snm-staff-order-queue {
		position: static;
	}

	.snm-order-queue-list {
		max-height: 340px;
	}

	.snm-moderator-tool-list {
		position: static;
	}

	.snm-subscription-record > dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.snm-subscription-progress {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.snm-subscription-card dl,
	.snm-subscription-summary,
	.snm-subscription-record > dl,
	.snm-subscription-payment-guide > dl,
	.snm-user-order-card dl,
	.snm-order-form,
	.snm-billing-form,
	.snm-billing-term-fields,
		.snm-subscription-period {
		grid-template-columns: 1fr;
	}

	.snm-order-item,
	.snm-order-item-card dl,
	.snm-order-facts,
	.snm-order-progress__scales {
		grid-template-columns: 1fr;
	}

	.snm-order-progress__scale ol {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.snm-order-timeline li > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.snm-order-form > *,
	.snm-billing-form > *,
	.snm-billing-form__heading,
	.snm-billing-form__wide,
	.snm-billing-form > fieldset,
	.snm-billing-form > button {
		grid-column: 1;
	}

	.snm-order-directory-cta,
	.snm-subscription-card > header,
	.snm-subscription-payment-guide > header,
	.snm-subscription-history__heading,
	.snm-subscription-record > header,
	.snm-user-order-card > header,
	.snm-staff-order > header,
		.snm-moderator-record-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.snm-order-detail__header,
	.snm-order-convert-form {
		align-items: flex-start;
		flex-direction: column;
	}

	.snm-order-detail__state {
		min-width: 0;
		justify-items: start;
		text-align: left;
	}

	.snm-order-message {
		width: 100%;
	}

	.snm-order-message > header,
	.snm-order-reply-form__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.snm-order-reply-form__actions > button {
		width: 100%;
	}

	.snm-order-convert-form > button {
		width: 100%;
	}

	.snm-subscription-history__heading > small {
		white-space: normal;
	}

	.snm-subscription-payment {
		grid-template-columns: 1fr;
	}

	.snm-subscription-payment small {
		grid-column: 1;
	}

	.snm-subscription-period__meta {
		justify-items: start;
	}

	.snm-subscription-card,
	.snm-subscription-record,
	.snm-subscription-period,
	.snm-subscription-payment-guide,
	.snm-moderator-tool-list,
	.snm-moderator-tool-editor {
		padding: 16px;
	}

	.snm-subscription-payment-guide > header > strong {
		white-space: normal;
	}

	.snm-subscription-request,
	.snm-subscription-request button,
	.snm-subscription-payment-guide .snm-directory-text-link,
	.snm-billing-form > button {
		width: 100%;
	}

	.snm-billing-period-actions,
	.snm-billing-period-actions form,
	.snm-billing-period-actions button {
		width: 100%;
	}
}
/* Product landing pages intentionally expose only the fixed product and industry. */
.snm-frontend .snm-directory-filters--product .snm-directory-filters__field small {
	color: #607779;
	font-size: 0.68rem;
	line-height: 1.35;
}

.snm-frontend .snm-directory-filters--product select:disabled {
	border-color: color-mix(in srgb, var(--snm-brand) 28%, var(--snm-line-strong));
	background: color-mix(in srgb, var(--snm-brand) 6%, #fff);
	color: var(--snm-ink);
	opacity: 1;
}

@media (min-width: 760px) {
	.snm-frontend .snm-directory-filters--product {
		grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
	}

	.snm-frontend .snm-directory-filters--product .snm-directory-filters__actions {
		align-self: end;
	}
}
