.catalog-summary { display:grid; grid-template-columns:repeat(2,minmax(150px,230px)); gap:14px; margin-bottom:18px; }
.catalog-summary button, .quote-summary button { text-align:left; background:#fff; border:1px solid var(--line); border-radius:15px; padding:17px 19px; color:var(--ink); }
.catalog-summary button.selected, .quote-summary button.selected { border-color:#3159ef; box-shadow:0 0 0 2px rgba(49,89,239,.12); }
.catalog-summary strong, .catalog-summary span, .quote-summary strong, .quote-summary span { display:block; }
.catalog-summary strong, .quote-summary strong { font-size:26px; }
.catalog-summary span, .quote-summary span { color:var(--muted); margin-top:4px; }
.catalog-table .thead, .catalog-table .trow { grid-template-columns:2fr 1fr .6fr auto; }
textarea { width:100%; resize:vertical; border:1px solid #cfd8e8; border-radius:11px; padding:13px 14px; background:#fff; color:var(--text); outline:none; font:inherit; }
textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(49,85,231,.12); }
.quote-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:14px; }
.quote-toolbar { display:flex; gap:10px; align-items:center; margin-bottom:20px; }
.quote-toolbar span { margin-left:auto; color:var(--muted); }
.quote-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.quote-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:19px; box-shadow:0 5px 16px rgba(20,43,88,.05); }
.quote-card header, .quote-card footer, .quote-amount { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.quote-card code { color:#5872b6; font-weight:800; }
.quote-card h3 { margin:7px 0 4px; font-size:20px; }
.quote-card p { color:var(--muted); margin:0; }
.quote-status { border-radius:999px; padding:6px 10px; font-size:12px; font-weight:800; background:#edf2ff; color:#2949bc; white-space:nowrap; }
.quote-status.status-accepted { background:#e8f8f0; color:#147a52; }
.quote-status.status-refused, .quote-status.status-archived { background:#f1f3f7; color:#68768b; }
.quote-amount { margin:20px 0; padding:15px 0; border-block:1px solid var(--line); }
.quote-amount span, .quote-card footer span { color:var(--muted); }
.quote-amount strong { font-size:24px; }
.wide-dialog { width:min(1000px,calc(100% - 32px)); }
.wide-dialog form { max-height:calc(100vh - 44px); overflow:auto; }
.quote-lines-head { display:flex; align-items:center; justify-content:space-between; margin-top:5px; }
#quote-lines { display:grid; gap:10px; }
.quote-line { display:grid; grid-template-columns:1.05fr 1.6fr .65fr .8fr .55fr auto; gap:8px; align-items:end; padding:12px; border:1px solid var(--line); border-radius:13px; background:#f8faff; }
.quote-line label { font-size:12px; }
.quote-line input, .quote-line select { padding:10px; }
.remove-line { height:42px; width:42px; font-size:22px; color:#a43b3b; }
.quote-preview { display:flex; justify-content:flex-end; gap:22px; padding:15px 0; border-bottom:1px solid var(--line); }
.quote-preview span { display:grid; gap:4px; color:var(--muted); font-size:12px; }
.quote-preview b, .quote-preview strong { color:var(--text); font-size:16px; }
@media(max-width:1000px){.quote-line{grid-template-columns:repeat(2,1fr)}.remove-line{width:100%}.quote-list{grid-template-columns:1fr}}
@media(max-width:720px){.quote-summary{grid-template-columns:repeat(2,1fr)}.quote-toolbar{align-items:stretch;flex-direction:column}.quote-toolbar span{margin-left:0}.catalog-table .thead,.catalog-table .trow{grid-template-columns:1fr auto}.catalog-table .thead span:nth-child(2),.catalog-table .thead span:nth-child(3),.catalog-table .trow>span:nth-child(2),.catalog-table .trow>span:nth-child(3){display:none}.quote-line{grid-template-columns:1fr}.quote-preview{align-items:flex-end;flex-direction:column;gap:8px}.quote-card header,.quote-card footer{align-items:flex-start;flex-direction:column}}
