.quote-editor-dialog { box-sizing:border-box; width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:24px; border:1px solid var(--border,#d8dfe5); border-radius:14px; background:#fff; color:var(--ink,#1f2937); overflow:hidden; box-shadow:0 20px 60px #172d4130; }
.quote-editor-dialog[open] { display:flex; flex-direction:column; }
.quote-editor-dialog #quote-form { display:flex; flex-direction:column; min-height:0; }
.quote-editor-dialog .quote-editor-body { overflow:auto; min-height:0; padding:3px; }
.quote-editor-dialog > h2,.quote-editor-dialog > p,.quote-editor-dialog footer { flex-shrink:0; }
.quote-editor-dialog::backdrop { background:#172d4166; }
.quote-editor-dialog h2 { margin:0 0 8px; font-size:20px; }
.quote-editor-dialog h3 { margin:12px 0; font-size:16px; }
.quote-editor-dialog p { margin:10px 0; overflow-wrap:anywhere; }
.quote-editor-dialog fieldset { border:0; padding:0; margin:16px 0; min-width:0; }
.quote-editor-dialog .quote-editor-legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.quote-editor-dialog .field { margin-bottom:14px; min-width:0; }
.quote-editor-dialog .form-grid { gap:0 18px; }
.quote-editor-dialog .textarea { min-height:80px; }
.quote-editor-dialog button { min-height:44px; padding:10px 14px; border:1px solid #bdc9d4; border-radius:8px; background:#fff; color:#243e52; font:inherit; font-weight:600; cursor:pointer; }
.quote-editor-dialog button:disabled { opacity:.55; cursor:wait; }
.quote-editor-dialog button:focus-visible,.quote-editor-dialog a:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.quote-editor-dialog button[type=submit] { background:#23216b; color:white; border-color:#23216b; }
.quote-editor-dialog footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding-top:14px; margin-top:12px; border-top:1px solid #e2e8f0; }
.quote-editor-dialog [data-qs-status] { line-height:1.7; }
.quote-editor-dialog [role=alert] { color:#a32727; }
.quote-editor-dialog [data-qs-key] { font-size:12px; color:#586879; }
.quote-editor-dialog [data-qs-adopted],.quote-editor-dialog [data-qs-discard],.quote-editor-dialog [data-qs-review] { background:#f5f7f9; padding:14px; border-radius:8px; }
.quote-editor-dialog [data-qs-discard] button { margin:4px 6px 4px 0; }
.quote-editor-comparison { overflow:auto; margin:12px 0; }
.quote-editor-comparison table { width:100%; table-layout:fixed; border-collapse:collapse; min-width:340px; }
.quote-editor-comparison th,.quote-editor-comparison td { border:1px solid #d8dfe5; padding:8px; vertical-align:top; text-align:left; overflow-wrap:anywhere; white-space:pre-wrap; }
.quote-editor-comparison th:first-child { width:5em; }
.quote-editor-dialog [hidden] { display:none!important; }
@media(max-width:540px) { .quote-editor-dialog { padding:18px; } .quote-editor-dialog .form-grid { grid-template-columns:1fr; } .quote-editor-dialog footer { flex-direction:column-reverse; } .quote-editor-dialog footer button { width:100%; } }
.project-quote-recovery { padding: 16px; background: var(--color-paper, #fff); border: 1px solid var(--color-line, #d5d8de); border-radius: 8px; margin-bottom: 16px; }
.project-quote-recovery p { margin: 0 0 12px; line-height: 1.6; }
.project-quote-recovery .btn { min-height: 44px; margin: 4px 8px 4px 0; white-space: normal; }

/* Respond to the detail pane, not only the window: most desktop panes are narrow. */
#project-panel-quotes { container: project-quotes / inline-size; }
.project-quote-table-wrap { min-width: 0; }
.project-quote-table.table { display: block; position: relative; width: 100%; min-width: 0; }
.project-quote-table thead { position: absolute; top: 0; left: 0; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
.project-quote-table tbody { display: block; }
.project-quote-table tbody tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px 20px; padding: 18px 0; border-bottom: 1px solid var(--color-line); }
.project-quote-table.table tbody td { display: block; border: 0; padding: 0; width: auto; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.project-quote-table .project-quote-vendor,.project-quote-table .project-quote-lead,.project-quote-table .q-actions { grid-column: 1 / -1; }
.project-quote-number,.project-quote-label { display: block; color: var(--color-ink-3); font-size: 12px; font-weight: 400; line-height: 1.6; margin-bottom: 4px; }
.project-quote-table .q-vendor { font-size: 15px; }
.project-quote-table .q-email { overflow-wrap: anywhere; margin-top: 4px; }
.project-quote-table .q-amount { font-size: 17px; }
.project-quote-table .qstate { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.project-quote-value { display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; }
.project-quote-value .q-cheap { margin-left: 0; }
.project-quote-note { margin-top: 4px; }
.project-quote-note summary { min-height: 44px; display: list-item; width: fit-content; max-width: 100%; padding: 10px 4px; cursor: pointer; font-size: 13px; color: var(--color-ink-2); }
.project-quote-note p { margin: 4px 0 0; font-size: 13px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.project-quote-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.project-quote-table .q-actions .btn,#project-panel-quotes #add-quote-btn { min-width: 44px; min-height: 44px; white-space: normal; margin: 0; }
.project-quote-table :is(button,summary):focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
@container project-quotes (min-width: 760px) {
  .project-quote-table.table { display: table; table-layout: fixed; }
  .project-quote-table thead { position: static; clip-path: none; width: auto; height: auto; overflow: visible; white-space: normal; }
  .project-quote-table tbody { display: table-row-group; }
  .project-quote-table tbody tr { display: table-row; padding: 0; }
  .project-quote-table.table tbody td { display: table-cell; padding: 12px 8px; border-bottom: 1px solid var(--color-line); }
  .project-quote-table th { padding: 12px 8px; }
  .project-quote-table th:nth-child(1) { width: 29%; }
  .project-quote-table th:nth-child(2) { width: 16%; }
  .project-quote-table th:nth-child(3) { width: 17%; }
  .project-quote-table th:nth-child(4) { width: 18%; }
  .project-quote-table th:nth-child(5) { width: 20%; }
  .project-quote-table .project-quote-label { display: none; }
  .project-quote-table .q-amount { font-size: 15px; }
}
