.zqb-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.zqb-card{background:#fff;border:1px solid #d8e2dd;border-radius:14px;padding:20px;margin:16px 0}.zqb-card h2{color:#174f46;margin-top:0}.zqb-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zqb-card input,.zqb-card select,.zqb-card textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd8d2;border-radius:8px}.zqb-card textarea{margin-top:12px;min-height:80px}.zqb-line{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;margin:8px 0}.zqb-card button,.zqb-actions button{background:#1d6b5e;color:#fff;border:0;border-radius:8px;padding:9px 14px;cursor:pointer}.zqb-gst{margin:14px 0;padding:12px;border:1px dashed #b9c8c2;border-radius:10px}.zqb-gst input{margin:6px 0}.zqb-actions{display:flex;gap:10px}#zmodal{display:none;position:fixed;inset:0;background:#0009;z-index:99999;padding:30px;overflow:auto}#zpaper{max-width:800px;margin:auto;background:#fff;padding:45px;position:relative}#zclose{position:absolute;right:10px;top:10px}.head{position:relative;text-align:center;border-bottom:3px solid #174f46;padding-bottom:12px}.head h1{color:#174f46}.date{position:absolute;right:0;top:0;text-align:right}@media(max-width:760px){.zqb-grid,.zqb-fields{grid-template-columns:1fr}.zqb-line{grid-template-columns:1fr 1fr}}@media print{body *{visibility:hidden}#zpaper,#zpaper *{visibility:visible}#zpaper{position:absolute;left:0;top:0;width:100%;max-width:none}#zclose,#zprint{display:none}}
.zqb-invoice-date{display:flex;justify-content:flex-end;align-items:end;gap:10px;margin:0 0 14px}.zqb-invoice-date label{font-weight:600;color:#174f46}.zqb-invoice-date input{width:180px;padding:10px;border:1px solid #ccd8d2;border-radius:8px}
.zqb-adjust-box{border:1px dashed #b9c8c2;border-radius:10px;padding:14px;margin:0 0 14px}.zqb-adjust-head{font-size:17px;font-weight:600;color:#174f46;margin-bottom:10px}.zqb-discount-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zqb-adjust-box label,.zqb-gst label{display:block;margin-bottom:6px;color:#4c5d57}.zqb-check{display:flex!important;align-items:center;gap:8px;margin-bottom:10px!important}.zqb-check input{width:auto!important;margin:0!important}.zqb-tax-split{margin-top:10px}
@media(max-width:760px){.zqb-discount-grid{grid-template-columns:1fr}.zqb-invoice-date{justify-content:flex-start;align-items:flex-start;flex-direction:column}.zqb-invoice-date input{width:100%}}

/* Quotation preview */
#zmodal{position:fixed;inset:0;background:rgba(20,30,35,.58);z-index:99999;overflow:auto;padding:28px}
#zpaper{background:#fff;max-width:1000px;margin:0 auto;padding:44px 52px;box-shadow:0 20px 60px rgba(0,0,0,.25);color:#263d43;font-family:Arial,sans-serif}
#zclose{float:right;border:0;background:none;font-size:24px;cursor:pointer}
.quote-header{display:flex;justify-content:space-between;gap:30px;border-bottom:3px solid #245d57;padding-bottom:18px}
.brand{font-size:32px;letter-spacing:5px;color:#1d4f4c;font-weight:500}.tagline{font-size:17px;color:#66757a;margin-top:6px}
.invoice-date{text-align:right;display:flex;flex-direction:column;gap:7px;color:#26474a}.invoice-date span{font-size:17px}
.quote-title{text-align:center;font-size:32px;letter-spacing:3px;color:#1d4f4c;margin:22px 0}
.guest-box{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:#f4f7f6;border:1px solid #dce7e3;border-radius:8px;padding:16px 20px}
.guest-box div{display:flex;gap:8px}.guest-box b{min-width:58px;color:#315b58}.quote-section{margin-top:26px}.quote-section h3{font-size:21px;color:#1d4f4c;margin:0 0 10px;border-bottom:1px solid #cfdcd7;padding-bottom:8px}.quote-section h4{font-size:16px;margin:18px 0 6px;color:#315b58}
.quote-section table{width:100%;border-collapse:collapse}.quote-section th{background:#eaf2ef;color:#254e4b;text-align:left;padding:10px;font-size:13px}.quote-section td{padding:11px 10px;border-bottom:1px solid #e0e7e4;vertical-align:top}.quote-section small{display:block;color:#718084;font-size:11px;margin-top:4px}.right{text-align:right}
.quote-totals{width:min(430px,100%);margin:28px 0 0 auto;border-top:2px solid #c8d8d2;padding-top:8px}.quote-totals div{display:flex;justify-content:space-between;padding:7px 0}.quote-totals .grand{font-size:23px;color:#184a46;border-top:2px solid #245d57;margin-top:8px;padding-top:12px}.quote-totals .balance{font-size:17px;font-weight:700}.quote-notes{margin-top:25px;padding:14px;background:#f7f8f7;border-left:4px solid #245d57}.quote-footer{text-align:center;margin-top:34px;padding-top:15px;border-top:1px solid #d7e0dd;color:#68787a}
@media(max-width:700px){#zpaper{padding:28px 18px}.quote-header,.guest-box{display:block}.invoice-date{text-align:left;margin-top:15px}.guest-box div{margin:8px 0}.quote-section{overflow-x:auto}.brand{font-size:24px;letter-spacing:2px}}
@media print{body *{visibility:hidden!important}#zmodal,#zmodal *{visibility:visible!important}#zmodal{position:absolute;inset:0;background:#fff;padding:0}#zpaper{box-shadow:none;max-width:none;margin:0;padding:18mm}#zclose,#zprint{display:none!important}}

.zqb-top-meta{display:flex;justify-content:flex-end;align-items:end;gap:22px;margin:0 0 14px}.zqb-quote-number,.zqb-invoice-date{margin:0}.zqb-quote-number{display:flex;align-items:end;gap:10px}.zqb-quote-number label{font-weight:600;color:#174f46}.zqb-quote-number input{width:180px;padding:10px;border:1px solid #ccd8d2;border-radius:8px}.zqb-inline-field{display:flex;flex-direction:column;gap:4px;color:#52645f;font-size:12px}.zqb-inline-field span{font-weight:600}.zqb-inline-field input{min-width:0}.invoice-date{display:flex;flex-direction:column}.invoice-date b+span{margin-top:4px}@media(max-width:760px){.zqb-top-meta{flex-direction:column;align-items:stretch;gap:10px}.zqb-quote-number{flex-direction:column;align-items:stretch}.zqb-quote-number input{width:100%}.zqb-line{grid-template-columns:1fr 1fr}.zqb-line select{grid-column:1/-1}.zqb-line button{grid-column:1/-1}}

/* v1.8 compact quotation header and print layout */
.zqb-valid-date{display:flex;align-items:end;gap:10px}.zqb-valid-date label{font-weight:600;color:#174f46}.zqb-valid-date input{width:180px;padding:10px;border:1px solid #ccd8d2;border-radius:8px}
.zqb-top-meta{flex-wrap:wrap}

#zpaper .quote-header{padding-bottom:10px;min-height:0}
#zpaper .quote-header .brand{font-size:29px;letter-spacing:4px;line-height:1.1}
#zpaper .quote-header .tagline{font-size:15px;margin-top:4px}
.quote-meta-row{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:8px 0 6px;color:#4b6062;font-size:12px;border-bottom:1px solid #d7e0dd}
.quote-meta-row span{white-space:nowrap}.quote-meta-row b{color:#244e4b}
#zpaper .quote-title{font-size:27px;letter-spacing:3px;margin:12px 0 14px}
#zpaper .guest-box{padding:12px 16px;gap:8px}
#zpaper .quote-section{margin-top:16px}
#zpaper .quote-section h3{margin-bottom:7px;padding-bottom:6px}
#zpaper .quote-section h4{margin:10px 0 4px}
#zpaper .quote-section th{padding:7px 8px}
#zpaper .quote-section td{padding:7px 8px}
#zpaper .quote-totals{margin-top:16px}.quote-totals div{padding:4px 0}
#zpaper .quote-totals .grand{font-size:20px;margin-top:5px;padding-top:8px}
#zpaper .quote-footer{margin-top:16px;padding-top:10px}
.zqb-print-button{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;background:#1d6b5e!important;color:#fff!important;border:0!important;border-radius:7px!important;padding:11px 18px!important;font-size:15px;font-weight:600;box-shadow:0 3px 8px rgba(29,107,94,.18)}
.zqb-print-button:hover{background:#15574c!important}
#zpaper>p:has(.zqb-print-button){margin:18px 0 0;text-align:center}

@media(max-width:760px){.zqb-valid-date{flex-direction:column;align-items:stretch}.zqb-valid-date input{width:100%}.quote-meta-row{justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:4px}.quote-meta-row span{white-space:normal}}

@media print{
 @page{size:A4 portrait;margin:9mm}
 html,body{margin:0!important;padding:0!important;background:#fff!important}
 #zmodal{position:static!important;display:block!important;width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important;padding:0!important;margin:0!important}
 #zpaper{position:static!important;width:auto!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;overflow:visible!important}
 #zinvoice{width:100%!important}
 #zpaper .quote-header{padding-bottom:7px!important}
 #zpaper .brand{font-size:24px!important;letter-spacing:3px!important}
 #zpaper .tagline{font-size:12px!important}
 #zpaper .quote-meta-row{font-size:10px!important;padding:5px 0!important;gap:12px!important}
 #zpaper .quote-title{font-size:22px!important;margin:8px 0 9px!important}
 #zpaper .guest-box{padding:8px 11px!important;font-size:11px!important}
 #zpaper .quote-section{margin-top:10px!important;break-inside:avoid-page;page-break-inside:avoid}
 #zpaper .quote-section h3{font-size:16px!important;margin-bottom:4px!important;padding-bottom:4px!important}
 #zpaper .quote-section h4{font-size:12px!important;margin:6px 0 2px!important}
 #zpaper .quote-section th{font-size:9px!important;padding:4px 5px!important}
 #zpaper .quote-section td{font-size:9px!important;padding:4px 5px!important}
 #zpaper .quote-section small{font-size:8px!important;margin-top:1px!important}
 #zpaper .quote-totals{margin-top:10px!important;font-size:10px!important;width:52%!important}
 #zpaper .quote-totals div{padding:2px 0!important}
 #zpaper .quote-totals .grand{font-size:16px!important;margin-top:3px!important;padding-top:5px!important}
 #zpaper .quote-notes{margin-top:8px!important;padding:7px!important;font-size:10px!important}
 #zpaper .quote-footer{margin-top:9px!important;padding-top:6px!important;font-size:10px!important}
 #zclose,#zprint,#zpaper>p{display:none!important}
}
