/* =====================================================================
   src3/c/portal.css — 자문 포털(/c/<이름표>) 첫 화면 · 한 묶음 머리의 꼴   2026-10-19
   c/page.css 에서 떼어 옴(규칙 · 차례 그대로 · 결정 735) — 읽는 곳 둘: 고객사 담당자의 한 장(c/index.html · page.css 뒤 · view.css 앞) ·
   법인 화면의 「고객 화면 미리 보기」(index.html · clientsend.js `clPpOpen` · 같은 차례). 그리는 함수는 c/page.js `pageHtml` · `rowViewHtml` 하나.
   전부 `.cv-` 로 시작하는 이름만(앱의 styles.css 와 겹치지 않게 · 바탕 · 글꼴 같은 온 화면 규칙은 page.css 에).
   ===================================================================== */
.cv-plogo{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:#1f3a5f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;overflow:hidden}
.cv-plogo img{width:100%;height:100%;object-fit:contain;background:#fff}
.cv-back{display:inline-block;margin:0 0 18px;font-size:14px;text-decoration:none}

.cv-page{word-break:keep-all}                                   /* 휴대폰에서 낱말 중간 줄바꿈 막기 */
.cv-k{flex:none;display:inline-flex;align-items:center;height:21px;padding:0 7px;border-radius:5px;background:rgba(0,0,0,.06);color:rgba(0,0,0,.72);font-size:12.5px;font-weight:600;white-space:nowrap;line-height:1}
.cv-new{flex:none;display:inline-flex;align-items:center;height:21px;padding:0 8px;border-radius:999px;background:#0070d2;color:#fff;font-size:12.5px;font-weight:700;line-height:1}
.cv-chev{font-style:normal;color:rgba(0,0,0,.45);text-align:center;font-size:18px;line-height:1}
.cv-mail{color:inherit;overflow-wrap:anywhere}

/* 머리 — 왼쪽 법인(로고 · 이름) · 「가나상사 자문 포털」 / 오른쪽 담당 한 줄 · 그 아래 「○○님 · 나가기」 */
.cv-ph{display:flex;align-items:flex-start;gap:24px;padding-bottom:22px;border-bottom:1px solid rgba(0,0,0,.08)}
.cv-hl{flex:1 1 auto;min-width:0}
.cv-fb{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14.5px}
.cv-fb b{font-weight:700}
.cv-ph .cv-pco{margin:0;font-size:28px;line-height:1.3;font-weight:800;overflow-wrap:anywhere}
.cv-ph .cv-pco b{display:inline;font-size:inherit;font-weight:inherit}
.cv-pwho{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:14px;color:rgba(0,0,0,.56)}
.cv-pwr{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(0,0,0,.56)}
.cv-pwr .cv-link{font-size:14px}
.cv-advl{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0 8px;font-size:14px;color:rgba(0,0,0,.72)}
.cv-advl b{font-weight:600;color:rgba(0,0,0,.88)}
.cv-advl i{font-style:normal;color:rgba(0,0,0,.3)}
.cv-note{display:flex;gap:12px;align-items:flex-start;background:#f5f5f3;border-radius:10px;padding:10px 16px;margin:16px 0 4px;font-size:14.5px;line-height:1.7}
.cv-note span{flex:0 0 auto;font-size:13px;color:rgba(0,0,0,.56);font-weight:600;padding-top:1px}
.cv-note p{margin:0;min-width:0;overflow-wrap:anywhere}

/* 한 기둥 — 덩이 = 카드 하나(머리 = 제목 + 건수 · 오른쪽 찾기 칸) + 줄 + 비었을 때 한 줄 */
.cv-stack{display:flex;flex-direction:column;gap:20px;margin-top:22px}
.cv-list{border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;background:#fff}
.cv-lh{display:flex;align-items:center;gap:8px;min-height:56px;padding:12px 18px}
.cv-lh h2{margin:0;font-size:16.5px;line-height:1.4}
.cv-n{font-size:12.5px;line-height:1;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.05);color:rgba(0,0,0,.56);font-weight:600}
.cv-none{margin:8px 0;font-size:14px;color:rgba(0,0,0,.56)}
.cv-list .cv-none{margin:0;padding:2px 20px 18px;font-size:14.5px}
.cv-tools{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}
.cv-tools input{flex:none;width:240px;min-width:0;height:32px;padding:0 12px;border:1px solid rgba(0,0,0,.14);border-radius:10px;font:inherit;font-size:14px}
.cv-more{display:block;width:100%;margin:0;padding:12px 20px;border:0;border-top:1px solid rgba(0,0,0,.08);background:none;text-align:left;font-size:14px;font-weight:500;color:#0070d2}

/* 줄 — [새] 제목 / 첫 문장 한 줄 | 날짜 · 칩 | › */
.cv-ar{display:grid;grid-template-columns:minmax(0,1fr) 104px 16px;gap:20px;align-items:center;width:100%;min-height:72px;padding:13px 20px;border:0;border-top:1px solid rgba(0,0,0,.08);background:none;font-size:14.5px;text-align:left;color:rgba(0,0,0,.88);cursor:pointer}
.cv-ar:hover{background:rgba(0,0,0,.03)}
.cv-ar .m{display:flex;flex-direction:column;gap:3px;min-width:0}
.cv-ar .t{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:600}
.cv-ar .t > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-ar:hover .t > span{text-decoration:underline}
.cv-ar .pv{font-size:14px;color:rgba(0,0,0,.56);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-ar .d{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:14px;color:rgba(0,0,0,.56);white-space:nowrap}
/* 「새 답변」 덩이 — 같은 줄 부품 · 줄 제목만 17px */
.cv-list.big .cv-ar{min-height:84px}
.cv-list.big .cv-ar .t{font-size:17px}
/* 급여 준비 — 진행 중 덩이 바로 아래 작은 줄 하나(상자 없음 · 결정 487) */
.cv-payl{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:-10px 0 0;padding:0 4px;font-size:14px;color:rgba(0,0,0,.72)}
.cv-payl b{font-weight:600;color:rgba(0,0,0,.88)}
.cv-payl > i{font-style:normal;color:rgba(0,0,0,.3)}
.cv-payl .cv-payd{flex-basis:100%;color:rgba(0,0,0,.56);font-size:13.5px}
.cv-got{font-style:normal;font-size:12.5px;color:#257c53}
/* 월 가름 선 — 완료된 답변이 두 달 이상에 걸칠 때만 */
.cv-mo{padding:8px 20px;border-top:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.03);font-size:12.5px;font-weight:600;color:rgba(0,0,0,.56)}

/* 문서 — 맨 아래 작게(상자 없이 줄과 선만) · 이름 · 종류 / 등록한 날 · 크기 | 내려받기 */
.cv-list.sm{border:0;border-radius:0;background:none;overflow:visible}
.cv-list.sm .cv-lh{min-height:0;padding:0 2px 4px}
.cv-list.sm .cv-lh h2{font-size:14.5px;color:rgba(0,0,0,.56)}
.cv-list.sm .cv-none{padding:2px 2px 0}
.cv-fr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:center;min-height:52px;padding:10px 2px;border-top:1px solid rgba(0,0,0,.08)}
.cv-fr .m{display:flex;flex-direction:column;gap:3px;min-width:0}
.cv-fr .t{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-size:14.5px;font-weight:500}
.cv-fr .t > span:first-child{min-width:0;overflow-wrap:anywhere}
.cv-fr .t .cv-k{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:21px}   /* 긴 종류 이름은 「…」 */
.cv-fr .s{font-size:14px;color:rgba(0,0,0,.56)}
.cv-dl{flex:0 0 auto;height:32px;padding:0 14px;border:0;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);background:#fff;font-size:13.5px;font-weight:500;color:rgba(0,0,0,.88)}
.cv-dl i{font-style:normal}
.cv-dl[disabled]{opacity:.6}
.cv-pfoot{margin-top:26px}

/* 휴대폰(760 이하) — 한 기둥 그대로 · 담당 한 줄이 제목 아래로 · 줄은 제목 / 첫 문장 / 날짜 + 칩 세 층 */
@media (max-width:760px){
  .cv-ph{flex-direction:column;gap:14px}
  .cv-fb{margin-bottom:10px}
  .cv-ph .cv-pco{font-size:23px}
  .cv-pwho{margin-left:0;width:100%;align-items:stretch;gap:10px}
  .cv-advl{justify-content:flex-start}
  .cv-pwr{justify-content:flex-start}
  .cv-note{flex-direction:column;gap:2px}
  .cv-stack{gap:16px;margin-top:18px}
  .cv-lh{flex-wrap:wrap;padding:12px 16px}
  .cv-tools{flex:1 1 auto;justify-content:flex-end;min-width:0}       /* 찾기 칸이 줄을 꺾어 한 줄을 다 쓴다 */
  .cv-tools input{flex:1 1 auto;width:auto}
  .cv-list .cv-none{padding:2px 16px 16px}
  .cv-more{padding:12px 16px}
  .cv-ar{grid-template-columns:minmax(0,1fr) 16px;gap:6px 10px;padding:14px 16px}
  .cv-ar .t > span{white-space:normal;overflow-wrap:anywhere}
  .cv-ar .pv{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .cv-ar .d{grid-column:1;grid-row:2;flex-direction:row;align-items:center;gap:8px}
  .cv-ar .cv-chev{grid-column:2;grid-row:1 / 3}
  .cv-list.big .cv-ar{min-height:0}
  .cv-mo{padding:8px 16px}
  .cv-dl{height:36px}
}
