body.shelf-drawer-open { overflow:hidden; }
.shelf-management-page { min-width:0; }
.shelf-management-page .shelf-admin-card>header { grid-template-columns:minmax(140px,1fr) auto; gap:12px 20px; }
.shelf-management-page .shelf-management-actions { grid-column:1/-1; justify-content:flex-start; gap:8px; }
.shelf-management-page .shelf-management-actions button { min-height:40px; }
.shelf-management-page .shelf-management-actions [data-shelf-manage] { margin-right:auto; }
.shelf-management-page .shelf-browse-products { grid-template-columns:1fr; }
.shelf-browse-products article>div { min-width:0; overflow-wrap:anywhere; }
.shelf-product-list article>.shelf-single-remove { min-height:40px; min-width:44px; background:transparent; border:1px solid var(--line); color:var(--muted); }
.shelf-search-quick-add { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding-top:3px; font-size:12px; }
.shelf-search-quick-add label { display:flex; align-items:center; gap:8px; color:var(--muted); }
.shelf-search-quick-add select { min-width:180px; max-width:280px; min-height:40px; padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:var(--paper,#fffefc); color:var(--ink); font:inherit; }
.shelf-search-quick-add button { min-height:40px; }
.shelf-search-quick-add>span,.shelf-search-quick-add>small { color:var(--muted); font-size:12px; line-height:1.6; }
.shelf-search-quick-add [disabled] { opacity:.5; cursor:not-allowed; }
.shelf-product-placement { margin:18px 0 22px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper,#fffefc); }
.shelf-product-placement>summary { padding:14px 16px; font-size:14px; font-weight:600; cursor:pointer; }
.shelf-product-placement>summary>span { float:right; color:var(--muted); font-size:12px; font-weight:400; line-height:1.7; }
.shelf-product-placement-body { padding:0 16px 16px; }
.shelf-product-placement-body p { margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.7; }
.shelf-product-linked { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:12px; font-size:12px; }
.shelf-product-linked>span:first-child { color:var(--muted); }
.shelf-product-linked [data-product-linked-shelf] { border:1px solid var(--line); border-radius:5px; padding:4px 8px; color:var(--muted); background:var(--cream,#f6f3ef); }
.shelf-product-placement-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:200px; overflow:auto; overscroll-behavior:contain; }
.shelf-product-placement-options label { display:flex; align-items:center; gap:9px; min-height:44px; box-sizing:border-box; padding:10px 12px; border:1px solid var(--line); border-radius:7px; font-size:13px; line-height:1.5; cursor:pointer; }
.shelf-product-placement-options label:has(input:checked) { border-color:var(--theme-primary,#865737); background:var(--theme-primary-soft,#f3e8df); }
.shelf-product-placement-options label span { min-width:0; overflow-wrap:anywhere; }
.shelf-product-placement-options input { flex-shrink:0; width:17px; height:17px; margin:0; accent-color:var(--theme-primary,#865737); }
.shelf-product-placement :focus-visible,.shelf-search-quick-add :focus-visible { outline:2px solid var(--theme-primary,#865737); outline-offset:3px; }
.shelf-drawer-overlay { position:fixed; inset:0; z-index:1600; display:flex; justify-content:flex-end; background:rgba(25,20,17,.34); overscroll-behavior:contain; }
.shelf-drawer { box-sizing:border-box; display:flex; flex-direction:column; width:min(560px,100%); max-width:100%; height:100%; height:100dvh; min-height:0; margin:0; background:var(--paper,#fffefc); color:var(--ink); box-shadow:-12px 0 40px rgba(25,20,17,.12); outline:none; }
.shelf-drawer-header { display:flex; flex-shrink:0; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 28px 18px; }
.shelf-drawer-header>div { min-width:0; }
.shelf-drawer-header h2 { margin:0; font-size:21px; line-height:1.4; font-weight:650; letter-spacing:-.02em; }
.shelf-drawer-header p { margin:5px 0 0; color:var(--muted); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.shelf-drawer-close { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:44px; height:44px; margin:-5px -8px 0 0; border:0; border-radius:8px; background:transparent; color:var(--ink); cursor:pointer; }
.shelf-drawer-close:hover { background:var(--theme-primary-soft,#f3e8df); }
.shelf-drawer-tabs { display:flex; flex-shrink:0; gap:4px; margin:0 28px 20px; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--cream,#f6f3ef); }
.shelf-drawer-tabs button { flex:1; min-width:0; min-height:42px; padding:8px 12px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--muted); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.shelf-drawer-tabs button[aria-selected=true] { border-color:var(--line); background:var(--paper,#fffefc); color:var(--ink); }
.shelf-drawer-panel { display:flex; flex:1; flex-direction:column; min-height:0; }
.shelf-drawer-tools { flex-shrink:0; padding:0 28px; }
.shelf-drawer-search { box-sizing:border-box; display:flex; align-items:center; gap:9px; min-height:44px; border:1px solid var(--line); border-radius:8px; padding:0 12px; color:var(--muted); background:var(--paper,#fffefc); }
.shelf-drawer-search svg { flex-shrink:0; }
.shelf-drawer-search input { box-sizing:border-box; width:100%; min-width:0; height:44px; padding:0; border:0; outline:none; color:var(--ink); background:transparent; font:inherit; font-size:14px; caret-color:var(--theme-primary,#865737); }
.shelf-drawer-search:focus-within { outline:2px solid var(--theme-primary,#865737); outline-offset:2px; }
.shelf-drawer-search input::placeholder { color:var(--muted); opacity:1; }
.shelf-drawer-search .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.shelf-drawer-selection { display:flex; align-items:center; gap:10px; padding:10px 0; font-size:13px; }
.shelf-drawer-selection>label { display:flex; align-items:center; gap:8px; min-height:40px; flex-shrink:0; cursor:pointer; }
.shelf-drawer-selection>span { flex:1; color:var(--muted); text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.shelf-drawer-clear { min-height:40px; padding:0 3px 0 8px; border:0; background:transparent; color:var(--theme-primary,#865737); font:inherit; cursor:pointer; }
.shelf-drawer-results { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--muted) var(--paper,#fffefc); padding:0 28px 12px; }
.shelf-drawer-product { box-sizing:border-box; display:flex; align-items:center; gap:12px; min-height:76px; padding:14px 12px; border-bottom:1px solid var(--line); cursor:pointer; }
.shelf-drawer-product:hover { background:var(--cream,#f6f3ef); }
.shelf-drawer-product.is-selected { background:var(--theme-primary-soft,#f3e8df); color:var(--theme-text-primary,#523a2a); }
.shelf-drawer-product-copy { flex:1; min-width:0; overflow-wrap:anywhere; }
.shelf-drawer-product strong { display:block; font-size:14px; line-height:1.5; font-weight:600; }
.shelf-drawer-product small { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.5; }
.shelf-drawer-stock { flex-shrink:0; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.shelf-drawer input[type=checkbox] { flex-shrink:0; width:18px; height:18px; margin:0; accent-color:var(--theme-primary,#865737); cursor:pointer; }
.shelf-drawer-empty { padding:38px 12px; color:var(--muted); text-align:center; font-size:14px; line-height:1.7; }
.shelf-drawer-empty strong { color:var(--ink); font-weight:600; }
.shelf-drawer-empty p { margin:7px 0 0; }
.shelf-drawer-footer { flex-shrink:0; padding:12px 28px max(20px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--paper,#fffefc); }
.shelf-drawer-help { margin:0 0 10px; font-size:12px; line-height:1.7; color:var(--muted); }
.shelf-drawer-help summary { min-height:28px; cursor:pointer; }
.shelf-drawer-help p { margin:5px 0 10px; }
.shelf-drawer-actions { display:flex; gap:10px; }
.shelf-drawer-actions button { min-height:46px; border-radius:8px; font-size:14px; }
.shelf-drawer-actions .secondary { min-width:88px; }
.shelf-drawer-actions .primary { flex:1; }
.shelf-drawer-error { margin:0 0 10px; padding:10px 12px; border:1px solid #c9a49a; border-radius:7px; color:#863c2b; background:#fff3ef; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.shelf-drawer-error[hidden] { display:none; }
.shelf-drawer :focus-visible { outline:2px solid var(--theme-primary,#865737); outline-offset:3px; }
.shelf-drawer .shelf-drawer-search input:focus,
.shelf-drawer .shelf-drawer-search input:focus-visible { outline:none !important; box-shadow:none; }
.shelf-drawer ::selection { color:var(--theme-primary-foreground,#fffefc); background:var(--theme-primary,#865737); }
.shelf-drawer [disabled] { opacity:.5; cursor:not-allowed; }
@media (max-width:1180px) {
  .shelf-management-page .admin-directory-menu { display:block; min-width:0; padding:10px; overflow:visible; }
  .shelf-management-page .admin-directory-menu details { min-width:0; width:100%; }
  .shelf-management-page .admin-directory-menu details>summary { padding:2px 2px 9px; font-size:12px; }
  .shelf-management-page .admin-directory-menu nav { flex-direction:row; gap:8px; max-width:100%; overflow-x:auto; overscroll-behavior:contain; padding:1px 1px 4px; scrollbar-width:thin; scrollbar-color:var(--muted) var(--paper,#fffefc); }
  .shelf-management-page .admin-directory-menu nav button { box-sizing:border-box; flex:0 0 132px; width:132px; min-width:0; min-height:64px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper,#fffefc); color:var(--muted); white-space:normal; overflow-wrap:anywhere; }
  .shelf-management-page .admin-directory-menu nav button[aria-current=page] { border-color:var(--theme-primary,#865737); background:var(--theme-primary-soft,#f3e8df); color:var(--ink); }
  .shelf-management-page .admin-directory-menu nav button span { display:block; }
}
@media (max-width:650px) {
  .shelf-drawer { width:100%; box-shadow:none; }
  .shelf-drawer-header { padding:20px 20px 15px; }
  .shelf-drawer-tabs { margin:0 20px 16px; }
  .shelf-drawer-tools { padding:0 20px; }
  .shelf-drawer-results { padding:0 20px 12px; }
  .shelf-drawer-footer { padding:12px 20px max(16px,env(safe-area-inset-bottom)); }
  .shelf-drawer-selection { gap:8px; font-size:12px; }
  .shelf-drawer-selection>span { white-space:normal; }
  .shelf-drawer-product { padding:13px 8px; gap:10px; }
  .shelf-management-page .shelf-admin-card>header { grid-template-columns:minmax(0,1fr); gap:12px; }
  .shelf-management-page .shelf-admin-card>header input { max-width:none; }
  .shelf-management-page .shelf-kpis { justify-content:flex-start; }
  .shelf-browse-products { padding:4px 12px; }
  .shelf-browse-products article { grid-template-columns:36px minmax(0,1fr) auto; gap:8px; padding:7px 0; }
  .shelf-browse-products .shelf-product-art { width:36px; height:36px; }
  .shelf-browse-products .shelf-product-metric { grid-column:2; grid-row:2; flex-wrap:wrap; padding-bottom:3px; }
  .shelf-browse-products article>button { grid-column:3; grid-row:1/3; }
  .shelf-search-quick-add label { flex:1; min-width:0; }
  .shelf-search-quick-add select { flex:1; width:100%; min-width:0; max-width:none; }
  .shelf-search-quick-add>small { flex-basis:100%; }
  .shelf-product-placement-options { grid-template-columns:1fr; }
}
.catalog-editor-modal .sku-inventory-mode{grid-column:1/-1;margin:4px 0 0;padding:12px;border:1px solid var(--line,#e7ded6);border-radius:12px;min-width:0}
.catalog-editor-modal .sku-inventory-mode legend{font-size:13px;font-weight:650;padding:0 5px;color:var(--text,#40352d)}
.catalog-editor-modal .sku-inventory-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.catalog-editor-modal .sku-inventory-choices>label{display:flex;align-items:center;gap:9px;min-height:56px;padding:10px;border:1px solid var(--line,#e7ded6);border-radius:9px;cursor:pointer;box-sizing:border-box}
.catalog-editor-modal .sku-inventory-choices>label.selected{background:var(--primary-soft,#f5eee7);border-color:var(--primary,#846245)}
.catalog-editor-modal .sku-inventory-choices input{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--primary,#846245)}
.catalog-editor-modal .sku-inventory-choices span{display:grid;gap:4px;min-width:0}
.catalog-editor-modal .sku-inventory-choices strong{font-size:13px;line-height:1.4}
.catalog-editor-modal .sku-inventory-choices small,.catalog-editor-modal .sku-inventory-help,.catalog-editor-modal .sku-finite-count small{font-size:12px;line-height:1.6;color:var(--muted,#776a60)}
.catalog-editor-modal .sku-inventory-help{display:block;margin-top:9px}
.catalog-editor-modal .sku-finite-count{display:grid;gap:5px;margin-top:12px}
.catalog-editor-modal .sku-inventory-choices>label:has(input:disabled){cursor:default;opacity:.65}
.catalog-editor-modal .sku-inventory-choices>label:focus-within{outline:2px solid var(--primary,#846245);outline-offset:2px}
@media(max-width:480px){.catalog-editor-modal .sku-inventory-choices{grid-template-columns:1fr}.catalog-editor-modal .sku-inventory-mode{padding:10px}}
.catalog-editor-modal .sku-inventory-settings{grid-column:1/-1;min-width:0}
.catalog-editor-modal .sku-inventory-settings>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;box-sizing:border-box;border:1px solid var(--line,#e7ded6);border-radius:9px;font-size:13px;cursor:pointer;list-style:none}
.catalog-editor-modal .sku-inventory-settings>summary::-webkit-details-marker{display:none}
.catalog-editor-modal .sku-inventory-settings>summary strong{font-size:13px;color:var(--primary,#846245)}
.catalog-editor-modal .sku-inventory-settings>summary span{margin-left:auto;color:var(--muted,#776a60);font-size:12px}
.catalog-editor-modal .sku-inventory-settings[open]>summary{background:var(--primary-soft,#f5eee7)}
.catalog-editor-modal .sku-inventory-settings>summary:focus-visible{outline:2px solid var(--primary,#846245);outline-offset:2px}
@media(max-width:640px){
  .catalog-editor-modal .catalog-sku-editor.rich>[data-admin-sku]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"image image" "name name" "price original" "enable remove" "inventory inventory";align-items:stretch;gap:12px;padding:12px}
  .catalog-editor-modal [data-admin-sku]>.sku-image-button{grid-area:image;justify-self:start}
  .catalog-editor-modal [data-admin-sku]>.sku-clear-image{grid-area:image;justify-self:end;align-self:center;min-height:48px;padding:0 14px}
  .catalog-editor-modal [data-admin-sku]>.sku-name-field{grid-area:name}
  .catalog-editor-modal [data-admin-sku]>.sku-price-field{grid-area:price}
  .catalog-editor-modal [data-admin-sku]>.sku-original-price-field{grid-area:original}
  .catalog-editor-modal [data-admin-sku]>.sku-enable{grid-area:enable;min-height:48px;height:auto;font-size:13px}
  .catalog-editor-modal [data-admin-sku]>.sku-remove{grid-area:remove;min-height:48px;height:auto;align-self:stretch}
  .catalog-editor-modal [data-admin-sku]>.sku-inventory-settings{grid-area:inventory}
  .catalog-editor-modal [data-admin-sku]>label{min-width:0;font-size:13px;line-height:1.5}
  .catalog-editor-modal [data-admin-sku]>label input:not([type=checkbox]){min-width:0;min-height:44px;height:auto;font-size:16px;box-sizing:border-box}
  .catalog-editor-modal [data-admin-sku]>.sku-enable input{width:18px;height:18px;min-width:18px;margin:0 9px 0 0}
}
.catalog-state-pair{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}
.catalog-state-pair .status-chip,.catalog-state-pair .shelf-search-badge{margin:0;font-size:12px;line-height:1.4;white-space:nowrap}
.catalog-state-conflict-label,.catalog-row-state-hint{font-size:12px;line-height:1.5;color:var(--red,#a43c39)}
.catalog-row-state-hint{width:100%;margin:0}
.catalog-editor-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:16px 0 8px}
.catalog-editor-state>small{font-size:12px;line-height:1.6;color:var(--muted)}
.catalog-state-error{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper,#fffefc);color:var(--ink);min-width:0;box-sizing:border-box}
.catalog-state-error>strong{font-size:14px;line-height:1.5;color:var(--red,#a43c39)}
.catalog-state-error ul{max-height:220px;overflow:auto;overscroll-behavior:contain;margin:8px 0 10px;padding-left:19px}
.catalog-state-error li{font-size:13px;line-height:1.6;margin:0 0 10px;overflow-wrap:anywhere}
.catalog-state-error li:last-child{margin-bottom:0}
.catalog-state-error li>span{display:block;font-size:12px;color:var(--muted)}
.catalog-state-error p{margin:4px 0;font-size:13px;line-height:1.6}
.catalog-state-recovery-links{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:6px}
.catalog-state-recovery-links a,.catalog-state-product-link{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;background:var(--paper,#fffefc);color:var(--theme-primary,var(--ink));font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.catalog-state-recovery-links a:focus-visible,.catalog-state-product-link:focus-visible{outline:2px solid var(--theme-primary,#865737);outline-offset:2px}
.shelf-drawer-panel>.catalog-state-error{flex-shrink:0;margin:0 28px 10px}
.shelf-drawer-panel>.catalog-state-error ul{max-height:150px}
.shelf-drawer-product.is-unavailable{background:var(--cream,#f6f3ef)}
.shelf-drawer-product-copy>.catalog-state-pair{margin-top:3px}
.shelf-product-unavailable{color:var(--red,#a43c39)}
.shelf-drawer-product-copy>.catalog-state-product-link{margin-top:5px;align-self:flex-start}
@media(max-width:640px){.shelf-drawer-panel>.catalog-state-error{margin-left:18px;margin-right:18px}.catalog-state-error{padding:10px 12px}.catalog-state-error>button{width:100%;min-height:44px}.catalog-editor-state>small{width:100%}}
