.quote-workspace { padding:24px 32px 40px; max-width:1500px; margin:auto; }
.quote-toolbar,.quote-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.quote-toolbar .primary,.quote-actions .primary { margin:0; width:auto; }
.quote-toolbar>span,.quote-backup p { color:var(--muted); font-size:13px; line-height:1.6; }
#quote-storage-notice { margin:18px 0; line-height:1.6; }
#quote-message:empty,#quote-form-error:empty { display:none; }
#quote-message { padding:12px; background:#e6f2ee; border-radius:8px; }
#quote-message[data-error="true"],#quote-form-error { color:#a32d24; background:#fff3ef; }
.quote-form { margin:20px 0; }
.quote-form h2 { margin:0 0 18px; }
.quote-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 22px; }
.quote-fields label { margin:0; display:flex; flex-direction:column; justify-content:flex-start; }
.quote-fields input,.quote-fields select,.quote-fields textarea { margin-top:7px; }
.quote-notes-field { grid-column:1/-1; }
.quote-fields textarea { width:100%; padding:12px; border:1px solid var(--line,#cbdad5); border-radius:9px; font:inherit; resize:vertical; }
.quote-form .quote-actions { margin-top:20px; }
.quote-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:22px 0; }
.quote-filter { padding:16px; text-align:left; border:1px solid #ccddd6; border-radius:12px; background:white; color:var(--ink); cursor:pointer; }
.quote-filter strong { display:block; font-size:25px; margin-bottom:6px; }
.quote-filter[aria-pressed="true"] { background:#e1f0e9; border:2px solid #176b61; padding:15px; }
.quote-filter span { font-weight:650; }
.quote-search-row { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:18px; margin-bottom:18px; }
.quote-search-row label { margin:0; }
.quote-search-row input,.quote-search-row select { margin-top:7px; }
.quote-list { display:grid; gap:12px; }
.quote-card { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:16px 28px; background:white; border:1px solid #cfdfda; border-left:4px solid #d99a22; padding:20px; border-radius:12px; }
.quote-card[data-status="received"] { border-left-color:#176b61; }
.quote-card[data-status="closed"] { border-left-color:#99aaa5; }
.quote-card h2 { font-size:18px; margin:10px 0 6px; overflow-wrap:anywhere; }
.quote-card p { margin:6px 0; line-height:1.6; overflow-wrap:anywhere; }
.quote-card .quote-meta { font-size:13px; color:var(--muted); }
.quote-tag { display:inline-block; border-radius:20px; padding:4px 9px; background:#edf4f1; font-size:12px; font-weight:700; }
.quote-overdue { display:inline-block; margin:5px 8px 0 0; color:#8b440a; background:#fff0d4; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:700; }
.quote-card-controls { display:flex; flex-direction:column; gap:12px; }
.quote-card-controls label { margin:0; }
.quote-card-controls select { margin-top:7px; }
.quote-card-controls .quote-actions { gap:8px; }
.quote-card-controls button { flex:1; min-height:38px; }
.quote-delete { border:1px solid #dfb6b1; background:white; color:#9e352b; border-radius:8px; cursor:pointer; }
.quote-note { white-space:pre-wrap; font-size:13px; }
.quote-card details { margin-top:10px; }
.quote-card summary,.quote-backup summary { cursor:pointer; font-size:13px; color:#176b61; font-weight:700; }
.quote-empty { padding:36px 20px; text-align:center; border:1px dashed #b9cfc5; border-radius:12px; background:#f6faf8; }
.quote-empty h2 { font-size:18px; }
.quote-empty p { color:var(--muted); line-height:1.6; }
.quote-backup { margin-top:30px; padding-top:18px; border-top:1px solid #cfdcd6; }
@media(max-width:760px) {
  .nav-list { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .quote-workspace { padding:16px 14px 30px; }
  .quote-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .quote-fields,.quote-search-row,.quote-card { grid-template-columns:minmax(0,1fr); }
  .quote-card { padding:16px; }
  .quote-card-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:end; gap:12px; }
  .quote-card-controls .quote-actions { flex-wrap:nowrap; }
  .quote-card-controls button { padding:8px; }
}
