/* ════════════════════════════════════════════════════════════
   UNITY - 통합 디자인 시스템 (태블릿 우선, PC/모바일 반응형)
   레퍼런스: matalks.kr 컨셉 + unity_works 톤 + orders.co.kr 모던
   ════════════════════════════════════════════════════════════ */
@import url("/static/css/nm-chips.css?v=20260901212945");

:root{
  --c-brand:#2b6cff;
  --c-brand-2:#7a4dff;
  --c-brand-dark:#1d4ed8;
  --c-brand-soft:#eaf0ff;

  --c-text:#0f172a;
  --c-text-2:#1f2937;
  --c-sub:#64748b;
  --c-muted:#94a3b8;

  --c-bg:#f4f6fb;
  --c-card:#ffffff;
  --c-line:#e2e8f0;
  --c-line-2:#cbd5e1;

  --c-ok:#16a34a;
  --c-warn:#f59e0b;
  --c-neg:#dc2626;

  --r-sm:8px;
  --r-md:12px;
  --r-lg:16px;
  --r-xl:20px;
  --r-pill:999px;

  --sh-1: 0 1px 2px rgba(15,23,42,.04);
  --sh-2: 0 8px 24px rgba(15,23,42,.06);
  --sh-3: 0 20px 40px rgba(15,23,42,.10);

  --font: "Pretendard","Apple SD Gothic Neo",-apple-system,BlinkMacSystemFont,system-ui,"Noto Sans KR",sans-serif;

  /* 컨테이너 폭 (태블릿 우선) */
  --shell-w: 980px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:var(--font);background:var(--c-bg);color:var(--c-text);font-size:16px;line-height:1.55;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{display:block;max-width:100%}

/* ═════════════════ Shell (모든 서브페이지 공용) ═════════════════ */
.nm-shell{min-height:100vh;display:flex;flex-direction:column;padding-bottom:84px}

/* 상단 헤더 */
.nm-hd{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--c-line);
}
.nm-hd-wrap{
  max-width:var(--shell-w);margin:0 auto;
  display:flex;align-items:center;gap:12px;
  padding:14px 22px;min-height:56px;
}
.nm-hd .back{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;color:var(--c-text-2);background:transparent;border:0;font-size:20px;
}
.nm-hd .back:hover{background:var(--c-bg)}
.nm-hd .ti{font-size:17px;font-weight:800;letter-spacing:-.3px}
.nm-hd .sub{font-size:12px;color:var(--c-sub);margin-left:6px}
.nm-hd .sp{flex:1}
.nm-hd .actions{display:flex;gap:6px;align-items:center}
.nm-hd .pill{background:#fff5d6;color:#7a5b00;border:1px solid #ffd54a;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}

/* 메인 컨텐츠 영역 */
.nm-main{
  max-width:var(--shell-w);width:100%;margin:0 auto;
  padding:20px 22px 40px;flex:1;
}

/* ═════════════════ 하단 탭바 (모든 서브페이지 공용) ═════════════════ */
.nm-tabs{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:#fff;border-top:1px solid var(--c-line);
  box-shadow:0 -2px 14px rgba(15,23,42,.05);
}
.nm-tabs-inner{
  max-width:var(--shell-w);width:100%;margin:0 auto;
  display:flex;justify-content:space-around;
  padding:6px 22px calc(6px + env(safe-area-inset-bottom));
  box-sizing:border-box;
}
.nm-tabs .tab{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  height:60px;color:var(--c-muted);font-size:12px;font-weight:600;
  text-decoration:none;border:0;background:transparent;cursor:pointer;
}
.nm-tabs .tab .ico{font-size:22px;line-height:1;display:block;margin-bottom:2px}
.nm-tabs .tab.on{color:var(--c-brand)}

/* ═════════════════ 카드 / 섹션 ═════════════════ */
.nm-card{
  background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-xl);
  padding:24px;box-shadow:var(--sh-1);margin:0 0 16px;
}
.nm-card.flat{box-shadow:none;border-color:var(--c-line)}
.nm-card .nm-card-head{display:flex;align-items:center;gap:8px;margin:0 0 14px}
.nm-card .nm-card-head h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.3px}
.nm-card .nm-card-head .sp{flex:1}
.nm-card .nm-card-desc{font-size:13px;color:var(--c-sub);margin:0 0 18px;line-height:1.6}

.nm-section{margin:24px 0 12px}
.nm-section-title{font-size:14px;font-weight:700;color:var(--c-sub);letter-spacing:.3px;margin:0 4px 10px}

/* ═════════════════ 폼 (한 줄에 한 객체) ═════════════════ */
.nm-form .fld{display:block;margin:0 0 18px}
.nm-form .fld:last-child{margin-bottom:0}
.nm-form label{display:block;font-size:14px;font-weight:700;color:var(--c-text-2);margin:8px 0 8px}
.nm-form label .req{color:var(--c-neg);margin-left:3px;font-weight:800}
.nm-form input[type=text],
.nm-form input[type=email],
.nm-form input[type=password],
.nm-form input[type=number],
.nm-form input[type=tel],
.nm-form input[type=date],
.nm-form input[type=search],
.nm-form textarea,
.nm-form select,
input.nm-input,
select.nm-input,
textarea.nm-input{
  width:100%;height:48px;padding:0 14px;
  border:1.5px solid var(--c-line);background:#fff;border-radius:var(--r-md);
  font-size:15px;font-family:inherit;color:var(--c-text);
  transition:border-color .12s ease, box-shadow .12s ease;
  -webkit-appearance:none;appearance:none;
}
.nm-form textarea, textarea.nm-input{height:auto;min-height:120px;padding:12px 14px;line-height:1.55;resize:vertical}
.nm-form input:focus, .nm-form select:focus, .nm-form textarea:focus,
input.nm-input:focus, select.nm-input:focus, textarea.nm-input:focus{
  outline:none;border-color:var(--c-brand);box-shadow:0 0 0 4px rgba(43,108,255,.12);
}
.nm-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'><path d='M1 1l6 6 6-6' stroke='%2364748b' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
}
.nm-form .tip{font-size:12px;color:var(--c-sub);margin-top:6px}

/* 우선순위 클릭 피커 (matalk hope_kmx_industry 패턴) */
.nm-priority{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#fafbff;border:1.5px dashed var(--c-line);border-radius:12px;min-height:60px}
.nm-priority-empty{font-size:13px;color:var(--c-muted);padding:8px;text-align:center;width:100%}
.nm-priority-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;
  border:1.5px solid var(--c-line);background:#fff;color:var(--c-text-2);
  font-size:13.5px;font-weight:600;cursor:pointer;
  transition:all .12s ease;user-select:none;
}
.nm-priority-chip:hover{border-color:var(--c-brand);color:var(--c-brand)}
.nm-priority-chip.on{
  background:var(--c-brand);
  color:#fff;border-color:transparent;
  box-shadow:0 4px 12px rgba(43,108,255,.25);
}
.nm-priority-chip .num{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.25);color:#fff;
  font-size:12px;font-weight:800;line-height:1;
}

/* .nm-sid — /static/css/nm-chips.css 에서 통합 관리. 페이지별 재정의 금지 */

/* ────── pill 입력 (체크박스/라디오/셀렉트 대체) ──────
   worker(unity_works) 의 .uw-check/.uw-radio 패턴 채택.
   native input 은 시각적으로 가리고 키보드 접근 + 폼 submit 보존.
   사용:
     <label class="nm-pill"><input type="radio" name="x" value="a"> 옵션A</label>
     <label class="nm-pill"><input type="checkbox" name="y[]" value="a"> 옵션A</label>
*/
.nm-pill-group{display:flex;flex-wrap:wrap;gap:8px}
.nm-pill-group.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.nm-pill-group.scroll::-webkit-scrollbar{height:6px}
.nm-pill-group.scroll::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:3px}

.nm-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 18px;border-radius:999px;
  border:1.5px solid var(--c-line);background:#fff;color:var(--c-text-2);
  font-size:14px;font-weight:600;cursor:pointer;user-select:none;
  min-height:40px;line-height:1;position:relative;flex-shrink:0;
  transition:background .12s, border-color .12s, color .12s, box-shadow .12s;
  font-family:inherit;
}
.nm-pill > input{
  position:absolute !important;inset:0;
  width:100% !important;height:100% !important;
  margin:0 !important;padding:0 !important;
  opacity:0;cursor:pointer;z-index:1;
  -webkit-appearance:none;appearance:none;
}
.nm-pill:hover{border-color:var(--c-brand);color:var(--c-brand)}
.nm-pill:has(> input:checked),
.nm-pill.checked{
  background:var(--c-brand);
  color:#fff;border-color:transparent;
  box-shadow:0 4px 12px rgba(43,108,255,.25);
}
.nm-pill:has(> input:checked) .sb,
.nm-pill.checked .sb{color:rgba(255,255,255,.85) !important}
.nm-pill:has(> input:disabled),
.nm-pill.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}

/* 사이즈 */
.nm-pill.sm{padding:6px 12px;font-size:12px;min-height:30px}
.nm-pill.lg{padding:12px 22px;font-size:15px;min-height:48px;border-radius:12px}

/* 컬러 변형 */
.nm-pill.ok:has(> input:checked),    .nm-pill.ok.checked   {background:var(--c-ok);color:#fff;border-color:transparent}
.nm-pill.warn:has(> input:checked),  .nm-pill.warn.checked {background:var(--c-warn);color:#fff;border-color:transparent}
.nm-pill.neg:has(> input:checked),   .nm-pill.neg.checked  {background:var(--c-neg);color:#fff;border-color:transparent}

/* 풀-너비 (한줄 균등 배분) */
.nm-pill-group.full{display:flex}
.nm-pill-group.full .nm-pill{flex:1;justify-content:center;border-radius:12px;min-width:0}

/* ── 검증 실패 필드 포커스 — 심박(pulse) 애니메이션 ──
   저장 시 미입력 항목으로 스크롤 후 해당 입력 객체를 가리키는 표시 (단색 shadow ring) */
@keyframes nm-err-pulse{
  0%  {box-shadow:0 0 0 0 rgba(220,38,38,.5)}
  60% {box-shadow:0 0 0 12px rgba(220,38,38,0)}
  100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}
}
.nm-err-focus{
  animation:nm-err-pulse 1s ease-out 4;
  border-radius:12px;
  /* outline(테두리)은 입력 객체에 달라붙어 보여 제거 — 심박 펄스만 표시 (2026-07 지시) */
}

/* 호환 (구버전 .nm-opt) */
.nm-opt{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;
  margin:0 4px 10px 0;
  border:1.5px solid var(--c-line);border-radius:var(--r-md);background:#fff;
  font-size:14px;font-weight:600;color:var(--c-text-2);cursor:pointer;
  transition:all .12s ease}
.nm-opt:hover{border-color:var(--c-brand-soft);background:#fafbff}
.nm-opt.on,.nm-opt:has(input:checked){border-color:var(--c-brand);background:var(--c-brand-soft);color:var(--c-brand-dark)}
.nm-opt input{accent-color:var(--c-brand)}

/* segmented control - worker pill 스타일 (가독성 우선) */
.nm-seg{display:flex;flex-wrap:wrap;gap:6px;background:transparent;padding:0}
.nm-seg.full{display:flex;width:100%}
.nm-seg button, .nm-seg .seg-btn{
  flex:0 0 auto;min-height:36px;padding:8px 16px;
  background:#fff;border:1.5px solid var(--c-line);color:var(--c-text);
  font-size:13.5px;font-weight:600;border-radius:20px;cursor:pointer;
  font-family:inherit;line-height:1;user-select:none;
  transition:background .12s, border-color .12s, color .12s, box-shadow .12s;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.nm-seg.full button, .nm-seg.full .seg-btn{flex:1;min-width:0}
.nm-seg button:hover, .nm-seg .seg-btn:hover{
  border-color:var(--c-brand);color:var(--c-brand);background:#fff;
}
.nm-seg button.on, .nm-seg .seg-btn.on{
  background:var(--c-brand);color:#fff;border-color:var(--c-brand);
}
.nm-seg.disabled .seg-btn{opacity:.5;cursor:not-allowed;pointer-events:none}
.nm-seg.disabled .seg-btn.on{opacity:1}

/* 컬러 변형 */
.nm-seg .seg-btn.ok.on   {background:var(--c-ok);  border-color:var(--c-ok)}
.nm-seg .seg-btn.warn.on {background:var(--c-warn);border-color:var(--c-warn)}
.nm-seg .seg-btn.neg.on  {background:var(--c-neg); border-color:var(--c-neg)}

/* 작은 사이즈 */
.nm-seg.sm .seg-btn{min-height:28px;padding:5px 12px;font-size:12px;border-radius:14px}
/* 큰 사이즈 */
.nm-seg.lg .seg-btn{min-height:44px;padding:10px 22px;font-size:15px;border-radius:24px}

/* ═════════════════ 버튼 ═════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 18px;border:1.5px solid var(--c-line);background:#fff;color:var(--c-text);
  font-weight:700;font-family:inherit;border-radius:var(--r-md);cursor:pointer;
  font-size:14px;transition:all .12s ease;
}
.btn:hover{background:var(--c-bg);transform:translateY(-1px);box-shadow:var(--sh-1)}
.btn:active{transform:translateY(0)}
.btn.sm{height:34px;padding:0 12px;font-size:13px;border-radius:10px}
.btn.lg{height:52px;padding:0 22px;font-size:15px;border-radius:14px}
.btn.xl{height:56px;padding:0 26px;font-size:16px;border-radius:14px}
.btn.full{width:100%}
.btn.pri{background:var(--c-brand);color:#fff;border:none}
.btn.pri:hover{box-shadow:0 10px 22px rgba(43,108,255,.28)}
.btn.gh{background:transparent;border-color:transparent;color:var(--c-text-2)}
.btn.gh:hover{background:var(--c-bg)}
.btn.neg{color:var(--c-neg);border-color:#fdd}
.btn.neg:hover{background:#fff5f5}
/* 비활성(disabled) 버튼 — 공통.
   .btn 에 disabled 표현이 없어서, 눌리지 않는 버튼이 활성 버튼과 똑같이 보였다
   (마일리지 충전에서 상품 미선택인데 [결제하기] 가 활성처럼 보임 — 2026-08-24 지시).
   hover 효과(그림자/떠오름)까지 확실히 죽인다. */
.btn:disabled,
.btn[disabled]{
  opacity:.42;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}
.btn:disabled:hover,
.btn[disabled]:hover,
.btn.pri:disabled:hover,
.btn.pri[disabled]:hover{
  box-shadow:none;
  transform:none;
  filter:none;
}
.btn.outline{background:transparent;border-color:#fff;color:#fff}
.btn.outline:hover{background:rgba(255,255,255,.1)}

/* tag / pill / badge */
.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700;background:var(--c-brand-soft);color:var(--c-brand-dark)}
.tag.neg{background:#fee2e2;color:#991b1b}
.tag.warn{background:#fef3c7;color:#92400e}
.tag.ok{background:#dcfce7;color:#166534}

/* ═════════════════ 리스트 / row item ═════════════════ */
.nm-list{display:flex;flex-direction:column;gap:10px}
.nm-list .row{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:16px 18px;
  display:flex;align-items:center;gap:14px;transition:transform .12s ease, box-shadow .12s ease;
}
.nm-list .row:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}
.nm-list .row .av{width:46px;height:46px;border-radius:50%;background:var(--c-bg);display:flex;align-items:center;justify-content:center;color:var(--c-sub);font-weight:800;font-size:18px;flex-shrink:0}
.nm-list .row .nm{font-weight:700;font-size:15px;color:var(--c-text)}
.nm-list .row .sb{font-size:13px;color:var(--c-sub);margin-top:2px}
.nm-list .row .sp{flex:1;min-width:0}
.nm-list .empty{padding:40px 20px;text-align:center;color:var(--c-muted);background:#fff;border:1.5px dashed var(--c-line);border-radius:var(--r-lg)}

/* ═════════════════ Toast ═════════════════ */
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:12px 18px;border-radius:12px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s,bottom .2s;z-index:60;box-shadow:var(--sh-3)}
.toast.on{opacity:.96;bottom:106px}

/* ═════════════════ Talk bubbles ═════════════════ */
.bub{max-width:78%;padding:11px 14px;border-radius:14px;margin:6px 0;line-height:1.5;word-break:break-word;font-size:15px}
.bub.me{background:var(--c-brand);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.bub.you{background:#fff;border:1px solid var(--c-line);border-bottom-left-radius:4px}
.bub.sys{background:transparent;color:var(--c-sub);text-align:center;font-size:12px;margin:14px auto;max-width:90%}
.bub .tm{display:block;font-size:12px;opacity:.7;margin-top:4px}

/* ═════════════════ Category picker 호환 (별도 css 도 로드됨) ═════════════════ */
.cate-fld .cate-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fld .req{color:var(--c-neg);margin-left:3px}

/* ═════════════════ biz_no — 사업자등록번호 3-2-5 분할 + 중복확인 ═════════════════ */
/* .nm-form input[type=text] 의 width:100% 를 덮어쓰기 위해 특이성 올림 */
.biz-fld .biz-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nm-form .biz-fld .biz-cell,
.biz-fld input.biz-cell{
  width:80px !important;
  height:44px;padding:0 10px;text-align:center;
  border:1.5px solid #d4d8e1;background:#fff;
  border-radius:8px;font-size:16px;font-weight:700;color:#1f3b88;
  font-family:'SF Mono','Menlo',monospace;letter-spacing:1px;
  flex:0 0 auto;
}
.nm-form .biz-fld .biz-cell.biz-3,
.biz-fld input.biz-cell.biz-3{width:90px !important}
.nm-form .biz-fld .biz-cell.biz-2,
.biz-fld input.biz-cell.biz-2{width:70px !important}
.nm-form .biz-fld .biz-cell.biz-5,
.biz-fld input.biz-cell.biz-5{width:120px !important}
.nm-form .biz-fld .biz-cell:focus,
.biz-fld input.biz-cell:focus{
  outline:none;border-color:#2b6cff;
  box-shadow:0 0 0 3px rgba(43,108,255,.12);
}
.biz-fld .biz-dash{
  color:#9aa6b8;font-weight:700;font-size:18px;
  display:inline-flex;align-items:center;flex:0 0 auto;
}
.biz-fld .biz-chkbtn{
  margin-left:6px;         /* 입력칸 바로 옆에 붙임 */
  display:inline-flex;align-items:center;justify-content:center;
  height:44px;padding:0 18px;flex:0 0 auto;
  border:1.5px solid #2b6cff;background:#2b6cff;color:#fff;
  border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;
  transition:background .12s ease;
  white-space:nowrap;
}
.biz-fld .biz-chkbtn:hover{background:#1d5be0}
.biz-fld .biz-chkbtn:disabled{opacity:.55;cursor:wait}

@media (max-width: 520px){
  /* 좁은 화면에서는 버튼을 다음 줄에 풀폭으로 */
  .biz-fld .biz-chkbtn{
    margin-left:0;width:100%;margin-top:8px;
  }
}
.biz-fld .biz-msg{
  margin-top:6px;font-size:13px;color:#48516a;min-height:20px;line-height:1.5;font-weight:500;
}
.biz-fld .biz-msg.ok{color:#16a34a;font-weight:700}
.biz-fld .biz-msg.err{color:#dc2626;font-weight:700}

/* ═════════════════ recon — 회생기업 상황 패널 ═════════════════ */
.recon-fld .recon-tbl{
  background:#fff8e8;border:1.5px solid #ffd54a;border-radius:10px;
  overflow:hidden;
}
.recon-fld .recon-row{
  display:flex;align-items:stretch;gap:0;
  border-bottom:1px solid #ffe7a8;
}
.recon-fld .recon-row:last-child{border-bottom:0}
.recon-fld .recon-h{
  flex:0 0 140px;padding:12px 14px;
  background:#ffe7a8;color:#7a5b00;
  font-size:13px;font-weight:700;
  display:flex;align-items:center;
}
.recon-fld .recon-fields{
  flex:1;padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.recon-fld .recon-date{
  height:38px;padding:0 10px;border:1px solid #d4a847;
  background:#fff;border-radius:8px;font-size:13px;color:#2a2f37;
  font-family:'SF Mono','Menlo',monospace;
}
.recon-fld .recon-sep{font-size:13px;color:#7a5b00;font-weight:600;padding:0 4px}
.recon-fld .recon-desc{
  width:100%;min-height:42px;padding:8px 12px;
  border:1px solid #d4a847;background:#fff;border-radius:8px;
  font-size:13px;color:#2a2f37;resize:vertical;font-family:inherit;
}
.recon-fld .recon-date:focus,
.recon-fld .recon-desc:focus{
  outline:none;border-color:#b45309;
  box-shadow:0 0 0 3px rgba(212,168,71,.2);
}

@media (max-width: 700px){
  .recon-fld .recon-row{flex-direction:column}
  .recon-fld .recon-h{flex:1 1 auto}
}

/* ═════════════════ 반응형 ═════════════════ */
/* PC 모드에서 컨텐츠 영역(.nm-main) 과 동일한 --shell-w 변수를 헤더(.nm-hd-wrap)·
   탭바(.nm-tabs-inner) 가 함께 사용한다. 좌우 여백이 과도하게 남아 헤더/탭바가
   좁아 보이는 문제를 해소하기 위해 단계별로 컨테이너 폭을 확대. */
@media (min-width: 1200px){ :root{ --shell-w: 1200px; } }
@media (min-width: 1440px){ :root{ --shell-w: 1320px; } }
@media (min-width: 1680px){ :root{ --shell-w: 1440px; } }
@media (max-width: 767px){
  :root{ --shell-w: 100%; }
  .nm-hd-wrap{padding:12px 16px}
  .nm-main{padding:16px 16px 40px}
  .nm-card{padding:18px;border-radius:16px}
  .nm-form input,.nm-form select,.nm-form textarea,
  input.nm-input,select.nm-input,textarea.nm-input{height:46px;font-size:15px}
  .btn.lg{height:48px;font-size:14px}
  .btn.xl{height:52px;font-size:15px}
  .nm-list .row{padding:14px}
  .nm-list .row .av{width:40px;height:40px;font-size:16px}
}

/* ═════════════════ 등록 후 진행방식 카드 — F-4.6.3 ═════════════════ */
.nm-brk-choice{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:18px}
.nm-brk-choice .nm-brk-h{font-size:15px;font-weight:800;color:#1f3b88;margin:0 0 12px}
.nm-brk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nm-brk-card{
  background:#fafbfd;border:2px solid #e6e8ee;border-radius:12px;
  padding:14px 12px;cursor:pointer;text-align:center;transition:all .15s;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font-family:inherit;color:inherit;
}
.nm-brk-card:hover{background:#fff;border-color:#cfdcff}
.nm-brk-card.on{background:#eef2ff;border-color:#2b6cff;box-shadow:0 4px 12px rgba(43,108,255,.12)}
.nm-brk-card .ic{font-size:24px;line-height:1}
.nm-brk-card .ti{font-size:14px;font-weight:800;color:#1f3b88}
.nm-brk-card.on .ti{color:#2b6cff}
.nm-brk-card .ds{font-size:13px;color:var(--c-sub);line-height:1.45}
@media (max-width: 700px){
  .nm-brk-grid{grid-template-columns:1fr}
}

/* ═════════════════ 폼 그룹 (.fgrp) — 매도/매수/전문가 등록 섹션 ═════════════════ */
/* 사용자 요구: "구분이 잘 보이게 / 가독성있게" — 디자인을 통째로 바꾸지 말고
   그룹 헤더만 부각 (글자 크게 + 굵게 + 옅은 하단 라인). 박스/그라데이션/브랜드바 없음. */
.fgrp{margin:0 0 22px}
.fgrp + .fgrp{margin-top:14px}
.fgrp-h{
  margin:0 0 14px; padding:0 0 8px;
  font-size:15px; font-weight:800; color:#1f3b88;
  border-bottom:1px solid #e6e8ee; letter-spacing:-.2px;
}
.fgrp-d{font-size:13px; color:var(--c-sub); line-height:1.55; margin:0 0 12px}

/* 폼 소제목(subhead) — 작성자 신분 분기(임직원 정보 / 대리인 정보) 등 구역 타이틀.
   입력항이 아니라 타이틀만 렌더하며, 바로 아래 입력항들이 이 타이틀에 속한다. */
.fld-subhead{margin:4px 0 2px}
.fld-subhead .fld-subhead-t{
  font-size:14px; font-weight:800; color:#1f3b88; letter-spacing:-.2px;
  padding:0 0 6px; border-bottom:1px dashed #d8dce6;
}
.fld-subhead .fld-subhead-d{font-size:12px; color:var(--c-sub); line-height:1.5; margin:6px 0 0}

/* ═════════════════ 폼 입력객체 폭 제한 (100% 일률 폭 금지) ═════════════════ */
/* 짧은 입력 — type 기반 기본 폭 제한 */
.nm-form input[type=number],
.nm-form input[data-size="xs"],
.nm-form input.nm-input-xs{
  max-width:140px;
}
.nm-form input[type=tel],
.nm-form input[type=date],
.nm-form input[data-size="sm"],
.nm-form input.nm-input-sm,
.nm-form select[data-size="sm"]{
  max-width:200px;
}
.nm-form input[data-size="md"],
.nm-form input.nm-input-md,
.nm-form select[data-size="md"]{
  max-width:320px;
}
.nm-form input[data-size="lg"],
.nm-form input.nm-input-lg{
  max-width:480px;
}
/* % / 비율 필드 */
.nm-form input[data-unit="percent"],
.nm-form input.nm-input-percent{
  max-width:120px;
}
/* 금액 (단위 만원/원) — 좌측 정렬 */
.nm-form input[data-unit="money"],
.nm-form input.nm-input-money{
  max-width:220px; text-align:right;
}
/* 연도 */
.nm-form input[data-unit="year"]{ max-width:120px }
/* 사람수 */
.nm-form input[data-unit="count"]{ max-width:140px }
/* 면적/길이 */
.nm-form input[data-unit="area"]{ max-width:180px }
/* 이름·상호 — 텍스트지만 짧게 */
.nm-form input[data-size="name"]{ max-width:280px }
/* select 도 기본 폭 제한 */
.nm-form select{ max-width:320px }

/* 단위 라벨 (입력 옆 인라인) */
.nm-form .fld-unit{
  display:inline-flex; align-items:center; gap:8px;
}
.nm-form .fld-unit input{ flex:0 0 auto }
.nm-form .fld-unit .unit-tag{
  font-size:13px; color:var(--c-sub); font-weight:600;
  background:#f3f5fa; padding:6px 10px; border-radius:6px;
  white-space:nowrap;
}
/* 인라인 필드 한 줄에 여러 개 */
.nm-form .fld-inline{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}

/* ═════════════════ 매출/재무 그리드 (연도 × 항목) — div 기반 (table 금지) ═════════════════ */
.nm-fin-wrap{
  border:1px solid var(--c-line); border-radius:8px; overflow:hidden;
  display:flex; flex-direction:column; background:#fff;
}
.nm-fin-grid{
  display:grid; font-size:14px;
  background:var(--c-line);  /* grid gap 색 = 보더 */
  gap:1px;
}
.nm-fin-grid > div{background:#fff; padding:8px 10px; min-width:0}
.nm-fin-grid .nm-fin-h{
  background:#fafbfd; font-weight:800; color:#1f3b88;
  font-size:13px; text-align:center; padding:10px 10px;
}
.nm-fin-grid .nm-fin-h:first-child{
  background:#fafbfd; color:#48516a;
}
.nm-fin-grid .nm-fin-y{
  background:#fafbfd; font-weight:700; color:#48516a;
  text-align:center; padding:10px 10px;
  display:flex; align-items:center; justify-content:center;
}
.nm-fin-grid .nm-fin-c{padding:5px 6px; display:flex; align-items:center}
.nm-fin-grid .nm-fin-c input{
  width:100%; height:32px; padding:0 8px;
  border:1px solid var(--c-line); border-radius:5px;
  font-size:13px; text-align:right; font-family:inherit;
  background:#fff;
}
.nm-fin-grid .nm-fin-c input:focus{outline:none; border-color:var(--c-brand); box-shadow:0 0 0 2px rgba(43,108,255,.12)}
/* 헤더 — 항목명 + 단위 ("총자산 (억원)") 한 줄. mobile 은 줄바꿈 허용. */
.nm-fin-grid .nm-fin-h{
  display:flex; align-items:baseline; justify-content:center;
  flex-wrap:wrap; gap:3px;
}
.nm-fin-grid .nm-fin-h .nm-fin-h-nm{font-weight:800; color:#1f3b88}
.nm-fin-grid .nm-fin-h .nm-fin-h-unit{
  font-size:12px; font-weight:700; color:#48516a;
  letter-spacing:-.2px; white-space:nowrap;
}
.nm-fin-wrap .add-row{
  background:#eef2ff; color:#1f3b88; border:0; border-top:1px solid var(--c-line);
  padding:9px 14px; font-weight:700; font-size:13px;
  cursor:pointer; font-family:inherit; text-align:center;
}
.nm-fin-wrap .add-row:hover{background:#dde6ff}

/* ═════════════════ 전문가 목록 — 사각 cell + 사진 + [자문의뢰하기] ═════════════════ */
.partner-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:14px; margin-top:14px;
}
.p-cell{
  background:#fff; border:1px solid var(--c-line); border-radius:14px; overflow:hidden;
  display:flex; flex-direction:column; cursor:pointer; transition:all .15s;
}
.p-cell:hover{
  border-color:#cfdcff; transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(15,20,35,.08);
}
.p-photo{
  position:relative; padding-top:100%; background:#eef2f7 center/cover no-repeat;
  display:flex; align-items:center; justify-content:center;
}
.p-photo-ph{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:#eef2ff;
}
/* F-6.80: 인물 SVG placeholder — 카드 안에서 적당히 크기 */
.p-photo-ph svg{width:38%; height:auto; max-width:88px}
/* (deprecated) .p-sid — 통합 .nm-sid 로 대체. position 만 .p-sid-pos 로 분리 유지 */
.p-sid-pos{position:absolute; left:10px; top:10px; z-index:1;
  background:rgba(255,255,255,.92); backdrop-filter:blur(2px);
}
.p-body{padding:12px 14px; display:flex; flex-direction:column; gap:5px}
.p-nm{font-size:15px; font-weight:800; color:#1a1f2c}
.p-sub{font-size:13px; color:#48516a; font-weight:600}
.p-meta{display:flex; flex-wrap:wrap; gap:6px; font-size:13px; color:#94a3b8; margin:2px 0}
.p-focus{font-size:13px; color:#1f3b88;
  background:#eef2ff; padding:5px 9px; border-radius:6px;
  max-width:100%; line-height:1.5;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.p-focus b{margin-right:6px; color:#1d3a8a; font-weight:800}
/* F-6.79: 자격증 — 분야와 다른 톤(주황) 으로 구분 */
.p-license{font-size:13px; color:#9a3412;
  background:#fff7ed; padding:5px 9px; border-radius:6px;
  max-width:100%; line-height:1.5;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.p-license b{margin-right:6px; color:#7c2d12; font-weight:800}
.p-seat{display:inline-block; margin-left:6px; font-size:12px; font-weight:700;
  color:#48516a; background:#eef1f6; padding:1px 6px; border-radius:4px;
  vertical-align:middle;
}
.p-cta{
  margin-top:8px; padding:8px 10px;
  background:#2b6cff; color:#fff; border:0;
  border-radius:8px; font-size:13px; font-weight:800; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; justify-content:center; gap:4px;
}
.p-cta:hover{background:#1f3b88}
@media (max-width:480px){
  .partner-grid{grid-template-columns:repeat(2, 1fr); gap:10px}
  .p-body{padding:10px}
  .p-nm{font-size:14px}
}
