/* 報價預覽獨立列印，不包含任何內部導覽、財務面板或操作按鈕。 */
.quote-dialog{width:min(900px,96vw);max-height:94dvh;padding:0;border:1px solid #ccc;overflow:auto}
.quote-toolbar{position:sticky;top:0;background:#f5f5f5;border-bottom:1px solid #ddd;padding:16px;display:flex;gap:10px;flex-wrap:wrap;z-index:1}
.quote-toolbar p{width:100%;margin:0;font-size:12px;color:#666}.quote-toolbar .button{min-height:44px}
.quote-preview-error{color:#8a251e;padding:0 20px}
.workflow-next{padding:25px;width:min(550px,94vw);max-height:90dvh;overflow:auto}.workflow-next .button{min-height:44px;margin:6px 6px 6px 0}.workflow-next p{line-height:1.8}
@media print{
 body:has(#quote-export-dialog[open])>*:not(#quote-export-dialog){display:none!important}
 #quote-export-dialog[open]{display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
 #quote-export-dialog::backdrop{background:transparent}
 #quote-export-dialog .quote-toolbar,#quote-export-dialog .quote-preview-error{display:none!important}
}



 *{box-sizing:border-box}.quote-sheet{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang TC","Microsoft JhengHei",sans-serif;color:#0a0a0a;background:#fff;max-width:800px;margin:auto;padding:42px;line-height:1.7;font-size:14px;overflow-wrap:anywhere}
 .quote-brand{background:#0a0a0a;color:#f5f5f5;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.quote-brand img{display:block;width:160px;height:auto}.quote-brand small{font-size:10px;letter-spacing:2px;display:block;margin-top:10px}.quote-brand p{margin:0;font-size:12px}.quote-title{display:flex;justify-content:space-between;align-items:end;margin:38px 0 22px;gap:20px}.quote-title h1{font-size:32px;margin:0;letter-spacing:-1px}.quote-title p{margin:0;color:#666}.quote-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #222;padding:22px 0}.quote-meta p{margin:0}.quote-meta small{display:block;color:#777}.quote-sheet table{width:100%;border-collapse:collapse;margin:22px 0;table-layout:fixed}.quote-sheet th,.quote-sheet td{padding:16px 12px;border-bottom:1px solid #ddd;text-align:left;color:inherit;background:none}.quote-sheet th:last-child,.quote-sheet td:last-child{text-align:right;width:34%}.quote-total{text-align:right;font-size:15px;margin:25px 0 45px}.quote-total strong{display:block;font-size:29px}.quote-note{border-top:1px solid #ddd;padding-top:18px;font-size:12px;color:#666}.quote-note p{margin:6px 0}.quote-id{font-size:10px;color:#888;margin-top:30px}.quote-state{font-size:12px;border:1px solid #aaa;padding:5px 10px;white-space:nowrap}.quote-sheet footer{display:block;padding:0;margin-top:32px;font-size:10px;color:#888;border:0}
 .quote-items th:first-child,.quote-items td:first-child{width:43%}.quote-items th:nth-child(2),.quote-items td:nth-child(2){width:17%}.quote-items th:nth-child(3),.quote-items td:nth-child(3),.quote-items th:last-child,.quote-items td:last-child{width:20%;text-align:right}.quote-items td{vertical-align:top}.quote-items td:first-child{white-space:pre-wrap}.quote-terms{margin:25px 0}.quote-terms h2{font-size:16px}.quote-terms p{white-space:pre-wrap}.quote-currency{font-size:12px;color:#666;text-align:right}
 @page{size:A4;margin:14mm}
 @media(max-width:600px){.quote-sheet{padding:20px}.quote-brand{display:block}.quote-brand p{margin-top:18px}.quote-title h1{font-size:25px}.quote-meta{grid-template-columns:1fr}.quote-total strong{font-size:24px}}
 @media print{.quote-sheet{padding:0;max-width:none;font-size:11pt}.quote-brand,.quote-meta,tr,.quote-total{break-inside:avoid}.quote-sheet thead{display:table-header-group}.quote-sheet footer{position:static}}
 

.quote-line-editor{grid-column:1/-1;border-top:1px solid #ccc;margin-top:15px;padding-top:18px;min-width:0}
.quote-line-editor p{font-size:12px;color:#666;line-height:1.8}
.quote-line{display:grid;grid-template-columns:minmax(180px,3fr) minmax(80px,1fr) minmax(60px,1fr) minmax(100px,1.5fr);gap:12px;padding:18px 0;border-bottom:1px solid #ddd;align-items:end}
.quote-line-editor label{display:flex;flex-direction:column;gap:8px;margin:15px 0}
.quote-line-editor textarea{width:100%;resize:vertical;min-height:80px;padding:12px;font:inherit;border:1px solid #ccc;border-radius:5px;background:#fff;color:#111}
.quote-line-editor input{width:100%;min-width:0;font-size:16px}
.quote-line [data-line-total]{grid-column:1/3;font-size:12px;color:#555}
.quote-line [data-remove-line]{grid-column:3/-1;justify-self:end;min-height:44px}
@media(max-width:700px){.quote-line{grid-template-columns:1fr 1fr}.quote-line>label:first-child{grid-column:1/-1}.quote-line [data-line-total]{grid-column:1}.quote-line [data-remove-line]{grid-column:2}}

@media(max-width:700px){.quote-line-editor textarea{font-size:16px}}
