:root{--navy:#1f2a44;--gold:#b8924a;--slate:#63697a;--light:#f5f6f8;--line:#dee1e6;--white:#fff}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--navy);-webkit-font-smoothing:antialiased;background:#e7e9ec;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}.toolbar{justify-content:flex-end;gap:10px;max-width:210mm;margin:16px auto 10px;display:flex}.toolbar button,.primary-button,.secondary-button{border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;border-radius:4px;padding:8px 15px;font-family:inherit;font-size:11px;font-weight:600}.secondary-button{background:var(--white);color:var(--navy)}.toolbar button:disabled{cursor:not-allowed;opacity:.5}.hint{color:#5a5a5a;text-align:right;max-width:210mm;margin:0 auto 10px;font-size:11px}.row-toolbar{color:var(--slate);justify-content:flex-end;align-items:center;gap:6pt;margin-top:12pt;font-size:7.5pt;display:flex}.row-toolbar label{align-items:center;gap:4pt;display:inline-flex}.row-toolbar select,.row-toolbar button,.terms button,.delete-button,.add-button{font:inherit;border:1px solid var(--line);background:var(--white);color:var(--navy);border-radius:4px;padding:3pt 5pt}.row-toolbar button,.terms button,.delete-button,.add-button{cursor:pointer;font-weight:600}.page{background:var(--white);-webkit-print-color-adjust:exact;print-color-adjust:exact;width:210mm;min-height:297mm;margin:0 auto 24px;padding:12mm 14mm;font-size:10pt;line-height:1.3;box-shadow:0 8px 26px #1f2a4424}.head{justify-content:space-between;align-items:flex-start;display:flex}.brand{letter-spacing:.2px;color:var(--navy);font-size:20pt;font-weight:700}.doc-title{text-align:right}.doc-title h1{letter-spacing:1px;margin:0;font-size:17pt;font-weight:700}.doc-title .no{color:var(--slate);margin-top:3px;font-size:8.5pt}.divider{border:none;border-top:1.6px solid var(--gold);margin:9pt 0 10pt}.info{grid-template-columns:1.15fr 1.1fr 1fr;gap:16pt;display:grid}.info .lbl{letter-spacing:1.8px;color:var(--slate);margin-bottom:3pt;font-size:7.5pt;font-weight:700}.info p{margin:1pt 0;font-size:8.6pt;line-height:1.4}.info .name{font-size:9.3pt;font-weight:700}.info p.addr{white-space:nowrap;font-size:7.7pt}[contenteditable=true]{white-space:pre-wrap;border-bottom:1px dashed #0000;border-radius:2px;outline:none}[contenteditable=true]:hover{border-bottom:1px dashed var(--gold);background:#b8924a1a}[contenteditable=true]:focus{border-bottom:1px solid var(--gold);background:#b8924a24}table{border-collapse:collapse;width:100%;margin-top:6pt;font-size:8.7pt}thead th{background:var(--navy);color:var(--white);letter-spacing:.4px;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:5.5pt 6pt;font-size:7.8pt;font-weight:700}thead th.num,td.num{text-align:right}thead th.center,td.center{text-align:center}tbody tr.item td{border-bottom:.75pt solid var(--line);vertical-align:top;padding:5pt 6pt;font-size:8.2pt}tbody tr.item:nth-child(2n){background:var(--light);-webkit-print-color-adjust:exact;print-color-adjust:exact}td.detail{color:var(--slate);font-size:7pt;line-height:1.3}td.amount{font-weight:700}td.merged{font-size:7.8pt;font-weight:600}.group-row td{color:var(--navy);border-bottom:1.4pt solid var(--navy);letter-spacing:.3px;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:11pt 6pt 4pt;font-size:8.8pt;font-weight:700}.group-row:first-child td{padding-top:5pt}.subtotal-row td{background:var(--light);border-bottom:.75pt solid var(--line);color:var(--slate);-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:5pt 6pt;font-size:8.7pt;font-weight:700}.subtotal-row td.amount{color:var(--navy)}.note-row td{color:var(--slate);padding:4pt 6pt 2pt;font-size:6.9pt;font-style:italic}.row-action-cell{white-space:nowrap;background:var(--white);border-bottom:.75pt solid var(--line);text-align:right;width:1%;padding:3pt}.delete-button{padding:2pt 4pt;font-size:6.8pt}.totals{width:195pt;margin-top:10pt;margin-left:auto}.totals .row{white-space:nowrap;justify-content:space-between;padding:2.6pt 3pt;font-size:8.8pt;display:flex}.totals .row .l{color:var(--slate)}.totals .grand{border-top:1.4pt solid var(--navy);white-space:nowrap;justify-content:space-between;align-items:baseline;gap:10pt;margin-top:3pt;padding:6pt 3pt 2pt;display:flex}.totals .grand .l{color:var(--navy);font-size:9.3pt;font-weight:700}.totals .grand .r{color:var(--navy);font-size:12.5pt;font-weight:700}.terms{border-top:.75pt solid var(--line);margin-top:15pt;padding-top:8pt}.terms h4{letter-spacing:1.2px;color:var(--navy);margin:0 0 5pt;font-size:8.3pt}.terms ol{color:var(--slate);margin:0;padding-left:13pt;font-size:7.7pt;line-height:1.6}.terms li{margin-bottom:2pt;padding-right:30pt;position:relative}.terms li .delete-button{position:absolute;top:0;right:0}.terms .add-button{margin-top:5pt;font-size:7.2pt}.thanks{color:var(--navy);margin-top:14pt;font-size:9pt;font-style:italic}.sign{gap:40pt;margin-top:24pt;display:flex}.sign .line{border-top:.9pt solid var(--navy);color:var(--slate);flex:1;padding-top:3pt;font-size:7.6pt}.list-page,.home{min-height:100vh;padding:32px}.list-page{width:min(980px,100%);margin:0 auto}.list-header{justify-content:space-between;align-items:center;gap:20px;margin:28px 0 20px;display:flex}.list-header h1{letter-spacing:0;margin:0 0 6px;font-size:28px}.list-header p,.empty-state p{color:var(--slate);margin:0;line-height:1.5}.quotation-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.quotation-card,.empty-state,.dialog{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 26px #1f2a441a}.quotation-card{padding:18px}.quotation-card h2{margin:0 0 5px;font-size:18px}.quotation-card .campaign{color:var(--slate);margin:0 0 16px}.quotation-card dl{gap:7px;margin:0 0 16px;font-size:13px;display:grid}.quotation-card dl div{justify-content:space-between;gap:12px;display:flex}.quotation-card dt{color:var(--slate)}.quotation-card dd{text-align:right;margin:0}.card-actions,.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.empty-state{text-align:center;padding:34px}.empty-state h1,.empty-state h2{margin:0 0 8px;font-size:22px}.empty-state .primary-button{margin-top:18px}.status-line{max-width:210mm;min-height:22px;color:var(--slate);justify-content:flex-end;align-items:center;gap:8px;margin:0 auto 10px;font-size:12px;display:flex}.list-status{justify-content:flex-start;max-width:none}.dirty-badge{border:1px solid var(--gold);color:var(--navy);background:#b8924a1f;border-radius:999px;align-items:center;padding:3px 8px;font-weight:700;display:inline-flex}.error-text{color:#b3261e;font-weight:700}.inline-retry-button{border:1px solid var(--line);background:var(--white);color:var(--navy);cursor:pointer;font:inherit;border-radius:4px;padding:3px 8px;font-weight:700}.inline-retry-button:disabled{cursor:not-allowed;opacity:.5}.dialog-backdrop{z-index:50;background:#1f2a4459;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{width:min(420px,100%);padding:22px}.dialog h2{margin:0 0 16px;font-size:20px}.dialog label{gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:grid}.dialog input{border:1px solid var(--line);width:100%;font:inherit;color:var(--navy);border-radius:4px;padding:9px 10px}.form-error{color:#b3261e;margin:0 0 12px;font-size:12px}@media print{body{background:#fff}.toolbar,.hint,.status-line,.list-page,.row-toolbar,.row-action-cell,.dialog-backdrop,.delete-button,.add-button,.terms button{display:none}.page{box-shadow:none;page-break-after:always;min-height:0;margin:0}.page:last-child{page-break-after:auto}@page{size:A4;margin:0}}
