.mmf-portal,
.mmf-form-wrap,
.mmf-staff,
.mmf-staff-detail,
.mmf-order-medical {
	--mmf-red: #980102;
	--mmf-red-dark: #6f0001;
	--mmf-red-soft: #fff3f3;
	--mmf-ink: #202124;
	--mmf-muted: #65686d;
	--mmf-soft: #f7f4f2;
	--mmf-border: #ded8d5;
	--mmf-success: #19713a;
	color: var(--mmf-ink);
}

.mmf-form-wrap { margin: 0 auto; max-width: 1080px; }
.mmf-kicker { color: var(--mmf-red); display: block; font-size: .76rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.mmf-cards { display: grid; gap: 16px; }
.mmf-card { align-items: center; background: #fff; border: 1px solid var(--mmf-border); border-radius: 12px; display: flex; justify-content: space-between; padding: 20px; }
.mmf-card h3 { margin: .25rem 0; }
.mmf-status { border-radius: 999px; display: inline-block; font-size: .78rem; font-weight: 750; line-height: 1.2; padding: 5px 10px; }
.mmf-status-submitted { background: #e2f4e8; color: #145c2a; }
.mmf-status-not_started,
.mmf-status-draft,
.mmf-status-needs_update { background: #fff0cf; color: #704b00; }

.mmf-order-medical { margin-top: 28px; }
.mmf-order-medical > h2 { margin-bottom: 8px; }
.mmf-order-medical > p { color: var(--mmf-muted); margin-top: 0; }
.mmf-order-medical-list { display: grid; gap: 10px; }
.mmf-order-medical-card { align-items: center; background: #fff; border: 1px solid var(--mmf-border); border-radius: 11px; display: flex; gap: 16px; justify-content: space-between; padding: 16px; }
.mmf-order-medical-card div { display: grid; gap: 5px; }
.mmf-order-medical-card div > span { color: var(--mmf-muted); font-size: .88rem; }
.mmf-order-medical-card small { align-items: center; display: flex; gap: 6px; }
.woocommerce-account a.button.mmf-medical-button,
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"] {
	align-items: center !important;
	background: #fff !important;
	border: 1.5px solid #980102 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #980102 !important;
	display: inline-flex !important;
	font-weight: 700 !important;
	justify-content: center !important;
	line-height: 1.25 !important;
	margin: 4px 6px 4px 0 !important;
	max-width: 100% !important;
	min-height: 42px !important;
	padding: 9px 13px !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: normal !important;
	width: auto !important;
}
.woocommerce-account a.button.mmf-medical-button:hover,
.woocommerce-account a.button.mmf-medical-button:focus,
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"]:hover,
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"]:focus {
	background: #980102 !important;
	border-color: #980102 !important;
	color: #fff !important;
}
.woocommerce-account a.button.mmf-medical-button:focus-visible,
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"]:focus-visible {
	outline: 3px solid rgba(152, 1, 2, .28) !important;
	outline-offset: 2px !important;
}
.woocommerce-account a.button.mmf-medical-button::before,
.woocommerce-account a.button.mmf-medical-button::after,
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"]::before,
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"]::after {
	content: none !important;
	display: none !important;
}

.mmf-back { align-items: center; color: var(--mmf-red); display: inline-flex; font-weight: 650; margin-bottom: 18px; text-decoration: none; }
.mmf-back:hover { color: var(--mmf-red-dark); text-decoration: underline; }
.mmf-participant { align-items: center; background: linear-gradient(135deg, #fff 0%, var(--mmf-red-soft) 100%); border: 1px solid #ead5d5; border-radius: 16px; display: grid; gap: 18px; grid-template-columns: auto minmax(0, 1fr) minmax(130px, 180px); margin-bottom: 22px; padding: 22px; }
.mmf-participant-icon { align-items: center; background: var(--mmf-red); border-radius: 14px; color: #fff; display: flex; font-size: 1.55rem; font-weight: 800; height: 58px; justify-content: center; width: 58px; }
.mmf-participant h2 { font-size: clamp(1.55rem, 3vw, 2.35rem); line-height: 1.1; margin: 4px 0 8px; }
.mmf-participant-meta { align-items: center; color: var(--mmf-muted); display: flex; flex-wrap: wrap; font-size: .9rem; gap: 8px 12px; }
.mmf-completion { align-items: flex-end; display: flex; flex-direction: column; font-size: .75rem; text-transform: uppercase; }
.mmf-completion strong { color: var(--mmf-red); font-size: 1.45rem; line-height: 1; }
.mmf-progress-track { background: #eadfdf; border-radius: 999px; height: 7px; margin-top: 8px; overflow: hidden; width: 100%; }
.mmf-progress-track i { background: var(--mmf-red); border-radius: inherit; display: block; height: 100%; }

.mmf-tabs { background: #fff; border: 1px solid var(--mmf-border); border-radius: 14px; display: flex; gap: 2px; margin-bottom: 18px; overflow-x: auto; padding: 7px; scrollbar-width: thin; }
.mmf-tab { all: unset; align-items: center; appearance: none; background: transparent; border: 0; border-radius: 9px; box-sizing: border-box; color: var(--mmf-ink); cursor: pointer; display: flex; flex: 1 0 138px; font: inherit; gap: 9px; min-height: 58px; padding: 8px 10px; text-align: left; }
.mmf-tab:hover { background: var(--mmf-soft); }
.mmf-tab:focus-visible { outline: 3px solid rgba(152, 1, 2, .28); outline-offset: 1px; }
.mmf-tab.is-active { background: var(--mmf-red); color: #fff; }
.mmf-tab-number { align-items: center; background: #f0e7e5; border-radius: 999px; color: var(--mmf-ink); display: flex; flex: 0 0 28px; font-size: .78rem; font-weight: 800; height: 28px; justify-content: center; }
.mmf-tab.is-complete:not(.is-active) .mmf-tab-number { background: #def2e4; color: var(--mmf-success); }
.mmf-tab.is-active .mmf-tab-number { background: #fff; color: var(--mmf-red); }
.mmf-tab-copy { display: grid; line-height: 1.15; }
.mmf-tab-copy strong { font-size: .84rem; }
.mmf-tab-copy small { color: var(--mmf-muted); font-size: .68rem; margin-top: 4px; }
.mmf-tab.is-active .mmf-tab-copy small { color: rgba(255, 255, 255, .8); }
.mmf-tabs-ready .mmf-section:not(.is-active) { display: none; }

.mmf-section { background: #fff; border: 1px solid var(--mmf-border); border-radius: 14px; margin: 0; padding: clamp(20px, 4vw, 34px); }
.mmf-section-header { border-bottom: 1px solid #eee8e5; margin-bottom: 26px; padding-bottom: 18px; }
.mmf-section-header h3 { color: var(--mmf-ink); font-size: clamp(1.35rem, 2.4vw, 1.8rem); line-height: 1.2; margin: 5px 0 7px; }
.mmf-section-header p { color: var(--mmf-muted); margin: 0; max-width: 720px; }
.mmf-fields-grid { display: grid; gap: 22px; }
.mmf-form-row { display: grid; gap: 22px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mmf-form-row.is-full { grid-template-columns: 1fr; }
.mmf-field { margin: 0; min-width: 0; }
.mmf-field-wide { grid-column: 1 / -1; }
.mmf-field-column-2 { grid-column: 2; }
.mmf-form-heading { border-bottom: 2px solid #eadfdd; padding: 5px 0 10px; }
.mmf-form-heading h4 { color: var(--mmf-red); font-size: 1.15rem; line-height: 1.25; margin: 0; }
.mmf-form-heading p { color: var(--mmf-muted); margin: 5px 0 0; }
.mmf-field > label,
.mmf-field-label { display: block; font-size: .94rem; font-weight: 700; line-height: 1.35; margin-bottom: 8px; }
.mmf-field .required { color: var(--mmf-red); }

.mmf-field input[type=text],
.mmf-field input[type=email],
.mmf-field input[type=tel],
.mmf-field input[type=date],
.mmf-field select,
.mmf-field textarea { background: #fff !important; border: 1px solid #cfc9c6 !important; border-radius: 9px !important; box-shadow: none !important; box-sizing: border-box !important; color: var(--mmf-ink) !important; font-size: 16px !important; height: auto !important; line-height: 1.4 !important; margin: 0 !important; min-height: 48px !important; padding: 11px 13px !important; width: 100% !important; }
.mmf-field textarea { min-height: 112px !important; resize: vertical; }
.mmf-field input:focus,
.mmf-field select:focus,
.mmf-field textarea:focus { border-color: var(--mmf-red) !important; box-shadow: 0 0 0 3px rgba(152, 1, 2, .11) !important; outline: 0; }
.mmf-field input:disabled,
.mmf-field select:disabled,
.mmf-field textarea:disabled { background: #f1efee !important; color: #6e6e6e !important; }

.mmf-date-selects { display: grid; gap: 10px; grid-template-columns: minmax(82px, .7fr) minmax(150px, 1.4fr) minmax(110px, 1fr); max-width: 520px; }
.mmf-date-selects label { display: block; margin: 0 !important; }
.mmf-date-selects label > span { color: var(--mmf-muted); display: block; font-size: .75rem; font-weight: 700; letter-spacing: .02em; margin-bottom: 5px; text-transform: uppercase; }
.mmf-date-selects select { cursor: pointer; }

.mmf-options { display: flex; flex-wrap: wrap; gap: 9px; }
.mmf-options label,
.mmf-check { align-items: center; background: #fff; border: 1px solid #d4cecb; border-radius: 9px; cursor: pointer; display: inline-flex !important; font-weight: 500 !important; gap: 8px; line-height: 1.2; margin: 0 !important; min-height: 44px; padding: 9px 13px; }
.mmf-options-yesno label { min-width: 92px; }
.mmf-options label:hover,
.mmf-check:hover { border-color: #a9a09c; }
.mmf-options label.is-selected,
.mmf-check.is-selected,
.mmf-options label:has(input:checked),
.mmf-check:has(input:checked) { background: var(--mmf-red-soft); border-color: var(--mmf-red); color: var(--mmf-red-dark); }
.mmf-options input,
.mmf-check input { accent-color: var(--mmf-red); flex: 0 0 auto; height: 18px !important; margin: 0 !important; min-height: 0 !important; width: 18px !important; }
.mmf-field small { color: var(--mmf-muted); display: block; font-size: .78rem; line-height: 1.35; margin-top: 6px; }
.mmf-field .mmf-validation-error { color: #a00000; font-weight: 700; }
.mmf-field .mmf-validation-error[hidden] { display: none; }
.mmf-field input[aria-invalid="true"] { border-color: #b42318 !important; box-shadow: 0 0 0 1px #b42318 !important; }
.mmf-field.is-missing { border-radius: 9px; outline: 4px solid #fff0f0; outline-offset: 4px; }
.mmf-field.is-missing .mmf-field-label { color: #941b1b; }
.mmf-field.is-missing input[type=text],
.mmf-field.is-missing input[type=email],
.mmf-field.is-missing input[type=tel],
.mmf-field.is-missing select,
.mmf-field.is-missing textarea,
.mmf-field.is-missing .mmf-options label,
.mmf-field.is-missing .mmf-check { border-color: #d98b8b !important; }
.mmf-field { transition: outline-color .16s ease; }
.mmf-deadline::before { background: linear-gradient(currentColor, currentColor) 50% 27% / 1.5px 31% no-repeat, linear-gradient(currentColor, currentColor) 66% 55% / 31% 1.5px no-repeat; border: 1.5px solid currentColor; border-radius: 50%; box-sizing: border-box; content: ""; display: inline-block; height: .9em; margin-right: .42em; opacity: .8; vertical-align: -.06em; width: .9em; }
.mmf-deadline.mmf-reopened { color: #176a3a; font-weight: 700; }
.mmf-lock { background: #fff4d7; border-left: 3px solid #d99b00; border-radius: 0 7px 7px 0; font-size: .86rem; margin: 0 0 9px; padding: 8px 10px; }

.mmf-actions { align-items: center; backdrop-filter: blur(8px); background: rgba(255, 255, 255, .94); border: 1px solid var(--mmf-border); border-radius: 13px; bottom: 10px; display: flex; gap: 16px; justify-content: space-between; margin: 18px 0 26px; padding: 12px; position: sticky; z-index: 20; }
.mmf-step-controls,
.mmf-save-controls { align-items: center; display: flex; gap: 9px; }
.mmf-step-status { color: var(--mmf-muted); font-size: .8rem; min-width: 76px; text-align: center; }
.mmf-actions .button { margin: 0 !important; white-space: nowrap; }
.mmf-actions .button[hidden] { display: none !important; }

.mmf-search { display: grid; gap: 10px; grid-template-columns: minmax(180px, 2fr) minmax(160px, 1fr) auto; margin-bottom: 24px; }
.mmf-search input,
.mmf-search select { min-height: 46px; }
.mmf-search-results { display: grid; gap: 10px; }
.mmf-result { background: #fff; border: 1px solid var(--mmf-border); border-radius: 9px; color: inherit; display: grid; gap: 4px; padding: 16px; text-decoration: none; }
.mmf-result:hover { border-color: var(--mmf-red); }
.mmf-alert { color: var(--mmf-red); font-size: .82rem; font-weight: 700; }
.mmf-staff-detail section { background: #fff; border: 1px solid var(--mmf-border); border-radius: 9px; margin-bottom: 16px; padding: 18px; }
.mmf-staff-detail section h2 { color: var(--mmf-red); font-size: 1.1rem; margin-top: 0; }
.mmf-staff-detail dt { font-size: .82rem; font-weight: 700; margin-top: 12px; }
.mmf-staff-detail dd { margin: 3px 0 0; white-space: normal; }
.mmf-app-nav { display: flex; gap: 8px; margin-bottom: 18px; }

@media (max-width: 820px) {
	.mmf-participant { grid-template-columns: auto minmax(0, 1fr); }
	.mmf-completion { align-items: stretch; grid-column: 1 / -1; }
	.mmf-fields-grid { grid-template-columns: 1fr; }
	.mmf-form-row { grid-template-columns: 1fr; }
	.mmf-field-wide { grid-column: auto; }
	.mmf-field-column-2 { grid-column: auto; }
	.mmf-actions { align-items: stretch; flex-direction: column; position: static; }
	.mmf-step-controls,
	.mmf-save-controls { justify-content: space-between; }
	.mmf-save-controls .button { flex: 1; }
}

@media (max-width: 560px) {
	.woocommerce-account a.button.mmf-medical-button,
	.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button[class*="medische-fiche-"] { margin: 7px 0 0 !important; width: 100% !important; }
	.mmf-order-medical-card { align-items: stretch; flex-direction: column; }
	.mmf-order-medical-card .button { text-align: center; width: 100%; }
	.mmf-date-selects { gap: 8px; grid-template-columns: minmax(72px, .7fr) minmax(120px, 1.3fr); }
	.mmf-date-selects label:last-of-type { grid-column: 1 / -1; }
	.mmf-card { align-items: flex-start; display: grid; gap: 12px; }
	.mmf-card .button { text-align: center; width: 100%; }
	.mmf-participant { gap: 13px; padding: 16px; }
	.mmf-participant-icon { border-radius: 11px; height: 48px; width: 48px; }
	.mmf-participant h2 { font-size: 1.5rem; }
	.mmf-section { padding: 19px 15px; }
	.mmf-tabs { border-radius: 11px; margin-left: -4px; margin-right: -4px; }
	.mmf-tab { flex-basis: 132px; min-height: 54px; }
	.mmf-options label { flex: 1 1 calc(50% - 9px); }
	.mmf-options-yesno label { min-width: 0; }
	.mmf-search { grid-template-columns: 1fr; }
	.mmf-step-controls { display: grid; grid-template-columns: 1fr auto 1fr; }
	.mmf-step-controls .button { min-width: 0; padding-left: 10px !important; padding-right: 10px !important; }
	.mmf-save-controls { align-items: stretch; flex-direction: column; }
	.mmf-save-controls .button { width: 100%; }
}
