.th-form-step{
	display:none;
	animation:thStepFade .24s ease both;
}

.th-form-step.active{
	display:block;
}

.th-form-wizard-actions{
	flex:0 0 auto;
	position:sticky;
	bottom:0;
	z-index:20;

	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:12px;

	margin-top:0;
	padding:16px 0 4px;

	background:linear-gradient(
		180deg,
		rgba(255,255,255,0) 0%,
		var(--th-main-bg) 28%,
		var(--th-main-bg) 100%
	);

	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);

	border-top:1px solid var(--th-border-base);
}

.th-review-card{
	padding:34px;
	border-radius:26px;
	border:1px solid var(--th-border-base);
	background:var(--th-card-bg-glass);
	text-align:center;
}

.th-review-card > i{
	display:inline-flex;
	width:74px;
	height:74px;
	align-items:center;
	justify-content:center;
	margin-bottom:18px;
	border-radius:24px;
	background:var(--th-gradient-cta);
	color:#fff;
	font-size:2.1rem;
	box-shadow:0 22px 50px var(--th-glow-indigo);
}

.th-review-card h3{
	margin:0 0 10px;
	color:var(--th-color-text-main);
	font-size:1.45rem;
	font-weight:950;
}

.th-review-card p{
	max-width:560px;
	margin:0 auto;
	color:var(--th-color-text-soft);
	font-size:.95rem;
	font-weight:650;
	line-height:1.7;
}

.th-sidebar-step-state{
	margin-left:auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:var(--th-color-text-muted);
	font-size:.78rem;
}

.th-sidebar-link.th-step-status-completed .th-sidebar-step-state i::before{
	content:"\f26b";
}

.th-sidebar-link.th-step-status-active .th-sidebar-step-state i::before{
	content:"\f287";
}

.th-sidebar-link.th-step-status-pending{
	opacity:.72;
}

.th-sidebar-link.th-step-status-completed{
	opacity:1;
}

.th-sidebar-link.th-step-status-completed .th-sidebar-step-state{
	color:#22c55e;
}

.th-sidebar-link.th-step-status-active .th-sidebar-step-state{
	color:var(--th-badge-text);
}

@keyframes thStepFade{
	from{
		opacity:0;
		transform:translateY(10px);
	}

	to{
		opacity:1;
		transform:translateY(0);
	}
}

@media(max-width:767px){
	.th-form-wizard-actions{
		flex-direction:column-reverse;
		align-items:stretch;
	}

	.th-form-wizard-actions .th-btn{
		width:100%;
		justify-content:center;
	}
}

/* =========================================================
	STEP INTRO
========================================================= */

.th-step-intro-card{
	display:flex;
	align-items:center;
	gap:16px;
	padding:16px 20px;
	margin-bottom:4px;
	border-radius:22px;
	border:1px solid var(--th-border-base);
	background:var(--th-gradient-card);
	box-shadow:
		0 12px 30px var(--th-shadow-soft),
		inset 0 1px 0 var(--th-final-box-inset);
}

.th-step-intro-icon{
	width:52px;
	height:52px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 52px;
	border-radius:18px;
	background:var(--th-gradient-cta);
	color:var(--th-color-white);
	font-size:1.35rem;
	box-shadow:0 10px 24px var(--th-glow-indigo);
}

.th-step-intro-card h2{
	margin:0 0 2px;
	color:var(--th-color-text-main);
	font-size:1.02rem;
	font-weight:900;
	letter-spacing:-.02em;
	line-height:1.2;
}

.th-step-intro-card p{
	margin:0;
	max-width:760px;
	color:var(--th-color-text-soft);
	font-size:.84rem;
	font-weight:650;
	line-height:1.4;
}

@media(max-width:767px){
	.th-step-intro-card{
		align-items:flex-start;
		padding:14px 16px;
		border-radius:18px;
		gap:12px;
	}

	.th-step-intro-icon{
		width:44px;
		height:44px;
		flex-basis:44px;
		border-radius:14px;
		font-size:1.1rem;
	}

	.th-step-intro-card h2{
		font-size:.95rem;
	}

	.th-step-intro-card p{
		font-size:.78rem;
		line-height:1.35;
	}
}

.th-form-layout{
	height:100%;
	display:flex;
	flex-direction:column;
	min-height:0;
}

.th-form-content{
	flex:1 1 auto;
	min-height:0;
	overflow-y:auto;
	overflow-x:hidden;
	padding-right:4px;
	padding-bottom:18px;
}

/* =========================================================
	SWEETALERT VALIDATION MESSAGE
========================================================= */

.th-alert-validation-content{
	text-align:left;
	padding:2px 4px 0;
}

.th-alert-validation-badge{
	width:max-content;
	max-width:100%;
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 auto 14px;
	padding:8px 14px;
	border-radius:999px;
	background:rgba(34,197,94,.12);
	color:#15803d;
	font-size:.82rem;
	font-weight:900;
}

.th-alert-validation-title{
	margin:0 0 8px;
	color:#0f172a;
	font-size:1.02rem;
	font-weight:900;
	line-height:1.35;
}

.th-alert-validation-text{
	margin:0 0 16px;
	color:#475569;
	font-size:.9rem;
	font-weight:650;
	line-height:1.55;
}

.th-alert-missing-list{
	display:grid;
	gap:9px;
	margin:0;
	padding:0;
	list-style:none;
}

.th-alert-missing-item{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 12px;
	border-radius:14px;
	background:rgba(248,250,252,.9);
	border:1px solid rgba(226,232,240,.9);
	color:#0f172a;
	font-size:.92rem;
	font-weight:850;
}

.th-alert-missing-item i{
	color:#ef4444;
	font-size:1rem;
}

html[data-theme="dark"] .th-alert-validation-title{
	color:#f8fafc;
}

html[data-theme="dark"] .th-alert-validation-text{
	color:#cbd5e1;
}

html[data-theme="dark"] .th-alert-validation-badge{
	background:rgba(34,197,94,.16);
	color:#86efac;
	border:1px solid rgba(34,197,94,.24);
}

html[data-theme="dark"] .th-alert-missing-item{
	background:rgba(15,23,42,.82);
	border:1px solid rgba(148,163,184,.24);
	color:#f8fafc;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

html[data-theme="dark"] .th-alert-missing-item i{
	color:#fb7185;
}

/* =========================================================
	FOOTER CORPORATIVO
========================================================= */

.th-footer-corporate{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px;

	margin-top:26px;
	padding-top:22px;

	border-top:1px solid var(--th-border-base);
}

.th-footer-left{
	display:flex;
	flex-direction:column;
	gap:14px;
}

.th-footer-brand{
	display:flex;
	align-items:center;
	gap:14px;
}

.th-footer-logo{
	width:42px;
	height:42px;
	object-fit:contain;
	filter:drop-shadow(0 8px 18px rgba(0,0,0,.14));
}

.th-footer-brand h6{
	margin:0;
	color:var(--th-color-text-main);
	font-size:.95rem;
	font-weight:900;
	letter-spacing:-.02em;
}

.th-footer-brand p{
	margin:2px 0 0;
	color:var(--th-color-text-soft);
	font-size:.78rem;
	font-weight:650;
}

.th-footer-copy{
	color:var(--th-color-text-muted);
	font-size:.78rem;
	font-weight:650;
	line-height:1.5;
}

.th-footer-right{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:14px;
}

.th-footer-badges{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
}

.th-footer-badge{
	display:inline-flex;
	align-items:center;
	gap:8px;

	padding:9px 14px;

	border-radius:999px;
	border:1px solid var(--th-border-base);

	background:var(--th-card-bg-glass);

	color:var(--th-color-text-soft);
	font-size:.76rem;
	font-weight:850;

	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);

	box-shadow:0 10px 24px var(--th-shadow-soft);
}

.th-footer-badge i{
	color:var(--th-badge-text);
	font-size:.9rem;
}

.th-footer-links{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:16px;
}

.th-footer-links a{
	color:var(--th-color-text-muted);
	font-size:.78rem;
	font-weight:750;
	text-decoration:none;
	transition:.22s ease;
}

.th-footer-links a:hover{
	color:var(--th-badge-text);
}

.th-footer-version{
	padding:6px 10px;
	border-radius:999px;
	background:rgba(34,197,94,.12);
	color:#16a34a;
	font-size:.72rem;
	font-weight:900;
}

html[data-theme="dark"] .th-footer-version{
	background:rgba(34,197,94,.16);
	color:#86efac;
}

@media(max-width:991px){

	.th-footer-corporate{
		flex-direction:column;
		align-items:flex-start;
	}

	.th-footer-right{
		width:100%;
		align-items:flex-start;
	}

	.th-footer-badges,
	.th-footer-links{
		justify-content:flex-start;
	}
}

.th-sidebar-link.th-step-disabled{
	opacity:.42;
	cursor:not-allowed;
	pointer-events:auto;
	filter:grayscale(.25);
}

.th-sidebar-link.th-step-disabled:hover{
	transform:none;
	box-shadow:none;
	background:transparent;
}

.th-sidebar-link.th-step-disabled i,
.th-sidebar-link.th-step-disabled span,
.th-sidebar-link.th-step-disabled .th-sidebar-step-state{
	color:var(--th-color-text-muted);
}

.th-sidebar-link.th-step-disabled .th-sidebar-step-state{
	opacity:.75;
}

.th-sidebar-link.th-step-status-completed .th-sidebar-step-state{
	color:#22c55e;
}

.th-sidebar-link.th-step-status-active .th-sidebar-step-state{
	color:var(--th-badge-text);
}

.th-sidebar-link.th-step-status-pending:not(.th-step-disabled){
	opacity:.82;
}

html[data-theme="dark"] .th-sidebar-link.th-step-disabled{
	opacity:.36;
}

.th-modules-toolbar{
	margin-bottom:14px;
}

.th-modules-toggle-card{
	max-width:360px;
	margin-left:auto;
}

.th-module-card{
	height:100%;
	min-height:96px;
	position:relative;
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:12px 13px;
	border-radius:17px;
	border:1px solid var(--th-border-base);
	background:var(--th-card-bg-glass);
	cursor:pointer;
	transition:.22s ease;
}

.th-module-card:hover{
	transform:translateY(-2px);
	border-color:rgba(34, 197, 94, .46);
	box-shadow:0 14px 34px var(--th-shadow-soft);
}

.th-module-card-icon{
	width:34px;
	height:34px;
	flex:0 0 34px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:13px;
	background:transparent;
	border:1px solid var(--th-border-base);
	color:var(--th-color-text-muted);
	font-size:1rem;
	transition:.24s ease;
}

.th-module-card:hover .th-module-card-icon{
	background:var(--th-gradient-cta);
	border-color:transparent;
	color:#fff;
	transform:rotate(-8deg) scale(1.08);
	box-shadow:0 10px 22px rgba(22, 163, 74, .24);
}

.th-module-card-content{
	display:flex;
	flex-direction:column;
	gap:3px;
	padding-right:20px;
}

.th-module-card-content strong{
	color:var(--th-color-text-main);
	font-size:.82rem;
	font-weight:900;
	line-height:1.18;
}

.th-module-card-content small{
	color:var(--th-color-text-muted);
	font-size:.72rem;
	font-weight:700;
	line-height:1.28;
}

.th-module-card-check{
	position:absolute;
	top:10px;
	right:10px;
	color:var(--th-color-text-muted);
	font-size:.9rem;
	opacity:.22;
	transition:.22s ease;
}

.th-module-check:checked + .th-module-card{
	border-color:#22c55e;
	background:linear-gradient(135deg, rgba(34, 197, 94, .13), var(--th-card-bg-glass));
	box-shadow:0 12px 30px rgba(22, 163, 74, .14);
}

.th-module-check:checked + .th-module-card .th-module-card-icon{
	background:var(--th-gradient-cta);
	border-color:transparent;
	color:#fff;
	box-shadow:0 10px 22px rgba(22, 163, 74, .24);
}

.th-module-check:checked + .th-module-card .th-module-card-check{
	color:#22c55e;
	opacity:1;
}

#thFieldModules.is-invalid .th-module-card{
	border-color:rgba(220, 38, 38, .42);
}

html[data-theme="dark"] .th-module-card:hover{
	border-color:rgba(134, 239, 172, .48);
}

/* =========================================================
	STEP ONBOARDING KPI STYLE
========================================================= */

.th-onboarding-option{
	width:100%;
	min-height:178px;
	text-align:left;
	cursor:pointer;
	border:none;
}

.th-onboarding-option.active{
	transform:translateY(-4px);
	border-color:var(--th-kpi-border, var(--th-border-strong));
	box-shadow:
		0 24px 64px var(--th-shadow-card),
		0 0 0 3px var(--th-kpi-icon-hover-ring, rgba(34,197,94,.13));
}

.th-onboarding-option.active .th-kpi-icon{
	transform:rotate(-6deg) scale(1.02);
	color:var(--th-kpi-icon-hover-color);
	background:var(--th-kpi-icon-hover-bg);
	border-color:var(--th-kpi-icon-hover-border);
	box-shadow:
		0 18px 42px var(--th-kpi-shadow),
		0 0 0 4px var(--th-kpi-icon-hover-ring),
		inset 0 1px 0 rgba(255,255,255,.14);
}

.th-onboarding-title{
	display:block;
	margin-bottom:7px;
	color:var(--th-color-text-main);
	font-size:1.08rem;
	font-weight:950;
	line-height:1.15;
	letter-spacing:-.03em;
}

.th-onboarding-badge{
	position:absolute;
	top:14px;
	right:14px;
	z-index:3;

	padding:6px 10px;
	border-radius:999px;

	background:rgba(34,197,94,.14);
	color:#16a34a;

	font-size:.7rem;
	font-weight:950;
	letter-spacing:.02em;
	text-transform:uppercase;
}

html[data-theme="dark"] .th-onboarding-title{
	color:#ffffff;
}

html[data-theme="dark"] .th-onboarding-badge{
	background:rgba(34,197,94,.16);
	color:#86efac;
	border:1px solid rgba(134,239,172,.22);
}

@media(max-width:575.98px){
	.th-onboarding-option{
		min-height:auto;
	}
}

/* =========================================================
	STEP BILLING
========================================================= */

.th-section-divider{
	display:flex;
	align-items:center;
	gap:14px;

	margin-top:2px;
	margin-bottom:-4px;

	color:var(--th-color-text-main);

	font-size:.78rem;
	font-weight:950;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.th-section-divider::before{
	content:"";
	width:10px;
	height:10px;
	flex:0 0 10px;

	border-radius:999px;

	background:var(--th-gradient-cta);

	box-shadow:0 0 0 5px rgba(34,197,94,.12);
}

.th-section-divider::after{
	content:"";
	flex:1;
	height:1px;

	background:linear-gradient(
		90deg,
		var(--th-border-base),
		transparent
	);
}

.th-section-divider span{
	white-space:nowrap;
}

html[data-theme="dark"] .th-section-divider::before{
	box-shadow:0 0 0 5px rgba(134,239,172,.12);
}

@media(max-width:767px){
	.th-section-divider{
		margin-top:0;
		margin-bottom:-2px;
		font-size:.74rem;
	}
}

/* =========================================================
	STEP PLAN
========================================================= */

.th-plan-note-card{
	height:100%;
	min-height:90px;
	display:flex;
	align-items:center;
	gap:16px;
	padding:18px 20px;
	border-radius:22px;
	border:1px solid rgba(34,197,94,.28);
	background:
		linear-gradient(135deg, rgba(34,197,94,.13), rgba(132,204,22,.08)),
		var(--th-card-bg-glass);
	box-shadow:0 16px 38px var(--th-shadow-soft);
}

.th-plan-note-icon{
	width:52px;
	height:52px;
	flex:0 0 52px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:18px;
	background:var(--th-gradient-cta);
	color:#ffffff;
	font-size:1.35rem;
	box-shadow:0 14px 32px var(--th-glow-indigo);
}

.th-plan-note-content{
	display:flex;
	flex-direction:column;
	gap:3px;
	min-width:0;
}

.th-plan-note-content span{
	color:var(--th-badge-text);
	font-size:.75rem;
	font-weight:950;
	text-transform:uppercase;
	letter-spacing:.06em;
}

.th-plan-note-content strong{
	color:var(--th-color-text-main);
	font-size:.98rem;
	font-weight:950;
	line-height:1.2;
}

.th-plan-note-content small{
	color:var(--th-color-text-soft);
	font-size:.82rem;
	font-weight:650;
	line-height:1.45;
}

.th-plan-summary-card{
	position:relative;
	padding:22px;
	border-radius:24px;
	border:1px solid var(--th-border-base);
	background:
		radial-gradient(circle at top right, rgba(34,197,94,.16), transparent 34%),
		var(--th-card-bg-glass);
	box-shadow:0 18px 46px var(--th-shadow-soft);
	overflow:hidden;
}

.th-plan-summary-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:18px;
	padding-bottom:16px;
	border-bottom:1px solid var(--th-border-base);
}

.th-plan-summary-header span{
	display:block;
	margin-bottom:4px;
	color:var(--th-badge-text);
	font-size:.75rem;
	font-weight:950;
	text-transform:uppercase;
	letter-spacing:.07em;
}

.th-plan-summary-header h3{
	margin:0;
	color:var(--th-color-text-main);
	font-size:1.15rem;
	font-weight:950;
	letter-spacing:-.03em;
}

.th-plan-summary-header i{
	width:48px;
	height:48px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:17px;
	background:var(--th-gradient-cta);
	color:#ffffff;
	font-size:1.2rem;
	box-shadow:0 14px 32px var(--th-glow-indigo);
}

.th-plan-summary-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:14px;
}

.th-plan-summary-item{
	padding:16px;
	border-radius:18px;
	border:1px solid var(--th-border-base);
	background:rgba(255,255,255,.48);
}

.th-plan-summary-item span{
	display:block;
	margin-bottom:7px;
	color:var(--th-color-text-soft);
	font-size:.78rem;
	font-weight:850;
}

.th-plan-summary-item strong{
	display:block;
	color:var(--th-color-text-main);
	font-size:1.05rem;
	font-weight:950;
	line-height:1.2;
}

.th-plan-summary-total{
	border-color:rgba(34,197,94,.42);
	background:linear-gradient(135deg, rgba(34,197,94,.16), rgba(132,204,22,.10));
}

.th-plan-summary-total strong{
	color:#16a34a;
	font-size:1.18rem;
}

.th-plan-summary-help{
	margin:16px 0 0;
	color:var(--th-color-text-soft);
	font-size:.82rem;
	font-weight:650;
	line-height:1.5;
}

html[data-theme="dark"] .th-plan-summary-item{
	background:rgba(5,46,22,.52);
}

html[data-theme="dark"] .th-plan-summary-total strong{
	color:#86efac;
}

@media(max-width:991px){
	.th-plan-summary-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media(max-width:575px){
	.th-plan-note-card{
		align-items:flex-start;
	}

	.th-plan-summary-grid{
		grid-template-columns:1fr;
	}
}

.th-plan-summary-empty{
	display:flex;
	align-items:center;
	gap:14px;

	margin:18px 0 0;
	padding:18px;

	border-radius:20px;
	border:1px dashed var(--th-border-base);
	background:rgba(34,197,94,.08);
	color:var(--th-color-text-main);
}

.th-plan-summary-empty i{
	width:42px;
	height:42px;

	display:flex;
	align-items:center;
	justify-content:center;

	border-radius:16px;
	background:var(--th-gradient-cta);
	color:#fff;
	font-size:1.25rem;
	box-shadow:0 12px 26px rgba(34,197,94,.22);
}

.th-plan-summary-empty strong{
	display:block;
	font-size:.96rem;
	font-weight:900;
}

.th-plan-summary-empty span{
	display:block;
	margin-top:3px;
	color:var(--th-color-text-soft);
	font-size:.82rem;
	font-weight:650;
	line-height:1.45;
}

.th-plan-summary-card.is-waiting-cycle .th-plan-cost-item{
	display:none;
}

.th-plan-summary-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:14px;
}

.th-plan-summary-grid .th-kpi-card{
	min-height:132px;
	padding:16px;
	gap:12px;
	border-radius:22px;
}

.th-plan-summary-grid .th-kpi-icon{
	width:42px;
	height:42px;
	min-width:42px;
	border-radius:15px;
	font-size:1.05rem;
}

.th-plan-summary-grid .th-kpi-title{
	margin-bottom:5px;
	font-size:.66rem;
	line-height:1.28;
	letter-spacing:.035em;
}

.th-plan-summary-grid .th-kpi-value{
	margin-bottom:4px;
	font-size:1.05rem;
	line-height:1.08;
	letter-spacing:-.035em;
}

.th-plan-summary-grid .th-kpi-text{
	font-size:.68rem;
	line-height:1.38;
}

.th-plan-total-kpi{
	grid-column:1 / -1;
	min-height:138px !important;
	padding:22px !important;
	gap:18px !important;
	align-items:center;
}

.th-plan-total-kpi .th-kpi-icon{
	width:58px;
	height:58px;
	min-width:58px;
	border-radius:20px;
	font-size:1.55rem;
}

.th-plan-total-kpi .th-kpi-title{
	font-size:.82rem;
}

.th-plan-total-kpi .th-kpi-value{
	color:#16a34a;
	font-size:1.9rem;
}

.th-plan-total-kpi .th-kpi-text{
	font-size:.88rem;
	max-width:720px;
}

html[data-theme="dark"] .th-plan-total-kpi .th-kpi-value{
	color:#86efac;
}

@media(max-width:1199px){
	.th-plan-summary-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media(max-width:575px){
	.th-plan-summary-grid{
		grid-template-columns:1fr;
	}

	.th-plan-total-kpi{
		grid-column:auto;
	}
}

/* =========================================================
	STEP REVIEW COMPACTO
========================================================= */

.th-review-compact-card{
	padding:20px;
}

.th-review-cost-grid{
	grid-template-columns:repeat(2,minmax(0,1fr));
	margin-bottom:16px;
}

.th-review-cost-grid .th-kpi-card{
	min-height:104px;
	padding:14px;
	border-radius:20px;
}

.th-review-cost-grid .th-kpi-icon{
	width:42px;
	height:42px;
	min-width:42px;
	border-radius:15px;
	font-size:1.05rem;
}

.th-review-cost-grid .th-kpi-title{
	font-size:.68rem;
	margin-bottom:4px;
}

.th-review-cost-grid .th-kpi-value{
	font-size:1.35rem;
	margin-bottom:2px;
}

.th-review-cost-grid .th-kpi-text{
	font-size:.72rem;
	line-height:1.3;
}

.th-review-compact-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.th-review-compact-section{
	padding:14px;
	border-radius:18px;
	border:1px solid var(--th-border-base);
	background:rgba(255,255,255,.38);
}

.th-review-compact-title{
	display:flex;
	align-items:center;
	gap:9px;
	margin-bottom:10px;
	color:var(--th-color-text-main);
	font-size:.86rem;
	font-weight:950;
}

.th-review-compact-title i{
	color:var(--th-badge-text);
	font-size:1rem;
}

.th-review-chip-list{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:8px;
}

.th-review-chip-list div{
	position:relative;
	min-width:0;
	padding:10px 12px 10px 14px;
	border-radius:16px;
	border:1px solid var(--th-border-base);
	background:
		linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.42)),
		var(--th-card-bg-glass);
	box-shadow:
		0 10px 24px rgba(15,23,42,.06),
		inset 0 1px 0 rgba(255,255,255,.45);
	overflow:hidden;
}

.th-review-chip-list div::before{
	content:"";
	position:absolute;
	left:0;
	top:12px;
	bottom:12px;
	width:4px;
	border-radius:999px;
	background:var(--th-gradient-cta);
	opacity:.85;
}

.th-review-chip-list div::after{
	content:"";
	position:absolute;
	right:-28px;
	bottom:-28px;
	width:74px;
	height:74px;
	border-radius:999px;
	background:rgba(34,197,94,.10);
	pointer-events:none;
}

.th-review-chip-list span{
	position:relative;
	z-index:2;
	display:block;
	margin-bottom:4px;
	color:var(--th-color-text-muted);
	font-size:.66rem;
	font-weight:950;
	text-transform:uppercase;
	letter-spacing:.06em;
}

.th-review-chip-list strong{
	position:relative;
	z-index:2;
	display:block;
	color:var(--th-color-text-main);
	font-size:.82rem;
	font-weight:950;
	line-height:1.25;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

html[data-theme="dark"] .th-review-chip-list div{
	background:
		linear-gradient(135deg, rgba(20,83,45,.78), rgba(2,44,34,.86)),
		#022c22;
	border-color:rgba(134,239,172,.18);
	box-shadow:
		0 14px 32px rgba(0,0,0,.28),
		inset 0 1px 0 rgba(255,255,255,.08);
}

html[data-theme="dark"] .th-review-chip-list div::after{
	background:rgba(134,239,172,.10);
}

.th-review-chip-list span{
	display:block;
	margin-bottom:2px;
	color:var(--th-color-text-muted);
	font-size:.68rem;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.035em;
}

.th-review-chip-list strong{
	display:block;
	color:var(--th-color-text-main);
	font-size:.78rem;
	font-weight:900;
	line-height:1.25;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.th-review-plan-chip-list{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.th-review-plan-chip-list > .th-review-plan-full{
	grid-column:1 / -1;
}

.th-review-plan-chip-list > .th-review-plan-full strong{
	white-space:normal;
	overflow:visible;
	text-overflow:unset;
	line-height:1.28;
}

@media(max-width:575px){
	.th-review-plan-chip-list{
		grid-template-columns:1fr;
	}

	.th-review-plan-chip-list > .th-review-plan-full{
		grid-column:auto;
	}
}

.th-review-billing-chip-list{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.th-review-billing-chip-list > .th-review-billing-full{
	grid-column:1 / -1;
}

.th-review-billing-chip-list > .th-review-billing-full strong{
	white-space:normal;
	overflow:visible;
	text-overflow:unset;
	line-height:1.28;
}

@media(max-width:575px){
	.th-review-billing-chip-list{
		grid-template-columns:1fr;
	}

	.th-review-billing-chip-list > .th-review-billing-full{
		grid-column:auto;
	}
}

.th-review-modules-box{
	margin-top:12px;
	padding:12px 14px;
	border-radius:18px;
	border:1px dashed rgba(34,197,94,.34);
	background:rgba(34,197,94,.07);
}

.th-review-modules-box > span{
	display:block;
	margin-bottom:9px;
	color:var(--th-color-text-main);
	font-size:.78rem;
	font-weight:950;
}

.th-review-modules-list{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.th-review-module-pill{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 10px;
	border-radius:999px;
	background:var(--th-badge-bg);
	color:var(--th-badge-text);
	font-size:.76rem;
	font-weight:900;
}

.th-review-empty{
	color:var(--th-color-text-soft);
	font-size:.78rem;
	font-weight:750;
}

.th-review-confirm-inline{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin-top:12px;
	padding:12px 14px;
	border-radius:18px;
	background:linear-gradient(135deg, rgba(2,44,34,.96), rgba(21,128,61,.94));
	color:#fff;
}

.th-review-confirm-inline > div{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:.8rem;
	font-weight:750;
	line-height:1.35;
}

.th-review-confirm-check{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.12);
	color:#fff;
	font-size:.78rem;
	font-weight:900;
	cursor:pointer;
	white-space:nowrap;
}

.th-review-confirm-check input{
	width:16px;
	height:16px;
	cursor:pointer;
}

html[data-theme="dark"] .th-review-compact-section{
	background:rgba(5,46,22,.46);
}

@media(max-width:991px){
	.th-review-compact-grid,
	.th-review-cost-grid{
		grid-template-columns:1fr;
	}

	.th-review-confirm-inline{
		align-items:flex-start;
		flex-direction:column;
	}

	.th-review-confirm-check{
		white-space:normal;
	}
}

@media(max-width:575px){
	.th-review-chip-list{
		grid-template-columns:1fr;
	}
}