/* Category → series → model. All levels remain inside the viewport. */
.catalog-tree.catalog-list-panel{left:var(--catalog-left,28px);right:var(--catalog-left,28px);width:auto;max-width:none;height:min(36rem,var(--catalog-room,65vh));max-height:var(--catalog-room,65vh);overflow:visible;display:flex;flex-direction:column}
.catalog-tree.catalog-list-panel[hidden]{display:none}
.catalog-tree::before{content:"";position:absolute;left:-4px;right:auto;width:var(--catalog-bridge-width,140px);top:calc(-1 * var(--catalog-bridge-height,24px));height:var(--catalog-bridge-height,24px)}
.catalog-list-panel .tree-heading{flex:none;min-height:62px;gap:16px;border-radius:21px 21px 0 0;background:transparent;border-bottom:1px solid var(--line)}
#catalog-path{margin-left:auto;color:var(--muted);font-size:12px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-list-panel #catalog-tree-back{width:auto;min-width:0;border-radius:10px;padding:8px 12px;font-size:13px}
.catalog-columns{display:grid;grid-template-columns:255px 230px minmax(0,1fr);min-height:0;flex:1;overflow:hidden}
.catalog-root-list,.catalog-family-list,.catalog-models{overflow:auto;overscroll-behavior:contain;min-width:0;padding:12px}
.catalog-root-list,.catalog-family-list{border-right:1px solid var(--line)}
.catalog-root-row,.catalog-family-row{display:flex;align-items:stretch;border-radius:12px;min-width:0;margin-bottom:4px}
.catalog-root-row>a,.catalog-family-row>a,.catalog-software{display:flex;gap:12px;align-items:center;min-width:0;flex:1;min-height:54px;padding:10px 8px;font-size:13px;line-height:1.5}
.catalog-root-row>a>svg,.catalog-software>svg{flex:none;width:22px;color:var(--red)}
.catalog-root-row>a>span,.catalog-family-row>a>span{min-width:0;overflow-wrap:anywhere}
.catalog-root-row>button,.catalog-family-row>button{flex:none;display:grid;place-items:center;min-width:44px;min-height:48px;border-radius:10px;color:var(--muted)}
.catalog-root-row>button>svg,.catalog-family-row>button>svg{width:15px}
.catalog-root-row:hover,.catalog-family-row:hover,.catalog-software:hover{background:#f0f2f3}
.catalog-root-row.is-active,.catalog-family-row.is-active{background:#f6eeec;box-shadow:inset 3px 0 var(--red)}
.catalog-root-row.is-active>button,.catalog-family-row.is-active>button{color:var(--red)}
.catalog-family-row small{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.catalog-column-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding:4px 6px 12px;line-height:1.5}
.catalog-column-heading strong{font-size:14px;font-weight:600}
.catalog-column-heading>a{color:var(--red);font-size:12px;min-height:32px;display:inline-flex;align-items:center;gap:6px}
.catalog-column-heading>a>svg{width:14px;height:14px}
#catalog-models{max-height:none}
.catalog-model-row{display:flex;align-items:center;gap:10px;padding:12px 4px;border-top:1px solid var(--line);min-width:0}
.catalog-model-row>a{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.catalog-model-row>a>span:last-child{min-width:0}
.catalog-model-row img,.catalog-model-placeholder{width:48px;height:56px;object-fit:contain;flex:none;background:white;border-radius:8px}
.catalog-model-placeholder{display:grid;place-items:center;color:var(--muted)}
.catalog-model-row strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.catalog-model-row small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin:3px 0;overflow-wrap:anywhere}
.catalog-model-price{font-size:13px;display:block;font-variant-numeric:tabular-nums}
.catalog-model-add{min-width:94px;min-height:44px;flex:none;padding:8px 10px;border:1px solid #cbd0d2;border-radius:10px;font-size:12px;background:#fff}
.catalog-model-add:hover{border-color:var(--red);color:var(--red)}
.catalog-model-add.is-added{color:var(--red);background:#f6eeec}
.catalog-model-status{padding:16px 6px;font-size:13px;color:var(--muted)}
.catalog-help{flex:none;border-top:1px solid var(--line);min-height:50px;padding:12px 20px}
@media(max-width:1050px) and (min-width:851px){.catalog-columns{grid-template-columns:225px 225px minmax(0,1fr)}.catalog-model-row>a{gap:8px}.catalog-model-row img{width:36px;height:48px}.catalog-model-add{min-width:74px;padding:8px;font-size:11px}}
@media(max-width:850px){
 .catalog-tree.catalog-list-panel{left:12px;right:12px;width:auto;max-width:none;height:min(36rem,var(--catalog-room,65vh));max-height:var(--catalog-room,65vh);border-radius:20px}
 .catalog-list-panel .tree-heading{padding:8px 12px;gap:8px;min-height:58px}
 .catalog-list-panel .tree-heading>a{font-size:12px;gap:6px}
 #catalog-path{display:none}
 .catalog-columns{display:block;position:relative}
 .catalog-root-list,.catalog-family-list,.catalog-models{height:100%;border:0;padding:10px 12px}
 .catalog-tree[data-level="1"] :is(.catalog-family-list,.catalog-models),.catalog-tree[data-level="2"] :is(.catalog-root-list,.catalog-models),.catalog-tree[data-level="3"] :is(.catalog-root-list,.catalog-family-list){display:none}
 .catalog-root-row>a,.catalog-family-row>a{min-height:54px;font-size:14px}
 .catalog-root-row.is-active,.catalog-family-row.is-active{box-shadow:none}
 .catalog-column-heading{padding:2px 4px 10px}
 .catalog-model-row{gap:8px}
 .catalog-model-row>a{gap:8px}
 .catalog-model-add{min-width:80px;padding:8px;font-size:11px}
 .catalog-model-row img{width:38px;height:50px}
 .catalog-model-row small{font-size:10px}
 .catalog-help{min-height:48px;padding:10px 16px}
}
@media(prefers-contrast:more){.catalog-root-row.is-active,.catalog-family-row.is-active{outline:2px solid var(--ink);outline-offset:-2px}}
@media(forced-colors:active){.catalog-root-row.is-active,.catalog-family-row.is-active{outline:2px solid Highlight;box-shadow:none}.catalog-model-add{border:1px solid ButtonText}}
