/* 효반365 계산기 / 문의 관리 스타일 */
:root { --hb-main:#947050; --hb-dark:#5E4630; --hb-ink:#33291F; --hb-line:#E5E1DA; --hb-soft:#F3F0EB; --hb-bg:#FAF9F7; }
html, body { font-family: "Pretendard Variable","Pretendard","Noto Sans KR",sans-serif; }
.hbc-wrap { max-width:920px; margin:0 auto; padding:56px 40px 80px; width:100%; box-sizing:border-box; }
.hbc-wrap *, .hbc-report *, .hbc-admin *, .hbc-login *, .hbc-print * { box-sizing:border-box; }
.hbc-group { font-size:11px; letter-spacing:2px; font-weight:700; color:#9A948B; margin:40px 0 16px; padding-top:24px; border-top:1px solid var(--hb-line); }
.hbc-wrap > .hbc-group:first-child { border-top:none; padding-top:0; margin-top:0; }
.hbc-field { margin-bottom:22px; }
.hbc-row2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.hbc-row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
.hbc-field label { display:block; font-size:12.5px; font-weight:700; color:#4A433B; margin-bottom:6px; }
.hbc-field label em { color:#C0392B; font-style:normal; }
.hbc-note { font-size:11px; color:#9A948B; margin-top:5px; line-height:1.55; }
.hbc-field input[type=number], .hbc-field input[type=text], .hbc-field input[type=tel], .hbc-field input[type=email], .hbc-field textarea,
.hbc-login input, .hbc-filter input, .hbc-filter select, .hbc-memo textarea, .hbc-toolbar select {
  width:100%; font-size:15px; font-family:inherit; color:var(--hb-ink); border:1px solid #D8D3CB; border-radius:8px; padding:11px 13px; background:#fff; }
.hbc-field input:focus, .hbc-field textarea:focus, .hbc-login input:focus { outline:none; border-color:var(--hb-main); }
.hbc-field textarea { resize:vertical; min-height:96px; line-height:1.6; }
.hbc-btn { display:inline-block; background:var(--hb-main); color:#FBFAF8; border:1px solid var(--hb-main); border-radius:100px; padding:11px 24px; font-size:13px; font-weight:700; cursor:pointer; text-decoration:none; font-family:inherit; line-height:1.3; }
.hbc-btn:hover { background:var(--hb-dark); border-color:var(--hb-dark); }
.hbc-btn-lg { padding:14px 32px; font-size:13.5px; margin-top:8px; }
.hbc-btn-line { background:#fff; color:var(--hb-dark); border-color:#D8D3CB; }
.hbc-btn-line:hover { background:var(--hb-soft); color:var(--hb-dark); border-color:var(--hb-main); }
.hbc-btn-sm { padding:6px 14px; font-size:12px; }
.hbc-editable { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.hbc-editable-value { font-size:19px; font-weight:700; color:var(--hb-ink); }
.hbc-edit-btn { background:transparent; border:1px solid #D8D3CB; border-radius:100px; padding:5px 14px; font-size:11px; font-weight:700; color:#4A433B; cursor:pointer; font-family:inherit; }
.hbc-edit-btn:hover { border-color:var(--hb-main); color:var(--hb-main); }
.hbc-edit-wrap { display:flex; align-items:center; gap:8px; }
.hbc-edit-wrap input { width:140px !important; }
.hbc-confirm-btn { background:var(--hb-main); color:#FBFAF8; border:none; border-radius:100px; padding:8px 16px; font-size:11.5px; font-weight:700; cursor:pointer; font-family:inherit; }
.hbc-result { margin-top:36px; }
.hbc-actions { margin-top:18px; }

/* 결과 */
.hbc-staff-card { background:var(--hb-soft); border-radius:12px; padding:22px 26px; margin-top:32px; }
.hbc-staff-title { font-size:11px; letter-spacing:1.5px; font-weight:700; color:var(--hb-main); margin-bottom:14px; }
.hbc-staff-row { display:grid; grid-template-columns:1fr auto; gap:12px; padding:9px 0; border-bottom:1px dashed #D8D3CB; font-size:12.5px; color:#4A433B; }
.hbc-staff-row:last-child { border-bottom:none; }
.hbc-staff-row b { color:var(--hb-ink); }
.hbc-tag-warn { display:inline-block; background:#FAEEDA; color:#633806; font-size:10.5px; font-weight:700; border-radius:4px; padding:2px 8px; margin-left:8px; }
.hbc-sub-block { margin-top:18px; }
.hbc-sub-block-title { font-size:11.5px; font-weight:700; color:#4A433B; margin-bottom:10px; }
.hbc-sub-line { display:grid; grid-template-columns:1fr auto; gap:12px; padding:6px 0; font-size:12px; color:#6B6660; }
.hbc-sub-line.hbc-total { border-top:1px solid var(--hb-line); margin-top:4px; padding-top:8px; font-weight:700; color:var(--hb-ink); }
.hbc-result-card { background:linear-gradient(120deg,#33291F 0%,#5E4630 60%,#947050 100%); border-radius:16px; padding:34px 36px; color:#FBFAF8; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.hbc-result-label { font-size:11px; letter-spacing:2px; color:#E9C9A0; margin-bottom:8px; }
.hbc-result-num { font-size:38px; font-weight:700; letter-spacing:-0.5px; }
.hbc-stat-row { display:flex; border-top:1px solid rgba(255,255,255,0.18); margin-top:24px; padding-top:20px; flex-wrap:wrap; }
.hbc-stat { flex:1; min-width:140px; margin-bottom:8px; }
.hbc-stat + .hbc-stat { border-left:1px solid rgba(255,255,255,0.18); padding-left:22px; margin-left:22px; }
.hbc-stat-num { font-size:19px; font-weight:700; }
.hbc-stat-label { font-size:11px; color:#D9CCBB; margin-top:4px; }
.hbc-breakdown { margin-top:24px; }
.hbc-compare-row { display:grid; grid-template-columns:190px 1fr 150px; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--hb-line); font-size:12.5px; }
.hbc-compare-row.hbc-total { border-top:1.5px solid var(--hb-ink); border-bottom:none; padding-top:16px; font-weight:700; font-size:13.5px; }
.hbc-compare-row.hbc-sub { color:#6B6660; }
.hbc-bar-track { background:var(--hb-line); border-radius:6px; height:9px; overflow:hidden; }
.hbc-bar-fill { height:100%; border-radius:6px; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.hbc-disclaimer { font-size:11px; color:#9A948B; line-height:1.85; margin-top:30px; padding-top:20px; border-top:1px solid var(--hb-line); }

/* 문의 */
.hbc-inq { margin-top:56px; border:1px solid var(--hb-line); border-radius:18px; padding:36px; background:#fff; }
.hbc-inq-title { font-size:22px; font-weight:700; color:var(--hb-ink); margin:0 0 8px; }
.hbc-inq-desc { font-size:13.5px; color:#6B6660; line-height:1.8; margin:0 0 24px; }
.hbc-consent { display:flex; gap:10px; align-items:flex-start; font-size:12px; color:#6B6660; line-height:1.7; margin:6px 0 10px; cursor:pointer; }
.hbc-consent input { margin-top:4px; flex:0 0 auto; }
.hbc-err { color:#B03A2E; font-size:13px; min-height:20px; margin:6px 0; }
.hbc-ok { color:#256A3B; font-size:13px; }
.hbc-muted { color:#9A948B; font-size:13px; }

/* 입력조건 표 · 보고서 */
.hbc-intable { width:100%; border-collapse:collapse; font-size:12.5px; }
.hbc-intable th { text-align:left; background:var(--hb-soft); color:var(--hb-main); font-size:11px; letter-spacing:1px; padding:8px 12px; }
.hbc-intable td { padding:8px 12px; border-bottom:1px solid var(--hb-line); color:#4A433B; }
.hbc-r { text-align:right; }
.hbc-report-body, .hbc-admin-body { margin:0; background:#F3F0EB; color:#2B2B2B; font-family:"Pretendard Variable","Pretendard","Noto Sans KR",sans-serif; -webkit-font-smoothing:antialiased; }
.hbc-toolbar { display:flex; align-items:center; gap:10px; max-width:860px; margin:0 auto; padding:16px 20px; position:sticky; top:0; z-index:50; background:#F3F0EB; box-shadow:0 0 0 100vmax #F3F0EB; clip-path:inset(0 -100vmax); }
.hbc-tb-link { color:var(--hb-dark); font-weight:700; font-size:13px; text-decoration:none; }
.hbc-toolbar .hbc-tb-link { font-size:15px; }
.hbc-tb-spacer { flex:1; }
.hbc-tb-form { margin:0; }
.hbc-toolbar select { width:auto; padding:7px 10px; font-size:13px; }
.hbc-report { max-width:860px; margin:0 auto 60px; background:#fff; padding:44px 48px; border-radius:14px; box-shadow:0 1px 4px rgba(51,41,31,.08); }
.hbc-rp-head { display:flex; align-items:center; gap:18px; padding-bottom:20px; border-bottom:2px solid var(--hb-ink); margin-bottom:20px; }
.hbc-rp-logo { width:92px; height:51px; flex:0 0 auto; background:url(logo.png) no-repeat center/contain; }
.hbc-rp-eyebrow { font-size:11px; letter-spacing:2px; font-weight:700; color:var(--hb-main); margin-bottom:4px; }
.hbc-rp-head h1 { font-size:24px; margin:0; color:var(--hb-ink); }
.hbc-rp-h2 { font-size:15px; font-weight:700; color:var(--hb-ink); margin:28px 0 10px; padding-left:10px; border-left:3px solid var(--hb-main); }
.hbc-rp-foot { margin-top:34px; padding-top:14px; border-top:1px solid var(--hb-line); font-size:11px; color:#9A948B; line-height:1.7; }
.hbc-rp-date { font-size:12px; color:#9A948B; text-align:right; }
.hbc-info { width:100%; border-collapse:collapse; font-size:13px; }
.hbc-info th { width:92px; text-align:left; background:var(--hb-soft); color:#4A433B; padding:9px 12px; border:1px solid var(--hb-line); font-weight:700; }
.hbc-info td { padding:9px 12px; border:1px solid var(--hb-line); }
.hbc-pre { white-space:pre-wrap; line-height:1.7; }
.hbc-memo { margin:18px 0 0; }
.hbc-memo label { display:block; font-size:12px; font-weight:700; color:#4A433B; margin-bottom:6px; }
.hbc-memo textarea { font-size:13px; margin-bottom:8px; }
/* 관리자 */
.hbc-admin { max-width:1100px; margin:0 auto; padding:30px 20px 60px; }
.hbc-admin-top { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.hbc-admin-top h1 { font-size:22px; margin:0; color:var(--hb-ink); }
.hbc-badge-new { background:#C0392B; color:#fff; font-size:11px; font-weight:700; border-radius:100px; padding:3px 10px; }
.hbc-filter { display:flex; gap:8px; margin-bottom:14px; }
.hbc-filter input { flex:1; font-size:13px; padding:9px 12px; }
.hbc-filter select { width:auto; font-size:13px; padding:9px 12px; }
.hbc-tablewrap { background:#fff; border-radius:12px; overflow-x:auto; box-shadow:0 1px 4px rgba(51,41,31,.08); }
.hbc-list { width:100%; border-collapse:collapse; font-size:13px; min-width:860px; }
.hbc-list th { text-align:left; background:#fff; padding:12px 12px; border-bottom:2px solid var(--hb-ink); font-size:12px; color:#4A433B; white-space:nowrap; }
.hbc-list td { padding:11px 12px; border-bottom:1px solid var(--hb-line); white-space:nowrap; }
.hbc-list th.hbc-r { text-align:right; }
.hbc-list tr.st-new td { background:#FFF9F0; font-weight:600; }
.hbc-empty { text-align:center; color:#9A948B; padding:40px !important; }
.hbc-st { display:inline-block; font-size:11px; font-weight:700; padding:3px 10px; border-radius:100px; background:var(--hb-soft); color:#4A433B; }
.hbc-st-new { background:#FBE8C8; color:#8A5A12; } .hbc-st-done { background:#DCEEE0; color:#256A3B; }
.hbc-pager { display:flex; gap:6px; justify-content:center; margin-top:18px; }
.hbc-pager a { min-width:32px; text-align:center; padding:6px 10px; border-radius:8px; background:#fff; color:#4A433B; text-decoration:none; font-size:13px; }
.hbc-pager a.on { background:var(--hb-main); color:#fff; }
.hbc-login { max-width:380px; margin:90px auto; background:#fff; padding:36px; border-radius:14px; box-shadow:0 1px 4px rgba(51,41,31,.08); }
.hbc-login h1 { font-size:20px; margin:0 0 14px; }
.hbc-login label { display:block; font-size:12.5px; font-weight:700; margin:14px 0; }
.hbc-login input { margin-top:6px; }

/* 인쇄 영역 (계산기 페이지) */
.hbc-print { display:none; }

@media (max-width:760px) {
  .hbc-wrap { padding:36px 20px 56px; }
  .hbc-row2, .hbc-row3 { grid-template-columns:1fr; gap:0; }
  .hbc-compare-row { grid-template-columns:1fr; gap:6px; }
  .hbc-compare-row > div:nth-child(3) { text-align:left !important; }
  .hbc-result-num { font-size:28px; }
  .hbc-stat + .hbc-stat { border-left:none; padding-left:0; margin-left:0; }
  .hbc-inq { padding:24px 20px; }
  .hbc-report { padding:24px 18px; border-radius:0; }
  .hbc-rp-head h1 { font-size:19px; }
  .hbc-info th { width:70px; }
}

@media print {
  @page { size: A4; margin: 14mm; }
  body { background:#fff !important; }
  .noprint { display:none !important; }
  .hb-root { display:none !important; }
  .hbc-print { display:block !important; }
  .hbc-report { box-shadow:none; padding:0; max-width:none; margin:0; border-radius:0; }
  .hbc-report-body { background:#fff; }
  .hbc-result-card, .hbc-staff-card, .hbc-intable th, .hbc-info th { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .hbc-staff-card, .hbc-result-card, .hbc-breakdown, .hbc-sub-block { break-inside:avoid; }
  .hbc-compare-row { grid-template-columns:190px 1fr 150px; }
}
