.msw-dashboard-v2,
.msw-dashboard-v2 *,
.msw-card,
.msw-card * {
	box-sizing: border-box;
}

/* Public dashboard demonstration. */
.msw-demo-wrap {
	font-family: "Outfit", sans-serif;
	margin-left: calc(50% - 50vw);
	width: 100vw;
}

.msw-demo-banner {
	align-items: center;
	background: #e8f8fb;
	border-bottom: 1px solid #9ddce4;
	color: #084c57;
	display: flex;
	font-size: 13px;
	gap: 20px;
	justify-content: space-between;
	min-height: 46px;
	padding: 9px 28px;
}

.msw-demo-banner > div,
.msw-demo-banner a {
	align-items: center;
	display: flex;
	gap: 8px;
}

.msw-demo-banner a {
	color: #064d59;
	font-weight: 700;
	white-space: nowrap;
}

.msw-demo-dashboard {
	margin-left: 0;
	min-height: calc(100vh - 46px);
	width: 100%;
}

.msw-demo-dashboard .msw-dashboard-sidebar {
	min-height: calc(100vh - 46px);
	top: 46px;
}

.msw-demo-dashboard .msw-dashboard-logout {
	display: flex;
	gap: 8px;
}

.msw-demo-dashboard .msw-topbar-actions > span {
	align-items: center;
	color: #536176;
	display: inline-flex;
}

.msw-demo-dashboard .msw-dashboard-main > * {
	max-width: 900px;
}

.msw-demo-site-form {
	margin: 0;
}

.msw-demo-site-form .msw-site-switcher {
	flex-direction: row;
}

.msw-demo-review-pill {
	background: #f1e8ff;
	color: #7047c6;
}

.msw-demo-step-mini {
	align-items: center;
	border: 1px solid #d8e1e9;
	border-radius: 9px;
	display: grid;
	gap: 10px;
	grid-template-columns: 24px minmax(0, 1fr) auto;
	margin: 10px 0;
	padding: 12px;
}

.msw-demo-step-mini span { color: #8090a5; }
.msw-demo-step-mini strong { font-size: 14px; }
.msw-demo-step-mini em { color: #14865d; font-size: 12px; font-style: normal; }
.msw-demo-step-mini.is-current { background: #f8f3ff; border-color: #cdb6ff; }
.msw-demo-step-mini.is-current em { color: #7047c6; }

.msw-demo-status-summary,
.msw-demo-status-summary > div {
	align-items: center;
	display: flex;
	gap: 14px;
}

.msw-demo-status-summary { justify-content: space-between; }
.msw-demo-status-summary h2,
.msw-demo-status-summary p { margin: 0; }
.msw-demo-status-summary p { color: var(--msw-text-secondary); font-size: 13px; margin-top: 4px; }
.msw-demo-icon-success { align-items: center; background: #dcfce7; border-radius: 999px; color: #119857; display: inline-flex; height: 42px; justify-content: center; width: 42px; }

.msw-demo-progress-card .msw-progress-legend { border-bottom: 1px solid #e8ecf1; margin-bottom: 16px; padding-bottom: 16px; }
.msw-progress-legend i { background: #cbd3dd; border-radius: 999px; display: inline-block; height: 10px; width: 10px; }
.msw-progress-legend i.is-done { background: #18a85e; }
.msw-progress-legend i.is-current { background: #16b3cd; }
.msw-progress-legend i.is-review { background: #8355dd; }
.msw-demo-steps { display: grid; gap: 9px; }
.msw-demo-step {
	align-items: center;
	border: 1px solid #dce3ea;
	border-radius: 11px;
	display: grid;
	gap: 10px;
	grid-template-columns: 18px 16px minmax(160px, 1fr) auto auto;
	min-height: 66px;
	padding: 11px 14px;
}
.msw-demo-step.is-done { background: #effcf4; border-color: #9ee7bc; }
.msw-demo-step.is-current { background: #edfbfd; border-color: #7eddea; }
.msw-demo-step.is-review { background: #faf5ff; border-color: #cdb6ff; }
.msw-demo-step.is-future { color: #8390a2; }
.msw-demo-step-dot { background: #ccd4de; border-radius: 999px; height: 13px; width: 13px; }
.msw-demo-step.is-done .msw-demo-step-dot { background: #18a85e; }
.msw-demo-step.is-current .msw-demo-step-dot { background: #16b3cd; }
.msw-demo-step.is-review .msw-demo-step-dot { background: #8355dd; }
.msw-demo-step em { background: #f0f3f6; border-radius: 999px; font-size: 11px; font-style: normal; padding: 5px 10px; }
.msw-demo-step button { background: #fff; border: 1px solid #0c5360; border-radius: 8px; color: #0c5360; cursor: default; font-size: 12px; font-weight: 700; padding: 7px 10px; }
.msw-demo-step button:disabled { border-color: #dce3ea; color: #a4afbd; }
.msw-demo-step small { color: #8b96a7; font-size: 11px; grid-column: 3 / -1; }
.msw-demo-readonly-note { align-items: center; background: #f4f7fa; border-radius: 8px; color: #657287; display: flex; font-size: 12px; gap: 8px; margin-top: 16px; padding: 10px 12px; }

.msw-demo-online-strip {
	align-items: center;
	background: #effcf4;
	border: 1px solid #a6ebc2;
	border-radius: 14px;
	display: flex;
	justify-content: space-between;
	padding: 17px 20px;
}
.msw-demo-online-strip > div { align-items: center; display: flex; gap: 10px; }
.msw-demo-online-strip > div:first-child > span { align-items: center; background: #d4f7e2; border-radius: 999px; color: #0b9b56; display: inline-flex; height: 40px; justify-content: center; width: 40px; }
.msw-demo-online-strip small { color: #667085; display: block; font-size: 11px; margin-top: 3px; }
.msw-demo-online-strip strong { color: #078348; }
.msw-demo-status-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.msw-demo-scores { display: grid; grid-template-columns: 1fr 1fr; margin-top: 22px; text-align: center; }
.msw-demo-scores > div + div { border-left: 1px solid #e5e9ef; }
.msw-demo-scores b { align-items: center; border: 7px solid #16a05d; border-radius: 999px; display: flex; font-size: 23px; height: 78px; justify-content: center; margin: auto; width: 78px; }
.msw-demo-scores > div:first-child b { border-color: #31b6c9; }
.msw-demo-scores span,
.msw-demo-scores small { display: block; }
.msw-demo-scores span { font-weight: 700; margin-top: 8px; }
.msw-demo-scores small { color: #168152; margin-top: 3px; }
.msw-demo-tech-row { align-items: center; border-top: 1px solid #e8ecf1; color: #0c5360; display: flex; gap: 12px; padding: 13px 0; }
.msw-demo-tech-row:first-of-type { border-top: 0; margin-top: 10px; }
.msw-demo-tech-row span,
.msw-demo-tech-row strong { display: block; }
.msw-demo-tech-row span { color: #7b8799; font-size: 12px; }
.msw-demo-tech-row strong { color: #102033; font-size: 13px; margin-top: 2px; }
.msw-demo-tech-row.is-success { color: #0b9b56; }
.msw-demo-update-row { align-items: center; border-top: 1px solid #edf0f3; display: flex; justify-content: space-between; padding: 13px 2px; }
.msw-demo-update-row span { color: #7d899a; font-size: 12px; }

.msw-demo-conversation { background: #f7f9fb; border: 1px solid #e1e7ed; border-radius: 10px; display: flex; flex-direction: column; gap: 12px; max-height: 390px; overflow-y: auto; padding: 16px; }
.msw-demo-message { background: #fff; border: 1px solid #dfe5ec; border-radius: 10px; max-width: 74%; padding: 11px 13px; }
.msw-demo-message.is-client { align-self: flex-end; background: #eaf8fa; border-color: #b5e3e9; }
.msw-demo-message strong { font-size: 12px; }
.msw-demo-message p { font-size: 13px; line-height: 1.45; margin: 5px 0; }
.msw-demo-message small { color: #8994a4; font-size: 10px; }
.msw-demo-compose { border-top: 1px solid #e6ebf0; display: grid; gap: 10px; margin-top: 18px; padding-top: 18px; }
.msw-demo-compose textarea,
.msw-demo-field textarea { border: 1px solid #d7dfe8; border-radius: 9px; padding: 12px; resize: vertical; width: 100%; }
.msw-demo-muted { color: #8490a3; font-size: 12px; }

.msw-demo-quota { background: #e4e8ed; border-radius: 999px; height: 8px; overflow: hidden; }
.msw-demo-quota span { background: #f59e0b; display: block; height: 100%; }
.msw-demo-quota-label { color: #7f8a9c; display: flex; font-size: 11px; justify-content: space-between; margin-top: 7px; }
.msw-demo-request-types { display: grid; gap: 9px; grid-template-columns: 1fr 1fr; }
.msw-demo-request-types button { background: #f8fafb; border: 1px solid #dce3ea; border-radius: 9px; color: #29384c; padding: 13px; text-align: left; }
.msw-demo-request-types button.is-selected { background: #eaf8fa; border-color: #0c7180; color: #07515d; font-weight: 700; }
.msw-demo-field { display: grid; font-size: 13px; font-weight: 700; gap: 7px; margin: 18px 0 12px; }

.msw-demo-guide-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.msw-demo-guide-grid article { border: 1px solid #dfe5ec; border-radius: 10px; padding: 16px; }
.msw-demo-guide-grid svg { color: #0c7180; }
.msw-demo-guide-grid h3 { margin: 10px 0 5px; }
.msw-demo-guide-grid p { color: #748094; font-size: 12px; min-height: 36px; }
.msw-demo-guide-grid button { background: transparent; border: 0; color: #0c6170; font-weight: 700; padding: 0; }

.msw-demo-sites { display: grid; gap: 12px; }
.msw-demo-sites article { align-items: center; border: 1px solid #dce3ea; border-radius: 10px; display: grid; gap: 13px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 15px; }
.msw-demo-sites article.is-active { background: #effcf4; border-color: #a7ebc3; }
.msw-demo-sites article > span { align-items: center; background: #eef4f6; border-radius: 8px; color: #0c6170; display: inline-flex; height: 40px; justify-content: center; width: 40px; }
.msw-demo-sites h3,
.msw-demo-sites p { margin: 0; }
.msw-demo-sites p,
.msw-demo-sites small { color: #778397; font-size: 12px; }
.msw-demo-sites a { border: 1px solid #b8c5d2; border-radius: 8px; color: #0b5360; font-size: 12px; font-weight: 700; padding: 7px 10px; text-decoration: none; }

.msw-demo-info-grid { display: grid; gap: 24px 30px; grid-template-columns: 1fr 1fr; margin-bottom: 22px; }
.msw-demo-info-grid > div { align-items: center; display: flex; gap: 11px; }
.msw-demo-info-grid > div > svg { background: #edf4f6; border-radius: 9px; color: #0c6170; height: 38px; padding: 9px; width: 38px; }
.msw-demo-info-grid span,
.msw-demo-info-grid strong { display: block; }
.msw-demo-info-grid span { color: #8490a3; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.msw-demo-info-grid strong { color: #102033; font-size: 13px; margin-top: 4px; text-transform: none; }
.msw-demo-faq details { border-top: 1px solid #e5e9ef; padding: 14px 2px; }
.msw-demo-faq summary { cursor: pointer; font-weight: 700; }
.msw-demo-faq p { color: #657287; font-size: 13px; line-height: 1.55; }

@media (max-width: 900px) {
	.msw-demo-banner { align-items: flex-start; flex-direction: column; gap: 5px; }
	.msw-demo-dashboard .msw-dashboard-sidebar { top: 0; }
	.msw-demo-status-grid,
	.msw-demo-guide-grid { grid-template-columns: 1fr; }
	.msw-demo-step { grid-template-columns: 16px 14px minmax(0, 1fr) auto; }
	.msw-demo-step button { grid-column: 3 / -1; justify-self: start; }
	.msw-demo-step small { grid-column: 3 / -1; }
}

@media (max-width: 620px) {
	.msw-demo-banner { padding: 10px 16px; }
	.msw-demo-banner a { margin-left: 28px; }
	.msw-demo-dashboard .msw-topbar-actions > span { display: none; }
	.msw-demo-site-form .msw-site-access-button { display: none; }
	.msw-demo-status-summary { align-items: flex-start; flex-direction: column; }
	.msw-demo-request-types,
	.msw-demo-info-grid { grid-template-columns: 1fr; }
	.msw-demo-step { grid-template-columns: 16px 14px minmax(0, 1fr); }
	.msw-demo-step em { grid-column: 3; justify-self: start; }
	.msw-demo-step button,
	.msw-demo-step small { grid-column: 3; }
}

html:has(.msw-dashboard-v2),
body:has(.msw-dashboard-v2) {
	overflow-x: hidden;
}

.msw-dashboard-v2 {
	--msw-text-primary: #102033;
	--msw-text-secondary: #667085;
	--msw-text-muted: #8a94a6;
	background: #f3f5f8;
	color: var(--msw-text-primary);
	display: grid;
	font-family: "Outfit", sans-serif;
	grid-template-columns: 252px minmax(0, 1fr);
	margin-left: calc(50% - 50vw);
	max-width: 100vw;
	min-height: 100vh;
	overflow-x: clip;
	width: 100vw;
}

.msw-dashboard-v2 *,
.msw-dashboard-v2 button,
.msw-dashboard-v2 input,
.msw-dashboard-v2 select,
.msw-dashboard-v2 textarea {
	font-family: inherit;
}

.msw-dashboard-sidebar {
	background: #0c5360;
	color: #d3edf3;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: sticky;
	top: 0;
}

.msw-dashboard-brand {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	gap: 12px;
	height: 64px;
	justify-content: space-between;
	padding: 0 22px;
}

.msw-dashboard-brand-link {
	align-items: center;
	color: #ffffff;
	display: inline-flex;
	gap: 12px;
	min-width: 0;
	text-decoration: none;
}

.msw-brand-mark,
.msw-user-avatar {
	align-items: center;
	background: rgba(255, 255, 255, 0.16);
	border-radius: 10px;
	color: #ffffff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.msw-brand-logo {
	display: block;
	height: 40px;
	max-width: 196px;
	object-fit: contain;
	width: auto;
}

.msw-brand-logo-compact {
	display: none;
	height: 38px;
	object-fit: contain;
	width: 38px;
}

.msw-dashboard-brand strong {
	color: #ffffff;
	font-size: 14px;
}

.msw-dashboard-nav {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 5px;
	padding: 18px 11px;
}

.msw-nav-title {
	color: rgba(211, 237, 243, 0.62);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.2px;
	margin: 0 10px 10px;
	text-transform: uppercase;
}

.msw-dashboard-nav-item {
	align-items: center;
	border-radius: 12px;
	color: #acd8e2;
	display: flex;
	font-size: 14px;
	font-weight: 500;
	gap: 12px;
	line-height: 1.2;
	min-height: 41px;
	padding: 0 12px;
	position: relative;
	text-decoration: none;
}

.msw-dashboard-nav-item:hover,
.msw-dashboard-nav-item:focus,
.msw-dashboard-nav-item.is-active {
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
}

.msw-dashboard-nav-item.is-active {
	box-shadow: inset 3px 0 0 #e7fbff;
	font-weight: 800;
}

.msw-dashboard-nav-disabled {
	opacity: 0.72;
}

.msw-nav-icon {
	align-items: center;
	color: currentColor;
	display: inline-flex;
	flex: 0 0 20px;
	font-size: 16px;
	justify-content: center;
	width: 20px;
}

.msw-nav-badge {
	align-items: center;
	background: #ff4757;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	margin-left: auto;
	min-width: 20px;
	padding: 0 6px;
}

.msw-nav-badge[hidden],
.msw-message-badge-live[hidden] {
	display: none !important;
}

.msw-sidebar-user {
	align-items: center;
	background: rgba(255, 255, 255, 0.10);
	border-radius: 12px;
	display: flex;
	gap: 11px;
	margin: 0 12px 12px;
	padding: 12px;
}

.msw-sidebar-user strong,
.msw-sidebar-user span {
	display: block;
	line-height: 1.2;
}

.msw-sidebar-user strong {
	color: #ffffff;
	font-size: 13px;
}

.msw-sidebar-user span {
	color: #b8dfe7;
	font-size: 11px;
	margin-top: 3px;
}

.msw-dashboard-logout {
	color: #acd8e2;
	font-size: 13px;
	font-weight: 700;
	padding: 10px 22px 24px;
	text-decoration: none;
}

.msw-dashboard-content {
	min-width: 0;
}

.msw-dashboard-topbar {
	align-items: center;
	background: #ffffff;
	border-bottom: 1px solid #dde2e8;
	display: flex;
	height: 64px;
	justify-content: space-between;
	padding: 0 32px;
}

.msw-dashboard-topbar > div {
	align-items: center;
	display: flex;
	gap: 12px;
}

.msw-dashboard-topbar strong {
	color: #061326;
	font-size: 16px;
}

.msw-dashboard-topbar > span {
	color: #8b93a6;
	font-size: 12px;
}

.msw-topbar-icon {
	color: #0c5360;
	font-size: 17px;
}

.msw-dashboard-main {
	display: grid;
	gap: 20px;
	justify-items: start;
	padding: 24px 32px 42px;
}

.msw-dashboard-main > * {
	max-width: 704px;
	width: 100%;
}

.msw-welcome-card {
	background: #0e5d6b;
	border-radius: 14px;
	color: #ffffff;
	padding: 28px 26px 24px;
}

.msw-welcome-heading {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 24px;
}

.msw-welcome-card h1,
.msw-welcome-card p {
	color: #ffffff;
	margin: 0;
}

.msw-welcome-card h1 {
	font-size: 24px;
	line-height: 1.15;
	margin-bottom: 8px;
}

.msw-welcome-card p,
.msw-welcome-progress span {
	font-size: 13px;
}

.msw-discovery-pill,
.msw-status-pill {
	align-items: center;
	background: #0aa36d;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	padding: 8px 14px;
	white-space: nowrap;
}

.msw-discovery-pill::before {
	background: #2be177;
	border-radius: 999px;
	content: "";
	height: 8px;
	margin-right: 8px;
	width: 8px;
}

.msw-discovery-pill.msw-status-trialing,
.msw-status-pill.msw-status-trialing,
.msw-discovery-pill.msw-status-active,
.msw-status-pill.msw-status-active {
	background: #0aa36d;
	color: #ffffff;
}

.msw-discovery-pill.msw-status-past_due,
.msw-status-pill.msw-status-past_due,
.msw-discovery-pill.msw-status-incomplete,
.msw-status-pill.msw-status-incomplete,
.msw-discovery-pill.msw-status-unpaid,
.msw-status-pill.msw-status-unpaid {
	background: #fff3d9;
	color: #9a5b00;
}

.msw-discovery-pill.msw-status-canceled,
.msw-status-pill.msw-status-canceled {
	background: #ffe4e6;
	color: #b42318;
}

.msw-discovery-pill.msw-status-completed,
.msw-status-pill.msw-status-completed,
.msw-discovery-pill.msw-status-online,
.msw-status-pill.msw-status-online {
	background: #e0f2fe;
	color: #075985;
}

.msw-discovery-pill.msw-status-unknown,
.msw-status-pill.msw-status-unknown {
	background: #eef2f7;
	color: #465467;
}

.msw-discovery-pill.msw-status-canceled::before {
	background: #ef4444;
}

.msw-discovery-pill.msw-status-past_due::before,
.msw-discovery-pill.msw-status-incomplete::before,
.msw-discovery-pill.msw-status-unpaid::before {
	background: #f59e0b;
}

.msw-discovery-pill.msw-status-completed::before,
.msw-discovery-pill.msw-status-online::before {
	background: #0ea5e9;
}

.msw-discovery-pill.msw-status-unknown::before {
	background: #94a3b8;
}

.msw-welcome-progress > div:first-child {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 9px;
}

.msw-welcome-progress strong {
	color: #ffffff;
	font-size: 13px;
}

.msw-progress-bar {
	background: rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	height: 8px;
	overflow: hidden;
	width: 100%;
}

.msw-progress-bar span {
	background: #ffffff;
	border-radius: inherit;
	display: block;
	height: 100%;
}

.msw-card {
	background: #ffffff;
	border: 1px solid #dde2e8;
	border-radius: 14px;
	box-shadow: none;
	color: var(--msw-text-primary);
	padding: 24px;
}

.msw-card-header {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 22px;
}

.msw-card h2 {
	color: var(--msw-text-primary);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 8px;
}

.msw-card h3 {
	color: var(--msw-text-primary);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.msw-card p {
	color: var(--msw-text-secondary);
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

.msw-progress-legend {
	align-items: center;
	border-bottom: 1px solid #edf0f4;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 16px;
	padding-bottom: 18px;
}

.msw-progress-legend span {
	align-items: center;
	color: #596175;
	display: inline-flex;
	font-size: 12px;
	gap: 6px;
}

.msw-dot,
.msw-timeline-marker {
	border-radius: 999px;
	display: inline-flex;
	height: 12px;
	width: 12px;
}

.msw-dot-done,
.msw-timeline-done .msw-timeline-marker {
	background: #16a65b;
}

.msw-dot-progress,
.msw-timeline-progress .msw-timeline-marker {
	background: #17bcd4;
}

.msw-dot-review,
.msw-timeline-review .msw-timeline-marker {
	background: #7c3aed;
}

.msw-dot-waiting,
.msw-timeline-waiting .msw-timeline-marker {
	background: #f59e0b;
}

.msw-dot-todo,
.msw-timeline-todo .msw-timeline-marker {
	background: #cbd2dc;
}

.msw-timeline-locked .msw-timeline-marker {
	background: #7c8aa0;
}

.msw-timeline {
	display: grid;
	gap: 10px;
}

.msw-timeline-item {
	display: block;
}

.msw-timeline-content {
	background: #ffffff;
	border: 1px solid #dde2e8;
	border-radius: 13px;
	padding: 13px 16px;
}

.msw-timeline-done .msw-timeline-content {
	background: #ecfdf3;
	border-color: #99f0bb;
}

.msw-timeline-progress .msw-timeline-content {
	background: #e9fbfe;
	border-color: #6de5f3;
}

.msw-timeline-review .msw-timeline-content {
	background: #faf5ff;
	border-color: #c4b5fd;
}

.msw-timeline-waiting .msw-timeline-content {
	background: #fff9e8;
	border-color: #ffd45f;
}

.msw-timeline-todo .msw-timeline-content {
	background: #ffffff;
	border-color: #dde2e8;
	opacity: 0.76;
}

.msw-timeline-locked .msw-timeline-content {
	background: #f7f9fc;
	border-color: #cfd7e3;
}

.msw-timeline-heading {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 18px 16px minmax(0, 1fr) auto auto;
	min-height: 31px;
}

.msw-step-number {
	color: #8b93a6;
	font-size: 13px;
}

.msw-step-badge {
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	padding: 7px 11px;
	white-space: nowrap;
}

.msw-timeline-done .msw-step-badge {
	background: #d9fbe7;
	color: #08783f;
}

.msw-timeline-progress .msw-step-badge {
	background: #c8f7fb;
	color: #02839b;
}

.msw-timeline-review .msw-step-badge {
	background: #ede9fe;
	color: #6d28d9;
}

.msw-timeline-waiting .msw-step-badge {
	background: #fff0b7;
	color: #c46b00;
}

.msw-timeline-todo .msw-step-badge {
	background: #f0f2f5;
	color: #8b93a6;
}

.msw-timeline-locked .msw-step-badge {
	background: #e8edf4;
	color: #516074;
}

.msw-link-button,
.msw-button {
	align-items: center;
	background: #ffffff;
	border: 1px solid #0c5360;
	border-radius: 9px;
	color: #063e49;
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 33px;
	padding: 8px 14px;
	text-decoration: none;
	white-space: nowrap;
	width: fit-content;
}

.msw-link-button:hover,
.msw-link-button:focus,
.msw-button:hover,
.msw-button:focus {
	background: #f0fbfd;
	color: #063e49;
}

.msw-link-disabled {
	border-color: #e3e7ed;
	color: #c3c9d2;
	pointer-events: none;
}

.msw-step-meta {
	border-top: 1px solid rgba(6, 19, 38, 0.08);
	color: #97a0b1;
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	gap: 18px;
	margin: 12px 0 0 35px;
	padding-top: 10px;
}

.msw-trial-progress-notice {
	align-items: center;
	background: #f6fbff;
	border: 1px solid #b6d9f7;
	border-radius: 14px;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 18px;
	padding: 18px;
}

.msw-trial-progress-notice strong {
	color: #061326;
	display: block;
	font-size: 15px;
	margin-bottom: 6px;
}

.msw-trial-progress-notice p {
	color: #516074;
	margin: 0 0 8px;
	max-width: 720px;
}

.msw-trial-progress-notice small {
	color: #7b8798;
	display: block;
	font-size: 12px;
	line-height: 1.45;
}

.msw-trial-progress-notice-form {
	flex-shrink: 0;
}

.msw-trial-progress-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 8px;
}

.msw-trial-cancel-link {
	appearance: none;
	background: transparent;
	border: 0;
	color: #c33b3b;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	padding: 2px 4px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.msw-trial-cancel-link:hover,
.msw-trial-cancel-link:focus-visible {
	color: #9f2525;
}

.msw-step-review-form,
.msw-inventory-form {
	display: grid;
	gap: 14px;
	margin-top: 14px;
}

.msw-step-review-notice {
	align-items: flex-start;
	background: #f3e8ff;
	border: 1px solid #c4b5fd;
	border-radius: 10px;
	color: #4c1d95;
	display: flex;
	gap: 11px;
	padding: 13px 14px;
}

.msw-step-review-notice-icon {
	align-items: center;
	color: #7c3aed;
	display: inline-flex;
	flex: 0 0 20px;
	justify-content: center;
}

.msw-step-review-notice-icon .msw-lucide-icon {
	height: 20px;
	width: 20px;
}

.msw-step-review-notice strong,
.msw-step-review-notice span {
	display: block;
}

.msw-step-review-notice strong {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 3px;
}

.msw-step-review-notice div > span {
	color: #6b3db3;
	font-size: 13px;
	line-height: 1.45;
}

.msw-step-review-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.msw-step-review-approve,
.msw-step-review-modify,
.msw-step-review-submit {
	gap: 8px;
}

.msw-step-review-approve {
	background: #16834a;
	border-color: #16834a;
	color: #ffffff;
}

.msw-step-review-approve:hover,
.msw-step-review-approve:focus {
	background: #11683b;
	border-color: #11683b;
	color: #ffffff;
}

.msw-step-review-modify {
	background: #fff7ed;
	border-color: #f59e0b;
	color: #9a4b00;
}

.msw-step-review-modify:hover,
.msw-step-review-modify:focus,
.msw-step-review-modify[aria-expanded="true"] {
	background: #ffedd5;
	border-color: #ea8600;
	color: #7c3d00;
}

.msw-step-review-modification-panel {
	background: #fffaf2;
	border: 1px solid #fed7aa;
	border-radius: 12px;
	display: grid;
	gap: 14px;
	padding: 16px;
}

.msw-step-review-modification-panel[hidden] {
	display: none;
}

.msw-step-review-file-field {
	display: grid;
	gap: 7px;
}

.msw-step-review-file-title {
	color: var(--msw-text-primary);
	font-size: 13px;
	font-weight: 600;
}

.msw-step-review-upload {
	align-items: center;
	background: #ffffff;
	border: 1px dashed #e6a23c;
	border-radius: 11px;
	cursor: pointer;
	display: flex !important;
	gap: 12px !important;
	min-height: 72px;
	padding: 12px 14px;
	transition: background-color .2s ease, border-color .2s ease;
}

.msw-step-review-upload:hover,
.msw-step-review-upload:focus-within {
	background: #fff7ed;
	border-color: #d97706;
}

.msw-step-review-upload-icon {
	align-items: center;
	background: #ffedd5;
	border-radius: 9px;
	color: #c45f00 !important;
	display: inline-flex !important;
	flex: 0 0 40px;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.msw-step-review-upload-icon .msw-lucide-icon {
	height: 19px;
	width: 19px;
}

.msw-step-review-upload strong,
.msw-step-review-upload small {
	display: block;
}

.msw-step-review-upload strong {
	color: #7c3d00;
	font-size: 13px;
	font-weight: 700;
}

.msw-step-review-upload small,
.msw-step-review-file-selection {
	color: #8a5a26;
	font-size: 12px;
	line-height: 1.4;
}

.msw-step-review-file-input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.msw-step-review-file-input:focus + .msw-step-review-file-selection {
	color: #7c3d00;
}

.msw-step-review-file-selection.has-files {
	color: #9a4b00;
	font-weight: 600;
}

.msw-step-review-submit {
	background: #d97706;
	border-color: #d97706;
	color: #ffffff;
	justify-self: start;
}

.msw-step-review-submit:hover,
.msw-step-review-submit:focus {
	background: #b85f05;
	border-color: #b85f05;
	color: #ffffff;
}

@media (max-width: 640px) {
	.msw-step-review-choices {
		display: grid;
	}

	.msw-step-review-choices .msw-button,
	.msw-step-review-submit {
		justify-content: center;
		width: 100%;
	}
}

.msw-step-review-form label,
.msw-inventory-form label {
	display: grid;
	gap: 6px;
}

.msw-inventory-form label.msw-inventory-inline-toggle {
	align-items: center;
	display: inline-flex;
	flex-wrap: nowrap;
	gap: 9px;
}

.msw-step-review-form label span,
.msw-inventory-form label span {
	color: #061326;
	font-size: 13px;
	font-weight: 500;
}

.msw-step-review-form textarea,
.msw-inventory-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="button"]),
.msw-inventory-form textarea {
	background: #ffffff;
	border: 1px solid #d5dee8;
	border-radius: 14px;
	color: #061326;
	font: inherit;
	min-height: 48px;
	padding: 13px 15px;
	width: 100%;
}

.msw-inventory-form select {
	background: #ffffff;
	border: 1px solid #d5dee8;
	border-radius: 14px;
	color: #061326;
	font: inherit;
	min-height: 48px;
	padding: 13px 15px;
	width: 100%;
}

.msw-inventory-wizard {
	background: #ffffff;
	border-radius: 22px;
	gap: 24px;
	padding: 18px 22px 16px;
}

.msw-inventory-wizard-head {
	display: grid;
	gap: 14px;
}

.msw-inventory-wizard-meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.msw-inventory-step-indicator {
	color: #98a2b3;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.msw-inventory-time-estimate {
	align-items: center;
	background: transparent;
	color: #98a2b3;
	display: inline-flex;
	font-size: 13px;
	font-weight: 500;
	gap: 6px;
	padding: 0;
}

.msw-inventory-time-estimate::before {
	content: '\25F7';
	font-size: 12px;
}

.msw-inventory-progress {
	background: #e8eef5;
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
}

.msw-inventory-progress span {
	background: linear-gradient(90deg, #0b5360 0%, #1ea7c5 100%);
	border-radius: inherit;
	display: block;
	height: 100%;
	transition: width 0.2s ease;
}

.msw-inventory-step {
	display: none;
	gap: 22px;
}

.msw-inventory-step.is-active {
	display: grid;
}

.msw-inventory-step-header {
	align-items: start;
	border-bottom: 1px solid #edf2f7;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding-bottom: 18px;
}

.msw-inventory-step-header-copy {
	display: grid;
	gap: 8px;
}

.msw-inventory-step-header h3 {
	color: #061326;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.15;
	margin: 0;
}

.msw-inventory-step-header p {
	color: #667085;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.msw-inventory-intro {
	background: #f8fbfd;
	border: 1px solid #e1ebf2;
	border-radius: 16px;
	padding: 16px 18px;
}

.msw-inventory-intro p {
	color: #667085;
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
}

.msw-inventory-helper {
	color: #98a2b3;
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.msw-inventory-helper code {
	background: #eef4f8;
	border-radius: 8px;
	color: #0b5360;
	font-family: inherit;
	font-size: 13px;
	padding: 2px 8px;
}

.msw-inventory-helper a {
	color: #0b5360;
	font-weight: 700;
	text-decoration: none;
}

.msw-inventory-helper a:hover {
	text-decoration: underline;
}

.msw-inventory-field {
	display: grid;
	gap: 10px;
}

.msw-inventory-field > span,
.msw-inventory-inline-head > span {
	color: #061326;
	font-size: 14px;
	font-weight: 500;
}

.msw-inventory-inline-head {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
}

.msw-inventory-info-badge {
	align-items: center;
	background: #edf4f8;
	border-radius: 999px;
	color: #0b5360;
	display: inline-flex;
	font-size: 11px;
	font-weight: 600;
	height: 18px;
	justify-content: center;
	margin-left: 6px;
	width: 18px;
}

.msw-inventory-inline-toggle {
	align-items: center;
	color: #667085;
	display: inline-flex;
	font-size: 14px;
	font-weight: 500;
	gap: 9px;
}

.msw-inventory-form label.msw-inventory-inline-toggle > span {
	color: #667085;
	display: inline;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

.msw-inventory-inline-toggle input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background: #ffffff;
	border: 1px solid #c7d2de;
	border-radius: 4px;
	cursor: pointer;
	flex: 0 0 18px;
	height: 18px;
	margin: 0;
	min-height: 18px;
	min-width: 18px;
	padding: 0;
	position: relative;
	width: 18px;
}

.msw-inventory-inline-toggle input[type="checkbox"]:checked {
	background: #0b5360;
	border-color: #0b5360;
}

.msw-inventory-inline-toggle input[type="checkbox"]:checked::after {
	border-bottom: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	content: '';
	height: 9px;
	left: 5px;
	position: absolute;
	top: 1px;
	transform: rotate(45deg);
	width: 4px;
}

.msw-inventory-inline-toggle input[type="checkbox"]:focus-visible {
	outline: 2px solid #1ea7c5;
	outline-offset: 2px;
}

.msw-inventory-checkbox-line {
	justify-self: start;
	margin-top: 2px;
}

.msw-inventory-optional-banner {
	align-items: center;
	background: #f8fbfd;
	border: 1px solid #d9e6ee;
	border-radius: 14px;
	display: grid;
	gap: 8px;
	grid-template-columns: 180px minmax(0, 1fr);
	padding: 14px 16px;
}

.msw-inventory-optional-banner strong {
	color: #0b5360;
	font-size: 15px;
}

.msw-inventory-optional-banner span {
	color: #667085;
	font-size: 14px;
}

.msw-chip-group,
.msw-color-chip-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.msw-chip-option,
.msw-color-chip {
	display: inline-flex;
}

.msw-chip-option input,
.msw-color-chip input {
	left: -9999px;
	position: absolute;
}

.msw-chip-option span,
.msw-color-chip span {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d0dae5;
	border-radius: 999px;
	color: #344054;
	cursor: pointer;
	display: inline-flex;
	font-size: 13px;
	font-weight: 500;
	gap: 10px;
	min-height: 40px;
	padding: 0 18px;
	transition: all 0.18s ease;
}

.msw-chip-option > span,
.msw-color-chip > span {
	font-weight: 500;
}

.msw-chip-option input:focus-visible + span,
.msw-color-chip input:focus-visible + span,
.msw-inspiration-remove:focus-visible,
.msw-inventory-add-site:focus-visible {
	outline: 2px solid #1ea7c5;
	outline-offset: 2px;
}

.msw-chip-option input:checked + span,
.msw-color-chip input:checked + span {
	background: #edf9fc;
	border-color: #1ea7c5;
	color: #0b5360;
}

.msw-color-chip span i {
	border: 2px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	box-shadow: 0 0 0 1px rgba(6, 19, 38, 0.08);
	display: inline-flex;
	height: 18px;
	width: 18px;
}

.msw-inventory-conditional-field {
	margin-top: 2px;
}

.msw-inventory-conditional-field:not(.is-visible) {
	display: none;
}

.msw-inventory-inspirations {
	display: grid;
	gap: 12px;
}

.msw-inventory-legal-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msw-inventory-simple-list {
	display: grid;
	gap: 12px;
}

.msw-repeatable-row {
	align-items: end;
	background: #ffffff;
	border: 1px solid #d9e3ec;
	border-radius: 16px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) 34px;
	padding: 14px;
}

.msw-repeatable-row-page {
	align-items: start;
	grid-template-columns: minmax(0, 1fr) 34px;
}

.msw-repeatable-row-page > .msw-inventory-field:first-child {
	grid-column: 1 / 2;
	grid-row: 1;
}

.msw-repeatable-row-page > .msw-inventory-field:nth-child(2) {
	grid-column: 1 / 2;
	grid-row: 2;
}

.msw-repeatable-row-page > .msw-inspiration-remove {
	align-self: start;
	grid-column: 2 / 3;
	grid-row: 1 / span 2;
	margin-top: 2px;
}

.msw-repeatable-row-color {
	grid-template-columns: 110px minmax(0, 1fr) 34px;
}

.msw-inventory-color-picker input[type="color"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	height: 44px;
	min-height: 44px;
	padding: 0;
	width: 100%;
}

.msw-inventory-color-picker input[type="color"]::-webkit-color-swatch-wrapper {
	padding: 0;
}

.msw-inventory-color-picker input[type="color"]::-webkit-color-swatch,
.msw-inventory-color-picker input[type="color"]::-moz-color-swatch {
	border: 1px solid #d8dde6;
	border-radius: 12px;
}

.msw-inspiration-row {
	align-items: end;
	background: #f8fafc;
	border: 1px solid #e6ecf3;
	border-radius: 16px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr);
	padding: 14px;
	position: relative;
}

.msw-inventory-upload-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msw-inventory-upload-grid > .msw-inventory-field {
	align-content: start;
	background: #f8fbfd;
	border: 1px solid #edf2f7;
	border-radius: 18px;
	padding: 16px;
}

.msw-inventory-form input[type="file"] {
	background: #f8fbfd;
	border: 1px dashed #c8d4df;
	border-radius: 14px;
	color: #98a2b3;
	font-size: 13px;
	line-height: 1.5;
	min-height: 0;
	padding: 14px;
	width: 100%;
}

.msw-inventory-form input[type="file"]::file-selector-button {
	background: #ffffff;
	border: 1px solid #d0dae5;
	border-radius: 10px;
	color: #0b5360;
	cursor: pointer;
	font: inherit;
	font-weight: 500;
	margin-right: 12px;
	padding: 10px 14px;
}

.msw-inspiration-remove {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d8dde6;
	border-radius: 999px;
	color: #667085;
	cursor: pointer;
	display: inline-flex;
	font-size: 18px;
	height: 34px;
	justify-content: center;
	padding: 0;
	width: 34px;
}

.msw-inventory-add-site {
	font-size: 13px;
	font-weight: 500;
	padding-left: 14px;
	padding-right: 14px;
}

.msw-inventory-add-site:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.msw-inventory-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin-top: 0;
	padding-top: 14px;
	border-top: 1px solid #edf2f7;
}

.msw-inventory-admin-hint {
	color: #667085;
	font-size: 14px;
	margin: 0;
}

.msw-inventory-confirmation {
	background: linear-gradient(180deg, #ecfdf3 0%, #f7fffb 100%);
	border: 1px solid #b8e6cb;
	border-radius: 16px;
	display: grid;
	gap: 8px;
	padding: 18px;
}

.msw-inventory-confirmation strong {
	color: #067647;
	font-size: 19px;
}

.msw-inventory-confirmation p {
	color: #067647;
	margin: 0;
}

.msw-inventory-summary {
	display: grid;
	gap: 16px;
}

.msw-inventory-summary-section {
	background: #f8fafc;
	border: 1px solid #e6ecf3;
	border-radius: 16px;
	display: grid;
	gap: 14px;
	padding: 18px;
}

.msw-inventory-summary-section h3 {
	color: #061326;
	font-size: 18px;
	margin: 0;
}

.msw-inventory-summary-item {
	display: grid;
	gap: 6px;
}

.msw-inventory-summary-item span {
	color: #667085;
	font-size: 13px;
	font-weight: 700;
}

.msw-inventory-summary-item p {
	color: #061326;
	margin: 0;
	white-space: pre-line;
}

.msw-inventory-summary-item .msw-message-attachments {
	margin-top: 8px;
}

.msw-inventory-form .is-disabled {
	opacity: 0.52;
	pointer-events: none;
}

.msw-inventory-form textarea.is-invalid {
	border-color: #d92d20;
	box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.08);
}

.msw-inventory-warning {
	background: #fff7ed;
	border: 1px solid #fdba74;
	border-radius: 14px;
	color: #c2410c;
	line-height: 1.6;
	margin: 0;
	padding: 14px 16px;
}

.msw-inventory-step-close {
	display: none;
	align-items: center;
	background: transparent;
	border: 0;
	color: #98a2b3;
	cursor: pointer;
	font-size: 26px;
	font-weight: 300;
	height: 28px;
	justify-content: center;
	line-height: 1;
	margin: 2px 0 0;
	padding: 0;
	width: 28px;
}

.msw-inventory-step-close:hover,
.msw-inventory-step-close:focus-visible {
	color: #0b5360;
	outline: none;
}

.msw-inventory-modal .msw-modal-close {
	display: none;
}

.msw-inventory-modal-panel {
	background: transparent;
	box-shadow: none;
	max-width: 570px;
	overflow: visible;
	padding: 0;
}

.msw-inventory-modal-panel > .screen-reader-text {
	left: -9999px;
	position: absolute;
}

.msw-inventory-modal-panel .msw-inventory-form {
	margin-top: 0;
}

.msw-inventory-modal-panel .msw-inventory-step-close {
	display: inline-flex;
}

.msw-inventory-modal-panel .msw-button[data-msw-inventory-next],
.msw-inventory-modal-panel .msw-button[data-msw-inventory-submit] {
	align-items: center;
	border-radius: 14px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 500;
	gap: 10px;
	justify-content: center;
	min-height: 40px;
	min-width: 156px;
	padding: 0 22px;
}

.msw-inventory-modal-panel .msw-button[data-msw-inventory-next][hidden],
.msw-inventory-modal-panel .msw-button[data-msw-inventory-submit][hidden],
.msw-inventory-modal-panel .msw-button[data-msw-inventory-prev][hidden] {
	display: none !important;
}

.msw-inventory-modal-panel .msw-button[data-msw-inventory-next]::after,
.msw-inventory-modal-panel .msw-button[data-msw-inventory-submit]::after {
	content: '\2192';
	font-size: 16px;
	font-weight: 400;
}

.msw-inventory-modal-panel .msw-button[data-msw-inventory-prev] {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: #98a2b3;
	display: inline-flex;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
	min-height: 40px;
	padding: 0;
}

.msw-inventory-modal-panel .msw-button[data-msw-inventory-prev]::before {
	content: '\2190';
	font-size: 15px;
}

.msw-inventory-modal-panel .msw-button[data-msw-inventory-prev]:hover,
.msw-inventory-modal-panel .msw-button[data-msw-inventory-prev]:focus-visible {
	background: transparent;
	color: #0b5360;
}

.msw-button-secondary {
	background: #f8fafc;
	border-color: #d8dde6;
}

.msw-client-feedback {
	border-radius: 9px;
	font-size: 13px;
	margin: 12px 0 0 35px;
	padding: 11px 13px;
}

.msw-client-feedback-approved {
	background: #ecfdf3;
	color: #08783f;
}

.msw-client-feedback-rejected {
	background: #fff9e8;
	color: #925300;
}

.msw-mod-time-card {
	display: grid;
	gap: 12px;
	margin-bottom: 20px;
}

.msw-mod-time-card header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.msw-mod-time-card h2 {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	margin: 0;
}

.msw-mod-time-card header span {
	background: #fff4d7;
	border-radius: 999px;
	color: #d97706;
	font-size: 13px;
	font-weight: 900;
	padding: 6px 12px;
}

.msw-mod-time-track {
	background: #e3e7ee;
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
}

.msw-mod-time-track span {
	background: #f59e0b;
	border-radius: inherit;
	display: block;
	height: 100%;
}

.msw-mod-time-meta {
	color: #8a94a6;
	display: flex;
	font-size: 12px;
	justify-content: space-between;
}

.msw-mod-time-header {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.msw-mod-time-bar-card {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.msw-mod-time-bar-wrap {
	cursor: help;
}

.msw-mod-time-bar {
	background: #e9eef5;
	border-radius: 999px;
	display: flex;
	height: 14px;
	overflow: hidden;
	width: 100%;
}

.msw-mod-time-bar-segment {
	display: block;
	height: 100%;
}

.msw-mod-time-bar-segment.is-monthly {
	background: #16a34a;
}

.msw-mod-time-bar-segment.is-purchased {
	background: #38bdf8;
}

.msw-mod-time-legend,
.msw-mod-time-inline-meta {
	align-items: center;
	color: #667085;
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	gap: 10px 18px;
}

.msw-mod-time-legend span,
.msw-mod-time-inline-meta span {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}

.msw-mod-time-legend i {
	border-radius: 999px;
	display: inline-block;
	height: 10px;
	width: 10px;
}

.msw-mod-time-legend i.is-monthly {
	background: #16a34a;
}

.msw-mod-time-legend i.is-purchased {
	background: #38bdf8;
}

.msw-mod-time-legend i.is-used {
	background: #d7dee8;
}

.msw-mod-time-card p {
	color: #c46400;
	margin: 0;
}

.msw-mod-time-card small {
	color: #98a2b3;
}

.msw-mod-time-purchase {
	background: #f8fafc;
	border: 1px solid #dfe6ef;
	border-radius: 16px;
	display: grid;
	gap: 14px;
	margin-top: 18px;
	padding: 18px;
}

.msw-mod-time-purchase-head {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.msw-mod-time-purchase-head strong,
.msw-mod-time-purchase-price strong {
	color: #061326;
	display: block;
}

.msw-mod-time-purchase-head small,
.msw-mod-time-purchase-price small {
	color: #667085;
	display: block;
}

.msw-mod-time-purchase-badge {
	background: #075466;
	border-radius: 999px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	padding: 8px 12px;
	white-space: nowrap;
}

.msw-mod-time-purchase-slider {
	display: grid;
	gap: 10px;
}

.msw-mod-time-purchase-slider span {
	font-weight: 800;
}

.msw-mod-time-purchase-slider input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	height: 28px;
	padding: 0;
	width: 100%;
}

.msw-mod-time-purchase-slider input[type="range"]::-webkit-slider-runnable-track {
	background: #dfe6ef;
	border-radius: 999px;
	height: 8px;
}

.msw-mod-time-purchase-slider input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: #075466;
	border: 3px solid #ffffff;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(7, 84, 102, 0.24);
	height: 20px;
	margin-top: -6px;
	width: 20px;
}

.msw-mod-time-purchase-slider input[type="range"]::-moz-range-track {
	background: #dfe6ef;
	border: 0;
	border-radius: 999px;
	height: 8px;
}

.msw-mod-time-purchase-slider input[type="range"]::-moz-range-thumb {
	background: #075466;
	border: 3px solid #ffffff;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(7, 84, 102, 0.24);
	height: 20px;
	width: 20px;
}

.msw-mod-time-purchase-slider input[type="range"]::-moz-range-progress {
	background: #075466;
	border-radius: 999px;
	height: 8px;
}

.msw-mod-time-purchase-slider input[type="range"]:focus {
	outline: none;
}

.msw-mod-time-purchase-slider input[type="range"]:focus::-webkit-slider-thumb,
.msw-mod-time-purchase-slider input[type="range"]:focus::-moz-range-thumb {
	box-shadow: 0 0 0 4px rgba(7, 84, 102, 0.16), 0 6px 16px rgba(7, 84, 102, 0.24);
}

.msw-mod-time-purchase-scale {
	color: #98a2b3;
	display: grid;
	font-size: 11px;
	gap: 8px;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	text-align: center;
}

.msw-mod-time-purchase-footer {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.msw-mod-time-purchase-price {
	display: grid;
	gap: 2px;
}

.msw-mod-time-purchase .msw-button[disabled] {
	cursor: not-allowed;
	opacity: .55;
}

.msw-modification-intro,
.msw-modification-form {
	margin-bottom: 20px;
}

.msw-modification-composer {
	border: 1px solid #d7e7ef;
	box-shadow: 0 18px 44px rgba(7, 84, 102, 0.08);
	margin-top: 20px;
}

.msw-modification-composer-header h2 {
	margin-bottom: 8px;
}

.msw-modification-composer-header p {
	color: #667085;
	margin: 0;
}

.msw-modification-composer .msw-modification-form {
	margin-bottom: 0;
	margin-top: 20px;
}

.msw-mod-steps {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.msw-mod-steps span {
	align-items: center;
	color: #98a2b3;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
}

.msw-mod-steps b {
	align-items: center;
	background: #e5eaf0;
	border-radius: 999px;
	color: #98a2b3;
	display: inline-flex;
	height: 26px;
	justify-content: center;
	width: 26px;
}

.msw-mod-steps .is-active,
.msw-mod-steps .is-done {
	color: #061326;
}

.msw-mod-steps .is-active b {
	background: #075466;
	color: #ffffff;
}

.msw-mod-steps .is-done b {
	background: #16a65f;
	color: #ffffff;
}

.msw-mod-step-panel {
	display: none;
}

.msw-mod-step-panel.is-active {
	display: grid;
	gap: 18px;
}

.msw-mod-type-list {
	display: grid;
	gap: 12px;
}

.msw-mod-type-card {
	align-items: center;
	background: #ffffff;
	border: 1px solid #dfe6ef;
	border-radius: 12px;
	color: #061326;
	cursor: pointer;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 16px;
	text-align: left;
	width: 100%;
}

.msw-mod-type-card.is-selected {
	background: #f5fbfd;
	border-color: #075466;
	box-shadow: inset 0 0 0 1px #075466;
}

.msw-mod-type-icon {
	align-items: center;
	background: #eef3f6;
	border-radius: 10px;
	color: #075466;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.msw-mod-type-card strong,
.msw-mod-type-card small {
	display: block;
}

.msw-mod-type-card small {
	color: #667085;
	margin-top: 5px;
}

.msw-mod-type-card i {
	border: 2px solid #cfd8e5;
	border-radius: 999px;
	height: 18px;
	width: 18px;
}

.msw-mod-type-card.is-selected i {
	border: 5px solid #075466;
}

.msw-modification-form label {
	display: grid;
	gap: 8px;
}

.msw-modification-form label span {
	font-weight: 800;
}

.msw-modification-form input,
.msw-modification-form textarea {
	border: 1px solid #d8dde6;
	border-radius: 10px;
	color: #061326;
	font: inherit;
	padding: 13px 14px;
	width: 100%;
}

.msw-mod-back {
	background: transparent;
	border: 0;
	color: #98a2b3;
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	padding: 0;
	text-align: left;
	width: fit-content;
}

.msw-mod-form-actions {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
}

.msw-mod-form-actions .msw-button {
	margin-left: auto;
}

.msw-mod-summary {
	background: #f8fafc;
	border: 1px solid #dfe6ef;
	border-radius: 12px;
	display: grid;
	gap: 8px;
	padding: 16px;
}

.msw-mod-summary small {
	color: #98a2b3;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.msw-mod-summary p {
	margin: 0;
	white-space: pre-wrap;
}

.msw-mod-help {
	color: #8a94a6;
}

.msw-mod-history {
	margin-top: 20px;
}

.msw-mod-history-card {
	margin-top: 20px;
}

.msw-mod-history-card .msw-card-header p {
	color: #667085;
	margin: 6px 0 0;
}

.msw-mod-history-tabs {
	display: inline-flex;
	gap: 10px;
	margin: 18px 0;
}

.msw-mod-history-tab {
	align-items: center;
	background: #f4f7fb;
	border: 1px solid #dfe6ef;
	border-radius: 999px;
	color: #667085;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 700;
	gap: 10px;
	padding: 10px 14px;
}

.msw-mod-history-tab span {
	background: #ffffff;
	border-radius: 999px;
	color: #061326;
	font-size: 12px;
	font-weight: 800;
	min-width: 24px;
	padding: 3px 8px;
	text-align: center;
}

.msw-mod-history-tab.is-active {
	background: #075466;
	border-color: #075466;
	color: #ffffff;
}

.msw-mod-history-tab.is-active span {
	background: rgba(255, 255, 255, 0.16);
	color: #ffffff;
}

.msw-mod-history-panel {
	display: none;
}

.msw-mod-history-panel.is-active {
	display: block;
}

.msw-mod-history-list {
	display: grid;
	gap: 12px;
}

.msw-mod-history-list article {
	border: 1px solid #dfe6ef;
	border-radius: 12px;
	display: grid;
	gap: 6px;
	padding: 14px;
}

.msw-mod-history-list strong,
.msw-mod-history-list small {
	display: block;
}

.msw-mod-history-list small {
	color: #8a94a6;
}

.msw-mod-history-list p {
	margin: 0;
}

.msw-mod-history-status {
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	justify-self: start;
	padding: 5px 9px;
}

.msw-mod-history-status-todo {
	background: #f0f2f5;
	color: #667085;
}

.msw-mod-history-status-in_progress {
	background: #dff6fb;
	color: #075466;
}

@media (max-width: 767px) {
	.msw-mod-time-purchase-scale {
		grid-template-columns: 1fr;
	}

	.msw-mod-time-header,
	.msw-mod-time-purchase-head,
	.msw-mod-time-purchase-footer,
	.msw-mod-time-legend,
	.msw-mod-time-inline-meta,
	.msw-mod-history-tabs {
		align-items: flex-start;
		flex-direction: column;
	}

	.msw-mod-history-tabs {
		display: flex;
	}

	.msw-mod-history-tab {
		width: 100%;
	}

	.msw-mod-time-purchase .msw-button {
		width: 100%;
	}
}

.msw-mod-history-status-review {
	background: #fff4d7;
	color: #9a5b00;
}

.msw-mod-history-status-approved {
	background: #e8f8ef;
	color: #08783f;
}

.msw-subscription-summary {
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 22px;
}

.msw-subscription-plan,
.msw-subscription-next {
	border: 1px solid #dde2e8;
	border-radius: 12px;
	display: grid;
	gap: 8px;
	padding: 18px;
}

.msw-subscription-plan {
	background: #edfaff;
	border-color: #7ce7f3;
}

.msw-subscription-summary span,
.msw-subscription-summary small,
.msw-info-item small {
	color: #8b93a6;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.msw-subscription-plan strong,
.msw-subscription-next strong {
	color: var(--msw-text-primary);
	font-size: 18px;
}

.msw-subscription-plan b {
	color: #0b4960;
	font-size: 28px;
	line-height: 1;
}

.msw-subscription-plan b small {
	letter-spacing: 0;
	text-transform: none;
}

.msw-subscription-plan b.msw-subscription-ended {
	color: #b42318;
	font-size: 18px;
}

.msw-subscription-meta {
	color: var(--msw-text-secondary);
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 22px;
}

.msw-subscription-heading {
	color: var(--msw-text-primary) !important;
	font-weight: 700;
	margin-bottom: 12px !important;
}

.msw-subscription-included {
	display: grid;
	gap: 12px 28px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 24px;
}

.msw-subscription-included span {
	color: var(--msw-text-primary);
	font-size: 13px;
}

.msw-subscription-included span::before {
	color: #16a65b;
	content: "✓";
	font-weight: 800;
	margin-right: 10px;
}

.msw-subscription-richtext {
	color: var(--msw-text-primary);
	margin-bottom: 24px;
}

.msw-subscription-richtext > :first-child {
	margin-top: 0;
}

.msw-subscription-richtext > :last-child {
	margin-bottom: 0;
}

.msw-subscription-richtext ul,
.msw-subscription-richtext ol {
	display: grid;
	gap: 12px 28px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.msw-subscription-richtext li,
.msw-subscription-richtext p {
	color: var(--msw-text-primary);
	font-size: 13px;
	line-height: 1.6;
}

.msw-subscription-richtext li {
	padding-left: 18px;
	position: relative;
}

.msw-subscription-richtext li::before {
	color: #16a65b;
	content: "\2713";
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 0;
}

.msw-subscription-richtext p {
	margin: 0 0 10px;
}

.msw-subscription-included span::before,
.msw-subscription-richtext li::before {
	content: "\2713";
}

.msw-subscription-option,
.msw-subscription-action,
.msw-new-site-box {
	border: 1px solid #dde2e8;
	border-radius: 12px;
	margin-top: 12px;
	padding: 16px;
}

.msw-subscription-option {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.msw-subscription-option strong,
.msw-new-site-box strong,
.msw-subscription-action span {
	color: #061326;
	font-size: 14px;
}

.msw-subscription-option span {
	background: #fff2c2;
	border-radius: 999px;
	color: #b97000;
	font-size: 11px;
	font-weight: 800;
	margin-left: 8px;
	padding: 4px 8px;
}

.msw-subscription-option i {
	background: #cbd2dc;
	border-radius: 999px;
	height: 24px;
	width: 44px;
}

.msw-new-site-box {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.msw-subscription-activation-box {
	background: #f6fbff;
	border: 1px solid #b6d9f7;
	border-radius: 12px;
	margin-top: 14px;
	padding: 16px;
}

.msw-subscription-activation-content {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.msw-subscription-activation-content strong {
	color: #061326;
	display: block;
	font-size: 15px;
	margin-bottom: 6px;
}

.msw-subscription-activation-content p {
	color: #516074;
	font-size: 13px;
	margin: 0;
	max-width: 620px;
}

.msw-subscription-activation-form {
	flex-shrink: 0;
}

.msw-subscription-footer,
.msw-info-footer {
	align-items: center;
	border-top: 1px solid #edf0f4;
	display: flex;
	justify-content: space-between;
	margin-top: 22px;
	padding-top: 18px;
}

.msw-subscription-footer span,
.msw-info-footer span {
	color: #8b93a6;
	font-size: 12px;
}

.msw-inline-cancel-form button,
.msw-info-footer a {
	background: transparent;
	border: 0;
	color: #ff4757;
	cursor: pointer;
	font-size: 13px;
	text-decoration: underline;
}

.msw-info-footer a {
	color: #0c5360;
	font-weight: 800;
	text-decoration: none;
}

.msw-info-grid {
	display: grid;
	gap: 22px 42px;
	grid-template-columns: 1fr 1fr;
	margin-top: 22px;
}

.msw-info-item {
	align-items: center;
	display: flex;
	gap: 12px;
}

.msw-info-icon {
	align-items: center;
	background: #edf4f7;
	border-radius: 10px;
	color: #0c5360;
	display: inline-flex;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.msw-info-item small,
.msw-info-item strong {
	display: block;
}

.msw-info-item strong {
	color: var(--msw-text-primary);
	font-size: 14px;
	margin-top: 3px;
}

.msw-client-sites {
	border-top: 1px solid #edf0f4;
	display: grid;
	gap: 14px;
	margin-top: 24px;
	padding-top: 22px;
}

.msw-client-sites h3 {
	color: var(--msw-text-primary);
	font-size: 14px;
	font-weight: 700;
	margin: 0;
}

.msw-client-site-list {
	display: grid;
	gap: 10px;
}

.msw-client-site-list article {
	align-items: center;
	border: 1px solid #dde5ee;
	border-radius: 12px;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 14px 16px;
}

.msw-client-site-list article.is-active {
	background: #ecfdf3;
	border-color: #9cf2bc;
}

.msw-client-site-list strong,
.msw-client-site-list span {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.msw-client-site-list strong {
	color: var(--msw-text-primary);
	font-size: 14px;
	font-weight: 700;
}

.msw-client-site-list span {
	color: var(--msw-text-secondary);
	font-size: 12px;
	margin-top: 4px;
}

.msw-client-site-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}


.msw-client-site-actions a {
	align-items: center;
	border: 1px solid #d8e1eb;
	border-radius: 10px;
	color: #0b5360;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 6px;
	min-height: 34px;
	padding: 0 11px;
	text-decoration: none;
	white-space: nowrap;
}

.msw-client-site-actions a:hover,
.msw-client-site-actions a:focus {
	background: #f0f8fb;
}

.msw-client-site-actions .msw-lucide-icon {
	height: 15px;
	width: 15px;
}

.msw-modal-open {
	overflow: hidden;
}

.msw-modal {
	display: none;
	inset: 0;
	position: fixed;
	z-index: 99999;
}

.msw-modal.is-open {
	display: block;
}

.msw-modal-backdrop {
	background: rgba(6, 19, 38, .58);
	inset: 0;
	position: absolute;
}

.msw-modal-panel {
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 28px 80px rgba(6, 19, 38, .25);
	left: 50%;
	max-height: calc(100vh - 48px);
	max-width: 780px;
	overflow: auto;
	padding: 26px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100vw - 32px);
}

.msw-modal-panel h2 {
	color: #061326;
	font-size: 22px;
	font-weight: 900;
	margin: 0 40px 8px 0;
}

.msw-modal-panel > p {
	color: #667085;
	font-size: 13px;
	margin: 0 0 18px;
}

.msw-subscription-confirm-modal .msw-modal-panel {
	max-width: 560px;
}

.msw-subscription-confirm-callout {
	background: #eefbf4;
	border: 1px solid #b7ebcd;
	border-radius: 10px;
	color: #175c39;
	display: grid;
	gap: 5px;
	margin: 18px 0 22px;
	padding: 14px 16px;
}

.msw-subscription-confirm-callout-danger {
	background: #fff6f5;
	border-color: #f3c4bf;
	color: #8d2f28;
}

.msw-subscription-confirm-callout strong {
	font-size: 14px;
}

.msw-subscription-confirm-callout span {
	font-size: 13px;
	line-height: 1.5;
}

.msw-subscription-confirm-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.msw-subscription-confirm-actions .msw-button-primary {
	background: #0b5360;
	color: #ffffff;
}

.msw-subscription-confirm-actions .msw-button-primary:hover,
.msw-subscription-confirm-actions .msw-button-primary:focus-visible {
	background: #073f49;
	color: #ffffff;
}

.msw-subscription-confirm-actions .msw-button-danger {
	background: #c63f3f;
	border-color: #c63f3f;
	color: #ffffff;
}

.msw-subscription-confirm-actions .msw-button-danger:hover,
.msw-subscription-confirm-actions .msw-button-danger:focus-visible {
	background: #a82e2e;
	border-color: #a82e2e;
	color: #ffffff;
}

.msw-modal-close {
	align-items: center;
	background: #f3f6f9;
	border: 1px solid #dde5ee;
	border-radius: 999px;
	color: #061326;
	cursor: pointer;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	right: 18px;
	top: 18px;
	width: 34px;
}

.msw-contact-box {
	display: grid;
	gap: 6px;
}

.msw-faq-panel {
	display: grid;
	gap: 22px;
}

.msw-faq-count {
	align-items: center;
	background: #eef4ff;
	border-radius: 999px;
	color: #0b78d1;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 12px;
}

.msw-faq-search {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.msw-faq-search input {
	background: #ffffff;
	border: 1px solid #d9e2ec;
	border-radius: 12px;
	color: #061326;
	font-size: 14px;
	height: 48px;
	padding: 0 16px;
	width: 100%;
}

.msw-faq-search input:focus-visible {
	border-color: #0b78d1;
	box-shadow: 0 0 0 4px rgba(11, 120, 209, 0.14);
	outline: none;
}

.msw-faq-search-meta {
	color: #667085;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.msw-faq-empty {
	background: #f8fafc;
	border: 1px dashed #d6dee8;
	border-radius: 14px;
	color: #667085;
	font-size: 14px;
	padding: 18px 20px;
	text-align: center;
}

.msw-faq-sections {
	display: grid;
	gap: 18px;
}

.msw-faq-section {
	background: #f8fbff;
	border: 1px solid #e0e8f0;
	border-radius: 18px;
	padding: 20px;
}

.msw-faq-section[hidden] {
	display: none;
}

.msw-faq-section-header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 16px;
}

.msw-faq-section-header h3 {
	color: #061326;
	font-size: 17px;
	margin: 0;
}

.msw-faq-section-header span {
	color: #667085;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.msw-faq-list {
	display: grid;
	gap: 12px;
}

.msw-faq-item {
	background: #ffffff;
	border: 1px solid #dde6ee;
	border-radius: 14px;
	overflow: hidden;
}

.msw-faq-item[hidden] {
	display: none;
}

.msw-faq-item summary {
	align-items: center;
	color: #061326;
	cursor: pointer;
	display: flex;
	font-size: 15px;
	font-weight: 600;
	gap: 14px;
	justify-content: space-between;
	list-style: none;
	padding: 18px 20px;
}

.msw-faq-item summary::-webkit-details-marker {
	display: none;
}

.msw-faq-item summary .msw-lucide-icon {
	color: #667085;
	flex: 0 0 18px;
	height: 18px;
	transition: transform 0.2s ease, color 0.2s ease;
	width: 18px;
}

.msw-faq-item[open] summary .msw-lucide-icon {
	color: #0b78d1;
	transform: rotate(180deg);
}

.msw-faq-item summary:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(11, 120, 209, 0.24);
	outline: none;
}

.msw-faq-answer {
	border-top: 1px solid #eef2f6;
	padding: 0 20px 18px;
}

.msw-faq-answer p {
	color: #4b5565;
	font-size: 14px;
	line-height: 1.65;
	margin: 16px 0 0;
}

.msw-form-hint,
.msw-notice {
	font-size: 13px;
}

.msw-notice {
	border-radius: 10px;
	font-weight: 800;
	line-height: 1.45;
	margin: 0 0 16px;
	padding: 12px 14px;
}

.msw-notice-info {
	background: #eff6ff;
	color: #174ea6;
}

.msw-notice-success {
	background: #ecfdf3;
	color: #067647;
}

.msw-notice-error {
	background: #fef3f2;
	color: #b42318;
}

@media (max-width: 980px) {
	.msw-dashboard-v2 {
		grid-template-columns: 1fr;
		margin-left: 0;
		width: 100%;
	}

	.msw-dashboard-sidebar {
		min-height: auto;
		position: static;
	}

	.msw-dashboard-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msw-sidebar-user,
	.msw-dashboard-logout {
		display: none;
	}

	.msw-dashboard-main > * {
		max-width: none;
	}

	.msw-faq-search {
		grid-template-columns: 1fr;
	}

	.msw-faq-section-header {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 680px) {
	.msw-dashboard-topbar {
		padding: 0 18px;
	}

	.msw-dashboard-main {
		padding: 18px;
	}

	.msw-welcome-heading,
	.msw-card-header,
	.msw-subscription-summary,
	.msw-subscription-included,
	.msw-subscription-richtext ul,
	.msw-subscription-richtext ol,
	.msw-info-grid,
	.msw-new-site-box {
		display: grid;
		grid-template-columns: 1fr;
	}

	.msw-trial-progress-notice,
	.msw-subscription-activation-content {
		align-items: stretch;
		flex-direction: column;
	}

	.msw-inventory-wizard-meta,
	.msw-inventory-inline-head,
	.msw-inventory-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.msw-inventory-time-estimate,
	.msw-inventory-actions .msw-button,
	.msw-inventory-add-site {
		width: 100%;
	}

	.msw-inventory-optional-banner,
	.msw-repeatable-row,
	.msw-repeatable-row-color {
		grid-template-columns: 1fr;
	}

	.msw-inventory-legal-grid {
		grid-template-columns: 1fr;
	}

	.msw-inventory-upload-grid {
		grid-template-columns: 1fr;
	}

	.msw-chip-group,
	.msw-color-chip-group {
		gap: 8px;
	}

	.msw-chip-option,
	.msw-color-chip {
		max-width: 100%;
	}

	.msw-chip-option span,
	.msw-color-chip span {
		justify-content: center;
		padding: 10px 14px;
		text-align: center;
		width: 100%;
	}

	.msw-timeline-heading {
		grid-template-columns: 18px 16px minmax(0, 1fr);
	}

	.msw-step-badge,
	.msw-link-button {
		grid-column: 3;
		width: fit-content;
	}

	.msw-dashboard-nav {
		grid-template-columns: 1fr;
	}
}

/* v0.2.2 - Icônes Lucide + menu mobile conforme à la maquette */
.msw-lucide-icon {
	display: block;
	height: 20px;
	width: 20px;
}

.msw-nav-icon .msw-lucide-icon,
.msw-topbar-icon .msw-lucide-icon {
	stroke-width: 1.9;
}

.msw-info-icon .msw-lucide-icon {
	height: 17px;
	width: 17px;
	stroke-width: 2;
}

.msw-mobile-menu-close {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: #d3edf3;
	cursor: pointer;
	display: none;
	font-size: 32px;
	font-weight: 300;
	height: 36px;
	justify-content: center;
	line-height: 1;
	margin-left: auto;
	padding: 0;
	width: 36px;
}

.msw-mobile-menu-close:hover,
.msw-mobile-menu-close:focus {
	color: #ffffff;
}

.msw-support-portal {
	margin-top: 18px;
}

.msw-message-thread {
	display: grid;
	gap: 14px;
	margin: 18px 0 22px;
	max-height: min(58vh, 560px);
	overflow-y: auto;
	padding-right: 8px;
	scrollbar-gutter: stable;
}

.msw-message-empty {
	background: #f8fafc;
	border: 1px solid #e5edf5;
	border-radius: 12px;
	color: #667085;
	padding: 18px;
}

.msw-message-item {
	border: 1px solid #dfe6ef;
	border-radius: 12px;
	max-width: 82%;
	position: relative;
	padding: 14px 16px;
}

.msw-message-item.is-admin {
	background: #e9fbff;
	border-color: #a7ecf7;
	justify-self: start;
}

.msw-message-item.is-client {
	background: #f5f7fb;
	justify-self: end;
}

.msw-message-item > div:first-child {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-bottom: 8px;
	padding-right: 58px;
}

.msw-message-item > div:first-child small {
	display: none;
}

.msw-message-item strong {
	color: var(--msw-text-primary);
	font-size: 14px;
}

.msw-message-item small {
	color: #8a94a6;
	font-size: 12px;
}

.msw-message-item p {
	color: #344054;
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.msw-message-item.is-deleted p {
	color: #8a94a6;
	font-style: italic;
}

.msw-message-attachments {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.msw-message-attachments a {
	align-items: center;
	background: rgba(255, 255, 255, .7);
	border: 1px solid #dfe6ef;
	border-radius: 8px;
	color: #075466;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	gap: 7px;
	max-width: 100%;
	padding: 7px 9px;
	text-decoration: none;
}

.msw-message-receipt {
	align-items: center;
	color: #8792a3;
	display: inline-flex;
	font-size: 11px;
	font-weight: 500;
	gap: 5px;
	margin-top: 10px;
	opacity: .85;
}

.msw-message-date {
	color: #8a94a6;
	display: block;
	font-size: 11px;
	font-weight: 500;
	margin-top: 10px;
}

.msw-message-receipt.is-read {
	color: #0b8f68;
}

.msw-message-receipt.is-received {
	color: #667085;
}

.msw-message-actions {
	align-items: center;
	display: flex;
	gap: 8px;
	position: absolute;
	right: 12px;
	top: 12px;
}

.msw-message-action {
	align-items: center;
	background: rgba(255, 255, 255, .8);
	border: 1px solid #dfe6ef;
	border-radius: 999px;
	color: #1d4ed8;
	cursor: pointer;
	display: inline-flex;
	height: 28px;
	justify-content: center;
	padding: 0;
	width: 28px;
}

.msw-message-action .msw-lucide-icon {
	height: 14px;
	width: 14px;
}

.msw-message-action:hover {
	background: #ffffff;
	border-color: #cbd5e1;
}

.msw-message-action.is-danger {
	color: #b42318;
}

.msw-message-action.is-danger:hover {
	border-color: #f0b6b2;
}

.msw-message-action {
	font-size: 0;
}

.msw-message-form {
	border-top: 1px solid #edf0f4;
	display: grid;
	gap: 10px;
	padding-top: 18px;
}

.msw-message-form label {
	color: var(--msw-text-primary);
	font-weight: 600;
}

.msw-message-form textarea {
	border: 1px solid #dfe6ef;
	border-radius: 10px;
	min-height: 130px;
	padding: 12px;
	resize: vertical;
	width: 100%;
}

.msw-message-file-label {
	color: #667085;
	font-size: 13px;
	font-weight: 600;
	margin-top: 4px;
}

.msw-message-form input[type="file"] {
	border: 1px dashed #cfd8e5;
	border-radius: 10px;
	padding: 10px;
	width: 100%;
}

.msw-message-toast {
	background: #ffffff;
	border: 1px solid #d8e4ee;
	border-left: 4px solid #0ea5b7;
	border-radius: 12px;
	bottom: 22px;
	box-shadow: 0 18px 50px rgba(6, 19, 38, .20);
	color: #061326;
	display: grid;
	font-size: 14px;
	gap: 6px;
	line-height: 1.35;
	max-width: min(360px, calc(100vw - 32px));
	opacity: 0;
	padding: 14px 16px;
	position: fixed;
	right: 22px;
	transform: translateY(14px);
	transition: opacity .2s ease, transform .2s ease;
	z-index: 999999;
}

.msw-message-toast strong {
	color: #061326;
	font-size: 14px;
	font-weight: 900;
}

.msw-message-toast span {
	color: #5f6b7a;
	font-size: 13px;
}

.msw-message-toast a {
	color: #075466;
	font-size: 13px;
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.msw-message-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 980px) {
	.msw-dashboard-v2 {
		display: block;
		margin-left: 0;
		width: 100%;
	}

	.msw-dashboard-sidebar {
		background: #0b5561;
		border-radius: 0;
		box-shadow: none;
		min-height: auto;
		position: relative;
		width: 100%;
	}

	.msw-dashboard-brand {
		height: 64px;
		padding: 0 18px;
	}

	.msw-dashboard-brand strong {
		font-size: 16px;
	}

	.msw-mobile-menu-close {
		display: inline-flex;
	}

	.msw-dashboard-nav {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 16px 14px 22px;
	}

	.msw-nav-title {
		display: none;
	}

	.msw-dashboard-nav-item {
		border-radius: 12px;
		font-size: 14px;
		gap: 14px;
		min-height: 42px;
		padding: 0 16px;
	}

	.msw-dashboard-nav-item.is-active {
		background: rgba(255, 255, 255, 0.16);
		box-shadow: inset 3px 0 0 #e7fbff;
	}

	.msw-nav-badge {
		height: 21px;
		min-width: 21px;
	}
}

@media (max-width: 680px) {
	.msw-dashboard-nav {
		display: flex;
		grid-template-columns: none;
	}
}


/* v0.2.4 - Accueil tableau de bord conforme a la maquette */
.msw-dashboard-v2 {
	background: #f6f8fb;
	grid-template-columns: 252px minmax(0, 1fr);
}

.msw-menu-toggle {
	left: -9999px;
	position: absolute;
}

.msw-dashboard-sidebar {
	background: linear-gradient(180deg, #0b5360 0%, #064d59 100%);
	box-shadow: 10px 0 34px rgba(6, 43, 52, 0.16);
	z-index: 10;
}

.msw-dashboard-brand {
	height: 70px;
	padding: 0 18px;
}

.msw-brand-mark {
	background: rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	height: 34px;
	width: 34px;
}

.msw-dashboard-brand strong {
	font-size: 15px;
}

.msw-dashboard-nav {
	gap: 12px;
	padding: 18px 12px;
}

.msw-nav-title {
	font-size: 10px;
	margin: 0 0 4px 0;
	padding-left: 4px;
}

.msw-dashboard-nav-item {
	border-radius: 11px;
	font-size: 14px;
	min-height: 43px;
	padding: 0 14px;
}

.msw-dashboard-nav-item.is-active {
	background: rgba(255, 255, 255, 0.14);
	box-shadow: inset 3px 0 0 #ffffff;
}

.msw-dashboard-content {
	background: #f6f8fb;
}

.msw-dashboard-topbar {
	background: #ffffff;
	border-bottom: 1px solid #e3e7ee;
	height: 70px;
	padding: 0 36px;
}

.msw-dashboard-info-bar {
	background: #f0f8ff;
	border-bottom: 1px solid #b6d9f7;
	width: 100%;
}

.msw-dashboard-info-bar .msw-trial-progress-notice {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 14px 56px;
}

.msw-dashboard-info-bar .msw-trial-progress-notice strong {
	font-size: 14px;
	margin-bottom: 3px;
}

.msw-dashboard-info-bar .msw-trial-progress-notice p {
	font-size: 12px;
	line-height: 1.45;
	margin-bottom: 4px;
	max-width: 900px;
}

.msw-dashboard-info-bar .msw-trial-progress-notice .msw-button {
	min-height: 38px;
	white-space: nowrap;
}

.msw-dashboard-info-bar .msw-trial-cancelled-alert {
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 14px 56px;
}

.msw-topbar-left {
	align-items: center;
	display: flex;
	flex: 1;
	gap: 20px;
	min-width: 0;
}

.msw-topbar-left strong {
	font-size: 15px;
}

.msw-mobile-menu-button {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d8e0ea;
	border-radius: 9px;
	color: #0b5360;
	cursor: pointer;
	display: inline-flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.msw-topbar-actions {
	align-items: center;
	display: flex;
	gap: 26px;
}

.msw-topbar-actions a {
	align-items: center;
	color: #061326;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	gap: 8px;
	text-decoration: none;
}

.msw-topbar-action-link {
	position: relative;
}

.msw-topbar-message-badge-live {
	align-items: center;
	background: #1d4ed8;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	line-height: 1;
	min-width: 20px;
	padding: 0 6px;
}

.msw-topbar-message-badge-live[hidden] {
	display: none !important;
}

.msw-topbar-actions .msw-lucide-icon {
	height: 17px;
	width: 17px;
}

.msw-site-tools {
	align-items: center;
	display: flex;
	gap: 10px;
	min-width: 0;
}

.msw-site-switcher {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dfe5ec;
	border-radius: 11px;
	display: flex;
	gap: 10px;
	min-height: 42px;
	min-width: 0;
	padding: 7px 10px 7px 12px;
}

.msw-site-switcher label,
.msw-site-switcher > span {
	color: #667085;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.msw-site-switcher div {
	align-items: center;
	display: flex;
	gap: 6px;
}

.msw-site-switcher select {
	appearance: none;
	background: transparent;
	border: 0;
	color: #061326;
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	max-width: 260px;
	min-width: 160px;
	outline: none;
	padding: 0;
}

.msw-site-switcher strong {
	color: #061326;
	font-size: 13px;
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.msw-site-switcher .msw-lucide-icon {
	color: #667085;
	height: 16px;
	width: 16px;
}

.msw-site-access-button {
	align-items: center;
	background: #0c5360;
	border: 1px solid #0c5360;
	border-radius: 11px;
	color: #ffffff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	gap: 7px;
	min-height: 42px;
	padding: 0 13px;
	text-decoration: none;
	white-space: nowrap;
}

.msw-site-access-button:hover,
.msw-site-access-button:focus {
	background: #083f49;
	color: #ffffff;
}

.msw-site-access-button .msw-lucide-icon {
	height: 16px;
	width: 16px;
}

.msw-dashboard-main {
	gap: 20px;
	padding: 24px 56px 42px;
}

.msw-dashboard-main > * {
	max-width: 840px;
}

.msw-home-hero {
	background: transparent;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 0;
}

.msw-home-hero-title h1 {
	color: #09192c;
	font-size: 26px;
	line-height: 1.16;
	margin: 0 0 6px;
}

.msw-home-hero-title small {
	color: #667085;
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 7px;
}

.msw-home-hero-title p {
	color: #5e697c;
	font-size: 14px;
	margin: 0;
}

.msw-home-progress {
	grid-column: 1 / -1;
	margin-top: 28px;
}

.msw-home-progress > div:first-child {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.msw-home-progress span {
	color: #5e697c;
	font-size: 13px;
}

.msw-home-progress strong {
	color: #223149;
	font-size: 14px;
}

.msw-home-progress .msw-progress-bar {
	background: #e5e9ef;
	height: 6px;
}

.msw-home-progress .msw-progress-bar span {
	background: #11a085;
}

.msw-discovery-pill {
	align-self: start;
	background: #dff8e8;
	color: #078055;
	font-size: 12px;
	padding: 7px 13px;
}

.msw-card {
	border: 1px solid #dfe5ec;
	border-radius: 15px;
	box-shadow: 0 8px 22px rgba(16, 24, 40, 0.04);
	padding: 22px;
}

.msw-card h2 {
	font-size: 18px;
	margin: 0;
}

.msw-home-subscription-card {
	padding: 22px 24px 20px;
}

.msw-home-subscription-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: 255px minmax(0, 1fr);
	margin-top: 18px;
}

.msw-home-plan-box {
	background: linear-gradient(135deg, #eefcfd 0%, #f7ffff 100%);
	border: 1px solid #88dfe4;
	border-radius: 12px;
	display: grid;
	gap: 9px;
	padding: 18px 17px;
}

.msw-home-plan-box span,
.msw-home-subscription-details span {
	color: #667085;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.msw-home-plan-box strong {
	color: #08182b;
	font-size: 20px;
	line-height: 1;
}

.msw-home-plan-box b {
	color: #061326;
	font-size: 24px;
	line-height: 1;
}

.msw-home-plan-box small {
	font-size: 14px;
	font-weight: 500;
}

.msw-home-subscription-details {
	border: 1px solid #dfe5ec;
	border-radius: 12px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 116px;
}

.msw-home-subscription-details > div {
	display: grid;
	gap: 8px;
	padding: 17px 20px;
}

.msw-home-subscription-details > div + div {
	border-left: 1px solid #dfe5ec;
}

.msw-home-subscription-details p {
	color: #667085;
	font-size: 13px;
	margin: 0;
}

.msw-home-subscription-details a {
	align-items: center;
	color: #0d579b;
	display: inline-flex;
	font-size: 13px;
	font-weight: 600;
	gap: 7px;
	text-decoration: underline;
	width: fit-content;
}

.msw-home-subscription-details a .msw-lucide-icon,
.msw-home-outline-button .msw-lucide-icon {
	height: 15px;
	width: 15px;
}

.msw-home-subscription-details strong:not(.msw-status-pill) {
	color: #08182b;
	font-size: 18px;
	line-height: 1;
}

.msw-home-subscription-meta {
	color: #667085;
	font-size: 14px;
	line-height: 1.6;
	margin: 16px 0 0;
}

.msw-status-pill {
	font-size: 12px;
	font-weight: 700;
	padding: 7px 10px;
	width: fit-content;
}

.msw-status-pill::before {
	background: currentColor;
	border-radius: 999px;
	content: "";
	height: 7px;
	margin-right: 8px;
	width: 7px;
}

.msw-status-pill.msw-status-canceled {
	background: #ffe5e7;
	color: #f04438;
}

.msw-status-pill.msw-status-trialing,
.msw-status-pill.msw-status-active {
	background: #dff8e8;
	color: #078055;
}

.msw-status-pill.msw-status-past_due,
.msw-status-pill.msw-status-incomplete {
	background: #fff4d8;
	color: #b86b00;
}

.msw-home-alert {
	align-items: center;
	background: #edf6ff;
	border: 1px solid #b8d9ff;
	border-radius: 9px;
	color: #0a3d83;
	display: flex;
	font-size: 13px;
	gap: 12px;
	margin-top: 18px;
	padding: 13px 16px;
}

.msw-home-alert .msw-lucide-icon {
	background: #0b78d1;
	border-radius: 999px;
	color: #ffffff;
	flex: 0 0 22px;
	height: 22px;
	padding: 4px;
	width: 22px;
}

.msw-home-card-header {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	margin-bottom: 22px;
}

.msw-home-progress-card .msw-progress-legend {
	border: 0;
	gap: 16px;
	margin: 10px 0 0;
	padding: 0;
}

.msw-home-progress-card .msw-progress-legend span {
	font-size: 12px;
}

.msw-home-progress-card .msw-trial-progress-notice {
	margin: 18px 0 22px;
}

.msw-dot {
	height: 8px;
	width: 8px;
}

.msw-home-outline-button {
	align-items: center;
	background: #ffffff;
	border: 1px solid #99a7b8;
	border-radius: 8px;
	color: #061326;
	display: inline-flex;
	font-size: 13px;
	font-weight: 600;
	gap: 9px;
	height: 38px;
	padding: 0 16px;
	text-decoration: none;
	white-space: nowrap;
}

.msw-home-steps {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	padding-top: 6px;
}

.msw-home-step {
	align-items: center;
	display: grid;
	gap: 8px;
	justify-items: center;
	position: relative;
	text-align: center;
}

.msw-home-step:not(:last-child)::after {
	border-top: 2px dotted #d7dce3;
	content: "";
	left: calc(50% + 20px);
	position: absolute;
	top: 19px;
	width: calc(100% - 40px);
}

.msw-home-step-number {
	align-items: center;
	background: #eef2f6;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	color: #344054;
	display: inline-flex;
	font-size: 15px;
	height: 38px;
	justify-content: center;
	width: 38px;
	z-index: 1;
}

.msw-home-step strong {
	color: #1f2a3d;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.25;
	min-height: 31px;
}

.msw-home-step em {
	border-radius: 7px;
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3;
	padding: 6px 10px;
	text-align: center;
}

.msw-home-step-done .msw-home-step-number {
	background: #dff9e8;
	border-color: #47c581;
	color: #067647;
}

.msw-home-step-progress .msw-home-step-number {
	background: #e4f4ff;
	border-color: #2d9cef;
	color: #0b78d1;
}

.msw-home-step-review .msw-home-step-number {
	background: #f3e8ff;
	border-color: #8b5cf6;
	color: #6d28d9;
}

.msw-home-step-waiting .msw-home-step-number {
	background: #fff1d7;
	border-color: #f59e0b;
	color: #b86b00;
}

.msw-home-step-locked .msw-home-step-number {
	background: #f4f6f8;
	border-color: #d5dde5;
	color: #98a2b3;
}

.msw-home-step-done em { background: #dff9e8; color: #067647; }
.msw-home-step-progress em { background: #d8efff; color: #0b78d1; }
.msw-home-step-review em { background: #ede9fe; color: #6d28d9; }
.msw-home-step-waiting em { background: #ffe1b7; color: #b86b00; }
.msw-home-step-todo em { background: #edf0f4; color: #667085; }
.msw-home-step-locked em {
	background: #f2f4f7;
	color: #667085;
	max-width: 108px;
	padding: 6px 8px;
}

.msw-home-step-locked strong {
	color: #667085;
}

.msw-home-online-card {
	display: grid;
	gap: 18px;
	padding: 22px 24px;
}

.msw-home-online-card .msw-home-card-header {
	margin-bottom: 0;
}

.msw-home-online-card .msw-home-card-header p {
	color: #667085;
	font-size: 13px;
	margin: 7px 0 0;
}

.msw-home-card-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.msw-home-online-banner {
	align-items: center;
	background: #ecfdf3;
	border: 1px solid #9cf2bc;
	border-radius: 13px;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 16px 18px;
}

.msw-home-online-icon {
	align-items: center;
	background: #d8fae4;
	border-radius: 999px;
	color: #078055;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.msw-home-online-icon .msw-lucide-icon {
	height: 20px;
	width: 20px;
}

.msw-home-online-banner strong {
	color: #078055;
	display: block;
	font-size: 17px;
	font-weight: 900;
	margin-bottom: 4px;
}

.msw-home-online-banner span {
	color: #667085;
	font-size: 13px;
}

.msw-home-online-banner a {
	color: #0b5360;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	margin-top: 5px;
	text-decoration: none;
}

.msw-home-online-banner a:hover,
.msw-home-online-banner a:focus {
	text-decoration: underline;
}

.msw-home-status-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.msw-home-status-grid article {
	border: 1px solid #dde5ee;
	border-radius: 12px;
	display: grid;
	gap: 8px;
	min-width: 0;
	padding: 15px;
}

.msw-home-status-grid .msw-lucide-icon {
	color: #07566a;
	height: 19px;
	width: 19px;
}

.msw-home-status-grid span {
	color: #8a94a6;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.msw-home-status-grid strong {
	color: #061326;
	font-size: 14px;
	line-height: 1.25;
}

.msw-home-status-grid small {
	color: #8a94a6;
	font-size: 11px;
	line-height: 1.35;
}

.msw-home-info-card {
	padding: 22px 24px;
}

.msw-home-info-grid {
	display: grid;
	gap: 22px 42px;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 22px;
}

.msw-home-info-grid .msw-info-item {
	min-width: 0;
}

.msw-home-info-grid .msw-info-icon {
	background: #f0f3f6;
	height: 38px;
	width: 38px;
}

.msw-home-info-grid .msw-info-icon .msw-lucide-icon {
	height: 19px;
	width: 19px;
}

.msw-home-info-grid .msw-info-item small {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.msw-home-info-grid .msw-info-item strong {
	font-size: 13px;
	line-height: 1.25;
	word-break: break-word;
}

.msw-home-info-edit {
	align-self: center;
	justify-self: end;
}

@media (max-width: 1120px) {
	.msw-dashboard-info-bar .msw-trial-progress-notice {
		padding-left: 36px;
		padding-right: 36px;
	}

	.msw-dashboard-main {
		padding-left: 36px;
		padding-right: 36px;
	}

	.msw-dashboard-main > * {
		max-width: none;
	}
}

@media (max-width: 980px) {
	.msw-dashboard-v2 {
		display: grid;
		grid-template-columns: 1fr;
		min-height: 100vh;
	}

	.msw-dashboard-sidebar {
		border-radius: 12px;
		box-shadow: 0 18px 45px rgba(6, 43, 52, 0.32);
		display: none;
		left: 16px;
		min-height: auto;
		position: fixed;
		right: 16px;
		top: 16px;
		width: auto;
		z-index: 1000;
	}

	.msw-menu-toggle:checked + .msw-dashboard-sidebar {
		display: flex;
	}

	.msw-dashboard-nav {
		display: flex;
		grid-template-columns: none;
		padding-bottom: 24px;
	}

	.msw-dashboard-topbar {
		gap: 12px;
		padding: 0 20px;
	}

	.msw-dashboard-info-bar .msw-trial-progress-notice {
		padding-left: 20px;
		padding-right: 20px;
	}

	.msw-topbar-left {
		flex: 1;
		min-width: 0;
	}

	.msw-topbar-actions {
		display: none;
	}

	.msw-site-tools {
		flex: 1;
		min-width: 0;
	}

	.msw-site-switcher {
		flex: 1;
		margin-left: 0;
		min-width: 0;
	}

	.msw-site-switcher label,
	.msw-site-switcher > span {
		display: none;
	}

	.msw-site-switcher div {
		flex: 1;
		min-width: 0;
		width: 100%;
	}

	.msw-site-switcher select {
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.msw-topbar-left .msw-site-access-button {
		display: none;
	}

	.msw-mobile-menu-close {
		display: inline-flex;
	}

	.msw-dashboard-main {
		padding: 24px 20px 36px;
	}

	.msw-home-subscription-grid,
	.msw-home-subscription-details,
	.msw-home-info-grid,
	.msw-home-status-grid {
		grid-template-columns: 1fr;
	}

	.msw-home-subscription-details > div + div {
		border-left: 0;
		border-top: 1px solid #dfe5ec;
	}

	.msw-home-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 10px;
	}

	.msw-home-step:not(:last-child)::after {
		display: none;
	}
}

@media (max-width: 680px) {
	.msw-home-hero {
		gap: 16px;
		grid-template-columns: 1fr;
	}

	.msw-discovery-pill {
		justify-self: start;
	}

	.msw-home-card-header {
		display: grid;
		gap: 14px;
	}

	.msw-home-card-actions {
		justify-content: stretch;
	}

	.msw-home-outline-button,
	.msw-home-info-edit {
		justify-self: stretch;
		width: 100%;
	}

	.msw-client-site-list article,
	.msw-site-online-banner {
		grid-template-columns: 1fr;
	}

	.msw-client-site-actions,
	.msw-site-online-actions {
		justify-content: flex-start;
		justify-items: start;
	}
}


/* v0.2.5 - Bascule sidebar desktop + menu mobile lateral gauche */
@media (min-width: 981px) {
	.msw-dashboard-v2:has(.msw-menu-toggle:checked) {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-sidebar {
		width: 76px;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-brand {
		justify-content: center;
		padding-left: 0;
		padding-right: 0;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-nav-title,
	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-sidebar-user,
	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-logout {
		display: none;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-brand-link {
		gap: 0;
		justify-content: center;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-brand-logo {
		display: none;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-brand-logo-compact {
		display: block;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav {
		align-items: center;
		padding-left: 10px;
		padding-right: 10px;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item {
		font-size: 0;
		gap: 0;
		height: 44px;
		justify-content: center;
		min-height: 44px;
		padding: 0;
		width: 44px;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item::after {
		background: rgba(8, 24, 36, 0.92);
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 10px;
		box-shadow: 0 10px 24px rgba(4, 24, 33, 0.24);
		color: #ffffff;
		content: attr(data-label);
		font-size: 13px;
		font-weight: 600;
		left: calc(100% + 14px);
		line-height: 1;
		opacity: 0;
		padding: 10px 12px;
		pointer-events: none;
		position: absolute;
		top: 50%;
		transform: translateY(-50%) translateX(-6px);
		transition: opacity 0.18s ease, transform 0.18s ease;
		white-space: nowrap;
		z-index: 25;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item::before {
		border-bottom: 6px solid transparent;
		border-right: 6px solid rgba(8, 24, 36, 0.92);
		border-top: 6px solid transparent;
		content: "";
		left: calc(100% + 8px);
		opacity: 0;
		pointer-events: none;
		position: absolute;
		top: 50%;
		transform: translateY(-50%) translateX(-6px);
		transition: opacity 0.18s ease, transform 0.18s ease;
		z-index: 25;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item:hover::after,
	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item:hover::before,
	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item:focus-visible::after,
	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item:focus-visible::before {
		opacity: 1;
		transform: translateY(-50%) translateX(0);
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-dashboard-nav-item.is-active {
		box-shadow: inset 3px 0 0 #e7fbff;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-nav-icon {
		flex-basis: 20px;
	}

	.msw-dashboard-v2:has(.msw-menu-toggle:checked) .msw-nav-badge {
		font-size: 11px;
		height: 18px;
		min-width: 18px;
		padding: 0 5px;
		position: absolute;
		right: -5px;
		top: 2px;
	}
}

@media (max-width: 980px) {
	.msw-dashboard-sidebar {
		border-radius: 0 16px 16px 0;
		bottom: 0;
		display: flex;
		left: 0;
		min-height: 100vh;
		overflow-y: auto;
		right: auto;
		top: 0;
		transform: translateX(-105%);
		transition: transform 220ms ease;
		width: min(286px, 88vw);
	}

	.msw-menu-toggle:checked + .msw-dashboard-sidebar {
		display: flex;
		transform: translateX(0);
	}

	.msw-dashboard-brand {
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.msw-dashboard-nav {
		gap: 10px;
	}

	.msw-dashboard-content {
		min-width: 0;
	}
}

/* v0.2.6 - Edition du compte WordPress depuis l'onglet Mes informations */
.msw-account-form {
	border-top: 1px solid #edf0f4;
	display: grid;
	gap: 16px;
	margin-top: 26px;
	padding-top: 24px;
}

.msw-account-form h3 {
	color: #061326;
	font-size: 16px;
	font-weight: 900;
	margin: 4px 0 0;
}

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

.msw-account-grid label {
	display: grid;
	gap: 7px;
}

.msw-account-grid label span {
	color: #59647a;
	font-size: 12px;
	font-weight: 800;
}

.msw-account-grid input,
.msw-account-grid select {
	background: #ffffff;
	border: 1px solid #d8dde6;
	border-radius: 11px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
	color: #061326;
	font: inherit;
	min-height: 44px;
	padding: 10px 13px;
	width: 100%;
}

.msw-account-grid input:focus,
.msw-account-grid select:focus {
	border-color: #0c8795;
	box-shadow: 0 0 0 3px rgba(12, 135, 149, .12);
	outline: none;
}

.msw-account-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 2px;
}

.msw-account-actions .msw-button {
	border-radius: 11px;
	min-height: 44px;
	padding-inline: 18px;
}

@media (max-width: 720px) {
	.msw-account-grid {
		grid-template-columns: 1fr;
	}

	.msw-account-actions {
		justify-content: stretch;
	}

	.msw-account-actions .msw-button {
		width: 100%;
	}
}

.msw-account-edit-button {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
	margin-top: 22px;
	width: fit-content;
}

.msw-account-modal .msw-modal-panel {
	max-width: 920px;
}

.msw-account-modal .msw-account-form {
	border-top: 0;
	margin-top: 8px;
	padding-top: 0;
}

.msw-account-grid small {
	color: #7b8495;
	font-size: 11px;
	line-height: 1.4;
}

.msw-account-grid input:disabled,
.msw-account-grid select:disabled {
	background: #f5f7fa;
	color: #6b7280;
	cursor: not-allowed;
}

@media (max-width: 720px) {
	.msw-account-edit-button {
		width: 100%;
	}

	.msw-account-modal .msw-modal-panel {
		width: calc(100vw - 24px);
	}
}

.msw-site-status-card {
	display: grid;
	gap: 18px;
}

.msw-umbrella-empty {
	background: #f8fafc;
	border: 1px solid #dde5ee;
	border-radius: 12px;
	display: grid;
	gap: 8px;
	padding: 18px;
}

.msw-umbrella-empty strong {
	color: #061326;
	font-size: 15px;
}

.msw-umbrella-error {
	background: #fff1f2;
	border-color: #fecdd3;
}

.msw-umbrella-error strong {
	color: #b42318;
}

.msw-umbrella-summary {
	align-items: center;
	background: #edfaff;
	border: 1px solid #91e0ea;
	border-radius: 12px;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 16px 18px;
}

.msw-umbrella-summary div {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.msw-umbrella-summary strong {
	color: #061326;
	font-size: 16px;
}

.msw-umbrella-summary a,
.msw-umbrella-summary span {
	color: #526176;
	font-size: 12px;
}

.msw-umbrella-summary a {
	overflow-wrap: anywhere;
	text-decoration: none;
}

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

.msw-umbrella-stat {
	background: #ffffff;
	border: 1px solid #dde5ee;
	border-radius: 12px;
	display: grid;
	gap: 8px;
	min-height: 118px;
	padding: 16px;
}

.msw-umbrella-stat span {
	color: #7d8798;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.msw-umbrella-stat strong {
	color: #061326;
	font-size: 24px;
	line-height: 1;
}

.msw-umbrella-stat small {
	color: #7d8798;
	font-size: 12px;
	line-height: 1.4;
}

.msw-umbrella-good {
	color: #078055 !important;
}

.msw-umbrella-warning {
	color: #b86b00 !important;
}

.msw-umbrella-danger {
	color: #b42318 !important;
}

.msw-umbrella-panels {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msw-umbrella-panel {
	border: 1px solid #dde5ee;
	border-radius: 12px;
	display: grid;
	gap: 10px;
	padding: 16px;
}

.msw-umbrella-panel h3 {
	color: #061326;
	font-size: 14px;
	margin: 0;
}

.msw-umbrella-panel p,
.msw-umbrella-cache-note {
	color: #7d8798 !important;
	font-size: 12px !important;
}

.msw-maintenance-list,
.msw-availability-summary {
	display: grid;
	gap: 10px;
}

.msw-maintenance-item {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #edf0f4;
	border-radius: 10px;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding: 11px 12px;
}

.msw-maintenance-item span {
	color: #526176;
	font-size: 13px;
	font-weight: 700;
}

.msw-maintenance-item strong {
	color: #061326;
	font-size: 13px;
	text-align: right;
}

.msw-availability-summary > span {
	background: #e8f8ef;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	padding: 7px 11px;
	width: fit-content;
}

.msw-availability-summary p {
	background: #f8fafc;
	border-radius: 10px;
	margin: 0 !important;
	padding: 10px 12px;
}

.msw-umbrella-list {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.msw-umbrella-list li {
	color: #314056;
	font-size: 13px;
	line-height: 1.4;
	padding-left: 18px;
	position: relative;
}

.msw-umbrella-list li::before {
	background: #17bcd4;
	border-radius: 999px;
	content: "";
	height: 7px;
	left: 0;
	position: absolute;
	top: 6px;
	width: 7px;
}

.msw-umbrella-cache-note {
	border-top: 1px solid #edf0f4;
	padding-top: 14px;
}

@media (max-width: 900px) {
	.msw-umbrella-grid,
	.msw-umbrella-panels {
		grid-template-columns: 1fr;
	}

	.msw-umbrella-summary {
		align-items: flex-start;
		flex-direction: column;
	}

	.msw-maintenance-item {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.msw-maintenance-item strong {
		text-align: left;
	}
}

.msw-site-status-card {
	gap: 20px;
}

.msw-site-status-card .msw-card-header {
	margin-bottom: 4px;
}

.msw-site-online-banner {
	align-items: center;
	background: #ecfdf3;
	border: 1px solid #9cf2bc;
	border-radius: 14px;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 18px 20px;
}

.msw-site-online-icon {
	align-items: center;
	background: #d8fae4;
	border-radius: 999px;
	color: #0aa36d;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.msw-site-online-icon .msw-lucide-icon {
	height: 22px;
	width: 22px;
}

.msw-site-online-banner strong {
	color: #008c56;
	display: block;
	font-size: 16px;
	font-weight: 900;
	margin-bottom: 4px;
}

.msw-site-online-banner span {
	color: #5f6b7d;
	font-size: 13px;
}

.msw-site-online-banner a:not(.msw-site-access-button) {
	color: #0b5360;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	margin-top: 5px;
	text-decoration: none;
}

.msw-site-online-banner a:not(.msw-site-access-button):hover,
.msw-site-online-banner a:not(.msw-site-access-button):focus {
	text-decoration: underline;
}

.msw-site-online-actions {
	align-items: flex-end;
	display: grid;
	gap: 10px;
	justify-items: end;
}

.msw-site-online-banner p {
	align-items: center;
	color: #223149;
	display: inline-flex;
	font-size: 13px;
	gap: 8px;
	justify-content: flex-end;
	margin: 0;
	white-space: nowrap;
}

.msw-site-online-banner p .msw-lucide-icon {
	color: #738095;
	height: 16px;
	width: 16px;
}

.msw-site-status-top-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.msw-site-panel,
.msw-site-updates-card {
	background: #ffffff;
	border: 1px solid #dde5ee;
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(16, 24, 40, 0.03);
	padding: 20px;
}

.msw-site-panel h3,
.msw-site-updates-header h3 {
	align-items: center;
	color: #061326;
	display: flex;
	font-size: 16px;
	font-weight: 900;
	gap: 9px;
	line-height: 1.25;
	margin: 0;
}

.msw-site-panel h3 .msw-lucide-icon,
.msw-site-updates-header h3 .msw-lucide-icon {
	color: #07566a;
	height: 18px;
	width: 18px;
}

.msw-performance-panel {
	display: grid;
	gap: 20px;
}

.msw-performance-scores {
	align-items: start;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.msw-performance-score {
	align-items: center;
	display: grid;
	gap: 8px;
	justify-items: center;
	position: relative;
}

.msw-performance-score + .msw-performance-score {
	border-left: 1px solid #edf0f4;
}

.msw-performance-device {
	color: #9aa4b4;
	display: inline-flex;
}

.msw-performance-device .msw-lucide-icon {
	height: 16px;
	width: 16px;
}

.msw-score-ring {
	--ring-color: #16a65b;
	align-items: center;
	background:
		radial-gradient(circle, #fff 0 54%, transparent 55%),
		conic-gradient(var(--ring-color) calc(var(--score) * 1%), #edf0f4 0);
	border-radius: 999px;
	display: grid;
	height: 66px;
	justify-items: center;
	line-height: 1;
	place-content: center;
	width: 66px;
}

.msw-score-exceptional .msw-score-ring { --ring-color: #0aa36d; }
.msw-score-very-good .msw-score-ring { --ring-color: #16a65b; }
.msw-score-good .msw-score-ring { --ring-color: #0ea5a4; }
.msw-score-correct .msw-score-ring { --ring-color: #f59e0b; }
.msw-score-fix .msw-score-ring { --ring-color: #f97316; }

.msw-score-ring strong {
	color: var(--ring-color);
	font-size: 20px;
	font-weight: 900;
}

.msw-score-ring small {
	color: #8a94a6;
	font-size: 10px;
	font-weight: 800;
}

.msw-performance-score b {
	color: #061326;
	font-size: 14px;
}

.msw-performance-score em {
	background: #e8f8ef;
	border-radius: 999px;
	color: #078055;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	padding: 4px 9px;
}

.msw-score-exceptional em { background: #d8fae4; color: #078055; }
.msw-score-very-good em { background: #e8f8ef; color: #078055; }
.msw-score-good em { background: #e6fffb; color: #0f766e; }
.msw-score-correct em { background: #fff4d8; color: #b86b00; }
.msw-score-fix em { background: #ffedd5; color: #c2410c; }

.msw-performance-panel > p {
	color: #8a94a6;
	font-size: 12px;
	margin: 0;
	text-align: center;
}

.msw-technical-panel {
	display: grid;
	gap: 16px;
}

.msw-technical-list {
	display: grid;
	gap: 0;
}

.msw-technical-item {
	align-items: center;
	border-top: 1px solid #edf0f4;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 14px 0;
}

.msw-technical-item:first-child {
	border-top: 0;
	padding-top: 0;
}

.msw-technical-item:last-child {
	padding-bottom: 0;
}

.msw-technical-icon {
	align-items: center;
	background: #eef5f7;
	border-radius: 10px;
	color: #07566a;
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.msw-technical-icon .msw-lucide-icon,
.msw-technical-check .msw-lucide-icon {
	height: 17px;
	width: 17px;
}

.msw-technical-icon.msw-technical-ok {
	background: #e8f8ef;
	color: #078055;
}

.msw-technical-icon.msw-technical-warning {
	background: #fff4d8;
	color: #b86b00;
}

.msw-technical-item span {
	color: #8a94a6;
	display: block;
	font-size: 12px;
	margin-bottom: 3px;
}

.msw-technical-item strong {
	color: #061326;
	display: block;
	font-size: 13px;
	line-height: 1.35;
}

.msw-technical-check {
	align-items: center;
	background: #d8fae4;
	border-radius: 999px;
	color: #0aa36d;
	display: inline-flex;
	height: 26px;
	justify-content: center;
	width: 26px;
}

.msw-site-updates-card {
	display: grid;
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.msw-site-updates-header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 18px 20px;
}

.msw-site-updates-header h3 {
	margin-right: auto;
}

.msw-site-updates-header > span {
	background: #edf2f7;
	border-radius: 999px;
	color: #526176;
	font-size: 12px;
	font-weight: 900;
	padding: 6px 10px;
}

.msw-site-update-list {
	border-top: 1px solid #edf0f4;
	display: grid;
}

.msw-site-update-row {
	align-items: center;
	border-bottom: 1px solid #edf0f4;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	min-height: 64px;
	padding: 13px 20px;
}

.msw-site-update-row:last-child {
	border-bottom: 0;
}

.msw-site-update-icon {
	align-items: center;
	background: #fff4d8;
	border-radius: 999px;
	color: #f59e0b;
	display: inline-flex;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.msw-site-update-icon .msw-lucide-icon {
	height: 15px;
	width: 15px;
}

.msw-site-update-row strong {
	color: #061326;
	display: block;
	font-size: 14px;
	margin-bottom: 3px;
}

.msw-site-update-row span {
	color: #8993a7;
	display: block;
	font-size: 12px;
}

.msw-site-update-row small {
	background: #fff4d8;
	border-radius: 999px;
	color: #b86b00;
	font-size: 11px;
	font-weight: 800;
	padding: 5px 9px;
}

.msw-site-updates-empty {
	align-items: center;
	border-top: 1px solid #edf0f4;
	color: #078055;
	display: flex;
	gap: 10px;
	padding: 16px 20px;
}

.msw-site-updates-empty .msw-lucide-icon {
	background: #d8fae4;
	border-radius: 999px;
	height: 24px;
	padding: 5px;
	width: 24px;
}

.msw-site-updates-empty p {
	color: #526176 !important;
	font-size: 13px !important;
	margin: 0 !important;
}

.msw-site-updates-note {
	border-top: 1px solid #edf0f4;
	color: #8a94a6 !important;
	font-size: 12px !important;
	margin: 0 !important;
	padding: 15px 20px 18px;
}

@media (max-width: 860px) {
	.msw-site-online-banner,
	.msw-site-status-top-grid {
		grid-template-columns: 1fr;
	}

	.msw-site-online-banner p {
		justify-content: flex-start;
		white-space: normal;
	}

	.msw-site-update-row {
		align-items: flex-start;
		grid-template-columns: auto minmax(0, 1fr);
	}

	.msw-site-update-row small {
		grid-column: 2;
		justify-self: start;
	}
}

/* Message visible par le client — bandeau home */
.msw-client-note-banner {
	background-color: #0B5360;
	color: #ffffff;
	border-radius: 8px;
	padding: 16px 20px;
	margin-bottom: 24px;
}

.msw-client-note-banner p {
	margin: 0;
	color: #ffffff;
	font-size: 0.95rem;
	line-height: 1.6;
}

.msw-status-pill.msw-status-pending {
	background: #eef2ff;
	color: #4338ca;
}

.msw-mod-step-panel[data-msw-mod-step="1"] > span {
	display: none;
}

.msw-modification-form label small {
	color: #667085;
	display: block;
	font-size: 12px;
	margin-top: 6px;
}

.msw-mod-history-highlight {
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
	border-color: #bfdbfe;
	box-shadow: 0 10px 26px rgba(37, 99, 235, 0.08);
}

.msw-mod-history-highlight .msw-card-header {
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.msw-mod-history-highlight .msw-card-header span {
	align-items: center;
	background: #dbeafe;
	border-radius: 999px;
	color: #1d4ed8;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	min-width: 30px;
	padding: 6px 10px;
}

.msw-dashboard-main > .msw-sites-panel {
	max-width: none;
}

.msw-sites-panel .msw-card-header {
	align-items: start;
	justify-content: space-between;
	gap: 18px;
}

.msw-sites-panel .msw-card-header p {
	margin: 8px 0 0;
}

.msw-sites-count {
	align-items: center;
	background: #eff6ff;
	border-radius: 999px;
	color: #1d4ed8;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	padding: 7px 12px;
	white-space: nowrap;
}

.msw-sites-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 18px;
}

.msw-sites-card {
	background: #f8fafc;
	border: 1px solid #dfe5ec;
	border-radius: 14px;
	display: grid;
	gap: 16px;
	min-height: 220px;
	padding: 18px;
}

.msw-sites-card.is-active {
	background: #eef8f6;
	border-color: #9fd6cb;
}

.msw-sites-card-top {
	display: grid;
	gap: 10px;
}

.msw-sites-card-top strong {
	color: #061326;
	font-size: 18px;
	line-height: 1.3;
}

.msw-sites-meta {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.msw-sites-meta li {
	align-items: start;
	display: grid;
	gap: 4px;
}

.msw-sites-meta span {
	color: #667085;
	font-size: 12px;
	font-weight: 700;
}

.msw-sites-meta strong {
	color: #223149;
	font-size: 14px;
}

.msw-sites-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
}

.msw-sites-current {
	cursor: default;
	opacity: 1;
}

@media (max-width: 1100px) {
	.msw-sites-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.msw-sites-grid {
		grid-template-columns: 1fr;
	}
}

.msw-client-notifications {
	position: relative;
}

.msw-client-notifications summary {
	list-style: none;
}

.msw-client-notifications summary::-webkit-details-marker {
	display: none;
}

.msw-client-notifications-toggle {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dfe5ec;
	border-radius: 11px;
	cursor: pointer;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	position: relative;
	width: 42px;
}

.msw-client-notifications-toggle .msw-lucide-icon {
	height: 18px;
	width: 18px;
}

.msw-client-notifications-badge {
	align-items: center;
	background: #1d4ed8;
	border: 2px solid #ffffff;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	min-width: 20px;
	padding: 0 6px;
	position: absolute;
	right: -6px;
	top: -6px;
}

.msw-client-notifications-menu {
	background: #ffffff;
	border: 1px solid #dfe5ec;
	border-radius: 14px;
	box-shadow: 0 18px 42px rgba(16, 24, 40, 0.14);
	padding: 14px;
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	width: min(420px, calc(100vw - 40px));
	z-index: 20;
}

.msw-client-notifications-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.msw-client-notifications-header strong {
	color: #061326;
	font-size: 14px;
}

.msw-client-notifications-header a {
	color: #1d4ed8;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.msw-client-notifications-list {
	display: grid;
	gap: 10px;
	max-height: 380px;
	overflow-y: auto;
}

.msw-client-notification-item {
	background: #f8fafc;
	border: 1px solid #e5edf5;
	border-radius: 12px;
	padding: 12px 13px;
}

.msw-client-notification-item strong {
	color: #0f172a;
	display: block;
	font-size: 14px;
}

.msw-client-notification-item p {
	color: #475467;
	font-size: 13px;
	margin: 6px 0 0;
}

.msw-client-notification-item small,
.msw-client-notifications-empty {
	color: #667085;
	font-size: 12px;
}

.msw-client-notification-item small {
	display: block;
	margin-top: 8px;
}

.msw-message-menu-item {
	background: #f8fafc;
	border: 1px solid #e5edf5;
	border-radius: 12px;
	color: inherit;
	display: block;
	padding: 12px 13px;
	text-decoration: none;
}

.msw-message-menu-item strong {
	color: #0f172a;
	display: block;
	font-size: 14px;
}

.msw-message-menu-item p {
	color: #475467;
	font-size: 13px;
	margin: 6px 0 0;
}

.msw-message-menu-item small {
	color: #667085;
	display: block;
	font-size: 12px;
	margin-top: 8px;
}

.msw-dashboard-main > .msw-messaging-card {
	max-width: 1040px;
}

.msw-message-item {
	max-width: min(300px, 100%);
}

.msw-satisfaction-modal .msw-modal-panel {
	max-width: 860px;
}

.msw-satisfaction-form {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.msw-satisfaction-identity {
	padding: 0.9rem 1rem;
	border-radius: 16px;
	background: #f3f7ff;
	border: 1px solid #d9e5ff;
	display: grid;
	gap: 0.2rem;
}

.msw-satisfaction-identity span {
	color: #17325c;
	font-weight: 700;
}

.msw-satisfaction-identity small {
	color: #5d6f8d;
}

.msw-satisfaction-field {
	padding: 1rem 1.1rem;
	border-radius: 18px;
	border: 1px solid #e4e9f3;
	background: #fff;
	display: grid;
	gap: 0.8rem;
}

.msw-satisfaction-field textarea {
	width: 100%;
	min-height: 120px;
	border: 1px solid #d8deea;
	border-radius: 14px;
	padding: 0.9rem 1rem;
	font: inherit;
	resize: vertical;
}

.msw-satisfaction-rating,
.msw-satisfaction-choice-list,
.msw-google-review-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.msw-satisfaction-rating-option,
.msw-satisfaction-choice-option {
	position: relative;
}

.msw-satisfaction-rating-option input,
.msw-satisfaction-choice-option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.msw-satisfaction-rating-option span,
.msw-satisfaction-choice-option span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0.75rem 1rem;
	border-radius: 14px;
	border: 1px solid #d8deea;
	background: #f8faff;
	color: #203355;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.18s ease;
}

.msw-satisfaction-rating-option span {
	min-width: 48px;
}

.msw-satisfaction-rating-option input:checked + span,
.msw-satisfaction-choice-option input:checked + span {
	border-color: #1d6fff;
	background: #e9f1ff;
	color: #0d46a7;
	box-shadow: 0 0 0 1px rgba(29, 111, 255, 0.15);
}

.msw-satisfaction-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: flex-end;
}

.msw-google-review-card {
	border: 1px solid #dce7ff;
	background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.msw-google-review-confirm {
	margin: 0;
}

.msw-account-grid-full {
	grid-column: 1 / -1;
}

.msw-public-auth-shell {
	background: #ffffff;
	color: #0f172a;
	display: grid;
	grid-template-columns: minmax(320px, 44%) minmax(0, 56%);
	margin-left: calc(50% - 50vw);
	min-height: 100vh;
	width: 100vw;
}

.msw-public-auth-hero {
	background: linear-gradient(180deg, #135467 0%, #0d3f4f 100%);
	color: #ffffff;
	min-height: 100vh;
	overflow: hidden;
	position: relative;
}

.msw-public-auth-hero-inner {
	display: flex;
	flex-direction: column;
	gap: 48px;
	height: 100%;
	justify-content: space-between;
	padding: 52px 46px;
	position: relative;
	z-index: 2;
}

.msw-public-auth-brand {
	align-items: center;
	color: #ffffff;
	display: inline-flex;
	text-decoration: none;
}

.msw-public-auth-brand-mark {
	align-items: center;
	background: rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	display: inline-flex;
	font-size: 28px;
	font-weight: 800;
	height: 52px;
	justify-content: center;
	width: 52px;
}

.msw-public-auth-brand-logo {
	display: block;
	height: 54px;
	max-width: 220px;
	object-fit: contain;
	width: auto;
}

.msw-public-auth-brand strong {
	color: #ffffff;
	font-size: 18px;
	font-weight: 800;
}

.msw-public-auth-copy {
	display: grid;
	gap: 22px;
	max-width: 530px;
}

.msw-public-auth-copy h1 {
	color: #ffffff;
	font-size: clamp(32px, 4vw, 54px);
	font-weight: 500;
	line-height: 1.06;
	margin: 0;
}

.msw-public-auth-copy p {
	color: rgba(233, 244, 247, 0.88);
	font-size: 22px;
	line-height: 1.55;
	margin: 0;
	max-width: 520px;
}

.msw-public-auth-benefits {
	display: grid;
	gap: 16px;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.msw-public-auth-benefits li {
	align-items: center;
	color: #edf7fa;
	display: flex;
	font-size: 18px;
	gap: 14px;
	line-height: 1.45;
}

.msw-public-auth-benefit-icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	display: inline-flex;
	flex: 0 0 30px;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.msw-public-auth-footer {
	color: rgba(218, 233, 239, 0.62);
	font-size: 14px;
	margin: 0;
}

.msw-public-auth-orb {
	background: rgba(71, 146, 163, 0.18);
	border-radius: 999px;
	position: absolute;
}

.msw-public-auth-orb-top {
	height: 320px;
	left: -80px;
	top: -68px;
	width: 320px;
}

.msw-public-auth-orb-center {
	height: 620px;
	left: 28px;
	top: 150px;
	width: 620px;
}

.msw-public-auth-orb-bottom {
	bottom: -120px;
	height: 360px;
	right: -84px;
	width: 360px;
}

.msw-public-auth-panel {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	padding: 56px 40px;
}

.msw-public-auth-panel-inner {
	display: grid;
	gap: 18px;
	max-width: 440px;
	width: 100%;
}

.msw-public-auth-content {
	display: grid;
	gap: 20px;
}

.msw-public-auth-content h2 {
	color: #081a3a;
	font-size: clamp(30px, 3vw, 44px);
	font-weight: 900;
	line-height: 1.08;
	margin: 0;
}

.msw-public-auth-subtitle {
	color: #6c7a92;
	font-size: 18px;
	line-height: 1.55;
	margin: -6px 0 0;
}

.msw-public-auth-back,
.msw-public-auth-link {
	color: #0e5870;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.msw-public-auth-back {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	width: fit-content;
}

.msw-public-auth-back .msw-lucide-icon {
	transform: rotate(180deg);
}

.msw-public-auth-back:hover,
.msw-public-auth-back:focus,
.msw-public-auth-link:hover,
.msw-public-auth-link:focus {
	text-decoration: underline;
}

.msw-public-auth-form-panel,
.msw-public-signup-form {
	display: grid;
	gap: 18px;
	margin-top: 6px;
}

.msw-public-auth-split {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msw-public-auth-field {
	display: grid;
	gap: 8px;
}

.msw-public-auth-field > span:first-child,
.msw-public-auth-password-head span {
	color: #091933;
	font-size: 15px;
	font-weight: 800;
}

.msw-public-auth-input-wrap {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d9e1ec;
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	display: flex;
	gap: 10px;
	min-height: 58px;
	padding: 0 16px;
}

.msw-public-auth-input-wrap:focus-within {
	border-color: #135467;
	box-shadow: 0 0 0 4px rgba(19, 84, 103, 0.12);
}

.msw-public-auth-input-icon {
	align-items: center;
	color: #9aa7ba;
	display: inline-flex;
	flex: 0 0 18px;
	justify-content: center;
	width: 18px;
}

.msw-public-auth-input-wrap input {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	color: #0f172a;
	font: inherit;
	height: 56px;
	margin: 0;
	outline: none;
	padding: 0;
	width: 100%;
}

.msw-public-auth-input-wrap input::placeholder {
	color: #9aa7ba;
}

.msw-public-auth-password-head {
	align-items: baseline;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 2px;
}

.msw-public-auth-check {
	align-items: center;
	color: #6c7a92;
	display: inline-flex;
	font-size: 14px;
	gap: 10px;
}

.msw-public-auth-check input {
	margin: 0;
}

.msw-public-auth-primary,
.msw-public-auth-secondary {
	align-items: center;
	border-radius: 18px;
	cursor: pointer;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	min-height: 58px;
	padding: 0 24px;
	text-decoration: none;
	transition: .2s ease;
	width: 100%;
}

.msw-public-auth-primary:disabled,
.msw-public-auth-secondary:disabled {
	cursor: not-allowed;
}

.msw-public-auth-primary {
	background: #135467;
	border: 1px solid #135467;
	color: #ffffff;
	gap: 10px;
}

.msw-public-auth-primary:hover,
.msw-public-auth-primary:focus {
	background: #0f4656;
	border-color: #0f4656;
	color: #ffffff;
}

.msw-public-auth-primary-icon {
	align-items: center;
	display: inline-flex;
}

.msw-public-auth-secondary {
	background: #ffffff;
	border: 2px solid #135467;
	color: #135467;
}

.msw-public-auth-secondary:hover,
.msw-public-auth-secondary:focus {
	background: #f2f8fa;
	color: #0f4656;
}

.msw-public-auth-divider {
	align-items: center;
	color: #9aa7ba;
	display: flex;
	font-size: 13px;
	font-weight: 700;
	gap: 12px;
	justify-content: center;
}

.msw-public-auth-divider::before,
.msw-public-auth-divider::after {
	background: #dde5ef;
	content: "";
	display: block;
	flex: 1 1 auto;
	height: 1px;
}

.msw-public-auth-legal {
	color: #9aa7ba;
	font-size: 13px;
	line-height: 1.6;
	margin: 0;
	text-align: center;
}

.msw-public-auth-shell .msw-notice {
	border-radius: 14px;
	margin: 0;
}

.msw-public-empty-state {
	align-items: center;
	background: #ffffff;
	display: flex;
	justify-content: center;
	margin-left: calc(50% - 50vw);
	min-height: 100vh;
	padding: 32px 20px;
	width: 100vw;
}

.msw-public-empty-state-card {
	align-items: center;
	display: grid;
	gap: 14px;
	justify-items: center;
	max-width: 560px;
	text-align: center;
}

.msw-public-empty-state-icon {
	align-items: center;
	background: #eef3f7;
	border-radius: 22px;
	color: #135467;
	display: inline-flex;
	height: 98px;
	justify-content: center;
	margin-bottom: 8px;
	width: 98px;
}

.msw-public-empty-state-icon .msw-lucide-icon {
	height: 38px;
	width: 38px;
}

.msw-public-empty-state-card h2 {
	color: #081a3a;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 900;
	line-height: 1.1;
	margin: 0;
}

.msw-public-empty-state-lead {
	color: #6c7a92;
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
	max-width: 520px;
}

.msw-public-empty-state-subtext {
	color: #a0acc0;
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 8px;
	max-width: 420px;
}

.msw-public-empty-state-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 8px;
}

.msw-public-empty-state-primary,
.msw-public-empty-state-secondary {
	width: auto;
}

.msw-public-empty-state-contact {
	color: #9aa7ba;
	font-size: 14px;
	line-height: 1.6;
	margin: 10px 0 0;
}

.msw-public-empty-state-contact a {
	color: #0e5870;
	font-weight: 700;
	text-decoration: none;
}

.msw-public-empty-state-contact a:hover,
.msw-public-empty-state-contact a:focus {
	text-decoration: underline;
}

.msw-offer-checkout-card {
	background: #fff;
	border: 1px solid #d9e4ea;
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(6, 19, 38, 0.06);
	padding: 1.15rem 1.2rem;
}

.msw-offer-checkout-form {
	display: grid;
	gap: 0.9rem;
}

.msw-offer-checkout-periods {
	align-items: center;
	background: #eef4f7;
	border: 1px solid #d9e4ea;
	border-radius: 999px;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	padding: 0.28rem;
	width: fit-content;
}

.msw-offer-checkout-period {
	position: relative;
	z-index: 1;
}

.msw-offer-checkout-period input {
	cursor: pointer;
	height: 100%;
	inset: 0;
	opacity: 0;
	position: absolute;
	width: 100%;
}

.msw-offer-checkout-period span {
	align-items: center;
	border-radius: 999px;
	color: #17325c;
	cursor: pointer;
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 600;
	min-height: 42px;
	min-width: 124px;
	justify-content: center;
	padding: 0.65rem 1.15rem;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.msw-offer-checkout-period input:checked + span {
	background: #0f5b6d;
	box-shadow: 0 8px 18px rgba(15, 91, 109, 0.18);
	color: #fff;
}

.msw-offer-checkout-toggle {
	align-items: center;
	color: #17325c;
	cursor: pointer;
	display: flex;
	font-size: 0.98rem;
	gap: 0.7rem;
	line-height: 1.5;
}

.msw-offer-checkout-toggle input {
	accent-color: #0f5b6d;
	cursor: pointer;
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.msw-offer-checkout-toggle span {
	display: block;
}

.msw-offer-checkout-toggle-copy {
	display: grid;
	gap: 0.05rem;
}

.msw-offer-checkout-toggle-title {
	font-weight: 500;
}

.msw-offer-checkout-price-inline {
	color: #0e5870;
	font-weight: 600;
}

.msw-offer-checkout-submit {
	cursor: pointer;
	justify-content: center;
	width: 100%;
}

.msw-offer-checkout-button-copy {
	display: grid;
	gap: 0.16rem;
	justify-items: center;
	line-height: 1.1;
	text-align: center;
}

.msw-offer-checkout-button-title {
	display: block;
	font-size: 1rem;
	font-weight: 700;
}

.msw-offer-checkout-button-price {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	opacity: 0.92;
}

.msw-offer-checkout-trial {
	color: #6b7c93;
	font-size: 0.92rem;
	margin: 0;
	text-align: center;
}

.msw-public-contract-content {
	display: grid;
	gap: 1.25rem;
}

.msw-public-contract-content > h2 {
	font-weight: 600;
	letter-spacing: 0;
}

.msw-public-contract-card {
	background: #f7fafc;
	border: 1px solid #d9e4ea;
	border-radius: 22px;
	display: grid;
	gap: 0.95rem;
	padding: 1.2rem;
}

.msw-public-contract-card-head {
	align-items: flex-start;
	display: flex;
	gap: 0.9rem;
	justify-content: space-between;
}

.msw-public-contract-card-head strong,
.msw-public-contract-card-head span {
	display: block;
}

.msw-public-contract-card-head strong {
	color: #08203f;
	font-size: 1rem;
	font-weight: 700;
}

.msw-public-contract-card-head > div > span {
	color: #0f5b6d;
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0.2rem;
}

.msw-public-contract-badge {
	background: rgba(15, 91, 109, 0.08);
	border-radius: 999px;
	color: #0f5b6d;
	font-size: 0.82rem;
	font-weight: 600;
	padding: 0.38rem 0.72rem;
	white-space: nowrap;
}

.msw-public-contract-summary {
	color: #55657b;
	font-size: 0.96rem;
	line-height: 1.65;
	margin: 0;
}

.msw-public-contract-meta {
	color: #7a88a0;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.86rem;
	gap: 0.6rem 1rem;
}

.msw-public-contract-link {
	justify-content: center;
	width: 100%;
}

.msw-public-contract-form {
	padding-top: 0.15rem;
}

.msw-public-contract-check {
	align-items: flex-start;
}

.msw-public-contract-check span {
	line-height: 1.55;
}

.msw-public-contract-confirm-panel {
	max-width: 640px;
}

.msw-public-contract-confirm-panel > h2 {
	font-weight: 600;
	letter-spacing: 0;
}

.msw-public-contract-confirm-copy {
	background: #f7fafc;
	border: 1px solid #d9e4ea;
	border-radius: 18px;
	display: grid;
	gap: 0.7rem;
	margin-top: 0.35rem;
	padding: 1rem 1.05rem;
}

.msw-public-contract-confirm-copy strong {
	color: #08203f;
	font-size: 0.98rem;
	font-weight: 700;
}

.msw-public-contract-confirm-copy p {
	color: #55657b;
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 0;
}

.msw-public-contract-confirm-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	justify-content: flex-end;
	margin-top: 1.2rem;
}

@media (max-width: 1080px) {
	.msw-public-auth-shell {
		grid-template-columns: 1fr;
	}

	.msw-public-auth-hero {
		min-height: auto;
	}

	.msw-public-auth-hero-inner {
		gap: 34px;
		padding: 34px 24px;
	}

	.msw-public-auth-copy h1 {
		font-size: 38px;
	}

	.msw-public-auth-copy p,
	.msw-public-auth-benefits li {
		font-size: 17px;
	}

	.msw-public-auth-panel {
		min-height: auto;
		padding: 34px 20px 42px;
	}
}

@media (max-width: 640px) {
	.msw-public-auth-hero {
		display: none;
	}

	.msw-public-auth-shell {
		grid-template-columns: 1fr;
	}

	.msw-public-auth-hero-inner {
		padding: 28px 18px;
	}

	.msw-public-auth-brand-mark {
		border-radius: 14px;
		font-size: 22px;
		height: 44px;
		width: 44px;
	}

	.msw-public-auth-brand-logo {
		height: 46px;
		max-width: 180px;
	}

	.msw-public-auth-copy h1 {
		font-size: 32px;
	}

	.msw-public-auth-copy p {
		font-size: 16px;
	}

	.msw-public-auth-benefits li {
		align-items: flex-start;
		font-size: 15px;
	}

	.msw-public-auth-panel {
		padding: 28px 16px 36px;
	}

	.msw-public-auth-content h2 {
		font-size: 32px;
	}

	.msw-public-auth-subtitle {
		font-size: 16px;
	}

	.msw-public-auth-split {
		grid-template-columns: 1fr;
	}

	.msw-public-auth-password-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.msw-public-empty-state-actions {
		flex-direction: column;
	}

	.msw-public-empty-state-primary,
	.msw-public-empty-state-secondary {
		width: 100%;
	}

	.msw-offer-checkout-toggle {
		align-items: flex-start;
	}

	.msw-offer-checkout-periods {
		width: 100%;
	}

	.msw-offer-checkout-period {
		flex: 1 1 0;
	}

	.msw-offer-checkout-period span {
		min-width: 0;
		width: 100%;
	}

	.msw-public-contract-card-head {
		flex-direction: column;
	}

	.msw-public-contract-badge {
		white-space: normal;
	}

	.msw-public-contract-confirm-actions {
		flex-direction: column-reverse;
	}

	.msw-public-contract-confirm-actions .msw-public-auth-primary,
	.msw-public-contract-confirm-actions .msw-public-auth-secondary {
		width: 100%;
	}
}

.msw-stripe-invoice-panel {
	border-top: 1px solid #edf0f4;
	display: grid;
	gap: 0;
	margin-top: 1.65rem;
	padding-top: 1.4rem;
}

.msw-stripe-invoice-panel .msw-card-header {
	margin-bottom: 1rem;
}

.msw-stripe-invoice-list {
	display: grid;
	gap: 0;
}

.msw-stripe-invoice-item {
	align-items: center;
	border-top: 1px solid #edf0f4;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem 0;
}

.msw-stripe-invoice-item strong {
	color: var(--msw-text-primary);
	display: block;
	font-weight: 700;
}

.msw-stripe-invoice-item small {
	color: var(--msw-text-secondary);
	display: block;
	margin-top: 4px;
}

@media (max-width: 767px) {
	.msw-trial-progress-notice,
	.msw-trial-cancelled-alert {
		align-items: stretch;
		flex-direction: column;
	}

	.msw-trial-progress-actions,
	.msw-subscription-confirm-actions {
		align-items: stretch;
		width: 100%;
	}

	.msw-trial-progress-actions .msw-button,
	.msw-subscription-confirm-actions .msw-button,
	.msw-trial-cancelled-alert .msw-button {
		width: 100%;
	}

	.msw-trial-cancelled-alert .msw-button {
		margin-left: 0;
	}

	.msw-satisfaction-field {
		padding: 0.9rem;
	}

	.msw-satisfaction-rating,
	.msw-satisfaction-choice-list,
	.msw-satisfaction-actions,
	.msw-google-review-actions {
		flex-direction: column;
	}

	.msw-stripe-invoice-item {
		flex-direction: column;
		align-items: flex-start;
	}

	.msw-satisfaction-rating-option span,
	.msw-satisfaction-choice-option span {
		width: 100%;
		justify-content: flex-start;
	}
}
.msw-payment-alert {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 22px;
	padding: 18px 20px;
	border: 1px solid #f5c36b;
	border-radius: 8px;
	background: #fff8e8;
	color: #6b3d00;
}

.msw-payment-alert-icon,
.msw-payment-locked-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #ffe8b7;
	color: #9b5c00;
}

.msw-payment-alert strong {
	display: block;
	margin: 0 0 4px;
	color: #031f35;
	font-size: 16px;
}

.msw-payment-alert p {
	margin: 0;
	color: #6b7280;
}

.msw-payment-alert .msw-button {
	margin-left: auto;
	white-space: nowrap;
}

.msw-dashboard-payment-limited .msw-home-hero,
.msw-dashboard-payment-limited .msw-home-progress-card,
.msw-dashboard-payment-limited .msw-home-online-card,
.msw-dashboard-payment-limited .msw-home-info-card {
	filter: grayscale(.35);
	opacity: .55;
}

.msw-dashboard-nav-locked {
	position: relative;
}

.msw-nav-lock {
	display: inline-flex;
	margin-left: auto;
	color: #f6c66f;
}

.msw-nav-lock .msw-lucide-icon {
	width: 15px;
	height: 15px;
}

.msw-payment-locked-panel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	min-height: 280px;
	justify-content: center;
	background: #f8fafc;
	border-style: dashed;
	color: #425466;
}

.msw-payment-locked-panel h2 {
	margin: 0;
	color: #031f35;
}

.msw-payment-locked-panel p {
	max-width: 560px;
	margin: 0;
}

.msw-subscription-action-row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 18px 0 8px;
	padding: 14px 0;
	border-top: 1px solid #e5edf2;
	border-bottom: 1px solid #e5edf2;
}

.msw-subscription-action-row span {
	color: #8a97a8;
	font-size: 13px;
}

@media (max-width: 720px) {
	.msw-payment-alert,
	.msw-subscription-action-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.msw-payment-alert .msw-button {
		margin-left: 0;
	}
}
