.mcu-portal,
.mcu-small-form-wrap,
.mcu-case-intake-form-standalone {
	--mcu-bg: #f7faee;
	--mcu-surface: #ffffff;
	--mcu-surface-soft: #fbfdf5;
	--mcu-surface-muted: #f2f8d5;
	--mcu-border: #d9e5b2;
	--mcu-border-strong: #c9d98a;
	--mcu-text: #143153;
	--mcu-text-soft: #60748d;
	--mcu-primary: #acce22;
	--mcu-primary-hover: #1e89be;
	--mcu-primary-dark: #1e89be;
	--mcu-primary-soft: #eef6c8;
	--mcu-accent: #acce22;
	--mcu-accent-soft: #eef6c8;
	--mcu-success-bg: #e9fbf1;
	--mcu-success-text: #176f4a;
	--mcu-error-bg: #fff1f1;
	--mcu-error-text: #b42318;
	--mcu-button-shadow: 0 14px 34px rgba(172, 206, 34, 0.28);
	--mcu-focus-ring: rgba(172, 206, 34, 0.22);
	--mcu-shadow: 0 20px 60px rgba(19, 49, 83, 0.08);
	--mcu-radius-xl: 28px;
	--mcu-radius-lg: 22px;
	--mcu-radius-md: 18px;
}

.mcu-portal {
	--mcu-content-width: 1140px;
	width: 100%;
	max-width: 100%;
	padding: 0 0 56px;
	background: linear-gradient(180deg, #fbfdf5 0%, var(--mcu-bg) 100%);
	color: var(--mcu-text);
	font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	overflow-x: hidden;
}

.mcu-portal *,
.mcu-portal *::before,
.mcu-portal *::after {
	box-sizing: border-box;
}

.mcu-portal img,
.mcu-portal svg,
.mcu-portal video,
.mcu-portal iframe,
.mcu-portal table {
	max-width: 100%;
}

.mcu-portal a {
	color: inherit;
	text-decoration: none;
}

.mcu-frame {
	width: min(100% - 32px, var(--mcu-content-width));
	margin: 0 auto;
}

.mcu-hero {
	position: relative;
	width: 100%;
	min-height: 320px;
	padding: 104px 0 72px;
	background:
		linear-gradient(180deg, rgba(14, 31, 59, 0.64) 0%, rgba(14, 31, 59, 0.66) 100%),
		url("../images/mcu-hero-bg.svg") center/cover no-repeat;
	overflow: hidden;
}

.mcu-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 90px;
	background: linear-gradient(180deg, rgba(247, 250, 238, 0) 0%, rgba(247, 250, 238, 1) 100%);
}

.mcu-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
}

.mcu-hero-kicker,
.mcu-section-kicker {
	margin: 0 0 10px;
	color: #eff7c7;
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.mcu-section-kicker {
	color: var(--mcu-primary-hover);
}

.mcu-hero h1 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(2.2rem, 5vw, 3.5rem);
	line-height: 1.1;
}

.mcu-hero p:last-child {
	margin: 14px 0 0;
	max-width: 55ch;
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.02rem;
	line-height: 1.7;
}

.mcu-app-shell {
	display: grid;
	grid-template-columns: minmax(250px, 280px) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	margin-top: -34px;
	position: relative;
	z-index: 2;
}

.mcu-app-main {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

.mcu-public-form-shell {
	margin-top: -34px;
	position: relative;
	z-index: 2;
}

.mcu-card,
.mcu-sidebar-card {
	min-width: 0;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--mcu-border);
	border-radius: var(--mcu-radius-xl);
	box-shadow: var(--mcu-shadow);
	padding: 28px;
	backdrop-filter: blur(12px);
}

.mcu-card h2,
.mcu-card h3,
.mcu-sidebar-card h2,
.mcu-sidebar-card h3 {
	margin: 0;
	color: var(--mcu-text);
	line-height: 1.2;
}

.mcu-card h2 {
	font-size: clamp(1.9rem, 2.5vw, 2.45rem);
}

.mcu-card h3 {
	font-size: 1.2rem;
}

.mcu-card p,
.mcu-card li,
.mcu-card span,
.mcu-sidebar-card p,
.mcu-sidebar-card span {
	color: var(--mcu-text-soft);
}

.mcu-card p,
.mcu-card ul,
.mcu-card ol,
.mcu-sidebar-card p {
	margin-top: 0;
}

.mcu-card p:last-child,
.mcu-card ul:last-child,
.mcu-card ol:last-child,
.mcu-sidebar-card p:last-child {
	margin-bottom: 0;
}

.mcu-auth-card,
.mcu-auth-card-centered {
	max-width: 760px;
	margin: -34px auto 0;
	position: relative;
	z-index: 2;
}

.mcu-auth-card-centered {
	text-align: center;
}

.mcu-auth-icon,
.mcu-stat-icon,
.mcu-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	flex: 0 0 auto;
	border-radius: 18px;
	background: var(--mcu-accent-soft);
	color: var(--mcu-accent);
	font-size: 1.8rem;
	font-weight: 800;
}

.mcu-auth-icon {
	margin: 0 auto 18px;
}

.mcu-page-intro {
	margin-bottom: 22px;
}

.mcu-page-intro p:last-child {
	margin-top: 12px;
	max-width: 64ch;
	line-height: 1.75;
}

.mcu-portal .mcu-button,
.mcu-small-form-wrap .mcu-button,
.mcu-case-intake-form-standalone .mcu-button,
button.mcu-button,
a.mcu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 24px;
	border: 1px solid #acce22;
	border-radius: 18px;
	background: #acce22 !important;
	background-color: #acce22 !important;
	background-image: none !important;
	color: #ffffff;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	box-shadow: var(--mcu-button-shadow);
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mcu-portal .mcu-button:hover,
.mcu-portal .mcu-button:focus,
.mcu-small-form-wrap .mcu-button:hover,
.mcu-small-form-wrap .mcu-button:focus,
.mcu-case-intake-form-standalone .mcu-button:hover,
.mcu-case-intake-form-standalone .mcu-button:focus,
button.mcu-button:hover,
button.mcu-button:focus,
a.mcu-button:hover,
a.mcu-button:focus {
	border-color: #1e89be;
	background: #1e89be !important;
	background-color: #1e89be !important;
	background-image: none !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.mcu-button-secondary {
	background: var(--mcu-surface-muted);
	color: var(--mcu-primary);
	box-shadow: none;
}

.mcu-button-secondary:hover,
.mcu-button-secondary:focus {
	background: var(--mcu-primary-soft);
	color: var(--mcu-primary-dark);
}

.mcu-button-block {
	width: 100%;
}

.mcu-text-link {
	color: var(--mcu-primary);
	font-weight: 700;
}

.mcu-inline-actions,
.mcu-auth-actions,
.mcu-case-row-actions,
.mcu-welcome-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.mcu-auth-actions {
	justify-content: center;
}

.mcu-notice {
	padding: 15px 18px;
	border-radius: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.mcu-notice-success {
	background: var(--mcu-success-bg);
	color: var(--mcu-success-text);
}

.mcu-notice-error {
	background: var(--mcu-error-bg);
	color: var(--mcu-error-text);
}

.mcu-sidebar-card {
	position: sticky;
	top: 24px;
	padding: 24px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 248, 213, 0.98) 100%);
}

.mcu-sidebar-header {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.mcu-brand {
	display: flex;
	align-items: center;
	gap: 16px;
}

.mcu-brand-copy {
	min-width: 0;
}

.mcu-brand-copy strong {
	display: block;
	font-size: 1.05rem;
	line-height: 1.3;
}

.mcu-brand-copy span {
	display: block;
	margin-top: 5px;
	font-size: 0.92rem;
}

.mcu-sidebar-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	border: 1px solid var(--mcu-border);
	border-radius: 16px;
	background: var(--mcu-surface);
	color: var(--mcu-text);
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
}

.mcu-sidebar-nav {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 24px;
}

.mcu-sidebar-link {
	display: block;
	padding: 14px 16px;
	border-radius: 18px;
	color: var(--mcu-text);
	font-size: 1rem;
	font-weight: 700;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mcu-sidebar-link.is-active,
.mcu-sidebar-link:hover,
.mcu-sidebar-link:focus {
	background: #ffffff;
	color: var(--mcu-primary);
	transform: translateY(-1px);
}

.mcu-welcome-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
}

.mcu-welcome-copy p:last-child {
	margin-top: 14px;
	max-width: 52ch;
	line-height: 1.75;
}

.mcu-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.mcu-stat-card {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	gap: 16px;
}

.mcu-stat-meta strong {
	display: block;
	margin-bottom: 6px;
	color: var(--mcu-text);
	font-size: clamp(1.9rem, 2.6vw, 2.4rem);
	line-height: 1;
}

.mcu-stat-meta span {
	display: block;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.5;
}

.mcu-content-grid,
.mcu-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.mcu-section-head,
.mcu-case-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.mcu-section-head > div,
.mcu-case-card-head > div {
	min-width: 0;
}

.mcu-case-list,
.mcu-case-cards {
	display: grid;
	gap: 16px;
}

.mcu-case-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcu-case-row,
.mcu-case-card,
.mcu-detail-block {
	min-width: 0;
	border: 1px solid var(--mcu-border);
	border-radius: var(--mcu-radius-lg);
	padding: 22px;
	background: var(--mcu-surface-soft);
}

.mcu-case-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.mcu-case-row strong,
.mcu-case-card h3,
.mcu-detail-block h3 {
	display: block;
	margin-bottom: 6px;
	color: var(--mcu-text);
	overflow-wrap: anywhere;
}

.mcu-case-row-actions {
	justify-content: flex-end;
}

.mcu-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: #eff4fa;
	color: var(--mcu-text);
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
}

.mcu-status-submitted,
.mcu-status-quote_pending,
.mcu-status-pending {
	background: #fff7db;
	color: #8a5a00;
}

.mcu-status-under_review,
.mcu-status-consultation_scheduled,
.mcu-status-in_progress {
	background: #e8f2ff;
	color: #0f4ea6;
}

.mcu-status-quote_provided,
.mcu-status-completed,
.mcu-status-approved {
	background: #e7fbf4;
	color: #126c47;
}

.mcu-status-cancelled,
.mcu-status-rejected {
	background: #fbeaea;
	color: #9c2a2a;
}

.mcu-form-card {
	padding: 34px;
}

.mcu-case-intake-form {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.mcu-case-intake-form-standalone {
	width: 100%;
	max-width: 100%;
	padding: 34px;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--mcu-border);
	border-radius: var(--mcu-radius-xl);
	box-shadow: var(--mcu-shadow);
}

.mcu-form-section {
	padding-top: 8px;
}

.mcu-form-section h3 {
	margin-bottom: 16px;
	color: var(--mcu-primary);
	font-size: 1.12rem;
}

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

.mcu-form-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.mcu-form-field label {
	color: var(--mcu-text);
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.45;
}

.mcu-form-field input,
.mcu-form-field select,
.mcu-form-field textarea {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--mcu-border);
	border-radius: 18px;
	padding: 14px 16px;
	background: var(--mcu-surface-soft);
	color: var(--mcu-text);
	font-size: 0.97rem;
	line-height: 1.5;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.mcu-form-field input[type="file"] {
	padding: 12px 14px;
	background: #ffffff;
}

.mcu-form-field input:focus,
.mcu-form-field select:focus,
.mcu-form-field textarea:focus {
	border-color: var(--mcu-primary);
	box-shadow: 0 0 0 4px var(--mcu-focus-ring);
	outline: none;
	background: #ffffff;
}

.mcu-form-field input[readonly] {
	background: #f4f7e8;
}

.mcu-form-field small {
	color: var(--mcu-text-soft);
	font-size: 0.82rem;
	line-height: 1.6;
}

.mcu-required {
	color: #e33a3a;
}

.mcu-span-2 {
	grid-column: span 2;
}

.mcu-check-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	padding-top: 4px;
}

.mcu-check-grid-stack {
	display: grid;
	grid-template-columns: 1fr;
}

.mcu-check-option {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--mcu-text);
	font-size: 0.94rem;
	line-height: 1.55;
}

.mcu-check-option input {
	width: 16px;
	height: 16px;
	margin: 4px 0 0;
	flex: 0 0 auto;
}

.mcu-consent-option span {
	color: #d72323;
}

.mcu-detail-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.mcu-detail-list li {
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.mcu-detail-list strong {
	color: var(--mcu-text);
}

.mcu-small-form-wrap {
	width: 100%;
}

.mcu-small-form-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	background: #ffffff;
	border: 1px solid var(--mcu-border);
	border-radius: 24px;
	box-shadow: var(--mcu-shadow);
}

.mcu-small-form-head h3 {
	margin: 0;
	color: var(--mcu-text);
	font-size: 1.6rem;
}

.mcu-small-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

@media (max-width: 1100px) {
	.mcu-app-shell {
		grid-template-columns: 1fr;
		margin-top: -20px;
	}

	.mcu-public-form-shell {
		margin-top: -20px;
	}

	.mcu-sidebar-card {
		position: static;
	}

	.mcu-welcome-panel {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 960px) {
	.mcu-stats-grid,
	.mcu-case-cards,
	.mcu-content-grid,
	.mcu-detail-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mcu-card,
	.mcu-sidebar-card {
		padding: 24px;
	}
}

@media (max-width: 767px) {
	.mcu-frame {
		width: min(100% - 24px, var(--mcu-content-width));
	}

	.mcu-hero {
		min-height: 280px;
		padding: 88px 0 54px;
	}

	.mcu-sidebar-toggle {
		display: inline-flex;
	}

	.mcu-sidebar-nav {
		display: none;
	}

	.mcu-sidebar-card.is-open .mcu-sidebar-nav {
		display: flex;
	}

	.mcu-stats-grid,
	.mcu-content-grid,
	.mcu-detail-grid,
	.mcu-case-cards,
	.mcu-form-grid,
	.mcu-small-form-grid {
		grid-template-columns: 1fr;
	}

	.mcu-span-2 {
		grid-column: span 1;
	}

	.mcu-section-head,
	.mcu-case-card-head,
	.mcu-case-row,
	.mcu-inline-actions,
	.mcu-welcome-actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.mcu-inline-actions,
	.mcu-auth-actions,
	.mcu-case-row-actions,
	.mcu-welcome-actions {
		width: 100%;
	}

	.mcu-inline-actions .mcu-button,
	.mcu-auth-actions .mcu-button,
	.mcu-auth-actions .mcu-button-secondary,
	.mcu-case-row-actions .mcu-button,
	.mcu-case-row-actions .mcu-button-secondary,
	.mcu-welcome-actions .mcu-button,
	.mcu-welcome-actions .mcu-button-secondary {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.mcu-frame {
		width: min(100% - 20px, var(--mcu-content-width));
	}

	.mcu-card,
	.mcu-sidebar-card,
	.mcu-form-card {
		padding: 18px;
		border-radius: 22px;
	}

	.mcu-hero {
		min-height: 248px;
		padding: 76px 0 46px;
	}

	.mcu-stat-card {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.mcu-button,
	.mcu-button-secondary {
		width: 100%;
	}

	.mcu-case-intake-form-standalone {
		padding: 18px;
		border-radius: 22px;
	}

	.mcu-small-form-card {
		padding: 20px;
		border-radius: 22px;
	}
}
