/* 글로벌원 고객 간편견적 화면 스타일 — 원본 global-one-estimate-v2.html 의 <style> 그대로 (운영 연결 추가분은 파일 끝) */
*{box-sizing:border-box} :root{--ink:#17374b;--muted:#71808a;--line:#dfe6e8;--accent:#176957;--orange:#cd8a46;--bg:#f5f7f8}body{margin:0;font-family:Arial,"Noto Sans KR","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #d89742;outline-offset:3px}button{transition:background .15s,border-color .15s,color .15s}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}.header{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:1.3px;line-height:1.2}.brand small{display:block;font-weight:400;font-size:12px;color:var(--muted);letter-spacing:1.4px;margin-top:6px}.brandmark{width:42px;height:42px;display:grid;place-content:center;background:var(--ink);color:white;font-size:25px;position:relative}.brandmark span{position:absolute;font-size:13px;right:4px;bottom:2px;color:#eab575}.header-right{display:flex;align-items:center;gap:24px}.prototype{font-size:13px;background:#eef3f5;color:#5c707d;padding:5px 11px;border-radius:4px}.text-button{border:0;background:transparent;color:var(--ink);font-size:14px;padding:8px 0}.text-button span{margin-left:8px}main{max-width:1570px;padding:32px 4.2% 20px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;gap:24px}.eyebrow{font-size:12px;letter-spacing:1.3px;color:var(--accent);font-weight:700;margin:0 0 7px}h1{font-size:28px;letter-spacing:-1px;line-height:1.35;margin:0;font-weight:700}.page-title>p{font-size:14px;line-height:1.8;margin:0;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(385px,1fr);gap:22px;align-items:start}.visual{position:sticky;top:18px;overflow:hidden;border:1px solid #dbe3e6;border-radius:12px;background:#eaf0f2;min-width:0}.viewer-top{display:flex;justify-content:space-between;align-items:start;padding:25px 28px 0;position:relative;z-index:1;pointer-events:none}.viewer-top h2{font-size:25px;line-height:1.3;margin:4px 0 0}.light{font-weight:400}.example-badge{border:1px solid #c9d6dc;border-radius:4px;padding:4px 8px;font-size:12px;color:#697b85}.view-tabs{margin:20px 28px 0;display:inline-flex;background:#dce5e8;padding:3px;border-radius:6px;position:relative;z-index:1}.view-tabs button{border:0;border-radius:4px;background:none;color:#647987;padding:6px 16px;font-size:13px}.view-tabs button.active{background:white;box-shadow:0 1px 3px #17374b15;color:var(--ink);font-weight:700}.canvas-wrap{height:385px;position:relative;margin-top:-16px}canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}canvas:active{cursor:grabbing}.model-tools{display:flex;justify-content:space-between;align-items:center;margin:0 27px 17px;color:#7a8b94;font-size:12px}.model-tools>div{display:flex;gap:6px}.model-tools button{border:1px solid #cedadf;background:#f8fafb;color:var(--ink);font-size:21px;width:33px;height:33px;display:grid;place-content:center;border-radius:5px}.legend{display:flex;flex-wrap:wrap;gap:7px;padding:0 27px 17px;min-height:47px}.legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:#ffffffac;padding:4px 9px;border:1px solid #d6e0e4;border-radius:4px}.legend i{width:8px;height:8px;border-radius:2px}.viewer-note{display:flex;align-items:start;gap:8px;padding:14px 27px;border-top:1px solid #d4e0e5}.viewer-note p{font-size:12px;color:#6b7f8a;line-height:1.7;margin:0}.note-icon{font-size:11px;border:1px solid #90a2ab;color:#8296a0;border-radius:50%;width:15px;min-width:15px;height:15px;display:grid;place-content:center;margin-top:3px}.viewer-footer{background:#17374b;display:grid;grid-template-columns:repeat(3,1fr);padding:22px 25px;gap:10px}.viewer-footer div+div{border-left:1px solid #45606e;padding-left:16px}.viewer-footer strong{font-size:14px;color:white;display:block;font-weight:500}.viewer-footer span{font-size:12px;color:#a8bcc7;display:block;margin-top:5px}.config{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.area-section{padding:24px 26px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.section-heading h2{font-size:17px;margin:0;letter-spacing:-.5px}.step{font-size:12px;font-weight:700;color:var(--accent);border:1px solid #c9dbd5;border-radius:4px;padding:2px 6px}.area-label{font-size:13px;color:#657880;display:flex;gap:7px;justify-content:space-between;flex-wrap:wrap}.area-label span{font-size:12px;color:#8c999f}.area-input{display:flex;align-items:center;border:1px solid #c4d1d7;border-radius:6px;padding:7px 15px;margin-top:8px;background:#fbfcfc}.area-input input{border:none;background:transparent;width:125px;min-width:50px;max-width:50%;font-size:27px;font-weight:700;color:var(--ink);outline-offset:0}.area-input>span{font-size:16px}.area-input output{margin-left:auto;font-size:14px;color:#8a979e}.presets{display:flex;gap:6px;margin-top:11px}.presets button{flex:1;border:1px solid #e2e8ea;background:white;color:#6c7b83;font-size:12px;border-radius:4px;padding:5px 2px}.presets button.active{border-color:#7ca995;color:var(--accent);background:#edf5f1}.materials-section{padding:24px 26px 10px}.selection-count{margin-left:auto;font-size:12px;color:var(--accent)}.section-caption{font-size:13px;color:#86949a;margin:-5px 0 17px}.option{border:1px solid #e2e8eb;border-radius:7px;padding:13px 14px;margin-bottom:9px;transition:border-color .2s,background .2s}.option.selected{border-color:#8fb5a7;background:#f8fcfa}.option-head{display:flex;align-items:center;gap:10px}.check-label{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;font-size:15px;font-weight:700}.check-label input{width:17px;height:17px;margin:0;accent-color:var(--accent)}.option-price{font-size:14px;font-weight:600;color:#73858e;white-space:nowrap}.selected .option-price{color:var(--ink)}.option-desc{font-size:12px;color:#83939a;margin:2px 0 0 27px}.mode-control{display:flex;gap:5px;margin:11px 0 0 27px}.mode-control button{flex:1;border:1px solid #dce5e2;background:white;color:#8a9894;padding:6px 3px;border-radius:4px;font-size:13px}.mode-control button.active{background:var(--accent);border-color:var(--accent);color:white}.mode-control button:hover:not(.active){background:#e8f2ec}.supply-note{font-size:12px;color:#728b80;margin:8px 0 0 27px}.services{background:#f7f9fa;border-top:1px solid var(--line);padding:17px 26px}.services>div{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.services strong{font-size:12px;font-weight:500;color:var(--accent)}.services p{font-size:12px;color:#8b989d;margin:10px 0 0}.estimate-bar{display:flex;align-items:center;gap:30px;background:white;border:1px solid var(--line);border-radius:10px;margin-top:22px;padding:23px 28px;box-shadow:0 3px 12px #17374b04}.estimate-label>span{font-size:16px;font-weight:700}.estimate-label small{display:block;font-size:12px;color:#87949c;margin-top:4px;max-width:460px}.estimate-value{margin-left:auto;text-align:right;white-space:nowrap}.estimate-value strong{font-size:34px;letter-spacing:-1px;font-weight:700;font-variant-numeric:tabular-nums}.estimate-value>span{font-size:17px;margin-left:5px}.estimate-value small{font-size:12px;color:#829199;display:block}.primary{border:1px solid var(--ink);background:var(--ink);color:white;border-radius:6px;padding:13px 23px;font-size:14px;font-weight:600;white-space:nowrap}.primary:hover{background:#28536c}.primary span{margin-left:24px;font-size:20px}.secondary{border:1px solid #cbd7db;border-radius:6px;background:white;color:var(--ink);padding:11px 18px;font-size:14px}.bottom-notes{padding:15px 3px}.bottom-notes p{font-size:12px;color:#7d8c94;margin:4px 0}.bottom-notes .review-note{color:#997347}.bottom-notes #pendingNote{color:#b16b25;font-size:14px}.mobile-only{display:none}.error{font-size:13px;color:#b64538;margin:5px 0}dialog{border:1px solid #d3dce1;padding:0;border-radius:13px;max-width:640px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);box-shadow:0 24px 100px #0c25384d}dialog::backdrop{background:#122e40a1;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:25px 28px 18px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:23px;margin:0}.close{font-size:28px;border:0;background:#eef3f4;color:#6c818b;border-radius:50%;width:35px;height:35px;line-height:1}.dialog-desc{font-size:14px;color:#6c808b;margin:0 0 17px;line-height:1.8}#settingsForm{padding:23px 28px}.basis-note{font-size:13px;color:#8f713f;background:#fcf7ef;border:1px solid #eee2cf;border-radius:6px;padding:13px 15px;margin-bottom:20px;line-height:1.9}.rate-fields{display:grid;gap:12px;margin-bottom:23px}.rate-row{display:flex;align-items:center;gap:9px;font-size:14px}.rate-row label{flex:1}.rate-row input{width:145px;border:1px solid #ced9dd;border-radius:5px;padding:8px 10px;color:var(--ink);text-align:right}.rate-row>span{font-size:12px;color:#81929a}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid var(--line)}#summaryDialog>.dialog-actions{margin:0 28px 25px}#summaryContent{padding:22px 28px}.summary-area{display:flex;justify-content:space-between;margin-bottom:18px;font-size:15px}.summary-area strong{font-size:19px}.summary-table{width:100%;border-collapse:collapse;font-size:14px}.summary-table th{text-align:left;font-size:12px;color:#8b9aa1;font-weight:500;background:#f5f8f8}.summary-table td,.summary-table th{padding:12px 7px;border-bottom:1px solid #e4eaed}.summary-table td:last-child,.summary-table th:last-child{text-align:right;white-space:nowrap}.summary-table td:nth-child(2){font-size:12px;color:#7b8c96}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:16px}.summary-total strong{font-size:25px}.summary-note{background:#f1f6f5;padding:15px;font-size:13px;line-height:1.9;color:#658078;border-radius:5px}.summary-footnote{font-size:12px;line-height:1.9;color:#87959e;margin:15px 0 0}.empty-selection{text-align:center;color:#93a3ab;font-size:13px}
@media(min-width:1450px){.canvas-wrap{height:450px}.viewer-top{padding-top:30px}.visual{top:26px}}
@media(max-width:1050px){main{padding:25px 3%}.header{padding:0 3%}.workspace{gap:15px;grid-template-columns:minmax(0,1fr) minmax(350px,1fr)}.page-title>p{display:none}.canvas-wrap{height:350px}.viewer-top{padding-left:19px;padding-right:19px}.view-tabs{margin-left:19px}.viewer-footer{padding:19px 15px}.viewer-footer span{font-size:12px}.viewer-footer div+div{padding-left:9px}.area-section,.materials-section{padding-left:19px;padding-right:19px}.estimate-bar{padding:20px;gap:20px}.estimate-value strong{font-size:29px}.estimate-label small{max-width:220px}.primary{padding:12px 16px}.primary span{margin-left:14px}.header-right{gap:12px}}
@media(max-width:760px){.header{height:73px;padding:0 18px}.brand{font-size:16px;gap:9px}.brandmark{width:35px;height:35px;font-size:21px}.brand small{font-size:10px;letter-spacing:.5px}.prototype{display:none}.text-button{font-size:12px}.text-button span{margin-left:2px}main{padding:22px 16px 16px}.page-title{margin-bottom:19px}h1{font-size:23px}.eyebrow{font-size:11px}.workspace{display:flex;flex-direction:column;gap:16px}.visual{position:relative;top:0;width:100%}.viewer-top{padding:19px 18px 0}.viewer-top h2{font-size:21px}.example-badge{font-size:11px}.view-tabs{margin:13px 18px 0}.view-tabs button{font-size:12px;padding:4px 12px}.canvas-wrap{height:275px;margin-top:-10px}.model-tools{margin:0 18px 11px}.legend{padding:0 18px 13px;min-height:40px;gap:5px}.legend span{font-size:11px;padding:3px 6px}.viewer-note{padding:11px 18px}.viewer-footer{padding:16px}.viewer-footer strong{font-size:13px}.viewer-footer span{font-size:11px;line-height:1.6}.config{width:100%}.area-section{padding:21px}.materials-section{padding:21px 21px 10px}.option{padding:14px}.option-price{font-size:14px}.area-label{font-size:13px}.services{padding:17px 21px}.estimate-bar{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding:20px;margin-top:16px}.estimate-label>span{font-size:14px}.estimate-label small{font-size:11px;max-width:120px}.estimate-value strong{font-size:28px}.estimate-value>span{font-size:14px}.estimate-bar>.primary{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:11px 18px}.dialog-head{padding:20px}.dialog-head h2{font-size:21px}#settingsForm,#summaryContent{padding:20px}.rate-row input{width:125px}#summaryDialog>.dialog-actions{margin:0 20px 20px}.summary-table{font-size:13px}.summary-table td,.summary-table th{padding:10px 4px}.summary-total strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{body{background:white}body>*:not(#summaryDialog){display:none!important}#summaryDialog{display:block!important;position:static;max-height:none;max-width:none;width:100%;border:0;box-shadow:none}#summaryDialog .close,#summaryDialog>.dialog-actions{display:none}#summaryContent{overflow:visible}}
/* Blue revision: customer and printed quote flows. */
:root{--ink:#153b68;--muted:#73859b;--line:#dbe5f0;--accent:#2565b4;--bg:#f3f7fc}.brandmark,.viewer-footer{background:#153b68}.visual{background:#e9f1fb;border-color:#d2dfef}.view-tabs{background:#d4e2f4}.view-tabs button{color:#57779e}.option.selected{border-color:#8aafdf;background:#f5f9ff}.check-label input,.consent input{accent-color:#2565b4}.mode-control button.active{background:#2565b4;border-color:#2565b4}.mode-control button:hover:not(.active){background:#e8f1ff}.presets button.active{border-color:#86a9d9;color:#2565b4;background:#edf4ff}.step{border-color:#c0d4ed}.supply-note{color:#597ca2}.services{background:#f0f5fc}.summary-note{background:#edf4fd;color:#456789}.primary{background:#205ba1;border-color:#205ba1}.primary:hover{background:#194b86}.input-hint{font-size:12px;color:#376da8;margin:8px 0}.area-input input{appearance:textfield}.area-input input::-webkit-inner-spin-button{appearance:none}.shape-section{padding:22px 26px;border-bottom:1px solid var(--line)}.shape-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.shape-options button{border:1px solid #dce5ef;background:#fff;border-radius:7px;padding:9px 4px;color:#8194ac;display:flex;align-items:center;flex-direction:column;font-size:13px;gap:3px}.shape-options svg{width:37px;height:37px;fill:currentColor}.shape-options button.active{background:#edf4ff;border-color:#6f9dd4;color:#245c9e}.shape-section .section-caption{margin:0;font-size:12px}.deposit-inline{margin-top:5px;color:#255c9c!important}.deposit-inline b{font-weight:700;margin-left:5px}.estimate-bar .primary{white-space:normal;max-width:245px}.quote-brand{font-size:27px;font-weight:800;letter-spacing:1px;color:#17467d;margin-bottom:18px}.quote-brand b{color:#3e82c4}.quote-brand small{display:block;font-size:11px;letter-spacing:2px;font-weight:400;margin-top:4px;color:#6388ac}.customer-form{padding:23px 28px}.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.customer-fields label{font-size:14px;font-weight:600;display:block}.customer-fields label>span{color:#2565b4;font-size:11px;margin-left:5px}.customer-fields input{display:block;width:100%;border:1px solid #cbd9e9;border-radius:5px;padding:10px 12px;margin-top:6px;font-size:14px;color:var(--ink);background:#fff}.customer-fields .wide{grid-column:1/-1}.consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#6f8296;margin:21px 0}.consent input{margin-top:4px}.summary-customer{padding:13px 15px;background:#f4f7fc;font-size:13px;line-height:1.8;margin-bottom:17px;display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;overflow-wrap:anywhere}.summary-customer .wide{grid-column:1/-1}.summary-deposit{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border:1px solid #adc5e6;border-radius:5px;background:#f2f7ff;font-size:14px;margin:0 0 15px}.summary-deposit strong{font-size:21px}.quote-company{margin-top:22px;padding-top:16px;border-top:2px solid #2565b4;font-size:12px;line-height:1.9;color:#607c9b}.quote-company strong{display:block;font-size:16px;color:#194978;margin-bottom:5px}.quote-meta{font-size:12px;color:#8494a9;margin:0 0 15px}.admin-entry{text-align:right;font-size:12px;color:#7a91aa}.admin-entry a{text-decoration:underline}.print-block{display:none}.history-main{max-width:1100px;margin:auto;padding:30px 24px}.history-card{border:1px solid var(--line);border-radius:9px;padding:20px;margin:15px 0;background:white}.history-card summary{cursor:pointer;font-size:15px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px}.history-card p{font-size:14px;color:#687e97}.history-card pre{white-space:pre-wrap;font:inherit;font-size:13px}.history-head{display:flex;justify-content:space-between;align-items:center}.history-error{color:#b34242}.history-meta{font-size:13px;color:#8a99a9}.section-caption{line-height:1.8}
@media(max-width:760px){.shape-section{padding:20px 21px}.customer-form{padding:20px}.customer-fields{grid-template-columns:1fr}.customer-fields .wide{grid-column:auto}.summary-customer{grid-template-columns:1fr}.summary-customer .wide{grid-column:auto}.estimate-bar .primary{max-width:none}.summary-deposit strong{font-size:19px}.quote-brand{font-size:23px}.estimate-value strong{font-size:26px}.estimate-value .deposit-inline{font-size:11px}}
@media print{@page{size:A4;margin:14mm}html,body{height:auto!important;overflow:visible!important;background:white}#summaryDialog{position:static!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;border-radius:0}#summaryDialog::backdrop{display:none}#summaryDialog .dialog-head{padding:0 0 15px;break-inside:avoid}#summaryContent{padding:18px 0 0;overflow:visible}.summary-table{font-size:11px}.summary-table td,.summary-table th{padding:8px 5px}.summary-table tr{break-inside:avoid}.summary-note,.summary-footnote,.quote-company{font-size:10px;line-height:1.65}.summary-customer{font-size:11px;margin-bottom:12px}.summary-total{padding:13px 0}.summary-deposit{padding:9px 12px}.quote-brand{font-size:27px;margin-bottom:12px}.quote-company{break-inside:avoid;margin-top:16px}.print-block{display:block!important;padding:40px;font-size:18px}body.print-authorized .print-block{display:none!important}body:not(.print-authorized) #summaryDialog{display:none!important}}

.area-steppers{display:flex;flex-direction:column;gap:3px;margin:0 13px;flex-shrink:0}.area-steppers button{width:36px;height:24px;display:grid;place-items:center;border:1px solid #aec6e4;border-radius:4px;background:#e6effb;color:#205b9e;padding:3px;opacity:1}.area-steppers button svg{width:15px;height:10px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.area-steppers button:hover:not(:disabled){background:#cddff6}.area-steppers button:disabled{opacity:.4}@media(max-width:760px){.area-input input{width:100px}.area-steppers{margin:0 9px}.area-steppers button{width:37px;height:26px}.area-input output{font-size:12px}}

[hidden]{display:none!important}.building-section{padding:24px 26px;border-bottom:1px solid var(--line)}.building-section h2{font-size:17px;margin:0 0 14px}.building-options{display:flex;gap:7px;flex-wrap:wrap}.building-options button{flex:1;min-width:100px;border:1px solid #bbcee6;background:white;color:#315b89;padding:10px 7px;border-radius:6px;font-size:14px}.building-options button.active{background:#205ba1;color:white;border-color:#205ba1}#consultationNotice{padding:20px 0 4px}#consultationNotice h3{font-size:20px}#consultationNotice p{font-size:14px;line-height:1.8}#consultationNotice .primary{display:inline-block;margin:8px 0}.estimate-bar{flex-wrap:wrap}.estimate-warning{font-size:14px;line-height:1.8;color:#173f73;background:#eaf2ff;border-left:4px solid #2868b8;padding:13px 16px;margin:0;width:100%;white-space:normal}.estimate-bar>.estimate-warning{flex:0 0 100%}.summary-total-box{border:1px solid #b9cce7;margin:14px 0}.summary-total-box .summary-total{padding:14px;margin:0}.summary-total-box .estimate-warning{border:0;border-top:1px solid #b9cce7}.quote-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:17px}.quote-parties .summary-customer{grid-template-columns:1fr;margin:0;align-content:start}.supplier-info{margin:0;border:1px solid #cbd9eb;font-size:13px}.supplier-info>div{display:grid;grid-template-columns:85px 1fr;border-bottom:1px solid #dce5ef;min-height:30px}.supplier-info>div:last-child{border:0}.supplier-info dt{padding:5px 8px;background:#f0f5fc}.supplier-info dd{margin:0;padding:5px 8px;overflow-wrap:anywhere}.consultation-mode .visual,.consultation-mode .area-section,.consultation-mode .shape-section,.consultation-mode .materials-section,.consultation-mode .services,.consultation-mode .estimate-bar,.consultation-mode .bottom-notes{display:none}.consultation-mode .workspace{display:block;max-width:820px;margin:auto}
@media(max-width:600px){.quote-parties{grid-template-columns:1fr}.building-section{padding:20px}.estimate-warning{font-size:14px}.supplier-info{font-size:13px}}
@media print{.quote-parties{grid-template-columns:1fr 1fr;break-inside:avoid;gap:12px}.supplier-info{font-size:10px}.supplier-info>div{min-height:23px}.supplier-info dt,.supplier-info dd{padding:3px 6px}.estimate-warning{font-size:11px;line-height:1.65;padding:10px 12px}.summary-total-box{break-inside:avoid}.summary-total-box .summary-total{padding:10px}.summary-total-box .estimate-warning{color:#173f73!important}}

.estimate-actions{display:flex;gap:15px;align-items:center}.privacy-link{padding:6px 0;border:0;background:none;color:#245f9e;text-decoration:underline;text-underline-offset:4px;font-size:14px;cursor:pointer}.privacy-content{padding:20px 28px;font-size:15px;line-height:1.8}.privacy-content dt{font-weight:700;margin-top:17px}.privacy-content dd{margin:4px 0 0;color:#506782}.privacy-draft{background:#edf4fc;border-left:3px solid #3975ba;padding:12px;font-size:13px}.customer-form>.privacy-link{margin-top:18px}.customer-form .consent{margin-top:12px}@media(max-width:760px){.estimate-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.estimate-actions .primary{flex:1}.privacy-content{padding:18px 20px}}
#timberPreview[hidden]{display:none!important}.visual.precise .view-tabs,.visual.precise .canvas-wrap,.visual.precise .model-tools{display:none}.detail-request{margin:20px 0;padding:22px;background:white;border:1px solid #dbe5f0;border-radius:10px}.detail-request h2{font-size:19px;margin:0 0 8px}.detail-request p{font-size:13px;color:#687e97}.detail-request textarea{width:100%;min-height:110px;padding:12px;border:1px solid #cbd9e9;border-radius:6px;font:inherit}.detail-request label{display:block;margin:14px 0 8px}.detail-request a{display:inline-block;margin-top:12px}.model-stage-note{padding:0 27px;font-size:12px;color:#617e9c}@media(max-width:760px){#timberPreview{height:540px!important}}  .detail-followup{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.detail-followup a{margin:0}.detail-request input[type=file]{max-width:100%;padding:12px;border:1px dashed #96afd0;background:#f5f9ff}.detail-request .consent{display:flex;align-items:flex-start}.detail-request details{background:#f4f8fe;padding:12px;border-radius:8px;margin-top:12px;font-size:14px}.request-record{padding:15px;border:1px solid #dce5ef;border-radius:8px;margin-top:12px}.request-record a{display:block;margin-top:4px;font-size:14px;text-decoration:underline}#detailStatus{font-weight:600;color:#205b9a}#drawingList{font-size:14px;overflow-wrap:anywhere} @media print{iframe{display:none!important}} 
.supply-presets{margin-top:16px;margin-bottom:22px;gap:8px;flex-wrap:wrap}.supply-presets button{min-height:40px;font-size:14px;padding:9px 12px}

.company-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0;border-radius:50%}.quote-brand .company-logo{float:left;margin-right:14px}.quote-brand{min-height:64px}@media(max-width:760px){.brand .company-logo{width:48px;height:48px}}
[hidden]{display:none!important}.quote-tabs{display:flex;gap:10px;margin:24px 0}.quote-tabs button{flex:1;padding:18px;border:1px solid #9bb8da;border-radius:10px;background:white;color:#31587e;font:inherit;font-weight:700;cursor:pointer}.quote-tabs button[aria-pressed=true]{background:#1760a7;color:white;border-color:#1760a7}.detail-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eaf3ff;border:1px solid #cbdff6;border-radius:12px;padding:24px;margin:24px 0}.carried-conditions{padding:18px;background:#f1f6fc;border-radius:10px;margin:20px 0}.quote-tabs button:focus-visible{outline:3px solid #6ab6ff;outline-offset:3px}@media(max-width:650px){.quote-tabs button{padding:14px 8px}.detail-cta{flex-direction:column;align-items:stretch}}@media print{.quote-tabs,.detail-cta{display:none}}


/* ---- 운영 연결 추가 (estimate) ---- */
.privacy-content .privacy-body{white-space:pre-line}
.privacy-content .privacy-pending{color:#8a5a1e}
.detail-request details .privacy-link{font-size:13px}
/* 원본 인쇄 규칙은 발급 전 안내(.print-block)까지 숨겨 빈 페이지가 출력되므로, 발급 전에는 안내 문구가 인쇄되도록 우선순위를 보완 */
@media print{body:not(.print-authorized)>.print-block:not(#summaryDialog){display:block!important}}

/* 발급 화면과 A4 출력 왼쪽 위에 동일한 가로형 회사 로고를 표시합니다. */
#summaryDialog .quote-brand { min-height: 0; margin-bottom: 14px; text-align: left; }
#summaryDialog .quote-logo { display: block; width: 220px; max-width: 100%; height: auto; object-fit: contain; }
#summaryDialog .quote-brand small { margin-top: 6px; letter-spacing: 1px; }
@media print {
  #summaryDialog .quote-logo { width: 56mm; height: auto; }
  #summaryDialog .quote-brand { break-inside: avoid; }
}

/* 화면의 제목·본문·안내 글자 비율과 비용 항목 정렬. 인쇄 규칙은 별도로 유지합니다. */
@media screen {
  .page-title h1 { font-size: clamp(24px, 2.1vw, 30px); line-height: 1.4; }
  .page-title > p, .section-caption, .area-label, .option-desc, .supply-note,
  .services p, .input-hint, .bottom-notes p, .detail-request p { font-size: 14px; line-height: 1.7; }
  .section-heading h2 { font-size: 18px; }
  .check-label { font-size: 16px; min-width: 0; }
  .option-head { flex-wrap: wrap; gap: 8px; }
  .option-price { font-size: 15px; margin-left: auto; }
  .option-desc, .area-label span, .section-caption { color: #5d7187; }
  .area-label span { font-size: 13px; }
  .presets button, .mode-control button, .shape-options button { font-size: 14px; min-height: 40px; }
  .supply-presets button { flex: 1 1 110px; }
  .services > div { align-items: start; gap: 16px; padding: 7px 0; margin: 0; font-size: 14px; }
  .services > div > span { flex: 1; }
  .services strong { font-size: 14px; font-weight: 600; text-align: right; max-width: 56%; white-space: pre-line; overflow-wrap: anywhere; }
  .services strong small { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: #5d7187; }
  .services p { white-space: pre-line; }
  .estimate-value strong { font-size: clamp(27px, 2.7vw, 36px); }
  .estimate-label small, .estimate-value small { font-size: 13px; line-height: 1.6; white-space: normal; }
  .estimate-actions { flex-wrap: wrap; }
  .quote-tabs button { font-size: 16px; }
}
@media screen and (max-width:760px) {
  .estimate-bar { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .estimate-label small { max-width: none; }
  .estimate-value { margin-left: 0; text-align: left; white-space: normal; }
  .estimate-actions { grid-column: 1 / -1; }
  .estimate-actions .primary { flex-basis: 100%; }
  .area-section, .shape-section, .materials-section, .services { padding-left: 18px; padding-right: 18px; }
  .option { padding: 12px; }
  .option-head .check-label { flex-basis: 100%; }
  .option-price { margin-left: 27px; }
  .services > div { gap: 10px; }
  .quote-tabs button { font-size: 15px; }
  .summary-area { gap: 10px; flex-wrap: wrap; }
}

.summary-table .service-row td:last-child { white-space: pre-line; overflow-wrap: anywhere; }
.summary-note { white-space: pre-line; }
/* 기본 안내문과 비용 표가 A4에서 불필요하게 다음 장으로 넘어가지 않도록 간격을 맞춥니다. */
@media print {
  #summaryDialog .quote-logo { width: 50mm; }
  #summaryDialog .quote-brand { margin-bottom: 9px; }
  #summaryDialog .dialog-head { padding-bottom: 10px; }
  #summaryDialog .dialog-head h2 { font-size: 20px; }
  #summaryContent { padding-top: 12px; }
  .quote-meta { margin-bottom: 10px; }
  .supplier-info > div { min-height: 18px; }
  .supplier-info dt, .supplier-info dd { padding: 2px 5px; }
  .summary-area { margin-bottom: 12px; }
  .summary-table td, .summary-table th { padding: 6px 5px; }
  .summary-note { padding: 10px; margin: 10px 0; }
  .summary-footnote { margin-top: 10px; }
  .quote-company { margin-top: 10px; padding-top: 10px; }
}

.additional-row-note { display: block; margin-top: 3px; font-size: .9em; color: #5d7187; }
