/* Catalog uses the existing dashboard shell and APIs. */
#view-catalog{--catalog-muted:#67728a;--catalog-border:#e6eaf2;color:var(--ink)}
#view-catalog [hidden]{display:none!important}
#view-catalog button,#view-catalog input,#view-catalog select{font-family:inherit}
#view-catalog .catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 24px}
#view-catalog .catalog-heading h2{font-size:28px;letter-spacing:-.035em;margin:0 0 7px}
#view-catalog .catalog-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--catalog-muted);margin-bottom:10px}
#view-catalog .catalog-subtitle,#view-catalog .catalog-footnote{font-size:13px;line-height:1.6;color:var(--catalog-muted)}
#view-catalog .catalog-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
#view-catalog .catalog-overview button{background:#fff;border:1px solid var(--catalog-border);border-radius:14px;padding:18px;text-align:left;cursor:pointer;min-width:0;color:inherit}
#view-catalog .catalog-overview button[aria-pressed=true]{background:#f1f3ff;border-color:#6e82dc;box-shadow:0 0 0 2px #3159e30a}
#view-catalog .catalog-overview span,#view-catalog .catalog-overview small{display:block;font-size:12px;line-height:1.5;color:var(--catalog-muted)}
#view-catalog .catalog-overview b{display:block;font-size:26px;font-weight:650;margin:7px 0}
#view-catalog .catalog-surface{background:#fff;border:1px solid var(--catalog-border);border-radius:16px;overflow:hidden}
#view-catalog .catalog-tabs{margin:0;gap:24px;padding:0 20px;align-items:center}
#view-catalog .catalog-tab{font-size:13px;padding:16px 0}
#view-catalog .catalog-source{margin-left:auto;color:var(--catalog-muted);font-size:12px;overflow-wrap:anywhere}
#view-catalog .catalog-neutral-count{color:var(--catalog-muted);background:#f3f5f9;border-radius:4px;padding:2px 5px;font-size:11px}
#view-catalog .catalog-sync{background:#f8faff;border-bottom:1px solid var(--catalog-border);padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
#view-catalog .catalog-sync b{font-size:12px;font-weight:600}
#view-catalog .catalog-sync p{font-size:12px;color:var(--catalog-muted);margin-top:5px;line-height:1.5}
#view-catalog .catalog-filters{display:flex;gap:10px;padding:18px 20px 10px;align-items:center}
#view-catalog .catalog-filters input{flex:1;min-width:0;width:100%}
#view-catalog .catalog-filters select{max-width:220px;min-width:140px}
#view-catalog input[type=search],#view-catalog select{border:1px solid var(--catalog-border);padding:11px 12px;border-radius:9px;font-size:13px;color:inherit;background:#fff}
#view-catalog .catalog-policy-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:0 20px 15px}
#view-catalog .catalog-policy-filters button{border:0;background:transparent;color:var(--catalog-muted);font-size:12px;padding:8px 10px;border-radius:7px;cursor:pointer}
#view-catalog .catalog-policy-filters button[aria-pressed=true]{background:#f0f2ff;color:var(--brand)}
#view-catalog .catalog-policy-filters span{margin-left:3px}
#view-catalog .catalog-clear{margin-left:auto;text-decoration:underline}
#view-catalog .catalog-bulk{background:#f0f3ff;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 20px;font-size:13px;border-top:1px solid var(--catalog-border)}
#view-catalog .catalog-bulk strong{margin-right:auto;font-weight:600}
#view-catalog .catalog-list-head,#view-catalog .catalog-row{display:grid;grid-template-columns:20px minmax(170px,1fr) 100px 130px 135px 28px;align-items:center;gap:12px;padding:15px 20px}
#view-catalog .catalog-list-head{padding-top:12px;padding-bottom:12px;background:#f8faff;border-top:1px solid var(--catalog-border);font-size:11px;color:var(--catalog-muted)}
#view-catalog .catalog-row{border-top:1px solid var(--catalog-border);min-height:84px;font-size:13px}
#view-catalog .catalog-row:hover{background:#fafbff}
#view-catalog input[type=checkbox],#view-catalog input[type=radio]{width:16px;height:16px;accent-color:var(--brand);flex-shrink:0}
#view-catalog .catalog-product{border:0;background:none;color:inherit;display:flex;align-items:center;gap:12px;padding:0;text-align:left;cursor:pointer;min-width:0}
#view-catalog .catalog-thumbnail{width:42px;height:48px;flex-shrink:0;background:#f3f5fa;border:1px solid var(--catalog-border);border-radius:9px;display:grid;place-items:center;color:#8490a7;font-size:21px}
#view-catalog .catalog-product strong{font-size:13px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
#view-catalog .catalog-product small{display:block;margin-top:4px;color:var(--catalog-muted);font-size:12px;line-height:1.5}
#view-catalog .catalog-price{font-variant-numeric:tabular-nums;white-space:nowrap}
#view-catalog .catalog-stock{color:#32634f;font-size:12px}
#view-catalog .catalog-stock.outofstock,#view-catalog .catalog-stock.unknown{color:var(--catalog-muted)}
#view-catalog .catalog-stock.onbackorder{color:#866225}
#view-catalog .catalog-policy-label{font-size:12px;justify-self:start;color:var(--catalog-muted);padding:5px 7px;border-radius:5px}
#view-catalog .catalog-policy-label.promote{background:#f0f2ff;color:#4b63bd}
#view-catalog .catalog-policy-label.exclude{background:#f4f5f8;color:#5e6574}
#view-catalog .catalog-status{font-size:11px;color:#94641f;margin-top:5px;line-height:1.5;min-width:0}
#view-catalog .catalog-row-detail{border:0;background:transparent;font-size:23px;padding:5px;color:var(--catalog-muted);cursor:pointer}
#view-catalog .catalog-pagination{padding:16px 20px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--catalog-border);font-size:12px;color:var(--catalog-muted);flex-wrap:wrap}
#view-catalog .catalog-page-hint{margin-left:auto}
#view-catalog .catalog-empty{padding:40px 20px;text-align:center;color:var(--catalog-muted);font-size:14px;line-height:1.7}
#view-catalog #catalogMessage:empty{display:none}
#view-catalog #catalogMessage{margin:0;padding:12px 20px;background:#f6f8ff;font-size:13px;line-height:1.6}
#view-catalog .catalog-undo{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f6f8ff;padding:10px 20px;font-size:12px}
#view-catalog .catalog-footnote{margin-top:16px}
#view-catalog #catalogReviews{padding:24px;max-width:none}
#view-catalog .review-card{box-shadow:none}
#catalogDetail{border:0;border-radius:18px 0 0 18px;background:#fff;color:var(--ink);padding:0;width:min(520px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;max-width:100%;box-shadow:-20px 0 80px #19213b2b;overflow-y:auto}
#catalogDetail::backdrop,#catalogSyncDialog::backdrop{background:#202a4759}
#catalogDetail .catalog-detail-head{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);font-size:12px;color:#67728a;position:sticky;top:0;z-index:1;background:#fff}
#catalogDetail .catalog-detail-content{padding:24px}
#catalogDetail h2{font-size:23px;line-height:1.4;overflow-wrap:anywhere;margin:12px 0 8px}
#catalogDetailMeta{font-size:12px;color:#67728a;line-height:1.6;margin-bottom:20px;overflow-wrap:anywhere}
#catalogDetailIdentity{font-size:21px;font-weight:600;display:flex;align-items:center;gap:16px}
#catalogDetailIdentity small{font-size:12px;font-weight:400;color:#67728a}
#catalogDetail .catalog-status-note{background:#f2f7f4;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.6;margin:15px 0 24px;color:#38604c}
#catalogDetail .catalog-status-note.blocked{background:#fff8eb;color:#866225}
#catalogDetail fieldset{border:0;margin:0;padding:0}
#catalogDetail legend{font-size:14px;font-weight:600;margin-bottom:13px}
#catalogDetail fieldset label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #e5e9f3;border-radius:10px;margin-bottom:9px;cursor:pointer}
#catalogDetail fieldset label:has(input:checked){border-color:#6580e8;background:#f6f7ff}
#catalogDetail input[type=radio]{margin-top:2px;accent-color:var(--brand)}
#catalogDetail fieldset b{font-size:13px;font-weight:600;display:block}
#catalogDetail fieldset small{display:block;font-size:12px;line-height:1.6;color:#67728a;margin-top:4px}
#catalogDetail .catalog-detail-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:24px 0 20px}
#catalogDetail .catalog-detail-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;font-size:12px;color:#67728a;cursor:pointer}
#catalogDetail .catalog-detail-tabs [aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}
#catalogDetail h3{font-size:13px;margin:20px 0 10px}
#catalogDetail p,#catalogDetail dl{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
#catalogDetail dl>div{display:grid;grid-template-columns:minmax(100px,.9fr) minmax(0,1.1fr);gap:12px;border-bottom:1px solid #eef0f5;padding:10px 0}
#catalogDetail dt{color:#67728a}#catalogDetail dd{margin:0;white-space:pre-wrap}
#catalogDetail .catalog-detail-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;padding:16px 24px;border-top:1px solid var(--line);position:sticky;bottom:0}
#catalogDetail .btn{font-size:12px;text-decoration:none;text-align:center}#catalogProductLink{margin-right:auto}
#catalogDetailSources .review-card{padding:16px;margin-top:15px;box-shadow:none}#catalogDetailSources .review-card-head{flex-direction:column;gap:8px}
#catalogDetailSources .review-card h4{font-size:14px}#catalogDetailSources .review-state{font-size:11px}
#catalogDetailSources .review-copy,#catalogDetailSources .review-source{font-size:12px}
#catalogDetailMessage{color:#a54825;margin-top:15px}
#catalogSyncDialog{margin:auto;border:1px solid var(--line);border-radius:18px;padding:26px;width:min(480px,calc(100% - 28px));color:var(--ink)}
#catalogSyncDialog h2{font-size:20px;margin-bottom:15px}#catalogSyncDialog p{font-size:14px;line-height:1.7;margin:10px 0;color:#657087}#catalogSyncDialog>div{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
@media(max-width:1150px){#view-catalog .catalog-list-head,#view-catalog .catalog-row{grid-template-columns:18px minmax(140px,1fr) 85px 95px 115px 22px;gap:9px;padding-left:16px;padding-right:16px}#view-catalog .catalog-overview button{padding:15px}#view-catalog .catalog-filters{flex-wrap:wrap}#view-catalog .catalog-filters input{flex-basis:100%}#view-catalog .catalog-filters select{max-width:none;flex:1}}
@media(max-width:720px){#view-catalog .catalog-overview{grid-template-columns:repeat(2,minmax(0,1fr))}#view-catalog .catalog-heading{align-items:flex-start}#view-catalog .catalog-heading>.btn{font-size:12px;padding:9px}#view-catalog .catalog-tabs{gap:16px;padding:0 16px;flex-wrap:wrap}#view-catalog .catalog-source{font-size:11px;max-width:120px}#view-catalog .catalog-sync{align-items:flex-start;flex-direction:column;padding:16px}#view-catalog .catalog-filters{padding:16px 12px 10px}#view-catalog .catalog-filters select{min-width:0;width:45%;padding:10px 7px}#view-catalog .catalog-policy-filters{padding:0 8px 12px}#view-catalog .catalog-policy-filters button{padding:9px 7px}#view-catalog .catalog-list-head{grid-template-columns:18px 1fr}#view-catalog .catalog-list-head>span:not(:first-of-type){display:none}#view-catalog .catalog-row{grid-template-columns:18px minmax(0,1fr) 26px;gap:7px 10px;padding:16px 12px}#view-catalog .catalog-product{grid-column:2;grid-row:1;gap:9px}#view-catalog .catalog-row>input{grid-row:1}#view-catalog .catalog-row-detail{grid-column:3;grid-row:1}#view-catalog .catalog-price{grid-column:2;grid-row:2}#view-catalog .catalog-stock{grid-column:2;grid-row:3}#view-catalog .catalog-policy-label{grid-column:2;grid-row:4;padding-left:0}#view-catalog .catalog-thumbnail{width:32px;height:40px}#view-catalog .catalog-pagination{padding:16px 12px}#view-catalog .catalog-page-hint{display:none}#view-catalog #catalogReviews{padding:18px 12px}#view-catalog .catalog-undo{flex-direction:column;align-items:flex-start}#catalogDetail{border-radius:0}#catalogDetail .catalog-detail-head,#catalogDetail .catalog-detail-content,#catalogDetail .catalog-detail-actions{padding:18px}#catalogDetail dl>div{grid-template-columns:1fr;gap:2px}}
@media(pointer:coarse){#view-catalog button,#catalogDetail button,#catalogDetail a,#catalogSyncDialog button{min-height:44px}#view-catalog .catalog-row>input{width:20px;height:20px;box-shadow:0 0 0 10px transparent}#view-catalog input[type=search],#view-catalog select{font-size:16px}}
