/* Quotation editor, preview and payment log. Uses the workspace tokens from styles.css. */
.form-help{margin:-8px 0 0;font-size:13px;line-height:1.5}
.form-help:empty{display:none}
#quote-form #form-error,#approve-form #form-error{color:var(--red);font-size:14px;margin-top:14px}
#quote-form #form-error:empty{display:none}

/* Status line above the preview */
.quote-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:18px;font-size:14px;color:var(--muted)}
.quote-expired{flex-basis:100%;color:var(--amber);font-weight:600}
.quote-share-hint{margin-top:14px;font-size:13px;line-height:1.6;color:var(--muted)}
.quote-foot .btn.primary{flex-grow:2}

/* Quotation document */
.quote-paper-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#f5f7f8;padding:16px}
.quote-paper{min-width:560px;max-width:760px;margin:0 auto;background:#fff;border-radius:6px;box-shadow:0 1px 3px #112f3514;padding:36px 40px;font-size:14px;line-height:1.5}
.quote-paper-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.quote-shop{display:block;font:800 20px/1.2 Manrope,sans-serif;letter-spacing:-.4px}
.quote-paper-head small{display:block;margin-top:4px;color:var(--muted)}
.quote-paper-title{text-align:right}
.quote-paper-title h3{font:800 26px/1.1 Manrope,sans-serif;letter-spacing:-.6px;color:var(--accent)}
.quote-paper-title dl{margin:10px 0 0;display:grid;gap:2px}
.quote-paper-title dl div{display:flex;justify-content:flex-end;gap:12px}
.quote-paper-title dt{color:var(--muted)}
.quote-paper-title dd{margin:0;font-weight:700;min-width:96px}
.quote-parties{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:22px 0}
.quote-parties small{display:block;color:var(--muted);font-weight:600;margin-bottom:4px}
.quote-parties strong{display:block;font-size:16px}
.quote-parties span{display:block;color:var(--muted)}
.quote-table{width:100%;border-collapse:collapse}
.quote-table th{background:#eef5f3;color:var(--muted);font-size:12px;font-weight:700;text-align:right;padding:10px 12px}
.quote-table td{padding:12px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;white-space:nowrap}
.quote-table th:first-child,.quote-table td:first-child{text-align:left;white-space:normal;width:55%}
.quote-table td:last-child{font-weight:700}
.quote-totals{margin:18px 0 0 auto;max-width:300px;display:grid;gap:6px}
.quote-total-row{display:flex;justify-content:space-between;gap:16px;color:var(--muted)}
.quote-total-row strong{color:var(--ink)}
.quote-total-row.is-grand{margin-top:6px;padding:12px 14px;border-radius:8px;background:var(--accent);color:#fff;font-size:16px}
.quote-total-row.is-grand strong{color:#fff;font-size:18px}
.quote-notes{margin-top:24px}
.quote-notes small{display:block;color:var(--muted);font-weight:600;margin-bottom:4px}

/* Editor */
.quote-editor .subtitle{margin:0 0 18px}
.quote-lines{border:0;margin:0 0 20px;padding:0;display:grid;gap:12px}
.quote-lines legend{font:700 16px Manrope,sans-serif;margin-bottom:10px}
.quote-lines>.btn{justify-self:start}
.quote-line{display:grid;grid-template-columns:minmax(0,1fr) 84px 140px 120px 40px;gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--line)}
.quote-line .field{min-width:0}
.quote-line-amount{align-self:center;padding-top:22px;text-align:right;font-weight:700;font-size:14px;white-space:nowrap}
.quote-line-remove{align-self:end;margin-bottom:4px}
.quote-line-remove:disabled{visibility:hidden}
.quote-settings{margin-bottom:8px}
.quote-totals-live{max-width:340px}
.quote-check{flex-direction:row;align-items:center;gap:10px;font-weight:600;cursor:pointer}
/* Undo the text-input styles that .field applies to every input. */
.field.quote-check input{flex:none;width:20px;height:20px;min-height:0;margin:0;padding:0;border:0;border-radius:4px;background:none;box-shadow:none;accent-color:var(--accent);cursor:pointer}
.field.quote-check input:focus{box-shadow:none}
.field.quote-check input:focus-visible{outline:3px solid #53b5ac;outline-offset:2px}

/* Payment log in the order dialog */
.payment-log-title{margin:24px 0 8px;font-size:15px}
.payment-log{list-style:none;margin:0;padding:0}
.payment-log li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.payment-log small{color:var(--muted)}

@media(max-width:760px){
 .quote-line{grid-template-columns:1fr 1fr;gap:10px}
 .quote-line-desc{grid-column:1/-1}
 .quote-line-amount{padding-top:0;text-align:left}
 .quote-line-remove{justify-self:end;margin:0}
 .quote-paper{padding:24px 22px}
 .quote-parties{grid-template-columns:1fr}
}

/* Order dialogs can hold many actions; let them wrap instead of overflowing. */
.dialog-foot{flex-wrap:wrap}
