@font-face{font-family:'Pretendard';font-weight:45 920;font-style:normal;font-display:swap;src:url('/PretendardVariable.woff2') format('woff2-variations');}
/* minix-as-apply (접수) — 조회 서비스(as.minix.life)와 통일한 흑백 미니멀 디자인 시스템.
   CSS 변수 이름은 유지하고 값만 조회 팔레트로 매핑 → app.js 인라인 스타일이 자동 정렬된다.
   토큰·컴포넌트는 service/public/style.css를 단일 원천으로 미러링(폭 480 · 액센트 차콜 · 시스템 모노). */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --ink:#222222;
  --ink-soft:#5b6470;
  --ink-faint:#8b93a0;
  --accent:#2e2e2e;          /* 조회와 동일: 차콜 (버튼·선택·강조) */
  --accent-ink:#2e2e2e;
  --accent-soft:#f5f6f8;     /* 조회 infobg — 안내/선택 배경 */
  --line:#ebedf0;
  --field-line:#dbdfe4;      /* 입력 테두리 */
  --danger:#cf222e;          /* 조회 red */
  --danger-soft:#f6eaea;
  --success:#2f7d4f;         /* 조회 ok */
  --success-soft:#eaf2ec;
  --link:#2f6df6;
  --radius:14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);color:var(--ink);
  font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  min-height:100vh;line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;
}
.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;letter-spacing:.01em;}

.shell{max-width:480px;margin:0 auto;padding:0 0 80px;}

/* 상단 브랜드바 — 조회와 동일(로고) */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--line);
  background:var(--bg);position:sticky;top:0;z-index:20;
}
.topbar .logo{height:24px;width:auto;display:block;}
.ham{width:24px;height:18px;position:relative;cursor:pointer;}
.ham span{position:absolute;left:0;right:0;height:2px;background:var(--ink);}
.ham span:nth-child(1){top:0;} .ham span:nth-child(2){top:8px;} .ham span:nth-child(3){top:16px;}
.topbar .statusLink{font-size:12.5px;color:var(--ink-soft);text-decoration:none;font-weight:600;}
.topbar .statusLink:hover{color:var(--ink);}

/* 진행 레일(가로 세그먼트) */
.rail{display:flex;gap:6px;padding:18px 22px 4px;}
.rail .seg{flex:1;height:4px;border-radius:2px;background:var(--line);position:relative;overflow:hidden;}
.rail .seg.done{background:var(--accent);}
.rail .seg.current{background:var(--line);}
.rail .seg.current::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:50%;background:var(--accent);
  animation:pulse 1.4s ease-in-out infinite;
}
@keyframes pulse{0%{opacity:.5;}50%{opacity:1;}100%{opacity:.5;}}
.railLabel{display:flex;justify-content:space-between;padding:8px 22px 0;font-size:11px;color:var(--ink-faint);font-weight:600;}

.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 22px;margin:16px 22px;
}
.stepHead{margin-bottom:18px;}
.stepHead .eyebrow{font-size:12px;color:var(--ink-soft);font-weight:700;letter-spacing:.02em;margin-bottom:6px;}
.stepHead h2{font-size:20px;margin:0 0 6px;font-weight:700;line-height:1.35;letter-spacing:-.02em;}
.stepHead p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.6;}

.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#5b6470;}
.field .hint{font-size:12px;color:var(--ink-faint);margin-top:6px;line-height:1.5;}
.field input[type=text], .field input[type=tel], .field input[type=date], .field select, .field textarea{
  width:100%;padding:14px;border:1px solid var(--field-line);border-radius:7px;
  font-family:inherit;font-size:15px;background:#fff;color:var(--ink);outline:none;transition:.15s;
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:#9aa0a8;box-shadow:0 0 0 3px rgba(40,40,40,.07);
}
.field input.err, .field textarea.err{border-color:var(--danger);background:#fdf3f2;}
.field input.ok{border-color:var(--success);}
.field textarea{resize:vertical;min-height:70px;}
.field input[type=file]{font-size:13px;color:var(--ink-soft);}
.errMsg{color:var(--danger);font-size:12px;margin-top:6px;font-weight:600;display:none;}
.errMsg.show{display:block;}
.okMsg{color:var(--success);font-size:12px;margin-top:6px;font-weight:600;display:none;}
.okMsg.show{display:block;}

.choiceGrid{display:grid;grid-template-columns:1fr;gap:10px;}
.choiceCard{
  border:1px solid var(--field-line);border-radius:12px;padding:15px 16px;cursor:pointer;
  display:flex;align-items:flex-start;gap:12px;transition:border-color .15s,background .15s;
}
.choiceCard:hover{border-color:#9aa0a8;}
.choiceCard.selected{border-color:var(--accent);background:var(--accent-soft);}
.choiceCard .ico{font-size:20px;line-height:1;margin-top:2px;}
.choiceCard .txt strong{display:block;font-size:14.5px;margin-bottom:3px;}
.choiceCard .txt span{font-size:12.5px;color:var(--ink-soft);}

.chipGrid{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  border:1px solid var(--field-line);border-radius:20px;padding:9px 14px;font-size:13px;font-weight:600;
  cursor:pointer;color:var(--ink-soft);background:#fff;transition:.12s;
}
.chip.selected{border-color:var(--accent);background:var(--accent);color:#fff;}
.chip.disabled{opacity:.4;cursor:not-allowed;}

.guideBox{
  border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:var(--accent-soft);margin-bottom:16px;
}
.guideBox .tag{display:inline-block;background:var(--ink);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;margin-bottom:9px;}
.guideBox p{font-size:13.5px;line-height:1.65;margin:0 0 8px;color:#4b5563;}
.guideBox p:last-child{margin-bottom:0;}

.btnRow{display:flex;gap:10px;margin-top:22px;}
.btn{
  flex:1;padding:15px;border-radius:7px;border:none;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:.15s;
}
.btn.primary{background:var(--accent);color:#fff;}
.btn.primary:active{opacity:.93;}
.btn:disabled, .btn.primary:disabled{background:#d3d8dd;color:#fff;cursor:not-allowed;}
.btn.ghost{background:#fff;color:var(--ink-soft);border:1px solid var(--field-line);}
.btn.small{flex:none;padding:9px 16px;font-size:12.5px;}

.summaryRow{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.summaryRow:last-of-type{border-bottom:none;}
.summaryRow .k{color:var(--ink-soft);white-space:nowrap;}
.summaryRow .v{font-weight:700;text-align:right;}
.editLink{font-size:12px;color:var(--link);text-decoration:underline;cursor:pointer;font-weight:700;}

.doneWrap{text-align:center;padding:10px 0 6px;}

.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;}
.badge.linked{background:var(--accent-soft);color:var(--ink);}
.badge.new{background:var(--success-soft);color:var(--success);}
.badge.flag{background:var(--danger-soft);color:var(--danger);}

.footNote{padding:16px 22px 0;font-size:11.5px;color:var(--ink-faint);line-height:1.6;text-align:center;}
.infobox{margin-top:24px;background:var(--accent-soft);border-radius:8px;padding:18px 20px;color:var(--ink-soft);font-size:13px;line-height:1.7;word-break:keep-all;text-align:center;}

/* 상단 풀블리딩 안내바 — 조회(service/) .notice 미러. shell에 좌우 패딩이 없어 음수 마진 불필요. */
.notice{background:var(--accent-soft);border-bottom:1px solid var(--line);
  padding:14px 22px;font-size:13px;color:var(--ink-soft);line-height:1.6;text-align:left;word-break:keep-all;}
/* 볼드 없이 — 링크는 밑줄로만 구분(굵기 차이 없으면 링크인지 안 보임) */
.notice a{color:var(--accent-ink);text-decoration:underline;}
.inquiry{text-align:center;font-size:13px;color:var(--ink-soft);padding:22px 20px 4px;border-top:1px solid var(--line);margin-top:24px;}
.inquiry a{color:var(--link);font-weight:600;text-decoration:underline;}

/* 개인정보 동의 — 조회(service/) consent 컴포넌트와 동일 */
.hidden{display:none !important;}
.consent{margin:16px 0 14px;text-align:left;border:1px solid var(--field-line);border-radius:8px;}
.consent-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;}
.consent-chk{display:flex;gap:9px;align-items:center;font-size:14px;color:var(--ink);cursor:pointer;font-weight:600;}
.consent-chk input{flex:none;width:18px;height:18px;cursor:pointer;}
.consent-chk em{color:var(--danger);font-style:normal;font-weight:700;font-size:12px;}
.consent-toggle{background:none;border:none;cursor:pointer;padding:8px 8px;line-height:0;display:flex;align-items:center;}
.consent-toggle .chev{display:inline-block;width:8px;height:8px;border-right:2px solid #9aa3af;border-bottom:2px solid #9aa3af;transform:translateY(-2px) rotate(45deg);transition:transform .2s;}
.consent-toggle[aria-expanded="true"] .chev{transform:translateY(2px) rotate(-135deg);}
.consent-body{padding:2px 16px 14px;font-size:12px;color:var(--ink-soft);line-height:1.6;border-top:1px solid var(--line);}
.consent-body h5{margin:12px 0 2px;font-size:12.5px;color:var(--ink);}
.consent-body p{margin:8px 0 0;}
label.req::after{content:' *';color:var(--danger);font-weight:700;}
a{color:inherit;}
