/*
 * Movers Funding 화면 요소. 색·글자·간격은 shared/movers-ui 의 토큰만 쓴다(디자인 시스템 v1.0).
 * 원칙: 흰 바탕과 남색 글자, 파란색은 누를 수 있는 것과 선택된 것에만, 상태는 색과 글자를 함께.
 */

/* 배율은 Movers AI·Global 과 같게 둔다: 헤더 로고 높이(X) 20px, 구분선 1.5px, 바닥 로고 24px. */
:root { --mv-logo-h: 20px; --mv-logo-w: calc(var(--mv-logo-h) * 6.27); }
.mv-brand-rule { width: 1.5px; }

/* 버튼 글자: 기본·md 15px, lg 16px, sm 14px(Movers AI 버튼과 같은 단계) */
.mv-btn { font-size: 15px; }
.mv-btn--lg { font-size: 16px; }
.mv-btn--md { font-size: 15px; }
.mv-btn--sm { font-size: var(--mv-size-caption); }
.mv-btn .mf-icon { width: 20px; height: 20px; }
.mv-btn--sm .mf-icon { width: 16px; height: 16px; }
.mf-brand-name-ko { margin-left: var(--mv-space-1); }

/* 아이콘: 24px 격자, 1.75px 선, 둥근 끝 */
.mf-icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.mf-icon--16 { width: 16px; height: 16px; }
.mf-icon--24 { width: 24px; height: 24px; }

.mf-num { font-family: var(--mv-font-en); font-weight: var(--mv-weight-semibold); font-variant-numeric: tabular-nums; }
.mf-unit { font-size: max(13px, .5em); font-weight: var(--mv-weight-semibold); margin-left: 2px; color: var(--mv-color-text-secondary); }
.mf-muted { color: var(--mv-color-text-tertiary); }

/* 상태 배지: 점과 글자를 함께 */
.mf-status { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding-inline: 10px; border-radius: var(--mv-radius-sm); font-size: 13px; font-weight: var(--mv-weight-semibold); white-space: nowrap; }
.mf-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mf-status--ok { background: #E8F8F2; color: #087F5B; }
.mf-status--check { background: #FFF6E0; color: #8A5600; }
.mf-status--no { background: #FEF0EF; color: #B42318; }
.mf-dday { display: inline-flex; align-items: center; height: 28px; padding-inline: 10px; border-radius: var(--mv-radius-sm); background: var(--mv-gray-100); color: var(--mv-color-text-secondary); font-family: var(--mv-font-en); font-size: 13px; font-weight: var(--mv-weight-semibold); }
.mf-dday--soon { background: var(--mv-navy); color: var(--mv-white); }

/* ===== 홈 ===== */
.mf-hero { padding-block: clamp(48px, 6vw, 96px) clamp(48px, 5vw, 80px); }
.mf-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.mf-hero .mv-label { display: block; margin-bottom: var(--mv-space-4); }
.mf-hero h1 { font-size: clamp(32px, 3.4vw, 52px); line-height: 1.2; font-weight: var(--mv-weight-bold); text-wrap: balance; }
.mf-hero-lede { margin-top: var(--mv-space-6); max-width: 30em; font-size: var(--mv-size-body); color: var(--mv-color-text-secondary); }
.mf-hero-actions { display: flex; flex-wrap: wrap; gap: var(--mv-space-3); margin-top: var(--mv-space-8); }
.mf-hero-points { display: flex; flex-wrap: wrap; gap: var(--mv-space-2) var(--mv-space-6); margin-top: var(--mv-space-6); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }
.mf-hero-points li { display: inline-flex; align-items: center; gap: var(--mv-space-2); }
.mf-hero-points .mf-icon { color: var(--mv-color-text-tertiary); }

/* 홈 오른쪽의 결과 미리보기 */
.mf-preview { padding: var(--mv-space-6); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-xl); background: var(--mv-color-surface); }
.mf-preview-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--mv-space-3); padding-bottom: var(--mv-space-4); border-bottom: 1px solid var(--mv-color-border); }
.mf-preview-head b { font-size: 17px; font-weight: var(--mv-weight-semibold); }
.mf-preview-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mv-space-3); padding-block: var(--mv-space-5); }
.mf-preview-stats div { display: grid; gap: 2px; }
.mf-preview-stats dt { font-size: 13px; color: var(--mv-color-text-tertiary); }
.mf-preview-stats dd { font-size: 32px; line-height: 1.1; }
.mf-preview-item { display: grid; gap: var(--mv-space-2); padding: var(--mv-space-4); border-radius: var(--mv-radius-lg); background: var(--mv-color-surface-sunken); }
.mf-preview-item + .mf-preview-item { margin-top: var(--mv-space-2); }
.mf-preview-item .mf-row { display: flex; justify-content: space-between; gap: var(--mv-space-3); align-items: center; }
.mf-preview-item p { font-size: 15px; font-weight: var(--mv-weight-semibold); line-height: 1.45; }
.mf-preview-item small { font-size: 13px; color: var(--mv-color-text-tertiary); }

/* 수집 범위 숫자 띠 */
.mf-figures { border-block: 1px solid var(--mv-color-border); background: var(--mv-color-surface-sunken); }
.mf-figures ul { display: grid; grid-template-columns: repeat(4, 1fr); }
.mf-figures li { padding: var(--mv-space-8) var(--mv-space-6); border-left: 1px solid var(--mv-color-border); }
.mf-figures li:first-child { border-left: 0; padding-left: 0; }
.mf-figures b { display: block; font-size: clamp(28px, 2.6vw, 40px); line-height: 1.1; }
.mf-figures span { display: block; margin-top: var(--mv-space-2); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }

.mf-section-head { max-width: 640px; margin-bottom: var(--mv-space-12); }
.mf-section-head .mv-label { display: block; margin-bottom: var(--mv-space-3); }
.mf-section-head h2 { font-size: clamp(24px, 2.2vw, 34px); line-height: 1.3; font-weight: var(--mv-weight-bold); text-wrap: balance; }
.mf-section-head p { margin-top: var(--mv-space-4); color: var(--mv-color-text-secondary); }

.mf-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mv-space-6); counter-reset: step; }
.mf-steps li { padding: var(--mv-space-6); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); }
.mf-steps .mf-step-no { font-family: var(--mv-font-en); font-size: 14px; font-weight: var(--mv-weight-semibold); color: var(--mv-color-text-tertiary); }
.mf-steps h3 { margin-top: var(--mv-space-3); font-size: 20px; line-height: 1.45; font-weight: var(--mv-weight-semibold); }
.mf-steps p { margin-top: var(--mv-space-2); font-size: var(--mv-size-body-sm); color: var(--mv-color-text-secondary); }

/* 공고문에서 읽는 항목 */
.mf-parse { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.mf-parse-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--mv-space-6) var(--mv-space-8); }
.mf-parse-list li { display: grid; grid-template-columns: 24px 1fr; gap: var(--mv-space-3); }
.mf-parse-list .mf-icon { margin-top: 2px; color: var(--mv-color-text-primary); }
.mf-parse-list b { display: block; font-size: 17px; font-weight: var(--mv-weight-semibold); }
.mf-parse-list span { display: block; margin-top: var(--mv-space-1); font-size: var(--mv-size-body-sm); color: var(--mv-color-text-secondary); line-height: 1.6; }
.mf-doc { border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); overflow: hidden; }
.mf-doc-head { display: flex; align-items: center; gap: var(--mv-space-3); padding: var(--mv-space-4) var(--mv-space-5); border-bottom: 1px solid var(--mv-color-border); background: var(--mv-color-surface-sunken); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }
.mf-doc-head b { color: var(--mv-color-text-primary); font-weight: var(--mv-weight-semibold); }
.mf-doc dl { display: grid; grid-template-columns: 7.5em 1fr; }
.mf-doc dt, .mf-doc dd { padding: var(--mv-space-3) var(--mv-space-5); border-bottom: 1px solid var(--mv-color-border); font-size: var(--mv-size-body-sm); }
.mf-doc dt { color: var(--mv-color-text-tertiary); }
.mf-doc dd { margin: 0; }
.mf-doc dl > :nth-last-child(-n+2) { border-bottom: 0; }
.mf-doc-foot { display: flex; gap: var(--mv-space-2); padding: var(--mv-space-3) var(--mv-space-5); border-top: 1px solid var(--mv-color-border); font-size: 13px; color: var(--mv-color-text-tertiary); }

/* 수집 범위 막대(계열 하나, 범례 없음) */
.mf-bars { display: grid; gap: var(--mv-space-3); }
.mf-bars li { display: grid; grid-template-columns: 11em 1fr 4em; align-items: center; gap: var(--mv-space-4); font-size: var(--mv-size-body-sm); }
.mf-bars .mf-bar { height: 16px; border-radius: 0 4px 4px 0; background: var(--mv-blue-500); }
.mf-bars .mf-track { background: var(--mv-gray-100); border-radius: 0 4px 4px 0; }
.mf-bars .mf-num { text-align: right; font-size: 15px; }
.mf-coverage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(32px, 5vw, 64px); }
.mf-coverage-note { margin-top: var(--mv-space-6); font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }

/* 마지막 행동 띠: Movers Navy 바탕 + 모션 루프(Blue on Navy), 한쪽을 잘라 쓴다 */
.mf-cta { position: relative; overflow: hidden; background: var(--mv-navy); color: var(--mv-white); }
.mf-cta-loop { position: absolute; right: -14%; top: 50%; width: 62%; max-width: 820px; height: auto; aspect-ratio: 584.78 / 266.14; transform: translateY(-50%); pointer-events: none; }
.mf-cta .mv-container { position: relative; padding-block: clamp(56px, 6vw, 96px); }
.mf-cta h2 { max-width: 15em; font-size: clamp(26px, 2.4vw, 40px); line-height: 1.3; font-weight: var(--mv-weight-bold); text-wrap: balance; }
.mf-cta p { max-width: 32em; margin-top: var(--mv-space-4); color: var(--mv-gray-300); }
.mf-cta .mv-btn { margin-top: var(--mv-space-8); }

/* ===== 앱형 공통: 페이지 머리 ===== */
.mf-page-head { padding-block: var(--mv-space-10) var(--mv-space-6); border-bottom: 1px solid var(--mv-color-border); }
.mf-page-head h1 { font-size: clamp(26px, 2.2vw, 34px); line-height: 1.3; font-weight: var(--mv-weight-bold); }
.mf-page-head p { margin-top: var(--mv-space-2); color: var(--mv-color-text-secondary); font-size: var(--mv-size-body-sm); }
.mf-breadcrumb { display: flex; flex-wrap: wrap; gap: var(--mv-space-2); margin-bottom: var(--mv-space-4); font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }
.mf-breadcrumb a:hover { color: var(--mv-color-text-primary); text-decoration: underline; text-underline-offset: 3px; }
.mf-breadcrumb li + li::before { content: "/"; margin-right: var(--mv-space-2); color: var(--mv-gray-300); }

/* 기업 정보 요약 줄 */
.mf-profile { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mv-space-2) var(--mv-space-3); margin-top: var(--mv-space-5); padding: var(--mv-space-3) var(--mv-space-4); border-radius: var(--mv-radius-md); background: var(--mv-color-surface-sunken); font-size: var(--mv-size-caption); }
.mf-profile b { font-weight: var(--mv-weight-semibold); }
.mf-profile .mf-chip { display: inline-flex; align-items: center; height: 28px; padding-inline: 10px; border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-full); background: var(--mv-color-surface); color: var(--mv-color-text-secondary); }
.mf-profile .mv-link { margin-left: auto; }

/* 탭: 선택된 탭은 굵은 글자와 3px 파란 선 */
.mf-tabs { display: flex; gap: var(--mv-space-6); margin-top: var(--mv-space-6); border-bottom: 1px solid var(--mv-color-border); overflow-x: auto; }
.mf-tabs button { position: relative; display: inline-flex; align-items: center; gap: var(--mv-space-2); height: 48px; padding: 0; border: 0; background: none; font-size: 16px; font-weight: var(--mv-weight-medium); color: var(--mv-color-text-secondary); cursor: pointer; white-space: nowrap; }
.mf-tabs button .mf-num { font-size: 15px; color: var(--mv-color-text-tertiary); }
.mf-tabs button[aria-selected="true"] { color: var(--mv-color-text-primary); font-weight: var(--mv-weight-semibold); }
.mf-tabs button[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; border-radius: 2px; background: var(--mv-color-action-primary); }
.mf-tabs button[aria-selected="true"] .mf-num { color: var(--mv-color-text-primary); }

/* ===== 맞춤 공고 ===== */
.mf-results { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: var(--mv-space-8); padding-block: var(--mv-space-8) var(--mv-space-16); align-items: start; }
.mf-filters { position: sticky; top: calc(var(--mv-header-height) + var(--mv-space-6)); display: grid; gap: var(--mv-space-6); }
.mf-filters fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: var(--mv-space-2); }
.mf-filters legend { margin-bottom: var(--mv-space-2); padding: 0; font-size: var(--mv-size-caption); font-weight: var(--mv-weight-semibold); }
.mf-check { display: flex; align-items: center; gap: var(--mv-space-3); min-height: 36px; font-size: 15px; color: var(--mv-color-text-secondary); cursor: pointer; }
.mf-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--mv-blue-500); }
.mf-check .mf-num { margin-left: auto; font-size: 13px; color: var(--mv-color-text-tertiary); }
.mf-filters .mv-link { justify-self: start; font-size: var(--mv-size-caption); }

.mf-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--mv-space-3); margin-bottom: var(--mv-space-4); }
.mf-toolbar p { font-size: var(--mv-size-body-sm); color: var(--mv-color-text-secondary); }
.mf-toolbar p b { color: var(--mv-color-text-primary); }
.mf-toolbar .mv-select { width: auto; min-height: 40px; padding-block: 8px; }
.mf-filter-open { display: none; }

.mf-list { display: grid; gap: var(--mv-space-3); }
.mf-card { display: grid; gap: var(--mv-space-3); padding: var(--mv-space-5) var(--mv-space-6); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); background: var(--mv-color-surface); transition: border-color var(--mv-duration-base) var(--mv-ease-standard), box-shadow var(--mv-duration-base) var(--mv-ease-standard); }
.mf-card:hover { border-color: var(--mv-color-border-accent); box-shadow: var(--mv-elevation-1); }
.mf-card-top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mv-space-2); }
.mf-card-org { font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }
.mf-card-top .mf-card-org { margin-right: auto; }
.mf-card h3 { font-size: 18px; line-height: 1.45; font-weight: var(--mv-weight-semibold); }
.mf-card h3 a::after { content: ""; position: absolute; inset: 0; }
.mf-card { position: relative; }
.mf-facts { display: flex; flex-wrap: wrap; gap: var(--mv-space-2) var(--mv-space-8); }
.mf-facts div { display: grid; gap: 2px; }
.mf-facts dt { font-size: 13px; color: var(--mv-color-text-tertiary); }
.mf-facts dd { font-size: 15px; font-weight: var(--mv-weight-semibold); }
.mf-facts dd .mf-num { font-size: 20px; }
.mf-reasons { display: flex; flex-wrap: wrap; gap: var(--mv-space-2) var(--mv-space-4); padding-top: var(--mv-space-3); border-top: 1px solid var(--mv-color-border); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }
.mf-reasons li { display: inline-flex; align-items: center; gap: 6px; }
.mf-reason--ok .mf-icon { color: #087F5B; }
.mf-reason--check .mf-icon { color: #8A5600; }
.mf-reason--no .mf-icon { color: #B42318; }
.mf-empty { padding: var(--mv-space-12) var(--mv-space-6); border: 1px dashed var(--mv-color-border-strong); border-radius: var(--mv-radius-lg); text-align: center; color: var(--mv-color-text-secondary); }

/* ===== 공고 상세 ===== */
.mf-detail { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--mv-space-10); padding-block: var(--mv-space-8) var(--mv-space-16); align-items: start; }
.mf-detail-head { padding-block: var(--mv-space-8) var(--mv-space-6); border-bottom: 1px solid var(--mv-color-border); }
.mf-detail-head h1 { margin-top: var(--mv-space-3); max-width: 28em; font-size: clamp(24px, 2vw, 32px); line-height: 1.35; font-weight: var(--mv-weight-bold); text-wrap: balance; }
.mf-detail-head p { margin-top: var(--mv-space-3); max-width: 46em; color: var(--mv-color-text-secondary); }
.mf-block + .mf-block { margin-top: var(--mv-space-12); }
.mf-block h2 { display: flex; align-items: baseline; gap: var(--mv-space-3); margin-bottom: var(--mv-space-4); font-size: 22px; font-weight: var(--mv-weight-bold); }
.mf-block h2 small { font-size: var(--mv-size-caption); font-weight: var(--mv-weight-regular); color: var(--mv-color-text-tertiary); }
.mf-kpis { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); }
.mf-kpis div { padding: var(--mv-space-5) var(--mv-space-6); border-left: 1px solid var(--mv-color-border); }
.mf-kpis div:first-child { border-left: 0; }
.mf-kpis dt { font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }
.mf-kpis dd { margin-top: var(--mv-space-1); font-size: 32px; line-height: 1.2; }
.mf-kpis small { display: block; margin-top: var(--mv-space-1); font-size: 13px; color: var(--mv-color-text-tertiary); }

.mf-table { width: 100%; border-collapse: collapse; font-size: var(--mv-size-body-sm); }
.mf-table caption { text-align: left; }
.mf-table th, .mf-table td { padding: 14px var(--mv-space-4); border-bottom: 1px solid var(--mv-color-border); text-align: left; vertical-align: top; }
.mf-table thead th { background: var(--mv-color-surface-sunken); font-size: var(--mv-size-caption); font-weight: var(--mv-weight-semibold); color: var(--mv-color-text-secondary); white-space: nowrap; }
.mf-table tbody th { font-weight: var(--mv-weight-semibold); white-space: nowrap; }
.mf-table-wrap { overflow-x: auto; border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); }
.mf-table-wrap tr:last-child > * { border-bottom: 0; }

/* 자부담 계산기 */
.mf-calc { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: var(--mv-space-6); padding: var(--mv-space-6); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); }
.mf-calc .mv-input { font-family: var(--mv-font-en); font-size: 18px; font-weight: var(--mv-weight-semibold); text-align: right; }
.mf-calc-out { display: grid; gap: var(--mv-space-3); }
.mf-calc-row { display: grid; grid-template-columns: 1fr auto; gap: var(--mv-space-3); align-items: baseline; font-size: var(--mv-size-body-sm); }
.mf-calc-row .mf-num { font-size: 20px; }
.mf-calc-row--total { padding-top: var(--mv-space-3); border-top: 1px solid var(--mv-color-border); font-weight: var(--mv-weight-semibold); }
.mf-calc-bar { display: flex; height: 12px; border-radius: 4px; overflow: hidden; background: var(--mv-gray-100); }
.mf-calc-bar span:nth-child(1) { background: var(--mv-blue-500); }
.mf-calc-bar span:nth-child(2) { background: var(--mv-navy); }
.mf-calc-bar span:nth-child(3) { background: var(--mv-gray-300); }
.mf-legend { display: flex; flex-wrap: wrap; gap: var(--mv-space-4); font-size: 13px; color: var(--mv-color-text-secondary); }
.mf-legend span { display: inline-flex; align-items: center; gap: 6px; }
.mf-legend i { width: 10px; height: 10px; border-radius: 2px; }

.mf-docs { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--mv-space-2) var(--mv-space-6); }
.mf-docs li { display: flex; align-items: center; gap: var(--mv-space-3); min-height: 44px; border-bottom: 1px solid var(--mv-color-border); font-size: var(--mv-size-body-sm); }
.mf-docs input { width: 20px; height: 20px; margin: 0; accent-color: var(--mv-blue-500); }
.mf-docs label { flex: 1; cursor: pointer; }
.mf-docs .mv-badge { margin-left: auto; }

.mf-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--mv-space-2); }
.mf-timeline li { position: relative; padding-top: var(--mv-space-5); border-top: 2px solid var(--mv-gray-200); }
.mf-timeline li:first-child { border-top-color: var(--mv-blue-500); }
.mf-timeline b { display: block; font-size: 15px; font-weight: var(--mv-weight-semibold); }
.mf-timeline span { font-size: 13px; color: var(--mv-color-text-tertiary); }

.mf-ai { display: grid; gap: var(--mv-space-3); padding: var(--mv-space-5); border: 1px solid var(--mv-blue-200); border-radius: var(--mv-radius-lg); background: var(--mv-color-surface-accent); font-size: var(--mv-size-body-sm); }
.mf-ai-head { display: flex; align-items: center; gap: var(--mv-space-2); font-weight: var(--mv-weight-semibold); }
.mf-conf { display: flex; flex-wrap: wrap; gap: var(--mv-space-2); }
.mf-conf span { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding-inline: 10px; border-radius: var(--mv-radius-sm); background: var(--mv-color-surface); font-size: 13px; color: var(--mv-color-text-secondary); }
.mf-conf i { display: inline-flex; gap: 2px; }
.mf-conf i::before, .mf-conf i::after, .mf-conf i b { content: ""; width: 4px; height: 10px; border-radius: 1px; background: var(--mv-gray-300); }
.mf-conf i b { display: block; }
.mf-conf [data-level="high"] i::before, .mf-conf [data-level="high"] i b, .mf-conf [data-level="high"] i::after { background: var(--mv-navy); }
.mf-conf [data-level="medium"] i::before, .mf-conf [data-level="medium"] i b { background: var(--mv-navy); }

.mf-aside { position: sticky; top: calc(var(--mv-header-height) + var(--mv-space-6)); display: grid; gap: var(--mv-space-4); padding: var(--mv-space-6); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); }
.mf-aside .mf-status { justify-self: start; }
.mf-aside dl { display: grid; gap: var(--mv-space-3); font-size: var(--mv-size-body-sm); }
.mf-aside dl div { display: flex; justify-content: space-between; gap: var(--mv-space-3); }
.mf-aside dt { flex: none; color: var(--mv-color-text-tertiary); }
.mf-aside dd { min-width: 0; text-align: right; font-weight: var(--mv-weight-semibold); }
.mf-aside .mv-btn { width: 100%; }
.mf-aside small { font-size: 13px; color: var(--mv-color-text-tertiary); line-height: 1.5; }
.mf-source { display: grid; gap: var(--mv-space-2); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }
.mf-source span { display: flex; align-items: flex-start; gap: 6px; }
.mf-source .mf-icon { margin-top: 3px; }
.mf-amt { white-space: nowrap; }

/* ===== 기업 정보 입력 ===== */
.mf-onboard { max-width: 760px; margin-inline: auto; padding-block: var(--mv-space-10) var(--mv-space-16); }
.mf-stepper { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mv-space-2); margin-bottom: var(--mv-space-10); counter-reset: s; }
.mf-stepper li { display: grid; gap: var(--mv-space-2); padding-top: var(--mv-space-3); border-top: 3px solid var(--mv-gray-200); font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }
.mf-stepper li b { font-family: var(--mv-font-en); font-weight: var(--mv-weight-semibold); }
.mf-stepper li[aria-current="step"] { border-top-color: var(--mv-blue-500); color: var(--mv-color-text-primary); font-weight: var(--mv-weight-semibold); }
.mf-stepper li[data-done] { border-top-color: var(--mv-navy); color: var(--mv-color-text-secondary); }
.mf-onboard h1 { font-size: clamp(26px, 2.2vw, 34px); line-height: 1.3; font-weight: var(--mv-weight-bold); }
.mf-onboard h1:focus { outline: none; }
.mf-onboard .mf-intro { margin-top: var(--mv-space-3); color: var(--mv-color-text-secondary); }
.mf-panel { margin-top: var(--mv-space-8); }
.mf-drop { display: grid; justify-items: center; gap: var(--mv-space-3); padding: var(--mv-space-12) var(--mv-space-6); border: 1.5px dashed var(--mv-color-border-strong); border-radius: var(--mv-radius-lg); background: var(--mv-color-surface-sunken); text-align: center; cursor: pointer; transition: border-color var(--mv-duration-fast) var(--mv-ease-standard); }
.mf-drop:hover, .mf-drop:focus-within { border-color: var(--mv-color-action-primary); }
.mf-drop .mf-icon { width: 32px; height: 32px; color: var(--mv-color-text-secondary); }
.mf-drop b { font-size: 18px; font-weight: var(--mv-weight-semibold); }
.mf-drop span { font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }
.mf-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mf-privacy { display: flex; gap: var(--mv-space-3); margin-top: var(--mv-space-4); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }
.mf-privacy .mf-icon { margin-top: 2px; color: var(--mv-color-text-tertiary); }
.mf-reading { display: flex; align-items: center; gap: var(--mv-space-3); padding: var(--mv-space-4) var(--mv-space-5); border-radius: var(--mv-radius-md); background: var(--mv-color-surface-sunken); font-size: var(--mv-size-body-sm); }
.mf-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--mv-space-5) var(--mv-space-6); }
.mf-grid .mf-span { grid-column: 1 / -1; }
.mf-from-doc { display: inline-flex; align-items: center; gap: 4px; margin-left: var(--mv-space-2); font-size: 12px; font-weight: var(--mv-weight-semibold); color: var(--mv-color-text-tertiary); }
.mf-derived { margin-top: var(--mv-space-2); font-size: var(--mv-size-caption); color: var(--mv-color-text-secondary); }
.mf-derived b { color: var(--mv-color-text-primary); }
.mf-q { padding-block: var(--mv-space-6); border-bottom: 1px solid var(--mv-color-border); }
.mf-q:first-child { padding-top: 0; }
.mf-q > b { display: block; font-size: 17px; font-weight: var(--mv-weight-semibold); }
.mf-q > p { margin-top: var(--mv-space-1); font-size: var(--mv-size-caption); color: var(--mv-color-text-tertiary); }
.mf-options { display: flex; flex-wrap: wrap; gap: var(--mv-space-2); margin-top: var(--mv-space-4); }
.mf-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mf-options label { display: inline-flex; align-items: center; height: 40px; padding-inline: var(--mv-space-4); border: 1px solid var(--mv-color-border-strong); border-radius: var(--mv-radius-full); font-size: 15px; color: var(--mv-color-text-secondary); cursor: pointer; transition: border-color var(--mv-duration-fast) var(--mv-ease-standard); }
.mf-options label:hover { border-color: var(--mv-color-action-primary); }
.mf-options input:checked + label { border-color: var(--mv-color-action-primary); background: var(--mv-color-surface-accent); color: var(--mv-blue-700); font-weight: var(--mv-weight-semibold); }
.mf-options input:focus-visible + label { outline: 2px solid var(--mv-color-focus); outline-offset: 2px; }
.mf-actions { display: flex; justify-content: space-between; gap: var(--mv-space-3); margin-top: var(--mv-space-10); }
.mf-done { display: grid; justify-items: start; gap: var(--mv-space-4); }
.mf-done .mf-num { font-size: 48px; line-height: 1.1; }

/* ===== 바닥: Movers AI·Global 과 같은 구성. 회사 정보는 Admin 값으로 채운다 ===== */
.mf-footer { padding-block: var(--mv-space-12); background: var(--mv-color-surface-inverse); color: var(--mv-gray-400); }
.mf-footer-top { display: flex; align-items: center; justify-content: space-between; gap: var(--mv-space-6); flex-wrap: wrap; }
.mf-brand-footer { --mv-logo-h: 24px; --mv-logo-w: calc(24px * 6.27); }
.mf-brand-footer .mv-brand-rule { background: var(--mv-gray-700); }
.mf-brand-footer .mv-brand-name { color: var(--mv-white); }
.mf-btn-ghost { border-color: var(--mv-color-border-inverse); color: var(--mv-gray-300); }
.mf-btn-ghost:hover { border-color: var(--mv-gray-400); color: var(--mv-white); }
.mf-footer-nav { display: flex; flex-wrap: wrap; gap: var(--mv-space-5); margin-top: var(--mv-space-8); }
.mf-footer-nav a { font-size: var(--mv-size-caption); color: var(--mv-gray-400); }
.mf-footer-nav a:hover { color: var(--mv-white); }
.mf-footer-info { display: flex; flex-wrap: wrap; gap: var(--mv-space-2) var(--mv-space-6); margin-top: var(--mv-space-6); font-size: var(--mv-size-caption); }
.mf-footer-info > div { display: flex; gap: var(--mv-space-2); }
.mf-footer-info dt { color: var(--mv-gray-500); }
.mf-footer-info dd { color: var(--mv-gray-300); }
.mf-footer-locations { margin-top: var(--mv-space-8); }
.mf-footer-locations h2 { margin-bottom: var(--mv-space-3); font-size: var(--mv-size-caption); color: var(--mv-gray-500); }
.mf-footer-locations dl { display: grid; gap: var(--mv-space-3); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.mf-footer-locations dt { font-size: var(--mv-size-caption); color: var(--mv-white); }
.mf-footer-locations dd { font-size: var(--mv-size-caption); color: var(--mv-gray-400); }
.mf-footer-bottom { margin-top: var(--mv-space-10); padding-top: var(--mv-space-6); border-top: var(--mv-border) solid var(--mv-gray-800); font-size: var(--mv-size-caption); color: var(--mv-gray-500); }

.mf-notfound { padding-block: var(--mv-space-24); }
.mf-notfound h1 { font-size: clamp(26px, 2.2vw, 34px); line-height: 1.3; font-weight: var(--mv-weight-bold); }
.mf-notfound p { margin-top: var(--mv-space-3); color: var(--mv-color-text-secondary); }

/* 시안 표시: 예시 데이터라는 것을 늘 보이게 한다 */
.mf-draft { position: fixed; left: 50%; bottom: var(--mv-space-4); z-index: var(--mv-z-toast); transform: translateX(-50%); display: inline-flex; align-items: center; gap: var(--mv-space-2); padding: var(--mv-space-2) var(--mv-space-4); border-radius: var(--mv-radius-full); background: var(--mv-navy); color: var(--mv-white); font-size: 13px; font-weight: var(--mv-weight-semibold); box-shadow: var(--mv-elevation-3); pointer-events: none; white-space: nowrap; }

/* ===== 반응형 ===== */
@media (max-width: 1023px) {
  .mf-hero-grid, .mf-parse, .mf-coverage { grid-template-columns: 1fr; }
  .mf-detail { grid-template-columns: minmax(0, 1fr); }
  .mf-detail > * { min-width: 0; }
  .mf-aside { position: static; order: -1; }
  .mf-results { grid-template-columns: minmax(0, 1fr); }
  .mf-filters { position: static; display: none; padding: var(--mv-space-5); border: 1px solid var(--mv-color-border); border-radius: var(--mv-radius-lg); }
  .mf-filters[data-open="true"] { display: grid; }
  .mf-filter-open { display: inline-flex; }
}
@media (max-width: 767px) {
  .mf-figures ul { grid-template-columns: repeat(2, 1fr); }
  .mf-figures li { padding: var(--mv-space-5) var(--mv-space-4); border-left: 0; border-top: 1px solid var(--mv-color-border); }
  .mf-figures li:nth-child(-n+2) { border-top: 0; }
  .mf-figures li:first-child { padding-left: var(--mv-space-4); }
  .mf-steps, .mf-parse-list, .mf-grid, .mf-docs { grid-template-columns: 1fr; }
  .mf-kpis { grid-template-columns: 1fr; }
  .mf-kpis div { border-left: 0; border-top: 1px solid var(--mv-color-border); }
  .mf-kpis div:first-child { border-top: 0; }
  .mf-bars li { grid-template-columns: 7.5em 1fr 3.2em; gap: var(--mv-space-2); font-size: 14px; }
  .mf-calc { grid-template-columns: 1fr; }
  .mf-stepper span { display: none; }
  .mf-preview-stats dd { font-size: 26px; }
  .mf-profile .mv-link { margin-left: 0; }
  .mf-breadcrumb li[aria-current] { display: none; }
  .mf-cta-loop { width: 120%; right: -60%; opacity: 1; }
}
