/* 요청·조회·견적·입금 페이지의 공통 고객 화면. 견적서 A4 내부는 별도 양식을 유지한다. */
.qpc-page { --qp-ink:var(--quote-ink, #20394a); --qp-muted:var(--quote-muted); --qp-line:var(--quote-line); --qp-blue:var(--quote-accent); --qp-accent:var(--quote-accent); }
.qpc-page .qp-button { font-size:13px; padding:9px 13px; border-radius:6px; }
.qpc-page .qp-button:hover { border-color:var(--quote-focus); background:var(--quote-soft); }
.qpc-page .qp-primary { background:var(--quote-sidebar, #274b5c); border-color:var(--quote-focus, #274b5c); }
.qpc-page .qp-primary:hover { background:var(--quote-accent, #1c3b4b); border-color:var(--quote-focus, #1c3b4b); }
.qpc-page .qp-button:focus-visible, .qpc-page input:focus-visible, .qpc-page select:focus-visible, .qpc-page textarea:focus-visible { outline:2px solid var(--quote-focus); outline-offset:2px; }
.qpc-page .qp-card { border-radius:10px; padding:20px; font-size:13px; }
.qpc-page .qp-card h2 { font-size:16px; letter-spacing:-.4px; margin-bottom:10px; }
.qpc-card-kicker { display:block; color:var(--quote-muted); font-size:10px; font-weight:700; margin-bottom:6px; }
.qpc-page .qp-form { gap:14px; margin-top:18px; }
.qpc-page .qp-field > label { font-size:12px; }
.qpc-page .qp-field small { font-size:11px; color:var(--qp-muted); }
.qpc-page .qp-field input[type=file] { padding:12px; background:var(--quote-surface); border:1px dashed var(--quote-line); font-size:12px; }
.qpc-page .qp-field input[type=file]::file-selector-button { border:1px solid var(--quote-line); border-radius:4px; padding:6px 9px; margin-right:10px; color:var(--quote-muted); background:#fff; cursor:pointer; }
.qpc-page input[type=checkbox] { accent-color:var(--quote-accent); }
.qpc-page .qp-notice { background:var(--quote-surface); color:var(--quote-muted); font-size:12px; padding:12px; }
.qpc-page .qp-badge { color:#3a6a50; background:#eef5ef; }
.qpc-page .qp-reply { background:var(--quote-surface); }
.qpc-lookup-methods { max-width:none; gap:18px; align-items:stretch; margin-bottom:18px; }
.qpc-page .qpc-lookup-card { padding:24px; border-top:3px solid var(--quote-focus, #274b5c); }
.qpc-page .qpc-lookup-card h2 { font-size:18px; }
.qpc-page .qpc-lookup-card > .qp-muted { min-height:40px; margin:8px 0 16px; }
.qpc-page .qpc-file-method { border-top-color:var(--quote-accent); background:var(--quote-paper); }
.qpc-page .qp-lookup-selected { border-color:var(--quote-focus)!important; }
.qpc-page .qpc-file-note { min-height:0!important; margin:14px 0 0!important; font-size:11px; }
.qpc-lookup-note { text-align:center; padding:5px 0; }
.qpc-page .qp-receipt { padding:16px 20px; gap:16px; margin-bottom:16px; border-left:3px solid var(--quote-accent); }
.qpc-page .qp-receipt h2 { font-size:14px; margin-bottom:4px; }
.qpc-page .qp-receipt .qp-muted { font-size:11px; margin:0; }
.qpc-page .qp-receipt input { color:#3a6252; background:#f4f8f5; border-color:#d7e2db; }
.qpc-page .qp-progress { margin-bottom:18px; border-radius:8px; }
.qpc-page .qp-progress a { padding:14px 20px; }
.qpc-page .qp-progress a:hover { background:var(--quote-surface); }
.qpc-page .qp-progress strong { font-size:14px; color:#335e4b; }
.qpc-page .qp-tracking-layout { grid-template-columns:minmax(0,1fr) 312px; gap:18px; }
.qpc-page .qp-tracking-column { gap:16px; }
.qpc-page .qpc-quote-card { border-top:3px solid var(--quote-focus, #274b5c); padding-top:17px; }
.qpc-page .qp-facts { font-size:12px; grid-template-columns:108px minmax(0,1fr); gap:8px 12px; margin:16px 0; }
.qpc-page .qp-facts dd { color:#354b41; }
.qpc-page .qp-history-list { margin-top:14px; }
.qpc-page .qp-history-list strong { font-size:12px; }
.qpc-page .qp-history-list time { font-size:11px; }
.qpc-page .qp-timeline { padding:12px 0; }
.qpc-page .qp-timeline > strong { font-size:12px; }
.qpc-page .qp-file-offer { margin:0; }
.qpc-page .qp-file-offer > summary { color:var(--quote-muted); font-size:13px; }
.qpc-page .qp-file-offer-body { margin-top:12px; font-size:12px; }
.qpc-page .qp-file-revoke { gap:8px; margin-top:14px; padding-top:14px; }
.qpc-page .qp-file-revoke small { font-size:10px; }
.qpc-spec-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
.qpc-spec-group { min-width:0; border:1px solid #e0e7e3; border-radius:7px; overflow:hidden; }
.qpc-spec-group h3 { margin:0; padding:9px 12px; background:#f2f6f3; color:#536e5d; font-size:12px; font-weight:650; border-bottom:1px solid #e0e7e3; }
.qpc-page .qpc-spec-group .qp-facts { padding:12px; margin:0; grid-template-columns:88px minmax(0,1fr); gap:7px 10px; }
.qpc-contact-details { padding-top:14px; margin-top:14px; border-top:1px solid var(--qp-line); }
.qpc-contact-details > summary { color:#647b6f; font-size:12px; }
.qpc-page .qp-attachment-list { padding-top:14px; margin-top:14px; }
.qpc-page .qp-attachment-list h2 { font-size:13px; }
.qpc-page .qp-back { font-size:12px; margin:8px 0 0; }
.qpc-page .qp-steps { font-size:12px; margin-bottom:18px; padding:12px 0; }
.qpc-page .qp-customer-layout { grid-template-columns:minmax(0,1fr) 312px; gap:18px; }
.qpc-page .qp-payment { gap:16px; }
.qpc-page .qp-card .qp-amount { font-size:30px; color:var(--quote-ink, #274b5c); }
.qpc-page .qp-document-page { border-radius:8px; overflow:hidden; }
.qpc-page .qpc-address-card { max-width:760px; }
.qpc-address-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.qpc-address-form .errorlist, .qpc-address-form .qp-actions,
.qpc-address-form .qp-field:has([name="delivery-address"]),
.qpc-address-form .qp-field:has([name="delivery-address_detail"]) { grid-column:1 / -1; }
@media(max-width:600px) { .qpc-address-form { grid-template-columns:minmax(0,1fr); } }
.qpc-page .qp-unavailable, .qpc-page .qp-lookup { margin:40px auto; border-top:3px solid var(--quote-accent); }
.qpc-page .qp-footer { color:var(--quote-muted); font-size:11px; }
@media(max-width:1100px) { .qpc-page .qp-customer-layout { grid-template-columns:minmax(0,1fr); } .qpc-page .qp-payment { grid-template-columns:1fr 1fr; } }
@media(max-width:930px) { .qpc-page .qp-tracking-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:720px) { .qpc-page .qpc-lookup-methods { grid-template-columns:minmax(0,1fr); } .qpc-page .qpc-lookup-card { padding:20px; } .qpc-page .qp-payment { grid-template-columns:1fr; } }
@media(max-width:600px) { .qpc-page .qp-card { padding:15px; } .qpc-page .qi-heading { flex-direction:column; align-items:flex-start; gap:14px; } .qpc-page .qp-receipt { grid-template-columns:minmax(0,1fr); gap:10px; } .qpc-page .qp-progress a { padding:10px; } .qpc-page .qp-progress span { font-size:10px; } .qpc-page .qp-progress strong { font-size:11px; overflow-wrap:anywhere; } .qpc-spec-groups { grid-template-columns:minmax(0,1fr); gap:10px; } .qpc-page .qp-facts { grid-template-columns:100px minmax(0,1fr); gap:8px; } .qpc-page .qp-steps { font-size:10px; gap:8px; } .qpc-page .qpc-lookup-card > .qp-muted { min-height:0; } }
@media print { .qp .qi-masthead, .qp .qi-hero, .qp .qp-back { display:none; } .qp.qpc-page .qp-container { padding:0; } .qpc-page .qp-document-page { border-radius:0; overflow:visible; } }
/* 요청 현황은 다음 행동을 우선 표시하고, A4 문서와 납품 입력을 별도 화면으로 둔다. */
.qpc-status-hub, .qpc-information { max-width:900px; margin:0 auto; display:grid; gap:16px; }
.qpc-status-hub { width:100%; min-width:0; }
.qpc-hub-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:8px 0; }
.qpc-hub-header h1 { margin:0 0 6px; font-size:24px; }
.qpc-hub-header p { margin:0; font-size:12px; color:var(--quote-muted); line-height:1.8; overflow-wrap:anywhere; }
.qpc-page .qpc-next-action { border-top:3px solid var(--quote-accent); padding:25px; }
.qpc-page .qpc-next-action h2 { font-size:22px; margin:6px 0 10px; color:var(--quote-ink); }
.qpc-next-action > p { color:var(--quote-muted); line-height:1.8; font-size:13px; }
.qpc-next-action .qp-actions { margin-top:18px; }
.qpc-version-warning { background:#fff7e8; border:1px solid #e8d4a9; border-radius:7px; padding:12px 14px; color:#796138; font-size:12px; line-height:1.8; }
.qpc-page .qpc-stage-status { display:flex; flex-wrap:wrap; gap:12px 24px; padding:16px 18px; margin:0; background:var(--quote-surface); border:1px solid var(--quote-line); border-radius:8px; }
.qpc-stage-status > div { flex:1; min-width:115px; }
.qpc-stage-status dt { color:var(--quote-muted); font-size:10px; margin-bottom:5px; }
.qpc-stage-status dd { color:var(--quote-ink); font-size:12px; font-weight:650; margin:0; line-height:1.6; }
.qpc-section-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.qpc-section-header > strong { color:var(--quote-ink); font-size:16px; }
.qpc-section-header small { display:block; font-size:10px; font-weight:400; text-align:right; color:var(--quote-muted); }
.qpc-request-name { color:var(--quote-ink); line-height:1.8; font-size:14px; }
.qpc-request-highlights { display:flex; flex-wrap:wrap; gap:5px 15px; color:var(--quote-muted); font-size:11px; margin:8px 0 14px; }
.qpc-fold { border-top:1px solid var(--quote-line); padding-top:13px; margin-top:12px; }
.qpc-fold > summary { cursor:pointer; font-size:12px; color:var(--quote-muted); line-height:1.7; }
.qpc-fold[open] > summary { margin-bottom:14px; }
.qpc-status-hub > .qpc-fold, .qpc-information > .qpc-fold { margin:0; }
.qpc-history-fold { padding:12px 0; }
.qpc-status-hub .qp-file-offer { margin:0; }
.qpc-bank-account { display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px; background:var(--quote-surface); padding:15px; margin:14px 0; border-radius:7px; }
.qpc-bank-account > span { color:var(--quote-muted); font-size:11px; padding-top:2px; }
.qpc-bank-account p { margin:0; color:var(--quote-ink); font-weight:650; font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.qpc-information section, .qpc-information details[id] { scroll-margin-top:20px; }
.qpc-information .qpc-copy-contact { font-size:11px; margin:8px 0 0; }
.qpc-information #qpcCopyStatus { display:block; margin-top:8px; font-size:11px; }
.qpc-information .qp-form > .qp-button { justify-self:start; }
.qpc-information .errorlist { color:#a6473e; }
.qpc-document-view .qp-container { max-width:1200px; padding-top:14px; }
.qpc-document-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 0 14px; border-bottom:1px solid var(--quote-line); }
.qpc-document-toolbar > div { display:flex; gap:12px; align-items:center; min-width:0; }
.qpc-document-toolbar span { font-size:12px; color:var(--quote-muted); overflow-wrap:anywhere; }
.qpc-document-notice { max-width:210mm; margin:14px auto; font-size:11px; color:var(--quote-muted); }
.qpc-document-notice > p { margin:8px 0; }
.qpc-a4-document { max-width:210mm; width:100%; margin:0 auto; }
.qpc-document-view .qp-document-page { border-radius:0; box-shadow:0 5px 24px #304f3512; margin-bottom:20px; }
.qpc-document-followup { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:20px 0; }
.qp-document-page canvas { display:block; width:100%; height:auto; user-select:none; touch-action:pan-y; }
.qpc-access-tools .qp-file-offer { border:1px solid var(--quote-line); background:var(--quote-surface); padding:12px 18px; }
.qpc-access-tools .qp-file-offer > summary { font-size:13px; font-weight:650; }
.qpc-progress-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.qpc-progress-cards > a { text-decoration:none; border:1px solid var(--quote-line); border-left:4px solid var(--quote-focus); border-radius:8px; padding:18px; background:#fff; min-width:0; display:grid; gap:9px; }
.qpc-progress-cards span { font-size:13px; font-weight:700; color:var(--quote-muted); }
.qpc-progress-cards strong { font-size:19px; line-height:1.5; color:var(--quote-ink); overflow-wrap:anywhere; }
.qpc-progress-cards small { font-size:11px; line-height:1.6; color:var(--quote-muted); }
.qpc-progress-cards > [data-tone="done"] { border-left-color:#27765b; background:#f0f8f3; }
.qpc-progress-cards > [data-tone="active"] { border-left-color:var(--quote-accent, #2869a0); background:var(--quote-surface, #edf5ff); }
.qpc-progress-cards > [data-tone="attention"] { border-left-color:#b27618; background:#fff7e6; }
.qpc-progress-cards a:focus-visible { outline:3px solid var(--quote-focus, #2869a0); outline-offset:3px; }
.qpc-status-label { display:inline-block; font-size:15px; padding:8px 12px; color:#375746; background:#edf3ef; border-radius:6px; }
.qpc-status-label[data-status="PENDING"], .qpc-status-label[data-status="PREPARING"], .qpc-status-label[data-status="ORDERED"] { color:var(--quote-accent, #175787); background:var(--quote-surface, #eaf3ff); }
.qpc-status-label[data-status="CONFIRMED"], .qpc-status-label[data-status="SHIPPED"], .qpc-status-label[data-status="COMPLETED"] { color:#236746; background:#e8f5ed; }
.qpc-status-label[data-status="RECHECK"], .qpc-status-label[data-status="CANCELLED"] { color:#895519; background:#fff2da; }
.qpc-payment-actions, .qpc-delivery-actions { border-top:1px solid var(--quote-line); padding-top:16px; margin-top:18px; }
.qpc-delivery-actions { display:flex; flex-wrap:wrap; gap:10px; }
.qpc-delivery-actions .qp-notice { width:100%; margin-top:0; }
.qpc-status-hub section[id], .qpc-status-hub nav a { scroll-margin-top:18px; }
@media(max-width:640px) { .qpc-progress-cards { grid-template-columns:1fr; gap:8px; } .qpc-progress-cards > a { padding:12px 16px; gap:5px; } .qpc-progress-cards strong { font-size:17px; } }
@media(max-width:600px) {
  .qpc-hub-header { align-items:flex-start; flex-direction:column; gap:10px; }
  .qpc-hub-header h1 { font-size:21px; }
  .qpc-page .qpc-next-action { padding:18px; }
  .qpc-page .qpc-next-action h2 { font-size:19px; }
  .qpc-section-header { align-items:flex-start; flex-wrap:wrap; }
  .qpc-bank-account { grid-template-columns:1fr; gap:5px; padding:12px; }
  .qpc-bank-account p { font-size:13px; }
  .qpc-document-toolbar { align-items:flex-start; flex-direction:column; gap:10px; }
  .qpc-document-toolbar > div:first-child { flex-wrap:wrap; }
  .qpc-document-toolbar span { font-size:11px; }
  .qpc-document-followup { justify-content:flex-start; }
}
@page { size:A4; margin:0; }
@media print {
  .qpc-document-view .qpc-document-toolbar, .qpc-document-view .qpc-document-notice,
  .qpc-document-view .qpc-document-followup { display:none; }
  .qp.qpc-document-view .qp-container { max-width:none; width:210mm; margin:0; padding:0; }
  .qpc-a4-document { max-width:none; width:210mm; margin:0; }
  .qpc-document-view .qp-document-page { box-shadow:none; border:0; margin:0; }
  .qpc-document-view .qp-document-page img, .qpc-document-view .qp-document-page canvas { width:210mm; height:auto; }
}
