
.catalog-layout .model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:150px}
.model-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.model-card .model-lab{font-size:12px;line-height:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0}
.model-card h3{font-size:18px;line-height:26px;margin:0;overflow-wrap:anywhere}
.model-card .model-key{font-size:12px;line-height:16px;color:var(--muted);overflow-wrap:anywhere;margin:0}
.model-card .modality-label{font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.08em;display:block;margin:0 0 4px;color:var(--muted)}
.model-card .button{margin-top:auto;justify-content:space-between;width:100%}
.modality-tags{display:flex;flex-wrap:wrap;gap:7px}
.modality-tags span{font-size:12px;border:1px solid var(--line);border-radius:4px;padding:3px 8px;color:var(--muted)}
.empty-state{grid-column:1/-1;text-align:center}
.empty-state h3{font-size:18px;line-height:26px}
.filter-bar{display:grid;grid-template-columns:1fr 175px 205px auto auto;align-items:end;gap:12px;background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:8px;margin-bottom:12px}
.filter-bar label{display:block;font-size:12px;line-height:16px;font-weight:600;margin:0 0 5px}
.filter-bar input,.filter-bar select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--surface);color:var(--text)}
#open-filters{display:none}#close-filters{display:none}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;max-width:800px;width:calc(100% - 32px);max-height:90dvh;padding:24px}
dialog::backdrop{background:#0F172A99}
.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}
.detail-offering{border-top:1px solid var(--line);padding:20px 0}
.detail-error{color:var(--retired-fg)}
.detail-section{margin:14px 0}
details summary{cursor:pointer;padding:10px 0}
.compare-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:16px 0}
@media(max-width:1023px){#open-filters,#close-filters{display:inline-flex}.filter-bar{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.compare-form{grid-template-columns:1fr}}
@media(max-width:640px){.catalog-layout .model-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}}
