.catalog-page code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--surface2);padding:.08rem .35rem;border-radius:6px}
.catalog-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.catalog-summary-card{background:rgba(255,255,255,.78);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.1rem;box-shadow:var(--shadow-sm)}
.catalog-summary-card .icon{font-size:1.25rem}.catalog-summary-card strong{display:block;font:900 1.55rem var(--font-display);margin:.15rem 0}.catalog-summary-card small{color:var(--text-muted);font-size:.72rem;font-weight:700}
.catalog-panel{padding:1rem 1rem 1.2rem}.catalog-tabs{display:flex;gap:.4rem;overflow:auto;padding:.15rem;margin-bottom:1rem}.catalog-tab{padding:.62rem .9rem;border-radius:999px;background:transparent;color:var(--text-soft);font-weight:800;white-space:nowrap;transition:.18s}.catalog-tab:hover{background:var(--surface2)}.catalog-tab.active{background:var(--text);color:white;box-shadow:var(--shadow-sm)}
.catalog-toolbar{display:flex;gap:.65rem;align-items:center;margin-bottom:1rem}.catalog-search-wrap{flex:1;display:flex;align-items:center;gap:.55rem;border:1.5px solid var(--border);background:white;border-radius:12px;padding:0 .8rem}.catalog-search-wrap:focus-within{border-color:var(--rosa);box-shadow:0 0 0 3px var(--rosa-glow)}.catalog-search-wrap input{width:100%;border:0;outline:0;padding:.72rem 0;background:transparent;color:var(--text);font:500 .88rem var(--font-body)}
.catalog-toolbar select{border:1.5px solid var(--border);background:white;border-radius:12px;padding:.7rem .75rem;color:var(--text-soft);font-weight:700}
.catalog-list{display:grid;gap:.65rem}.catalog-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.9rem;align-items:center;background:rgba(255,255,255,.78);border:1.5px solid var(--border);border-radius:16px;padding:.7rem .8rem;transition:.18s}.catalog-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.catalog-item.archived{opacity:.7;background:rgba(255,255,255,.5)}
.catalog-thumb{width:58px;height:58px;border-radius:12px;overflow:hidden;background:var(--surface2);display:grid;place-items:center;border:1px solid var(--border)}.catalog-thumb img{width:100%;height:100%;object-fit:cover}.catalog-thumb .ph{font-size:1.35rem}
.catalog-main{min-width:0}.catalog-main h3{font:800 .95rem var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-sub{font-size:.76rem;color:var(--text-muted);margin-top:.12rem}.catalog-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.36rem}.catalog-badge{display:inline-flex;padding:.17rem .42rem;border-radius:999px;font-size:.64rem;font-weight:900;border:1px solid var(--border);background:var(--surface2);color:var(--text-soft)}.catalog-badge.custom{background:rgba(167,139,250,.14);color:#7c3aed;border-color:rgba(167,139,250,.3)}.catalog-badge.arch{background:rgba(244,114,182,.12);color:#be123c;border-color:rgba(244,114,182,.3)}
.catalog-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.catalog-actions button{padding:.45rem .58rem;border-radius:9px;background:var(--surface2);color:var(--text-soft);font-weight:800;font-size:.75rem}.catalog-actions button:hover{box-shadow:0 0 0 1px var(--border)}.catalog-actions .danger{color:#be123c}.catalog-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.catalog-empty .big{font-size:2.2rem;margin-bottom:.5rem}
.catalog-dialog{width:min(620px,94vw);max-height:90vh;border:0;border-radius:24px;padding:0;background:var(--surface);box-shadow:0 25px 90px rgba(40,15,5,.25);color:var(--text)}.catalog-dialog::backdrop{background:rgba(50,25,20,.32);backdrop-filter:blur(5px)}.catalog-dialog form{display:flex;flex-direction:column;max-height:90vh}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.25rem;border-bottom:1px solid var(--border)}.dialog-kicker{font-size:.67rem;color:var(--rosa);font-weight:900;letter-spacing:.08em}.dialog-head h2{font:900 1.25rem var(--font-display)}.dialog-close{width:34px;height:34px;border-radius:50%;background:var(--surface2);color:var(--text-soft)}.dialog-body{padding:1.15rem 1.25rem;overflow:auto;display:grid;gap:.9rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.55rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}
.catalog-hint{font-size:.7rem;color:var(--text-muted);margin-top:.28rem}.optional{font-weight:500;color:var(--text-muted)}.catalog-check{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.78rem;color:var(--text-soft);font-weight:700}.image-editor{display:grid;grid-template-columns:105px 1fr;gap:1rem;align-items:center;padding:.85rem;border:1.5px dashed var(--border);border-radius:16px;background:var(--bg2)}.image-preview-wrap{width:105px;height:105px;border-radius:16px;overflow:hidden;background:white;border:1px solid var(--border);display:grid;place-items:center;position:relative}.image-preview-wrap img{width:100%;height:100%;object-fit:cover;display:none}.image-preview-wrap #catalog-image-placeholder{font-size:2rem}.file-input{max-width:100%;font-size:.78rem;margin:.3rem 0}.btn-ghost{background:var(--surface2)!important;color:var(--text-soft)!important;border:1px solid var(--border)!important}
.catalog-toast{position:fixed;right:22px;bottom:22px;z-index:1200;max-width:min(430px,90vw);padding:.75rem 1rem;border-radius:14px;background:white;border:1.5px solid var(--border);box-shadow:var(--shadow-lg);font-size:.82rem;font-weight:750;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.catalog-toast.visible{opacity:1;transform:none}.catalog-toast.error{border-color:rgba(244,63,94,.35);color:#be123c}.catalog-toast.success{border-color:rgba(34,197,94,.3);color:#166534}
@media(max-width:820px){.catalog-summary{grid-template-columns:repeat(2,1fr)}.catalog-toolbar{align-items:stretch;flex-wrap:wrap}.catalog-search-wrap{flex-basis:100%}.catalog-toolbar select{flex:1}.catalog-item{grid-template-columns:50px minmax(0,1fr)}.catalog-thumb{width:50px;height:50px}.catalog-actions{grid-column:1/-1;justify-content:flex-start;padding-left:59px}.image-editor{grid-template-columns:82px 1fr}.image-preview-wrap{width:82px;height:82px}}
@media(max-width:520px){.catalog-summary{grid-template-columns:1fr 1fr;gap:.55rem}.catalog-summary-card{padding:.8rem}.catalog-toolbar .btn{width:100%}.catalog-actions{padding-left:0}.catalog-item{padding:.65rem}.image-editor{grid-template-columns:1fr}.image-preview-wrap{width:100%;height:180px}.dialog-actions .btn{flex:1}}
