.catalog-section{margin-top:14px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:24px;min-width:0}
.catalog-section h3{font-size:24px;margin:6px 0}
.catalog-section .module-tabs{margin-bottom:18px}
.catalog-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)) 50px;gap:12px;align-items:end;max-width:none;margin:0 0 6px}
.catalog-filters label,.catalog-filters input,.catalog-filters select{min-width:0;max-width:100%}
.catalog-filters select,.catalog-filters input{padding:12px}
.catalog-filters button{width:50px;min-height:48px;padding:0;display:grid;place-items:center}
.catalog-filters[hidden]{display:none}
.catalog-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.catalog-badge{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;background:#fff;color:var(--ink)}
.catalog-badge.badge-required{border-color:var(--red);color:var(--red)}
.catalog-badge.badge-recommended{border-color:var(--green);color:var(--green)}
.catalog-badge.badge-optional{color:var(--muted)}
.catalog-row .catalog-side{display:grid;gap:6px;justify-items:end;text-align:right;flex-shrink:0;max-width:340px}
.catalog-result{display:inline-flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.catalog-result svg{flex:none}
.catalog-result span{min-width:0;overflow-wrap:anywhere}
.catalog-result.result-done{color:var(--green)}
.catalog-result.result-other{color:#9a6700}
#catalog-detail,#catalog-editor{width:min(760px,calc(100% - 24px));max-height:90dvh;overflow:auto}
#catalog-detail h2,#catalog-editor h2{font-size:25px;line-height:1.25;overflow-wrap:anywhere;margin:12px 44px 18px 0}
#catalog-detail h3{font-size:16px;margin:22px 0 8px}
#catalog-detail ul{margin:0;padding-left:20px;overflow-wrap:anywhere}
#catalog-detail-basis{margin:18px 0 0}
#catalog-detail-link{margin-top:18px}
#catalog-detail-link a{color:var(--green);font-weight:bold}
.catalog-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 0}
.catalog-facts div{border-top:1px solid var(--line);padding-top:10px;min-width:0}
.catalog-facts dt{font-size:12px;color:var(--muted)}
.catalog-facts dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}
.catalog-result-box{margin-top:18px;padding:12px 14px;background:#f7f4ed;border-radius:6px}
#catalog-editor form{max-width:none;margin-top:12px;grid-template-columns:minmax(0,1fr)}
#catalog-editor :is(form>*,label,input,textarea,select){min-width:0;max-width:100%}
#catalog-editor textarea{height:auto;margin:0}
#catalog-scope-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr)) 50px}.catalog-filters .catalog-search{grid-column:1/-1}}
@media(max-width:780px){
  .catalog-section{padding:18px 14px}
  .catalog-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .catalog-filters button{width:100%}
  .catalog-row .catalog-side{justify-items:start;text-align:left;max-width:none}
  .catalog-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #catalog-scope-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
