/* ShelfyDesktop ? desktop-first shell (Jira/Linear/Notion-inspired) */
:root {
  --sd-bg: #f4f5f7;
  --sd-surface: #ffffff;
  --sd-border: #e4e6eb;
  --sd-text: #1d2125;
  --sd-muted: #626f86;
  --sd-accent: #c41e3a;
  --sd-accent-hover: #a01830;
  --sd-input-focus-border: var(--sd-accent);
  --sd-input-focus-ring: 0 0 0 3px color-mix(in srgb, var(--sd-accent) 22%, transparent);
  --sd-sidebar-w: 260px;
  --sd-sidebar-collapsed: 72px;
  /* Sidebar + home KPI + activity: all icons render in the same square footprint */
  --sd-desktop-nav-icon-slot: 20px;
  --sd-desktop-nav-icon-slot-collapsed: 18px;
  --sd-desktop-home-kpi-icon-slot: 20px;
  --sd-radius: 8px;
  --sd-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --sd-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  /* Sidebar collapse tab ? derived from theme tokens */
  --sd-sidebar-collapse-bg: var(--sd-bg);
  --sd-sidebar-collapse-bg-hover: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-bg));
  --sd-sidebar-collapse-border: var(--sd-border);
  --sd-sidebar-collapse-fg: var(--sd-text);
  /* Nav, tables, primary buttons (overridable per theme) */
  --sd-nav-link-hover-bg: var(--sd-bg);
  --sd-nav-link-active-bg: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  --sd-nav-link-active-fg: var(--sd-accent);
  --sd-hover-table-cell-bg: color-mix(in srgb, var(--sd-text) 3.5%, var(--sd-surface));
  --sd-shelf-row-task-tint-bg: color-mix(in srgb, var(--sd-accent) 5.5%, var(--sd-surface));
  --sd-shelf-row-hover-bg: color-mix(in srgb, var(--sd-accent) 10%, var(--sd-surface));
  --sd-shelf-row-task-hover-bg: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  --sd-btn-primary-fg: #ffffff;
  --sd-btn-primary-hover-fg: #ffffff;
  /* Product status badges (non success / DPCI ? see .sd-product-card__status-badge--*) */
  --sd-badge-info-bg: color-mix(in srgb, #1976d2 11%, var(--sd-surface));
  --sd-badge-info-fg: #0d47a1;
  --sd-badge-info-border: color-mix(in srgb, #1976d2 32%, var(--sd-border));
  --sd-badge-dpci-bg: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
  --sd-badge-dpci-fg: #37474f;
  --sd-badge-dpci-border: color-mix(in srgb, var(--sd-muted) 35%, var(--sd-border));
  --sd-badge-warn-bg: color-mix(in srgb, #ed6d00 12%, var(--sd-surface));
  --sd-badge-warn-fg: #bf360c;
  --sd-badge-warn-border: color-mix(in srgb, #ed6d00 32%, var(--sd-border));
  --sd-badge-neutral-bg: var(--sd-bg);
  --sd-badge-neutral-fg: var(--sd-text);
  --sd-badge-neutral-border: var(--sd-border);
  /* Outline / soft destructive (e.g. Account Settings Edit User Remove) */
  --sd-btn-danger-fg: #7a1515;
  --sd-btn-danger-bg: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  --sd-btn-danger-bg-hover: color-mix(in srgb, var(--sd-accent) 22%, var(--sd-surface));
  --sd-btn-danger-border: color-mix(in srgb, var(--sd-accent) 34%, var(--sd-border));
  /* Home: count tiles + Recent activity cards ? shelf (green) vs insight (blue) vs neutral catalog trio */
  --sd-home-count-shelf-bg: color-mix(in srgb, #22c55e 10%, var(--sd-surface));
  --sd-home-count-shelf-border: color-mix(in srgb, #22c55e 26%, var(--sd-border));
  --sd-home-count-shelf-border-hover: color-mix(in srgb, #22c55e 42%, var(--sd-border));
  --sd-home-count-shelf-icon: #15803d;
  --sd-home-count-insight-bg: color-mix(in srgb, #3b82f6 11%, var(--sd-surface));
  --sd-home-count-insight-border: color-mix(in srgb, #3b82f6 26%, var(--sd-border));
  --sd-home-count-insight-border-hover: color-mix(in srgb, #3b82f6 42%, var(--sd-border));
  --sd-home-count-insight-icon: #1d4ed8;
  --sd-home-count-catalog-bg: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
  --sd-home-count-catalog-border: color-mix(in srgb, var(--sd-muted) 22%, var(--sd-border));
  --sd-home-count-catalog-border-hover: color-mix(in srgb, var(--sd-muted) 36%, var(--sd-border));
  --sd-home-count-catalog-icon: var(--sd-muted);
  /* Home KPI row: distinct catalog tiles (purple / orange / gold) */
  --sd-home-count-products-bg: color-mix(in srgb, #a855f7 11%, var(--sd-surface));
  --sd-home-count-products-border: color-mix(in srgb, #a855f7 26%, var(--sd-border));
  --sd-home-count-products-border-hover: color-mix(in srgb, #a855f7 40%, var(--sd-border));
  --sd-home-count-products-icon: #7c3aed;
  --sd-home-count-products-spark: #9333ea;
  --sd-home-count-categories-bg: color-mix(in srgb, #f97316 11%, var(--sd-surface));
  --sd-home-count-categories-border: color-mix(in srgb, #f97316 26%, var(--sd-border));
  --sd-home-count-categories-border-hover: color-mix(in srgb, #f97316 40%, var(--sd-border));
  --sd-home-count-categories-icon: #c2410c;
  --sd-home-count-categories-spark: #ea580c;
  --sd-home-count-stores-bg: color-mix(in srgb, #eab308 12%, var(--sd-surface));
  --sd-home-count-stores-border: color-mix(in srgb, #eab308 28%, var(--sd-border));
  --sd-home-count-stores-border-hover: color-mix(in srgb, #eab308 44%, var(--sd-border));
  --sd-home-count-stores-icon: #a16207;
  --sd-home-count-stores-spark: #ca8a04;
  /* Home recent activity ? shelf/insight capsule (neutral charcoal / warm text) */
  --sd-home-activity-kind-pill-bg: #2e3136;
  --sd-home-activity-kind-pill-fg: #f0e9e1;
  --sd-home-activity-kind-pill-border: rgba(255, 255, 255, 0.1);
  /* Home cards ? radius aligned with import upload row badges (6px); kind labels use full pill in CSS */
  --sd-home-card-radius: 6px;
  /* Home Recent Activity ? workflow pills (also used on Insights list). Progress = sky (not accent) vs review = rose. */
  --sd-home-workflow-complete-bg: color-mix(in srgb, #22c55e 22%, var(--sd-surface));
  --sd-home-workflow-complete-fg: #166534;
  --sd-home-workflow-complete-border: color-mix(in srgb, #22c55e 38%, var(--sd-border));
  --sd-home-workflow-review-bg: color-mix(in srgb, #e11d48 17%, var(--sd-surface));
  --sd-home-workflow-review-fg: #9f1239;
  --sd-home-workflow-review-border: color-mix(in srgb, #e11d48 34%, var(--sd-border));
  --sd-home-workflow-progress-bg: color-mix(in srgb, #0284c7 16%, var(--sd-surface));
  --sd-home-workflow-progress-fg: #0c4a6e;
  --sd-home-workflow-progress-border: color-mix(in srgb, #0284c7 32%, var(--sd-border));
  --sd-home-workflow-new-bg: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
  --sd-home-workflow-new-fg: #475569;
  --sd-home-workflow-new-border: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-border));
  /* Shelf overview chart cards — theme-tuned chrome + bar palettes (Apex reads resolved values). */
  --sd-overview-products-fg: #7c3aed;
  --sd-overview-products-bg: color-mix(in srgb, #a855f7 14%, var(--sd-surface));
  --sd-overview-products-soft: color-mix(in srgb, #a855f7 8%, var(--sd-surface));
  --sd-overview-imports-fg: #2563eb;
  --sd-overview-imports-bg: color-mix(in srgb, #3b82f6 14%, var(--sd-surface));
  --sd-overview-imports-soft: color-mix(in srgb, #3b82f6 8%, var(--sd-surface));
  --sd-overview-bar-1: #e11d48;
  --sd-overview-bar-2: #7c3aed;
  --sd-overview-bar-3: #db2777;
  --sd-overview-bar-4: #2563eb;
  --sd-overview-bar-5: #0d9488;
  --sd-overview-type-1: #0284c7;
  --sd-overview-type-2: #7c3aed;
  --sd-overview-type-3: #d97706;
  --sd-overview-type-4: #15803d;
  /* Recent Activity: fixed badge column ? each row is its own grid, so max-content would vary per row and stagger dividers. */
  --sd-home-activity-badge-col: 11.75rem;
  /* Home spacing: inner scale + section rhythm */
  --sd-home-space-xs: 8px;
  --sd-home-space-sm: 12px;
  --sd-home-space-md: 16px;
  --sd-home-space-section: 32px;
  --sd-home-card-padding-y: 16px;
  --sd-home-card-padding-x: 18px;
  /* KPI row: min track width ? wide enough for large count + weekly pill without overlap */
  --sd-home-count-card-track-min: 11.5rem;
  /* Shelves Kanban cards — status accents (new / in progress / complete / danger) + card chrome */
  --sd-s1-kanban-accent-new: #64748b;
  --sd-s1-kanban-accent-progress: #0284c7;
  --sd-s1-kanban-accent-complete: #15803d;
  --sd-s1-kanban-accent-danger: #dc2626;
  --sd-s1-kanban-soft-amt: 13%;
  --sd-s1-kanban-card-bg: #ffffff;
  --sd-s1-kanban-card-border: var(--sd-border);
  --sd-s1-kanban-card-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  --sd-s1-kanban-card-shadow-hover: 0 4px 16px rgba(15, 23, 42, 0.12);
  /* Account Settings client picker — complementary of --sd-accent (cardinal red → teal) */
  --sd-cs-pick-comp: #148a8a;
  --sd-cs-pick-fg: #0d6e70;
}

/* Dark mode: warm charcoal (#23292e), slate panels (#3e444a), taupe muted (#948b7f), cream text (#e6d8c3) */
html.theme-dark {
  --sd-bg: #23292e;
  --sd-surface: #3e444a;
  --sd-border: #353b42;
  --sd-text: #e6d8c3;
  --sd-muted: #948b7f;
  /* Steel blue accent — crisp on charcoal/cream without neon Tailwind blue */
  --sd-accent: #5c8ab8;
  --sd-accent-hover: #6f9bc4;
  --sd-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  --sd-sidebar-collapse-bg: color-mix(in srgb, var(--sd-text) 16%, var(--sd-surface));
  --sd-sidebar-collapse-bg-hover: color-mix(in srgb, var(--sd-text) 26%, var(--sd-surface));
  --sd-sidebar-collapse-border: color-mix(in srgb, var(--sd-text) 10%, var(--sd-border));
  --sd-sidebar-collapse-fg: var(--sd-text);
  --sd-nav-link-hover-bg: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  --sd-nav-link-active-bg: color-mix(in srgb, var(--sd-accent) 22%, var(--sd-surface));
  --sd-nav-link-active-fg: #f0ebe3;
  --sd-hover-table-cell-bg: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  --sd-shelf-row-task-tint-bg: color-mix(in srgb, var(--sd-accent) 10%, var(--sd-surface));
  --sd-shelf-row-hover-bg: color-mix(in srgb, var(--sd-text) 7%, var(--sd-surface));
  --sd-shelf-row-task-hover-bg: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-btn-primary-fg: #f4efe6;
  --sd-btn-primary-hover-fg: #faf6ef;
  --sd-badge-info-bg: color-mix(in srgb, var(--sd-accent) 16%, var(--sd-surface));
  --sd-badge-info-fg: color-mix(in srgb, var(--sd-accent) 35%, var(--sd-text));
  --sd-badge-info-border: color-mix(in srgb, var(--sd-accent) 34%, transparent);
  --sd-badge-dpci-bg: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  --sd-badge-dpci-fg: color-mix(in srgb, var(--sd-text) 82%, var(--sd-muted));
  --sd-badge-dpci-border: color-mix(in srgb, var(--sd-muted) 40%, transparent);
  --sd-badge-warn-bg: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-badge-warn-fg: color-mix(in srgb, var(--sd-accent) 30%, var(--sd-text));
  --sd-badge-warn-border: color-mix(in srgb, var(--sd-accent) 32%, transparent);
  --sd-badge-neutral-bg: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
  --sd-badge-neutral-fg: var(--sd-text);
  --sd-badge-neutral-border: var(--sd-border);
  --sd-btn-danger-fg: #fecaca;
  --sd-btn-danger-bg: color-mix(in srgb, #f87171 16%, var(--sd-surface));
  --sd-btn-danger-bg-hover: color-mix(in srgb, #f87171 26%, var(--sd-surface));
  --sd-btn-danger-border: rgba(248, 113, 113, 0.42);
  --sd-home-count-shelf-bg: color-mix(in srgb, #4ade80 14%, var(--sd-surface));
  --sd-home-count-shelf-border: color-mix(in srgb, #4ade80 32%, var(--sd-border));
  --sd-home-count-shelf-border-hover: color-mix(in srgb, #4ade80 52%, transparent);
  --sd-home-count-shelf-icon: #86efac;
  --sd-home-count-insight-bg: color-mix(in srgb, var(--sd-accent) 18%, var(--sd-surface));
  --sd-home-count-insight-border: color-mix(in srgb, var(--sd-accent) 34%, transparent);
  --sd-home-count-insight-border-hover: color-mix(in srgb, var(--sd-accent-hover) 48%, transparent);
  --sd-home-count-insight-icon: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-text));
  --sd-home-count-catalog-bg: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  --sd-home-count-catalog-border: color-mix(in srgb, var(--sd-text) 12%, var(--sd-border));
  --sd-home-count-catalog-border-hover: color-mix(in srgb, var(--sd-text) 24%, var(--sd-border));
  --sd-home-count-catalog-icon: var(--sd-muted);
  --sd-home-count-products-bg: color-mix(in srgb, #c084fc 14%, var(--sd-surface));
  --sd-home-count-products-border: color-mix(in srgb, #c084fc 32%, var(--sd-border));
  --sd-home-count-products-border-hover: color-mix(in srgb, #c084fc 50%, transparent);
  --sd-home-count-products-icon: #e9d5ff;
  --sd-home-count-products-spark: #d8b4fe;
  --sd-home-count-categories-bg: color-mix(in srgb, #fb923c 14%, var(--sd-surface));
  --sd-home-count-categories-border: color-mix(in srgb, #fb923c 32%, var(--sd-border));
  --sd-home-count-categories-border-hover: color-mix(in srgb, #fb923c 50%, transparent);
  --sd-home-count-categories-icon: #ffedd5;
  --sd-home-count-categories-spark: #fdba74;
  --sd-home-count-stores-bg: color-mix(in srgb, #facc15 14%, var(--sd-surface));
  --sd-home-count-stores-border: color-mix(in srgb, #facc15 32%, var(--sd-border));
  --sd-home-count-stores-border-hover: color-mix(in srgb, #facc15 50%, transparent);
  --sd-home-count-stores-icon: #fef9c3;
  --sd-home-count-stores-spark: #fde047;
  --sd-home-activity-kind-pill-bg: #2c3036;
  --sd-home-activity-kind-pill-fg: #ebe4d9;
  --sd-home-activity-kind-pill-border: rgba(230, 216, 195, 0.14);
  /* Workflow badges: muted sage/rose/steel on charcoal — readable, not neon */
  --sd-home-workflow-complete-bg: color-mix(in srgb, #4a9b6e 16%, var(--sd-surface));
  --sd-home-workflow-complete-fg: #c8ddc9;
  --sd-home-workflow-complete-border: color-mix(in srgb, #5fad82 34%, transparent);
  --sd-home-workflow-review-bg: color-mix(in srgb, #c47a86 15%, var(--sd-surface));
  --sd-home-workflow-review-fg: #e6cfd2;
  --sd-home-workflow-review-border: color-mix(in srgb, #c47a86 34%, transparent);
  --sd-home-workflow-progress-bg: color-mix(in srgb, #5a91b0 15%, var(--sd-surface));
  --sd-home-workflow-progress-fg: #d0dde6;
  --sd-home-workflow-progress-border: color-mix(in srgb, #5a91b0 36%, transparent);
  --sd-home-workflow-new-bg: color-mix(in srgb, var(--sd-text) 9%, var(--sd-surface));
  --sd-home-workflow-new-fg: color-mix(in srgb, var(--sd-text) 88%, var(--sd-muted));
  --sd-home-workflow-new-border: color-mix(in srgb, var(--sd-text) 20%, var(--sd-border));
  --sd-overview-products-fg: #e9d5ff;
  --sd-overview-products-bg: color-mix(in srgb, #c084fc 16%, var(--sd-surface));
  --sd-overview-products-soft: color-mix(in srgb, #c084fc 10%, var(--sd-surface));
  --sd-overview-imports-fg: #b7d3ea;
  --sd-overview-imports-bg: color-mix(in srgb, var(--sd-accent) 22%, var(--sd-surface));
  --sd-overview-imports-soft: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-overview-bar-1: #f9a8d4;
  --sd-overview-bar-2: #c4b5fd;
  --sd-overview-bar-3: #f0abfc;
  --sd-overview-bar-4: #93c5fd;
  --sd-overview-bar-5: #5eead4;
  --sd-overview-type-1: #7dd3fc;
  --sd-overview-type-2: #d8b4fe;
  --sd-overview-type-3: #fdba74;
  --sd-overview-type-4: #86efac;
  /* Kanban: muted steel / sage / rose on charcoal — readable, not neon */
  --sd-s1-kanban-accent-new: #b0a698;
  --sd-s1-kanban-accent-progress: #7eabcc;
  --sd-s1-kanban-accent-complete: #8fbf9a;
  --sd-s1-kanban-accent-danger: #e8a0a0;
  --sd-s1-kanban-soft-amt: 20%;
  --sd-s1-kanban-card-bg: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
  --sd-s1-kanban-card-border: color-mix(in srgb, var(--sd-text) 14%, var(--sd-border));
  --sd-s1-kanban-card-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
  --sd-s1-kanban-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.42);
  /* Client picker — complementary of steel blue → amber */
  --sd-cs-pick-comp: #c4925c;
  --sd-cs-pick-fg: #e8c49a;
}

/* Path (dark) ? Shelfy logo: eggplant #54435b, coral #e67564, grey #d9d9d9, rose #db939a */
html.theme-path {
  --sd-bg: #3a3045;
  --sd-surface: #54435b;
  --sd-border: #6e6278;
  --sd-text: #f2ecef;
  --sd-muted: #b8b0c0;
  --sd-accent: #e67564;
  --sd-accent-hover: #db939a;
  --sd-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  --sd-sidebar-collapse-bg: color-mix(in srgb, #d9d9d9 14%, var(--sd-surface));
  --sd-sidebar-collapse-bg-hover: color-mix(in srgb, #d9d9d9 24%, var(--sd-surface));
  --sd-sidebar-collapse-border: color-mix(in srgb, #d9d9d9 35%, transparent);
  --sd-sidebar-collapse-fg: var(--sd-text);
  --sd-nav-link-hover-bg: color-mix(in srgb, #d9d9d9 11%, var(--sd-surface));
  --sd-nav-link-active-bg: color-mix(in srgb, var(--sd-accent) 32%, var(--sd-surface));
  --sd-nav-link-active-fg: #ffffff;
  --sd-hover-table-cell-bg: color-mix(in srgb, #d9d9d9 9%, var(--sd-surface));
  --sd-shelf-row-task-tint-bg: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-shelf-row-hover-bg: color-mix(in srgb, var(--sd-accent) 20%, var(--sd-surface));
  --sd-shelf-row-task-hover-bg: color-mix(in srgb, var(--sd-accent) 26%, var(--sd-surface));
  --sd-btn-primary-fg: #1a1418;
  --sd-btn-primary-hover-fg: #1a1418;
  --sd-badge-info-bg: color-mix(in srgb, #d9d9d9 16%, var(--sd-surface));
  --sd-badge-info-fg: #eef6ff;
  --sd-badge-info-border: color-mix(in srgb, #b8d4f0 40%, transparent);
  --sd-badge-dpci-bg: color-mix(in srgb, #d9d9d9 10%, var(--sd-surface));
  --sd-badge-dpci-fg: #f5f0f3;
  --sd-badge-dpci-border: color-mix(in srgb, #db939a 35%, transparent);
  --sd-badge-warn-bg: color-mix(in srgb, #e67564 18%, var(--sd-surface));
  --sd-badge-warn-fg: #fff5f2;
  --sd-badge-warn-border: color-mix(in srgb, #e67564 45%, transparent);
  --sd-badge-neutral-bg: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  --sd-badge-neutral-fg: var(--sd-text);
  --sd-badge-neutral-border: var(--sd-border);
  --sd-btn-danger-fg: #fff0f0;
  --sd-btn-danger-bg: color-mix(in srgb, #e67564 24%, var(--sd-surface));
  --sd-btn-danger-bg-hover: color-mix(in srgb, #e67564 36%, var(--sd-surface));
  --sd-btn-danger-border: color-mix(in srgb, #ffc4bc 40%, transparent);
  /* Shelf count + shelf activity cards ? catalog trio: swapped palette (Path only). */
  --sd-home-count-shelf-bg: color-mix(in srgb, #d9d9d9 10%, var(--sd-surface));
  --sd-home-count-shelf-border: color-mix(in srgb, #d9d9d9 26%, var(--sd-border));
  --sd-home-count-shelf-border-hover: color-mix(in srgb, #f2ecef 28%, transparent);
  --sd-home-count-shelf-icon: var(--sd-muted);
  --sd-home-count-insight-bg: color-mix(in srgb, var(--sd-accent) 16%, var(--sd-surface));
  --sd-home-count-insight-border: color-mix(in srgb, var(--sd-accent) 38%, transparent);
  --sd-home-count-insight-border-hover: color-mix(in srgb, #ffc4bc 48%, transparent);
  --sd-home-count-insight-icon: #ffe4e1;
  --sd-home-count-catalog-bg: color-mix(in srgb, #4ade80 12%, var(--sd-surface));
  --sd-home-count-catalog-border: color-mix(in srgb, #4ade80 30%, var(--sd-border));
  --sd-home-count-catalog-border-hover: color-mix(in srgb, #bbf7d0 45%, transparent);
  --sd-home-count-catalog-icon: #dcfce7;
  --sd-home-workflow-complete-bg: color-mix(in srgb, #86efac 16%, var(--sd-surface));
  --sd-home-workflow-complete-fg: #dcfce7;
  --sd-home-workflow-complete-border: color-mix(in srgb, #86efac 42%, transparent);
  --sd-home-workflow-review-bg: color-mix(in srgb, #fbcfe8 16%, var(--sd-surface));
  --sd-home-workflow-review-fg: #fce7f3;
  --sd-home-workflow-review-border: color-mix(in srgb, #f9a8d4 44%, transparent);
  --sd-home-workflow-progress-bg: color-mix(in srgb, #7dd3fc 14%, var(--sd-surface));
  --sd-home-workflow-progress-fg: #e0f2fe;
  --sd-home-workflow-progress-border: color-mix(in srgb, #38bdf8 40%, transparent);
  --sd-home-workflow-new-bg: color-mix(in srgb, #d9d9d9 10%, var(--sd-surface));
  --sd-home-workflow-new-fg: #f2ecef;
  --sd-home-workflow-new-border: color-mix(in srgb, #d9d9d9 30%, transparent);
  --sd-overview-products-fg: #f5d0fe;
  --sd-overview-products-bg: color-mix(in srgb, #e9d5ff 16%, var(--sd-surface));
  --sd-overview-products-soft: color-mix(in srgb, #e9d5ff 10%, var(--sd-surface));
  --sd-overview-imports-fg: #ffc4bc;
  --sd-overview-imports-bg: color-mix(in srgb, var(--sd-accent) 22%, var(--sd-surface));
  --sd-overview-imports-soft: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-overview-bar-1: #f9a8d4;
  --sd-overview-bar-2: #fdba74;
  --sd-overview-bar-3: #e9d5ff;
  --sd-overview-bar-4: #7dd3fc;
  --sd-overview-bar-5: #86efac;
  --sd-overview-type-1: #fda4af;
  --sd-overview-type-2: #e9d5ff;
  --sd-overview-type-3: #fdba74;
  --sd-overview-type-4: #bbf7d0;
  /* Kanban: cool grey / sky / mint / coral on eggplant */
  --sd-s1-kanban-accent-new: #c8c0cc;
  --sd-s1-kanban-accent-progress: #7dd3fc;
  --sd-s1-kanban-accent-complete: #86efac;
  --sd-s1-kanban-accent-danger: #ffb4a8;
  --sd-s1-kanban-soft-amt: 18%;
  --sd-s1-kanban-card-bg: color-mix(in srgb, #d9d9d9 7%, var(--sd-surface));
  --sd-s1-kanban-card-border: color-mix(in srgb, #d9d9d9 22%, var(--sd-border));
  --sd-s1-kanban-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
  --sd-s1-kanban-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.4);
  /* Client picker — complementary of coral → cyan */
  --sd-cs-pick-comp: #64d4e6;
  --sd-cs-pick-fg: #b8f0f8;
}

/* GreenDay (dark) ? #0A1411, #2D5244, #4A8E77, mint #B2E2C8 */
html.theme-greenday {
  --sd-bg: #0a1411;
  --sd-surface: #2d5244;
  --sd-border: #3a5f52;
  --sd-text: #b2e2c8;
  --sd-muted: #6daf96;
  --sd-accent: #4a8e77;
  --sd-accent-hover: #5cba9a;
  --sd-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  --sd-sidebar-collapse-bg: color-mix(in srgb, var(--sd-text) 10%, var(--sd-surface));
  --sd-sidebar-collapse-bg-hover: color-mix(in srgb, var(--sd-text) 18%, var(--sd-surface));
  --sd-sidebar-collapse-border: color-mix(in srgb, #4a8e77 40%, transparent);
  --sd-sidebar-collapse-fg: var(--sd-text);
  --sd-nav-link-hover-bg: color-mix(in srgb, #4a8e77 14%, var(--sd-surface));
  --sd-nav-link-active-bg: color-mix(in srgb, #b2e2c8 24%, var(--sd-surface));
  --sd-nav-link-active-fg: #0a1411;
  --sd-hover-table-cell-bg: color-mix(in srgb, #b2e2c8 9%, var(--sd-surface));
  --sd-shelf-row-task-tint-bg: color-mix(in srgb, #4a8e77 14%, var(--sd-surface));
  --sd-shelf-row-hover-bg: color-mix(in srgb, #4a8e77 22%, var(--sd-surface));
  --sd-shelf-row-task-hover-bg: color-mix(in srgb, #4a8e77 28%, var(--sd-surface));
  --sd-btn-primary-fg: #0a1411;
  --sd-btn-primary-hover-fg: #0a1411;
  --sd-badge-info-bg: color-mix(in srgb, #4a8e77 22%, var(--sd-surface));
  --sd-badge-info-fg: #e8faf1;
  --sd-badge-info-border: color-mix(in srgb, #b2e2c8 38%, transparent);
  --sd-badge-dpci-bg: color-mix(in srgb, var(--sd-text) 9%, var(--sd-surface));
  --sd-badge-dpci-fg: #dff7ea;
  --sd-badge-dpci-border: color-mix(in srgb, #4a8e77 42%, transparent);
  --sd-badge-warn-bg: color-mix(in srgb, #c9a227 16%, var(--sd-surface));
  --sd-badge-warn-fg: #fff9e6;
  --sd-badge-warn-border: color-mix(in srgb, #e4c65a 38%, transparent);
  --sd-badge-neutral-bg: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  --sd-badge-neutral-fg: var(--sd-text);
  --sd-badge-neutral-border: var(--sd-border);
  --sd-btn-danger-fg: #fff5f4;
  --sd-btn-danger-bg: color-mix(in srgb, #c94c5c 30%, var(--sd-surface));
  --sd-btn-danger-bg-hover: color-mix(in srgb, #d46573 40%, var(--sd-surface));
  --sd-btn-danger-border: color-mix(in srgb, #ffb3bd 38%, transparent);
  --sd-home-count-shelf-bg: color-mix(in srgb, #4a8e77 22%, var(--sd-surface));
  --sd-home-count-shelf-border: color-mix(in srgb, #b2e2c8 30%, var(--sd-border));
  --sd-home-count-shelf-border-hover: color-mix(in srgb, #b2e2c8 48%, transparent);
  --sd-home-count-shelf-icon: #d1fae5;
  --sd-home-count-insight-bg: color-mix(in srgb, #f0ab9c 14%, var(--sd-surface));
  --sd-home-count-insight-border: color-mix(in srgb, #ffb3bd 32%, transparent);
  --sd-home-count-insight-border-hover: color-mix(in srgb, #fecdd3 48%, transparent);
  --sd-home-count-insight-icon: #fff1f2;
  --sd-home-count-catalog-bg: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  --sd-home-count-catalog-border: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-border));
  --sd-home-count-catalog-border-hover: color-mix(in srgb, var(--sd-text) 18%, var(--sd-border));
  --sd-home-count-catalog-icon: var(--sd-muted);
  --sd-home-workflow-complete-bg: color-mix(in srgb, #4ade80 22%, var(--sd-surface));
  --sd-home-workflow-complete-fg: #d1fae5;
  --sd-home-workflow-complete-border: color-mix(in srgb, #6ee7b7 42%, transparent);
  --sd-home-workflow-review-bg: color-mix(in srgb, #fca5a5 18%, var(--sd-surface));
  --sd-home-workflow-review-fg: #fecaca;
  --sd-home-workflow-review-border: color-mix(in srgb, #f87171 44%, transparent);
  --sd-home-workflow-progress-bg: color-mix(in srgb, #fcd34d 16%, var(--sd-surface));
  --sd-home-workflow-progress-fg: #fef9c3;
  --sd-home-workflow-progress-border: color-mix(in srgb, #facc15 40%, transparent);
  --sd-home-workflow-new-bg: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  --sd-home-workflow-new-fg: color-mix(in srgb, var(--sd-text) 72%, var(--sd-muted));
  --sd-home-workflow-new-border: color-mix(in srgb, #4a8e77 38%, transparent);
  --sd-overview-products-fg: #d1fae5;
  --sd-overview-products-bg: color-mix(in srgb, #4a8e77 26%, var(--sd-surface));
  --sd-overview-products-soft: color-mix(in srgb, #b2e2c8 12%, var(--sd-surface));
  --sd-overview-imports-fg: #ffe4e6;
  --sd-overview-imports-bg: color-mix(in srgb, #f0ab9c 18%, var(--sd-surface));
  --sd-overview-imports-soft: color-mix(in srgb, #f0ab9c 12%, var(--sd-surface));
  --sd-overview-bar-1: #6ee7b7;
  --sd-overview-bar-2: #fcd34d;
  --sd-overview-bar-3: #fda4af;
  --sd-overview-bar-4: #5eead4;
  --sd-overview-bar-5: #bbf7d0;
  --sd-overview-type-1: #6ee7b7;
  --sd-overview-type-2: #fcd34d;
  --sd-overview-type-3: #fda4af;
  --sd-overview-type-4: #a7f3d0;
  /* Kanban: mint-gray / gold (vs green complete) / mint / rose on forest */
  --sd-s1-kanban-accent-new: #7eb89e;
  --sd-s1-kanban-accent-progress: #f5d56a;
  --sd-s1-kanban-accent-complete: #6ee7b7;
  --sd-s1-kanban-accent-danger: #f5a8a8;
  --sd-s1-kanban-soft-amt: 20%;
  --sd-s1-kanban-card-bg: color-mix(in srgb, #b2e2c8 7%, var(--sd-surface));
  --sd-s1-kanban-card-border: color-mix(in srgb, #b2e2c8 18%, var(--sd-border));
  --sd-s1-kanban-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.32);
  --sd-s1-kanban-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.45);
  /* Client picker — complementary of teal → rose */
  --sd-cs-pick-comp: #c96b80;
  --sd-cs-pick-fg: #ffc2cd;
}

/* Vintage (light) ? page #F8F9E9, surface #F2E7D0, accent #E2B4B1, text #7B6161 */
html.theme-vintage {
  --sd-bg: #f8f9e9;
  --sd-surface: #f2e7d0;
  --sd-border: #d9cbb0;
  --sd-text: #7b6161;
  --sd-muted: #9a8585;
  --sd-accent: #e2b4b1;
  --sd-accent-hover: #d49e9a;
  --sd-shadow: 0 1px 2px rgba(91, 65, 65, 0.08);
  --sd-sidebar-collapse-bg: color-mix(in srgb, var(--sd-text) 6%, var(--sd-bg));
  --sd-sidebar-collapse-bg-hover: color-mix(in srgb, var(--sd-text) 11%, var(--sd-bg));
  --sd-sidebar-collapse-border: color-mix(in srgb, var(--sd-text) 18%, var(--sd-border));
  --sd-sidebar-collapse-fg: var(--sd-text);
  --sd-nav-link-hover-bg: color-mix(in srgb, var(--sd-accent) 22%, var(--sd-surface));
  --sd-nav-link-active-bg: color-mix(in srgb, var(--sd-accent) 38%, var(--sd-surface));
  --sd-nav-link-active-fg: #5c4848;
  --sd-hover-table-cell-bg: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
  --sd-shelf-row-task-tint-bg: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-shelf-row-hover-bg: color-mix(in srgb, var(--sd-accent) 20%, var(--sd-surface));
  --sd-shelf-row-task-hover-bg: color-mix(in srgb, var(--sd-accent) 26%, var(--sd-surface));
  --sd-btn-primary-fg: #5c4848;
  --sd-btn-primary-hover-fg: #4a3a3a;
  --sd-badge-info-bg: color-mix(in srgb, #7b9eb8 18%, var(--sd-surface));
  --sd-badge-info-fg: #3d5a6e;
  --sd-badge-info-border: color-mix(in srgb, #7b9eb8 35%, var(--sd-border));
  --sd-badge-dpci-bg: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-surface));
  --sd-badge-dpci-fg: #5a4a4a;
  --sd-badge-dpci-border: color-mix(in srgb, var(--sd-muted) 30%, var(--sd-border));
  --sd-badge-warn-bg: color-mix(in srgb, #d4a574 20%, var(--sd-surface));
  --sd-badge-warn-fg: #6b4420;
  --sd-badge-warn-border: color-mix(in srgb, #c99050 35%, var(--sd-border));
  --sd-badge-neutral-bg: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
  --sd-badge-neutral-fg: var(--sd-text);
  --sd-badge-neutral-border: var(--sd-border);
  --sd-btn-danger-fg: #5c2220;
  --sd-btn-danger-bg: color-mix(in srgb, #a65d5d 16%, var(--sd-surface));
  --sd-btn-danger-bg-hover: color-mix(in srgb, #a65d5d 26%, var(--sd-surface));
  --sd-btn-danger-border: color-mix(in srgb, #8b4545 32%, var(--sd-border));
  --sd-home-count-shelf-bg: color-mix(in srgb, #6d8f6f 14%, var(--sd-surface));
  --sd-home-count-shelf-border: color-mix(in srgb, #6d8f6f 28%, var(--sd-border));
  --sd-home-count-shelf-border-hover: color-mix(in srgb, #6d8f6f 44%, var(--sd-border));
  --sd-home-count-shelf-icon: #3d5a40;
  --sd-home-count-insight-bg: color-mix(in srgb, #7b9eb8 16%, var(--sd-surface));
  --sd-home-count-insight-border: color-mix(in srgb, #7b9eb8 32%, var(--sd-border));
  --sd-home-count-insight-border-hover: color-mix(in srgb, #7b9eb8 48%, var(--sd-border));
  --sd-home-count-insight-icon: #3d5a6e;
  --sd-home-count-catalog-bg: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  --sd-home-count-catalog-border: color-mix(in srgb, var(--sd-muted) 26%, var(--sd-border));
  --sd-home-count-catalog-border-hover: color-mix(in srgb, var(--sd-text) 20%, var(--sd-border));
  --sd-home-count-catalog-icon: var(--sd-muted);
  --sd-home-workflow-complete-bg: color-mix(in srgb, #4d7c59 18%, var(--sd-surface));
  --sd-home-workflow-complete-fg: #2d4a32;
  --sd-home-workflow-complete-border: color-mix(in srgb, #4d7c59 34%, var(--sd-border));
  --sd-home-workflow-review-bg: color-mix(in srgb, #b4536b 16%, var(--sd-surface));
  --sd-home-workflow-review-fg: #7f1d2d;
  --sd-home-workflow-review-border: color-mix(in srgb, #b4536b 32%, var(--sd-border));
  --sd-home-workflow-progress-bg: color-mix(in srgb, #0369a1 12%, var(--sd-surface));
  --sd-home-workflow-progress-fg: #0c4a6e;
  --sd-home-workflow-progress-border: color-mix(in srgb, #0369a1 28%, var(--sd-border));
  --sd-home-workflow-new-bg: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
  --sd-home-workflow-new-fg: #5a4a4a;
  --sd-home-workflow-new-border: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-border));
  --sd-overview-products-fg: #8b5e5e;
  --sd-overview-products-bg: color-mix(in srgb, #e2b4b1 28%, var(--sd-surface));
  --sd-overview-products-soft: color-mix(in srgb, #e2b4b1 16%, var(--sd-surface));
  --sd-overview-imports-fg: #3d5a6e;
  --sd-overview-imports-bg: color-mix(in srgb, #7b9eb8 18%, var(--sd-surface));
  --sd-overview-imports-soft: color-mix(in srgb, #7b9eb8 12%, var(--sd-surface));
  --sd-overview-bar-1: #c48b8b;
  --sd-overview-bar-2: #9a7b8c;
  --sd-overview-bar-3: #c99050;
  --sd-overview-bar-4: #7b9eb8;
  --sd-overview-bar-5: #6d8f6f;
  --sd-overview-type-1: #7b9eb8;
  --sd-overview-type-2: #9a7b8c;
  --sd-overview-type-3: #c99050;
  --sd-overview-type-4: #6d8f6f;
  /* Kanban: dusty rose-gray / slate-blue / sage / terracotta on cream */
  --sd-s1-kanban-accent-new: #9a8585;
  --sd-s1-kanban-accent-progress: #3d6f8f;
  --sd-s1-kanban-accent-complete: #4d7c59;
  --sd-s1-kanban-accent-danger: #a84858;
  --sd-s1-kanban-soft-amt: 16%;
  --sd-s1-kanban-card-bg: #faf6ea;
  --sd-s1-kanban-card-border: #d9cbb0;
  --sd-s1-kanban-card-shadow: 0 1px 2px rgba(91, 65, 65, 0.08);
  --sd-s1-kanban-card-shadow-hover: 0 4px 14px rgba(91, 65, 65, 0.14);
  /* Client picker — complementary of dusty rose → sage */
  --sd-cs-pick-comp: #6d9a8a;
  --sd-cs-pick-fg: #3d5c52;
}

/* Shelfy (light) ? very light gray page/shell, espresso text, sky-blue accent + playful badge tints */
html.theme-shelfy {
  --sd-bg: #f5f5f6;
  --sd-surface: #f5f5f6;
  --sd-border: #ead5c4;
  --sd-text: #3a2e2b;
  --sd-muted: #7a6a62;
  --sd-accent: #3d8fd6;
  --sd-accent-hover: #2f7ab8;
  --sd-shadow: 0 1px 2px rgba(58, 46, 43, 0.06);
  --sd-sidebar-collapse-bg: color-mix(in srgb, var(--sd-accent) 10%, var(--sd-bg));
  --sd-sidebar-collapse-bg-hover: color-mix(in srgb, var(--sd-accent) 18%, var(--sd-bg));
  --sd-sidebar-collapse-border: color-mix(in srgb, var(--sd-text) 12%, var(--sd-border));
  --sd-sidebar-collapse-fg: var(--sd-text);
  --sd-nav-link-hover-bg: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
  --sd-nav-link-active-bg: color-mix(in srgb, var(--sd-accent) 16%, var(--sd-surface));
  --sd-nav-link-active-fg: #1f4f7a;
  --sd-hover-table-cell-bg: color-mix(in srgb, var(--sd-accent) 5%, var(--sd-surface));
  --sd-shelf-row-task-tint-bg: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
  --sd-shelf-row-hover-bg: color-mix(in srgb, var(--sd-accent) 9%, var(--sd-surface));
  --sd-shelf-row-task-hover-bg: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  --sd-btn-primary-fg: #fffdfb;
  --sd-btn-primary-hover-fg: #ffffff;
  --sd-badge-info-bg: color-mix(in srgb, #7aab9a 18%, var(--sd-surface));
  --sd-badge-info-fg: #2d4a42;
  --sd-badge-info-border: color-mix(in srgb, #7aab9a 32%, var(--sd-border));
  --sd-badge-dpci-bg: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  --sd-badge-dpci-fg: #4d403c;
  --sd-badge-dpci-border: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-border));
  --sd-badge-warn-bg: color-mix(in srgb, #e07a5f 14%, var(--sd-surface));
  --sd-badge-warn-fg: #6b2e22;
  --sd-badge-warn-border: color-mix(in srgb, #e07a5f 30%, var(--sd-border));
  --sd-badge-neutral-bg: color-mix(in srgb, var(--sd-text) 4%, var(--sd-surface));
  --sd-badge-neutral-fg: var(--sd-text);
  --sd-badge-neutral-border: var(--sd-border);
  --sd-btn-danger-fg: #5c261c;
  --sd-btn-danger-bg: color-mix(in srgb, #c45c48 12%, var(--sd-surface));
  --sd-btn-danger-bg-hover: color-mix(in srgb, #c45c48 22%, var(--sd-surface));
  --sd-btn-danger-border: color-mix(in srgb, #b84a38 28%, var(--sd-border));
  --sd-home-count-shelf-bg: color-mix(in srgb, #7aab9a 18%, var(--sd-surface));
  --sd-home-count-shelf-border: color-mix(in srgb, #7aab9a 34%, var(--sd-border));
  --sd-home-count-shelf-border-hover: color-mix(in srgb, #7aab9a 50%, var(--sd-border));
  --sd-home-count-shelf-icon: #2d4a42;
  --sd-home-count-insight-bg: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  --sd-home-count-insight-border: color-mix(in srgb, var(--sd-accent) 30%, var(--sd-border));
  --sd-home-count-insight-border-hover: color-mix(in srgb, var(--sd-accent-hover) 42%, var(--sd-border));
  --sd-home-count-insight-icon: #1f4f7a;
  --sd-home-count-catalog-bg: color-mix(in srgb, var(--sd-muted) 11%, var(--sd-surface));
  --sd-home-count-catalog-border: color-mix(in srgb, var(--sd-muted) 24%, var(--sd-border));
  --sd-home-count-catalog-border-hover: color-mix(in srgb, var(--sd-text) 16%, var(--sd-border));
  --sd-home-count-catalog-icon: var(--sd-muted);
  --sd-home-workflow-complete-bg: color-mix(in srgb, #16a34a 18%, var(--sd-surface));
  --sd-home-workflow-complete-fg: #14532d;
  --sd-home-workflow-complete-border: color-mix(in srgb, #22c55e 36%, var(--sd-border));
  --sd-home-workflow-review-bg: color-mix(in srgb, #e11d48 15%, var(--sd-surface));
  --sd-home-workflow-review-fg: #9f1239;
  --sd-home-workflow-review-border: color-mix(in srgb, #e11d48 30%, var(--sd-border));
  --sd-home-workflow-progress-bg: color-mix(in srgb, #0284c7 12%, var(--sd-surface));
  --sd-home-workflow-progress-fg: #0c4a6e;
  --sd-home-workflow-progress-border: color-mix(in srgb, #0ea5e9 30%, var(--sd-border));
  --sd-home-workflow-new-bg: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  --sd-home-workflow-new-fg: #4d403c;
  --sd-home-workflow-new-border: color-mix(in srgb, var(--sd-muted) 26%, var(--sd-border));
  --sd-overview-products-fg: #1f4f7a;
  --sd-overview-products-bg: color-mix(in srgb, var(--sd-accent) 14%, #ffffff);
  --sd-overview-products-soft: color-mix(in srgb, var(--sd-accent) 8%, #ffffff);
  --sd-overview-imports-fg: #2d4a42;
  --sd-overview-imports-bg: color-mix(in srgb, #7aab9a 18%, #ffffff);
  --sd-overview-imports-soft: color-mix(in srgb, #7aab9a 10%, #ffffff);
  --sd-overview-bar-1: #3d8fd6;
  --sd-overview-bar-2: #7aab9a;
  --sd-overview-bar-3: #e07a5f;
  --sd-overview-bar-4: #c9a227;
  --sd-overview-bar-5: #8b6bb5;
  --sd-overview-type-1: #3d8fd6;
  --sd-overview-type-2: #7aab9a;
  --sd-overview-type-3: #e07a5f;
  --sd-overview-type-4: #c9a227;
  /* Kanban: warm gray / sky accent / sage / terracotta on white cards */
  --sd-s1-kanban-accent-new: #8a7a72;
  --sd-s1-kanban-accent-progress: #3d8fd6;
  --sd-s1-kanban-accent-complete: #4d8f78;
  --sd-s1-kanban-accent-danger: #c45c48;
  --sd-s1-kanban-soft-amt: 14%;
  --sd-s1-kanban-card-bg: #ffffff;
  --sd-s1-kanban-card-border: #ead5c4;
  --sd-s1-kanban-card-shadow: 0 1px 2px rgba(58, 46, 43, 0.06);
  --sd-s1-kanban-card-shadow-hover: 0 4px 14px rgba(58, 46, 43, 0.12);
  /* Client picker — complementary of sky blue → terracotta */
  --sd-cs-pick-comp: #d66a3d;
  --sd-cs-pick-fg: #a84828;
}

/* Shelfy: white sidebar on very light gray canvas (--sd-bg / --sd-surface stay aligned for content). */
html.theme-shelfy .sd-sidebar {
  background: #ffffff;
}

/* Shelfy: white inputs, cards, home activity, shelf/recent cards, and tables on gray canvas */
html.theme-shelfy .sd-input,
html.theme-shelfy textarea.sd-input,
html.theme-shelfy select.sd-input {
  background: #ffffff;
}
html.theme-shelfy .sd-card,
html.theme-shelfy .sd-home-count-card {
  background: #ffffff;
}
html.theme-shelfy .sd-home-page .sd-home-activity.sd-card,
html.theme-shelfy .sd-home-activity-row {
  background: #ffffff;
}
html.theme-shelfy .sd-home-page .sd-home-shelf-card,
html.theme-shelfy .sd-home-page .sd-home-recent-link {
  background: #ffffff;
}
html.theme-shelfy .sd-table-wrap {
  background: #ffffff;
}
html.theme-shelfy .sd-table th,
html.theme-shelfy .sd-table td {
  background: #ffffff;
}
html.theme-shelfy .sd-stores-table th.sd-stores-th,
html.theme-shelfy .sd-stores-table tbody td {
  background: #ffffff;
}

/* Shelfy: s1 shelves/insights list ? card view matches white surfaces */
html.theme-shelfy #sd-s1-page-root .sd-s1-shelf-card {
  background: #ffffff;
}
html.theme-shelfy #sd-s1-page-root .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 6%, #ffffff);
}

/* Shelfy: shelf View tab product cards ? white panels on gray canvas */
html.theme-shelfy #sd-sb-page-root .sd-sb-product-list-card.sd-s1-shelf-card {
  background: #ffffff;
}
html.theme-shelfy #sd-sb-page-root .sd-sb-product-list-card .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 6%, #ffffff);
}
html.theme-shelfy #sd-sb-page-root .sd-sb-product-list-card.sd-shelf-beta-product-card--selected {
  background: color-mix(in srgb, var(--sd-accent) 6%, #ffffff);
}
html.theme-shelfy #sd-sb-page-root .sd-sb-product-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, #ffffff);
}
html.theme-shelfy #sd-sb-page-root .sd-sb-view-card__stats.sd-home-activity-row__stats {
  /* Transparent so DPCI/Store/Aisle/Facing inherit card (incl. selected) fill */
  background: transparent;
}

/* Shelfy: bordered table shell + scrollbar gutter / stable gutter strip match white cells (not --sd-bg gray). */
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell {
  background: #ffffff;
}
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll) {
  background: transparent;
}
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap,
html.theme-shelfy #sd-categories-page-root #sd-categories-table-thead-wrap {
  background: #ffffff;
}
html.theme-shelfy .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll,
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell > .sd-table-wrap.sd-stores-table-scroll {
  background: #ffffff;
}
html.theme-shelfy
  .sd-stores-table-section
  .sd-table-wrap.sd-stores-table-scroll.sd-list-empty-scroll,
html.theme-shelfy
  .sd-stores-table-section
  .sd-stores-table-scroll-shell
  > .sd-table-wrap.sd-stores-table-scroll.sd-list-empty-scroll,
html.theme-shelfy
  .sd-stores-table-section
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:has(> .sd-list-empty-scroll) {
  background: transparent;
}
html.theme-shelfy .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll,
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync {
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 42%, var(--sd-border)) #ffffff;
}
html.theme-shelfy .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-track,
html.theme-shelfy .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-track-piece,
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-track,
html.theme-shelfy .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-track-piece,
html.theme-shelfy .sd-stores-facet__table-scroll::-webkit-scrollbar-track,
html.theme-shelfy .sd-stores-facet__table-scroll::-webkit-scrollbar-track-piece {
  background: #ffffff;
}
html.theme-shelfy .sd-stores-facet__table-scroll {
  background: #ffffff;
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 42%, var(--sd-border)) #ffffff;
}

/* Shelfy: shelf details Overview ? action tiles + activity summary cards read as white panels on gray canvas */
html.theme-shelfy .sd-shelf-action-card {
  background: #ffffff;
}
html.theme-shelfy .sd-shelf-action-card__plus-badge {
  background: #ffffff;
}
html.theme-shelfy .sd-shelf-landing__activity-card,
html.theme-shelfy .sd-shelf-landing__activity-count-card,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__summary-card,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__activity {
  background: #ffffff;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  overflow: hidden;
}

html,
body {
  margin: 0;
  height: 100%;
  font-family: var(--sd-font);
  font-size: 14px;
  line-height: 1.45;
  color: var(--sd-text);
  background: var(--sd-bg);
}

body {
  overflow: hidden;
}

a {
  color: var(--sd-accent);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

.sd-app {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}

.sd-layout {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: visible;
}

/* Sidebar */
.sd-sidebar {
  position: relative;
  width: var(--sd-sidebar-w);
  flex-shrink: 0;
  background: var(--sd-surface);
  border-right: 1px solid var(--sd-border);
  box-shadow: 2px 0 8px rgba(15, 23, 42, 0.04);
  display: flex;
  flex-direction: column;
  transition: width 0.2s ease;
  box-sizing: border-box;
  overflow: visible;
  z-index: 40;
}
html.theme-dark .sd-sidebar,
html.theme-path .sd-sidebar,
html.theme-greenday .sd-sidebar {
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.22);
}
.sd-sidebar.is-collapsed {
  width: var(--sd-sidebar-collapsed);
}
.sd-sidebar__brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  border-bottom: none;
  font-weight: 700;
  flex-shrink: 0;
  box-sizing: border-box;
  min-width: 0;
}
.sd-sidebar__brand-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
  min-height: 34px;
}
.sd-sidebar__brand-name {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.sd-sidebar__brand-name-accent {
  opacity: 0.7;
}
.sd-sidebar__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  flex-shrink: 0;
}
.sd-sidebar__logo .sd-brand-mark {
  width: 34px;
  height: 34px;
}
/* Box mark (??) ? same glyph as shelf overview cards; replaces SVG in brand row */
.sd-sidebar__brand .sd-sidebar__logo {
  font-size: 28px;
  line-height: 1;
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
}
.sd-sidebar.is-collapsed .sd-sidebar__brand .sd-sidebar__logo {
  font-size: 26px;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
}
/* Collapse control: sits on the sidebar?s right edge (50% in / 50% out); only on sidebar hover */
.sd-sidebar__collapse {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 30;
  width: calc(32px * 0.8);
  height: calc(32px * 0.8);
  margin: 0;
  padding: 0;
  border: 1px solid var(--sd-sidebar-collapse-border);
  border-radius: calc(6px * 0.8);
  background: var(--sd-sidebar-collapse-bg);
  color: var(--sd-sidebar-collapse-fg);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  line-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transform: translate(50%, -50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.sd-sidebar:hover .sd-sidebar__collapse,
.sd-sidebar__collapse:focus-visible {
  opacity: 1;
  pointer-events: auto;
}
.sd-sidebar__collapse:hover {
  background: var(--sd-sidebar-collapse-bg-hover);
}
.sd-sidebar__collapse:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-sidebar__collapse-chevron {
  display: block;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.sd-sidebar.is-collapsed .sd-sidebar__collapse-chevron {
  transform: scaleX(-1);
}
.sd-sidebar.is-collapsed .sd-nav__label,
.sd-sidebar.is-collapsed .sd-sidebar__brand-name {
  display: none;
}
/* Section headings (Manage / Explore / Administrator) ? hide when rail is collapsed */
.sd-sidebar.is-collapsed .sd-nav__section {
  display: none;
}
/* When the whole sidebar is icon-rail, always show section links even if a section was collapsed */
.sd-sidebar.is-collapsed .sd-nav__group.is-collapsed > .sd-nav__group-body,
.sd-sidebar.is-collapsed .sd-nav__group-body[hidden] {
  display: block !important;
}
.sd-nav__group.is-collapsed > .sd-nav__group-body {
  display: none;
}
/* Light dividers above Manage / Explore / Administrator */
.sd-nav__group {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid color-mix(in srgb, var(--sd-border) 42%, transparent);
}
/* Collapsed rail keeps the light group dividers (section labels are hidden, rule stays) */
.sd-sidebar.is-collapsed .sd-nav__group {
  margin-top: 6px;
  padding-top: 6px;
}
.sd-nav__section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sd-muted);
  padding: 12px 12px 6px;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  border-radius: 6px;
}
.sd-nav__section:hover {
  color: var(--sd-text);
  background: transparent;
}
.sd-nav__section-label {
  flex: 1;
  min-width: 0;
}
.sd-nav__section-chevron {
  flex-shrink: 0;
  opacity: 0.7;
  transform: rotate(90deg);
  transition: transform 0.15s ease;
}
.sd-nav__group.is-collapsed .sd-nav__section-chevron {
  transform: rotate(0deg);
}
/* Collapsed: keep brand icon on one row; collapse control stays on the right edge (not its own line) */
.sd-sidebar.is-collapsed .sd-sidebar__brand {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 16px 8px;
}
.sd-sidebar.is-collapsed .sd-sidebar__brand-identity {
  justify-content: center;
  flex: 0 0 auto;
  min-height: 30px;
}
.sd-sidebar.is-collapsed .sd-sidebar__logo {
  align-self: center;
  line-height: 0;
}
.sd-sidebar.is-collapsed .sd-sidebar__logo .sd-brand-mark {
  width: 30px;
  height: 30px;
}

.sd-nav {
  padding: 0 8px 8px;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
}
.sd-sidebar.is-collapsed .sd-nav {
  padding: 0 4px 8px;
}
.sd-nav__group:first-child {
  margin-top: 0;
  padding-top: 0;
}
.sd-sidebar.is-collapsed .sd-nav__link {
  justify-content: center;
  padding: 10px 6px;
}
.sd-sidebar.is-collapsed .sd-nav__icon {
  width: var(--sd-desktop-nav-icon-slot-collapsed);
  min-width: var(--sd-desktop-nav-icon-slot-collapsed);
  height: var(--sd-desktop-nav-icon-slot-collapsed);
}
.sd-nav__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  color: var(--sd-text);
  text-decoration: none;
  margin-bottom: 2px;
}
.sd-nav__link:hover {
  background: var(--sd-nav-link-hover-bg);
  text-decoration: none;
}
.sd-nav__link.is-active {
  background: var(--sd-nav-link-active-bg);
  color: var(--sd-nav-link-active-fg);
  font-weight: 600;
}
.sd-nav__link.is-active .sd-nav__icon {
  opacity: 1;
}
.sd-nav__link.sd-nav__link--sub {
  padding-left: 30px;
  font-size: 13px;
  margin-top: -2px;
  margin-bottom: 4px;
}
.sd-nav__link.sd-nav__link--sub .sd-nav__icon {
  width: 14px;
  font-size: 13px;
  opacity: 0.75;
}
.sd-nav__icon {
  width: var(--sd-desktop-nav-icon-slot);
  min-width: var(--sd-desktop-nav-icon-slot);
  height: var(--sd-desktop-nav-icon-slot);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 0;
  opacity: 0.85;
  box-sizing: border-box;
}
.sd-nav__icon svg {
  width: var(--sd-desktop-nav-icon-slot);
  height: var(--sd-desktop-nav-icon-slot);
  flex-shrink: 0;
  display: block;
}
.sd-sidebar.is-collapsed .sd-nav__icon svg {
  width: var(--sd-desktop-nav-icon-slot-collapsed);
  height: var(--sd-desktop-nav-icon-slot-collapsed);
}
/* Dingbats (Home, Stores, ?) ? scale into the same slot as stroke SVGs */
.sd-nav__icon:not(:has(svg)) {
  font-size: calc(var(--sd-desktop-nav-icon-slot) * 0.88);
  line-height: 1;
}
.sd-sidebar.is-collapsed .sd-nav__icon:not(:has(svg)) {
  font-size: calc(var(--sd-desktop-nav-icon-slot-collapsed) * 0.94);
}
/* Outline-only (avoid UA default rect fill on shelf stacks). */
.sd-shelf-stack-svg rect {
  fill: none;
}
/* Shelves nav glyph reads a touch small vs peers; nudge optical size in the icon slot. */
.sd-nav__icon--shelf svg {
  width: calc(var(--sd-desktop-nav-icon-slot) * 1.12);
  height: calc(var(--sd-desktop-nav-icon-slot) * 1.12);
}
.sd-sidebar.is-collapsed .sd-nav__icon--shelf svg {
  width: calc(var(--sd-desktop-nav-icon-slot-collapsed) * 1.12);
  height: calc(var(--sd-desktop-nav-icon-slot-collapsed) * 1.12);
}
/* Shared Insights lightbulb (sidebar, home KPI, Recent Activity) ? stroke uses currentColor */
.sd-insight-lightbulb-svg {
  display: block;
  flex-shrink: 0;
}

.sd-store-front-svg {
  display: block;
  flex-shrink: 0;
}

.sd-circle-user-svg {
  display: block;
  flex-shrink: 0;
}

.sd-home-nav-svg {
  display: block;
  flex-shrink: 0;
}

.sd-settings-nav-svg {
  display: block;
  flex-shrink: 0;
}

.sd-sync-nav-svg {
  display: block;
  flex-shrink: 0;
}

.sd-sidebar__footer {
  /* Match .sd-nav__group divider: light rule + 6px gap, inset like nav padding */
  margin: 6px 8px 0;
  padding: 6px 4px 12px;
  border-top: 1px solid color-mix(in srgb, var(--sd-border) 42%, transparent);
  font-size: 12px;
  color: var(--sd-muted);
  flex-shrink: 0;
  box-sizing: border-box;
  min-width: 0;
}
.sd-sidebar__footer-divider {
  border: 0;
  border-top: 1px solid var(--sd-border);
  /* Bleed past .sd-sidebar__footer horizontal padding so the rule meets the sidebar edges */
  margin: 10px -12px 10px;
  width: auto;
}
.sd-sidebar.is-collapsed .sd-sidebar__footer-divider {
  margin-left: -6px;
  margin-right: -6px;
}
.sd-sidebar__footer-userbar {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 0;
  min-width: 0;
}
.sd-sidebar__footer-profile {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--sd-text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}
.sd-sidebar__footer-profile:hover {
  background: var(--sd-nav-link-hover-bg);
  text-decoration: none;
}
.sd-sidebar__footer-profile.is-active {
  background: var(--sd-nav-link-active-bg);
  color: var(--sd-nav-link-active-fg);
}
.sd-sidebar__footer-avatar {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  border: 2px solid color-mix(in srgb, var(--sd-text) 85%, transparent);
  box-sizing: border-box;
}
.sd-sidebar__footer-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sd-sidebar__footer-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-muted);
  width: 100%;
  height: 100%;
}
.sd-sidebar__footer-avatar-placeholder .sd-person-icon {
  width: 18px;
  height: 18px;
}
.sd-sidebar__footer-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-sidebar__footer .sd-sidebar__logout-btn {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  width: 40px;
  min-width: 40px;
  /* Match .sd-sidebar__footer-profile height (32px avatar + 6px + 6px padding). */
  height: auto;
  min-height: 0;
  align-self: stretch;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.sd-sidebar__footer .sd-sidebar__logout-btn .sd-sidebar__logout-icon {
  display: block;
  flex-shrink: 0;
}
.sd-sidebar__footer .sd-sidebar__logout-btn:hover {
  background: var(--sd-nav-link-hover-bg);
  color: var(--sd-text);
}
.sd-sidebar__footer .sd-sidebar__logout-btn:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  color: var(--sd-text);
}
.sd-sidebar.is-collapsed .sd-sidebar__footer-userbar {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 2px;
  width: 100%;
}
.sd-sidebar.is-collapsed .sd-sidebar__footer-name {
  display: none;
}
.sd-sidebar.is-collapsed .sd-sidebar__footer-profile {
  flex: 0 0 auto;
  justify-content: center;
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  /* Match collapsed .sd-nav__link hover hit area */
  padding: 10px 6px;
  border-radius: 6px;
}
.sd-sidebar.is-collapsed .sd-sidebar__footer .sd-sidebar__logout-btn {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  align-self: stretch;
  margin-inline: 0;
  box-sizing: border-box;
  /* Match collapsed .sd-nav__link hover hit area */
  padding: 10px 6px;
  border-radius: 6px;
}
.sd-sidebar.is-collapsed .sd-sidebar__footer {
  /* Keep the light divider above the profile / sign-out rail */
  margin: 6px 4px 0;
  /* Match collapsed .sd-nav horizontal inset so hit areas align */
  padding: 8px 0;
  text-align: center;
}
.sd-sidebar.is-collapsed .sd-theme-switch__label {
  display: none;
}
.sd-sidebar.is-collapsed .sd-theme-switch {
  justify-content: center;
  margin: 0;
}
/* Sidebar: dark / light theme switch (pill track + labeled ends) */
.sd-theme-switch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 6px;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  width: 100%;
  box-sizing: border-box;
}
.sd-theme-switch__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sd-muted);
  flex-shrink: 0;
  line-height: 1;
}
.sd-theme-switch__track {
  position: relative;
  flex-shrink: 0;
  width: 52px;
  height: 26px;
  border-radius: 9999px;
  background: #d1d5db;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
}
html.theme-dark .sd-theme-switch__track {
  background: #565c63;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}
.sd-theme-switch__input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  top: 0;
  left: 0;
  cursor: pointer;
  z-index: 2;
}
.sd-theme-switch__thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease;
  box-sizing: border-box;
}
/* Checked = dark mode ? knob on the left (moon) */
.sd-theme-switch__input:checked ~ .sd-theme-switch__thumb {
  transform: translateX(0);
  background: #1a1a1a;
  color: #d4d4d4;
}
.sd-theme-switch__input:not(:checked) ~ .sd-theme-switch__thumb {
  transform: translateX(26px);
  background: #f9fafb;
  color: #d97706;
}
.sd-theme-switch__icon {
  position: absolute;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.sd-theme-switch__input:checked ~ .sd-theme-switch__thumb .sd-theme-switch__icon--moon {
  opacity: 1;
}
.sd-theme-switch__input:checked ~ .sd-theme-switch__thumb .sd-theme-switch__icon--sun {
  opacity: 0;
}
.sd-theme-switch__input:not(:checked) ~ .sd-theme-switch__thumb .sd-theme-switch__icon--sun {
  opacity: 1;
}
.sd-theme-switch__input:not(:checked) ~ .sd-theme-switch__thumb .sd-theme-switch__icon--moon {
  opacity: 0;
}
.sd-theme-switch__input:focus-visible ~ .sd-theme-switch__thumb {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}

/* Main column — subtle canvas wash on every page */
.sd-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  --sd-main-wash-deep: color-mix(in srgb, var(--sd-accent) 6%, var(--sd-bg));
  --sd-main-wash-lift: color-mix(in srgb, #fff 55%, var(--sd-bg));
  background-color: var(--sd-bg);
  background-image: linear-gradient(
    160deg,
    var(--sd-main-wash-lift) 0%,
    var(--sd-bg) 48%,
    var(--sd-main-wash-deep) 100%
  );
}
html.theme-dark .sd-main,
html.theme-path .sd-main,
html.theme-greenday .sd-main {
  --sd-main-wash-deep: color-mix(in srgb, #000 22%, var(--sd-bg));
  --sd-main-wash-lift: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-bg));
}
/* ShelfyBot: keep the response/chat canvas flat — no main-column wash. */
.sd-main:has(#sd-shelfybot-page-root) {
  background-image: none;
}

.sd-breadcrumb {
  font-size: 13px;
  color: var(--sd-muted);
  min-width: 0;
  margin-bottom: 16px;
}
.sd-breadcrumb:empty {
  display: none;
  margin: 0;
}
.sd-breadcrumb strong {
  color: var(--sd-text);
  font-weight: 600;
}
.sd-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 20px 24px 40px;
  width: 100%;
}

.sd-page-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px;
}
.sd-page-title.sd-page-title--with-nav-icon {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sd-page-title__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: currentColor;
}
.sd-page-title__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.sd-page-title__text {
  min-width: 0;
}
/* Shelf detail: same title size/weight as Shelves list; icon matches left-nav */
.sd-page-title.sd-shelf-title-breadcrumb {
  font-size: 22px;
  font-weight: 700;
}
.sd-shelf-title-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-family: var(--sd-font);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--sd-text);
}
.sd-shelf-title-breadcrumb__trail {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 6px;
  min-width: 0;
  flex: 1 1 auto;
}
.sd-shelf-title-breadcrumb__parent {
  font-size: inherit;
  font-weight: inherit;
  color: var(--sd-muted);
  text-decoration: none;
  border-radius: 4px;
}
.sd-shelf-title-breadcrumb__parent:hover {
  color: var(--sd-text);
  text-decoration: none;
}
.sd-shelf-title-breadcrumb__parent:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-shelf-title-breadcrumb__sep {
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  color: color-mix(in srgb, var(--sd-muted) 55%, transparent);
  user-select: none;
  pointer-events: none;
}
.sd-shelf-title-breadcrumb__name {
  font-size: inherit;
  font-weight: inherit;
  color: var(--sd-text);
}
.sd-shelf-title-breadcrumb__status-wrap {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-left: 18px;
}
/* Match homepage Recent Activity shelf-card status pill (size + format). */
.sd-shelf-title-breadcrumb__status-wrap .sd-home-activity-badge {
  width: auto;
  min-width: 10.25rem;
  max-width: 100%;
  margin: 0;
  padding: 5px 11px;
  border-radius: 999px;
  font-family: var(--sd-font);
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
  vertical-align: middle;
}
.sd-shelf-title-breadcrumb__status-wrap .sd-home-activity-badge--btn {
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
  cursor: pointer;
}
.sd-shelf-title-breadcrumb__tasks-wrap {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
}
.sd-shelf-title-breadcrumb__tasks-badge {
  width: auto;
  min-width: 6.5rem;
  max-width: 100%;
  margin: 0;
  padding: 5px 11px;
  border-radius: 999px;
  /* Match status pill height: .sd-home-activity-badge--btn uses border: none */
  border: none;
  background: var(--sd-home-workflow-new-bg);
  color: var(--sd-home-workflow-new-fg);
  box-shadow: inset 0 0 0 1px var(--sd-home-workflow-new-border);
  font-family: var(--sd-font);
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
  vertical-align: middle;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.sd-shelf-title-breadcrumb__tasks-badge:hover {
  filter: brightness(0.97);
}
.sd-shelf-title-breadcrumb__tasks-badge:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 2px;
}
/* Shelf detail: store number under shelf name (all tabs) */
.sd-page-title + .sd-shelf-head-store {
  margin-top: -4px;
}
.sd-shelf-head-store {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.35;
}
.sd-shelf-head-store__num {
  color: var(--sd-text);
}
.sd-page-desc {
  color: var(--sd-muted);
  margin: 0 0 24px;
  max-width: 720px;
}

/* Shelves / Insights / Products: primary action on the same row as the page title */
.sd-s1-page-head,
.sd-prod-page-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  row-gap: 0;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
.sd-s1-page-head__text,
.sd-prod-page-head__text {
  display: contents;
}
.sd-s1-page-head .sd-page-title,
.sd-prod-page-head .sd-page-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  align-self: center;
  min-width: 0;
}
.sd-s1-page-head .sd-page-desc,
.sd-prod-page-head .sd-page-desc {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 6px 0 24px;
  max-width: 720px;
}
.sd-s1-page-head__actions,
.sd-prod-page-head__actions {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
}

/* Shelves / Insights / Products: center primary action against title + description */
#sd-s1-page-root[data-s1-mode="shelves"] .sd-s1-page-head,
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-page-head,
.sd-prod-page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
}
#sd-s1-page-root[data-s1-mode="shelves"] .sd-s1-page-head__text,
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-page-head__text,
.sd-prod-page-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 16rem;
  min-width: 0;
}
#sd-s1-page-root[data-s1-mode="shelves"] .sd-s1-page-head .sd-page-title,
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-page-head .sd-page-title,
.sd-prod-page-head .sd-page-title {
  grid-column: auto;
  grid-row: auto;
  margin: 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
#sd-s1-page-root[data-s1-mode="shelves"] .sd-s1-page-head .sd-page-desc,
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-page-head .sd-page-desc,
.sd-prod-page-head .sd-page-desc {
  grid-column: auto;
  grid-row: auto;
  margin: 6px 0 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
#sd-s1-page-root[data-s1-mode="shelves"] .sd-s1-page-head__actions,
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-page-head__actions,
.sd-prod-page-head__actions {
  grid-column: auto;
  grid-row: auto;
  flex: 0 0 auto;
  align-self: center;
}

/* Global settings page */
.sd-settings-page-form {
  margin-bottom: 0;
}
.sd-settings-tabs-wrap {
  margin-bottom: 0;
}
.sd-settings-tabs-wrap .sd-stores-drawer__tabs {
  padding-left: 0;
  padding-right: 0;
}
.sd-settings-tab-panel {
  padding-top: 16px;
}
.sd-settings-themes-card,
.sd-settings-processing-card,
.sd-settings-ua-card,
.sd-settings-policies-card,
.sd-settings-mail-card {
  margin-bottom: 0;
}
/* Settings ? Policies: single-column fields + subsection spacing */
#sd-settings-form .sd-settings-policies-card .sd-settings-policies-subsections {
  margin-top: 4px;
}
#sd-settings-form .sd-settings-policies-card .sd-profile-fields-grid.sd-settings-policies-fields {
  grid-template-columns: 1fr;
  max-width: min(100%, 440px);
  padding: 4px 0 8px;
  box-sizing: border-box;
}
#sd-settings-form .sd-settings-policies-card .sd-settings-policies-check {
  margin: 0;
  align-items: flex-start;
}
#sd-settings-form .sd-settings-policies-card .sd-settings-tab-save-toolbar {
  margin-top: 8px;
  padding-top: 4px;
}
/* Settings ? Email: grouped SMTP fields */
#sd-settings-form .sd-settings-mail-card .sd-settings-mail-subsections {
  margin-top: 4px;
}
#sd-settings-form .sd-settings-mail-card .sd-profile-fields-grid.sd-settings-mail-fields {
  grid-template-columns: 1fr;
  max-width: min(100%, 480px);
  padding: 4px 0 8px;
  box-sizing: border-box;
}
#sd-settings-form .sd-settings-mail-card .sd-settings-mail-check {
  margin: 0;
  align-items: flex-start;
}
#sd-settings-form .sd-settings-mail-card .sd-settings-tab-save-toolbar {
  margin-top: 8px;
  padding-top: 4px;
}
.sd-settings-api-keys-card {
  margin-top: 16px;
}
/* Anthropic key: single-line text; no maxlength in HTML; avoid ellipsis/clipping on the control itself */
.sd-settings-anthropic-plain-input {
  display: block;
  width: 100%;
  max-width: min(100%, 112rem);
  box-sizing: border-box;
  min-height: 44px;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
  font-size: 13px;
}

.sd-settings-anthropic-hint {
  margin: 0 0 8px;
  font-size: 0.875rem;
  color: var(--muted2, var(--sd-muted2, rgba(193, 193, 193, 0.75)));
}
.sd-settings-themes-row {
  margin-bottom: 16px;
}
.sd-settings-themes-row:last-child {
  margin-bottom: 0;
}
.sd-cs-styles-footer {
  margin-top: 20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
}
#sd-client-settings-root #sd-cs-panel-styles .sd-settings-themes-card > .sd-settings-themes-row:nth-last-child(2) {
  margin-bottom: 0;
}
.sd-settings-themes-select {
  display: block;
  width: 100%;
  max-width: 480px;
  min-height: 40px;
  box-sizing: border-box;
}
.sd-settings-save-toolbar {
  margin-top: 20px;
}
.sd-settings-section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 8px;
  color: var(--sd-text);
  line-height: 1.3;
}
.sd-settings-section-desc {
  font-size: 13px;
  line-height: 1.45;
  color: var(--sd-muted);
  margin: 0 0 16px;
  max-width: 640px;
}
.sd-settings-field-hint {
  margin: 2px 0 8px;
  max-width: 420px;
}
/* User Agent card: intro line matches Global Image Processing Settings title (size, weight, color) */
.sd-settings-ua-card .sd-settings-ua-intro {
  margin: 0 0 16px;
}

/* Settings ? Data Collection: left sub-nav (not nested tabs) */
.sd-settings-dc-layout {
  display: grid;
  grid-template-columns: minmax(10.5rem, 12.5rem) minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  align-items: start;
}
.sd-settings-dc-nav {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  position: sticky;
  top: 0.5rem;
}
.sd-settings-dc-nav__btn {
  text-align: left;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  color: var(--sd-text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  line-height: 1.3;
}
.sd-settings-dc-nav__btn:hover {
  background: var(--sd-hover-table-cell-bg, color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface)));
}
.sd-settings-dc-nav__btn.is-active {
  border-color: var(--sd-accent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sd-accent) 35%, transparent);
}
.sd-settings-dc-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sd-settings-dc-section {
  margin-bottom: 0;
}
.sd-settings-dc-section[hidden] {
  display: none !important;
}
#sd-settings-form .sd-settings-dc-fields,
#sd-data-collection-panel-settings .sd-settings-dc-fields {
  grid-template-columns: 1fr;
  max-width: min(100%, 480px);
  padding: 4px 0 0;
  box-sizing: border-box;
}
#sd-settings-form .sd-settings-dc-main .sd-settings-tab-save-toolbar,
#sd-data-collection-panel-settings .sd-settings-dc-section .sd-settings-tab-save-toolbar {
  margin-top: 16px;
  margin-bottom: 0;
  padding-top: 0;
}
#sd-data-collection-panel-settings .sd-settings-dc-save-slot:empty {
  display: none;
}
#sd-data-collection-panel-settings .sd-settings-dc-save-slot + .sd-settings-user-agent-detail {
  margin-top: 16px;
}

/* Settings ? DB Backup */
.sd-settings-db-backup-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 0.75rem;
}
.sd-settings-db-backup-head .sd-settings-section-desc {
  margin-bottom: 0;
}
#sd-settings-column-mapper-root .sd-settings-section-desc#sd-settings-column-mapper-desc {
  margin-bottom: 0;
}
#sd-settings-column-mapper-root .sd-settings-column-mapper-model {
  margin-top: 0.35rem;
  margin-bottom: 0;
}
.sd-settings-db-backup-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.sd-settings-db-backup-toolbar {
  margin-top: 0;
  margin-bottom: 0;
}
.sd-settings-login-history-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
}
.sd-settings-login-history-filters .sd-input {
  min-width: 8.5rem;
  width: auto;
}
#sd-settings-login-history-root {
  position: relative;
  width: 100%;
}
#sd-settings-login-history-root .sd-lh-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin-top: 0;
}
#sd-settings-login-history-root .sd-lh-panel > .sd-lh-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 0 16px;
  width: 100%;
  box-sizing: border-box;
}
#sd-settings-login-history-root .sd-lh-panel-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 16rem;
  min-width: 0;
}
#sd-settings-login-history-root .sd-lh-panel-head .sd-settings-section-title,
#sd-client-mgmt-root .sd-cm-users-panel-head .sd-settings-section-title {
  margin: 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
#sd-settings-login-history-root .sd-lh-panel-head .sd-settings-section-desc,
#sd-client-mgmt-root .sd-cm-users-panel-head .sd-settings-section-desc {
  margin: 6px 0 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
  max-width: none;
}
#sd-settings-login-history-root .sd-lh-panel-head__actions {
  flex: 0 0 auto;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin: 0;
}
#sd-settings-login-history-root .sd-lh-body {
  display: flex;
  align-items: stretch;
  gap: 14px;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
#sd-settings-login-history-root .sd-lh-main {
  flex: 1 1 auto;
  min-width: 0;
}
#sd-settings-login-history-root .sd-lh-facet.sd-stores-facet {
  position: static;
  flex: 0 0 min(300px, 88vw);
  width: min(300px, 88vw);
  align-self: stretch;
  min-height: 100%;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  background: color-mix(in srgb, var(--sd-bg) 92%, white 8%);
  overflow: hidden auto;
}
html.theme-dark #sd-settings-login-history-root .sd-lh-facet.sd-stores-facet {
  background: color-mix(in srgb, var(--sd-bg) 86%, rgb(255 255 255) 14%);
}
#sd-settings-login-history-root.sd-stores-facet--open .sd-lh-facet.sd-stores-facet,
#sd-settings-login-history-root .sd-lh-panel.sd-stores-facet--open .sd-lh-facet.sd-stores-facet {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
#sd-settings-login-history-root.sd-stores-facet--open .sd-lh-body {
  padding-left: calc(14px + min(300px, 88vw));
  box-sizing: border-box;
}
#sd-settings-login-history-root.sd-stores-facet--open #sd-lh-facet-panel.sd-lh-facet.sd-stores-facet {
  position: fixed;
  bottom: 0;
  left: calc(var(--sd-sidebar-w) + 24px);
  width: min(300px, 88vw);
  max-width: 100%;
  flex: none;
  align-self: auto;
  min-height: 0;
  z-index: 35;
  box-sizing: border-box;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  overflow: hidden auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
}
body:has(#sd-sidebar.is-collapsed) #sd-settings-login-history-root.sd-stores-facet--open #sd-lh-facet-panel.sd-lh-facet.sd-stores-facet {
  left: calc(var(--sd-sidebar-collapsed) + 24px);
}
#sd-settings-login-history-root.sd-stores-facet--open #sd-lh-facet-panel .sd-stores-facet__inner {
  padding: 8px 12px;
  box-sizing: border-box;
}
#sd-settings-login-history-root .sd-lh-facet.sd-stores-facet[hidden] {
  display: none !important;
}
#sd-settings-login-history-root .sd-lh-facet .sd-stores-facet__inner {
  padding: 8px 12px;
  box-sizing: border-box;
}
#sd-settings-login-history-root .sd-lh-main .sd-toolbar--stores.sd-lh-toolbar {
  margin-top: 0;
  margin-bottom: 0;
}
#sd-settings-login-history-root .sd-lh-main .sd-stores-table-head {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 8px;
  border-top: none;
  background: transparent;
}
#sd-settings-login-history-root #sd-lh-count {
  padding-left: 10px;
}
#sd-settings-login-history-root .sd-lh-main .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-settings-login-history-root #sd-lh-filter-stacks {
  margin-top: 8px;
}
#sd-settings-login-history-root .sd-lh-main .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-settings-login-history-root .sd-lh-main .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-top: 0;
}
#sd-settings-login-history-root .sd-lh-main #sd-lh-table tbody td {
  vertical-align: middle;
}
#sd-settings-login-history-root .sd-lh-main #sd-lh-table tbody td.sd-lh-status-td {
  white-space: nowrap;
}
#sd-settings-login-history-root .sd-lh-main #sd-lh-table tbody td.sd-lh-status-td .sd-product-card__status-badge {
  text-transform: none;
}
/* Login History grouped rows: match Stores group row chrome */
#sd-settings-login-history-root .sd-stores-table--grouped tbody tr.sd-stores-tr.sd-stores-group-row > td.sd-stores-table__td-select,
#sd-settings-login-history-root .sd-stores-table--grouped tbody tr.sd-stores-tr.sd-stores-group-row td.sd-stores-group-row__td {
  vertical-align: middle;
}
#sd-settings-login-history-root .sd-stores-table--grouped #sd-lh-table.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-settings-login-history-root .sd-stores-table--grouped #sd-lh-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
  padding: 10px 12px;
  box-sizing: border-box;
}
#sd-settings-login-history-root .sd-stores-table--grouped #sd-lh-table.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-settings-login-history-root .sd-stores-table--grouped #sd-lh-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  padding: 10px 0;
}
#sd-settings-login-history-root .sd-stores-table--grouped tbody tr.sd-stores-group-row .sd-stores-group-row__cell {
  padding-left: 0;
  padding-right: 12px;
}
#sd-settings-login-history-root .sd-stores-table--grouped tr.sd-stores-group-row .sd-stores-group-toggle {
  flex-shrink: 0;
}
#sd-settings-login-history-root .sd-stores-table--grouped tr.sd-stores-group-row .sd-stores-group-chevron {
  display: inline-block;
  transform-origin: 50% 55%;
}
#sd-settings-login-history-root .sd-stores-table--grouped tr.sd-stores-tr--in-group td.sd-stores-table__td-select {
  border-right: none;
}
#sd-settings-login-history-root #sd-lh-table thead th.sd-dg-th {
  position: relative;
  cursor: default;
  padding-right: 8px;
}
#sd-settings-login-history-root #sd-lh-table thead th.sd-dg-th.sd-dg-th--dragging {
  opacity: 0.5;
}
#sd-settings-login-history-root #sd-lh-table thead th.sd-dg-th.sd-dg-th--drop-target {
  box-shadow: inset 2px 0 0 var(--sd-accent);
}
#sd-settings-login-history-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-settings-login-history-root .sd-stores-filter-match-main > #sd-lh-facet-toggle,
#sd-settings-login-history-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor {
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-settings-login-history-root .sd-stores-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-settings-login-history-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-settings-login-history-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part {
  flex: 0 0 auto;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg {
  flex: 0 0 auto;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
  padding: 0;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value,
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  align-items: flex-start;
}
#sd-settings-login-history-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
#sd-settings-login-history-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-settings-login-history-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-settings-login-history-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
html.theme-dark #sd-settings-login-history-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}
#sd-settings-login-history-root #sd-lh-actions-btn.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
  box-sizing: border-box;
}
#sd-settings-login-history-root .sd-lh-panel-head__actions .sd-stores-actions-anchor {
  position: relative;
}
#sd-settings-login-history-root .sd-lh-panel-head #sd-lh-dl-reports-btn.sd-stores-actions-menu-btn {
  min-width: 0;
  width: auto;
  height: 40px;
  min-height: 40px;
  padding-left: 12px;
  padding-right: 12px;
  white-space: nowrap;
}
#sd-settings-login-history-root .sd-lh-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row {
  cursor: pointer;
}
#sd-settings-login-history-root .sd-lh-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row > td {
  transition: background-color 0.12s ease;
}
#sd-settings-login-history-root .sd-lh-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td {
  background: color-mix(in srgb, var(--sd-accent) 8%, transparent);
}
html.theme-dark #sd-settings-login-history-root .sd-lh-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td {
  background: color-mix(in srgb, var(--sd-accent) 14%, transparent);
}
#sd-settings-login-history-root #sd-lh-saved-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-settings-login-history-root #sd-lh-saved-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
#sd-settings-db-backup-root .sd-stores-filter-stacks {
  margin-top: 8px;
}
#sd-settings-db-backup-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-settings-db-backup-root .sd-stores-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-settings-db-backup-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-settings-db-backup-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-settings-db-backup-root .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-settings-db-backup-root .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-settings-db-backup-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#sd-settings-db-backup-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
#sd-settings-db-backup-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-settings-db-backup-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-settings-db-backup-root #sd-settings-db-backup-actions.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-settings-db-backup-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-settings-db-backup-root .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-settings-db-backup-root .sd-stores-table-head {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 8px;
  border-top: none;
  background: transparent;
}
#sd-settings-db-backup-root #sd-settings-db-backup-count {
  padding-left: 10px;
}
#sd-settings-db-backup-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-settings-db-backup-root.sd-settings-db-backup-card {
  overflow: visible;
}
.sd-settings-db-backup-table-section {
  margin-top: 0;
}
.sd-settings-db-backup-table-wrap {
  max-height: min(60vh, 520px);
  overflow-x: auto;
  overflow-y: auto;
  max-width: 100%;
  scrollbar-gutter: auto;
}
#sd-settings-db-backup-table {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#sd-settings-db-backup-table thead th.sd-stores-th,
#sd-settings-db-backup-table tbody td.sd-stores-td {
  vertical-align: middle;
}
#sd-settings-db-backup-table tbody tr.sd-stores-tr > td {
  padding-top: 8px;
  padding-bottom: 8px;
  box-sizing: border-box;
}
/* Selectable data-row hover/selected chrome comes from shared .sd-stores-table :has(row-cb) rules. */
#sd-settings-db-backup-table tbody tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-settings-db-backup-table .sd-settings-db-backup-td--name {
  font-weight: 600;
  font-size: 13px;
}
#sd-settings-db-backup-table.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-settings-db-backup-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
  width: 2.5rem;
}
#sd-settings-db-backup-table tbody tr.sd-settings-db-backup-table-empty td {
  text-align: center;
  padding: 28px 16px 36px;
  vertical-align: middle;
}
#sd-settings-db-backup-table thead th.sd-dg-th {
  position: relative;
  cursor: default;
  padding-right: 8px;
}
#sd-settings-db-backup-table thead th.sd-dg-th.sd-dg-th--dragging {
  opacity: 0.5;
}
#sd-settings-db-backup-table thead th.sd-dg-th.sd-dg-th--drop-target {
  box-shadow: inset 2px 0 0 var(--sd-accent);
}
#sd-settings-db-backup-actions.sd-stores-actions-menu-btn {
  min-width: 88px;
  padding-left: 10px;
  padding-right: 10px;
}
/* Settings ? Column Mapper (mirrors DB Backup / Stores chrome) */
#sd-settings-column-mapper-root .sd-stores-filter-stacks {
  margin-top: 8px;
}
#sd-settings-column-mapper-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-settings-column-mapper-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-settings-column-mapper-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-settings-column-mapper-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-settings-column-mapper-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-settings-column-mapper-root #sd-settings-column-mapper-actions.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-settings-column-mapper-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-settings-column-mapper-root .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-settings-column-mapper-root .sd-stores-table-head {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 8px;
  border-top: none;
  background: transparent;
}
#sd-settings-column-mapper-root #sd-settings-column-mapper-count {
  padding-left: 10px;
}
#sd-settings-column-mapper-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-settings-column-mapper-root {
  overflow: visible;
}
#sd-settings-column-mapper-root .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-split {
  max-height: min(70vh, 900px);
}
#sd-settings-column-mapper-table-head,
#sd-settings-column-mapper-table {
  width: max-content;
  max-width: none;
  box-sizing: border-box;
}
#sd-settings-column-mapper-table-head thead th.sd-stores-th,
#sd-settings-column-mapper-table tbody td.sd-stores-td {
  vertical-align: middle;
}
#sd-settings-column-mapper-table tbody tr.sd-stores-tr > td {
  padding-top: 8px;
  padding-bottom: 8px;
  box-sizing: border-box;
}
#sd-settings-column-mapper-table tbody tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-settings-column-mapper-table .sd-settings-column-mapper-td--name {
  font-weight: 600;
  font-size: 13px;
}
#sd-settings-column-mapper-table .sd-settings-column-mapper-td--name .sd-cm-inline-name {
  width: 100%;
  min-width: 8rem;
  font: inherit;
  font-weight: 600;
}
#sd-settings-column-mapper-table .sd-settings-column-mapper-td--hide {
  width: 5.5rem;
  min-width: 5.5rem;
  max-width: 6.5rem;
}
#sd-settings-column-mapper-table .sd-cm-inline-hide {
  width: 100%;
  min-width: 4.5rem;
  font: inherit;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}
#sd-settings-column-mapper-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-settings-column-mapper-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
  width: 2.5rem;
}
#sd-settings-column-mapper-table-head thead th.sd-stores-th--cm-ordinal,
#sd-settings-column-mapper-table tbody td.sd-cm-ordinal-td {
  width: 3.25rem;
  min-width: 3.25rem;
  max-width: 3.25rem;
  padding-left: 4px;
  padding-right: 4px;
  text-align: center;
  vertical-align: middle;
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btns {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btn {
  width: 26px;
  height: 22px;
  min-width: 26px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: color-mix(in srgb, var(--sd-muted) 55%, var(--sd-text) 45%);
  line-height: 0;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease, opacity 0.15s ease;
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btn .sd-cm-ordinal-icon-svg {
  display: block;
  pointer-events: none;
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btn:hover:not(:disabled) {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  border-color: transparent;
  color: var(--sd-accent);
  transform: translateY(-0.5px);
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btn:active:not(:disabled) {
  transform: translateY(0.5px);
  background: color-mix(in srgb, var(--sd-accent) 12%, transparent);
  color: var(--sd-accent);
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btn:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 1px;
}
#sd-settings-column-mapper-table .sd-cm-ordinal-btn:disabled {
  opacity: 0.32;
  cursor: default;
  transform: none;
  background: transparent;
}
html.theme-dark #sd-settings-column-mapper-table .sd-cm-ordinal-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.08);
}
#sd-settings-column-mapper-table tbody tr.sd-settings-column-mapper-table-empty td {
  text-align: center;
  padding: 28px 16px 36px;
  vertical-align: middle;
}
#sd-settings-column-mapper-table-head thead th.sd-dg-th {
  position: relative;
  cursor: default;
  padding-right: 8px;
}
#sd-settings-column-mapper-table-head thead th.sd-dg-th.sd-dg-th--dragging {
  opacity: 0.5;
}
#sd-settings-column-mapper-table-head thead th.sd-dg-th.sd-dg-th--drop-target {
  box-shadow: inset 2px 0 0 var(--sd-accent);
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-label-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-label-row .sd-stores-filter-label {
  margin-bottom: 0;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-label-row--check {
  margin-bottom: 0;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: color-mix(in srgb, var(--sd-muted) 70%, var(--sd-text) 30%);
  cursor: help;
  line-height: 0;
  transition: color 0.15s ease, background-color 0.15s ease, transform 0.12s ease;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info-svg {
  display: block;
  pointer-events: none;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info:hover,
#sd-settings-column-mapper-edit-modal .sd-cm-field-info:focus-visible {
  color: var(--sd-accent);
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  transform: translateY(-0.5px);
  outline: none;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 1px;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info__tip {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  bottom: auto;
  transform: translateY(-4px);
  z-index: 30;
  width: max-content;
  max-width: min(280px, 72vw);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--sd-border, #c9ced4);
  background: var(--sd-surface, #fff);
  color: var(--sd-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info__tip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 8px;
  border: 5px solid transparent;
  border-bottom-color: var(--sd-surface, #fff);
  filter: drop-shadow(0 -1px 0 var(--sd-border, #c9ced4));
}
#sd-settings-column-mapper-edit-modal .sd-cm-field-info:hover .sd-cm-field-info__tip,
#sd-settings-column-mapper-edit-modal .sd-cm-field-info:focus-visible .sd-cm-field-info__tip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
html.theme-dark #sd-settings-column-mapper-edit-modal .sd-cm-field-info:hover,
html.theme-dark #sd-settings-column-mapper-edit-modal .sd-cm-field-info:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}
html.theme-dark #sd-settings-column-mapper-edit-modal .sd-cm-field-info__tip {
  background: var(--sd-surface, #1e2228);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
#sd-settings-column-mapper-actions.sd-stores-actions-menu-btn {
  min-width: 88px;
  padding-left: 10px;
  padding-right: 10px;
}
@media (max-width: 720px) {
  .sd-settings-dc-layout {
    grid-template-columns: 1fr;
  }
  .sd-settings-dc-nav {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.sd-settings-processing-subsections {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* Border sits between subsections: margin-top = space *above* the line (under prior checkboxes);
   padding-top = space *below* the line (before the subsection title). Same line-height as .sd-settings-section-desc. */
.sd-settings-processing-subsection {
  margin: 0;
  padding: 0;
  border: none;
}
.sd-settings-processing-subsection:not(:first-of-type) {
  margin-top: calc(13px * 1.45);
  padding-top: calc(13px * 1.45);
  border-top: 1px solid var(--sd-border);
}
.sd-settings-processing-subsection__title {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--sd-text);
  line-height: 1.35;
  letter-spacing: 0.01em;
}
.sd-settings-processing-subsection .sd-settings-processing-row {
  margin-bottom: 0;
}
.sd-settings-processing-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  align-items: center;
  margin-bottom: 4px;
}
.sd-settings-processing-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  color: var(--sd-text);
  user-select: none;
  -webkit-user-select: none;
}
.sd-settings-processing-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 0;
  accent-color: var(--sd-accent);
}

.sd-settings-subsection-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 20px 0 8px;
  color: var(--sd-text);
  line-height: 1.3;
}
.sd-settings-llm-subsection {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--sd-border);
}
.sd-settings-llm-subsection .sd-settings-llm-desc {
  margin-bottom: 12px;
}
.sd-settings-llm-field {
  margin-bottom: 16px;
}
.sd-settings-llm-field:last-child {
  margin-bottom: 0;
}
.sd-settings-llm-input {
  display: block;
  width: 100%;
  max-width: 480px;
  min-height: 40px;
  box-sizing: border-box;
}
.sd-settings-llm-key-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 100%;
}
.sd-settings-llm-key-row .sd-settings-llm-key-input {
  flex: 1 1 220px;
  min-width: 0;
  max-width: 480px;
  min-height: 44px;
  resize: vertical;
  font-family: inherit;
  line-height: 1.35;
}
.sd-settings-llm-key-row .sd-btn {
  flex-shrink: 0;
}
.sd-settings-llm-key-hint {
  font-size: 12px;
  line-height: 1.45;
  margin: 8px 0 0;
  max-width: 520px;
}
.sd-settings-llm-clear-btn {
  margin-top: 10px;
}

.sd-settings-section-label {
  display: block;
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 6px;
  color: var(--sd-text);
}
.sd-settings-ua-select {
  display: block;
  width: 100%;
  max-width: 480px;
  min-height: 40px;
  box-sizing: border-box;
}
.sd-settings-ua-textarea {
  display: block;
  width: 100%;
  max-width: 480px;
  box-sizing: border-box;
  resize: vertical;
  min-height: 88px;
  font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.4;
}
.sd-settings-user-agent-detail {
  margin-top: 10px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;
  color: var(--sd-text);
  opacity: 0.9;
  background: var(--sd-bg);
  border-radius: 6px;
  border: 1px solid var(--sd-border);
  max-width: 560px;
}
.sd-settings-user-agent-detail[hidden] {
  display: none !important;
}
.sd-settings-ua-custom-wrap {
  margin-top: 12px;
}
.sd-settings-ua-custom-wrap[hidden] {
  display: none !important;
}

/* Cards & tables */
.sd-card {
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: var(--sd-shadow);
}
.sd-placeholder {
  border: 1px dashed var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 32px;
  text-align: center;
  color: var(--sd-muted);
}

.sd-profile-card .sd-settings-section-title {
  margin-top: 0;
}

/* Profile ? hero header + two-column fields (layout only; colors use app tokens) */
.sd-profile-card.sd-profile-card--layout {
  padding: 0;
  overflow: hidden;
}
.sd-profile-hero {
  --sd-profile-hero-banner-h: 88px;
  --sd-profile-hero-overlap: 52px;
}
.sd-profile-hero__banner {
  height: var(--sd-profile-hero-banner-h);
  background: linear-gradient(
    118deg,
    color-mix(in srgb, var(--sd-accent) 16%, var(--sd-bg)) 0%,
    var(--sd-surface) 42%,
    color-mix(in srgb, var(--sd-accent) 12%, var(--sd-bg)) 100%
  );
  border-bottom: 1px solid var(--sd-border);
}
/* Profile › Personal Information: no top color band / divider above the avatar row */
#sd-profile-panel-personal .sd-profile-hero {
  --sd-profile-hero-banner-h: 0px;
  --sd-profile-hero-overlap: 0px;
}
#sd-profile-panel-personal .sd-profile-hero__banner {
  display: none;
}
#sd-profile-panel-personal .sd-profile-hero__body {
  margin-top: 0;
  padding-top: 20px;
}
#sd-profile-panel-personal .sd-profile-hero__identity > .sd-profile-hero__titles {
  margin-top: 0;
  align-self: center;
}
#sd-profile-panel-personal .sd-profile-hero__save {
  margin-top: 0;
  align-self: center;
}
.sd-profile-hero__body {
  --sd-profile-hero-edge: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px var(--sd-profile-hero-edge);
  padding: 4px var(--sd-profile-hero-edge) 12px;
  margin-top: calc(-1 * var(--sd-profile-hero-overlap));
  position: relative;
  z-index: 1;
}
/* Avatar overlaps banner; username + name sit below the banner bottom edge */
.sd-profile-hero__identity {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px 24px;
  flex: 1;
  min-width: 0;
}
.sd-profile-hero__identity > .sd-profile-avatar-wrap--hero {
  flex-shrink: 0;
}
.sd-profile-hero__identity > .sd-profile-hero__titles {
  flex: 1;
  min-width: 0;
  align-self: flex-start;
  margin-top: var(--sd-profile-hero-overlap);
}
.sd-profile-avatar-wrap.sd-profile-avatar-wrap--hero {
  width: 112px;
  height: 112px;
  border-width: 4px;
  border-color: var(--sd-surface);
  box-shadow: var(--sd-shadow);
}
.sd-profile-avatar-wrap.sd-profile-avatar-wrap--hero.sd-profile-avatar-wrap--file-target {
  position: relative;
  cursor: pointer;
}
.sd-profile-avatar-wrap.sd-profile-avatar-wrap--file-target > .sd-profile-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  overflow: hidden;
  clip: auto;
  clip-path: none;
  border: 0;
  z-index: 2;
  font-size: 0;
  color: transparent;
}
.sd-profile-avatar-wrap.sd-profile-avatar-wrap--hero.sd-profile-avatar-wrap--file-target:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 3px;
}
.sd-profile-avatar-wrap.sd-profile-avatar-wrap--hero .sd-profile-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sd-profile-hero__titles {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  font-family: inherit;
}
.sd-profile-hero__name.sd-profile-hero__username {
  margin: 0;
  padding: 0;
  font-size: calc(0.9 * clamp(1.25rem, 0.35rem + 2.8vw, 1.75rem));
  font-weight: 700;
  color: var(--sd-text);
  line-height: 1.2;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
.sd-profile-hero__username {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
.sd-profile-hero__sub.sd-profile-hero__byline {
  margin: 4px 0 0;
  padding: 0;
  font-size: 0.9375rem;
  font-weight: 400;
  color: var(--sd-muted);
  line-height: 1.4;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
.sd-profile-hero__byline {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.sd-profile-hero__save {
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: calc(var(--sd-profile-hero-overlap) + var(--sd-profile-hero-edge));
}
.sd-profile-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  padding: 16px 20px 8px;
}
.sd-profile-field .sd-settings-section-label {
  display: block;
  margin-bottom: 6px;
}
.sd-profile-field .sd-input {
  width: 100%;
  box-sizing: border-box;
}
.sd-profile-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 8px 20px 0;
  padding: 16px 0 28px;
}
.sd-profile-meta-item {
  min-width: 0;
}
.sd-profile-meta-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.sd-profile-meta-value {
  display: block;
  font-size: 14px;
  color: var(--sd-text);
  word-break: break-word;
}
.sd-profile-fields-grid--password {
  padding-top: 0;
}
#sd-profile-panel-password .sd-profile-fields-grid--password {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px 0;
  padding: 0 0 12px;
  box-sizing: border-box;
  text-align: left;
}
#sd-profile-panel-password .sd-profile-password-card__actions {
  margin-top: 0;
  padding: 0 0 20px;
  justify-content: flex-start;
}
.sd-profile-hint--footer {
  margin: 16px 20px 20px;
  max-width: none;
}
@media (max-width: 640px) {
  .sd-profile-fields-grid,
  .sd-profile-meta-grid {
    grid-template-columns: 1fr;
  }
  .sd-profile-hero__body {
    flex-direction: column;
    align-items: stretch;
  }
  .sd-profile-hero__save {
    width: 100%;
    margin-top: var(--sd-profile-hero-edge);
  }
}

.sd-profile-dl {
  margin: 16px 0 0;
  max-width: 520px;
}
.sd-profile-dl__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--sd-border);
  font-size: 14px;
  align-items: baseline;
}
.sd-profile-dl__row:last-child {
  border-bottom: none;
}
.sd-profile-dl dt {
  margin: 0;
  color: var(--sd-muted);
  font-weight: 600;
}
.sd-profile-dl dd {
  margin: 0;
  word-break: break-word;
}
.sd-profile-code {
  font-size: 13px;
}
.sd-profile-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: color-mix(in srgb, var(--sd-accent) 18%, transparent);
  color: var(--sd-text);
}
.sd-profile-hint {
  margin: 16px 0 0;
  font-size: 13px;
  color: var(--sd-muted);
  max-width: 520px;
  line-height: 1.45;
}
.sd-profile-hint--tight {
  margin: 6px 0 0;
  max-width: 360px;
}
.sd-profile-avatar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 20px;
  max-width: 520px;
}
.sd-profile-avatar-wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
  border: 1px solid var(--sd-border);
  box-sizing: border-box;
}
.sd-profile-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sd-profile-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-muted);
  width: 100%;
  height: 100%;
}
.sd-profile-avatar-placeholder .sd-person-icon {
  width: 48px;
  height: 48px;
}
.sd-profile-avatar-actions {
  flex: 1;
  min-width: 160px;
  position: relative;
}
/* Screen-reader?friendly hidden file input (nested in profile avatar label) */
.sd-profile-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Client Settings ? Add user wizard + Template Manager wizard: numbered stepper + labels */
#sd-cs-wizard,
#sd-tm-wizard {
  --sd-cs-step-done: #3d5166;
  --sd-cs-step-done-fg: #ffffff;
  --sd-cs-step-todo-bg: #dfe3ea;
  --sd-cs-step-todo-fg: #5c6570;
  --sd-cs-step-line-solid: #b4bcc8;
  --sd-cs-step-line-muted: #e2e6ed;
}
html.theme-dark #sd-cs-wizard,
html.theme-dark #sd-tm-wizard {
  --sd-cs-step-done: #4a5f78;
  --sd-cs-step-done-fg: #f0f2f5;
  --sd-cs-step-todo-bg: #4a5159;
  --sd-cs-step-todo-fg: #9aa5b5;
  --sd-cs-step-line-solid: #5c6674;
  --sd-cs-step-line-muted: #3a4048;
}
.sd-cs-wizard-breadcrumb {
  margin: 0 0 16px;
}
.sd-cs-wizard-nav {
  display: block;
}
/* Stepper: numbered discs + labels + connectors */
.sd-cs-wizard-stepper {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  gap: 0;
}
.sd-cs-wizard-stepper__item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.sd-cs-wizard-stepper__axis {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  margin-bottom: 8px;
}
.sd-cs-wizard-stepper__seg {
  flex: 1 1 auto;
  min-width: 4px;
  height: 0;
  border: 0;
  border-top-width: 2px;
  border-top-style: solid;
  align-self: center;
  margin-top: 0;
  box-sizing: border-box;
}
/* Grow like connector halves so the disc stays centered in each step column */
.sd-cs-wizard-stepper__seg.is-empty {
  flex: 1 1 auto;
  min-width: 0;
  border-top-color: transparent;
}
.sd-cs-wizard-stepper__seg--edge.is-empty {
  flex: 1 1 auto;
  min-width: 0;
}
.sd-cs-wizard-stepper__seg.is-solid {
  border-top-color: var(--sd-cs-step-line-solid);
}
.sd-cs-wizard-stepper__seg.is-dashed {
  border-top-style: dashed;
  border-top-color: var(--sd-cs-step-line-solid);
}
.sd-cs-wizard-stepper__seg.is-muted {
  border-top-style: solid;
  border-top-color: var(--sd-cs-step-line-muted);
}
.sd-cs-wizard-stepper__disc {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  margin: 0 4px;
  border: none;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-family: var(--sd-font);
}
.sd-cs-wizard-stepper__disc.is-done {
  background: var(--sd-cs-step-done);
  color: var(--sd-cs-step-done-fg);
  cursor: pointer;
  padding: 0;
  transition: transform 0.12s ease, filter 0.12s ease;
}
.sd-cs-wizard-stepper__disc.is-done:hover {
  filter: brightness(1.08);
}
.sd-cs-wizard-stepper__disc.is-done:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-cs-wizard-stepper__disc.is-current {
  background: var(--sd-accent);
  color: var(--sd-btn-primary-fg, #fff);
}
.sd-cs-wizard-stepper__disc.is-todo {
  background: var(--sd-cs-step-todo-bg);
  color: var(--sd-cs-step-todo-fg);
}
.sd-cs-wizard-stepper__cap {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
  max-width: 100%;
  padding: 0 2px;
  text-align: center;
  word-break: break-word;
}
.sd-cs-wizard-stepper__cap.is-done {
  color: var(--sd-text);
}
.sd-cs-wizard-stepper__cap.is-current {
  color: var(--sd-accent);
  font-weight: 600;
}
.sd-cs-wizard-stepper__cap.is-todo {
  color: var(--sd-muted);
}
.sd-cs-wizard-body {
  /* Tall enough for the User info step so the modal does not resize between steps */
  min-height: 340px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.sd-cs-wizard-body > * {
  flex: 0 0 auto;
}
/* Add user wizard ? step 4 summary: two stacked cards + table-like rows */
.sd-cs-wizard-summary-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 8px 0 0;
  width: 100%;
  box-sizing: border-box;
}
.sd-cs-wizard-summary-card {
  margin: 0;
  padding: 0;
  max-width: none;
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--sd-border) 85%, transparent);
  background: color-mix(in srgb, var(--sd-surface) 94%, var(--sd-muted));
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.sd-cs-wizard-summary-card .sd-cs-wizard-summary__group {
  padding: 4px 16px 2px;
}
.sd-cs-wizard-summary__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 10px 16px;
  padding: 11px 0;
  align-items: baseline;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 55%, transparent);
}
.sd-cs-wizard-summary-card .sd-cs-wizard-summary__row:last-child {
  border-bottom: none;
}
.sd-cs-wizard-summary__label {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sd-muted);
  line-height: 1.3;
}
.sd-cs-wizard-summary__value {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--sd-text);
  text-align: right;
  word-break: break-word;
  line-height: 1.35;
}
.sd-cs-wizard-step5-prompt {
  margin: 8px 0 0;
  text-align: center;
  box-sizing: border-box;
}
.sd-cs-wizard-step5-prompt__spacer {
  min-height: 1.35em;
  height: 1.35em;
}
.sd-cs-wizard-step5-prompt__text {
  margin: 0;
  text-align: center;
}
.sd-cs-wizard-lead {
  margin: 12px 0 0;
  padding-left: 20%;
  padding-right: 20%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.sd-cs-wizard-lead__text {
  display: block;
}
.sd-cs-wizard-lead__account {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25;
  color: var(--sd-text);
}
.sd-cs-wizard-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sd-cs-wizard-grid__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.sd-cs-wizard-grid__row--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sd-cs-wizard-grid__row--two .sd-cs-wizard-grid__cell--span-2 {
  grid-column: 1 / -1;
}
.sd-cs-wizard-grid__cell {
  min-width: 0;
}
.sd-cs-wizard-grid__cell .sd-settings-section-label {
  display: block;
  margin-bottom: 4px;
}
#sd-cs-wizard .sd-cs-wizard-grid__cell .sd-input,
#sd-cs-wizard .sd-cs-wizard-grid__cell select.sd-input,
#sd-cs-wizard .sd-cs-wizard-grid__cell .sd-input-password-wrap,
#sd-tm-wizard .sd-cs-wizard-grid__cell .sd-input,
#sd-tm-wizard .sd-cs-wizard-grid__cell select.sd-input,
#sd-tm-wizard .sd-cs-wizard-grid__cell textarea.sd-input {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.sd-cs-role-step-intro {
  text-align: center;
}
.sd-cs-role-step-intro__blank {
  height: 1.25em;
  min-height: 1.25em;
}
.sd-cs-role-step-intro__lead {
  margin: 0;
  text-align: center;
}
.sd-cs-role-step-intro__uname {
  font-weight: 600;
}
.sd-cs-role-picker {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.sd-cs-role-card {
  border: 2px solid var(--sd-border);
  border-radius: 10px;
  background: var(--sd-surface);
  color: var(--sd-text);
  min-height: 170px;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.sd-cs-role-card:hover {
  border-color: color-mix(in srgb, var(--sd-accent) 62%, var(--sd-border));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.sd-cs-role-card.is-selected {
  border-color: var(--sd-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sd-accent) 20%, transparent);
  background: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
}
.sd-cs-role-card__icon {
  font-size: 34px;
  line-height: 1;
}
.sd-cs-role-card__label {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}
.sd-cs-role-card__note {
  font-size: 12px;
  line-height: 1.35;
  color: var(--sd-muted);
}
@media (max-width: 720px) {
  .sd-cs-wizard-grid__row--two {
    grid-template-columns: minmax(0, 1fr);
  }
  .sd-cs-role-picker {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Settings → Client Management → Add/Edit tenant drawer */
#sd-cm-tenant-drawer-body .sd-cm-tenant-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--sd-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--sd-surface) 88%, var(--sd-muted));
  box-sizing: border-box;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__photo {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--sd-text);
  min-width: 0;
  overflow-wrap: anywhere;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__slug {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid var(--sd-border);
  background: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
  color: var(--sd-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__slug[hidden] {
  display: none;
}
#sd-cm-tenant-drawer-body .sd-cm-t-summary__enabled {
  margin: 0;
}
#sd-cm-tenant-drawer-body .sd-cm-t-section {
  border: 1px solid var(--sd-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--sd-surface) 92%, var(--sd-muted));
  padding: 14px 16px 16px;
  box-sizing: border-box;
}
#sd-cm-tenant-drawer-body .sd-cm-t-section__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sd-muted);
  line-height: 1.3;
}
#sd-cm-tenant-drawer-body .sd-cm-t-section__icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--sd-muted);
}
#sd-cm-tenant-drawer-body .sd-cm-t-section__icon-svg {
  display: block;
}
#sd-cm-tenant-drawer-body .sd-cm-t-section__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#sd-cm-tenant-drawer-body .sd-cm-t-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
#sd-cm-tenant-drawer-body .sd-cm-t-fields--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 560px) {
  #sd-cm-tenant-drawer-body .sd-cm-t-fields--two {
    grid-template-columns: 1fr;
  }
}
#sd-cm-tenant-drawer-body .sd-cm-t-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#sd-cm-tenant-drawer-body .sd-cm-t-field .sd-input,
#sd-cm-tenant-drawer-body .sd-cm-t-field select.sd-input,
#sd-cm-tenant-drawer-body .sd-cm-t-field textarea.sd-input,
#sd-cm-tenant-drawer-body .sd-cm-t-field .sd-input-password-wrap {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-llm-intro-copy {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}
#sd-cm-tenant-drawer-body .sd-cm-t-avatar-wrap {
  position: relative;
  overflow: hidden;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-width: 4px;
  border-color: var(--sd-surface);
  box-shadow: var(--sd-shadow);
}
#sd-cm-tenant-drawer-body #sd-cm-t-avatar-visual {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#sd-cm-tenant-drawer-body #sd-cm-t-avatar-visual .sd-profile-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  min-width: 0;
  min-height: 0;
}
#sd-cm-tenant-drawer-body .sd-cm-t-avatar-initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 28px;
  font-weight: 700;
  color: var(--sd-muted);
  line-height: 1;
  background: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-surface));
}
#sd-cm-tenant-drawer-body .sd-cm-t-avatar-clear {
  position: absolute;
  top: -4px;
  right: -4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-surface));
  color: var(--sd-muted);
  cursor: pointer;
  flex-shrink: 0;
  line-height: 0;
  z-index: 1;
}
#sd-cm-tenant-drawer-body .sd-cm-t-avatar-clear:hover {
  background: color-mix(in srgb, var(--sd-text) 12%, var(--sd-surface));
  color: var(--sd-text);
}
#sd-cm-tenant-drawer-body .sd-cm-t-avatar-clear[hidden] {
  display: none;
}
#sd-cm-tenant-drawer-body .sd-cm-t-avatar-clear__svg {
  display: block;
}
#sd-cm-tenant-drawer-body .sd-cm-t-panel-account {
  display: flex;
  flex-direction: column;
}
#sd-cm-tenant-drawer-body .sd-cm-t-form-actions {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

/* Client Settings — Edit user drawer: resizable width (50–75vw); tabs flush under header like Edit Client Account */
#sd-cs-edit-panel.sd-stores-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  height: 100%;
  width: min(var(--sd-cs-edit-drawer-width, 50vw), 75vw);
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 720px) {
  #sd-cs-edit-panel.sd-stores-drawer__panel {
    width: 100%;
  }
}
#sd-cs-edit-panel .sd-stores-drawer__head {
  padding-left: 20px;
  padding-right: 20px;
  flex-shrink: 0;
}
#sd-cs-edit-panel .sd-stores-drawer__body.sd-cs-edit-body {
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
#sd-cs-edit-panel .sd-cs-edit-drawer-footer.sd-stores-modal__actions {
  margin-top: 0;
  flex-shrink: 0;
  padding: 12px 20px 16px;
  border-top: 1px solid var(--sd-border);
}
#sd-cs-edit .sd-cs-edit-body {
  box-sizing: border-box;
}
#sd-cs-edit .sd-cs-edit-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
}
#sd-cs-edit .sd-cs-edit-form .sd-cs-edit-tabs-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
#sd-cs-edit .sd-cs-edit-tabs-wrap > .sd-stores-drawer__tabs {
  padding-left: 20px;
  padding-right: 20px;
  flex-shrink: 0;
}
#sd-cs-edit .sd-cs-edit-tabs-wrap > .sd-settings-tab-panel {
  padding: 16px 20px 28px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}
#sd-cs-edit .sd-cs-edit-tabs-wrap > .sd-settings-tab-panel[hidden] {
  display: none;
}
#sd-cs-edit .sd-cs-edit-body .sd-settings-themes-row {
  display: grid;
  grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
  gap: 10px 20px;
  align-items: center;
}
#sd-cs-edit .sd-cs-edit-body .sd-cs-edit-profile-row {
  align-items: flex-start;
}
/* Personal tab: flat identity row (no banner), matching Edit Client Account summary feel */
#sd-cs-edit .sd-cs-edit-hero {
  --sd-profile-hero-banner-h: 0px;
  --sd-profile-hero-overlap: 0px;
}
#sd-cs-edit .sd-cs-edit-hero .sd-profile-hero__banner {
  display: none;
}
#sd-cs-edit .sd-cs-edit-hero .sd-profile-hero__body {
  margin-top: 0;
  padding: 16px 20px 14px;
}
#sd-cs-edit .sd-cs-edit-hero .sd-profile-hero__identity > .sd-profile-hero__titles {
  margin-top: 0;
  align-self: center;
}
#sd-cs-edit .sd-cs-edit-card {
  border: 1px solid var(--sd-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--sd-surface) 92%, var(--sd-muted));
  box-sizing: border-box;
  margin-bottom: 0;
  box-shadow: none;
}
#sd-cs-edit .sd-cs-edit-card.sd-settings-themes-card,
#sd-cs-edit .sd-cs-edit-card.sd-profile-password-card {
  padding: 16px 18px 18px;
}
/* Personal tab: symmetric insets, equal columns, min-width 0 so inputs share space */
#sd-cs-edit .sd-profile-card--layout > .sd-profile-fields-grid {
  padding: 16px 20px;
  gap: 16px 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  box-sizing: border-box;
}
#sd-cs-edit .sd-profile-card--layout > .sd-profile-fields-grid .sd-profile-field {
  min-width: 0;
}
#sd-cs-edit .sd-cs-edit-field-group--second {
  margin-top: 0;
  padding: 16px 20px 20px;
  border-top: 1px solid var(--sd-border);
  box-sizing: border-box;
}
#sd-cs-edit .sd-cs-edit-field-group--personal-top {
  border-top: 1px solid var(--sd-border);
  align-items: start;
}
#sd-cs-edit .sd-cs-edit-avatar-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}
#sd-cs-edit .sd-cs-edit-avatar-photo {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}
#sd-cs-edit .sd-cs-e-avatar-wrap {
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  border-color: var(--sd-border);
}
#sd-cs-edit .sd-cs-e-avatar-clear {
  position: absolute;
  top: -4px;
  right: -4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-surface));
  color: var(--sd-muted);
  cursor: pointer;
  flex-shrink: 0;
  line-height: 0;
  z-index: 1;
}
#sd-cs-edit .sd-cs-e-avatar-clear:hover {
  background: color-mix(in srgb, var(--sd-text) 12%, var(--sd-surface));
  color: var(--sd-text);
}
#sd-cs-edit .sd-cs-e-avatar-clear[hidden] {
  display: none;
}
#sd-cs-edit .sd-cs-e-avatar-clear__svg {
  display: block;
}
#sd-cs-edit .sd-cs-edit-enabled-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
#sd-cs-edit .sd-cs-edit-enabled-cell .sd-settings-section-label {
  display: block;
}
#sd-cs-edit .sd-cs-edit-client-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
#sd-cs-edit .sd-cs-edit-client-cell .sd-settings-section-label {
  display: block;
}
#sd-cs-edit .sd-cs-e-field-email {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
#sd-cs-edit #sd-cs-e-avatar-visual {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  min-height: 0;
}
#sd-cs-edit #sd-cs-e-avatar-visual .sd-cs-edit-avatar-initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 22px;
  font-weight: 700;
  color: var(--sd-muted);
  line-height: 1;
}
#sd-cs-edit .sd-cs-edit-role-note {
  margin: 0 0 4px;
}
#sd-cs-edit #sd-cs-e-panel-password .sd-profile-fields-grid--password {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px 0;
  padding: 0 0 12px;
  box-sizing: border-box;
  text-align: left;
}
#sd-cs-edit #sd-cs-e-panel-password .sd-profile-password-card__actions {
  margin-top: 0;
  padding: 0 0 20px;
  justify-content: flex-start;
}
#sd-cs-edit .sd-cs-edit-body .sd-input {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 44px;
}
#sd-cs-edit .sd-cs-edit-profile__main {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
#sd-cs-edit .sd-cs-edit-avatar-wrap {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#sd-cs-edit .sd-cs-edit-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#sd-cs-edit .sd-cs-edit-avatar-ph {
  font-size: 22px;
  font-weight: 700;
  color: var(--sd-muted);
  line-height: 1;
}
#sd-cs-edit .sd-cs-edit-profile__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
}
#sd-cs-edit .sd-cs-edit-enabled-cell .sd-cs-edit-enabled-label {
  margin: 0;
  cursor: pointer;
  align-self: flex-start;
}
html.theme-dark #sd-cs-edit .sd-sb-card-toggle__thumb {
  background: #282c34;
}
#sd-cs-edit .sd-cs-edit-footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
#sd-cs-edit .sd-cs-edit-footer__grow {
  flex: 1 1 80px;
  min-width: 12px;
}

.sd-cs-group-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px 0;
}
.sd-cs-card-group {
  margin-bottom: 16px;
}
.sd-cs-card-group__title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
}

/* Client Settings ? User Management card view: same row/thumb/content/actions pattern as shelf View product cards */
#sd-client-settings-root .sd-cs-users-card-list {
  margin: 0;
  padding: 0;
}
/* Card view (flat list): space above the first card matches .sd-products-list gap (10px) below it */
#sd-client-settings-root #sd-cs-cards-root .sd-stores-cards-toolbar + .sd-cs-users-card-list {
  padding-top: 10px;
}
/* Grouped card view: toolbar ? first group matches inter-card gap */
#sd-client-settings-root #sd-cs-cards-root .sd-stores-cards-toolbar + .sd-cs-card-group {
  margin-top: 10px;
}
/* Grouped card view: title-to-card spacing matches inter-card gap */
#sd-client-settings-root #sd-cs-cards-root .sd-cs-card-group__title {
  margin-bottom: 10px;
}
#sd-client-settings-root .sd-cs-user-card.sd-product-card {
  cursor: default;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
}
#sd-client-settings-root .sd-cs-user-card .sd-product-card__row {
  align-items: flex-start;
}
/* User Management card field labels: increase contrast for readability across themes. */
#sd-client-settings-root .sd-cs-user-card .sd-product-card__ids-label {
  opacity: 1;
  font-weight: 600;
  color: color-mix(in srgb, var(--sd-text) 72%, var(--sd-muted));
}
html.theme-dark #sd-client-settings-root .sd-cs-user-card .sd-product-card__ids-label {
  color: color-mix(in srgb, var(--sd-text) 84%, white 16%);
}
html.theme-path #sd-client-settings-root .sd-cs-user-card .sd-product-card__ids-label,
html.theme-greenday #sd-client-settings-root .sd-cs-user-card .sd-product-card__ids-label,
html.theme-vintage #sd-client-settings-root .sd-cs-user-card .sd-product-card__ids-label,
html.theme-shelfy #sd-client-settings-root .sd-cs-user-card .sd-product-card__ids-label {
  color: color-mix(in srgb, var(--sd-text) 78%, var(--sd-muted));
}
/* User Management card view: same header + pill selection as shelf View (Beta) product cards */
#sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selectable:hover {
  background: linear-gradient(0deg, var(--sd-hover-table-cell-bg), var(--sd-hover-table-cell-bg)), var(--sd-surface);
}
#sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selected > .sd-sb-card-header {
  background: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
}
html.theme-dark #sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selected > .sd-sb-card-header,
html.theme-path #sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selected > .sd-sb-card-header,
html.theme-greenday #sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selected > .sd-sb-card-header,
html.theme-vintage #sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selected > .sd-sb-card-header,
html.theme-shelfy #sd-client-settings-root #sd-cs-cards-root .sd-cs-user-card.sd-shelf-beta-product-card--selected > .sd-sb-card-header {
  background: color-mix(in srgb, var(--sd-text) 12%, var(--sd-surface));
}
/* Neutral toggle track in card grid (selection = thumb position), matching #sd-sb-page-root View cards */
#sd-client-settings-root #sd-cs-cards-root .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track {
  background: #e5e7eb;
  border-color: var(--sd-border);
}
html.theme-dark #sd-client-settings-root #sd-cs-cards-root .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track {
  background: #4b5563;
  border-color: var(--sd-border);
}
html.theme-dark #sd-client-settings-root #sd-cs-cards-root .sd-sb-card-toggle__thumb {
  background: #282c34;
}
#sd-client-settings-root #sd-cs-cards-root .sd-sb-select-all-label .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track,
#sd-client-settings-root #sd-cs-cards-root .sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track {
  background: #e5e7eb;
  border-color: var(--sd-border);
}
html.theme-dark #sd-client-settings-root #sd-cs-cards-root .sd-sb-select-all-label .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track,
html.theme-dark #sd-client-settings-root #sd-cs-cards-root .sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track {
  background: #4b5563;
  border-color: var(--sd-border);
}
#sd-client-settings-root .sd-cs-user-card__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: color-mix(in srgb, var(--sd-text) 78%, var(--sd-muted));
  user-select: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  overflow: hidden;
}
#sd-client-settings-root .sd-cs-user-card__avatar .sd-cs-profile-photo--thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#sd-client-settings-root .sd-cs-profile-photo--cell {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0;
  flex-shrink: 0;
  vertical-align: middle;
}
#sd-client-settings-root .sd-cs-profile-photo--placeholder {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--sd-muted) 18%, var(--sd-surface));
  border: 1px solid var(--sd-border);
  box-sizing: border-box;
}
#sd-client-settings-root .sd-cs-username-td {
  text-align: left;
  vertical-align: middle;
}
#sd-client-settings-root .sd-cs-username-cell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  vertical-align: middle;
}
#sd-client-settings-root .sd-cs-username-cell__text {
  min-width: 0;
  overflow-wrap: anywhere;
}
#sd-client-settings-root .sd-cs-username-cell .sd-cs-profile-photo--cell {
  flex-shrink: 0;
}
/* Inner wrap only ? never `display:flex` on the <td> (breaks border-collapse row rules). */
#sd-client-settings-root .sd-cs-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-start;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table th.sd-stores-th--actions,
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table td.sd-cs-actions-cell {
  text-align: left;
  vertical-align: middle;
}
#sd-client-settings-root .sd-cs-row-icon-btn {
  padding: 6px;
  min-width: 40px;
  min-height: 40px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#sd-client-settings-root .sd-cs-row-icon-svg {
  display: block;
  flex-shrink: 0;
}
#sd-client-settings-root .sd-cs-user-card__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}
@media (max-width: 720px) {
  #sd-client-settings-root .sd-cs-user-card .sd-product-card__row {
    flex-wrap: wrap;
  }
  #sd-client-settings-root .sd-cs-user-card__actions {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
  }
}

/* Account Settings › client picker (Shelfy Admin, no tenant selected) */
#sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner {
  padding: 14px 18px 14px 16px;
  border-radius: var(--sd-home-card-radius, var(--sd-radius));
  border: 1px solid color-mix(in srgb, var(--sd-cs-pick-comp) 42%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-cs-pick-comp) 18%, var(--sd-surface));
}
#sd-client-settings-root[data-cs-pick="1"] .sd-settings-tab-panel > .sd-cs-panel-head.sd-cs-pick-banner {
  margin-top: 0;
}
html.theme-dark #sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner,
html.theme-path #sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner,
html.theme-greenday #sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner {
  background: color-mix(in srgb, var(--sd-cs-pick-comp) 24%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-cs-pick-comp) 48%, transparent);
}
#sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner .sd-cs-pick-banner__title-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  color: var(--sd-cs-pick-fg);
}
#sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner .sd-page-title {
  color: inherit;
  width: auto;
  flex: 0 1 auto;
  align-self: center;
  margin: 0;
  line-height: 1;
  font-size: 22px;
  display: flex;
  align-items: center;
}
#sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner__attn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: calc(22px * 2 / 3 * 1.2);
  height: calc(22px * 2 / 3 * 1.2);
  overflow: visible;
  line-height: 0;
  color: inherit;
}
#sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner__attn svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
#sd-client-settings-root[data-cs-pick="1"] .sd-cs-pick-banner .sd-page-desc.sd-scan-lead {
  color: var(--sd-cs-pick-fg);
  opacity: 0.92;
}
#sd-client-settings-root #sd-cs-pick-root tr.sd-cs-pick-row {
  cursor: pointer;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-cell-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-cell-copy__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-copy-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
  opacity: 0;
  pointer-events: none;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-cell-copy:hover .sd-cs-pick-copy-btn,
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-cell-copy:focus-within .sd-cs-pick-copy-btn,
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-copy-btn:focus-visible {
  opacity: 1;
  pointer-events: auto;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-copy-btn:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
html.theme-dark #sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-copy-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-copy-btn:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-card.sd-product-card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-card:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-card__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-card__meta-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}
#sd-client-settings-root #sd-cs-pick-root .sd-cs-pick-card .sd-product-card__ids-label {
  color: var(--sd-muted);
  font-weight: 600;
}

/* System placeholder pages (Data Collection, Task Management, etc.) */
.sd-admin-placeholder-note {
  max-width: 640px;
}
.sd-admin-placeholder-note__lead {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--sd-text);
}
.sd-admin-placeholder-note__list {
  margin: 0;
  padding-left: 1.35em;
  font-size: 14px;
  line-height: 1.55;
  color: var(--sd-text);
}
.sd-admin-placeholder-note__list li {
  margin-bottom: 6px;
}
.sd-admin-placeholder-note__list li:last-child {
  margin-bottom: 0;
}

/* Data Collection ? tabs + stores-style tables */
#sd-data-collection-root > .sd-page-desc {
  margin-bottom: 12px;
  max-width: none;
}
#sd-data-collection-root .sd-page-desc {
  margin-bottom: 12px;
}
#sd-data-collection-root .sd-data-collection-tabs-wrap {
  margin-bottom: 0;
}
#sd-data-collection-root .sd-data-collection-tabs-wrap .sd-stores-drawer__tabs {
  padding-left: 0;
  padding-right: 0;
}
#sd-data-collection-root .sd-data-collection-tab-panel {
  padding-top: 12px;
}
#sd-data-collection-root .sd-data-collection-tab-panel > .sd-settings-section-title {
  margin-bottom: 6px;
}
#sd-data-collection-root .sd-data-collection-tab-desc {
  margin: 0 0 12px;
}
#sd-data-collection-root .sd-dc-runlogs-head.sd-sb-view-head {
  margin: 0 0 12px;
}
#sd-data-collection-root .sd-dc-runlogs-head .sd-settings-section-title {
  margin: 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
#sd-data-collection-root .sd-dc-runlogs-head .sd-data-collection-tab-desc {
  margin: 6px 0 0;
  max-width: 48rem;
  align-self: stretch;
  width: 100%;
}
#sd-data-collection-root #sd-dc-runlogs-dl-reports-popover.sd-stores-popover--export {
  left: auto;
  right: 0;
}
#sd-data-collection-root .sd-dc-runlogs-table-section > .sd-stores-table-head {
  padding-top: 0;
  border-top: none;
  background: transparent;
}
#sd-data-collection-root #sd-dc-runlogs-count {
  padding-left: 10px;
}
#sd-data-collection-root .sd-dc-runlogs-table-section > .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-data-collection-root .sd-data-collection-table-section {
  margin-top: 0;
}
#sd-data-collection-root .sd-data-collection-table-wrap {
  width: 100%;
  box-sizing: border-box;
}
#sd-data-collection-root .sd-data-collection-table-section .sd-stores-table-split .sd-stores-table-thead-wrap {
  min-width: 0;
}
#sd-data-collection-root .sd-data-collection-table-section .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll {
  min-width: 0;
}
#sd-data-collection-root #sd-data-collection-table {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#sd-data-collection-root #sd-data-collection-table-head {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#sd-data-collection-root .sd-data-collection-table-section .sd-stores-table-hsync {
  overflow-x: hidden;
}
#sd-data-collection-root .sd-stores-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-data-collection-root .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
/* Collection tab body: wrap long values; headers use shared sd-dg-th ellipsis (Stores-style). */
#sd-data-collection-root #sd-data-collection-table td {
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#sd-data-collection-root #sd-data-collection-table-head th.sd-dg-th {
  white-space: nowrap;
}
#sd-data-collection-root .sd-data-collection-tr--stores {
  cursor: pointer;
}
#sd-data-collection-root .sd-data-collection-tr--stores .sd-data-collection-td--actions {
  cursor: default;
}
#sd-data-collection-root #sd-data-collection-activities-table col {
  width: calc(100% / 5);
}
#sd-data-collection-root .sd-data-collection-th--time {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#sd-data-collection-root .sd-data-collection-th--duration,
#sd-data-collection-root .sd-data-collection-td--duration {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#sd-data-collection-root .sd-data-collection-activities-empty td,
#sd-data-collection-root #sd-dc-runlogs-table tbody tr.sd-data-collection-activities-empty td {
  text-align: center;
  padding-top: 24px;
  padding-bottom: 24px;
  vertical-align: middle;
}
#sd-data-collection-root .sd-stores-cards-empty {
  text-align: center;
  margin: 24px 0;
}
#sd-data-collection-root .sd-data-collection-tr {
  cursor: default;
}
#sd-data-collection-root .sd-dc-runlogs-tr {
  cursor: pointer;
}
/* Run Logs table: left-align all header and body cells (override duration/num right-align). */
#sd-data-collection-root #sd-dc-runlogs-table-head th,
#sd-data-collection-root #sd-dc-runlogs-table th,
#sd-data-collection-root #sd-dc-runlogs-table td {
  text-align: left;
}
#sd-data-collection-root #sd-dc-runlogs-table .sd-data-collection-td--duration {
  text-align: left;
}
#sd-data-collection-root .sd-data-collection-main-table tbody tr.sd-data-collection-tr:hover > td,
#sd-data-collection-root .sd-stores-table tbody tr.sd-dc-runlogs-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-data-collection-root .sd-data-collection-th--num,
#sd-data-collection-root .sd-data-collection-td--num,
#sd-data-collection-root .sd-data-collection-th--runtime,
#sd-data-collection-root .sd-data-collection-td--runtime {
  font-variant-numeric: tabular-nums;
}
#sd-data-collection-root .sd-data-collection-td--runtime {
  white-space: nowrap;
}
#sd-data-collection-root .sd-data-collection-th--progress,
#sd-data-collection-root .sd-data-collection-td--progress {
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}
#sd-data-collection-root .sd-data-collection-progress {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
#sd-data-collection-root .sd-data-collection-progress__track {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--sd-muted) 22%, transparent);
}
#sd-data-collection-root .sd-data-collection-progress__fill {
  height: 100%;
  width: 0%;
  max-width: 100%;
  border-radius: inherit;
  background: var(--sd-accent);
  transition: width 0.25s ease;
}
#sd-data-collection-root .sd-data-collection-progress__meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  color: var(--sd-text);
  line-height: 1.2;
}
#sd-data-collection-root .sd-data-collection-progress__units {
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-data-collection-th--actions,
#sd-data-collection-root .sd-data-collection-td--actions {
  white-space: nowrap;
  vertical-align: middle;
}

/* Sync Operations — mockup-style layout */
#sd-data-collection-root {
  --sd-dc-ops-running-track: var(--sd-home-workflow-progress-bg);
  --sd-dc-ops-running-fill: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-progress) 24%,
    var(--sd-home-workflow-progress-bg)
  );
  --sd-dc-ops-running-fg: var(--sd-home-workflow-progress-fg);
  --sd-dc-ops-running-icon: var(--sd-s1-kanban-accent-progress);
  --sd-dc-ops-running-border: var(--sd-home-workflow-progress-border);
  --sd-dc-ops-running-count-fg: var(--sd-muted);
  --sd-dc-ops-running-pct-fg: var(--sd-home-workflow-progress-fg);
}
#sd-data-collection-root .sd-dc-ops-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
#sd-data-collection-root .sd-dc-ops-head__text .sd-settings-section-title {
  margin: 0 0 6px;
}
#sd-data-collection-root .sd-dc-ops-head__text .sd-data-collection-tab-desc {
  margin: 0;
}
#sd-data-collection-root .sd-dc-ops-sync-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}
#sd-data-collection-root .sd-dc-ops-sync-all__icon {
  display: inline-flex;
  line-height: 0;
}
#sd-data-collection-root .sd-dc-ops-card {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
#sd-data-collection-root .sd-dc-ops-card .sd-stores-table-scroll-shell,
#sd-data-collection-root .sd-dc-ops-card .sd-data-collection-table-wrap {
  box-shadow: none;
}
/* Sync Operations split head: one separator via thead-wrap::after (match Stores; no per-th bottom border). */
#sd-data-collection-root #sd-data-collection-table-head.sd-stores-table--split-head thead th {
  border-bottom: none;
}
#sd-data-collection-root .sd-dc-ops-table tbody tr.sd-dc-ops-tr > td {
  padding-top: 16px;
  padding-bottom: 16px;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 80%, transparent);
}
#sd-data-collection-root .sd-dc-ops-table tbody tr.sd-dc-ops-tr:last-child > td {
  border-bottom: none;
}
#sd-data-collection-root .sd-dc-ops-type {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
#sd-data-collection-root .sd-dc-ops-type__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  flex-shrink: 0;
  color: var(--sd-accent);
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
#sd-data-collection-root .sd-dc-ops-type__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-data-collection-root .sd-dc-ops-type__name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--sd-text);
}
#sd-data-collection-root .sd-dc-ops-type__meta {
  font-size: 12px;
  line-height: 1.35;
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-dc-ops-last-run {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}
#sd-data-collection-root .sd-dc-ops-last-run__icon {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-dc-ops-last-run__icon--ok {
  color: #2e7d32;
}
#sd-data-collection-root .sd-dc-ops-last-run__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-data-collection-root .sd-dc-ops-last-run__primary {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--sd-text);
}
#sd-data-collection-root .sd-dc-ops-last-run--empty .sd-dc-ops-last-run__primary {
  font-weight: 500;
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-dc-ops-last-run__sub {
  font-size: 12px;
  line-height: 1.35;
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-dc-ops-td--duration {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#sd-data-collection-root .sd-dc-ops-status-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: var(--sd-dc-ops-status-badge-width, 10.5rem);
}
#sd-data-collection-root .sd-dc-ops-status {
  gap: 6px;
  white-space: nowrap;
  width: var(--sd-dc-ops-status-badge-width, 10.5rem);
  min-width: var(--sd-dc-ops-status-badge-width, 10.5rem);
  max-width: var(--sd-dc-ops-status-badge-width, 10.5rem);
  box-sizing: border-box;
  justify-content: center;
}
#sd-data-collection-root .sd-dc-ops-status--running.sd-upload-card__status-badge--pending {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: var(--sd-dc-ops-running-border);
  color: var(--sd-dc-ops-running-fg);
  font-weight: 600;
  background: var(--sd-dc-ops-running-track);
}
#sd-data-collection-root .sd-dc-ops-status--running.sd-upload-card__status-badge--pending::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--sd-dc-ops-running-pct, 0) * 1%);
  background: var(--sd-dc-ops-running-fill);
  border-radius: inherit;
  transition: width 0.35s ease;
  z-index: 0;
}
#sd-data-collection-root .sd-dc-ops-status--running .sd-dc-ops-status__content {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--sd-dc-ops-running-fg);
}
#sd-data-collection-root .sd-dc-ops-status--running .sd-dc-ops-status__icon {
  color: var(--sd-dc-ops-running-icon);
}
#sd-data-collection-root .sd-dc-ops-status__progress {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  font-size: 11px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#sd-data-collection-root .sd-dc-ops-status__progress--pct-only {
  justify-content: flex-end;
}
#sd-data-collection-root .sd-dc-ops-status__progress-count {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  color: var(--sd-dc-ops-running-count-fg, var(--sd-muted, #6b7280));
}
#sd-data-collection-root .sd-dc-ops-status__progress-pct {
  flex: 0 0 auto;
  text-align: right;
  font-weight: 600;
  color: var(--sd-dc-ops-running-pct-fg, var(--sd-home-workflow-progress-fg));
}
#sd-data-collection-root .sd-dc-ops-status__icon {
  display: inline-flex;
  line-height: 0;
  flex-shrink: 0;
}
#sd-data-collection-root .sd-dc-ops-schedule {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
#sd-data-collection-root .sd-dc-ops-schedule--empty {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
#sd-data-collection-root .sd-dc-ops-schedule__icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--sd-accent);
}
#sd-data-collection-root .sd-dc-ops-schedule__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
#sd-data-collection-root .sd-dc-ops-schedule__primary {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--sd-text);
}
#sd-data-collection-root .sd-dc-ops-schedule__sub {
  font-size: 12px;
  line-height: 1.35;
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-dc-ops-schedule__edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-data-collection-root .sd-dc-ops-schedule__edit:hover {
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
  color: var(--sd-text);
}
#sd-data-collection-root .sd-dc-ops-schedule-popover {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 30;
  min-width: 220px;
}
#sd-data-collection-root .sd-dc-ops-schedule-popover__inner {
  padding: 12px;
  border: 1px solid var(--sd-border);
  border-radius: 10px;
  background: var(--sd-surface);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
#sd-data-collection-root .sd-dc-ops-schedule-popover__enable {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
#sd-data-collection-root .sd-dc-ops-schedule-popover__fields {
  display: flex;
  gap: 8px;
}
#sd-data-collection-root .sd-dc-ops-schedule-popover__fields .sd-data-collection-schedule__day,
#sd-data-collection-root .sd-dc-ops-schedule-popover__fields .sd-data-collection-schedule__time {
  flex: 1;
  min-height: 34px;
  padding: 6px 8px;
  font-size: 13px;
}
#sd-data-collection-root .sd-dc-ops-schedule-popover__hint {
  margin: 8px 0 0;
  font-size: 11px;
  color: var(--sd-muted);
}
#sd-data-collection-root .sd-dc-ops-schedule:not(:has(.sd-data-collection-schedule__enabled:checked)) .sd-dc-ops-schedule-popover__fields {
  opacity: 0.45;
  pointer-events: none;
}
#sd-data-collection-root .sd-dc-ops-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#sd-data-collection-root .sd-dc-ops-sync-btn {
  min-width: 72px;
  border-color: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-border));
  color: var(--sd-accent);
  font-weight: 600;
}
#sd-data-collection-root .sd-dc-ops-sync-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--sd-accent) 55%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
}
#sd-data-collection-root .sd-dc-ops-menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-data-collection-root .sd-dc-ops-menu-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
  color: var(--sd-text);
}
#sd-data-collection-root .sd-dc-ops-menu-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
#sd-data-collection-root .sd-dc-ops-footnote {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
  border: 1px solid color-mix(in srgb, var(--sd-accent) 18%, var(--sd-border));
}
#sd-data-collection-root .sd-dc-ops-footnote__icon {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--sd-accent);
}
#sd-data-collection-root .sd-dc-ops-footnote__text {
  font-size: 13px;
  line-height: 1.5;
  color: var(--sd-text);
}
#sd-data-collection-root .sd-dc-ops-footnote__text strong {
  display: block;
  margin-bottom: 2px;
  font-size: 13px;
  font-weight: 700;
}
html.theme-dark #sd-data-collection-root .sd-dc-ops-card {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
html.theme-dark #sd-data-collection-root .sd-dc-ops-last-run__icon--ok {
  color: #81c784;
}
html.theme-shelfy #sd-data-collection-root .sd-dc-ops-card {
  background: #ffffff;
}
html.theme-shelfy #sd-data-collection-root .sd-dc-ops-schedule-popover__inner {
  background: #ffffff;
}

/* ShelfyBot chat */
/* Page root: flex so recent-conversations can sit in-flow beside main (all breakpoints). */
#sd-shelfybot-page-root.sd-shelfybot-page {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
/* Recent conversations closed: never let .sd-shelfybot-history { display:flex } win over [hidden]. */
#sd-shelfybot-history-panel[hidden] {
  display: none !important;
}
/* History open: facet column + main ? in-flow push (same idea as Stores quick filters), not fixed overlay. */
#sd-shelfybot-page-root.sd-stores-facet--open {
  flex-direction: row;
  align-items: stretch;
  gap: 14px;
  padding-left: 0;
}
#sd-shelfybot-page-root.sd-stores-facet--open #sd-shelfybot-history-panel.sd-stores-facet.sd-shelfybot-history {
  position: static;
  flex: 0 0 min(300px, 88vw);
  width: min(300px, 88vw);
  max-width: min(300px, 88vw);
  height: auto;
  max-height: none;
  min-height: 0;
  align-self: stretch;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  z-index: auto;
}
#sd-shelfybot-page-root.sd-stores-facet--open > .sd-shelfybot-page__main {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  /* Offset .sd-content padding pulled in when history is open (see .sd-content:has below). */
  padding-top: 20px;
  padding-left: 24px;
  box-sizing: border-box;
}
/* Recent conversations open: pull history strip to content edges (full ShelfyBot page only ? not home popup). */
.sd-content:has(> #sd-shelfybot-page-root.sd-stores-facet--open) {
  padding-top: 0;
  padding-left: 0;
  padding-right: 24px;
}
/* Desktop: main column becomes a flex column so the chat grid fills space below the title (see .sd-shelfybot-page). */
@media (min-width: 981px) {
  .sd-content:has(> .sd-shelfybot-page) {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* Flush to bottom of main column ? no gap under the history / chat shell. */
    padding: 20px 24px 0;
  }
  /* Must follow the rule above so top/left padding are not reset by the ShelfyBot shorthand. */
  .sd-content:has(> #sd-shelfybot-page-root.sd-stores-facet--open) {
    padding-top: 0;
    padding-left: 0;
    padding-right: 24px;
    padding-bottom: 0;
  }
  .sd-shelfybot-page {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
  }
  .sd-shelfybot-page > .sd-shelfybot-page__main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    align-self: stretch;
  }
  .sd-shelfybot-page > .sd-shelfybot-page__main > .sd-page-desc {
    margin-bottom: 14px;
  }
  .sd-shelfybot-page > .sd-shelfybot-page__main > .sd-shelfybot-layout {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    align-self: stretch;
  }
}
.sd-shelfybot-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-height: 300px;
}
/* History + chat cards fill the grid row; inner lists scroll. */
@media (min-width: 981px) {
  .sd-shelfybot-history,
  .sd-shelfybot {
    min-height: 0;
    height: 100%;
    max-height: 100%;
  }
}
.sd-shelfybot-history {
  /* Vertical gap between conversation cards; same inset before the scrollbar on __list. */
  --sd-shelfybot-history-card-gap: 10px;
  --sd-shelfybot-history-scrollbar-reserve: var(--sd-shelfybot-history-card-gap);
  width: 280px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-bg);
  box-shadow: var(--sd-shadow);
  overflow: hidden;
  transition: width 0.2s ease;
}

/* ShelfyBot page: inline history ? same edge treatment as Shelves quick filters (single right border, no card frame). */
.sd-shelfybot-page .sd-shelfybot-history {
  border: none;
  box-shadow: none;
  border-radius: 0;
}
#sd-shelfybot-page-root #sd-shelfybot-history-panel.sd-stores-facet.sd-shelfybot-history {
  border: none;
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  box-shadow: none;
}

/* Conversation cards: no drop shadow (avoids a dark vertical band); hover/active stay border-only. */
.sd-shelfybot-page .sd-shelfybot-history__item,
.sd-shelfybot-page .sd-shelfybot-history__item:hover,
.sd-shelfybot-page .sd-shelfybot-history__item:focus-within,
.sd-shelfybot-page .sd-shelfybot-history__item.is-active,
.sd-shelfybot-page .sd-shelfybot-history__item.is-active:hover {
  box-shadow: none;
}
html.theme-dark .sd-shelfybot-page .sd-shelfybot-history__item:hover,
html.theme-dark .sd-shelfybot-page .sd-shelfybot-history__item:focus-within,
html.theme-dark .sd-shelfybot-page .sd-shelfybot-history__item.is-active:hover {
  box-shadow: none;
}

/* ShelfyBot page: transcript aligns with .sd-page-desc (no extra left gutter inside the card). */
.sd-shelfybot-page .sd-shelfybot-messages {
  padding-left: 0;
}

/* Full-width chat when recent conversations panel is closed (no left facet padding). */
#sd-shelfybot-page-root:not(.sd-stores-facet--open) .sd-shelfybot-messages {
  padding-left: 0;
}
#sd-shelfybot-page-root:not(.sd-stores-facet--open) .sd-shelfybot-composer {
  padding-left: 0;
  padding-right: 12px;
}
#sd-shelfybot-page-root:not(.sd-stores-facet--open) .sd-shelfybot-composer__row {
  /* Same inset on every side when the facet strip is closed. */
  padding: 6px;
}

/* ShelfyBot page: no rule above the composer; no extra gap above the input row; match messages horizontal inset. */
.sd-shelfybot-page .sd-shelfybot-composer {
  padding-top: 0;
  border-top: none;
  padding-left: 0;
  padding-right: 12px;
}
#sd-shelfybot-history-panel .sd-shelfybot-history__facet-inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
}
#sd-shelfybot-history-panel .sd-shelfybot-history__body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#sd-shelfybot-history-panel .sd-stores-facet__head {
  flex-shrink: 0;
}
/* Horizontal inset comes from .sd-stores-facet__inner (same as Shelves quick filters). */
.sd-shelfybot-history__search-wrap {
  flex-shrink: 0;
  padding: 0 0 10px;
  margin: 0;
  box-sizing: border-box;
}
.sd-shelfybot-history__search {
  width: 100%;
  box-sizing: border-box;
}
/* Light themes: ?Search chats?? sits on cream/white facet ? deepen edge so it reads as a field */
#sd-shelfybot-history-panel .sd-shelfybot-history__search.sd-input {
  border-color: color-mix(in srgb, var(--sd-text) 32%, var(--sd-border));
}
html.theme-dark #sd-shelfybot-history-panel .sd-shelfybot-history__search.sd-input,
html.theme-path #sd-shelfybot-history-panel .sd-shelfybot-history__search.sd-input,
html.theme-greenday #sd-shelfybot-history-panel .sd-shelfybot-history__search.sd-input {
  border-color: var(--sd-border);
}
.sd-shelfybot-history__item-main {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 8px 6px 8px 8px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  border-radius: 6px 0 0 6px;
}
.sd-shelfybot-history__item-tools {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  padding: 4px 4px 4px 0;
  flex: 0 0 auto;
}
.sd-shelfybot-history__more {
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  transform: translateX(-4px);
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s ease, background 0.12s ease, color 0.12s ease;
}
.sd-shelfybot-history__item:hover .sd-shelfybot-history__more,
.sd-shelfybot-history__item:focus-within .sd-shelfybot-history__more,
.sd-shelfybot-history__item.is-menu-open .sd-shelfybot-history__more {
  opacity: 1;
}
.sd-shelfybot-history__item:hover .sd-shelfybot-history__more:hover {
  background: transparent;
  color: var(--sd-text);
}
.sd-shelfybot-history__item:not(:hover) .sd-shelfybot-history__more:hover {
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
  color: var(--sd-text);
}
.sd-shelfybot-history__more:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 1px;
  background: transparent;
}
@media (hover: none) {
  .sd-shelfybot-history__more {
    opacity: 1;
  }
}
.sd-shelfybot-history-menu {
  position: fixed;
  z-index: 3000;
  min-width: 200px;
  padding: 6px 0;
  margin: 0;
  border: 1px solid var(--sd-border);
  border-radius: 10px;
  background: var(--sd-surface);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
html.theme-dark .sd-shelfybot-history-menu {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
.sd-shelfybot-history-menu__item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: transparent;
  color: var(--sd-text);
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.sd-shelfybot-history-menu__label {
  color: inherit;
}
.sd-shelfybot-history-menu__item:hover {
  /* Match nav / table hovers: tint surface with text (transparent mixes poorly across themes). */
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
}
.sd-shelfybot-history-menu__item:focus-visible {
  outline: none;
  background: color-mix(in srgb, var(--sd-text) 12%, var(--sd-surface));
}
.sd-shelfybot-history-menu__item:hover .sd-shelfybot-history-menu__icon {
  color: color-mix(in srgb, var(--sd-text) 55%, var(--sd-muted));
}
.sd-shelfybot-history-menu__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--sd-muted);
}
.sd-shelfybot-history-menu__icon-svg {
  display: block;
}
.sd-shelfybot-history-menu__item--danger,
.sd-shelfybot-history-menu__item--danger .sd-shelfybot-history-menu__icon {
  color: #b71c1c;
}
.sd-shelfybot-history-menu__item--danger:hover {
  background: color-mix(in srgb, #b71c1c 14%, var(--sd-surface));
}
.sd-shelfybot-history-menu__item--danger:hover .sd-shelfybot-history-menu__icon {
  color: #b71c1c;
}
html.theme-dark .sd-shelfybot-history-menu__item--danger,
html.theme-dark .sd-shelfybot-history-menu__item--danger .sd-shelfybot-history-menu__icon {
  color: #ffab91;
}
html.theme-dark .sd-shelfybot-history-menu__item--danger:hover {
  background: color-mix(in srgb, #ff8a65 18%, var(--sd-surface));
}
html.theme-dark .sd-shelfybot-history-menu__item--danger:hover .sd-shelfybot-history-menu__icon {
  color: #ffab91;
}
html.theme-greenday .sd-shelfybot-history-menu__item--danger,
html.theme-greenday .sd-shelfybot-history-menu__item--danger .sd-shelfybot-history-menu__icon {
  color: #ffcdd2;
}
html.theme-greenday .sd-shelfybot-history-menu__item--danger:hover {
  background: color-mix(in srgb, #e57373 20%, var(--sd-surface));
}
html.theme-greenday .sd-shelfybot-history-menu__item--danger:hover .sd-shelfybot-history-menu__icon {
  color: #ffcdd2;
}
html.theme-path .sd-shelfybot-history-menu__item--danger,
html.theme-path .sd-shelfybot-history-menu__item--danger .sd-shelfybot-history-menu__icon {
  color: #ffb4b4;
}
html.theme-path .sd-shelfybot-history-menu__item--danger:hover {
  background: color-mix(in srgb, #ff8a80 16%, var(--sd-surface));
}
html.theme-path .sd-shelfybot-history-menu__item--danger:hover .sd-shelfybot-history-menu__icon {
  color: #ffb4b4;
}
.sd-shelfybot-history-menu__item--danger:focus-visible {
  background: color-mix(in srgb, #b71c1c 16%, var(--sd-surface));
}
html.theme-dark .sd-shelfybot-history-menu__item--danger:focus-visible {
  background: color-mix(in srgb, #ff8a65 20%, var(--sd-surface));
}
html.theme-greenday .sd-shelfybot-history-menu__item--danger:focus-visible {
  background: color-mix(in srgb, #e57373 22%, var(--sd-surface));
}
html.theme-path .sd-shelfybot-history-menu__item--danger:focus-visible {
  background: color-mix(in srgb, #ff8a80 18%, var(--sd-surface));
}
.sd-shelfybot-history__list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  /* No stable gutter ? track sits flush on the list?s right edge; padding = card vertical gap before scrollbar. */
  scrollbar-gutter: auto;
  box-sizing: border-box;
  padding: 6px 0 8px;
}
.sd-shelfybot-history__empty {
  color: var(--sd-muted);
  font-size: 12px;
  padding: 14px 0;
  text-align: center;
}
.sd-shelfybot-history__item {
  display: flex;
  align-items: stretch;
  gap: 2px;
  width: 100%;
  border: 1px solid var(--sd-border);
  border-radius: 12px;
  margin: 0 0 var(--sd-shelfybot-history-card-gap);
  background: var(--sd-surface);
  color: var(--sd-text);
  box-sizing: border-box;
  box-shadow: var(--sd-shadow);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background 0.15s ease;
}
.sd-shelfybot-history__item:last-child {
  margin-bottom: 0;
}
.sd-shelfybot-history__item:hover {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
}
html.theme-dark .sd-shelfybot-history__item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}
.sd-shelfybot-history__item:focus-within {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
}
html.theme-dark .sd-shelfybot-history__item:focus-within {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}
.sd-shelfybot-history__item.is-active {
  border-color: color-mix(in srgb, var(--sd-accent) 55%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
  box-shadow: var(--sd-shadow);
}
.sd-shelfybot-history__item.is-active:hover {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.14);
  transform: translateY(-1px);
}
html.theme-dark .sd-shelfybot-history__item.is-active {
  background: rgba(230, 216, 195, 0.06);
}
html.theme-dark .sd-shelfybot-history__item.is-active:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.38);
}
.sd-shelfybot-history__item-title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}
.sd-shelfybot-history__item-subtitle {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--sd-muted);
}
.sd-shelfybot {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  width: 100%;
  min-height: 520px;
  max-width: 100%;
  border: none;
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-shadow: none;
  overflow: hidden;
}
@media (min-width: 981px) {
  .sd-shelfybot {
    min-height: 0;
  }
}
/* Chat column: transcript scrolls, or empty-session art when there are no messages yet. */
.sd-shelfybot-chat {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
}
.sd-shelfybot-chat--empty .sd-shelfybot-messages {
  display: none;
}
.sd-shelfybot-empty-session {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 12px 14px;
  box-sizing: border-box;
}
.sd-shelfybot-empty-session[hidden] {
  display: none !important;
}
.sd-shelfybot-chat--empty .sd-shelfybot-empty-session {
  display: flex;
}
.sd-shelfybot-empty-session__img {
  display: block;
  width: auto;
  max-width: min(252px, 81%);
  height: auto;
  margin: 0 auto;
  border-radius: 12px;
  object-fit: contain;
  opacity: 0.9;
  filter: drop-shadow(0 3px 8px rgba(15, 23, 42, 0.12)) drop-shadow(0 1px 3px rgba(160, 130, 100, 0.15));
}
html.theme-dark .sd-shelfybot-empty-session__img {
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}
/* Full ShelfyBot page: mascot uses ~75% of the vertical slot between description and composer (chat column). */
main.sd-content #sd-shelfybot-page-root .sd-shelfybot-chat--empty .sd-shelfybot-empty-session {
  flex: 1 1 auto;
  min-height: 120px;
  max-height: none;
}
main.sd-content #sd-shelfybot-page-root .sd-shelfybot-chat--empty .sd-shelfybot-empty-session__img {
  max-height: 67.5%;
  max-width: min(86.4%, 432px);
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.9;
}
/* Full ShelfyBot page (in main content): no extra “card” surface behind chat — match messages strip. */
main.sd-content #sd-shelfybot-page-root .sd-shelfybot {
  background: var(--sd-bg);
  background-image: none;
}
main.sd-content #sd-shelfybot-page-root .sd-shelfybot-chat,
main.sd-content #sd-shelfybot-page-root .sd-shelfybot-empty-session {
  background: var(--sd-bg);
  background-image: none;
}
.sd-shelfybot-messages {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px 16px 24px;
  padding-right: 12px;
  box-sizing: border-box;
  background: var(--sd-bg);
  background-image: none;
  font-size: 13px;
  line-height: 1.5;
}
/* Thin overlay scrollbars: invisible until hover/focus-within (still mouse-wheel scrollable). */
.sd-shelfybot-history__list,
.sd-shelfybot-messages {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}
.sd-shelfybot-history__list:hover,
.sd-shelfybot-messages:hover,
.sd-shelfybot-history__list:focus-within,
.sd-shelfybot-messages:focus-within {
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 45%, var(--sd-border)) transparent;
}
.sd-shelfybot-history__list::-webkit-scrollbar,
.sd-shelfybot-messages::-webkit-scrollbar {
  width: 8px;
}
.sd-shelfybot-history__list::-webkit-scrollbar-track,
.sd-shelfybot-messages::-webkit-scrollbar-track {
  background: transparent;
}
.sd-shelfybot-history__list::-webkit-scrollbar-thumb,
.sd-shelfybot-messages::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.sd-shelfybot-history__list:hover::-webkit-scrollbar-thumb,
.sd-shelfybot-messages:hover::-webkit-scrollbar-thumb,
.sd-shelfybot-history__list:focus-within::-webkit-scrollbar-thumb,
.sd-shelfybot-messages:focus-within::-webkit-scrollbar-thumb {
  background-color: color-mix(in srgb, var(--sd-muted) 40%, var(--sd-border));
}
html.theme-dark .sd-shelfybot-history__list:hover,
html.theme-dark .sd-shelfybot-messages:hover,
html.theme-dark .sd-shelfybot-history__list:focus-within,
html.theme-dark .sd-shelfybot-messages:focus-within {
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 50%, var(--sd-border)) transparent;
}
html.theme-dark .sd-shelfybot-history__list:hover::-webkit-scrollbar-thumb,
html.theme-dark .sd-shelfybot-messages:hover::-webkit-scrollbar-thumb,
html.theme-dark .sd-shelfybot-history__list:focus-within::-webkit-scrollbar-thumb,
html.theme-dark .sd-shelfybot-messages:focus-within::-webkit-scrollbar-thumb {
  background-color: color-mix(in srgb, var(--sd-muted) 45%, #555);
}
.sd-shelfybot-empty {
  font-size: 13px;
  color: var(--sd-muted);
  padding: 56px 8px;
  text-align: center;
}
/* User / assistant blocks use full width of the chat column */
.sd-shelfybot-msg {
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 0;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
}
.sd-shelfybot-msg:last-child {
  margin-bottom: 0;
}
.sd-shelfybot-msg--user {
  padding: 12px 14px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--sd-muted) 9%, var(--sd-bg));
  border: 1px solid color-mix(in srgb, var(--sd-border) 85%, transparent);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--sd-text) 4%, transparent);
}
.sd-shelfybot-msg--assistant {
  padding: 4px 0 4px 14px;
  border-left: 3px solid color-mix(in srgb, var(--sd-accent) 55%, var(--sd-border));
  border-radius: 0 8px 8px 0;
  background: transparent;
  box-shadow: none;
}
html.theme-dark .sd-shelfybot-msg--assistant {
  border-left-color: color-mix(in srgb, var(--sd-accent) 45%, #444);
  background: transparent;
}
.sd-shelfybot-msg--pending .sd-shelfybot-msg__text {
  color: var(--sd-muted);
}
.sd-shelfybot-msg__role-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.sd-shelfybot-msg__role-row .sd-shelfybot-msg__role {
  margin-bottom: 0;
}
.sd-shelfybot-msg__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 2px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  opacity: 0.42;
  line-height: 0;
  transition: opacity 0.12s ease, color 0.12s ease, background 0.12s ease;
}
.sd-shelfybot-msg__copy:hover {
  opacity: 0.95;
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
}
.sd-shelfybot-msg__copy:focus-visible {
  opacity: 1;
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, var(--sd-border));
  outline-offset: 1px;
}
.sd-shelfybot-msg__copy-icon {
  width: 14px;
  height: 14px;
  display: block;
}
.sd-shelfybot-msg__role {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--sd-muted);
  margin-bottom: 8px;
  opacity: 0.9;
}
.sd-shelfybot-msg__text {
  font-size: 13px;
  line-height: 1.55;
  color: var(--sd-text);
  word-break: break-word;
}
.sd-shelfybot-msg__text p {
  margin: 0 0 8px;
}
.sd-shelfybot-msg__text p:last-child {
  margin-bottom: 0;
}
.sd-shelfybot-msg__text ul {
  margin: 0 0 8px;
  padding-left: 20px;
}
.sd-shelfybot-msg__text li {
  margin: 2px 0;
}
.sd-shelfybot-msg__text h1,
.sd-shelfybot-msg__text h2,
.sd-shelfybot-msg__text h3 {
  margin: 0 0 8px;
  line-height: 1.3;
}
.sd-shelfybot-msg__text h1 {
  font-size: 18px;
}
.sd-shelfybot-msg__text h2 {
  font-size: 16px;
}
.sd-shelfybot-msg__text h3 {
  font-size: 15px;
}
.sd-shelfybot-msg__text code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  padding: 1px 5px;
  border-radius: 5px;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
}
.sd-shelfybot-msg__text pre {
  margin: 0 0 8px;
  padding: 10px;
  border-radius: 8px;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  overflow-x: auto;
}
.sd-shelfybot-msg__text pre code {
  background: transparent;
  border: 0;
  padding: 0;
  border-radius: 0;
}
.sd-shelfybot-msg__text a {
  color: var(--sd-accent);
  text-decoration: underline;
}
.sd-shelfybot-msg__text .sd-shelfybot-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 10px;
  -webkit-overflow-scrolling: touch;
}
.sd-shelfybot-msg__text .sd-shelfybot-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  line-height: 1.4;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--sd-surface);
}
.sd-shelfybot-msg__text .sd-shelfybot-table th,
.sd-shelfybot-msg__text .sd-shelfybot-table td {
  border: 1px solid var(--sd-border);
  padding: 6px 8px;
  text-align: left;
  vertical-align: top;
}
.sd-shelfybot-msg__text .sd-shelfybot-table thead th {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
  font-weight: 600;
  color: var(--sd-text);
}
html.theme-dark .sd-shelfybot-msg__text .sd-shelfybot-table thead th {
  background: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-bg));
}
.sd-shelfybot-msg__text .sd-shelfybot-image {
  margin: 0 0 10px;
}
.sd-shelfybot-msg__text .sd-shelfybot-image__img {
  display: block;
  width: 100%;
  max-width: min(640px, 100%);
  max-height: 420px;
  object-fit: contain;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  background: var(--sd-bg);
}
.sd-shelfybot-msg__text .sd-shelfybot-image figcaption {
  margin-top: 4px;
  font-size: 11px;
  color: var(--sd-muted);
}
.sd-shelfybot-composer {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px 16px 8px;
  border-top: 1px solid var(--sd-border);
  background: var(--sd-bg);
}
.sd-shelfybot-composer__row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  /* Equal inset above, below, and to the right of the action buttons; extra left for the textarea. */
  padding: 6px 6px 6px 10px;
  /* Match Stores toolbar search (.sd-input) field chrome. */
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-surface);
  box-shadow: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sd-shelfybot-composer__row:focus-within {
  border-color: var(--sd-input-focus-border);
  box-shadow: var(--sd-input-focus-ring);
}
.sd-shelfybot-composer__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  align-self: center;
  margin: 0;
  padding: 0;
  min-width: 0;
}
html.theme-dark .sd-shelfybot-composer__row {
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  border-color: var(--sd-border);
  box-shadow: none;
}
.sd-shelfybot-composer__row .sd-shelfybot-input.sd-input {
  flex: 1 1 0%;
  align-self: center;
  min-width: 0;
  /* One line + vertical padding ? collapsed default; rows="1" in markup; user can still resize vertically. */
  min-height: calc(1.45em + 12px);
  max-height: min(40vh, 280px);
  resize: vertical;
  border: none;
  border-radius: 6px;
  background: transparent;
  padding: 6px 6px;
  font-size: 13px;
  line-height: 1.45;
  box-shadow: none;
  outline: none;
}
/* Inner textarea: chrome lives on .sd-shelfybot-composer__row:focus-within */
.sd-shelfybot-composer__row .sd-shelfybot-input.sd-input:focus,
.sd-shelfybot-composer__row .sd-shelfybot-input.sd-input:focus-visible {
  border: none;
  outline: none;
  box-shadow: none;
}
html.theme-dark .sd-shelfybot-composer__row .sd-shelfybot-input.sd-input {
  background: transparent;
}
.sd-shelfybot-composer__row .sd-shelfybot-composer__new,
.sd-shelfybot-composer__row .sd-shelfybot-composer__history-toggle,
.sd-shelfybot-composer__row .sd-btn--primary {
  flex: 0 0 auto;
  align-self: center;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  min-height: 40px;
  border-radius: 8px;
  font-size: 13px;
}
.sd-shelfybot-composer__row .sd-shelfybot-composer__new {
  padding: 0 12px;
}
.sd-shelfybot-composer__row .sd-btn--primary {
  padding: 0 14px;
}
.sd-shelfybot-composer__history-toggle {
  min-width: 40px;
  width: 40px;
  padding: 0;
  gap: 0;
  color: var(--sd-text);
}
.sd-shelfybot-composer__history-toggle:hover {
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
}
.sd-shelfybot-composer__history-toggle[aria-pressed="false"] {
  color: var(--sd-muted);
}
.sd-shelfybot-composer__history-toggle-svg {
  display: block;
  width: calc(32px * 0.8);
  height: calc(32px * 0.8);
  flex-shrink: 0;
}
.sd-shelfybot-provider-meta {
  margin: 6px 0 1em;
  font-size: 12px;
  line-height: 1.45;
  color: var(--sd-muted);
}
.sd-shelfybot-provider-meta strong {
  font-weight: 600;
}
/* Match first-line text in the composer textarea: .sd-shelfybot-composer__row pad-left + textarea pad-left */
.sd-shelfybot-page .sd-shelfybot-composer .sd-shelfybot-provider-meta,
.sd-shelfybot-page .sd-shelfybot-composer .sd-shelfybot-hint {
  box-sizing: border-box;
  padding-left: calc(10px + 6px);
}
#sd-shelfybot-page-root:not(.sd-stores-facet--open) .sd-shelfybot-composer .sd-shelfybot-provider-meta,
#sd-shelfybot-page-root:not(.sd-stores-facet--open) .sd-shelfybot-composer .sd-shelfybot-hint {
  padding-left: calc(6px + 6px);
}
.sd-shelfybot-hint {
  width: 100%;
  max-width: 100%;
  margin: 0;
  font-size: 12px;
  color: var(--sd-muted);
  min-height: 1.2em;
}
.sd-shelfybot-hint:empty {
  margin: 0;
  min-height: 0;
}
.sd-shelfybot-loading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sd-shelfybot-loading__spinner {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid var(--sd-border);
  border-top-color: var(--sd-accent);
  animation: sd-shelfybot-spin 0.8s linear infinite;
}
@keyframes sd-shelfybot-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 980px) {
  .sd-shelfybot-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 0;
    height: auto;
    max-height: none;
  }
  .sd-shelfybot {
    height: auto;
    max-height: none;
  }
  #sd-shelfybot-history-panel.sd-stores-facet .sd-shelfybot-history__list {
    max-height: none;
  }
  .sd-shelfybot-messages {
    min-height: 240px;
    max-height: min(70vh, calc(100vh - 320px));
  }
  main.sd-content #sd-shelfybot-page-root .sd-shelfybot-chat--empty .sd-shelfybot-empty-session {
    min-height: min(44vh, 300px);
  }
  main.sd-content #sd-shelfybot-page-root .sd-shelfybot-chat--empty .sd-shelfybot-empty-session__img {
    max-height: min(67.5%, 56.7vh);
    max-width: min(82.8%, 324px);
  }
  .sd-shelfybot-composer__row {
    flex-wrap: wrap;
  }
}

.sd-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
}
.sd-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.sd-table th,
.sd-table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid var(--sd-border);
}
.sd-table th {
  background: var(--sd-bg);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
}
.sd-shelf-sort-th {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.sd-shelf-sort-th:hover {
  color: var(--sd-text);
}
.sd-shelf-sort-th:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.sd-shelf-sort-th--active {
  color: var(--sd-text);
}
.sd-table tr:last-child td {
  border-bottom: none;
}
.sd-table tr:hover td {
  background: var(--sd-hover-table-cell-bg);
}

/* Buttons */
.sd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: inherit;
}
.sd-btn--primary {
  background: var(--sd-accent);
  color: var(--sd-btn-primary-fg);
  border-color: var(--sd-accent);
}
.sd-btn--primary:hover {
  background: var(--sd-accent-hover);
  color: var(--sd-btn-primary-hover-fg);
}
.sd-btn--secondary {
  background: var(--sd-surface);
  border-color: var(--sd-border);
  color: var(--sd-text);
}
.sd-btn--secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-border));
  color: var(--sd-text);
}
.sd-btn--ghost {
  background: transparent;
  border-color: var(--sd-border);
  color: var(--sd-text);
}
.sd-btn--ghost:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 35%, var(--sd-border));
  color: var(--sd-text);
}
.sd-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Filter bar (Linear-style) */
.sd-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.sd-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  font-size: 12px;
}
.sd-filter-chip button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 2px;
  font-size: 14px;
  line-height: 1;
  color: var(--sd-muted);
}
.sd-filter-add {
  position: relative;
}
.sd-filter-popover {
  position: absolute;
  z-index: 50;
  top: 100%;
  left: 0;
  margin-top: 4px;
  min-width: 280px;
  padding: 12px;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.sd-filter-popover label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--sd-muted);
  margin-bottom: 4px;
}
.sd-filter-popover select,
.sd-filter-popover input {
  width: 100%;
  margin-bottom: 8px;
  padding: 6px 8px;
  border: 1px solid var(--sd-border);
  border-radius: 4px;
  background: var(--sd-bg);
  color: var(--sd-text);
}

/* Uploads tab: full-width primary/secondary row (aligned with classic Shelfy uploads) */
.sd-uploads-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  width: 100%;
  margin-bottom: 12px;
  box-sizing: border-box;
}
.sd-uploads-actions-row--buttons {
  margin-bottom: 0;
}
.sd-uploads-progress-wrap[hidden] + .sd-uploads-actions-row--cards {
  margin-top: 12px;
}
.sd-uploads-actions-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sd-uploads-action-btn {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Uploads: count cards under primary/secondary buttons (classic Shelfy) */
.sd-uploads-status-cards-under-add,
.sd-uploads-status-cards-under-download {
  display: flex;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  align-items: stretch;
}
.sd-uploads-status-cards-under-add .sd-uploads-status-card,
.sd-uploads-status-cards-under-download .sd-uploads-status-card {
  flex: 1 1 0;
  min-width: 0;
}
.sd-uploads-status-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  border-radius: 8px;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  box-sizing: border-box;
  transition: opacity 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.sd-uploads-status-card__num {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--sd-text);
}
.sd-uploads-status-card__label {
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  color: var(--sd-muted);
  margin-top: 2px;
}
.sd-uploads-status-card--zero {
  opacity: 0.55;
}
.sd-uploads-status-card--zero .sd-uploads-status-card__num,
.sd-uploads-status-card--zero .sd-uploads-status-card__label {
  color: var(--sd-muted);
}
.sd-uploads-status-card--clickable {
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}
.sd-uploads-status-card--clickable:hover {
  opacity: 0.92;
  border-color: var(--sd-accent);
}
.sd-uploads-status-card--active {
  border-color: var(--sd-accent);
  box-shadow: 0 0 0 1px rgba(196, 30, 58, 0.22);
}
html.theme-dark .sd-uploads-status-card--active {
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.28);
}
.sd-uploads-subfilter-row {
  flex: 1 1 100%;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 4px;
  box-sizing: border-box;
}
.sd-uploads-subfilter-row[hidden] {
  display: none !important;
}
.sd-uploads-subfilter-badge {
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  color: var(--sd-text);
  cursor: pointer;
  font-family: inherit;
}
.sd-uploads-subfilter-badge:hover {
  border-color: var(--sd-accent);
}
.sd-uploads-subfilter-badge--active {
  border-color: var(--sd-accent);
  box-shadow: 0 0 0 1px rgba(196, 30, 58, 0.2);
}
html.theme-dark .sd-uploads-subfilter-badge--active {
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.28);
}
.sd-uploads-subfilter-badge--zero {
  opacity: 0.55;
}
@media (max-width: 560px) {
  .sd-uploads-actions-col {
    flex: 1 1 100%;
  }
}

/* Products tab: Add Product + Download Products row (classic Shelfy products-actions-row) */
.sd-products-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  width: 100%;
  margin-bottom: 12px;
  box-sizing: border-box;
}

/* Products catalog page: KPI count cards above search */
#sd-prod-page-root .sd-prod-counts-panel {
  margin-top: 8px;
  margin-bottom: 8px;
}
#sd-prod-page-root .sd-prod-counts-panel[hidden] {
  display: none !important;
}
#sd-prod-page-root .sd-prod-counts-panel[hidden] + .sd-toolbar--prod-counts {
  /* Same desc → search gap as Categories (.sd-stores-page .sd-toolbar--stores). */
  margin-top: 12px;
}
#sd-prod-page-root .sd-toolbar--prod-counts {
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
#sd-prod-page-root .sd-toolbar--prod-counts .sd-stores-toolbar__search {
  flex: 1 1 auto;
  min-width: 0;
}
/* Free-standing tiles that each carry the Overview KPI chrome: same card border/radius/
   shadow as .sd-shelf-overview__summary-card, same tinted icon disc as __kpi-icon. */
#sd-prod-page-root .sd-prod-counts-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  margin: 0;
}
#sd-prod-page-root .sd-prod-counts-cards .sd-uploads-status-card {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-shadow: var(--sd-shadow);
  text-align: left;
}
html.theme-shelfy #sd-prod-page-root .sd-prod-counts-cards .sd-uploads-status-card {
  background: #ffffff;
}
#sd-prod-page-root .sd-prod-counts-card__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  /* --sd-overview-well is scoped to .sd-shelf-overview, so restate its value here. */
  background: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  color: var(--sd-accent);
  box-sizing: border-box;
}
#sd-prod-page-root .sd-prod-counts-card__icon svg {
  width: 17px;
  height: 17px;
}
#sd-prod-page-root .sd-prod-counts-card--products .sd-prod-counts-card__icon {
  background: var(--sd-overview-products-bg);
  color: var(--sd-overview-products-fg);
}
#sd-prod-page-root .sd-prod-counts-card--brands .sd-prod-counts-card__icon {
  background: var(--sd-overview-imports-bg);
  color: var(--sd-overview-imports-fg);
}
#sd-prod-page-root .sd-prod-counts-card--categories .sd-prod-counts-card__icon {
  background: color-mix(in srgb, var(--sd-overview-bar-1) 14%, var(--sd-surface));
  color: var(--sd-overview-bar-1);
}
#sd-prod-page-root .sd-prod-counts-card--departments .sd-prod-counts-card__icon {
  background: color-mix(in srgb, var(--sd-overview-bar-3) 16%, var(--sd-surface));
  color: var(--sd-overview-bar-3);
}
#sd-prod-page-root .sd-prod-counts-card__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-prod-page-root .sd-prod-counts-cards .sd-uploads-status-card__num {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--sd-text);
  white-space: nowrap;
}
#sd-prod-page-root .sd-prod-counts-cards .sd-uploads-status-card__label {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--sd-muted);
  margin-top: 0;
  text-align: left;
  white-space: nowrap;
}
/* Overview greys the copy on an empty stat rather than fading the whole cell. */
#sd-prod-page-root .sd-prod-counts-cards .sd-uploads-status-card--zero {
  opacity: 1;
}
@media (max-width: 900px) {
  #sd-prod-page-root .sd-prod-counts-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  #sd-prod-page-root .sd-prod-counts-cards {
    grid-template-columns: 1fr;
  }
}
.sd-products-actions-add-col,
.sd-products-actions-download-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sd-products-action-btn {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 560px) {
  .sd-products-actions-add-col,
  .sd-products-actions-download-col {
    flex: 1 1 100%;
  }
}
/* Products tab: status cards under Add / Download (classic Shelfy layout) */
.sd-products-actions-row .sd-uploads-subfilter-row {
  flex: 1 1 100%;
  width: 100%;
  margin-top: 4px;
}
.sd-products-actions-row .sd-uploads-status-cards-under-add,
.sd-products-actions-row .sd-uploads-status-cards-under-download {
  min-height: 56px;
}
.sd-products-actions-row .sd-uploads-status-cards-under-add .sd-uploads-status-card__num,
.sd-products-actions-row .sd-uploads-status-cards-under-download .sd-uploads-status-card__num {
  min-height: 1.2em;
  display: block;
}
/* Uploads: progress row between button row and status count cards (full width) */
.sd-uploads-progress-wrap {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 2px;
  box-sizing: border-box;
}
.sd-uploads-progress-wrap:not([hidden]) {
  margin-top: 8px;
  margin-bottom: 12px;
}
.sd-uploads-progress-wrap[hidden] {
  display: none !important;
}
.sd-uploads-progress-bar {
  width: 100%;
  height: 10px;
  border-radius: 5px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.12);
}
html.theme-dark .sd-uploads-progress-bar {
  background: rgba(230, 216, 195, 0.1);
}
.sd-uploads-progress-bar__fill {
  height: 100%;
  width: 0%;
  max-width: 100%;
  border-radius: 5px;
  background: #2e7d32;
  transition: width 0.2s ease;
}
html.theme-dark .sd-uploads-progress-bar__fill {
  background: #4caf50;
}
.sd-uploads-progress-label {
  margin: 6px 0 0 0;
  font-size: 12px;
  color: var(--sd-muted);
  text-align: center;
}

.sd-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
}
.sd-toolbar--uploads-search {
  width: 100%;
}
.sd-toolbar--products-search {
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
}
.sd-toolbar--products-search .sd-input--uploads-search {
  flex: 1;
  min-width: 0;
  width: auto;
}
.sd-toolbar--products-search .sd-toolbar-download-icon {
  flex-shrink: 0;
}
/* Shelves list: search field same visual height as primary button */
.sd-toolbar--shelves.sd-toolbar--products-search {
  align-items: stretch;
}
.sd-toolbar--shelves.sd-toolbar--products-search > .sd-input--uploads-search {
  min-height: 38px;
  line-height: 1.25;
  align-self: stretch;
}
.sd-toolbar--shelves.sd-toolbar--products-search > .sd-btn {
  min-height: 38px;
  align-self: stretch;
}
.sd-input--uploads-search {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
/* Uploads: row count + Full / Compact (classic Shelfy-style) */
.sd-uploads-count-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin: 0 0 10px 0;
  width: 100%;
  box-sizing: border-box;
}
.sd-uploads-count-row .sd-uploads-file-count {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.sd-uploads-view-segmented-wrap {
  flex-shrink: 0;
}
.sd-products-toolbar-toggles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px 14px;
  flex: 1 1 auto;
  min-width: 0;
}
.sd-products-list--grouped {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sd-products-group {
  border: 1px solid var(--sd-border);
  border-radius: 10px;
  background: var(--sd-surface);
  overflow: hidden;
}
.sd-products-group__summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
  display: flex;
  align-items: flex-start;
  gap: 8px;
  user-select: none;
}
.sd-products-group__summary::-webkit-details-marker {
  display: none;
}
.sd-products-group__summary::before {
  content: "?";
  font-size: 10px;
  opacity: 0.65;
  transition: transform 0.15s ease;
  flex-shrink: 0;
  margin-top: 3px;
}
.sd-products-group[open] .sd-products-group__summary::before {
  transform: rotate(90deg);
}
.sd-products-group__summary-text {
  flex: 1;
  min-width: 0;
  word-break: break-word;
  line-height: 1.35;
}
.sd-products-group__cards {
  padding: 12px 8px 12px 12px;
  border-top: 1px solid var(--sd-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* Darker than shelf page chrome (--sd-bg); product cards stay white (--sd-surface) on top */
  background: color-mix(in srgb, var(--sd-bg) 99%, black 1%);
}
html.theme-dark .sd-products-group__cards {
  background: color-mix(in srgb, var(--sd-bg) 99%, black 1%);
}
.sd-products-list--grouped .sd-product-card {
  margin: 0;
}
.sd-video-view-segmented {
  display: flex;
  align-items: stretch;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  border-radius: 10px;
  padding: 3px;
  gap: 0;
}
/* Group-by: do NOT use flex:1 + min-width:0 (crushes labels / misaligns selection pill).
   Each option is content-sized, centered; outer bar scrolls horizontally if needed. */
.sd-video-view-segmented.sd-video-view-segmented--product-group {
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 6px;
  padding: 5px 8px;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.sd-video-view-segmented.sd-video-view-segmented--product-group::-webkit-scrollbar {
  height: 6px;
}
.sd-video-view-segmented.sd-video-view-segmented--product-group::-webkit-scrollbar-thumb {
  background: var(--sd-border);
  border-radius: 4px;
}
.sd-video-view-segmented--product-group .sd-video-view-option {
  flex: 0 0 auto;
  min-width: max-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 7px 12px;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  box-sizing: border-box;
}
.sd-video-view-option {
  flex: 1;
  min-width: 72px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  font-family: inherit;
  color: var(--sd-muted);
  background: transparent;
  border: none;
  border-radius: 7px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.sd-video-view-option:hover {
  background: rgba(196, 30, 58, 0.06);
  color: var(--sd-text);
}
.sd-video-view-option:focus {
  outline: none;
}
.sd-video-view-option:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-video-view-option--selected {
  background: var(--sd-surface);
  color: var(--sd-text);
  box-shadow: 0 0 0 1px var(--sd-border);
}
html.theme-dark .sd-video-view-option--selected {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html.theme-dark .sd-video-view-option:hover {
  background: rgba(59, 130, 246, 0.1);
}

.sd-uploads-file-count {
  margin: 0 0 10px 0;
  font-size: 12px;
  color: var(--sd-muted);
  line-height: 1.3;
}
.sd-input {
  padding: 8px 12px;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-surface);
  color: var(--sd-text);
  font-family: inherit;
  font-size: 13px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sd-input:focus,
.sd-input:focus-visible,
textarea.sd-input:focus,
textarea.sd-input:focus-visible,
select.sd-input:focus,
select.sd-input:focus-visible,
input.sd-input[type="search"]:focus,
input.sd-input[type="search"]:focus-visible,
.sd-stores-filter-select:focus,
.sd-stores-filter-select:focus-visible,
.sd-sb-drawer-form__input:focus,
.sd-sb-drawer-form__input:focus-visible,
.sd-sb-drawer-form__textarea:focus,
.sd-sb-drawer-form__textarea:focus-visible,
.sd-settings-ua-textarea:focus,
.sd-settings-ua-textarea:focus-visible {
  outline: none;
  border-color: var(--sd-input-focus-border);
  box-shadow: var(--sd-input-focus-ring);
}
/* Search fields: strip WebKit searchfield chrome so L/R borders match top/bottom when typing */
input.sd-input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-surface);
  color: var(--sd-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input.sd-input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
html.theme-dark .sd-input,
html.theme-dark input.sd-input[type="search"] {
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  border-color: var(--sd-border);
}
html.theme-dark .sd-input-password-wrap {
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  border-color: var(--sd-border);
}
/* Native clear (×) on search fields — default icon is dark; invert for dark UI */
html.theme-dark input.sd-input[type="search"]::-webkit-search-cancel-button {
  filter: invert(1);
  opacity: 0.92;
}
html.theme-dark input.sd-input[type="search"]::-moz-search-clear-button {
  filter: invert(1);
  opacity: 0.92;
}

/* Password fields: show / hide masking (eye toggle inside field) */
.sd-input-password-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-surface);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sd-input-password-wrap:focus-within {
  border-color: var(--sd-input-focus-border);
  box-shadow: var(--sd-input-focus-ring);
}
.sd-input-password-wrap > .sd-input,
.sd-input-password-wrap > .sd-login-input,
.sd-input-password-wrap > .sd-sb-drawer-form__input {
  width: 100%;
  box-sizing: border-box;
  padding-right: 2.75rem;
  border: none;
  box-shadow: none;
  background: transparent;
}
.sd-input-password-wrap > .sd-input:focus,
.sd-input-password-wrap > .sd-input:focus-visible,
.sd-input-password-wrap > .sd-login-input:focus,
.sd-input-password-wrap > .sd-sb-drawer-form__input:focus,
.sd-input-password-wrap > .sd-sb-drawer-form__input:focus-visible {
  outline: none;
  border: none;
  box-shadow: none;
}
.sd-input-password-toggle {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
  flex-shrink: 0;
}
.sd-input-password-toggle:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 6%, transparent);
}
.sd-input-password-toggle:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
/* [hidden] must win: a plain `display: flex` on the class overrides UA `display: none` for [hidden] */
.sd-input-password-toggle__icon[hidden] {
  display: none !important;
}
.sd-input-password-toggle__icon:not([hidden]) {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sd-input-password-toggle__svg {
  display: block;
}
.sd-login-input-wrap .sd-input-password-wrap--login {
  flex: 1;
  min-width: 0;
  border: none;
  box-shadow: none;
  background: transparent;
}
.sd-login-input-wrap .sd-input-password-wrap--login:focus-within {
  border: none;
  box-shadow: none;
}

/* Shelf sub-nav */
.sd-shelf-tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--sd-border);
  padding-bottom: 0;
}
.sd-shelf-tabs a {
  padding: 10px 14px;
  color: var(--sd-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  text-decoration: none;
  font-weight: 500;
}
.sd-shelf-tabs a:hover {
  color: var(--sd-text);
  text-decoration: none;
}
.sd-shelf-tabs a.is-active {
  color: var(--sd-accent);
  border-bottom-color: var(--sd-accent);
}
.sd-shelf-tabs a.sd-shelf-tabs__overview {
  font-weight: 600;
}

/* Shelves list: row opens shelf overview */
.sd-table tr.sd-shelf-row {
  cursor: pointer;
}
/* Shelves with in-flight upload tasks (Tasks > 0): very subtle tint */
.sd-table tr.sd-shelf-row.sd-shelf-row--active-tasks td {
  background: var(--sd-shelf-row-task-tint-bg);
}
.sd-table tr.sd-shelf-row:hover td {
  background: var(--sd-shelf-row-hover-bg);
}
.sd-table tr.sd-shelf-row.sd-shelf-row--active-tasks:hover td {
  background: var(--sd-shelf-row-task-hover-bg);
}
.sd-stores-table tr.sd-stores-tr.sd-shelf-row--active-tasks:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked)) td {
  background: var(--sd-shelf-row-task-tint-bg);
}
.sd-stores-table tr.sd-stores-tr.sd-shelf-row--active-tasks:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked)):hover td {
  background: var(--sd-shelf-row-task-hover-bg);
}
.sd-shelf-row__name {
  font-weight: 600;
  color: var(--sd-accent);
}
html.theme-dark .sd-shelf-row__name,
html.theme-greenday .sd-shelf-row__name, html.theme-vintage .sd-shelf-row__name, html.theme-shelfy .sd-shelf-row__name {
  color: var(--sd-text);
}

/* Shelf landing (choose Scan / Upload / Products) */
.sd-shelf-landing__activities-title {
  font-size: 18px;
  font-weight: 600;
  margin: 24px 0 10px;
  color: var(--sd-text);
}
.sd-shelf-landing__activities-subtitle {
  margin: -4px 0 10px;
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-shelf-landing__activities {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
  color: var(--sd-text);
  font-size: 14px;
  line-height: 1.5;
}
.sd-shelf-landing__activities li {
  padding: 2px 0;
}
.sd-shelf-landing__activities-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 16px;
  width: 100%;
  margin-top: 12px;
}

.sd-shelf-landing-summary .sd-shelf-landing__activities-cards {
  margin-top: 16px;
}

/* Insight overview ? Activities Summary (under action cards) */
.sd-insight-landing-summary {
  margin-top: 28px;
  width: 100%;
}
.sd-insight-landing-summary__title {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 12px;
  color: var(--sd-text);
}
.sd-insight-landing-summary__intro {
  margin: -4px 0 14px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--sd-muted);
  max-width: 48rem;
}
.sd-insight-landing-summary__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin: 20px 0 0;
  padding: 0;
}
.sd-shelf-landing-summary > .sd-insight-landing-summary__meta {
  margin: 0 0 16px;
}
.sd-insight-landing-summary__meta-item {
  margin: 0;
  min-width: 0;
}
.sd-insight-landing-summary__meta-item dt {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sd-muted);
}
.sd-insight-landing-summary__meta-item dd {
  margin: 4px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--sd-text);
  line-height: 1.35;
}
.sd-insight-landing-summary__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 16px;
  width: 100%;
}
.sd-insight-landing-summary__stat {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  padding: 14px 12px;
  text-align: center;
  box-shadow: var(--sd-shadow);
}
a.sd-insight-landing-summary__stat--link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
a.sd-insight-landing-summary__stat--link:hover {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
  text-decoration: none;
  color: inherit;
}
a.sd-insight-landing-summary__stat--link:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-insight-landing-summary__num {
  display: block;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--sd-text);
  font-variant-numeric: tabular-nums;
}
.sd-insight-landing-summary__label {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: var(--sd-muted);
  line-height: 1.35;
}

.sd-shelf-landing__activity-card {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-shadow: var(--sd-shadow);
  padding: 16px 16px 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.sd-shelf-landing__activity-card-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--sd-text);
  text-align: center;
}
.sd-shelf-landing__activity-count-card {
  display: block;
  width: fit-content;
  border: 1px solid var(--sd-border);
  border-radius: 10px;
  background: var(--sd-surface);
  padding: 8px 12px;
  margin: 0 auto 12px;
  text-align: center;
}
.sd-shelf-landing__activity-count-num {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--sd-text);
}
.sd-shelf-landing__activity-count-label {
  margin-top: 2px;
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-shelf-landing__activity-imports-row {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 12px;
}
.sd-shelf-landing__activity-chart-block {
  min-width: 0;
  width: 100%;
}
.sd-shelf-landing__activity-chart-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--sd-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 6px;
}
.sd-shelf-landing__activity-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--sd-border);
  flex-wrap: wrap;
  margin: 2px 0 0;
  padding-bottom: 0;
  position: relative;
  z-index: 5;
}
.sd-shelf-landing__activity-tab {
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  color: var(--sd-muted);
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  font-family: inherit;
}
.sd-shelf-landing__activity-tab:hover {
  color: var(--sd-text);
}
.sd-shelf-landing__activity-tab:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.sd-shelf-landing__activity-tab.is-active {
  color: var(--sd-accent);
  border-bottom-color: var(--sd-accent);
}
.sd-shelf-landing__activity-tabpanels {
  width: 100%;
  margin-top: -8px;
  position: relative;
  z-index: 1;
}
.sd-shelf-landing__activity-tabpanel {
  width: 100%;
}
.sd-shelf-landing__activity-chart-mode {
  margin-top: auto; /* pin footer to bottom of card */
  display: flex;
  justify-content: center;
  align-items: center;
  /* Full-width bottom section: background + top border flush to card edges */
  border-top: 1px solid var(--sd-border);
  background: var(--sd-bg);
  margin-left: -16px;
  margin-right: -16px;
  margin-bottom: -12px;
  padding: 10px 12px;
  min-height: 56px;
  box-sizing: border-box;
}
.sd-shelf-landing__activity-chart-mode .sd-video-view-segmented {
  width: 100%;
  max-width: 320px;
  overflow: hidden; /* keep pills inside the card */
  border: none;
  background: transparent;
}
.sd-shelf-landing__activity-chart-mode .sd-video-view-option {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  justify-content: center;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}
.sd-shelf-landing__activity-chart {
  width: 100%;
}
.sd-chart-expand-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  background: var(--sd-bg);
  color: var(--sd-text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 16px;
}
.sd-chart-expand-icon:hover {
  border-color: var(--sd-accent);
  color: var(--sd-accent);
  background: rgba(196, 30, 58, 0.06);
}
html.theme-dark .sd-chart-expand-icon:hover {
  background: rgba(59, 130, 246, 0.12);
}
.sd-chart-expand-icon:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-chart-expand-icon[hidden] {
  display: none !important;
}

.sd-overlay--chart .sd-modal--chart {
  width: 80vw;
  height: 80vh;
  max-width: 80vw;
  max-height: 80vh;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.sd-modal__header--chart {
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid var(--sd-border);
  align-items: center;
  justify-content: flex-start;
}
.sd-modal__header--chart .sd-modal__title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.sd-modal__header-actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
#sd-chart-overlay-download.sd-upload-card__icon-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
}
.sd-chart-dl-menu {
  position: absolute;
  top: 48px;
  right: 52px; /* left of the X close button */
  z-index: 60;
  min-width: 160px;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  padding: 6px;
}
.sd-chart-dl-menu__item {
  width: 100%;
  border: none;
  background: transparent;
  color: var(--sd-text);
  padding: 8px 10px;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
}
.sd-chart-dl-menu__item:hover {
  background: var(--sd-bg);
}
.sd-chart-modal__body {
  flex: 1;
  min-height: 0;
  padding: 12px 14px 14px;
  overflow: auto;
  background: var(--sd-surface);
}
.sd-chart-modal__chart {
  width: 100%;
  min-height: 320px;
}

/* ApexCharts injects internal top padding; tighten for Imported Items tabs */
.sd-shelf-landing__activity-tabpanel .apexcharts-canvas {
  margin-top: -10px;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-tabpanel .apexcharts-canvas {
  margin-top: 0;
}
.sd-shelf-landing__activity-chart {
  width: 100%;
  min-width: 0;
}
/* Shelf overview / activities summary (light only): darker chart copy for readability */
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-shelf-landing__activity-chart .apexcharts-text,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-shelf-landing__activity-chart .apexcharts-legend-text {
  fill: #111827 !important;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-shelf-landing__activity-chart .apexcharts-tooltip-text,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-label,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-value,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-shelf-landing__activity-chart .apexcharts-tooltip-title {
  color: #111827 !important;
}
/* Shelf overview activities: dark + Path + GreenDay + Vintage use theme text on charts */
html.theme-dark .sd-shelf-landing__activity-chart .apexcharts-text,
html.theme-dark .sd-shelf-landing__activity-chart .apexcharts-legend-text,
html.theme-path .sd-shelf-landing__activity-chart .apexcharts-text,
html.theme-path .sd-shelf-landing__activity-chart .apexcharts-legend-text,
html.theme-greenday .sd-shelf-landing__activity-chart .apexcharts-text, html.theme-vintage .sd-shelf-landing__activity-chart .apexcharts-text, html.theme-shelfy .sd-shelf-landing__activity-chart .apexcharts-text,
html.theme-greenday .sd-shelf-landing__activity-chart .apexcharts-legend-text, html.theme-vintage .sd-shelf-landing__activity-chart .apexcharts-legend-text, html.theme-shelfy .sd-shelf-landing__activity-chart .apexcharts-legend-text {
  fill: var(--sd-text);
}
html.theme-dark .sd-shelf-landing__activity-chart .apexcharts-tooltip-text,
html.theme-dark .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-label,
html.theme-dark .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-value,
html.theme-dark .sd-shelf-landing__activity-chart .apexcharts-tooltip-title,
html.theme-path .sd-shelf-landing__activity-chart .apexcharts-tooltip-text,
html.theme-path .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-label,
html.theme-path .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-value,
html.theme-path .sd-shelf-landing__activity-chart .apexcharts-tooltip-title,
html.theme-greenday .sd-shelf-landing__activity-chart .apexcharts-tooltip-text, html.theme-vintage .sd-shelf-landing__activity-chart .apexcharts-tooltip-text, html.theme-shelfy .sd-shelf-landing__activity-chart .apexcharts-tooltip-text,
html.theme-greenday .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-label, html.theme-vintage .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-label, html.theme-shelfy .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-label,
html.theme-greenday .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-value, html.theme-vintage .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-value, html.theme-shelfy .sd-shelf-landing__activity-chart .apexcharts-tooltip-text-y-value,
html.theme-greenday .sd-shelf-landing__activity-chart .apexcharts-tooltip-title, html.theme-vintage .sd-shelf-landing__activity-chart .apexcharts-tooltip-title, html.theme-shelfy .sd-shelf-landing__activity-chart .apexcharts-tooltip-title {
  color: var(--sd-text) !important;
}
.sd-shelf-landing__activity-chart--left {
  flex: 1 1 55%;
}
.sd-shelf-landing__activity-chart--right {
  flex: 1 1 45%;
}
.sd-shelf-landing__activity-processing-counts {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.sd-shelf-landing__activity-count-card--mini {
  flex: 0 0 auto;
  min-width: 64px;
}

.sd-shelf-landing__prompt {
  font-size: 18px;
  font-weight: 600;
  margin: 20px 0 0;
  color: var(--sd-text);
}
/* View Products: center downloads against title + description; space below desc (sibling before #sd-sb-page-root) */
.sd-sb-view-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 20px 0 16px;
  width: 100%;
  box-sizing: border-box;
}
.sd-sb-view-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 16rem;
  min-width: 0;
}
.sd-sb-view-head .sd-shelf-landing__prompt {
  margin: 0;
  line-height: 1.25;
  align-self: stretch;
  width: 100%;
  min-width: 0;
}
.sd-sb-view-head .sd-page-desc.sd-scan-lead {
  margin: 6px 0 0;
  max-width: 48rem;
  align-self: stretch;
  width: 100%;
}
.sd-sb-view-head__tab-link {
  color: var(--sd-accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sd-sb-view-head__tab-link:hover {
  color: var(--sd-accent-hover, var(--sd-accent));
}
.sd-sb-view-head__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  align-self: center;
  margin: 0;
}
.sd-sb-view-head__actions .sd-stores-actions-anchor {
  position: relative;
}
/* Add Products / Import Data: Create-style primary CTA in the title head */
.sd-u2-add-head #sd-u2-add-product-uploads-btn.sd-home-hero-cta,
.sd-u2-add-head #sd-u2-cancel-upload.sd-home-hero-cta {
  min-height: 40px;
  padding: 10px 18px;
  border-radius: var(--sd-home-card-radius, var(--sd-radius));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  gap: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  max-width: none;
}
.sd-u2-add-head #sd-u2-add-product-uploads-btn .sd-home-hero-cta__plus {
  font-weight: 600;
  line-height: 1;
  margin-right: -2px;
}
.sd-u2-add-head #sd-u2-add-product-uploads-btn.sd-home-hero-cta--shelf.sd-btn--primary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 70%, var(--sd-btn-primary-fg, #fff));
  outline-offset: 2px;
}
.sd-shelf-landing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 16px;
  width: 100%;
}
.sd-shelf-action-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 20px;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-shadow: var(--sd-shadow);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sd-shelf-action-card:hover {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
  text-decoration: none;
  color: inherit;
}
.sd-shelf-action-card__icon {
  font-size: 42px;
  line-height: 1.2;
  margin-bottom: 12px;
}
.sd-shelf-action-card__icon-cluster {
  --sd-shelf-action-box-size: 52px;
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
}
.sd-shelf-action-card__box-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--sd-shelf-action-box-size);
  height: var(--sd-shelf-action-box-size);
  font-size: var(--sd-shelf-action-box-size);
  line-height: 1;
  user-select: none;
}
.sd-shelf-action-card__plus-badge {
  position: absolute;
  right: -6px;
  bottom: -4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sd-surface);
  border: 2px solid var(--sd-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.15);
}
.sd-shelf-action-card__plus-badge svg {
  width: 12px;
  height: 12px;
  color: var(--sd-accent);
}
/* Scan Products: same anchor & accent as + glyph (currentColor ? --sd-accent in light/dark) */
.sd-shelf-action-card__cluster-phone-overlay {
  position: absolute;
  right: -6px;
  bottom: -4px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 22px;
  color: var(--sd-accent);
  pointer-events: none;
  line-height: 0;
  user-select: none;
}
.sd-shelf-action-card__cluster-phone-svg {
  display: block;
  width: 15px;
  height: auto;
  aspect-ratio: 24 / 36;
}
html.theme-dark .sd-shelf-action-card__plus-badge {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.sd-shelf-action-card__title {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--sd-text);
}
.sd-shelf-action-card__desc {
  font-size: 13px;
  color: var(--sd-muted);
  line-height: 1.45;
  flex: 1;
}

/* Shelf Overview tab redesign — scoped under .sd-shelf-overview only */
.sd-shelf-overview {
  --sd-overview-well: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  --sd-overview-upload: var(--sd-overview-products-soft);
  --sd-overview-complete: color-mix(in srgb, var(--sd-overview-type-4) 16%, var(--sd-surface));
  --sd-overview-cancel: color-mix(in srgb, var(--sd-overview-bar-1) 14%, var(--sd-surface));
  --sd-overview-comment: var(--sd-overview-imports-soft);
  --sd-overview-status: color-mix(in srgb, var(--sd-overview-type-3) 16%, var(--sd-surface));
  width: 100%;
}
.sd-shelf-overview .sd-shelf-overview__actions {
  margin-top: 8px;
}
.sd-shelf-overview .sd-shelf-action-card,
.sd-shelf-overview .sd-shelf-overview__action-card {
  --sd-overview-action-fg: var(--sd-accent);
  --sd-overview-action-bg: var(--sd-overview-well);
  flex-direction: row;
  align-items: flex-start;
  text-align: left;
  padding: 18px 18px 16px;
  gap: 14px;
}
.sd-shelf-overview .sd-shelf-overview__action-card--view {
  --sd-overview-action-fg: var(--sd-overview-imports-fg);
  --sd-overview-action-bg: var(--sd-overview-imports-bg);
}
.sd-shelf-overview .sd-shelf-overview__action-card--add {
  --sd-overview-action-fg: var(--sd-overview-bar-1);
  --sd-overview-action-bg: color-mix(in srgb, var(--sd-overview-bar-1) 14%, var(--sd-surface));
}
.sd-shelf-overview .sd-shelf-overview__action-card--scan {
  --sd-overview-action-fg: var(--sd-overview-type-4);
  --sd-overview-action-bg: color-mix(in srgb, var(--sd-overview-type-4) 14%, var(--sd-surface));
}
.sd-shelf-overview .sd-shelf-overview__action-icon-well {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  margin: 0;
  border-radius: 12px;
  background: var(--sd-overview-action-bg);
  color: var(--sd-overview-action-fg);
  font-size: inherit;
  line-height: 0;
}
.sd-shelf-overview .sd-shelf-overview__action-icon-well svg {
  width: 26px;
  height: 26px;
}
.sd-shelf-overview .sd-shelf-overview__action-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  flex: 1 1 auto;
}
.sd-shelf-overview .sd-shelf-action-card__title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
}
.sd-shelf-overview .sd-shelf-action-card__desc {
  margin: 0;
  flex: 0 1 auto;
}
.sd-shelf-overview .sd-shelf-overview__action-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  align-self: flex-start;
  margin-top: 14px;
  padding: 8px 14px;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: #ffffff;
  box-shadow: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  pointer-events: none;
}
.sd-shelf-overview .sd-shelf-overview__action-cta-chevron {
  display: inline-flex;
  line-height: 0;
  color: var(--sd-muted);
}
.sd-shelf-overview .sd-shelf-overview__action-cta-chevron svg {
  width: 14px;
  height: 14px;
}
.sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta {
  border-color: color-mix(in srgb, var(--sd-accent) 35%, var(--sd-border));
  background: #ffffff;
  color: var(--sd-text);
}
.sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta-chevron {
  color: var(--sd-accent);
}
html.theme-dark .sd-shelf-overview .sd-shelf-overview__action-cta,
html.theme-path .sd-shelf-overview .sd-shelf-overview__action-cta,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__action-cta,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__action-cta,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__action-cta {
  background: var(--sd-surface);
}
html.theme-dark .sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta,
html.theme-path .sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta,
html.theme-greenday .sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta,
html.theme-vintage .sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta,
html.theme-shelfy .sd-shelf-overview .sd-shelf-action-card:hover .sd-shelf-overview__action-cta {
  background: var(--sd-surface);
}
.sd-shelf-overview .sd-shelf-overview__summary {
  --sd-overview-kpi-products-fg: var(--sd-overview-products-fg);
  --sd-overview-kpi-products-bg: var(--sd-overview-products-bg);
  --sd-overview-kpi-imported-fg: var(--sd-overview-imports-fg);
  --sd-overview-kpi-imported-bg: var(--sd-overview-imports-bg);
  --sd-overview-kpi-failures-fg: var(--sd-overview-bar-3);
  --sd-overview-kpi-failures-bg: color-mix(in srgb, var(--sd-overview-bar-3) 16%, var(--sd-surface));
  --sd-overview-kpi-activity-fg: var(--sd-overview-bar-1);
  --sd-overview-kpi-activity-bg: color-mix(in srgb, var(--sd-overview-bar-1) 14%, var(--sd-surface));
  --sd-overview-kpi-lookup-fg: var(--sd-overview-bar-1);
  --sd-overview-kpi-lookup-bg: color-mix(in srgb, var(--sd-overview-bar-1) 14%, var(--sd-surface));
  margin-top: 28px;
}
/* Match Product Overview / Import Summary column widths and gap */
.sd-shelf-overview .sd-shelf-overview__summary-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 16px;
  width: 100%;
  align-items: stretch;
}
.sd-shelf-overview .sd-shelf-overview__summary-card {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  padding: 0;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-shadow: var(--sd-shadow);
  overflow: hidden;
}
.sd-shelf-overview .sd-shelf-overview__summary-main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  padding: 16px 20px;
  border-left: none;
}
.sd-shelf-overview .sd-shelf-overview__meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 28px;
}
.sd-shelf-overview .sd-shelf-overview__meta .sd-insight-landing-summary__meta-item dt {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sd-muted);
}
.sd-shelf-overview .sd-shelf-overview__meta .sd-insight-landing-summary__meta-item dd {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--sd-text);
}
.sd-shelf-overview .sd-shelf-overview__kpis {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  gap: 0;
}
.sd-shelf-overview .sd-shelf-overview__kpi {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 0;
  min-width: 132px;
  padding: 14px 16px;
  border: none;
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sd-text);
  text-decoration: none;
  line-height: 1.2;
  cursor: pointer;
  box-sizing: border-box;
  text-align: left;
}
.sd-shelf-overview .sd-shelf-overview__kpi:last-child {
  border-right: none;
}
.sd-shelf-overview .sd-shelf-overview__kpi:hover {
  border-right-color: var(--sd-border);
  color: var(--sd-text);
  text-decoration: none;
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
.sd-shelf-overview .sd-shelf-overview__kpi:last-child:hover {
  border-right: none;
}
.sd-shelf-overview .sd-shelf-overview__kpi-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: var(--sd-overview-well);
  color: var(--sd-accent);
  box-sizing: border-box;
}
.sd-shelf-overview .sd-shelf-overview__kpi-icon svg {
  width: 17px;
  height: 17px;
}
.sd-shelf-overview .sd-shelf-overview__kpi-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sd-shelf-overview .sd-shelf-overview__kpi-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--sd-text);
  white-space: nowrap;
  line-height: 1.15;
}
.sd-shelf-overview .sd-shelf-overview__kpi-value--loading {
  animation: sd-pulse 2.4s ease-in-out infinite;
}
/* Meta card: same cell layout as Products Found KPIs, no icons / not clickable */
.sd-shelf-overview .sd-shelf-overview__summary-card--meta .sd-shelf-overview__kpi--meta {
  cursor: default;
  min-width: 0;
}
.sd-shelf-overview .sd-shelf-overview__summary-card--meta .sd-shelf-overview__kpi--meta:hover {
  background: transparent;
  border-right-color: var(--sd-border);
}
.sd-shelf-overview .sd-shelf-overview__summary-card--meta .sd-shelf-overview__kpi--meta:last-child:hover {
  border-right: none;
}
.sd-shelf-overview .sd-shelf-overview__summary-card--meta .sd-shelf-overview__kpi-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--sd-text);
  white-space: nowrap;
  line-height: 1.2;
}
.sd-shelf-overview .sd-shelf-overview__summary-card--meta .sd-shelf-overview__kpi-value {
  font-size: 12px;
  font-weight: 500;
  color: var(--sd-muted);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}
.sd-shelf-overview {
  /* Height of Import Summary Types/Failures tab row — keep Product Overview chart tops/bottoms aligned. */
  --sd-overview-import-tabs-h: 42px;
  --sd-overview-chart-min-h: 240px;
}
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-head-aside,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-info,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-sub,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--products .sd-shelf-overview__products-tabs-spacer,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-head-aside,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-info,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-sub,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-overview__import-tabs,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-chart-mode,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--products #sd-shelf-activity-sankey-products,
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-tabpanel[data-panel="imports"] {
  display: none !important;
}
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-tabpanel[data-panel="failures"] {
  display: block !important;
}
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-landing__activity-chart--pending {
  min-height: 170px;
}
.sd-shelf-overview .sd-shelf-overview__chart-skeleton {
  inset: 0;
  padding: 14px 12px 8px 34px;
  border-radius: 8px;
}
.sd-shelf-overview:not([data-sd-overview-pending="1"]) .sd-shelf-overview__chart-skeleton {
  display: none !important;
}
.sd-shelf-overview[data-sd-overview-pending="1"] .sd-shelf-overview__activity-empty {
  animation: sd-pulse 2.4s ease-in-out infinite;
}
.sd-shelf-overview .sd-shelf-overview__kpi-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--sd-muted);
  white-space: nowrap;
  line-height: 1.2;
}
.sd-shelf-overview .sd-shelf-overview__kpi--products .sd-shelf-overview__kpi-icon {
  background: var(--sd-overview-kpi-products-bg);
  color: var(--sd-overview-kpi-products-fg);
}
.sd-shelf-overview .sd-shelf-overview__kpi--imported .sd-shelf-overview__kpi-icon {
  background: var(--sd-overview-kpi-imported-bg);
  color: var(--sd-overview-kpi-imported-fg);
}
.sd-shelf-overview .sd-shelf-overview__kpi--failures .sd-shelf-overview__kpi-icon {
  background: var(--sd-overview-kpi-failures-bg);
  color: var(--sd-overview-kpi-failures-fg);
}
.sd-shelf-overview .sd-shelf-overview__kpi--activity .sd-shelf-overview__kpi-icon {
  background: var(--sd-overview-kpi-activity-bg);
  color: var(--sd-overview-kpi-activity-fg);
}
.sd-shelf-overview .sd-shelf-overview__kpi--lookup-issues .sd-shelf-overview__kpi-icon {
  background: var(--sd-overview-kpi-lookup-bg);
  color: var(--sd-overview-kpi-lookup-fg);
}
.sd-shelf-overview .sd-shelf-overview__kpi--btn {
  font: inherit;
  font-family: inherit;
}
@media (max-width: 1100px) {
  .sd-shelf-overview .sd-shelf-overview__summary-row,
  .sd-shelf-overview .sd-shelf-overview__charts.sd-shelf-landing__activities-cards {
    grid-template-columns: 1fr;
  }
  .sd-shelf-overview .sd-shelf-overview__kpis {
    flex-wrap: wrap;
  }
  .sd-shelf-overview .sd-shelf-overview__kpi {
    flex: 1 1 46%;
    min-width: 140px;
  }
  .sd-shelf-overview .sd-shelf-overview__kpi:nth-child(2n) {
    border-right: none;
  }
  .sd-shelf-overview .sd-shelf-overview__kpi:nth-child(-n + 2) {
    border-bottom: 1px solid var(--sd-border);
  }
  .sd-shelf-overview .sd-shelf-overview__chart-head--products,
  .sd-shelf-overview .sd-shelf-overview__chart-head--imports {
    flex-wrap: wrap;
  }
  .sd-shelf-overview .sd-shelf-overview__chart-head-aside {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
}
.sd-shelf-overview .sd-shelf-overview__charts {
  margin-top: 20px;
  align-items: stretch;
}
.sd-shelf-overview .sd-shelf-overview__chart-card {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  min-height: 0;
}
.sd-shelf-overview .sd-shelf-overview__chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  flex: 0 0 auto;
}
.sd-shelf-overview .sd-shelf-overview__chart-head--products {
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 16px;
}
.sd-shelf-overview .sd-shelf-overview__chart-head--imports {
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 16px;
}
.sd-shelf-overview .sd-shelf-overview__chart-head-lead {
  display: inline-flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.sd-shelf-overview .sd-shelf-overview__chart-head-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--sd-overview-products-bg);
  color: var(--sd-overview-products-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-head-icon--imports {
  background: var(--sd-overview-imports-bg);
  color: var(--sd-overview-imports-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-head-icon svg {
  width: 20px;
  height: 20px;
}
.sd-shelf-overview .sd-shelf-overview__chart-head-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sd-shelf-overview .sd-shelf-overview__chart-sub {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--sd-muted);
}
.sd-shelf-overview .sd-shelf-overview__chart-head-aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}
.sd-shelf-overview .sd-shelf-overview__chart-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  text-align: left;
  font-size: 15px;
  font-weight: 700;
}
.sd-shelf-overview .sd-shelf-overview__chart-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.sd-shelf-overview .sd-shelf-overview__chart-card > .sd-chart-expand-icon {
  display: none;
}
.sd-shelf-overview .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon {
  position: static;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
}
.sd-shelf-overview .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon:has(.sd-shelf-overview__chart-expand-glyph) {
  font-size: 0;
}
.sd-shelf-overview .sd-shelf-overview__chart-expand-glyph {
  display: inline-flex;
  line-height: 0;
  color: inherit;
}
.sd-shelf-overview .sd-shelf-overview__chart-expand-glyph svg {
  width: 15px;
  height: 15px;
}
.sd-shelf-overview .sd-shelf-overview__chart-link {
  margin-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-accent);
  text-decoration: none;
  white-space: nowrap;
  align-self: auto;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-link,
.sd-shelf-overview .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon {
  color: var(--sd-overview-products-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon {
  border: none;
  background: transparent;
  box-shadow: none;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon:hover {
  border: none;
  background: transparent;
  color: var(--sd-overview-products-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-card--products .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon:focus-visible {
  outline: none;
  box-shadow: none;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-link,
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon {
  color: var(--sd-overview-imports-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon {
  border: none;
  background: transparent;
  box-shadow: none;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon:hover {
  border: none;
  background: transparent;
  color: var(--sd-overview-imports-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-head-actions .sd-chart-expand-icon:focus-visible {
  outline: none;
  box-shadow: none;
}
.sd-shelf-overview .sd-shelf-overview__chart-link:hover {
  text-decoration: underline;
}
.sd-shelf-overview .sd-shelf-overview__chart-link-icon {
  display: inline-flex;
  line-height: 0;
  color: inherit;
}
.sd-shelf-overview .sd-shelf-overview__chart-link-icon svg {
  width: 13px;
  height: 13px;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--products .sd-shelf-landing__activity-chart-mode,
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-chart-mode {
  background: transparent;
  border-top: none;
  margin: 0;
  padding: 0;
  min-height: 0;
  display: block;
  justify-content: initial;
}
.sd-shelf-overview .sd-shelf-overview__import-tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin: 4px 0 12px;
  padding: 0;
  border-bottom: 1px solid var(--sd-border);
  min-height: var(--sd-overview-import-tabs-h);
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
}
.sd-shelf-overview .sd-shelf-overview__products-tabs-spacer {
  flex: 0 0 auto;
  margin: 4px 0 12px;
  min-height: var(--sd-overview-import-tabs-h);
  box-sizing: border-box;
  border-bottom: 1px solid transparent;
  pointer-events: none;
}
.sd-shelf-overview .sd-shelf-overview__products-chart-stage {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  height: var(--sd-overview-chart-min-h);
  min-height: var(--sd-overview-chart-min-h);
}
.sd-shelf-overview .sd-shelf-overview__products-chart-stage > .sd-shelf-landing__activity-chart {
  width: 100%;
  height: 100%;
  min-height: var(--sd-overview-chart-min-h);
  box-sizing: border-box;
}
.sd-shelf-overview .sd-shelf-overview__products-chart-stage > .sd-shelf-landing__activity-chart[hidden] {
  display: none !important;
}
.sd-shelf-overview .sd-shelf-overview__imports-chart-stage {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  height: var(--sd-overview-chart-min-h);
  min-height: var(--sd-overview-chart-min-h);
  overflow: visible;
  box-sizing: border-box;
}
.sd-shelf-overview .sd-shelf-overview__imports-chart-stage > .sd-shelf-landing__activity-chart {
  width: 100%;
  height: 100%;
  min-height: var(--sd-overview-chart-min-h);
  box-sizing: border-box;
}
.sd-shelf-overview .sd-shelf-overview__sankey-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: var(--sd-overview-chart-min-h);
  font-size: 12px;
  box-sizing: border-box;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports > .sd-shelf-landing__activity-tabpanels {
  flex: 0 0 auto;
  min-height: var(--sd-overview-chart-min-h);
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-tabpanel {
  flex: 0 0 auto;
  min-height: var(--sd-overview-chart-min-h);
  display: flex;
  flex-direction: column;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-landing__activity-tabpanel[hidden] {
  display: none !important;
}
.sd-shelf-overview .sd-shelf-overview__chart-card .sd-shelf-landing__activity-chart {
  flex: 0 0 auto;
  min-height: 0;
  width: 100%;
}
.sd-shelf-overview .sd-shelf-overview__chart-card .sd-shelf-landing__activity-chart .apexcharts-canvas {
  margin-bottom: 0 !important;
  max-height: var(--sd-overview-chart-min-h);
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports[data-imported-chart-mode="stacked"] .sd-shelf-landing__activity-chart .apexcharts-canvas {
  max-height: none;
}
.sd-shelf-overview .sd-shelf-overview__import-tabs .sd-shelf-landing__activity-tab {
  margin: 0 0 -1px;
  padding: 10px 14px;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  font-family: inherit;
  color: var(--sd-muted);
  cursor: pointer;
}
.sd-shelf-overview .sd-shelf-overview__import-tabs .sd-shelf-landing__activity-tab:hover {
  color: var(--sd-text);
  background: transparent;
}
.sd-shelf-overview .sd-shelf-overview__import-tabs .sd-shelf-landing__activity-tab.is-active {
  color: var(--sd-text);
  font-weight: 600;
  border-bottom-color: var(--sd-overview-imports-fg);
  background: transparent;
  box-shadow: none;
}
.sd-shelf-overview .sd-shelf-overview__import-tabs .sd-shelf-landing__activity-tab:focus-visible {
  outline: 2px solid var(--sd-overview-imports-fg);
  outline-offset: 2px;
  border-radius: 4px;
}
.sd-shelf-overview .sd-shelf-landing__activity-chart-mode {
  background: transparent;
  border-top: none;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  padding: 12px 0 0;
  min-height: 0;
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle {
  width: auto;
  max-width: none;
  padding: 0;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle .sd-video-view-option {
  flex: 0 0 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 7px 12px;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border);
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
  background: transparent;
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle .sd-video-view-option:first-child {
  border-left: none;
  border-radius: var(--sd-radius) 0 0 var(--sd-radius);
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle .sd-video-view-option:last-child {
  border-radius: 0 var(--sd-radius) var(--sd-radius) 0;
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle .sd-video-view-option:only-child {
  border-radius: var(--sd-radius);
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle .sd-video-view-option:hover {
  background: color-mix(in srgb, var(--sd-accent) 8%, var(--sd-surface));
  color: var(--sd-text);
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle .sd-video-view-option--selected {
  background: var(--sd-overview-products-bg);
  color: var(--sd-overview-products-fg);
  box-shadow: none;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-toggle .sd-video-view-option--selected {
  background: var(--sd-overview-imports-bg);
  color: var(--sd-overview-imports-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle-icon {
  display: inline-flex;
  line-height: 0;
  color: inherit;
}
.sd-shelf-overview .sd-shelf-overview__chart-toggle-icon svg {
  width: 14px;
  height: 14px;
}
.sd-shelf-overview .sd-shelf-overview__chart-info {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 4px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--sd-overview-products-soft);
  color: var(--sd-muted);
  flex: 0 0 auto;
}
.sd-shelf-overview .sd-shelf-overview__chart-card--imports .sd-shelf-overview__chart-info {
  background: var(--sd-overview-imports-soft);
}
.sd-shelf-overview .sd-shelf-overview__chart-info-icon {
  flex: 0 0 auto;
  display: inline-flex;
  line-height: 0;
  margin-top: 1px;
  color: var(--sd-overview-products-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-info-icon--imports {
  color: var(--sd-overview-imports-fg);
}
.sd-shelf-overview .sd-shelf-overview__chart-info-icon svg {
  width: 16px;
  height: 16px;
}
.sd-shelf-overview .sd-shelf-overview__chart-info-text {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--sd-muted);
}
.sd-shelf-overview .sd-shelf-overview__chart-card--products #sd-shelf-activity-chart-products .apexcharts-xaxis-label tspan:nth-child(2) {
  fill: var(--sd-muted);
  font-weight: 500;
  font-size: 11px;
}
.sd-shelf-overview .sd-shelf-landing__activity-tabs {
  margin-top: 4px;
}
.sd-shelf-overview .sd-shelf-overview__bottom {
  display: block;
  margin-top: 20px;
  width: 100%;
}
.sd-shelf-overview .sd-shelf-overview__activity {
  margin-top: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
.sd-shelf-overview .sd-shelf-overview__activity-head {
  margin-bottom: 8px;
}
.sd-shelf-overview .sd-shelf-overview__activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.sd-shelf-overview .sd-shelf-overview__upload-empty-icon svg {
  width: 22px;
  height: 22px;
}
.sd-shelf-overview .sd-shelf-overview__upload-empty-title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 600;
  color: var(--sd-text);
}
.sd-shelf-overview .sd-shelf-overview__upload-empty-hint {
  margin: 0;
  font-size: 13px;
  max-width: 28rem;
  margin-inline: auto;
}
.sd-shelf-overview .sd-shelf-overview__upload-table-wrap {
  border-radius: 12px;
}
.sd-shelf-overview .sd-shelf-overview__upload-table thead th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sd-muted);
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-surface));
}
.sd-shelf-overview .sd-shelf-overview__status-chip {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  background: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  color: var(--sd-text);
}
.sd-shelf-overview .sd-shelf-overview__status-chip--completed {
  background: var(--sd-overview-complete);
  color: #166534;
}
.sd-shelf-overview .sd-shelf-overview__status-chip--processing,
.sd-shelf-overview .sd-shelf-overview__status-chip--queued {
  background: var(--sd-overview-well);
  color: var(--sd-accent);
}
.sd-shelf-overview .sd-shelf-overview__status-chip--cancelled,
.sd-shelf-overview .sd-shelf-overview__status-chip--failed {
  background: var(--sd-overview-cancel);
  color: #991b1b;
}
html.theme-dark .sd-shelf-overview .sd-shelf-overview__status-chip--completed,
html.theme-path .sd-shelf-overview .sd-shelf-overview__status-chip--completed,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__status-chip--completed,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__status-chip--completed,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__status-chip--completed {
  color: #86efac;
}
html.theme-dark .sd-shelf-overview .sd-shelf-overview__status-chip--cancelled,
html.theme-dark .sd-shelf-overview .sd-shelf-overview__status-chip--failed,
html.theme-path .sd-shelf-overview .sd-shelf-overview__status-chip--cancelled,
html.theme-path .sd-shelf-overview .sd-shelf-overview__status-chip--failed,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__status-chip--cancelled,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__status-chip--failed,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__status-chip--cancelled,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__status-chip--failed,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__status-chip--cancelled,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__status-chip--failed {
  color: #fca5a5;
}
.sd-shelf-overview .sd-shelf-overview__activity-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-top: 1px solid color-mix(in srgb, var(--sd-border) 80%, transparent);
}
.sd-shelf-overview .sd-shelf-overview__activity-item:first-child {
  border-top: none;
}
.sd-shelf-overview .sd-shelf-overview__activity-icon {
  flex: 0 0 auto;
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--sd-overview-well);
  color: var(--sd-accent);
}
.sd-shelf-overview .sd-shelf-overview__activity-icon svg {
  width: 16px;
  height: 16px;
}
.sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
.sd-shelf-overview .sd-shelf-overview__activity-icon--batch_upload {
  background: var(--sd-overview-upload);
  color: #6d28d9;
}
.sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed {
  background: var(--sd-overview-complete);
  color: #15803d;
}
.sd-shelf-overview .sd-shelf-overview__activity-icon--upload_cancelled,
.sd-shelf-overview .sd-shelf-overview__activity-icon--task_cancelled {
  background: var(--sd-overview-cancel);
  color: #b91c1c;
}
.sd-shelf-overview .sd-shelf-overview__activity-icon--comment_added {
  background: var(--sd-overview-comment);
  color: #1d4ed8;
}
.sd-shelf-overview .sd-shelf-overview__activity-icon--status_change {
  background: var(--sd-overview-status);
  color: #a16207;
}
html.theme-dark .sd-shelf-overview .sd-shelf-overview__activity-icon--batch_upload,
html.theme-dark .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-path .sd-shelf-overview .sd-shelf-overview__activity-icon--batch_upload,
html.theme-path .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__activity-icon--batch_upload,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__activity-icon--batch_upload,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__activity-icon--batch_upload,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed {
  color: #c4b5fd;
}
html.theme-dark .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-path .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-greenday .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-vintage .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed,
html.theme-shelfy .sd-shelf-overview .sd-shelf-overview__activity-icon--upload_completed {
  color: #86efac;
}
.sd-shelf-overview .sd-shelf-overview__activity-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sd-shelf-overview .sd-shelf-overview__activity-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
}
.sd-shelf-overview .sd-shelf-overview__activity-detail {
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-shelf-overview .sd-shelf-overview__activity-time {
  font-size: 11px;
  color: var(--sd-muted);
}
.sd-shelf-overview .sd-shelf-overview__activity-empty {
  padding: 12px 0 4px;
  font-size: 13px;
}

/* Home page ? type scale (Inter) & hierarchy; content wrapped in .sd-home-page */
.sd-home-page {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  container-type: inline-size;
  container-name: shelfy-home;
  min-width: 0;
}
/* Welcome copy (title + desc) + Create Shelf / Add Insight; actions column vertically centered on full copy block. */
.sd-home-page__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px 20px;
  margin-bottom: 24px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.sd-home-page__hero-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  min-width: 0;
}
.sd-home-page__hero-copy .sd-page-title {
  margin: 0;
  min-width: 0;
}
.sd-home-page__hero-copy .sd-page-desc {
  margin: 0;
  max-width: none;
}
.sd-home-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 12px;
  flex-shrink: 0;
}
@container shelfy-home (max-width: 28rem) {
  .sd-home-page__hero {
    grid-template-columns: 1fr;
  }
  .sd-home-page__hero-actions {
    justify-self: end;
    width: 100%;
  }
}
.sd-home-page .sd-page-title {
  font-size: clamp(1.5rem, 1.35rem + 0.45vw, 1.75rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: var(--sd-text);
}
.sd-home-page .sd-page-desc {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
  max-width: none;
}
.sd-home-page .sd-home-recent-activity__heading,
.sd-home-page .sd-home-recent-panel__title {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--sd-text);
}
.sd-home-page .sd-home-counts__eyebrow {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sd-muted);
  opacity: 1;
  line-height: 1.25;
}
.sd-home-page .sd-home-counts__eyebrow.sd-home-counts__eyebrow--placeholder {
  opacity: 0;
  pointer-events: none;
  user-select: none;
}
.sd-home-page .sd-home-shelf-card__name {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.012em;
  overflow-wrap: break-word;
  word-break: normal;
}
.sd-home-page .sd-home-recent-link__name {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.012em;
  overflow-wrap: break-word;
  word-break: normal;
}
.sd-home-page .sd-home-shelf-card__line {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.45;
}
.sd-home-page .sd-home-shelf-card__line--muted,
.sd-home-page .sd-home-shelf-card__meta-soft,
.sd-home-page .sd-home-shelf-card__meta-sep,
.sd-home-page .sd-home-shelf-card__line--small,
.sd-home-page .sd-home-shelf-card__updated {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--sd-muted);
}
.sd-home-page .sd-home-shelf-card__line--by {
  font-size: 0.8125rem;
}
.sd-home-page .sd-home-shelf-card__line--meta {
  font-size: 0.8125rem;
}
.sd-home-page .sd-home-shelf-card__by-tail {
  font-size: 0.75rem;
  font-weight: 400;
}
.sd-home-page .sd-home-shelf-card__stat {
  font-size: 0.75rem;
}
.sd-home-page .sd-home-shelf-card__stat-lbl {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.sd-home-page .sd-home-shelf-card__line--small,
.sd-home-page .sd-home-shelf-card__updated,
.sd-home-page .sd-home-shelf-card__stat-lbl {
  opacity: 0.7;
}
.sd-home-page .sd-home-shelf-card__line--muted {
  opacity: 0.55;
}
.sd-home-page .sd-home-shelf-card__meta-soft,
.sd-home-page .sd-home-shelf-card__meta-sep,
.sd-home-page .sd-home-shelf-card__by-tail {
  opacity: 0.8;
}
.sd-home-page .sd-home-shelf-card__stat strong {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.sd-home-page .sd-home-shelf-card__stat strong.sd-home-shelf-card__stat-val--zero {
  color: var(--sd-muted);
  font-weight: 600;
}
.sd-home-page .sd-home-shelf-card__stat-chip strong.sd-home-shelf-card__stat-val--zero {
  color: var(--sd-muted);
  font-weight: 600;
}
.sd-home-page .sd-home-shelf-card__kind,
.sd-home-page .sd-home-shelf-card__context-kind,
.sd-home-page .sd-home-shelf-card__kind-badge {
  font-size: 0.6875rem;
  font-weight: 600;
}
.sd-home-page .sd-home-recent-link__meta {
  font-size: 0.75rem;
  font-weight: 400;
}
.sd-home-page .sd-home-recent-panel__footer-link {
  font-size: 0.8125rem;
  font-weight: 600;
}
.sd-home-section {
  margin-top: var(--sd-home-space-section);
}

/* Home hero: + Create Shelf (solid accent) + + Add Insight (outlined), mockup-aligned */
/* Also used for Shelves page #sd-s1-new-shelf (same Create Shelf treatment)
   and homepage Recent Activity empty-state CTAs. */
.sd-home-page__hero-actions .sd-home-hero-cta,
.sd-home-activity__empty-actions .sd-home-hero-cta,
#sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta {
  min-height: 40px;
  padding: 10px 18px;
  border-radius: var(--sd-home-card-radius);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  gap: 8px;
}
.sd-home-page__hero-actions .sd-home-hero-cta__plus,
.sd-home-activity__empty-actions .sd-home-hero-cta__plus,
#sd-s1-page-root #sd-s1-new-shelf .sd-home-hero-cta__plus {
  font-weight: 600;
  line-height: 1;
  margin-right: -2px;
}
.sd-home-page__hero-actions .sd-home-hero-cta--shelf.sd-btn--primary:focus-visible,
.sd-home-activity__empty-actions .sd-home-hero-cta--shelf.sd-btn--primary:focus-visible,
#sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta--shelf.sd-btn--primary:focus-visible,
#sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta--insight-create.sd-btn--primary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 70%, var(--sd-btn-primary-fg, #fff));
  outline-offset: 2px;
}
/* Add Insight: same muted accent as Shelves Actions button */
.sd-home-page__hero-actions .sd-home-hero-cta--insight.sd-btn--secondary,
.sd-home-activity__empty-actions .sd-home-hero-cta--insight.sd-btn--secondary {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  border-color: var(--sd-border);
  color: color-mix(in srgb, var(--sd-accent) 72%, var(--sd-text));
  box-shadow: none;
}
.sd-home-page__hero-actions .sd-home-hero-cta--insight.sd-btn--secondary:hover:not(:disabled),
.sd-home-activity__empty-actions .sd-home-hero-cta--insight.sd-btn--secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 18%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-border));
  color: color-mix(in srgb, var(--sd-accent) 82%, var(--sd-text));
  box-shadow: none;
}
.sd-home-page__hero-actions .sd-home-hero-cta--insight.sd-btn--secondary:focus-visible,
.sd-home-activity__empty-actions .sd-home-hero-cta--insight.sd-btn--secondary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 2px;
}
html.theme-dark .sd-home-page__hero-actions .sd-home-hero-cta--insight.sd-btn--secondary,
html.theme-dark .sd-home-activity__empty-actions .sd-home-hero-cta--insight.sd-btn--secondary {
  background: color-mix(in srgb, var(--sd-accent) 20%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 36%, var(--sd-border));
  color: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-text));
  box-shadow: none;
}
html.theme-dark .sd-home-page__hero-actions .sd-home-hero-cta--insight.sd-btn--secondary:hover:not(:disabled),
html.theme-dark .sd-home-activity__empty-actions .sd-home-hero-cta--insight.sd-btn--secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 28%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 48%, var(--sd-border));
  color: color-mix(in srgb, var(--sd-accent) 32%, var(--sd-text));
  box-shadow: none;
}
html.theme-dark .sd-home-page__hero-actions .sd-home-hero-cta--insight.sd-btn--secondary:focus-visible,
html.theme-dark .sd-home-activity__empty-actions .sd-home-hero-cta--insight.sd-btn--secondary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 50%, transparent);
  outline-offset: 2px;
}
/* Insights/Shelves page primary CTAs: solid steel, cream label */
html.theme-dark #sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta--insight-create.sd-btn--primary,
html.theme-dark #sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta--shelf.sd-btn--primary,
html.theme-dark .sd-home-page__hero-actions .sd-home-hero-cta--shelf.sd-btn--primary,
html.theme-dark .sd-home-activity__empty-actions .sd-home-hero-cta--shelf.sd-btn--primary {
  background: color-mix(in srgb, var(--sd-accent) 88%, #2a3138);
  border-color: color-mix(in srgb, var(--sd-accent) 72%, var(--sd-border));
  color: var(--sd-btn-primary-fg);
}
html.theme-dark #sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta--insight-create.sd-btn--primary:hover:not(:disabled),
html.theme-dark #sd-s1-page-root #sd-s1-new-shelf.sd-home-hero-cta--shelf.sd-btn--primary:hover:not(:disabled),
html.theme-dark .sd-home-page__hero-actions .sd-home-hero-cta--shelf.sd-btn--primary:hover:not(:disabled),
html.theme-dark .sd-home-activity__empty-actions .sd-home-hero-cta--shelf.sd-btn--primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent-hover) 90%, #2a3138);
  border-color: color-mix(in srgb, var(--sd-accent-hover) 78%, var(--sd-border));
  color: var(--sd-btn-primary-hover-fg);
}

/* Home: floating Ask ShelfyBot (below modals z-index:100, above main content). */
.sd-home-fab-shelfybot {
  position: fixed;
  right: max(20px, env(safe-area-inset-right, 0px));
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  display: inline-flex;
  align-items: center;
  gap: 8px;
  z-index: 60;
  margin: 0;
  padding: 12px 18px;
  min-height: 44px;
  box-sizing: border-box;
  border-radius: 9999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
  cursor: pointer;
}
.sd-home-fab-shelfybot__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.sd-home-fab-shelfybot__icon svg {
  width: 16px;
  height: 16px;
  display: block;
}
.sd-home-fab-shelfybot:hover {
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.22);
}
.sd-home-fab-shelfybot:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 3px;
}
html.theme-dark .sd-home-fab-shelfybot {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}
html.theme-dark .sd-home-fab-shelfybot:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
}

/* Home: ShelfyBot popup ? full-page-style panel over home */
.sd-home-shelfybot-overlay.sd-overlay {
  z-index: 250;
  padding: 12px;
  background: transparent;
  align-items: center;
  justify-content: center;
}
.sd-home-shelfybot-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  cursor: pointer;
}
html.theme-dark .sd-home-shelfybot-overlay__backdrop {
  background: rgba(0, 0, 0, 0.55);
}
.sd-home-shelfybot-overlay__frame {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100vw - 24px, 960px);
  height: min(100vh - 24px, 560px);
  max-height: calc(100vh - 24px);
  border-radius: var(--sd-home-card-radius);
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  min-height: 0;
}
.sd-home-shelfybot-overlay__topbar {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 16px;
  min-height: 0;
  padding: 14px 16px 12px 18px;
  box-sizing: border-box;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 85%, transparent);
  background: var(--sd-bg);
}
.sd-home-shelfybot-overlay__intro {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sd-home-shelfybot-overlay__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--sd-text);
}
.sd-home-shelfybot-overlay__desc {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.42;
  color: var(--sd-muted);
}
.sd-home-shelfybot-overlay__actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 2px;
}
.sd-home-shelfybot-overlay__new.sd-btn {
  margin: 0;
  padding: 0 10px;
  min-height: 32px;
  height: 32px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  border-radius: var(--sd-home-card-radius);
  box-sizing: border-box;
  color: var(--sd-muted);
  border-color: color-mix(in srgb, var(--sd-border) 92%, transparent);
  background: transparent;
  opacity: 0.92;
}
.sd-home-shelfybot-overlay__new.sd-btn:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 10%, transparent);
  border-color: var(--sd-border);
  opacity: 1;
}
.sd-home-shelfybot-overlay__history.sd-btn {
  margin: 0;
  padding: 0;
  width: 32px;
  min-width: 32px;
  min-height: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sd-home-card-radius);
  box-sizing: border-box;
  color: var(--sd-muted);
  border-color: color-mix(in srgb, var(--sd-border) 92%, transparent);
  background: transparent;
  opacity: 0.92;
}
.sd-home-shelfybot-overlay__history.sd-btn:hover,
.sd-home-shelfybot-overlay__history.sd-btn[aria-pressed="true"] {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 10%, transparent);
  border-color: var(--sd-border);
  opacity: 1;
}
.sd-home-shelfybot-overlay__history-svg {
  width: 16px;
  height: 16px;
  display: block;
}
.sd-home-shelfybot-overlay__close {
  position: relative;
  top: auto;
  right: auto;
  z-index: 1;
  flex: 0 0 auto;
}
.sd-home-shelfybot-overlay__mount {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  /* Shared horizontal rhythm with messages + composer (see --sd-home-sb-x). */
  --sd-home-sb-x: 20px;
  padding: 10px var(--sd-home-sb-x) 8px;
  background: var(--sd-bg);
}

/* Home ShelfyBot popup: markup is not under .sd-content, so :has(.sd-shelfybot-page) layout/height rules never apply. */
.sd-home-shelfybot-overlay__mount #sd-shelfybot-page-root.sd-shelfybot-page {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  background: var(--sd-bg);
}
.sd-home-shelfybot-overlay__mount #sd-shelfybot-page-root.sd-stores-facet--open {
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
}
.sd-home-shelfybot-overlay__mount
  #sd-shelfybot-page-root.sd-stores-facet--open
  #sd-shelfybot-history-panel.sd-stores-facet.sd-shelfybot-history {
  position: static;
  flex: 0 0 min(260px, 42%);
  width: min(260px, 42%);
  max-width: min(260px, 42%);
  height: auto;
  max-height: none;
  min-height: 0;
  align-self: stretch;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  z-index: auto;
}
.sd-home-shelfybot-overlay__mount #sd-shelfybot-page-root.sd-stores-facet--open > .sd-shelfybot-page__main {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  padding-top: 0;
  padding-left: 0;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-page__main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-page__main > .sd-page-title,
.sd-home-shelfybot-overlay__mount .sd-shelfybot-page__main > .sd-page-desc {
  display: none;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-layout {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  align-self: stretch;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot {
  flex: 1 1 auto;
  min-height: 0 !important;
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: auto;
  max-height: none;
  background: var(--sd-bg);
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-chat {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-messages {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  background: var(--sd-bg);
  /* Scrollbar: same as .sd-shelfybot-messages (transparent until hover/focus-within) ? no overlay overrides. */
  padding: 0 10px 12px 0;
  box-sizing: border-box;
  overflow-y: auto;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-chat--empty .sd-shelfybot-messages {
  max-height: none;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-chat--empty .sd-shelfybot-empty-session {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  padding: 4px 8px 8px;
  overflow: visible;
}
/* Home popup: one card + one shadow; mascot scales to ~75% of the empty strip height. */
.sd-home-shelfybot-overlay__mount .sd-shelfybot-empty-session__img {
  max-height: 67.5%;
  max-width: min(82.8%, 198px);
  border-radius: 12px;
  filter: none;
  box-sizing: border-box;
  object-fit: contain;
  opacity: 0.54;
  border: 0;
  box-shadow: none;
}
html.theme-dark .sd-home-shelfybot-overlay__mount .sd-shelfybot-empty-session__img {
  opacity: 0.54;
  border-color: transparent;
  box-shadow: none;
}
.sd-home-shelfybot-overlay__mount #sd-shelfybot-toggle-history,
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__history-toggle {
  display: none !important;
}
.sd-home-shelfybot-overlay__mount #sd-shelfybot-new-composer {
  display: none !important;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg--user {
  padding: 10px 12px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  border-color: var(--sd-border);
  box-sizing: border-box;
}
html.theme-dark .sd-home-shelfybot-overlay__mount .sd-shelfybot-msg--user {
  background: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-surface));
  border-color: var(--sd-border);
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  background: var(--sd-bg);
  padding: 0 10px 6px;
  border-top: none;
  row-gap: 7px;
  margin-top: 0;
  flex: 0 0 auto;
  box-sizing: border-box;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row {
  grid-row: 1;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  box-shadow: none;
  background: var(--sd-surface);
  align-items: center;
  min-height: 42px;
  box-sizing: border-box;
  gap: 5px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  padding: 5px 6px 5px 8px;
  width: 100%;
  max-width: 100%;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row:focus-within {
  border-color: var(--sd-input-focus-border);
  box-shadow: var(--sd-input-focus-ring);
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row .sd-shelfybot-input.sd-input {
  min-height: 40px;
  max-height: min(32vh, 200px);
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 6px;
  padding-right: 4px;
  align-self: center;
  line-height: 1.35;
  box-sizing: border-box;
  outline: none;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row .sd-shelfybot-input.sd-input:focus,
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row .sd-shelfybot-input.sd-input:focus-visible {
  border: none;
  outline: none;
  box-shadow: none;
}
html.theme-dark .sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row {
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
  border: 1px solid var(--sd-border);
  box-shadow: none;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-composer__row .sd-btn--primary {
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  align-self: center;
  box-sizing: border-box;
  flex-shrink: 0;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-hint {
  grid-row: 2;
  margin: 0;
  padding-left: 2px;
  box-sizing: border-box;
  font-size: 11px;
  line-height: 1.35;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-hint:empty {
  display: none;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-provider-meta {
  grid-row: 3;
  margin: -1px 0 0;
  padding: 0 0 0 2px;
  box-sizing: border-box;
  font-size: 10px;
  line-height: 1.3;
  color: var(--sd-muted);
  opacity: 0.62;
  justify-self: start;
  text-align: left;
  max-width: 100%;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-provider-meta strong {
  font-weight: 500;
  color: inherit;
  opacity: 0.95;
}
/* Home popup: tighter transcript + hierarchy (no new elements). */
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg {
  margin-bottom: 12px;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg--assistant {
  padding: 2px 0 2px 10px;
  border-left-width: 2px;
  border-left-color: color-mix(in srgb, var(--sd-accent) 30%, var(--sd-border));
  border-radius: 0 6px 6px 0;
}
html.theme-dark .sd-home-shelfybot-overlay__mount .sd-shelfybot-msg--assistant {
  border-left-color: color-mix(in srgb, var(--sd-accent) 26%, var(--sd-border));
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__role {
  margin-bottom: 4px;
  font-size: 10px;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__role-row {
  margin-bottom: 4px;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__text {
  font-size: 12.5px;
  line-height: 1.4;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__text p {
  margin-bottom: 5px;
  color: color-mix(in srgb, var(--sd-text) 86%, var(--sd-muted));
  font-weight: 400;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg--assistant .sd-shelfybot-msg__text > p:first-of-type {
  color: color-mix(in srgb, var(--sd-text) 68%, var(--sd-muted));
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__text ul {
  margin-bottom: 5px;
  padding-left: 17px;
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__text li {
  margin: 1px 0;
  line-height: 1.36;
  color: color-mix(in srgb, var(--sd-text) 88%, var(--sd-muted));
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-msg__text li strong {
  font-weight: 600;
  color: var(--sd-text);
}
.sd-home-shelfybot-overlay__mount .sd-shelfybot-empty {
  padding: 28px 8px 24px;
  font-size: 12px;
  line-height: 1.4;
}
.sd-home-counts-wrap {
  margin-top: var(--sd-home-space-md);
  width: 100%;
  min-width: 0;
}
/* KPI tiles: auto-fit by home column width (sidebar + narrow main no longer forces 5 skinny columns) */
.sd-home-counts__grid {
  display: grid;
  width: 100%;
  max-width: 100%;
  gap: var(--sd-home-space-sm);
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--sd-home-count-card-track-min, 9.5rem)), 1fr)
  );
  min-width: 0;
  align-items: stretch;
}
/* One wrapper per column: eyebrow + card so every tile shares the same vertical split (row height). */
.sd-home-counts__cell {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sd-home-space-xs);
  min-width: 0;
  min-height: 0;
}
.sd-home-counts__cell .sd-home-count-card {
  flex: 1 1 auto;
  min-height: 0;
}
.sd-home-counts__eyebrow {
  margin: 0;
  padding: 0 1px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--sd-muted);
  opacity: 0.75;
  line-height: 1.2;
}
.sd-home-counts__eyebrow--placeholder {
  opacity: 0;
  pointer-events: none;
  user-select: none;
}
.sd-home-count-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 14px 14px 12px;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-home-card-radius);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  background: var(--sd-surface);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.sd-home-count-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
  transform: translateY(-1px);
  text-decoration: none;
  color: inherit;
}
html.theme-dark .sd-home-count-card:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
/* Top block: icon | (metric row + label) */
.sd-home-count-card__top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.sd-home-count-card__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.sd-home-count-card__main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}
.sd-home-count-card__value-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px 10px;
  min-width: 0;
}
.sd-home-count-card__num {
  font-size: clamp(1.55rem, 1.2rem + 0.9vw, 1.85rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--sd-text);
  text-align: left;
  flex: 0 0 auto;
  min-width: min-content;
}
.sd-home-count-card__lbl {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--sd-muted);
  line-height: 1.25;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-home-count-card__badge {
  flex: 0 0 auto;
  align-self: center;
  margin-top: 0;
  margin-left: 0;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: nowrap;
  border: 1px solid transparent;
}
.sd-home-count-card__badge--neutral {
  color: var(--sd-muted);
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-muted) 18%, var(--sd-border));
}
.sd-home-count-card__divider {
  margin: 12px 0 10px;
  border: none;
  border-top: 1px solid var(--sd-border);
}
.sd-home-count-card__footer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 8px;
  min-width: 0;
}
.sd-home-count-card__meta {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--sd-muted);
  opacity: 0.92;
  min-width: 0;
  flex: 0 1 auto;
}
.sd-home-count-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--sd-desktop-home-kpi-icon-slot);
  min-width: var(--sd-desktop-home-kpi-icon-slot);
  height: var(--sd-desktop-home-kpi-icon-slot);
  box-sizing: border-box;
  line-height: 0;
}
.sd-home-count-card__icon svg {
  width: var(--sd-desktop-home-kpi-icon-slot);
  height: var(--sd-desktop-home-kpi-icon-slot);
  flex-shrink: 0;
  display: block;
}
.sd-home-count-card__icon:not(:has(svg)) {
  font-size: var(--sd-desktop-home-kpi-icon-slot);
  line-height: 1;
}
.sd-home-activity-ico svg {
  width: var(--sd-desktop-home-kpi-icon-slot);
  height: var(--sd-desktop-home-kpi-icon-slot);
  flex-shrink: 0;
  display: block;
}
/* Neutral KPI tiles: white/surface fill, gray icon tile + trend pills (no per-metric accent wash). */
.sd-home-count-card .sd-home-count-card__icon-wrap {
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-surface));
  color: var(--sd-muted);
}
.sd-home-count-card__badge:not(.sd-home-count-card__badge--neutral) {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-border));
}
html.theme-dark .sd-home-count-card__badge:not(.sd-home-count-card__badge--neutral) {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  border-color: var(--sd-border);
}
html.theme-dark .sd-home-count-card__badge--neutral {
  color: var(--sd-muted);
  background: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
  border-color: var(--sd-border);
}

/* Small viewports only: stack weekly pill under the Updated line. */
@media (max-width: 520px) {
  .sd-home-page .sd-home-count-card__footer {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
  }
  .sd-home-page .sd-home-count-card__meta {
    flex: none;
    width: 100%;
  }
  .sd-home-page .sd-home-count-card__badge {
    align-self: flex-start;
  }
}

.sd-home-recent-panels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
  gap: var(--sd-home-space-md);
  margin-top: var(--sd-home-space-sm);
  min-width: 0;
}
/* Home: Recent Shelves + Recent Insights ? paired rows so each insight card matches shelf row height */
.sd-home-recent-panels--paired {
  grid-template-columns: minmax(0, 1fr);
  /* No row-gap before footer links ? space under titles comes from .sd-home-recent-pair-head margin only. */
  gap: 0;
}
/* Home: Recent Activity ? legacy paired-panel hook (list redesign uses .sd-home-activity) */
.sd-home-recent-panels--activity {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 0;
}

/* Home ? Recent Activity (card rows: tabs + stacked / horizontal layout by width) */
.sd-home-page .sd-home-activity.sd-card {
  margin-top: var(--sd-home-space-md);
  margin-bottom: 0;
  padding: 18px 20px 16px;
}
.sd-home-activity__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.sd-home-activity__title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--sd-text);
}
.sd-home-activity__tabs {
  display: flex;
  align-items: center;
  gap: 2px;
}
.sd-home-activity__tab {
  appearance: none;
  border: none;
  background: transparent;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 1.25;
}
.sd-home-activity__tab:hover {
  color: var(--sd-text);
}
.sd-home-activity__tab.is-active {
  background: color-mix(in srgb, var(--sd-accent) 18%, var(--sd-surface));
  color: var(--sd-text);
}
.sd-home-activity__tab:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 2px;
}
.sd-home-activity__list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.sd-home-activity-row {
  display: grid;
  /* Fixed badge column: every row is its own grid; same width keeps stats / divider edges aligned. */
  grid-template-columns: minmax(0, 1fr) var(--sd-home-activity-badge-col) 44px;
  align-items: stretch;
  min-width: 0;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}
.sd-home-activity-row:hover {
  border-color: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-border));
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
html.theme-dark .sd-home-activity-row:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.sd-home-activity-row__hit {
  grid-column: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  padding: 14px 10px 14px 14px;
  text-decoration: none;
  color: inherit;
}
.sd-home-activity-row__hit:hover,
.sd-home-activity-row__hit:focus,
.sd-home-activity-row__hit:focus-visible,
.sd-home-activity-row__hit:active {
  text-decoration: none;
}
.sd-home-activity-card__top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.sd-home-activity-card__bottom {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
}
.sd-home-activity-card__badge-wrap {
  grid-column: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 8px;
  border-left: 1px solid var(--sd-border);
}
.sd-home-activity-ico {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sd-home-activity-ico--insight {
  background: color-mix(in srgb, var(--sd-home-count-shelf-icon) 10%, var(--sd-home-count-shelf-bg));
  color: var(--sd-home-count-shelf-icon);
}
/* Shelf stack SVG ? same neutral tile as Home Shelves KPI (SVG sized below) */
.sd-home-activity-ico--shelf {
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-surface));
  color: var(--sd-muted);
  line-height: 0;
}
.sd-home-activity-row__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sd-home-activity-row__title {
  font-weight: 600;
  font-size: 15px;
  color: var(--sd-text);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.sd-home-activity-row__meta {
  font-size: 13px;
  color: var(--sd-muted);
  line-height: 1.35;
}
.sd-home-activity-row__meta .sd-home-activity-row__by {
  font-weight: 600;
  color: color-mix(in srgb, var(--sd-muted) 55%, var(--sd-text));
}
.sd-home-activity-row__stats {
  /* Equal columns; full width in card stack, fixed strip when horizontal layout. */
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  flex-shrink: 0;
  align-self: stretch;
  align-items: stretch;
  box-sizing: border-box;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  overflow: hidden;
}
.sd-home-activity-last-upload {
  display: block;
  margin-top: 1px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--sd-muted);
}
.sd-home-activity-last-upload:not([hidden]) {
  display: block;
}
.sd-home-activity-last-upload[hidden] {
  display: none !important;
}
.sd-home-activity-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  border-right: 1px solid var(--sd-border);
  box-sizing: border-box;
  text-align: left;
}
.sd-home-activity-stat:last-child {
  border-right: none;
}
.sd-home-activity-stat__lbl {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sd-home-activity-stat__val {
  font-size: 17px;
  font-weight: 700;
  color: var(--sd-text);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.sd-home-activity-stat__val--zero {
  color: var(--sd-muted);
  font-weight: 600;
}
.sd-home-activity-badge {
  flex-shrink: 0;
  align-self: center;
  margin: 0;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Recent Activity: equal-width status pills, centered in the badge column. */
.sd-home-activity .sd-home-activity-card__badge-wrap .sd-home-activity-badge {
  width: auto;
  min-width: 10.25rem;
  max-width: 100%;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-home-activity .sd-home-activity-card__badge-wrap .sd-home-activity-badge--btn {
  text-align: center;
}
.sd-home-activity-badge--complete {
  background: var(--sd-home-workflow-complete-bg);
  color: var(--sd-home-workflow-complete-fg);
  border: 1px solid var(--sd-home-workflow-complete-border);
}
.sd-home-activity-badge--review {
  background: var(--sd-home-workflow-review-bg);
  color: var(--sd-home-workflow-review-fg);
  border: 1px solid var(--sd-home-workflow-review-border);
}
.sd-home-activity-badge--progress {
  background: var(--sd-home-workflow-progress-bg);
  color: var(--sd-home-workflow-progress-fg);
  border: 1px solid var(--sd-home-workflow-progress-border);
}
.sd-home-activity-badge--new,
.sd-home-activity-badge--unknown {
  background: var(--sd-home-workflow-new-bg);
  color: var(--sd-home-workflow-new-fg);
  border: 1px solid var(--sd-home-workflow-new-border);
}
.sd-home-activity-badge--btn {
  cursor: pointer;
  border: none;
  font: inherit;
  text-align: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.sd-home-activity-badge--btn:hover {
  filter: brightness(0.97);
}
.sd-home-activity-badge--btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 2px;
}
.sd-home-status-popover {
  position: fixed;
  z-index: 12000;
  min-width: 11rem;
  max-width: min(18rem, calc(100vw - 16px));
  padding: 6px;
  margin: 0;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12);
}
.sd-home-status-popover[hidden] {
  display: none !important;
}
html.theme-dark .sd-home-status-popover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
.sd-home-status-popover__opt {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-text);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}
.sd-home-status-popover__opt:hover,
.sd-home-status-popover__opt:focus-visible {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
  outline: none;
}
.sd-home-status-popover__opt.is-current {
  font-weight: 700;
  color: var(--sd-accent);
}

.sd-home-activity-menu-popover {
  position: fixed;
  z-index: 12000;
  min-width: 10.5rem;
  max-width: min(18rem, calc(100vw - 16px));
  padding: 6px;
  margin: 0;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12);
  flex-direction: column;
  gap: 2px;
  box-sizing: border-box;
}
.sd-home-activity-menu-popover[hidden] {
  display: none !important;
}
.sd-home-activity-menu-popover:not([hidden]) {
  display: flex;
}
html.theme-dark .sd-home-activity-menu-popover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
.sd-home-activity-menu__opt {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-text);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}
.sd-home-activity-menu__opt:hover,
.sd-home-activity-menu__opt:focus-visible {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
  outline: none;
}
.sd-home-activity-menu__opt--danger {
  color: var(--sd-home-workflow-review-fg, #9f1239);
  font-weight: 600;
}
html.theme-dark .sd-home-activity-menu__opt--danger {
  color: color-mix(in srgb, #fb7185 85%, var(--sd-text));
}

.sd-home-activity-row__menu {
  grid-column: 3;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  align-self: stretch;
  margin: 0;
  padding: 0;
  border: none;
  border-left: 1px solid var(--sd-border);
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
  text-decoration: none;
  color: var(--sd-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}
.sd-home-activity-row__menu:focus,
.sd-home-activity-row__menu:focus-visible,
.sd-home-activity-row__menu:active {
  text-decoration: none;
}
.sd-home-activity-row__menu:hover {
  text-decoration: none;
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
}
.sd-home-activity-row__menu:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: -2px;
}
.sd-home-activity__empty {
  margin-top: 12px;
  padding: 8px 0 4px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.sd-home-activity__empty-art {
  max-width: 32rem;
  pointer-events: none;
}
.sd-home-activity__empty-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.sd-home-activity__empty-links {
  display: flex;
  flex-direction: column;
  gap: var(--sd-home-space-sm);
}
@media (min-width: 860px) {
  .sd-home-activity-row__hit {
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 12px 6px 12px 14px;
  }
  .sd-home-activity-card__top {
    flex: 1 1 0;
    min-width: 0;
  }
  /* Stats strip only inside the hit link; badge sits in grid column 2 of the row. */
  .sd-home-activity-card__bottom {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 0;
  }
  .sd-home-activity-row__stats {
    width: 22rem;
    max-width: 100%;
    margin-left: 0;
    border-radius: 0;
    border: none;
    border-left: 1px solid var(--sd-border);
    overflow: visible;
  }
}

/* Recent Activity: narrow home column ? full-width body + footer row (badge | menu).
   Each card is its own grid; without this, fixed badge column + wide hit row steal space from title/stats. */
@container shelfy-home (max-width: 42rem) {
  .sd-home-activity-row {
    grid-template-columns: minmax(0, 1fr) auto 44px;
    grid-template-rows: auto auto;
  }
  .sd-home-activity-row__hit {
    grid-column: 1 / -1;
    grid-row: 1;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 14px 12px 12px;
    min-width: 0;
  }
  .sd-home-activity-card__top {
    flex: none;
    width: 100%;
    min-width: 0;
  }
  .sd-home-activity-card__bottom {
    flex: none;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
  }
  .sd-home-activity-row__stats {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    border-radius: 8px;
    border: 1px solid var(--sd-border);
    overflow: hidden;
  }
  .sd-home-activity-card__badge-wrap {
    grid-column: 2;
    grid-row: 2;
    border-left: none;
    border-top: 1px solid var(--sd-border);
    padding: 10px 12px;
    align-self: stretch;
    justify-content: center;
  }
  .sd-home-activity-row__menu {
    grid-column: 3;
    grid-row: 2;
    border-top: 1px solid var(--sd-border);
  }
  .sd-home-activity-stat__lbl {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.25;
  }
}

@media (max-width: 640px) {
  .sd-home-activity__head {
    flex-direction: column;
    align-items: flex-start;
  }
  .sd-home-activity-stat {
    padding: 6px 6px;
  }
  .sd-home-activity-row__hit {
    gap: 10px;
    padding: 12px 8px 12px 12px;
  }
}
.sd-home-recent-activity__heading {
  margin: 0 0 var(--sd-home-space-md);
  font-size: 18px;
  font-weight: 600;
  color: var(--sd-text);
}
.sd-home-recent-activity__list {
  display: flex;
  flex-direction: column;
  gap: var(--sd-home-space-sm);
  min-width: 0;
}
.sd-home-recent-activity__item {
  min-width: 0;
}
.sd-home-recent-activity__empty {
  display: flex;
  flex-direction: column;
  gap: var(--sd-home-space-sm);
  min-width: 0;
}
.sd-home-recent-pair-head,
.sd-home-recent-pair-foot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--sd-home-space-md);
  align-items: baseline;
}
.sd-home-recent-pair-head {
  margin: 0 0 var(--sd-home-space-sm);
}
.sd-home-recent-pair-foot {
  /* Match .sd-home-recent-pair-head bottom margin (same gap above footer links). */
  margin-top: var(--sd-home-space-sm);
  padding-top: 0;
  border-top: none;
}
/* Footer links: align with card title text (same horizontal inset as .sd-home-shelf-card / .sd-home-recent-link padding). */
.sd-home-recent-panels--paired .sd-home-recent-panel__footer-link {
  display: block;
  margin-top: 0;
  padding-left: var(--sd-home-card-padding-x);
  box-sizing: border-box;
  width: 100%;
}
.sd-home-recent-pair-grid {
  display: flex;
  flex-direction: column;
  gap: var(--sd-home-space-sm);
  min-width: 0;
}
.sd-home-recent-pair-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sd-home-space-md);
  align-items: stretch;
  min-width: 0;
}
.sd-home-recent-pair-row__shelf,
.sd-home-recent-pair-row__insight {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-items: stretch;
}
.sd-home-recent-pair-row__shelf > *,
.sd-home-recent-pair-row__insight > * {
  min-height: 0;
  height: 100%;
}
.sd-home-recent-slot--empty {
  min-height: 1px;
  pointer-events: none;
}
.sd-home-recent-pair-grid--empty-shelves {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, auto);
  gap: var(--sd-home-space-sm) var(--sd-home-space-md);
  align-items: stretch;
  min-height: 0;
}
.sd-home-recent-pair-grid__shelf-span {
  grid-row: 1 / -1;
  grid-column: 1;
  align-self: stretch;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sd-home-recent-pair-grid__insight-cell {
  grid-column: 2;
  min-width: 0;
  min-height: 0;
  display: grid;
  align-items: stretch;
}
.sd-home-recent-pair-grid__insight-cell--r1 {
  grid-row: 1;
}
.sd-home-recent-pair-grid__insight-cell--r2 {
  grid-row: 2;
}
.sd-home-recent-pair-grid__insight-cell--r3 {
  grid-row: 3;
}
.sd-home-recent-pair-grid__insight-cell > .sd-home-recent-link--paired {
  height: 100%;
  min-height: 0;
}
.sd-home-recent-link.sd-home-recent-link--paired {
  box-sizing: border-box;
}
@media (max-width: 500px) {
  .sd-home-recent-pair-head,
  .sd-home-recent-pair-foot,
  .sd-home-recent-pair-row,
  .sd-home-recent-pair-grid--empty-shelves {
    grid-template-columns: 1fr;
    row-gap: var(--sd-home-space-sm);
  }
  .sd-home-recent-pair-grid__shelf-span,
  .sd-home-recent-pair-grid__insight-cell,
  .sd-home-recent-pair-grid__insight-cell--r1,
  .sd-home-recent-pair-grid__insight-cell--r2,
  .sd-home-recent-pair-grid__insight-cell--r3 {
    grid-column: 1;
    grid-row: auto;
  }
  .sd-home-recent-pair-grid__shelf-span {
    margin-bottom: 2px;
  }
}
.sd-home-recent-panel {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-home-card-radius);
  padding: var(--sd-home-card-padding-y) var(--sd-home-card-padding-x);
  background: transparent;
}
/* Recent Shelves: no outer frame; align with .sd-page-title / .sd-page-desc (no extra panel inset). */
.sd-home-recent-panel.sd-home-recent-panel--shelves {
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
}
/* Match .sd-home-shelf-card horizontal padding so the link lines up with shelf names in the cards. */
.sd-home-recent-panel.sd-home-recent-panel--shelves .sd-home-recent-panel__footer-link {
  padding-left: var(--sd-home-card-padding-x);
  box-sizing: border-box;
}
.sd-home-recent-panel__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--sd-text);
}
.sd-home-recent-panel__footer-link {
  display: inline-block;
  margin-top: var(--sd-home-space-sm);
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-accent);
  text-decoration: none;
}
.sd-home-recent-panel__footer-link:hover {
  text-decoration: underline;
}
.sd-home-recent-list {
  display: grid;
  gap: var(--sd-home-space-sm);
  margin-top: var(--sd-home-space-sm);
}
.sd-home-recent-link {
  display: flex;
  flex-direction: column;
  gap: var(--sd-home-space-xs);
  min-width: 0;
  max-width: 100%;
  padding: var(--sd-home-card-padding-y) var(--sd-home-card-padding-x);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-home-card-radius);
  background: var(--sd-nav-link-active-bg);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--sd-shadow);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.sd-home-recent-link:hover {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
  text-decoration: none;
  color: inherit;
}
html.theme-dark .sd-home-recent-link:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}
.sd-home-recent-link__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--sd-text);
  overflow-wrap: break-word;
  word-break: normal;
}
.sd-home-recent-link__meta {
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-home-recent-link--empty {
  background: var(--sd-nav-link-active-bg);
}
/* Home ? Recent Shelves activity cards (reference: activity list with left detail + right stats/icons) */
.sd-home-shelf-card {
  display: flex;
  flex-direction: column;
  /* Tight stack: meta sits under title inside inner; only the kind pill follows. */
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  padding: var(--sd-home-card-padding-y) var(--sd-home-card-padding-x);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-home-card-radius);
  background: var(--sd-surface);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--sd-shadow);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.sd-home-shelf-card--shelf {
  background: var(--sd-home-count-shelf-bg);
  border-color: var(--sd-home-count-shelf-border);
}
.sd-home-shelf-card.sd-home-shelf-card--insight {
  background: var(--sd-home-count-insight-bg);
  border-color: var(--sd-home-count-insight-border);
}
.sd-home-shelf-card:hover {
  border-color: var(--sd-accent);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
  text-decoration: none;
  color: inherit;
}
.sd-home-shelf-card--shelf:hover {
  border-color: var(--sd-home-count-shelf-border-hover);
}
.sd-home-shelf-card.sd-home-shelf-card--insight:hover {
  border-color: var(--sd-home-count-insight-border-hover);
}
html.theme-dark .sd-home-shelf-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

/* Home ? recent shelf/insight cards: neutral panels (no shelf/insight KPI tint); dark/path/greenday use theme surface + catalog chrome */
.sd-home-page .sd-home-shelf-card--shelf,
.sd-home-page .sd-home-shelf-card.sd-home-shelf-card--insight {
  background: var(--sd-surface);
  border-color: var(--sd-border);
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-home-page .sd-home-shelf-card--shelf,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) .sd-home-page .sd-home-shelf-card.sd-home-shelf-card--insight {
  background: #ffffff;
}
.sd-home-page .sd-home-shelf-card:hover,
.sd-home-page .sd-home-shelf-card--shelf:hover,
.sd-home-page .sd-home-shelf-card.sd-home-shelf-card--insight:hover {
  border-color: color-mix(in srgb, var(--sd-text) 14%, var(--sd-border));
}
.sd-home-page .sd-home-shelf-card--shelf .sd-home-shelf-card__name,
.sd-home-page .sd-home-shelf-card.sd-home-shelf-card--insight .sd-home-shelf-card__name {
  color: var(--sd-text);
}
.sd-home-page .sd-home-shelf-card--shelf .sd-home-shelf-card__stat-ico,
.sd-home-page .sd-home-shelf-card.sd-home-shelf-card--insight .sd-home-shelf-card__stat-ico {
  color: var(--sd-muted);
}
.sd-home-page .sd-home-shelf-card__kind--shelf,
.sd-home-page .sd-home-shelf-card__kind--insight,
.sd-home-page .sd-home-shelf-card__context-kind--shelf,
.sd-home-page .sd-home-shelf-card__context-kind--insight,
.sd-home-page .sd-home-shelf-card__kind-badge.sd-home-shelf-card__context-kind--shelf,
.sd-home-page .sd-home-shelf-card__kind-badge.sd-home-shelf-card__context-kind--insight {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
  border-color: var(--sd-border);
}
.sd-home-page .sd-home-shelf-card__msg {
  color: var(--sd-muted);
}

/* Path: Recent Activity ? quieter panels so the Shelves count tile (grey KPI) stays the focal accent. */
html.theme-path .sd-home-page .sd-home-recent-activity__item .sd-home-shelf-card {
  background: color-mix(in srgb, var(--sd-bg) 40%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-bg) 32%, var(--sd-border));
  box-shadow: none;
}
html.theme-path .sd-home-page .sd-home-recent-activity__item .sd-home-shelf-card:hover,
html.theme-path .sd-home-page .sd-home-recent-activity__item .sd-home-shelf-card--shelf:hover,
html.theme-path .sd-home-page .sd-home-recent-activity__item .sd-home-shelf-card.sd-home-shelf-card--insight:hover {
  background: color-mix(in srgb, var(--sd-bg) 34%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-muted) 22%, var(--sd-border));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
}
html.theme-path .sd-home-page .sd-home-recent-activity__empty .sd-home-recent-link {
  background: color-mix(in srgb, var(--sd-bg) 40%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-bg) 32%, var(--sd-border));
  box-shadow: none;
}
html.theme-path .sd-home-page .sd-home-recent-activity__empty .sd-home-recent-link:hover {
  border-color: color-mix(in srgb, var(--sd-muted) 24%, var(--sd-border));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
}

.sd-home-shelf-card__by-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.sd-home-shelf-card__by-row .sd-home-shelf-card__kind {
  flex: 0 0 auto;
}
/* Shelf / Insight label: pill badge; default tint from neutral tokens, overridden per card type below. */
.sd-home-shelf-card__kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 12px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: capitalize;
  border: 1px solid var(--sd-home-activity-kind-pill-border);
  color: var(--sd-home-activity-kind-pill-fg);
  background: var(--sd-home-activity-kind-pill-bg);
}
.sd-home-shelf-card__kind--shelf {
  color: var(--sd-home-count-shelf-icon);
  background: color-mix(in srgb, var(--sd-home-count-shelf-icon) 10%, var(--sd-home-count-shelf-bg));
  border-color: var(--sd-home-count-shelf-border);
}
.sd-home-shelf-card__kind--insight {
  color: var(--sd-home-count-insight-icon);
  background: color-mix(in srgb, var(--sd-home-count-insight-icon) 10%, var(--sd-home-count-insight-bg));
  border-color: var(--sd-home-count-insight-border);
}

/* Narrow home column: recent cards use __inner--recent (stacked); stats row wraps */
@container shelfy-home (max-width: 34rem) {
  .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sd-home-space-sm);
  }
  .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__aside {
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
  }
  .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__stats {
    justify-content: flex-start;
    width: 100%;
  }
  .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__footer,
  .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__icons {
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
  }
  .sd-home-shelf-card__stats-row {
    gap: var(--sd-home-space-xs) var(--sd-home-space-sm);
  }
  .sd-home-shelf-card__stats-trail {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }
}
@media (max-width: 720px) {
  .sd-home-page .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sd-home-space-sm);
  }
  .sd-home-page .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__aside {
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
  }
  .sd-home-page .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__stats {
    justify-content: flex-start;
    width: 100%;
  }
  .sd-home-page .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__footer,
  .sd-home-page .sd-home-shelf-card__inner:not(.sd-home-shelf-card__inner--recent) .sd-home-shelf-card__icons {
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
  }
  .sd-home-page .sd-home-shelf-card__stats-row {
    gap: var(--sd-home-space-xs) var(--sd-home-space-sm);
  }
  .sd-home-page .sd-home-shelf-card__stats-trail {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }
}

.sd-home-shelf-card__inner {
  display: flex;
  flex-direction: row;
  /* flex-start: avoid stretching the body column above the meta/by row. */
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sd-home-space-md);
}
.sd-home-shelf-card__inner--recent {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.sd-home-shelf-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sd-home-space-xs);
}
.sd-home-shelf-card__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 12px;
  width: 100%;
  min-width: 0;
}
.sd-home-shelf-card__head .sd-home-shelf-card__name {
  flex: 1 1 auto;
  min-width: 0;
}
.sd-home-shelf-card__kind-badge {
  flex: 0 0 auto;
  margin-top: 2px;
}
.sd-home-shelf-card__name {
  font-size: 16px;
  font-weight: 700;
  color: var(--sd-text);
  line-height: 1.3;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
.sd-home-shelf-card__name--with-icon {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}
.sd-home-shelf-card__title-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35em;
  margin-top: 0.1em;
  font-size: 0.95em;
  line-height: 1;
  font-weight: 700;
  user-select: none;
}
.sd-home-shelf-card--shelf .sd-home-shelf-card__title-icon {
  color: var(--sd-home-count-shelf-icon);
}
.sd-home-shelf-card.sd-home-shelf-card--insight .sd-home-shelf-card__title-icon {
  color: var(--sd-home-count-insight-icon);
}
.sd-home-shelf-card__name-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.sd-home-shelf-card__line {
  font-size: 13px;
  line-height: 1.4;
  color: var(--sd-text);
}
.sd-home-shelf-card__line--muted {
  color: var(--sd-muted);
  overflow-wrap: break-word;
  word-break: normal;
}
.sd-home-shelf-card__line--small {
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-home-shelf-card__line--by {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sd-home-space-xs);
  min-width: 0;
}
.sd-home-shelf-card__line--meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28em 0.5em;
  min-width: 0;
}
.sd-home-shelf-card__body .sd-home-shelf-card__line--meta {
  width: 100%;
}
.sd-home-shelf-card__line--context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28em 0.45em;
  min-width: 0;
  width: 100%;
  font-size: 12px;
  line-height: 1.45;
}
.sd-home-shelf-card__context-kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: capitalize;
  border: 1px solid var(--sd-home-activity-kind-pill-border);
  color: var(--sd-home-activity-kind-pill-fg);
  background: var(--sd-home-activity-kind-pill-bg);
}
.sd-home-shelf-card__context-kind--shelf {
  color: var(--sd-home-count-shelf-icon);
  background: color-mix(in srgb, var(--sd-home-count-shelf-icon) 10%, var(--sd-home-count-shelf-bg));
  border-color: var(--sd-home-count-shelf-border);
}
.sd-home-shelf-card__context-kind--insight {
  color: var(--sd-home-count-insight-icon);
  background: color-mix(in srgb, var(--sd-home-count-insight-icon) 10%, var(--sd-home-count-insight-bg));
  border-color: var(--sd-home-count-insight-border);
}
.sd-home-shelf-card__stats-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  width: 100%;
  min-width: 0;
  margin-top: 6px;
}
.sd-home-shelf-card__stat-chip {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--sd-muted);
  white-space: nowrap;
}
.sd-home-shelf-card__stat-chip-ico {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.sd-home-shelf-card__stat-chip-ico .sd-home-shelf-card__stat-ico {
  display: block;
}
.sd-home-shelf-card__stat-chip-lbl {
  font-weight: 500;
  color: var(--sd-muted);
}
.sd-home-shelf-card__stat-chip strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--sd-text);
}
.sd-home-shelf-card__stats-trail {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  margin-left: auto;
  min-width: 0;
  min-height: 22px;
}
.sd-home-shelf-card__meta-soft {
  color: var(--sd-muted);
  font-weight: 400;
}
.sd-home-shelf-card__meta-sep {
  color: var(--sd-muted);
  font-weight: 400;
  user-select: none;
}
.sd-home-shelf-card__by-label {
  color: var(--sd-muted);
  font-weight: 500;
}
.sd-home-shelf-card__by {
  font-weight: 600;
  color: var(--sd-text);
}
.sd-home-shelf-card__by-tail {
  font-size: 13px;
  font-weight: 400;
  color: var(--sd-muted);
}
.sd-home-shelf-card__by-special {
  font-weight: 600;
  color: var(--sd-text);
}
.sd-home-shelf-card__by-avatar-wrap {
  width: 23px;
  height: 23px;
  border-radius: 999px;
  flex: 0 0 23px;
}
.sd-home-shelf-card__by-avatar {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  display: block;
  border: 1px solid var(--sd-border);
}
.sd-home-shelf-card__aside {
  flex: 0 1 auto;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.sd-home-shelf-card__stats {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--sd-home-space-sm) var(--sd-home-space-md);
}
.sd-home-shelf-card__stat {
  display: inline-flex;
  align-items: center;
  gap: var(--sd-home-space-xs);
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-home-shelf-card__stat-text {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  line-height: 1.15;
}
.sd-home-shelf-card__stat-lbl {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sd-muted);
}
.sd-home-shelf-card__stat strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--sd-text);
}
.sd-home-shelf-card__stat-ico {
  display: block;
  flex-shrink: 0;
  color: var(--sd-accent);
  opacity: 0.9;
}
.sd-home-shelf-card--shelf .sd-home-shelf-card__stat-ico {
  color: var(--sd-home-count-shelf-icon);
}
.sd-home-shelf-card.sd-home-shelf-card--insight .sd-home-shelf-card__stat-ico {
  color: var(--sd-home-count-insight-icon);
}
.sd-home-shelf-card__icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sd-home-space-xs);
  min-height: 22px;
}
.sd-home-shelf-card__footer {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--sd-home-space-xs);
}
.sd-home-shelf-card__updated {
  font-size: 12px;
  line-height: 1.25;
  color: var(--sd-muted);
  text-align: right;
}
.sd-home-shelf-card__msg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-accent);
  opacity: 0.95;
}
.sd-home-shelf-card__msg-ico {
  display: block;
}

/* Scan page (classic Shelfy-style) */
.sd-scan-controls-settings-panel {
  width: 100%;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--sd-border);
  text-align: left;
}
.sd-scan-controls-settings-panel[hidden] {
  display: none !important;
}
.sd-scan-controls-settings-panel__inner {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}
.sd-scan-controls-settings-field {
  margin-bottom: 12px;
}
.sd-scan-controls-settings-field:last-child {
  margin-bottom: 0;
}
.sd-scan-controls-settings-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
  margin-bottom: 6px;
}
.sd-scan-controls-settings-camera-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.sd-scan-controls-panel .sd-scan-controls-settings-panel .sd-scan-camera-select {
  flex: 1 1 auto;
  min-width: 0;
}
.sd-scan-subtitle {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.sd-scan-lead {
  margin-bottom: 16px;
  max-width: none;
}
.sd-scan-video-card {
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 12px;
  margin-bottom: 12px;
}
/* Single visible stream uses full width; "both" uses two equal columns */
.sd-scan-streams {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
  width: 100%;
}
.sd-scan-streams.sd-scan-streams--both {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 900px) {
  .sd-scan-streams.sd-scan-streams--both {
    grid-template-columns: 1fr;
  }
}
.sd-scan-stream-block {
  min-width: 0;
  width: 100%;
}
.sd-scan-stream-wrap {
  background: #000;
  border-radius: var(--sd-radius);
  aspect-ratio: 16 / 10;
  overflow: hidden;
  position: relative;
}
.sd-scan-stream-wrap video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.sd-scan-stream-label {
  font-size: 12px;
  color: var(--sd-muted);
  margin-top: 6px;
  text-align: center;
}
.sd-scan-buffering {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  pointer-events: none;
}
/* Side-by-side panels (same rhythm as dual video when ?Both? is selected) */
.sd-scan-controls-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 12px;
}
@media (max-width: 900px) {
  .sd-scan-controls-strip {
    grid-template-columns: 1fr;
  }
}
.sd-scan-controls-panel,
.sd-scan-views-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 14px 16px;
  box-shadow: var(--sd-shadow);
}
.sd-scan-section-label {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 10px;
  color: var(--sd-text);
}
h2.sd-scan-section-label {
  font-size: 13px;
  line-height: 1.3;
}
.sd-scan-controls-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.sd-scan-controls-panel .sd-scan-controls-row {
  margin-bottom: 0;
}
.sd-scan-controls-panel #sd-scan-controls-settings[aria-expanded="true"] {
  border-color: var(--sd-accent);
  background: var(--sd-surface);
}
.sd-scan-views-panel .sd-scan-video-view-wrap {
  justify-content: center;
  align-items: center;
  width: 100%;
}
.sd-scan-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  background: var(--sd-bg);
  color: var(--sd-text);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.sd-scan-icon-btn:hover:not(:disabled) {
  background: var(--sd-surface);
  border-color: var(--sd-accent);
}
.sd-scan-icon-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.sd-scan-icon-btn.is-playing {
  border-color: var(--sd-accent);
}
.sd-scan-icon-btn.is-recording {
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.45);
}
html.theme-dark .sd-scan-icon-btn.is-recording {
  color: #60a5fa;
  border-color: rgba(59, 130, 246, 0.45);
}
.sd-scan-icon-btn.is-pressed {
  transform: scale(0.96);
}
.sd-scan-icon-btn__svg {
  width: 22px;
  height: 22px;
  display: block;
}
.sd-scan-settings-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
  color: var(--sd-text);
}
.sd-scan-settings-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--sd-accent);
}
.sd-scan-advanced-panels-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sd-scan-advanced-panels-wrap[hidden] {
  display: none !important;
}
.sd-scan-camera-select {
  flex: 1;
  min-width: 200px;
}
.sd-scan-video-view-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}
.sd-scan-video-view-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-muted);
}
/* Same total height as .sd-scan-icon-btn (44px incl. border, global border-box) */
.sd-scan-video-view {
  display: inline-flex;
  align-items: stretch;
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  overflow: hidden;
  background: var(--sd-bg);
}
.sd-scan-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  border: none;
  background: transparent;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-muted);
  cursor: pointer;
}
.sd-scan-view-btn:hover {
  color: var(--sd-text);
}
.sd-scan-view-btn.is-selected {
  background: var(--sd-accent);
  color: #fff;
}
/* Dark: match Beta filter chip Match ALL / ANY active segment (.sd-stores-filter-logic-btn.is-active) */
html.theme-dark .sd-scan-view-btn.is-selected {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
  color: var(--sd-text);
}
.sd-scan-no-streams-msg {
  margin-bottom: 12px;
}
.sd-scan-products-teaser {
  margin-bottom: 12px;
}
.sd-scan-products-teaser__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.sd-scan-products-teaser__title {
  font-weight: 700;
  font-size: 15px;
}
.sd-scan-products-teaser__count {
  font-size: 14px;
  color: var(--sd-muted);
  margin-right: auto;
}
.sd-scan-panel-card {
  margin-bottom: 12px;
}
.sd-scan-panel-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}
.sd-scan-panel-card__title {
  font-weight: 700;
  font-size: 14px;
}
.sd-scan-panel-card__toggle {
  border: none;
  background: transparent;
  color: var(--sd-muted);
  font-size: 12px;
  padding: 4px 8px;
  cursor: pointer;
  border-radius: 6px;
}
.sd-scan-panel-card__toggle:hover {
  background: var(--sd-bg);
  color: var(--sd-text);
}
.sd-scan-panel-card.is-collapsed .sd-scan-panel-card__body {
  display: none;
}
.sd-scan-panel-card__body {
  margin-top: 10px;
}
.sd-log-panel {
  max-height: 280px;
  overflow: auto;
  font-size: 12px;
  font-family: ui-monospace, monospace;
  background: var(--sd-bg);
  padding: 8px;
  border-radius: 6px;
  border: 1px solid var(--sd-border);
}

.sd-scan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 900px) {
  .sd-scan-grid {
    grid-template-columns: 1fr;
  }
}
.sd-video-wrap {
  background: #000;
  border-radius: var(--sd-radius);
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.sd-video-wrap video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sd-scan-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.sd-events-panel {
  max-height: 320px;
  overflow: auto;
  font-size: 12px;
  font-family: ui-monospace, monospace;
  background: var(--sd-bg);
  padding: 8px;
  border-radius: 6px;
  border: 1px solid var(--sd-border);
}
.sd-log-line {
  padding: 2px 0;
  border-bottom: 1px solid var(--sd-border);
  word-break: break-word;
}

/* Upload cards (fields aligned with classic Shelfy file cards) */
.sd-upload-card {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 12px;
  margin-bottom: 10px;
  background: var(--sd-surface);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sd-upload-card__title-row--manual {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
/* Manual DPCI: same title treatment as file cards (filename line), not pill + badge. */
.sd-upload-card__title-row--manual-filename {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 4px;
  min-width: 0;
}
.sd-upload-card__title-row--manual-filename .sd-upload-card__name--manual {
  flex: 1;
  min-width: 0;
  font-size: inherit;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-upload-card__manual-pill {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sd-accent);
  background: rgba(196, 30, 58, 0.12);
  border-radius: 4px;
  padding: 2px 8px;
  flex-shrink: 0;
}
html.theme-dark .sd-upload-card__manual-pill {
  background: rgba(255, 255, 255, 0.08);
}
.sd-upload-card__manual-source {
  font-size: 12px;
  color: var(--sd-muted);
  margin-top: 4px;
  word-break: break-word;
}
.sd-upload-card__manual-source-label {
  font-weight: 600;
  color: var(--sd-text);
  margin-right: 4px;
}
.sd-upload-card__stats--manual {
  flex-wrap: wrap;
}
.sd-upload-card__top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: flex-start;
}
.sd-upload-card__body {
  min-width: 0;
}
.sd-upload-card__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.sd-upload-card__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  background: var(--sd-bg);
  color: var(--sd-text);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.sd-upload-card__icon-btn:hover {
  background: rgba(196, 30, 58, 0.08);
  border-color: var(--sd-accent);
  color: var(--sd-accent);
}
html.theme-dark .sd-upload-card__icon-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-upload-card__icon-btn:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-upload-card__icon-svg {
  display: block;
  flex-shrink: 0;
}
.sd-upload-card__footer {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sd-upload-card__status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.sd-upload-card__status-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  border: 1px solid var(--sd-border);
  background: var(--sd-bg);
  color: var(--sd-text);
  max-width: 100%;
  word-break: break-word;
  white-space: normal;
  justify-content: flex-start;
  text-align: left;
}
.sd-upload-card__status-badge--ok {
  border-color: rgba(46, 125, 50, 0.45);
  background: rgba(46, 125, 50, 0.1);
  color: #1b5e20;
}
html.theme-dark .sd-upload-card__status-badge--ok {
  color: #81c784;
  border-color: rgba(129, 199, 132, 0.45);
  background: rgba(46, 125, 50, 0.2);
}
/* Pending / queued / processing (incl. Build Report ?Generating ??) ? theme tokens, not fixed Material blue */
.sd-upload-card__status-badge--pending {
  border-color: var(--sd-badge-info-border);
  background: var(--sd-badge-info-bg);
  color: var(--sd-badge-info-fg);
}
.sd-upload-card__status-badge--error {
  border-color: rgba(196, 30, 58, 0.45);
  background: rgba(196, 30, 58, 0.1);
  color: var(--sd-accent);
}
html.theme-dark .sd-upload-card__status-badge--error {
  border-color: rgba(248, 113, 113, 0.45);
  background: rgba(239, 68, 68, 0.14);
  color: #fecaca;
}
.sd-upload-card__status-badge--warn {
  border-color: rgba(237, 108, 2, 0.45);
  background: rgba(237, 108, 2, 0.1);
  color: #e65100;
}
html.theme-dark .sd-upload-card__status-badge--warn {
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.45);
}
.sd-upload-card__status-badge--neutral {
  border-color: var(--sd-border);
  background: var(--sd-bg);
  color: var(--sd-muted);
  font-weight: 600;
}
.sd-upload-card__frames-hint {
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-upload-card__sources {
  margin-top: 0;
}
.sd-upload-card__title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.sd-upload-card__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-upload-card__size {
  font-size: 12px;
  font-weight: 500;
  color: var(--sd-muted);
  flex-shrink: 0;
}
.sd-upload-card__date {
  font-size: 12px;
  color: var(--sd-muted);
  margin-bottom: 6px;
}
.sd-upload-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 12px;
  color: var(--sd-text);
  margin-bottom: 6px;
}
.sd-upload-card__error {
  margin-top: 8px;
  font-size: 12px;
  color: var(--sd-accent);
  word-break: break-word;
}

/* Compact list (classic Shelfy uploads-file-cards--rows): filename, annotations, status + actions only */
.sd-uploads-body--compact .sd-upload-card {
  padding: 10px 12px;
  margin-bottom: 6px;
  /* No flex gap ? filename row should sit flush with annotations/status below */
  gap: 0;
}
.sd-uploads-body--compact .sd-upload-card__size,
.sd-uploads-body--compact .sd-upload-card__date,
.sd-uploads-body--compact .sd-upload-card__stats {
  display: none !important;
}
.sd-uploads-body--compact .sd-upload-card--manual-dpci .sd-upload-card__stats--manual,
.sd-uploads-body--compact .sd-upload-card--manual-dpci .sd-upload-card__date {
  display: none !important;
}
.sd-uploads-body--compact .sd-upload-card__title-row {
  margin-bottom: 0;
}
.sd-uploads-body--compact .sd-upload-card__name {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sd-uploads-body--compact .sd-upload-card__error {
  display: none !important;
}
.sd-uploads-body--compact .sd-upload-card__frames-hint {
  display: none !important;
}
.sd-uploads-body--compact .sd-upload-card__footer {
  gap: 4px;
  margin-top: 4px;
}
.sd-uploads-body--compact .sd-upload-card__top {
  align-items: flex-start;
}
/* Tighten annotations block to the row above (no extra top margin) */
.sd-uploads-body--compact .sd-upload-card__sources {
  margin-top: 0;
  padding-top: 0;
}
.sd-uploads-body--compact .sd-uploads-sources__header {
  padding-top: 0;
}

/* Uploads: expandable Annotations + DPCI links (classic Shelfy behavior) */
.sd-uploads-sources {
  font-size: 12px;
  color: var(--sd-muted);
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.35;
}
.sd-uploads-sources__header {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  line-height: 1.2;
}
.sd-uploads-sources__header:hover {
  opacity: 0.85;
}
.sd-uploads-sources__chevron {
  display: inline-flex;
  transition: transform 0.2s ease;
  opacity: 0.8;
}
.sd-uploads-sources__header[aria-expanded="false"] .sd-uploads-sources__chevron {
  transform: rotate(-180deg);
}
.sd-uploads-sources__list {
  margin: 0;
  padding: 6px 0 2px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sd-uploads-sources__list[hidden] {
  display: none !important;
}
.sd-uploads-sources__item {
  display: block;
  margin: 0;
  padding: 0;
}
.sd-uploads-sources__annotated-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.sd-uploads-sources__frames {
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-uploads-sources--link-errors {
  margin-top: 6px;
}
.sd-uploads-sources__list--link-errors {
  font-size: 12px;
  line-height: 1.45;
  color: var(--sd-text);
}
.sd-uploads-sources__item--link-error {
  word-break: break-word;
  color: var(--sd-muted);
  border-left: 3px solid rgba(200, 120, 50, 0.45);
  padding-left: 8px;
  margin-bottom: 6px;
}
.sd-uploads-sources--txt-dpcis {
  margin-top: 6px;
}
.sd-uploads-sources__list--txt-dpcis {
  font-size: 13px;
  color: var(--sd-text);
  padding-left: 2px;
}
.sd-uploads-txt-dpci-line {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.45;
  word-break: break-all;
}
.sd-uploads-txt-dpci-line--invalid {
  color: var(--sd-muted);
}
.sd-uploads-txt-dpci-empty {
  font-size: 12px;
  color: var(--sd-muted);
  font-style: italic;
}
.sd-uploads-annotated-link {
  border: none;
  background: none;
  font: inherit;
  font-size: 13px;
  color: var(--sd-accent);
  cursor: pointer;
  padding: 0;
  text-align: left;
  text-decoration: none;
  display: inline;
}
.sd-uploads-annotated-link:hover {
  text-decoration: underline;
}

/* Beta 2 table: stacked annotation links (same buttons as Import Data cards) */
.sd-u2-anno-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  max-width: min(320px, 36vw);
}
#sd-u2-page-root .sd-stores-tr td:has(.sd-u2-anno-cell) {
  vertical-align: top;
}

/* Annotated image viewer (ported from classic Shelfy) */
.uploads-annotated-image-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.uploads-annotated-image-overlay[hidden] {
  display: none !important;
}
.uploads-annotated-image-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.4);
}
html.theme-dark .uploads-annotated-image-overlay__backdrop {
  background: rgba(0, 0, 0, 0.55);
}
.uploads-annotated-image-overlay__box {
  position: relative;
  width: 90vw;
  height: 90vh;
  max-width: 90vw;
  max-height: 90vh;
  background: #1a1a1a;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.uploads-annotated-image-overlay__content {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
  overflow: auto;
}
.uploads-annotated-image-overlay__img-wrap {
  position: relative;
  display: inline-flex;
  transform-origin: 0 0;
  transition: transform 0.15s ease-out;
}
.uploads-annotated-image-overlay__img {
  max-width: 90vw;
  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  vertical-align: middle;
}
.uploads-annotated-image-overlay__selection {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.uploads-annotated-image-overlay__selection[hidden] {
  display: none !important;
}
.uploads-annotated-image-overlay__img-wrap:has(.uploads-annotated-image-overlay__selection:not([hidden])) .uploads-annotated-image-overlay__selection {
  pointer-events: auto;
}
.uploads-annotated-image-overlay__selection-dim {
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.uploads-annotated-image-overlay__selection-rect {
  position: absolute;
  border: 2px solid rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}
.uploads-annotated-image-overlay__controls {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0 0 12px 12px;
}
.uploads-annotated-image-overlay__zoom-btn,
.uploads-annotated-image-overlay__reset-btn,
.uploads-annotated-image-overlay__close {
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.uploads-annotated-image-overlay__reset-btn {
  font-size: 14px;
}
.uploads-annotated-image-overlay__close {
  font-size: 24px;
}
.uploads-annotated-image-overlay__zoom-btn:hover,
.uploads-annotated-image-overlay__zoom-btn:focus-visible,
.uploads-annotated-image-overlay__reset-btn:hover,
.uploads-annotated-image-overlay__reset-btn:focus-visible,
.uploads-annotated-image-overlay__close:hover,
.uploads-annotated-image-overlay__close:focus-visible {
  background: rgba(255, 255, 255, 0.4);
}

/* Products page ? cards aligned with classic Shelfy product-item (thumb, IDs, sources, status) */
.sd-products-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sd-product-card {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 14px;
  background: var(--sd-surface);
  box-sizing: border-box;
  min-width: 0;
}
.sd-product-card__row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  min-width: 0;
}
.sd-product-card__thumb {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
}
.sd-product-card__thumb--failed {
  background: repeating-linear-gradient(
    45deg,
    var(--sd-bg),
    var(--sd-bg) 4px,
    rgba(128, 128, 128, 0.1) 4px,
    rgba(128, 128, 128, 0.1) 8px
  );
}
.sd-product-card__thumb--failed .sd-product-card__thumb-img {
  display: none;
}
.sd-product-card__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.sd-product-card__content {
  flex: 1;
  min-width: 0;
}
.sd-product-card__title.title {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.25;
  margin: 0 0 4px;
  color: var(--sd-text);
}
.sd-product-card__title-link {
  color: var(--sd-text);
  text-decoration: none;
  font-weight: 700;
}
.sd-product-card__title-link:hover {
  color: var(--sd-accent);
  text-decoration: underline;
}
.sd-product-card__sub {
  font-size: 12px;
  color: var(--sd-muted);
  line-height: 1.35;
  margin: 0 0 4px;
}
.sd-product-card__meta-line {
  flex-wrap: wrap;
  display: flex;
  align-items: baseline;
  gap: 0;
  row-gap: 4px;
  column-gap: 0;
}
.sd-product-card__meta-line .sd-product-card__ids-sep {
  margin: 0 2px;
}
.sd-product-card__ids {
  margin-top: 6px;
  flex-wrap: wrap;
  display: flex;
  align-items: baseline;
  gap: 0;
  row-gap: 4px;
}
.sd-product-card__ids .sd-product-card__ids-sep {
  margin: 0 2px;
}
.sd-product-card__ids-label {
  opacity: 0.55;
  font-weight: 500;
}
.sd-product-card__ids-sep {
  opacity: 0.45;
}
.sd-product-card__product-meta {
  margin-top: 4px;
}
.sd-product-card__product-meta-line {
  margin: 0 0 3px;
  line-height: 1.4;
  word-break: break-word;
}
.sd-product-card__product-meta-line:last-child {
  margin-bottom: 0;
}
.sd-product-card__price {
  margin-bottom: 4px;
  color: var(--sd-text);
}
.sd-product-card__status {
  margin-top: 8px;
}
.sd-product-card__status-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  border: 1px solid var(--sd-border);
  text-transform: capitalize;
  max-width: 100%;
  flex-wrap: wrap;
  white-space: normal;
}
.sd-product-card__status-badge--ok {
  border-color: rgba(46, 125, 50, 0.45);
  background: rgba(46, 125, 50, 0.1);
  color: #1b5e20;
}
html.theme-dark .sd-product-card__status-badge--ok {
  color: #81c784;
  border-color: rgba(129, 199, 132, 0.45);
}
.sd-product-card__status-badge--info {
  border-color: var(--sd-badge-info-border);
  background: var(--sd-badge-info-bg);
  color: var(--sd-badge-info-fg);
}
.sd-product-card__status-badge--dpci {
  border-color: var(--sd-badge-dpci-border);
  background: var(--sd-badge-dpci-bg);
  color: var(--sd-badge-dpci-fg);
}
.sd-product-card__status-badge--warn {
  border-color: var(--sd-badge-warn-border);
  background: var(--sd-badge-warn-bg);
  color: var(--sd-badge-warn-fg);
}
.sd-product-card__status-badge--neutral {
  color: var(--sd-badge-neutral-fg);
  background: var(--sd-badge-neutral-bg);
  border-color: var(--sd-badge-neutral-border);
}
.sd-product-card__sources.sd-product-sources {
  margin-top: 6px;
}
.sd-product-sources {
  font-size: 12px;
  color: var(--sd-muted);
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sd-product-sources__header {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  line-height: 1.2;
}
.sd-product-sources__header:hover {
  opacity: 0.9;
  color: var(--sd-text);
}
.sd-product-sources__chevron {
  display: inline-flex;
  transition: transform 0.2s ease;
  opacity: 0.8;
}
.sd-product-sources__header[aria-expanded="false"] .sd-product-sources__chevron {
  transform: rotate(-180deg);
}
.sd-product-sources__list {
  margin: 0;
  padding: 6px 0 2px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sd-product-sources__list[hidden] {
  display: none !important;
}
.sd-product-sources__item {
  font-size: 12px;
  color: var(--sd-text);
  word-break: break-word;
}
.sd-product-card__actions {
  flex-shrink: 0;
  align-self: flex-start;
}

/* Products ? compact cards (classic products-page rows: hide ids/price/date/store-aisle-facing/brand-category-department; keep thumb, title, sources, status) */
.sd-products-body--compact .sd-product-card {
  padding: 10px 12px;
}
.sd-products-body--compact .sd-products-list {
  gap: 6px;
}
.sd-products-body--compact .sd-product-card__price,
.sd-products-body--compact .sd-product-card__date,
.sd-products-body--compact .sd-product-card__ids,
.sd-products-body--compact .sd-product-card__meta-line,
.sd-products-body--compact .sd-product-card__product-meta {
  display: none !important;
}
.sd-products-body--compact .sd-product-card__title.title {
  font-size: 14px;
  margin-bottom: 2px;
}
.sd-products-body--compact .sd-product-card__row {
  gap: 8px;
}
.sd-products-body--compact .sd-product-card__thumb {
  width: 48px;
  height: 48px;
}
.sd-products-body--compact .sd-product-card__status {
  margin-top: 4px;
}
.sd-products-body--compact .sd-product-card__sources.sd-product-sources {
  margin-top: 4px;
}

/* Modal */
.sd-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  padding: 16px;
}
/* `hidden` must win over `display: flex` above (otherwise modals stay visible). */
.sd-overlay[hidden] {
  display: none !important;
}
.sd-modal {
  background: var(--sd-surface);
  border-radius: var(--sd-radius);
  padding: 20px;
  max-width: 420px;
  width: 100%;
  border: 1px solid var(--sd-border);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}
.sd-modal h2 {
  margin: 0 0 12px;
  font-size: 18px;
}
.sd-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sd-border);
}
.sd-modal__header .sd-modal__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}
.sd-modal__close {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sd-modal__close:hover {
  background: var(--sd-bg);
  color: var(--sd-text);
}
.sd-modal__close:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-modal__field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
  margin-bottom: 6px;
}
.sd-modal--add-product .sd-modal__actions--single {
  margin-top: 16px;
  justify-content: stretch;
}
.sd-modal--add-product .sd-modal__submit {
  width: 100%;
  min-height: 44px;
}
.sd-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}
.sd-shelfybot-rename-modal .sd-modal__header {
  margin-bottom: 10px;
  padding-bottom: 0;
  border-bottom: none;
}
.sd-shelfybot-rename-modal #sd-shelfybot-rename-input {
  width: 100%;
  box-sizing: border-box;
}
.sd-shelfybot-rename-modal .sd-modal__actions {
  width: 100%;
}
.sd-shelfybot-rename-modal .sd-modal__actions > button {
  flex: 1 1 50%;
  min-width: 0;
}

/* Confirm dialog (classic Shelfy-style remove confirmation) */
.sd-confirm-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 10050;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.sd-confirm-overlay.is-open {
  display: flex;
}
html.theme-dark .sd-confirm-overlay {
  background: rgba(0, 0, 0, 0.55);
}
.sd-confirm-dialog {
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: 16px;
  padding: 18px 20px 20px;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
  box-sizing: border-box;
}
html.theme-dark .sd-confirm-dialog {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.sd-confirm-dialog__header {
  border-bottom: 1px solid var(--sd-border);
  margin: 0 -20px 14px -20px;
  padding: 0 20px 18px 20px;
  width: calc(100% + 40px);
  box-sizing: border-box;
}
.sd-confirm-dialog__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sd-text);
}
.sd-confirm-dialog__message {
  color: var(--sd-muted);
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 20px;
  text-align: center;
}
.sd-confirm-dialog__fname {
  font-weight: 700;
  color: var(--sd-text);
  font-size: 16px;
}
/* Highlighted shelf name in remove-shelf dialog (classic Shelfy: .confirm-dialog__shelf-name) */
.sd-confirm-dialog__shelf-name {
  font-weight: 700;
  font-size: 16px;
  color: var(--sd-text);
}
.sd-confirm-dialog__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.sd-confirm-dialog__actions .sd-btn {
  min-width: 44%;
  min-height: 44px;
  box-sizing: border-box;
}
.sd-cs-resetpw-form {
  text-align: left;
}
.sd-cs-resetpw-form__lead {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--sd-muted);
}
.sd-cs-resetpw-form__field {
  margin-bottom: 10px;
}
.sd-cs-resetpw-form__field .sd-settings-section-label {
  display: block;
  margin-bottom: 6px;
}
.sd-cs-resetpw-form__field .sd-input {
  width: 100%;
  box-sizing: border-box;
}
.sd-cs-resetpw-form__err {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: color-mix(in srgb, #b91c1c 88%, var(--sd-text));
}

/* Toast */
.sd-toast-root {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.sd-toast {
  pointer-events: auto;
  background: var(--sd-text);
  color: var(--sd-surface);
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 13px;
  box-shadow: var(--sd-shadow);
  max-width: 360px;
}
.sd-toast__link {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  margin-left: 0.35em;
}
.sd-toast__link:hover {
  opacity: 0.9;
}

/* Add New Shelf create modals — expandable product-file upload */
.sd-modal--shelf-create {
  width: min(520px, 100%);
  max-width: min(520px, 100%);
  max-height: min(90vh, 820px);
  overflow: auto;
  box-sizing: border-box;
}
.sd-shelf-create-upload {
  margin: 12px 0 4px;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius, 8px);
  background: color-mix(in srgb, var(--sd-text) 3%, var(--sd-surface));
  padding: 0;
}
.sd-shelf-create-upload__summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
  user-select: none;
}
.sd-shelf-create-upload__summary::-webkit-details-marker {
  display: none;
}
.sd-shelf-create-upload__summary::before {
  content: "›";
  display: inline-block;
  margin-right: 6px;
  transition: transform 0.15s ease;
  color: var(--sd-muted);
}
.sd-shelf-create-upload[open] > .sd-shelf-create-upload__summary::before {
  transform: rotate(90deg);
}
.sd-shelf-create-upload__body {
  padding: 0 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sd-shelf-create-upload__intro {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
}
.sd-shelf-create-upload__stack {
  gap: 10px;
}
.sd-shelf-create-upload__stack .sd-insights-import-zone {
  min-height: 72px;
  padding: 12px;
}
.sd-shelf-create-upload__stack .sd-insights-file-queue {
  max-height: 120px;
  overflow: auto;
}
.sd-shelf-create-upload__progress {
  margin-top: 4px;
}
.sd-shelf-create-upload__actions {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.sd-shelf-create-upload__cancel.sd-home-hero-cta,
.sd-u2-add-head #sd-u2-cancel-upload.sd-home-hero-cta {
  min-height: 40px;
  padding: 10px 18px;
  border-radius: var(--sd-home-card-radius, var(--sd-radius));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.sd-shelf-create-upload__cancel[hidden],
#sd-u2-cancel-upload[hidden],
.sd-u2-cancel-upload[hidden] {
  display: none !important;
}
.sd-u2-add-head .sd-sb-view-head__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.sd-shelf-upload-log {
  margin-top: 28px;
}
.sd-shelf-upload-log__empty {
  margin: 12px 0 0;
  padding: 18px 16px;
  border: 1px dashed var(--sd-border);
  border-radius: 10px;
  text-align: center;
}
.sd-shelf-upload-log__table-wrap {
  margin-top: 12px;
  overflow-x: auto;
  border: 1px solid var(--sd-border);
  border-radius: 10px;
}
.sd-shelf-upload-log__table {
  width: 100%;
  margin: 0;
  border: none;
}
.sd-shelf-upload-log__table th,
.sd-shelf-upload-log__table td {
  padding: 8px 10px;
  font-size: 13px;
  white-space: nowrap;
}
.sd-tasks-batch-progress {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
  min-width: 8rem;
}
.sd-tasks-batch-progress__bar {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sd-muted) 18%, var(--sd-surface));
  overflow: hidden;
}
.sd-tasks-batch-progress__fill {
  height: 100%;
  width: 0;
  background: var(--sd-accent);
  border-radius: inherit;
  transition: width 0.2s ease;
}
.sd-tasks-batch-progress__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
}
.sd-shelf-create-upload[hidden] {
  display: none !important;
}

.sd-skeleton {
  height: 14px;
  background: var(--sd-border);
  animation: sd-pulse 2.4s ease-in-out infinite;
  border-radius: 4px;
}
@keyframes sd-pulse {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.85;
  }
}
/* Keep old name as alias so any leftover refs still pulse slowly. */
@keyframes sd-shimmer {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.85;
  }
}

/* Shelf ? Comments tab (Quill) */
.sd-comments-page__h2 {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 10px;
  color: var(--sd-text);
}
.sd-comments-page__h2--list {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--sd-border);
}
/*
 * Quill: border on OUTER frame only; INNER has overflow:hidden + smaller radius.
 * Putting border + overflow:hidden on one box clips the stroke at corners (thin corners).
 */
.sd-comments-quill-frame {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: var(--sd-shadow);
  background: transparent;
  box-sizing: border-box;
}
.sd-comments-quill-frame--dragover {
  outline: 2px dashed var(--sd-accent, #2563eb);
  outline-offset: 2px;
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 8%, transparent);
}
.sd-comments-drop-hint {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--sd-muted);
}
.sd-comments-quill-wrap {
  border-radius: max(0px, calc(var(--sd-radius) - 1px));
  overflow: hidden;
  background: var(--sd-surface);
  box-sizing: border-box;
}
.sd-comments__quill {
  min-height: 140px;
  background: var(--sd-bg);
  border-radius: 0;
}
/* Match inner corner radius so toolbar/editor fill the curve (no faint gaps at top) */
.sd-comments-quill-wrap .ql-toolbar.ql-snow {
  border: none;
  border-bottom: 1px solid var(--sd-border);
  border-top-left-radius: max(0px, calc(var(--sd-radius) - 1px));
  border-top-right-radius: max(0px, calc(var(--sd-radius) - 1px));
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background: var(--sd-surface);
  box-shadow: none;
}
.sd-comments-quill-wrap .sd-comments__quill.ql-container.ql-snow {
  border: none;
  border-radius: 0;
  border-bottom-left-radius: max(0px, calc(var(--sd-radius) - 1px));
  border-bottom-right-radius: max(0px, calc(var(--sd-radius) - 1px));
  font-size: 14px;
  box-shadow: none;
}
.sd-comments-page__actions {
  margin-top: 10px;
  margin-bottom: 4px;
}
.sd-comments-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sd-comment-card {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  padding: 12px;
  background: var(--sd-bg);
}
.sd-comment-card__body {
  font-size: 14px;
  line-height: 1.45;
  color: var(--sd-text);
  margin: 0;
  padding: 0;
}
/* Read-only HTML (not .ql-editor ? avoids Quill chrome styles / duplicate toolbar look) */
.sd-comment-card__body--richtext p {
  margin: 0 0 0.5em;
}
.sd-comment-card__body--richtext p:last-child {
  margin-bottom: 0;
}
.sd-comment-card__body--richtext ul,
.sd-comment-card__body--richtext ol {
  margin: 0.25em 0 0.5em 1.25em;
  padding: 0;
}
.sd-comment-card__body--richtext a {
  color: var(--sd-accent, #2563eb);
}
.sd-comment-card__edit-wrap {
  display: block;
  margin-bottom: 4px;
}
.sd-comment-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--sd-border);
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-comment-card__date {
  margin-right: auto;
}
.sd-comment-card__editor-host {
  margin-top: 0;
  margin-bottom: 0;
}
.sd-comment-card__edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  margin-bottom: 8px;
}
/* Dark + Path + GreenDay + Vintage: Quill snow toolbar on tinted surfaces ? high-contrast icons & pickers */
html.theme-dark .sd-comments-quill-frame,
html.theme-path .sd-comments-quill-frame,
html.theme-greenday .sd-comments-quill-frame, html.theme-vintage .sd-comments-quill-frame, html.theme-shelfy .sd-comments-quill-frame {
  border-color: var(--sd-border);
  box-shadow: var(--sd-shadow);
}
html.theme-dark .sd-comments-quill-wrap,
html.theme-path .sd-comments-quill-wrap,
html.theme-greenday .sd-comments-quill-wrap, html.theme-vintage .sd-comments-quill-wrap, html.theme-shelfy .sd-comments-quill-wrap {
  background: var(--sd-surface);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow,
html.theme-dark .sd-comments-quill-wrap .sd-comments__quill.ql-container.ql-snow,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow,
html.theme-path .sd-comments-quill-wrap .sd-comments__quill.ql-container.ql-snow,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow,
html.theme-greenday .sd-comments-quill-wrap .sd-comments__quill.ql-container.ql-snow, html.theme-vintage .sd-comments-quill-wrap .sd-comments__quill.ql-container.ql-snow, html.theme-shelfy .sd-comments-quill-wrap .sd-comments__quill.ql-container.ql-snow {
  border-color: var(--sd-border);
  background: var(--sd-surface);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow {
  border-bottom-color: var(--sd-border);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-stroke,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-stroke,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-stroke, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-stroke, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-stroke {
  stroke: var(--sd-text);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-fill,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-fill,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-fill, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-fill, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-fill {
  fill: var(--sd-text);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-stroke,
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-stroke,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-stroke,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-stroke,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-stroke, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-stroke, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-stroke,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-stroke, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-stroke, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-stroke {
  stroke: var(--sd-accent);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-fill,
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-fill,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-fill,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-fill,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-fill, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-fill, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow button:hover .ql-fill,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-fill, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-fill, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow button:focus-visible .ql-fill {
  fill: var(--sd-accent);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-stroke,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-stroke,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-stroke, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-stroke, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-stroke {
  stroke: var(--sd-accent);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-fill,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-fill,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-fill, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-fill, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-active .ql-fill {
  fill: var(--sd-accent);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker {
  color: var(--sd-text);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-label,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-label,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-label, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-label, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-label {
  color: var(--sd-text);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-options,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-options,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-options, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-options, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-options {
  background-color: var(--sd-surface);
  border: 1px solid var(--sd-border);
  box-shadow: var(--sd-shadow);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item {
  color: var(--sd-text);
}
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item:hover,
html.theme-dark .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item.ql-selected,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item:hover,
html.theme-path .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item.ql-selected,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item:hover, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item:hover, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item:hover,
html.theme-greenday .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item.ql-selected, html.theme-vintage .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item.ql-selected, html.theme-shelfy .sd-comments-quill-wrap .ql-toolbar.ql-snow .ql-picker-item.ql-selected {
  color: var(--sd-accent);
}
html.theme-dark .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor,
html.theme-path .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor,
html.theme-greenday .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor, html.theme-vintage .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor, html.theme-shelfy .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor {
  color: var(--sd-text);
}
html.theme-dark .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor.ql-blank::before,
html.theme-path .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor.ql-blank::before,
html.theme-greenday .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor.ql-blank::before, html.theme-vintage .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor.ql-blank::before, html.theme-shelfy .sd-comments-quill-wrap .sd-comments__quill.ql-container .ql-editor.ql-blank::before {
  color: var(--sd-muted);
}
html.theme-dark .sd-comments-quill-wrap .sd-comments__quill .ql-stroke,
html.theme-path .sd-comments-quill-wrap .sd-comments__quill .ql-stroke,
html.theme-greenday .sd-comments-quill-wrap .sd-comments__quill .ql-stroke, html.theme-vintage .sd-comments-quill-wrap .sd-comments__quill .ql-stroke, html.theme-shelfy .sd-comments-quill-wrap .sd-comments__quill .ql-stroke {
  stroke: var(--sd-muted);
}
html.theme-dark .sd-comments-quill-wrap .sd-comments__quill .ql-fill,
html.theme-path .sd-comments-quill-wrap .sd-comments__quill .ql-fill,
html.theme-greenday .sd-comments-quill-wrap .sd-comments__quill .ql-fill, html.theme-vintage .sd-comments-quill-wrap .sd-comments__quill .ql-fill, html.theme-shelfy .sd-comments-quill-wrap .sd-comments__quill .ql-fill {
  fill: var(--sd-muted);
}

.sd-muted {
  color: var(--sd-muted);
}
.sd-error {
  color: #b91c1c;
  font-size: 13px;
}
html.theme-dark .sd-error {
  color: #f87171;
}
html.theme-path .sd-error,
html.theme-greenday .sd-error, html.theme-vintage .sd-error, html.theme-shelfy .sd-error {
  color: #ffb4a8;
}

/* ---------- Stores page ---------- */
.sd-stores-page .sd-page-title {
  margin-bottom: 6px;
}
/* Match Products / page-head intent: only desc margin-top (6px) between title and description. */
.sd-stores-page .sd-prod-page-head .sd-page-title {
  margin-bottom: 0;
}
.sd-stores-page .sd-toolbar--stores {
  margin-top: 12px;
  margin-bottom: 0;
}
.sd-stores-page .sd-stores-filter-chips {
  min-height: 0;
}
.sd-stores-page #sd-stores-filter-stacks,
.sd-stores-page #sd-categories-filter-stacks,
.sd-stores-page #sd-tasks-filter-stacks,
.sd-stores-page #sd-sb-filter-stacks,
.sd-stores-page #sd-u2-filter-stacks,
.sd-stores-page #sd-s1-filter-stacks,
.sd-stores-page #sd-cs-filter-stacks,
.sd-stores-page #sd-cm-filter-stacks,
.sd-stores-page #sd-dc-runlogs-filter-stacks,
.sd-stores-page #sd-prod-filter-stacks {
  margin-top: 10px;
}
.sd-stores-page .sd-stores-filter-chips--rest:not(:empty) {
  margin-top: 0;
}
.sd-stores-page .sd-stores-filter-chips:empty {
  margin-bottom: 0;
}
.sd-stores-filter-stacks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
.sd-stores-filter-match-row {
  display: flex;
  flex-wrap: wrap;
  /* Top-align chips vs toolbar; center would drop the right buttons when chips wrap to multiple lines */
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
  width: 100%;
  box-sizing: border-box;
}
.sd-stores-filter-chips--primary {
  flex: 1 1 0;
  min-width: 0;
  margin-bottom: 0;
}
.sd-stores-filter-chips--primary .sd-stores-filter-chips__row--logic {
  margin-bottom: 0;
}
.sd-stores-table-head__tools.sd-stores-table-head__tools--with-match {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

/* Categories / Stores / Products / Shelves+Insights / Shelf details View+Add: Quick filters + Saved sit left of chips */
#sd-categories-page-root .sd-categories-filter-match-main,
#sd-stores-page-root .sd-stores-filter-match-main,
#sd-prod-page-root .sd-stores-filter-match-main,
#sd-s1-page-root .sd-stores-filter-match-main,
#sd-sb-page-root .sd-stores-filter-match-main,
#sd-u2-page-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-filter-match-main > #sd-categories-facet-toggle,
#sd-categories-page-root .sd-categories-filter-match-main > .sd-stores-saved-filters-anchor,
#sd-stores-page-root .sd-stores-filter-match-main > #sd-stores-facet-toggle,
#sd-stores-page-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor,
#sd-prod-page-root .sd-stores-filter-match-main > #sd-prod-facet-toggle,
#sd-prod-page-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor,
#sd-s1-page-root .sd-stores-filter-match-main > #sd-s1-facet-toggle,
#sd-s1-page-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor,
#sd-sb-page-root .sd-stores-filter-match-main > #sd-sb-facet-toggle,
#sd-sb-page-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor,
#sd-u2-page-root .sd-stores-filter-match-main > #sd-u2-facet-toggle,
#sd-u2-page-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor {
  flex: 0 0 auto;
  /* Stay top-aligned when chips wrap / grow (e.g. Search chip) — center would push these down. */
  align-self: flex-start;
}
/* Match + "+" stay on the lead row (next to Saved Filters); never wrap under chips. */
#sd-categories-page-root .sd-categories-filter-logic-host,
#sd-stores-page-root .sd-stores-filter-logic-host,
#sd-sb-page-root .sd-sb-filter-logic-host,
#sd-prod-page-root .sd-prod-filter-logic-host,
#sd-u2-page-root .sd-u2-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-categories-page-root .sd-stores-filter-chips__row--applied,
#sd-stores-page-root .sd-stores-filter-chips__row--applied,
#sd-sb-page-root .sd-stores-filter-chips__row--applied,
#sd-prod-page-root .sd-stores-filter-chips__row--applied,
#sd-u2-page-root .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-categories-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip,
#sd-stores-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip,
#sd-sb-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip,
#sd-prod-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip,
#sd-u2-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  /* Keep remove × on the right; only the value segment wraps. */
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-categories-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part,
#sd-stores-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part,
#sd-sb-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part,
#sd-prod-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part,
#sd-u2-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part {
  flex: 0 0 auto;
}
#sd-categories-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value,
#sd-stores-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value,
#sd-sb-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value,
#sd-prod-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value,
#sd-u2-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  align-items: flex-start;
}
#sd-categories-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value,
#sd-stores-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value,
#sd-sb-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value,
#sd-prod-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value,
#sd-u2-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#sd-categories-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x,
#sd-stores-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x,
#sd-sb-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x,
#sd-prod-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x,
#sd-u2-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
/* Match height/typography of Match ALL/ANY (.sd-stores-filter-logic) */
#sd-categories-page-root .sd-categories-filter-text-btn,
#sd-stores-page-root .sd-stores-filter-text-btn,
#sd-prod-page-root .sd-stores-filter-text-btn,
#sd-s1-page-root .sd-stores-filter-text-btn,
#sd-sb-page-root .sd-stores-filter-text-btn,
#sd-u2-page-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-filter-text-btn__icon,
#sd-stores-page-root .sd-stores-filter-text-btn__icon,
#sd-prod-page-root .sd-stores-filter-text-btn__icon,
#sd-s1-page-root .sd-stores-filter-text-btn__icon,
#sd-sb-page-root .sd-stores-filter-text-btn__icon,
#sd-u2-page-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-categories-page-root .sd-categories-filter-text-btn[aria-pressed="true"],
#sd-stores-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
#sd-prod-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
#sd-s1-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
#sd-sb-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
#sd-u2-page-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
html.theme-dark #sd-categories-page-root .sd-categories-filter-text-btn[aria-pressed="true"],
html.theme-dark #sd-stores-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
html.theme-dark #sd-prod-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
html.theme-dark #sd-s1-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
html.theme-dark #sd-sb-page-root .sd-stores-filter-text-btn[aria-pressed="true"],
html.theme-dark #sd-u2-page-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}
/* Actions: same height/type as Columns / Group By text buttons */
#sd-categories-page-root #sd-categories-actions-btn.sd-stores-actions-menu-btn,
#sd-stores-page-root #sd-stores-actions-menu-btn.sd-stores-actions-menu-btn,
#sd-prod-page-root #sd-prod-actions-btn.sd-stores-actions-menu-btn,
#sd-s1-page-root #sd-s1-actions-btn.sd-stores-actions-menu-btn,
#sd-sb-page-root #sd-sb-actions-btn.sd-stores-actions-menu-btn,
#sd-u2-page-root #sd-u2-actions-btn.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-filter-match-main > .sd-stores-filter-chips--primary {
  /* Full-width row under Quick Filters / Saved / Match / + — do not shrink onto the lead row. */
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-categories-page-root .sd-categories-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-sb-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary,
#sd-prod-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary,
#sd-u2-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary,
#sd-stores-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-sb-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty,
#sd-prod-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty,
#sd-u2-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty,
#sd-stores-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-s1-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 1 12rem;
  min-width: 0;
}
/* Stores / Products / Shelves+Insights / Shelf details: Saved Filters sits left of chips — keep panel in-flow under fixed JS placement. */
#sd-stores-page-root #sd-stores-saved-filters-popover.sd-stores-popover--export,
#sd-prod-page-root #sd-prod-saved-popover.sd-stores-popover--export,
#sd-s1-page-root #sd-s1-saved-pop.sd-stores-popover--export,
#sd-sb-page-root #sd-sb-saved-filters-popover.sd-stores-popover--export,
#sd-u2-page-root #sd-u2-saved-filters-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-stores-page-root #sd-stores-saved-filters-popover .sd-stores-popover__inner--cols,
#sd-prod-page-root #sd-prod-saved-popover .sd-stores-popover__inner--cols,
#sd-s1-page-root #sd-s1-saved-pop .sd-stores-popover__inner--cols,
#sd-sb-page-root #sd-sb-saved-filters-popover .sd-stores-popover__inner--cols,
#sd-u2-page-root #sd-u2-saved-filters-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}

#sd-stores-page-root,
#sd-categories-page-root,
#sd-tasks-page-root,
#sd-s1-page-root,
#sd-shelfybot-page-root,
#sd-sb-page-root,
#sd-prod-page-root {
  position: relative;
  transition: padding-left 0.2s ease;
}
/* Stores: no padding transition ? animating the main column width reflows the split table and flickers. */
#sd-stores-page-root {
  transition: none;
}
#sd-stores-page-root.sd-stores-facet--open,
#sd-categories-page-root.sd-stores-facet--open,
#sd-tasks-page-root.sd-stores-facet--open,
#sd-s1-page-root.sd-stores-facet--open,
#sd-data-collection-root.sd-stores-facet--open,
/* Shelf View + Add / Insights import: reserve width so fixed quick-filters do not cover the main column */
#sd-sb-page-root.sd-stores-facet--open,
#sd-u2-page-root.sd-stores-facet--open,
#sd-prod-page-root.sd-stores-facet--open {
  padding-left: calc(14px + min(300px, 88vw));
}
.sd-stores-facet {
  position: fixed;
  top: 0;
  left: var(--sd-sidebar-w);
  bottom: 0;
  z-index: 35;
  width: min(300px, 88vw);
  max-width: 100%;
  box-sizing: border-box;
  border-right: 1px solid var(--sd-border);
  background: color-mix(in srgb, var(--sd-bg) 92%, white 8%);
  box-shadow: none;
  overflow: hidden auto;
  overscroll-behavior: contain;
}
body:has(#sd-sidebar.is-collapsed) .sd-stores-facet {
  left: var(--sd-sidebar-collapsed);
}
html.theme-dark .sd-stores-facet {
  background: color-mix(in srgb, var(--sd-bg) 86%, rgb(255 255 255) 14%);
  box-shadow: none;
}
/* Stores page quick filters: panel still scrolls when tall; scrollbar hidden */
#sd-stores-facet-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#sd-stores-facet-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
#sd-shelfybot-history-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#sd-shelfybot-history-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
#sd-s1-facet-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#sd-s1-facet-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
#sd-categories-facet-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#sd-categories-facet-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
/* Categories quick filters: whole-row hover on facet value rows */
#sd-categories-facet-panel .sd-stores-facet-table tbody tr.sd-stores-facet-table__row {
  cursor: pointer;
}
#sd-categories-facet-panel .sd-stores-facet-table tbody tr.sd-stores-facet-table__row > td {
  transition: background-color 0.12s ease;
}
#sd-categories-facet-panel .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td {
  background-color: var(--sd-surface-hover, rgba(0, 0, 0, 0.07));
}
html.theme-dark #sd-categories-facet-panel .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td {
  background-color: rgba(255, 255, 255, 0.08);
}
#sd-tasks-facet-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#sd-tasks-facet-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
#sd-sb-facet-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#sd-sb-facet-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
/* Add tab (shelf uploads): quick filters live in-page, not full-viewport `.sd-stores-facet` ? match View tab top/left/right frame */
#sd-u2-facet-panel.sd-stores-facet {
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: static;
  top: auto;
  left: auto;
  bottom: auto;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  width: min(300px, 88vw);
  max-width: 100%;
  box-sizing: border-box;
}
#sd-u2-facet-panel.sd-stores-facet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
/* Recent conversations: use default .sd-stores-facet__inner padding (14px 12px 20px) like Shelves quick filters ? no extra left gutter. */
#sd-shelfybot-page-root.sd-stores-facet--open #sd-shelfybot-history-panel.sd-stores-facet.sd-shelfybot-history {
  overflow: hidden;
}
.sd-stores-facet__inner {
  padding: 14px 12px 20px;
}
.sd-stores-facet__head {
  margin-bottom: 14px;
}
.sd-stores-facet__head-row.sd-stores-col-popover__toolbar.sd-stores-modal__head {
  margin-bottom: 6px;
}
.sd-stores-facet__title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
}
.sd-stores-facet__head-row .sd-stores-facet__title.sd-stores-modal__title {
  margin-bottom: 0;
  font-size: 17px;
}
.sd-stores-facet__hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
.sd-stores-facet__error {
  margin: 0 0 10px;
  font-size: 12px;
}
.sd-stores-facet__block {
  margin-top: 14px;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  background: var(--sd-surface, var(--sd-bg));
  overflow: hidden;
}
.sd-stores-facet__section-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  /* Same outer height as toolbar Match ALL/ANY (.sd-stores-filter-logic) when section body is collapsed */
  min-height: calc(2px + 6px + 1.35em + 6px);
  padding: 6px 12px;
  border: none;
  background: var(--sd-bg);
  color: var(--sd-text);
  font: inherit;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}
.sd-stores-facet__section-toggle .sd-stores-facet__section-count {
  font-size: 11px;
  line-height: 1.35;
  font-weight: 600;
}
.sd-stores-facet__section-toggle:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.04));
}
html.theme-dark .sd-stores-facet__section-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
}
/* Same chevron as grouped table rows (.sd-stores-group-chevron + rotate when open). */
.sd-stores-facet__section-toggle .sd-stores-group-chevron {
  flex-shrink: 0;
  color: var(--sd-muted);
}
.sd-stores-facet__section-toggle--expanded .sd-stores-group-chevron {
  transform: rotate(90deg);
}
.sd-stores-facet__section-body {
  padding: 0;
  /* Divider between header and body when expanded (avoids double border with .sd-stores-facet__block when collapsed) */
  border-top: 1px solid var(--sd-border);
}
.sd-stores-facet__section-body[hidden] {
  display: none;
}
.sd-stores-facet__table-scroll {
  max-height: 36vh;
  overflow: auto;
}
.sd-stores-facet__table-scroll--tall {
  max-height: 44vh;
}
.sd-stores-facet__caps-controls {
  border-bottom: 1px solid var(--sd-border);
  background: var(--sd-surface, var(--sd-bg));
}
.sd-stores-facet__caps-controls .sd-stores-facet__caps-search-wrap {
  border-bottom: none;
  /* Let `.sd-stores-facet__caps-match-row` supply the 8px gap below the input (same as 8px above it). */
  padding-bottom: 0;
}
/* Vertical rhythm: 8px above and below the Match row (same as 8px above the search input). */
.sd-stores-facet__caps-match-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  margin-top: 0;
  padding: 8px 10px;
}
.sd-stores-facet__caps-match-row .sd-stores-filter-logic--facet-caps {
  margin-right: 0;
}
.sd-stores-filter-logic--facet-caps-status {
  border-radius: 7px;
}
.sd-stores-filter-logic--facet-caps-status > .sd-muted {
  padding: 4px 8px;
  line-height: 1.2;
}
.sd-stores-filter-logic--facet-caps-status .sd-stores-filter-logic-btn {
  min-height: 26px;
  padding: 4px 9px;
  line-height: 1.2;
}
.sd-stores-filter-logic--facet-caps-status .sd-stores-filter-logic-btn:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: -2px;
}
.sd-stores-facet__caps-search-wrap,
.sd-stores-facet__section-search-wrap {
  padding: 8px 10px;
  border-bottom: 1px solid var(--sd-border);
  background: var(--sd-surface, var(--sd-bg));
}
.sd-stores-facet__caps-search,
.sd-stores-facet__section-search {
  width: 100%;
  box-sizing: border-box;
  font-size: 12px;
  min-height: 32px;
}
.sd-stores-facet-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  table-layout: fixed;
}
/* Header row matches main Stores table (.sd-table th + .sd-stores-table th.sd-stores-th). */
.sd-stores-facet-table thead {
  position: static;
  background: transparent;
  box-shadow: none;
}
.sd-stores-facet-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 12px;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
  background: var(--sd-surface, var(--sd-bg));
  border-bottom: 1px solid var(--sd-border);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  cursor: default;
  user-select: none;
}
.sd-stores-facet__cb-select-all:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.sd-stores-facet-table thead th:last-child,
.sd-stores-facet-table td.sd-stores-facet-table__num {
  text-align: right;
}
.sd-stores-facet-table__th-check,
.sd-stores-facet-table__td-check {
  width: 2.75rem;
  box-sizing: border-box;
}
.sd-stores-facet-table__th-check {
  text-align: center;
}
.sd-stores-facet-table__sort {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
  text-align: inherit;
  text-decoration: none;
}
.sd-stores-facet-table thead th:last-child .sd-stores-facet-table__sort {
  text-align: right;
}
.sd-stores-facet-table__sort:hover {
  color: var(--sd-text);
}
.sd-stores-facet-table__sort:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.sd-stores-facet-table__sort--active {
  color: var(--sd-text);
}
.sd-stores-facet-table td {
  /* Match thead th horizontal padding so VALUE / COUNT line up with header labels */
  padding: 8px 12px;
  border-top: 1px solid var(--sd-border);
  vertical-align: middle;
}
.sd-stores-facet-table__td-check {
  text-align: center;
}
.sd-stores-facet-table__num {
  font-variant-numeric: tabular-nums;
  color: var(--sd-muted);
  font-size: 12px;
}
/* Stable count column width so Count header and numeric cells share one column edge */
.sd-stores-facet-table thead th:nth-child(3),
.sd-stores-facet-table tbody td:nth-child(3) {
  width: 4.5rem;
}
.sd-stores-facet-table thead th:nth-child(2),
.sd-stores-facet-table tbody td:nth-child(2) {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.sd-stores-facet-table__label {
  cursor: pointer;
  line-height: 1.35;
  word-break: break-word;
}
.sd-stores-facet-table__row:hover td {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.03));
}
html.theme-dark .sd-stores-facet-table__row:hover td {
  background: rgba(255, 255, 255, 0.04);
}
.sd-stores-facet__cb {
  margin: 0;
  vertical-align: middle;
}
.sd-stores-facet__loading,
.sd-stores-facet__empty {
  padding: 12px 10px;
  color: var(--sd-muted);
  font-size: 12px;
  text-align: center;
}
.sd-stores-facet__code {
  font-size: 11px;
}

.sd-stores-visuals-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
  /* Match Categories toolbar gap under the page description (12px). */
  margin-top: 12px;
  margin-bottom: 0;
}
.sd-stores-visuals-grid:has(> .sd-stores-map-card[hidden]),
.sd-stores-visuals-grid:has(> .sd-stores-chart-card[hidden]),
.sd-stores-visuals-grid--single {
  grid-template-columns: minmax(0, 1fr);
}
/* When map + chart are both closed, drop the grid so it doesn’t add gap above the search box. */
.sd-stores-visuals-grid:not(:has(> :not([hidden]))),
.sd-stores-visuals-grid[hidden] {
  display: none;
  margin: 0;
}
.sd-stores-visuals-grid > [hidden] {
  display: none;
}
.sd-stores-map-card,
.sd-stores-chart-card {
  position: relative;
  width: 100%;
  height: 350px;
  min-width: 0;
  margin: 0;
}
.sd-stores-map-card {
  padding: 0;
  overflow: hidden;
}
.sd-stores-visual-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--sd-muted);
  box-shadow: none;
  font: inherit;
  line-height: 0;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.sd-stores-visual-close svg {
  display: block;
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
}
.sd-stores-visual-close:hover {
  background: #ffffff;
  color: #334155;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
}
.sd-stores-visual-close:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-stores-section-head__left {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.sd-stores-section-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 4px 8px 4px 4px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-text);
  font: inherit;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  line-height: 1.2;
}
.sd-stores-section-toggle:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-section-toggle:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-section-toggle__icon {
  display: inline-block;
  width: 1.25em;
  text-align: center;
  font-size: 11px;
  opacity: 0.85;
}
.sd-stores-section-toggle:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
.sd-stores-map {
  height: 100%;
  width: 100%;
  z-index: 1;
}
.sd-stores-map-popup-details {
  margin: 4px 0 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--sd-accent);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.sd-stores-map-popup-details:hover {
  text-decoration: underline;
}
.sd-stores-map-popup-details:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  border-radius: 2px;
}
.sd-stores-chart-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}
.sd-stores-chart-head {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 11px 44px 11px 12px;
  flex: 0 0 auto;
}
.sd-stores-chart-head__title-row {
  display: flex;
  flex-direction: column;
  flex: 1 1 200px;
  align-items: flex-start;
  gap: 2px;
}
/* Keep By year/month + Total/Added/Removed together so they wrap as one unit. */
.sd-stores-chart-head__controls {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 380px) {
  .sd-stores-chart-head__controls {
    flex-wrap: wrap;
  }
}
.sd-stores-chart-card__h2 {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  line-height: 1.35;
  text-align: left;
}
.sd-stores-chart-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px 12px 10px;
  overflow: hidden;
}
.sd-stores-chart-gran {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 1px solid var(--sd-border);
  border-radius: 7px;
  overflow: hidden;
  background: var(--sd-surface, var(--sd-bg));
}
.sd-stores-chart-gran .sd-btn {
  min-height: 31px;
  margin: 0;
  padding: 5px 11px;
  border: none;
  border-left: 1px solid var(--sd-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  transition: color 0.16s ease, background-color 0.16s ease;
}
.sd-stores-chart-gran .sd-btn:first-child {
  border-left: none;
}
.sd-stores-chart-gran .sd-btn:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.05));
}
.sd-stores-chart-gran .sd-btn:disabled {
  background: transparent;
  color: var(--sd-muted);
  opacity: 0.42;
  cursor: not-allowed;
}
.sd-stores-chart-gran .sd-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  color: var(--sd-accent);
}
html.theme-dark .sd-stores-chart-gran .sd-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
  color: var(--sd-text);
}
.sd-stores-chart-hint {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  margin: 0;
}
.sd-stores-chart-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
}
.sd-stores-chart {
  width: 100%;
  height: 100%;
  min-height: 0;
}
.sd-stores-chart-skeleton {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-sizing: border-box;
  padding: 18px 16px 10px 42px;
  border-radius: 8px;
  background: var(--sd-surface, var(--sd-bg));
  overflow: hidden;
}
.sd-stores-chart-skeleton[hidden] {
  display: none;
}
.sd-stores-chart-skeleton::before {
  position: absolute;
  inset: 0;
  content: "";
  transform: translateX(-110%);
  background: linear-gradient(
    100deg,
    transparent 25%,
    color-mix(in srgb, var(--sd-text) 7%, transparent) 48%,
    transparent 72%
  );
  animation: sd-stores-chart-shimmer 1.8s ease-in-out infinite;
}
.sd-stores-chart-skeleton__plot {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 70%, transparent);
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(25% - 1px),
    color-mix(in srgb, var(--sd-border) 70%, transparent) 25%
  );
}
.sd-stores-chart-skeleton__plot::after {
  position: absolute;
  inset: 20% 3% 12%;
  content: "";
  border-radius: 8px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sd-accent) 24%, var(--sd-border)),
    color-mix(in srgb, var(--sd-accent) 7%, transparent)
  );
  clip-path: polygon(0 82%, 13% 76%, 25% 58%, 38% 66%, 50% 32%, 63% 44%, 76% 18%, 88% 38%, 100% 8%, 100% 100%, 0 100%);
  animation: sd-pulse 2.4s ease-in-out infinite;
}
.sd-stores-chart-skeleton__legend {
  display: flex;
  justify-content: center;
  gap: 16px;
  height: 16px;
}
.sd-stores-chart-skeleton__legend span {
  width: clamp(54px, 17%, 92px);
  height: 8px;
  border-radius: 999px;
  background: var(--sd-border);
  animation: sd-pulse 2.4s ease-in-out infinite;
}
.sd-stores-chart-skeleton__legend span:nth-child(2) {
  animation-delay: 0.18s;
}
.sd-stores-chart-skeleton__legend span:nth-child(3) {
  animation-delay: 0.36s;
}
@keyframes sd-stores-chart-shimmer {
  100% {
    transform: translateX(110%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sd-stores-chart-skeleton::before,
  .sd-stores-chart-skeleton__plot::after,
  .sd-stores-chart-skeleton__legend span {
    animation: none;
  }
}
.sd-stores-chart .apexcharts-legend {
  align-content: flex-start;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 45%, transparent) transparent;
}
.sd-stores-chart .apexcharts-grid-borders line:last-child {
  display: none;
}
.sd-stores-chart .apexcharts-legend::-webkit-scrollbar {
  width: 6px;
}
.sd-stores-chart .apexcharts-legend::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--sd-muted) 45%, transparent);
}
@media (max-width: 1050px) {
  .sd-stores-visuals-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Stores: same toolbar + input pattern as Shelves (sd-toolbar + sd-input) */
.sd-toolbar--stores {
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sd-toolbar--stores .sd-stores-toolbar__search {
  flex: 1 1 220px;
  min-width: 0;
}
.sd-toolbar--stores .sd-stores-toolbar__search .sd-input {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  height: 40px;
  min-height: 40px;
  padding: 0 12px;
}
/* s1 page ? Shelves-list style sort headers + column drag (same .sd-shelf-sort-th as shelf table) */
.sd-s1-th-inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}
.sd-shelf-col-drag {
  cursor: grab;
  flex: 0 0 auto;
  font-size: 10px;
  line-height: 1;
  letter-spacing: -2px;
  color: var(--sd-muted);
  user-select: none;
  opacity: 0.75;
}
.sd-shelf-col-drag:hover {
  color: var(--sd-text);
  opacity: 1;
}
.sd-shelf-col-drag:active {
  cursor: grabbing;
}
#sd-s1-page-root .sd-stores-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-s1-page-root .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
/* Stores / Shelves2 list ? same sortable header + drag handle layout as s1 */
#sd-stores-page-root .sd-stores-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-stores-page-root .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
/* Categories table ? same sortable header + column drag as Shelves / Stores */
#sd-categories-page-root .sd-stores-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-categories-page-root .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

/* s1 table: shelf name uses body text color (not .sd-shelf-row__name accent); row hover matches Stores table */
#sd-s1-page-root .sd-stores-table .sd-shelf-row__name {
  color: var(--sd-text);
  font-weight: 400;
}
/* Selectable data rows: shared .sd-stores-table :has(row-cb) hover/selected chrome wins over flat page hover. */
#sd-s1-page-root .sd-stores-table tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-s1-page-root .sd-stores-table tr.sd-stores-tr.sd-shelf-row--active-tasks:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td {
  background: var(--sd-hover-table-cell-bg);
}
/* Non-checkbox data rows only (empty / edge cases); checkbox rows use shared selection chrome */
#sd-sb-page-root .sd-stores-table tbody tr.sd-stores-tr:not(.sd-sb-table-empty):not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td,
#sd-u2-page-root .sd-stores-table tbody tr.sd-stores-tr:not(.sd-u2-table-empty):not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td,
#sd-stores-page-root .sd-stores-table tbody tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td,
#sd-categories-page-root .sd-stores-table tbody tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td,
#sd-tasks-page-root .sd-stores-table tbody tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td,
#sd-prod-page-root .sd-stores-table tbody tr.sd-stores-tr:not(.sd-prod-table-empty):not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td,
#sd-settings-login-history-root .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover > td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-sb-page-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td,
#sd-u2-page-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td,
#sd-stores-page-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td,
#sd-categories-page-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td,
#sd-tasks-page-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td,
#sd-prod-page-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td,
#sd-settings-login-history-root .sd-stores-table tbody tr.sd-stores-group-row:hover > td {
  background: var(--sd-hover-table-cell-bg);
}
/* Shelves list tables (s1 + Stores ?Shelves? variant): vertically center cell content. */
#sd-s1-page-root .sd-stores-table tbody tr.sd-stores-tr > td,
#sd-stores-page-root[data-stores-page-variant="shelves2"] .sd-stores-table tbody tr.sd-stores-tr > td {
  vertical-align: middle;
}
/* s1 split table: match Stores select-column padding so head/body checkboxes share the same column box */
#sd-s1-page-root #sd-s1-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-s1-page-root #sd-s1-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
  padding: 10px 12px;
  box-sizing: border-box;
}
#sd-s1-page-root #sd-s1-table-head.sd-stores-table--grouped.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-s1-page-root #sd-s1-table.sd-stores-table--grouped.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  padding: 10px 0;
  width: 40px;
  max-width: 40px;
  box-sizing: border-box;
}
/* Group labels must not inflate table min-width (phantom H-scroll / columns shoved right). */
#sd-s1-page-root #sd-s1-table.sd-stores-table--grouped tr.sd-stores-group-row td.sd-stores-group-row__td {
  overflow: hidden;
  max-width: 0;
}
#sd-s1-page-root #sd-s1-table.sd-stores-table--grouped .sd-stores-group-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Fixed layout: keep cell content inside its column (avoids visual misalignment from overflow). */
#sd-s1-page-root #sd-s1-table.sd-stores-table tbody tr.sd-stores-tr > td:not(.sd-stores-table__td-select) {
  overflow: hidden;
  text-overflow: ellipsis;
}
#sd-s1-page-root #sd-s1-table.sd-stores-table tbody tr.sd-stores-tr > td[data-col="actions"],
#sd-s1-page-root #sd-s1-table.sd-stores-table tbody tr.sd-stores-tr > td.sd-s1-status-cell {
  overflow: visible;
}
/*
 * Shelves/Insights table chrome:
 * - Reserve scrollbar gutter only while the body actually overflows (avoids empty right strip when Group By is collapsed).
 * - Drop the last row's bottom rule so it doesn't stack against the shell border.
 */
#sd-s1-page-root .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap,
#sd-s1-page-root .sd-stores-table-scroll-shell .sd-table-wrap.sd-stores-table-scroll {
  scrollbar-gutter: auto;
}
#sd-s1-page-root .sd-stores-table-scroll-shell.sd-stores-table-scroll-shell--vscroll .sd-stores-table-thead-wrap,
#sd-s1-page-root .sd-stores-table-scroll-shell.sd-stores-table-scroll-shell--vscroll .sd-table-wrap.sd-stores-table-scroll {
  scrollbar-gutter: stable;
}
#sd-s1-page-root .sd-stores-table tbody tr:last-child > td {
  border-bottom: none;
}
#sd-s1-page-root .sd-stores-table tbody tr.sd-stores-group-row:last-child > td.sd-stores-table__td-select,
#sd-s1-page-root .sd-stores-table tbody tr.sd-stores-group-row:last-child > td.sd-stores-table__td-select--group-spacer,
#sd-s1-page-root .sd-stores-table tbody tr.sd-stores-group-row:last-child > td.sd-stores-group-row__td {
  border-bottom: none;
}
/* Let JS column-fit control width; min-content here forces a phantom H-scrollbar under Group By. */
#sd-s1-page-root .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap,
#sd-s1-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll {
  min-width: 0;
}
#sd-s1-page-root .sd-stores-table-scroll-shell .sd-stores-table-hsync {
  min-width: 0;
}
/* Shelves list: no shelves yet ? in-table row (same pattern as Add tab uploads empty body). */
#sd-s1-page-root #sd-s1-table tbody tr.sd-s1-table-empty td {
  text-align: center;
  padding: 28px 16px 36px;
  vertical-align: middle;
  background: var(--sd-surface);
}
/* Shelves/Insights Actions column: match View-tab product Actions buttons. */
#sd-s1-page-root #sd-s1-table .sd-s1-table__td-actions,
#sd-s1-page-root #sd-s1-table-head th.sd-stores-th--actions {
  vertical-align: middle;
  text-align: left;
  white-space: nowrap;
}
#sd-s1-page-root .sd-s1-table-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
#sd-s1-page-root .sd-s1-table-actions .sd-btn {
  flex: 0 0 auto;
  height: 28px;
  min-height: 28px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-cards-empty {
  text-align: center;
  padding: 28px 16px 36px;
  margin: 0;
  box-sizing: border-box;
  background: var(--sd-surface);
}

.sd-s1-scroll--cards {
  max-height: 72vh;
  overflow: auto;
}

/* s1 card view: Home Recent Activity?style row (checkbox | main | status | menu). */
#sd-s1-page-root .sd-s1-shelf-card {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) var(--sd-home-activity-badge-col) 44px;
  align-items: stretch;
  overflow: hidden;
  background: var(--sd-surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}
#sd-s1-page-root .sd-s1-shelf-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
#sd-s1-page-root .sd-s1-shelf-card__select {
  grid-column: 1;
  position: static;
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
/* Main hit: reuse home activity inner layout (icon + title/meta + stats strip). */
#sd-s1-page-root .sd-s1-shelf-card__hit.sd-home-activity-row__hit {
  grid-column: 2;
  grid-row: auto;
  min-width: 0;
  box-sizing: border-box;
  padding: 14px 10px 14px 14px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
#sd-s1-page-root .sd-s1-shelf-card__hit.sd-home-activity-row__hit:hover .sd-home-activity-row__title {
  text-decoration: underline;
  text-underline-offset: 2px;
}
#sd-s1-page-root .sd-s1-shelf-card__badge-wrap.sd-home-activity-card__badge-wrap {
  grid-column: 3;
  grid-row: 1;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
}
/* Match Home Recent Activity: equal-width status pills, centered in the badge column. */
#sd-s1-page-root .sd-s1-shelf-card__badge-wrap .sd-home-activity-badge {
  width: auto;
  min-width: 10.25rem;
  max-width: 100%;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-shelf-card__badge-wrap .sd-home-activity-badge--btn {
  text-align: center;
}
#sd-s1-page-root .sd-s1-shelf-card__menu {
  grid-column: 4;
  border-left: 1px solid var(--sd-border);
}
@media (min-width: 860px) {
  #sd-s1-page-root .sd-s1-shelf-card__hit.sd-home-activity-row__hit {
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 12px 6px 12px 14px;
  }
  #sd-s1-page-root .sd-s1-shelf-card__hit .sd-home-activity-card__top {
    flex: 1 1 0;
    min-width: 0;
  }
  #sd-s1-page-root .sd-s1-shelf-card__hit .sd-home-activity-card__bottom {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 0;
  }
  #sd-s1-page-root .sd-s1-shelf-card__hit .sd-home-activity-row__stats {
    width: 22rem;
    max-width: 100%;
    margin-left: 0;
    border-radius: 0;
    border: none;
    border-left: 1px solid var(--sd-border);
    overflow: visible;
  }
}

/* Shelves / Insights Kanban board — open columns on page surface (not inside table shell). */
#sd-s1-page-root .sd-s1-kanban-root {
  display: none;
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
  border: none;
  border-top: none;
  background: transparent;
  overflow: visible;
  position: relative;
}
#sd-s1-page-root .sd-s1-kanban-root:not([hidden]) {
  display: block;
}
/* Match table view gap under count/pager (.sd-stores-table-head padding-bottom: 8px). */
#sd-s1-page-root.sd-s1-page--kanban .sd-stores-table-section > .sd-stores-table-head {
  margin-bottom: 0;
  padding-bottom: 8px;
}
#sd-s1-page-root .sd-s1-kanban-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 16px;
  align-items: stretch;
  padding: 0 0 8px;
  min-width: 0;
  background: transparent;
  border: none;
}
#sd-s1-page-root .sd-s1-kanban-col {
  --sd-s1-kanban-col-accent: var(--sd-s1-kanban-accent-new, #64748b);
  --sd-s1-kanban-col-title: var(--sd-text);
  --sd-s1-kanban-col-well: color-mix(in srgb, var(--sd-s1-kanban-col-accent) 7%, var(--sd-bg, #f4f5f7));
  --sd-s1-kanban-col-head-bg: color-mix(in srgb, var(--sd-s1-kanban-col-accent) 16%, var(--sd-surface, #fff));
  --sd-s1-kanban-col-border: color-mix(in srgb, var(--sd-s1-kanban-col-accent) 32%, var(--sd-border));
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 1px solid var(--sd-s1-kanban-col-border);
  border-radius: 12px;
  background: var(--sd-s1-kanban-col-well);
  box-shadow: none;
  overflow: hidden;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-col[data-s1-kanban-col="new"] {
  --sd-s1-kanban-col-accent: var(--sd-s1-kanban-accent-new, #64748b);
  --sd-s1-kanban-col-title: color-mix(in srgb, var(--sd-s1-kanban-accent-new, #64748b) 35%, var(--sd-text));
}
#sd-s1-page-root .sd-s1-kanban-col[data-s1-kanban-col="in_progress"] {
  --sd-s1-kanban-col-accent: var(--sd-s1-kanban-accent-progress, #0284c7);
  --sd-s1-kanban-col-title: color-mix(in srgb, var(--sd-s1-kanban-accent-progress, #0284c7) 72%, var(--sd-text));
  --sd-s1-kanban-col-well: color-mix(in srgb, var(--sd-s1-kanban-accent-progress, #0284c7) 8%, var(--sd-bg, #f4f5f7));
  --sd-s1-kanban-col-head-bg: color-mix(in srgb, var(--sd-s1-kanban-accent-progress, #0284c7) 18%, var(--sd-surface, #fff));
  --sd-s1-kanban-col-border: color-mix(in srgb, var(--sd-s1-kanban-accent-progress, #0284c7) 36%, var(--sd-border));
}
#sd-s1-page-root .sd-s1-kanban-col[data-s1-kanban-col="complete"] {
  --sd-s1-kanban-col-accent: var(--sd-s1-kanban-accent-complete, #15803d);
  --sd-s1-kanban-col-title: color-mix(in srgb, var(--sd-s1-kanban-accent-complete, #15803d) 72%, var(--sd-text));
  --sd-s1-kanban-col-well: color-mix(in srgb, var(--sd-s1-kanban-accent-complete, #15803d) 8%, var(--sd-bg, #f4f5f7));
  --sd-s1-kanban-col-head-bg: color-mix(in srgb, var(--sd-s1-kanban-accent-complete, #15803d) 18%, var(--sd-surface, #fff));
  --sd-s1-kanban-col-border: color-mix(in srgb, var(--sd-s1-kanban-accent-complete, #15803d) 36%, var(--sd-border));
}
html.theme-shelfy #sd-s1-page-root .sd-s1-kanban-col {
  /* Keep themed wells on Shelfy’s gray canvas (do not force transparent). */
  background: var(--sd-s1-kanban-col-well);
}
#sd-s1-page-root .sd-s1-kanban-col__head {
  display: block;
  flex: 0 0 auto;
  padding: 0;
  border-bottom: none;
  background: transparent;
}
#sd-s1-page-root .sd-s1-kanban-col__title-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 10px 10px 10px 12px;
  border: none;
  border-radius: 0;
  background: var(--sd-s1-kanban-col-head-bg);
  box-shadow: none;
  box-sizing: border-box;
  color: var(--sd-s1-kanban-col-title);
  line-height: 1.2;
}
#sd-s1-page-root .sd-s1-kanban-col__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--sd-s1-kanban-col-accent);
}
#sd-s1-page-root .sd-s1-kanban-col__icon svg {
  width: 22px;
  height: 22px;
  display: block;
}
#sd-s1-page-root .sd-s1-kanban-col__title {
  flex: 0 1 auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--sd-s1-kanban-col-title);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sd-s1-page-root .sd-s1-kanban-col__count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface, #fff));
  color: var(--sd-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
}
html.theme-shelfy #sd-s1-page-root .sd-s1-kanban-col__count {
  background: color-mix(in srgb, var(--sd-muted) 12%, #ffffff);
}
#sd-s1-page-root .sd-s1-kanban-col__title-row--zero .sd-s1-kanban-col__title {
  opacity: 0.72;
  font-weight: 600;
}
#sd-s1-page-root .sd-s1-kanban-col__add {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-col__add:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
}
#sd-s1-page-root .sd-s1-kanban-col__add:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 1px;
}
#sd-s1-page-root .sd-s1-kanban-col__add + .sd-s1-kanban-col__menu {
  margin-left: 0;
}
#sd-s1-page-root .sd-s1-kanban-col__menu {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-col__menu:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
}
#sd-s1-page-root .sd-s1-kanban-col__menu:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 1px;
}
#sd-s1-page-root .sd-s1-kanban-col__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 10px 12px;
  min-height: 140px;
  flex: 1 1 auto;
  border-radius: 0;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
#sd-s1-page-root .sd-s1-kanban-col__body--drag-over,
#sd-s1-page-root .sd-s1-kanban-col--drag-over {
  background: color-mix(in srgb, var(--sd-s1-kanban-col-accent, var(--sd-accent)) 12%, transparent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--sd-s1-kanban-col-accent, var(--sd-accent)) 45%, transparent);
  border-radius: 8px;
}
#sd-s1-page-root .sd-s1-kanban-col__empty {
  margin: 8px 2px;
  font-size: 12px;
  text-align: left;
}
#sd-s1-page-root .sd-s1-kanban-card.sd-s1-shelf-card {
  --sd-s1-kanban-accent: var(--sd-s1-kanban-accent-new);
  --sd-s1-kanban-accent-soft: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-new) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
  position: relative;
  display: block;
  cursor: grab;
  margin: 0;
  padding: 0;
  border: 1px solid var(--sd-s1-kanban-card-border, var(--sd-border));
  border-radius: 12px;
  background: var(--sd-s1-kanban-card-bg, var(--sd-surface));
  box-shadow: var(--sd-s1-kanban-card-shadow, 0 1px 2px rgba(15, 23, 42, 0.05));
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
/* Accent: gray=new, blue/sky=in progress, green=complete; red overrides on failed/canceled import. */
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-status="new"] {
  --sd-s1-kanban-accent: var(--sd-s1-kanban-accent-new);
  --sd-s1-kanban-accent-soft: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-new) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-status="in_progress"],
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-status="importing_data"],
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-status="needs_review"] {
  --sd-s1-kanban-accent: var(--sd-s1-kanban-accent-progress);
  --sd-s1-kanban-accent-soft: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-progress) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-status="complete"] {
  --sd-s1-kanban-accent: var(--sd-s1-kanban-accent-complete);
  --sd-s1-kanban-accent-soft: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-complete) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-import-phase="failed"],
#sd-s1-page-root .sd-s1-kanban-card[data-s1-kanban-import-phase="cancelled"] {
  --sd-s1-kanban-accent: var(--sd-s1-kanban-accent-danger);
  --sd-s1-kanban-accent-soft: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-danger) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card.sd-s1-shelf-card:hover {
  border-color: color-mix(in srgb, var(--sd-text) 14%, var(--sd-s1-kanban-card-border, var(--sd-border)));
  box-shadow: var(--sd-s1-kanban-card-shadow-hover, 0 4px 16px rgba(15, 23, 42, 0.12));
  transform: translateY(-1px);
}
#sd-s1-page-root .sd-s1-kanban-card .sd-s1-shelf-card__hit.sd-home-activity-row__hit:hover .sd-home-activity-row__title,
#sd-s1-page-root .sd-s1-kanban-card .sd-s1-kanban-card__hit.sd-home-activity-row__hit:hover .sd-home-activity-row__title,
#sd-s1-page-root .sd-s1-kanban-card .sd-s1-kanban-card__title:hover {
  text-decoration: none;
}
#sd-s1-page-root .sd-s1-kanban-card--dragging {
  opacity: 0.55;
  cursor: grabbing;
}
#sd-s1-page-root .sd-s1-kanban-card__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--sd-s1-kanban-accent);
  pointer-events: none;
}
#sd-s1-page-root .sd-s1-kanban-card__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  padding-left: 4px;
}
#sd-s1-page-root .sd-s1-kanban-card__header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  padding: 12px 8px 12px 12px;
  border-bottom: none;
  box-sizing: border-box;
  position: relative;
}
/* Horizontal rules: align with shelf icon (left) and ⋮ menu (right). */
#sd-s1-page-root .sd-s1-kanban-card__header::after,
#sd-s1-page-root .sd-s1-kanban-card__stats::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 8px;
  bottom: 0;
  height: 1px;
  background: color-mix(in srgb, var(--sd-border) 45%, transparent);
  pointer-events: none;
}
#sd-s1-page-root .sd-s1-kanban-card__hit.sd-home-activity-row__hit {
  flex: 1 1 auto;
  grid-column: auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
#sd-s1-page-root .sd-s1-kanban-card__ico {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--sd-s1-kanban-accent-soft);
  color: var(--sd-s1-kanban-accent);
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-card__ico svg {
  width: 18px;
  height: 18px;
}
#sd-s1-page-root .sd-s1-kanban-card__head-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}
#sd-s1-page-root .sd-s1-kanban-card__title-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  min-width: 0;
}
#sd-s1-page-root .sd-s1-kanban-card__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--sd-text);
  line-height: 1.25;
  min-width: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#sd-s1-page-root .sd-s1-kanban-card__badge {
  display: inline-flex;
  flex: 0 0 auto;
  max-width: 100%;
}
#sd-s1-page-root .sd-s1-kanban-card__badge .sd-home-activity-badge {
  width: auto;
  min-width: 0;
  max-width: 100%;
}
#sd-s1-page-root .sd-s1-kanban-card__header .sd-home-activity-row__meta {
  font-size: 11px;
  line-height: 1.35;
  color: var(--sd-muted);
}
#sd-s1-page-root .sd-s1-kanban-card__menu.sd-s1-shelf-card__menu,
#sd-s1-page-root .sd-s1-kanban-card .sd-home-activity-row__menu.sd-s1-kanban-card__menu {
  flex: 0 0 auto;
  align-self: flex-start;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
#sd-s1-page-root .sd-s1-kanban-card__menu.sd-s1-shelf-card__menu:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
}
/* Stats: three equal columns, icon above value + label; vertical dividers inset 5% top/bottom. */
#sd-s1-page-root .sd-s1-kanban-card__stats {
  --sd-s1-kanban-stat-1-fg: var(--sd-overview-products-fg, #2563eb);
  --sd-s1-kanban-stat-1-bg: var(--sd-overview-products-bg, color-mix(in srgb, #3b82f6 14%, var(--sd-surface)));
  --sd-s1-kanban-stat-2-fg: var(--sd-overview-imports-fg, #16a34a);
  --sd-s1-kanban-stat-2-bg: var(--sd-overview-imports-bg, color-mix(in srgb, #22c55e 14%, var(--sd-surface)));
  --sd-s1-kanban-stat-3-fg: var(--sd-overview-bar-1, #7c3aed);
  --sd-s1-kanban-stat-3-bg: color-mix(in srgb, var(--sd-overview-bar-1, #7c3aed) 14%, var(--sd-surface));
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-bottom: none;
  background: transparent;
  box-sizing: border-box;
  position: relative;
}
#sd-s1-page-root .sd-s1-kanban-card__stat {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
  padding: 12px 8px;
  border: none;
  border-right: none;
  background: transparent;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.15;
}
#sd-s1-page-root .sd-s1-kanban-card__stat:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 20%;
  bottom: 20%;
  right: 0;
  width: 1px;
  background: color-mix(in srgb, var(--sd-border) 45%, transparent);
  pointer-events: none;
}
#sd-s1-page-root .sd-s1-kanban-card__stat:last-child {
  border-right: none;
}
#sd-s1-page-root .sd-s1-kanban-card__stat-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  color: var(--sd-accent);
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-card__stat-icon svg {
  width: 14px;
  height: 14px;
}
#sd-s1-page-root .sd-s1-kanban-card__stat--primary .sd-s1-kanban-card__stat-icon {
  background: var(--sd-s1-kanban-stat-1-bg);
  color: var(--sd-s1-kanban-stat-1-fg);
}
#sd-s1-page-root .sd-s1-kanban-card__stat--files .sd-s1-kanban-card__stat-icon {
  background: var(--sd-s1-kanban-stat-2-bg);
  color: var(--sd-s1-kanban-stat-2-fg);
}
#sd-s1-page-root .sd-s1-kanban-card__stat--tasks .sd-s1-kanban-card__stat-icon {
  background: var(--sd-s1-kanban-stat-3-bg);
  color: var(--sd-s1-kanban-stat-3-fg);
}
#sd-s1-page-root .sd-s1-kanban-card__stat-copy {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
#sd-s1-page-root .sd-s1-kanban-card__stat-value {
  font-size: 16px;
  font-weight: 700;
  color: var(--sd-text);
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#sd-s1-page-root .sd-s1-kanban-card__stat-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
#sd-s1-page-root .sd-s1-kanban-card__stat--zero .sd-s1-kanban-card__stat-value {
  color: var(--sd-muted);
  font-weight: 600;
}
/* Upload footer: status row above bar; % pill or Retry on the right. */
#sd-s1-page-root .sd-s1-kanban-card__import {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 12px;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-card__import-status {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
#sd-s1-page-root .sd-s1-kanban-card__import-ico {
  flex: 0 0 auto;
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: var(--sd-muted);
}
#sd-s1-page-root .sd-s1-kanban-card__import-ico svg {
  width: 16px;
  height: 16px;
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="active"] .sd-s1-kanban-card__import-ico,
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="active"] .sd-s1-kanban-card__import-state {
  color: var(--sd-s1-kanban-accent-progress);
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="complete"] .sd-s1-kanban-card__import-ico,
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="complete"] .sd-s1-kanban-card__import-state {
  color: var(--sd-s1-kanban-accent-complete);
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="failed"] .sd-s1-kanban-card__import-ico,
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="failed"] .sd-s1-kanban-card__import-state,
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="cancelled"] .sd-s1-kanban-card__import-ico,
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="cancelled"] .sd-s1-kanban-card__import-state {
  color: var(--sd-s1-kanban-accent-danger);
}
#sd-s1-page-root .sd-s1-kanban-card__import-msg {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 6px;
  min-width: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
  line-height: 1.3;
}
#sd-s1-page-root .sd-s1-kanban-card__import-state {
  font-weight: 700;
}
#sd-s1-page-root .sd-s1-kanban-card__import-sep {
  color: var(--sd-muted);
  font-weight: 600;
}
#sd-s1-page-root .sd-s1-kanban-card__import-counts {
  font-weight: 500;
  color: var(--sd-muted);
  font-variant-numeric: tabular-nums;
}
#sd-s1-page-root .sd-s1-kanban-card__import-track {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
#sd-s1-page-root .sd-s1-kanban-card__import-bar {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--sd-muted) 16%, var(--sd-s1-kanban-card-bg, var(--sd-surface)));
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-kanban-card__import-fill {
  height: 100%;
  width: 0%;
  max-width: 100%;
  border-radius: inherit;
  background: var(--sd-s1-kanban-accent-progress);
  transition: width 0.2s ease;
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="complete"] .sd-s1-kanban-card__import-fill {
  background: var(--sd-s1-kanban-accent-complete);
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="failed"] .sd-s1-kanban-card__import-fill {
  background: var(--sd-s1-kanban-accent-danger);
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="cancelled"] .sd-s1-kanban-card__import-fill {
  background: color-mix(in srgb, var(--sd-muted) 45%, var(--sd-s1-kanban-accent-danger));
}
#sd-s1-page-root .sd-s1-kanban-card__import-pct {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  color: var(--sd-s1-kanban-accent-progress);
  background: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-progress) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card__import[data-s1-kanban-import-phase="complete"] .sd-s1-kanban-card__import-pct {
  color: var(--sd-s1-kanban-accent-complete);
  background: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-complete) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card__import-retry {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 4px 10px;
  border: none;
  border-radius: 999px;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--sd-s1-kanban-accent-danger);
  background: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-danger) var(--sd-s1-kanban-soft-amt, 13%),
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
  cursor: pointer;
}
#sd-s1-page-root .sd-s1-kanban-card__import-retry:hover {
  background: color-mix(
    in srgb,
    var(--sd-s1-kanban-accent-danger) 22%,
    var(--sd-s1-kanban-card-bg, var(--sd-surface))
  );
}
#sd-s1-page-root .sd-s1-kanban-card__import-retry-ico {
  display: inline-flex;
  width: 12px;
  height: 12px;
}
#sd-s1-page-root .sd-s1-kanban-card__import-retry-ico svg {
  width: 12px;
  height: 12px;
}
@media (max-width: 980px) {
  #sd-s1-page-root .sd-s1-kanban-board {
    grid-template-columns: repeat(3, minmax(200px, 1fr));
    gap: 10px;
  }
}

/* Insights list ? card view aligned with Home Recent Activity (surface, border, hover, narrow layout). */
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-cards-host {
  container-type: inline-size;
  container-name: s1-insight-cards;
  gap: 12px;
  padding-top: 12px;
  min-width: 0;
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-s1-shelf-card {
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-sizing: border-box;
}
html.theme-shelfy #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-s1-shelf-card {
  background: #ffffff;
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-s1-shelf-card:hover {
  border-color: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-border));
}
html.theme-dark #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-s1-shelf-card:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-shelf-row--active-tasks {
  background: var(--sd-shelf-row-task-tint-bg);
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-shelf-row--active-tasks:hover {
  background: var(--sd-shelf-row-task-hover-bg);
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  margin: 0;
  padding: 0;
  border: none;
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
  color: var(--sd-muted);
  font-size: 18px;
  line-height: 1;
  font-family: inherit;
  cursor: pointer;
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__menu:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface));
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__menu:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: -2px;
}
/* Kanban insight cards use the same compact header menu as shelves Kanban. */
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-kanban-card.sd-s1-insight-list-card {
  display: block;
}
#sd-s1-page-root[data-s1-mode="insights"] .sd-s1-kanban-card .sd-s1-shelf-card__menu.sd-s1-kanban-card__menu {
  width: 28px;
  height: 28px;
  border-left: none;
  border-radius: 6px;
  background: transparent;
}

@container s1-insight-cards (max-width: 42rem) {
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card.sd-s1-shelf-card {
    grid-template-columns: 44px minmax(0, 1fr) auto 44px;
    grid-template-rows: auto auto;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__select {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: stretch;
    border-bottom: none;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__hit.sd-home-activity-row__hit {
    grid-column: 2 / span 3;
    grid-row: 1;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 14px 12px 12px 14px;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__hit .sd-home-activity-card__top {
    flex: none;
    width: 100%;
    min-width: 0;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__hit .sd-home-activity-card__bottom {
    flex: none;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__hit .sd-home-activity-row__stats {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    border-radius: 8px;
    border: 1px solid var(--sd-border);
    overflow: hidden;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__badge-wrap.sd-home-activity-card__badge-wrap {
    grid-column: 2 / span 2;
    grid-row: 2;
    border-left: none;
    border-top: 1px solid var(--sd-border);
    padding: 10px 12px;
    justify-content: center;
  }
  #sd-s1-page-root[data-s1-mode="insights"] .sd-s1-insight-list-card .sd-s1-shelf-card__menu {
    grid-column: 4;
    grid-row: 2;
    border-top: 1px solid var(--sd-border);
  }
}

#sd-s1-page-root .sd-s1-creator-image-cell {
  vertical-align: middle;
}
#sd-s1-page-root .sd-s1-creator-image {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--sd-border);
  display: block;
}

#sd-s1-page-root .sd-s1-status-cell {
  white-space: nowrap;
  vertical-align: middle;
  max-width: 12rem;
}
#sd-s1-page-root .sd-s1-status-cell .sd-home-activity-badge {
  width: auto;
  min-width: 10.25rem;
  max-width: 100%;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-s1-page-root .sd-s1-status-cell .sd-home-activity-badge--btn {
  text-align: center;
}
#sd-s1-page-root .sd-s1-card-status {
  margin: 0;
}
#sd-s1-page-root .sd-s1-card-status .sd-home-activity-badge {
  width: auto;
  min-width: 10.25rem;
  max-width: 100%;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}

#sd-s1-page-root .sd-s1-facet-dates-clear-wrap {
  padding: 8px 12px 10px;
  border-top: 1px solid var(--sd-border);
  box-sizing: border-box;
}

.sd-toolbar--stores .sd-stores-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
  align-items: center;
}
.sd-stores-toolbar-icon-btn {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sd-stores-toolbar-icon-svg {
  display: block;
}
.sd-stores-map-visibility-btn[aria-pressed="true"] {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-map-visibility-btn[aria-pressed="true"] {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-chart-visibility-btn[aria-pressed="true"] {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-chart-visibility-btn[aria-pressed="true"] {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-facet-visibility-btn[aria-pressed="true"] {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-facet-visibility-btn[aria-pressed="true"] {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-filter-chips {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  /* Align with table-head rhythm (~8px) ? was 12px and stacked with .sd-stores-table-section margin-top. */
  margin-bottom: 8px;
  min-height: 8px;
}
.sd-stores-filter-chips__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}
.sd-stores-filter-chips__row--logic {
  align-items: center;
}
.sd-stores-chip--quick-facet .sd-stores-chip-seg--value {
  flex-wrap: wrap;
  gap: 4px 2px;
  align-items: center;
  min-width: 0;
}
.sd-stores-chip--quick-facet .sd-stores-chart-or-item {
  align-items: baseline;
  gap: 0.2em;
}
/* Inline value ?: same typographic line as chip segments (12px / 1.35); hover = soft disc via bg + pill radius (no fixed box size) */
.sd-stores-chip--quick-facet .sd-stores-chart-or-item .sd-stores-chip-x {
  align-self: baseline;
  border: none;
  border-left: none;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: baseline;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 0 5px;
  margin: 0;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  color: color-mix(in srgb, var(--sd-muted) 62%, var(--sd-bg) 38%);
  background: transparent;
  transition: background 0.12s ease, color 0.12s ease;
}
/* Trailing clear uses default .sd-stores-chip-x (full-height divider, 16px ?) like manual filter chips */
.sd-stores-chip--quick-facet .sd-stores-chart-or-item .sd-stores-chip-x:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.08));
  color: var(--sd-muted);
}
html.theme-dark .sd-stores-chip--quick-facet .sd-stores-chart-or-item .sd-stores-chip-x:hover {
  background: rgba(255, 255, 255, 0.08);
  color: color-mix(in srgb, var(--sd-muted) 88%, white 12%);
}
.sd-stores-chip--quick-facet .sd-stores-chart-or-item .sd-stores-chip-x:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 1px;
}
/* Match ALL / ANY ? linked segments, squared corners (Linear-style); same typography/padding as .sd-stores-chip-part */
.sd-stores-filter-logic {
  display: inline-flex;
  align-items: stretch;
  box-sizing: border-box;
  margin-right: 2px;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  overflow: hidden;
  background: var(--sd-surface, var(--sd-bg));
  font-size: 12px;
  line-height: 1.35;
}
.sd-stores-filter-logic > .sd-muted {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  border-right: 1px solid var(--sd-border);
  color: var(--sd-muted);
}
.sd-stores-filter-logic-btn {
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border);
  background: transparent;
  color: var(--sd-text);
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.sd-stores-filter-logic-btn:first-of-type {
  border-left: none;
}
.sd-stores-filter-logic-btn:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-filter-logic-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-filter-logic-btn.is-active {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  color: var(--sd-text);
}
html.theme-dark .sd-stores-filter-logic-btn.is-active {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}

.sd-stores-filter-chips__row--s2-quick {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.25rem;
}
.sd-stores-s2-quick.is-active {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  color: var(--sd-text);
}
html.theme-dark .sd-stores-s2-quick.is-active {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}

.sd-stores-facet__block--s2-quick {
  padding: 0 4px 12px;
}
.sd-stores-facet__s2-h {
  margin: 12px 0 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sd-muted);
}
/* Sentence-case subsection titles (e.g. s1 ?Last Updated?) ? matches readable labels vs. all-caps */
.sd-stores-facet__s2-h--sentence {
  text-transform: none;
  letter-spacing: 0.02em;
}
.sd-stores-facet__s2-quick-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Inline ?+? after filter chips ? opens add-filter modal (subtle link, not a boxed icon button) */
.sd-stores-filter-add-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 8px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
  vertical-align: middle;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.sd-stores-filter-add-link:hover {
  color: var(--sd-text);
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
.sd-stores-filter-add-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 2px;
}
html.theme-dark .sd-stores-filter-add-link:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* Filter chips: one bordered control, vertical dividers between segments (Linear-style) */
.sd-stores-chip {
  display: inline-flex;
  align-items: stretch;
  padding: 0;
  gap: 0;
  border-radius: 6px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface, var(--sd-bg));
  font-size: 12px;
  line-height: 1.35;
  overflow: hidden;
  vertical-align: middle;
}
.sd-stores-chip-seg {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-left: 1px solid var(--sd-border);
  font-size: 12px;
  font-weight: 500;
  color: var(--sd-text);
}
.sd-stores-chip-seg:first-child {
  border-left: none;
}
.sd-stores-chip-seg--label {
  color: var(--sd-muted);
  font-weight: 500;
}
.sd-stores-chip-seg--facet-match {
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--sd-accent);
  padding: 6px 8px;
}
.sd-stores-chip-seg--value {
  font-weight: 500;
}
.sd-stores-chip-part {
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 10px;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  text-align: left;
}
.sd-stores-chip-part:first-child {
  border-left: none;
}
.sd-stores-chip-part:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-chip-part:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
  padding: 0 4px;
  min-width: 28px;
  border: none;
  border-left: 1px solid var(--sd-border);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: var(--sd-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sd-stores-chip-x:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
html.theme-dark .sd-stores-chip-x:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-chart-or-item {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-right: 0.35rem;
}

/* Inline column picker on filter chip (field segment) */
.sd-stores-field-swap {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  box-shadow: var(--sd-shadow);
  max-width: min(360px, calc(100vw - 16px));
  overscroll-behavior: contain;
}
.sd-stores-field-swap__search {
  width: 100%;
  font-size: 13px;
}
.sd-stores-field-swap-list {
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 0;
  overscroll-behavior: contain;
}
.sd-stores-field-swap-item {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--sd-text);
  font-size: 13px;
  padding: 6px 8px;
  cursor: pointer;
}
.sd-stores-field-swap-item:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-field-swap-item:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-field-swap-item.is-active {
  font-weight: 600;
  background: color-mix(in srgb, var(--sd-accent) 10%, transparent);
}

.sd-stores-popover {
  position: relative;
  margin-bottom: 8px;
}
.sd-stores-export-anchor,
.sd-stores-actions-anchor,
.sd-stores-col-anchor,
.sd-stores-group-anchor,
.sd-stores-saved-filters-anchor {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.sd-u2-shelf-files-modal__panel.sd-stores-modal__panel {
  width: min(520px, 100%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.sd-u2-shelf-files-modal__intro {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.45;
}
.sd-u2-shelf-files-modal__panel .sd-insights-import-stack {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.sd-u2-shelf-files-modal__panel .sd-insights-import-queue-wrap {
  min-height: 0;
}
.sd-u2-shelf-files-modal__panel .sd-stores-modal__actions {
  flex: 0 0 auto;
}
.sd-stores-actions-menu-btn {
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
/* Stores + Tasks + Categories: match width of two 40px toolbar icons + 8px gap */
#sd-stores-actions-menu-btn.sd-stores-actions-menu-btn,
#sd-tasks-actions-menu-btn.sd-stores-actions-menu-btn,
#sd-categories-actions-btn.sd-stores-actions-menu-btn,
#sd-cm-actions-btn.sd-stores-actions-menu-btn,
#sd-lh-actions-btn.sd-stores-actions-menu-btn,
#sd-cs-actions-btn.sd-stores-actions-menu-btn,
#sd-dc-runlogs-actions-btn.sd-stores-actions-menu-btn,
#sd-prod-actions-btn.sd-stores-actions-menu-btn {
  min-width: 88px;
  padding-left: 10px;
  padding-right: 10px;
}
.sd-sb-view-head #sd-sb-dl-reports-btn.sd-stores-actions-menu-btn,
.sd-sb-view-head #sd-dc-runlogs-dl-reports-btn.sd-stores-actions-menu-btn,
.sd-sb-view-head #sd-sb-dl-images-btn.sd-stores-actions-menu-btn,
#sd-settings-login-history-root .sd-lh-panel-head #sd-lh-dl-reports-btn.sd-stores-actions-menu-btn {
  min-width: 0;
  width: auto;
  height: 40px;
  min-height: 40px;
  padding-left: 12px;
  padding-right: 12px;
  white-space: nowrap;
}
/* Add tab: no uploads yet ? in-table row (Data collection activities / Tasks?style empty body). */
#sd-u2-page-root #sd-u2-table tbody tr.sd-u2-table-empty td {
  text-align: center;
  padding: 28px 16px 36px;
  vertical-align: middle;
  background: var(--sd-surface);
}
#sd-u2-page-root .sd-u2-cards-empty {
  text-align: center;
  padding: 28px 16px 36px;
  margin: 0;
  box-sizing: border-box;
  background: var(--sd-surface);
}
/* Add Product + View download menus: keep solid accent primary fill (not Actions) */
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-u2-add-product-uploads-btn.sd-btn--secondary,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-sb-dl-reports-btn.sd-btn--secondary,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-lh-dl-reports-btn.sd-btn--secondary,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-sb-dl-images-btn.sd-btn--secondary {
  background: var(--sd-accent);
  border-color: var(--sd-accent);
  color: #fff;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-u2-add-product-uploads-btn.sd-btn--secondary:hover,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-sb-dl-reports-btn.sd-btn--secondary:hover,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:hover,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-lh-dl-reports-btn.sd-btn--secondary:hover,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-sb-dl-images-btn.sd-btn--secondary:hover {
  background: var(--sd-accent-hover);
  border-color: var(--sd-accent-hover);
  color: #fff;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-u2-add-product-uploads-btn.sd-btn--secondary:focus-visible,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-sb-dl-reports-btn.sd-btn--secondary:focus-visible,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:focus-visible,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-lh-dl-reports-btn.sd-btn--secondary:focus-visible,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday) #sd-sb-dl-images-btn.sd-btn--secondary:focus-visible {
  outline: 2px solid var(--sd-accent-hover);
  outline-offset: 2px;
}
html.theme-path #sd-u2-add-product-uploads-btn.sd-btn--secondary,
html.theme-path #sd-sb-dl-reports-btn.sd-btn--secondary,
html.theme-path #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary,
html.theme-path #sd-lh-dl-reports-btn.sd-btn--secondary,
html.theme-path #sd-sb-dl-images-btn.sd-btn--secondary,
html.theme-greenday #sd-u2-add-product-uploads-btn.sd-btn--secondary,
html.theme-greenday #sd-sb-dl-reports-btn.sd-btn--secondary,
html.theme-greenday #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary,
html.theme-greenday #sd-lh-dl-reports-btn.sd-btn--secondary,
html.theme-greenday #sd-sb-dl-images-btn.sd-btn--secondary,
html.theme-vintage #sd-u2-add-product-uploads-btn.sd-btn--secondary,
html.theme-vintage #sd-sb-dl-reports-btn.sd-btn--secondary,
html.theme-vintage #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary,
html.theme-vintage #sd-lh-dl-reports-btn.sd-btn--secondary,
html.theme-vintage #sd-sb-dl-images-btn.sd-btn--secondary,
html.theme-shelfy #sd-u2-add-product-uploads-btn.sd-btn--secondary,
html.theme-shelfy #sd-sb-dl-reports-btn.sd-btn--secondary,
html.theme-shelfy #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary,
html.theme-shelfy #sd-lh-dl-reports-btn.sd-btn--secondary,
html.theme-shelfy #sd-sb-dl-images-btn.sd-btn--secondary {
  background: var(--sd-accent);
  border-color: var(--sd-accent);
  color: var(--sd-btn-primary-fg);
}
html.theme-path #sd-u2-add-product-uploads-btn.sd-btn--secondary:hover,
html.theme-path #sd-sb-dl-reports-btn.sd-btn--secondary:hover,
html.theme-path #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:hover,
html.theme-path #sd-lh-dl-reports-btn.sd-btn--secondary:hover,
html.theme-path #sd-sb-dl-images-btn.sd-btn--secondary:hover,
html.theme-greenday #sd-u2-add-product-uploads-btn.sd-btn--secondary:hover,
html.theme-greenday #sd-sb-dl-reports-btn.sd-btn--secondary:hover,
html.theme-greenday #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:hover,
html.theme-greenday #sd-lh-dl-reports-btn.sd-btn--secondary:hover,
html.theme-greenday #sd-sb-dl-images-btn.sd-btn--secondary:hover,
html.theme-vintage #sd-u2-add-product-uploads-btn.sd-btn--secondary:hover,
html.theme-vintage #sd-sb-dl-reports-btn.sd-btn--secondary:hover,
html.theme-vintage #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:hover,
html.theme-vintage #sd-lh-dl-reports-btn.sd-btn--secondary:hover,
html.theme-vintage #sd-sb-dl-images-btn.sd-btn--secondary:hover,
html.theme-shelfy #sd-u2-add-product-uploads-btn.sd-btn--secondary:hover,
html.theme-shelfy #sd-sb-dl-reports-btn.sd-btn--secondary:hover,
html.theme-shelfy #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:hover,
html.theme-shelfy #sd-lh-dl-reports-btn.sd-btn--secondary:hover,
html.theme-shelfy #sd-sb-dl-images-btn.sd-btn--secondary:hover {
  background: var(--sd-accent-hover);
  border-color: var(--sd-accent-hover);
  color: var(--sd-btn-primary-hover-fg);
}
html.theme-path #sd-u2-add-product-uploads-btn.sd-btn--secondary:focus-visible,
html.theme-path #sd-sb-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-path #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-path #sd-lh-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-path #sd-sb-dl-images-btn.sd-btn--secondary:focus-visible,
html.theme-greenday #sd-u2-add-product-uploads-btn.sd-btn--secondary:focus-visible,
html.theme-greenday #sd-sb-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-greenday #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-greenday #sd-lh-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-greenday #sd-sb-dl-images-btn.sd-btn--secondary:focus-visible,
html.theme-vintage #sd-u2-add-product-uploads-btn.sd-btn--secondary:focus-visible,
html.theme-vintage #sd-sb-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-vintage #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-vintage #sd-lh-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-vintage #sd-sb-dl-images-btn.sd-btn--secondary:focus-visible,
html.theme-shelfy #sd-u2-add-product-uploads-btn.sd-btn--secondary:focus-visible,
html.theme-shelfy #sd-sb-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-shelfy #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-shelfy #sd-lh-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-shelfy #sd-sb-dl-images-btn.sd-btn--secondary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 85%, var(--sd-btn-primary-fg));
  outline-offset: 2px;
}
html.theme-dark #sd-u2-add-product-uploads-btn.sd-btn--secondary,
html.theme-dark #sd-sb-dl-reports-btn.sd-btn--secondary,
html.theme-dark #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary,
html.theme-dark #sd-lh-dl-reports-btn.sd-btn--secondary,
html.theme-dark #sd-sb-dl-images-btn.sd-btn--secondary {
  background: var(--sd-accent);
  border-color: var(--sd-accent);
  color: #23292e;
}
html.theme-dark #sd-u2-add-product-uploads-btn.sd-btn--secondary:hover,
html.theme-dark #sd-sb-dl-reports-btn.sd-btn--secondary:hover,
html.theme-dark #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:hover,
html.theme-dark #sd-lh-dl-reports-btn.sd-btn--secondary:hover,
html.theme-dark #sd-sb-dl-images-btn.sd-btn--secondary:hover {
  background: var(--sd-accent-hover);
  border-color: var(--sd-accent-hover);
  color: #23292e;
}
html.theme-dark #sd-u2-add-product-uploads-btn.sd-btn--secondary:focus-visible,
html.theme-dark #sd-sb-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-dark #sd-dc-runlogs-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-dark #sd-lh-dl-reports-btn.sd-btn--secondary:focus-visible,
html.theme-dark #sd-sb-dl-images-btn.sd-btn--secondary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 85%, #23292e);
  outline-offset: 2px;
}

.sd-stores-actions-hint {
  font-size: 12px;
  line-height: 1.4;
  margin: 0 0 8px;
}
.sd-stores-th--select,
.sd-stores-table__td-select {
  width: 2.25rem;
  min-width: 2.25rem;
  max-width: 3rem;
  text-align: center;
  vertical-align: middle;
  padding: 6px 8px;
  box-sizing: border-box;
}
.sd-stores-table__td-select--group-spacer {
  background: var(--sd-surface, var(--sd-bg));
}
/* Stores table + quick filter facet rows ? theme accent, not system blue when checked. */
.sd-stores-table__row-cb,
.sd-stores-table__group-select-cb,
.sd-stores-facet__cb {
  accent-color: var(--sd-accent);
  accent-color: color-mix(in srgb, var(--sd-accent) 72%, var(--sd-muted) 28%);
}
.sd-stores-table__row-cb,
.sd-stores-table__group-select-cb {
  margin: 0;
  vertical-align: middle;
}
.sd-stores-table thead .sd-stores-th--select {
  cursor: default;
}
.sd-stores-popover.sd-stores-popover--saved-filters {
  min-width: min(320px, calc(100vw - 24px));
}
/* Categories: Saved Filters sits left of Match ALL/ANY — keep panel in-flow under fixed JS placement. */
#sd-categories-page-root #sd-categories-saved-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-categories-page-root #sd-categories-saved-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
.sd-stores-saved-filters-save {
  flex-shrink: 0;
  margin-left: -12px;
  margin-right: -12px;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 90%, transparent);
}
.sd-stores-saved-filters-save-label {
  display: block;
  font-size: 12px;
  margin-bottom: 6px;
}
.sd-stores-saved-filters-save-fields {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.sd-stores-saved-filters-save-fields .sd-input {
  flex: 1;
  min-width: 0;
}
.sd-stores-saved-filters-list.sd-stores-col-sections {
  max-height: min(40vh, 280px);
}
.sd-stores-saved-filter-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 1px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 80%, transparent);
}
.sd-stores-saved-filter-row:last-child {
  border-bottom: none;
}
.sd-stores-saved-filter-row:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-saved-filter-row:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-saved-filter-apply {
  flex: 1;
  min-width: 0;
  justify-content: flex-start;
  text-align: left;
  margin: 0;
  padding: 2px 4px 2px 8px;
  border: none;
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-size: 13px;
  line-height: 1.35;
  color: var(--sd-text);
  cursor: pointer;
  border-radius: 0;
}
.sd-stores-saved-filter-apply:focus-visible {
  outline: 2px solid var(--sd-accent, #3b82f6);
  outline-offset: 1px;
}
.sd-stores-saved-filter-remove {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: var(--sd-radius);
  background: transparent;
  color: var(--sd-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.sd-stores-saved-filter-remove:hover {
  color: var(--sd-text);
}
/* Download menu: anchored under the toolbar button (right-aligned, opens down and leftward) */
.sd-stores-popover.sd-stores-popover--export {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: auto;
  margin: 0;
  z-index: 50;
  width: max-content;
  min-width: 11rem;
}
.sd-stores-popover__inner {
  position: absolute;
  z-index: 20;
  right: 0;
  max-width: min(420px, 96vw);
  max-height: 70vh;
  overflow: auto;
  padding: 12px;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: var(--sd-shadow);
}
.sd-stores-popover__inner.sd-stores-popover__inner--export {
  position: static;
  right: auto;
  top: auto;
  max-height: none;
  max-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
.sd-stores-popover__inner.sd-stores-popover__inner--cols {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  max-width: min(96vw, 720px);
  width: auto;
  min-width: 280px;
  max-height: min(70vh, 560px);
  overflow: hidden;
  padding: 12px;
  box-sizing: border-box;
}
.sd-stores-col-popover__toolbar {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-bottom: 8px;
  min-width: 0;
}
.sd-stores-col-popover__toolbar.sd-stores-modal__head {
  margin-bottom: 14px;
}
.sd-stores-col-popover__toolbar .sd-stores-modal__title {
  margin-bottom: 0;
  flex: 1;
  min-width: 0;
}
.sd-stores-col-popover__search-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-bottom: 8px;
  min-width: 0;
}
.sd-stores-col-popover__search-row .sd-stores-field-swap__search {
  flex: 1;
  min-width: 0;
  margin-bottom: 0;
}
.sd-stores-col-popover__search-row .sd-stores-toolbar-icon-btn {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: color-mix(in srgb, var(--sd-muted) 65%, var(--sd-text) 35%);
}
.sd-stores-col-popover__search-row .sd-stores-toolbar-icon-btn:hover:not(:disabled) {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
html.theme-dark .sd-stores-col-popover__search-row .sd-stores-toolbar-icon-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-col-sections {
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  /* Track invisible; only thumb visible (Firefox). */
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 55%, var(--sd-border)) transparent;
}
.sd-stores-col-sections::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.sd-stores-col-sections::-webkit-scrollbar-track,
.sd-stores-col-sections::-webkit-scrollbar-track-piece {
  background: transparent;
}
.sd-stores-col-sections::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--sd-muted) 50%, var(--sd-border));
  border-radius: 2px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.sd-stores-col-sections::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--sd-muted) 35%, var(--sd-text));
  background-clip: padding-box;
}
.sd-stores-col-sections::-webkit-scrollbar-button,
.sd-stores-col-sections::-webkit-scrollbar-corner {
  display: none;
  width: 0;
  height: 0;
}
html.theme-dark .sd-stores-col-sections {
  scrollbar-color: color-mix(in srgb, rgba(255, 255, 255, 0.35) 70%, transparent) transparent;
}
html.theme-dark .sd-stores-col-sections::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, rgba(255, 255, 255, 0.28) 80%, transparent);
}
html.theme-dark .sd-stores-col-sections::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, rgba(255, 255, 255, 0.42) 80%, transparent);
}
.sd-stores-col-popover-empty {
  padding: 12px 4px;
  font-size: 13px;
}
.sd-stores-col-section {
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  margin-bottom: 6px;
  overflow: hidden;
}
.sd-stores-col-section:last-child {
  margin-bottom: 0;
}
.sd-stores-col-section__summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  cursor: pointer;
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.04));
  font-weight: 600;
  font-size: 13px;
  user-select: none;
}
.sd-stores-col-section__summary::-webkit-details-marker {
  display: none;
}
.sd-stores-col-section__count {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--sd-muted);
  min-width: 2.75em;
  flex-shrink: 0;
}
.sd-stores-col-section__title {
  flex: 1;
  text-align: left;
  min-width: 0;
}
/* Same ? chevron + order as quick filter section headers (leading chevron, then count + label). */
.sd-stores-col-section__summary .sd-stores-col-section__chevron {
  flex-shrink: 0;
  color: var(--sd-muted);
}
.sd-stores-col-section[open] .sd-stores-col-section__chevron {
  transform: rotate(90deg);
}
/* Expand/collapse all ? same chevron as quick filters; rotation follows aria-expanded. */
.sd-stores-col-toggle-all .sd-stores-group-chevron {
  display: block;
}
.sd-stores-col-toggle-all[aria-expanded="true"] .sd-stores-group-chevron {
  transform: rotate(90deg);
}
.sd-stores-col-section__body {
  padding: 4px 10px 8px;
  border-top: 1px solid var(--sd-border);
}
html.theme-dark .sd-stores-col-section__summary {
  background: rgba(255, 255, 255, 0.04);
}
.sd-stores-popover__title {
  font-weight: 700;
  margin-bottom: 8px;
}
.sd-stores-col-check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  font-size: 13px;
  white-space: nowrap;
}
.sd-stores-col-popover__actions {
  display: flex;
  flex-direction: row;
  justify-content: stretch;
  align-items: stretch;
  gap: 8px;
  margin-top: 12px;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
}
.sd-stores-col-popover__actions .sd-btn {
  flex: 1 1 0;
  min-width: 0;
  justify-content: center;
}
.sd-stores-popover__inner--cols .sd-stores-popover-done {
  margin-top: 12px;
  flex-shrink: 0;
}
.sd-stores-popover__inner--cols .sd-stores-col-popover__actions .sd-stores-popover-done {
  margin-top: 0;
}
.sd-stores-popover-done {
  margin-top: 12px;
}
.sd-stores-export-option {
  width: 100%;
  justify-content: flex-start;
  margin-top: 6px;
}
/* Shelf View Actions: collapsible download subsections */
.sd-sb-actions-more {
  margin-top: 8px;
  padding: 4px 6px 6px;
  border: none;
  border-radius: var(--sd-radius, 6px);
  background: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface, #fff));
}
.sd-sb-actions-more + .sd-sb-actions-more {
  margin-top: 6px;
}
html.theme-dark .sd-sb-actions-more {
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface, #1a1a1a));
}
.sd-sb-actions-more-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 8px 4px;
  border: none;
  border-radius: var(--sd-radius, 6px);
  background: transparent;
  color: var(--sd-text);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}
.sd-sb-actions-more-toggle:hover {
  background: color-mix(in srgb, var(--sd-text) 6%, transparent);
}
html.theme-dark .sd-sb-actions-more-toggle:hover {
  background: color-mix(in srgb, var(--sd-text) 10%, transparent);
}
.sd-sb-actions-more-toggle .sd-stores-group-chevron {
  flex-shrink: 0;
}
.sd-sb-actions-more-toggle--expanded .sd-stores-group-chevron,
.sd-sb-actions-more-toggle[aria-expanded="true"] .sd-stores-group-chevron {
  transform: rotate(90deg);
}
.sd-sb-actions-more-body {
  padding: 0 0 2px;
}
.sd-sb-actions-more-body .sd-stores-export-option:first-child {
  margin-top: 2px;
}
.sd-stores-group-option {
  width: 100%;
  justify-content: flex-start;
  margin-top: 6px;
}
/* Clear grouping ? distinct from bucket options. */
.sd-stores-group-option--none {
  background: color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface));
}
.sd-stores-col-sections .sd-stores-group-option--none:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-muted) 18%, var(--sd-surface));
}
html.theme-dark .sd-stores-group-option--none {
  background: rgba(255, 255, 255, 0.06);
}
html.theme-dark .sd-stores-col-sections .sd-stores-group-option--none:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.09);
}
/* Current group-by mode (subtle accent). */
.sd-stores-group-option--selected {
  border-color: color-mix(in srgb, var(--sd-accent) 42%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-accent) 11%, var(--sd-surface));
}
.sd-stores-col-sections .sd-stores-group-option--selected:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--sd-accent) 50%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
}
.sd-stores-group-option--none.sd-stores-group-option--selected {
  background: color-mix(in srgb, var(--sd-accent) 9%, color-mix(in srgb, var(--sd-muted) 12%, var(--sd-surface)));
}
html.theme-dark .sd-stores-group-option--none.sd-stores-group-option--selected {
  background: color-mix(in srgb, var(--sd-accent) 14%, rgba(255, 255, 255, 0.06));
}
html.theme-dark .sd-stores-group-option--selected {
  background: color-mix(in srgb, var(--sd-accent) 16%, var(--sd-surface));
}
.sd-stores-table tr.sd-stores-group-row {
  /* Fills any gap if the cell cannot paint the full row (e.g. border-collapse quirks). */
  background: color-mix(in srgb, var(--sd-muted) 5%, var(--sd-surface));
}
.sd-stores-table tr.sd-stores-group-row > td.sd-stores-table__td-select,
.sd-stores-table tr.sd-stores-group-row td.sd-stores-group-row__td {
  background: color-mix(in srgb, var(--sd-muted) 5%, var(--sd-surface));
  border-bottom: 1px solid var(--sd-border);
  vertical-align: middle;
  /* Default .sd-stores-table td { max-width: 280px } ? colspan must span full table width. */
  max-width: none;
  overflow: visible;
}
.sd-stores-table tr.sd-stores-group-row > td.sd-stores-table__td-select {
  /* Padding matches body select cells ? do not use a smaller inset here or the group checkbox drifts vs header / child rows */
  border-right: none;
}
.sd-stores-table tr.sd-stores-group-row td.sd-stores-group-row__td {
  padding: 0;
}
.sd-stores-table tr.sd-stores-group-row:hover > td.sd-stores-table__td-select,
.sd-stores-table tr.sd-stores-group-row:hover td.sd-stores-group-row__td {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
.sd-stores-table tr.sd-stores-group-row td.sd-stores-table__td-select--group-spacer {
  background: color-mix(in srgb, var(--sd-muted) 5%, var(--sd-surface));
  border-bottom: 1px solid var(--sd-border);
}
.sd-stores-table tr.sd-stores-group-row:hover td.sd-stores-table__td-select--group-spacer {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
.sd-stores-group-row__cell {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
}
/* Align bulk-select with body checkbox column (Account Settings group row pattern). */
.sd-stores-group-row__cb-wrap {
  flex: 0 0 auto;
  width: 2.25rem;
  min-width: 2.25rem;
  max-width: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
}
.sd-stores-group-row__cb-wrap .sd-stores-table__group-select-cb {
  margin: 0;
}
.sd-stores-group-label strong {
  font-weight: 600;
  color: var(--sd-text);
}
.sd-stores-group-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  flex-shrink: 0;
}
.sd-stores-group-toggle:hover:not(:disabled) {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
.sd-stores-group-toggle:disabled {
  opacity: 0.5;
  cursor: wait;
}
.sd-stores-group-chevron {
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  transition: transform 0.15s ease;
}
.sd-stores-group-row--expanded .sd-stores-group-chevron {
  transform: rotate(90deg);
}
.sd-stores-card-group--expanded .sd-stores-group-chevron {
  transform: rotate(90deg);
}
.sd-stores-group-label {
  flex: 1;
  min-width: 0;
  text-align: left;
}
.sd-stores-card-groups {
  display: flex;
  flex-direction: column;
  gap: 0;
  /* Counteract .sd-stores-cards-root horizontal padding so group chrome is full-bleed (same as .sd-stores-cards-toolbar). */
  margin-left: -12px;
  margin-right: -12px;
}
.sd-stores-card-group {
  border-bottom: 1px solid var(--sd-border);
}
.sd-stores-card-group:last-child {
  border-bottom: none;
}
.sd-stores-card-group__head {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-muted) 5%, var(--sd-surface));
}
.sd-stores-card-group__head:hover {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
.sd-stores-card-group__body {
  padding: 0 12px 12px;
  background: var(--sd-surface);
}
.sd-stores-card-group__body[hidden] {
  display: none !important;
}
/* Beta tab grouped cards: top inset matches bottom (body uses 12px bottom padding) */
#sd-sb-page-root .sd-shelf-beta-card-group .sd-stores-card-group__body {
  padding-top: 12px;
}
.sd-stores-cards-grid--in-group {
  padding-top: 8px;
}
.sd-stores-table--grouped tr.sd-stores-tr--in-group td.sd-stores-tree-cell {
  padding-left: 22px;
  box-shadow: inset 2px 0 0 color-mix(in srgb, var(--sd-border) 85%, transparent);
}
/* Stores page: grouped child rows ? align with header checkbox column; no gutter line between select and first data column */
#sd-stores-page-root .sd-stores-table--grouped tr.sd-stores-tr--in-group td.sd-stores-tree-cell {
  box-shadow: none;
}
#sd-stores-page-root .sd-stores-table--grouped tr.sd-stores-tr--in-group td.sd-stores-table__td-select {
  border-right: none;
}

/* Stores ? add filter modal */
.sd-stores-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.sd-stores-modal[hidden] {
  display: none !important;
}
.sd-stores-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.sd-stores-modal__panel {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  max-height: min(90vh, 720px);
  overflow: auto;
  padding: 16px;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: var(--sd-shadow);
}
.sd-stores-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}
.sd-stores-modal__title {
  margin: 0;
  font-size: 17px;
}
.sd-stores-modal__close {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: var(--sd-muted);
  padding: 4px 8px;
  border-radius: 6px;
}
.sd-stores-modal__close:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark .sd-stores-modal__close:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sd-stores-filter-form .sd-stores-filter-row {
  margin-bottom: 12px;
}
.sd-stores-filter-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--sd-muted);
}
.sd-stores-filter-select,
.sd-stores-filter-form .sd-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.sd-stores-filter-row--value .sd-filter-cap-custom {
  margin-top: 8px;
}
.sd-stores-filter-row--column .sd-stores-field-swap__search {
  margin-top: 0;
}
.sd-stores-filter-row--column .sd-stores-filter-column-list {
  margin-top: 6px;
  max-height: min(240px, 42vh);
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  padding: 4px;
  background: var(--sd-surface);
}
.sd-stores-filter-error {
  color: #b91c1c;
  font-size: 13px;
  margin: 0 0 8px;
}
html.theme-dark .sd-stores-filter-error {
  color: #fdba74;
}
.sd-stores-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--sd-border);
}
body.sd-stores-filter-modal-open {
  overflow: hidden;
}

/* Stores table: Shelves-style sd-table inside sd-table-wrap, plus pager bar */
.sd-stores-table-section {
  display: flex;
  flex-direction: column;
  gap: 0;
  /* No extra top margin ? spacing comes from filter chips / map / chart margins only (matches gap below actions row). */
  margin-top: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.sd-stores-table-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8px;
  padding: 8px 0;
  border: none;
  /* Separator line belongs on .sd-stores-table-scroll-shell (rounded top). A flat border-bottom here draws a straight full-width line and kills the rounded table top. */
  background: var(--sd-bg);
}
.sd-stores-table-head__tools {
  display: inline-flex;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.sd-stores-count {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.25em;
  font-size: 14px;
  line-height: 1.35;
  color: var(--sd-text);
}
.sd-stores-count__main {
  font-size: 14px;
  font-weight: 500;
}
/* One step smaller than .sd-stores-count (14px ? 12px when 1em = 14px). */
.sd-stores-count__denom {
  font-size: calc(1em - 2px);
  font-weight: 500;
  color: var(--sd-muted);
}
.sd-stores-count__pct {
  font-size: 12px;
  font-weight: 400;
  color: var(--sd-muted);
  opacity: 0.88;
}
.sd-stores-page-label {
  font-size: 12px;
  font-weight: 400;
  color: var(--sd-muted);
  opacity: 0.88;
}
.sd-stores-pager {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  min-height: 32px;
}
.sd-stores-table tr.sd-stores-scroll-sentinel td {
  height: 1px;
  padding: 0;
  border: none;
  line-height: 0;
  overflow: hidden;
  vertical-align: bottom;
}
.sd-btn--sm {
  padding: 4px 10px;
  font-size: 12px;
  min-height: 32px;
}
/* Outer shell: rounded rect + overflow:hidden clips inner split layout. */
.sd-stores-table-section .sd-stores-table-scroll-shell {
  margin-top: 0;
  padding: 0;
  /* Full border so the top edge follows border-radius (replaces the old flat toolbar border-bottom). */
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  overflow: hidden;
}
/* Thead in its own block; tbody scrolls vertically ? scrollbar does not overlap header. */
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-split {
  display: flex;
  flex-direction: column;
  max-height: min(70vh, 900px);
  min-height: 0;
}
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync {
  /* Grid keeps thead in row 1 and the vertical scrollport strictly in row 2 (below header),
   * matching Stores ? avoids flex min-content / overflow quirks where the body scrollbar
   * could visually align with the full table chrome. */
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  /* Horizontal scroll only when columns truly exceed width (JS sets table min-width in px). */
  overflow-x: auto;
  overflow-y: hidden;
}
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap {
  grid-row: 1;
  grid-column: 1;
  align-self: start;
  min-width: min-content;
  width: 100%;
  box-sizing: border-box;
  /* Body uses scrollbar-gutter: stable; match that track so head/body widths align */
  scrollbar-gutter: stable;
  /* Fill reserved gutter so header background matches th (.sd-stores-th) to the container edge */
  background: var(--sd-bg);
  position: relative;
  z-index: 0;
}
/* Full-width bottom rule incl. scrollbar-gutter (border-bottom often stops at table edge in WebKit/Blink). */
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--sd-border);
  pointer-events: none;
  z-index: 2;
}
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap .sd-stores-table {
  margin: 0;
}
/* Shelf Beta / legacy: single wrap directly under shell (no split) */
.sd-stores-table-section .sd-stores-table-scroll-shell > .sd-table-wrap.sd-stores-table-scroll {
  margin-top: 0;
  padding-top: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: auto;
  max-height: min(70vh, 900px);
}
/*
 * Stores / Tasks split: vertical scroll only on tbody wrap.
 * Do not use overflow-x: visible with overflow-y: auto ? the spec then forces overflow-x to auto,
 * which adds a horizontal scrollport on the body (below the header) and desyncs from thead on .sd-stores-table-hsync.
 */
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll {
  grid-row: 2;
  grid-column: 1;
  min-height: 0;
  margin-top: 0;
  padding-top: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  min-width: min-content;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: none;
  scrollbar-gutter: stable;
}
.sd-stores-table-hsync:has(> .sd-stores-table-scroll.sd-stores-layout--cards) .sd-stores-table-thead-wrap {
  display: none;
}

/* Stores main table + horizontal sync strip + facet tables + sidebar nav: thin pill thumb, invisible track, no steppers. */
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync,
.sd-stores-facet__table-scroll,
.sd-nav,
#sd-categories-page-root .sd-categories-graph-side__body,
#sd-categories-drawer .sd-stores-drawer-activity-scroll {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 42%, var(--sd-border)) transparent;
}
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar,
.sd-stores-facet__table-scroll::-webkit-scrollbar,
.sd-nav::-webkit-scrollbar,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-track,
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-track-piece,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-track,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-track-piece,
.sd-stores-facet__table-scroll::-webkit-scrollbar-track,
.sd-stores-facet__table-scroll::-webkit-scrollbar-track-piece,
.sd-nav::-webkit-scrollbar-track,
.sd-nav::-webkit-scrollbar-track-piece,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-track,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-track-piece,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-track,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-track-piece {
  background: transparent;
}
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-thumb,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-thumb,
.sd-stores-facet__table-scroll::-webkit-scrollbar-thumb,
.sd-nav::-webkit-scrollbar-thumb,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-thumb,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--sd-muted) 40%, var(--sd-border));
  border-radius: 9999px;
  border: 1px solid transparent;
  background-clip: padding-box;
}
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-thumb:hover,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-thumb:hover,
.sd-stores-facet__table-scroll::-webkit-scrollbar-thumb:hover,
.sd-nav::-webkit-scrollbar-thumb:hover,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-thumb:hover,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-text));
  background-clip: padding-box;
}
/* WebKit: hide scrollbar stepper arrows (top/bottom on vertical bar, left/right on horizontal). */
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-button,
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-button:vertical:start:decrement,
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-button:vertical:end:increment,
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-button:horizontal:start:decrement,
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-button:horizontal:end:increment,
.sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-corner,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-button,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-button:vertical:start:decrement,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-button:vertical:end:increment,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-button:horizontal:start:decrement,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-button:horizontal:end:increment,
.sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-corner,
.sd-stores-facet__table-scroll::-webkit-scrollbar-button,
.sd-stores-facet__table-scroll::-webkit-scrollbar-button:vertical:start:decrement,
.sd-stores-facet__table-scroll::-webkit-scrollbar-button:vertical:end:increment,
.sd-stores-facet__table-scroll::-webkit-scrollbar-button:horizontal:start:decrement,
.sd-stores-facet__table-scroll::-webkit-scrollbar-button:horizontal:end:increment,
.sd-stores-facet__table-scroll::-webkit-scrollbar-corner,
.sd-nav::-webkit-scrollbar-button,
.sd-nav::-webkit-scrollbar-button:vertical:start:decrement,
.sd-nav::-webkit-scrollbar-button:vertical:end:increment,
.sd-nav::-webkit-scrollbar-button:horizontal:start:decrement,
.sd-nav::-webkit-scrollbar-button:horizontal:end:increment,
.sd-nav::-webkit-scrollbar-corner,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-button,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-button:vertical:start:decrement,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-button:vertical:end:increment,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-button:horizontal:start:decrement,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-button:horizontal:end:increment,
#sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-corner,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:vertical:start:decrement,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:vertical:end:increment,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:horizontal:start:decrement,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:horizontal:end:increment,
#sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-corner {
  display: none;
  width: 0;
  min-width: 0;
  height: 0;
  min-height: 0;
}
html.theme-dark .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll,
html.theme-dark .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync,
html.theme-dark .sd-stores-facet__table-scroll,
html.theme-dark .sd-nav,
html.theme-dark #sd-categories-page-root .sd-categories-graph-side__body,
html.theme-dark #sd-categories-drawer .sd-stores-drawer-activity-scroll {
  scrollbar-color: color-mix(in srgb, rgba(255, 255, 255, 0.26) 75%, transparent) transparent;
}
html.theme-dark .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-thumb,
html.theme-dark .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-thumb,
html.theme-dark .sd-stores-facet__table-scroll::-webkit-scrollbar-thumb,
html.theme-dark .sd-nav::-webkit-scrollbar-thumb,
html.theme-dark #sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-thumb,
html.theme-dark #sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, rgba(255, 255, 255, 0.2) 75%, transparent);
}
html.theme-dark .sd-stores-table-section .sd-table-wrap.sd-stores-table-scroll::-webkit-scrollbar-thumb:hover,
html.theme-dark .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-hsync::-webkit-scrollbar-thumb:hover,
html.theme-dark .sd-stores-facet__table-scroll::-webkit-scrollbar-thumb:hover,
html.theme-dark .sd-nav::-webkit-scrollbar-thumb:hover,
html.theme-dark #sd-categories-page-root .sd-categories-graph-side__body::-webkit-scrollbar-thumb:hover,
html.theme-dark #sd-categories-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, rgba(255, 255, 255, 0.36) 75%, transparent);
}
.sd-stores-table-section .sd-stores-table {
  margin: 0;
}
/*
 * Split head/body: intrinsic min width from content; JS (`sync*SplitTableWidths`) adds colgroup +
 * fixed layout + px width so header and body columns align and stretch to the viewport when wider.
 */
.sd-stores-table-section .sd-stores-table-split .sd-stores-table-thead-wrap .sd-stores-table,
.sd-stores-table-section .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll .sd-stores-table {
  width: max-content;
  max-width: none;
  table-layout: auto;
}
.sd-stores-table-scroll.sd-stores-layout--cards .sd-stores-table thead {
  display: none;
}
.sd-stores-table-scroll.sd-stores-layout--cards .sd-stores-table tbody {
  display: none;
}
.sd-stores-cards-root {
  display: none;
}
.sd-stores-table-scroll.sd-stores-layout--cards .sd-stores-cards-root:not([hidden]) {
  display: block;
  padding: 0 12px 12px;
  background: var(--sd-surface);
}
.sd-s1-kanban-root {
  display: none;
}
.sd-stores-cards-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  margin-left: -12px;
  margin-right: -12px;
  margin-bottom: 0;
  padding: 8px 12px;
  min-height: calc(16px + 1.35em);
  background: var(--sd-bg);
  border-bottom: 1px solid var(--sd-border);
  font-size: 13px;
  line-height: 1.35;
}
.sd-stores-cards-select-all-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  color: var(--sd-text);
  cursor: pointer;
  user-select: none;
}
.sd-stores-cards-select-all-label .sd-stores-table__row-cb {
  cursor: pointer;
}
.sd-stores-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  padding-top: 12px;
}
.sd-stores-cards-grid--s2-list {
  grid-template-columns: 1fr;
}
.sd-stores-card {
  position: relative;
  display: block;
  padding: 12px;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-bg);
  cursor: pointer;
  text-align: left;
}
.sd-stores-card:hover {
  border-color: color-mix(in srgb, var(--sd-muted) 42%, var(--sd-border));
}
.sd-stores-card__select {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  margin: 0;
  padding: 0;
  line-height: 0;
}
.sd-stores-card__body {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding-right: 32px;
}
.sd-stores-card__title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
  margin-bottom: 8px;
  color: var(--sd-text);
}
.sd-stores-card__dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.2em 10px;
  font-size: 12px;
  line-height: 1.4;
}
.sd-stores-card__dl dt {
  margin: 0;
  color: var(--sd-muted);
  font-weight: 500;
}
.sd-stores-card__dl dd {
  margin: 0;
  color: var(--sd-text);
  word-break: break-word;
}

/* Add-page-style horizontal list cards for Stores + Categories + Sync Data Run Logs card view.
   Mirrors #sd-u2-page-root .sd-u2-upload-list-card (checkbox column | content strip). */
#sd-stores-page-root .sd-stores-card.sd-stores-list-card,
#sd-categories-page-root .sd-stores-card.sd-stores-list-card,
#sd-data-collection-root .sd-stores-card.sd-stores-list-card {
  position: relative;
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
  gap: 0;
  cursor: pointer;
  text-align: left;
}
#sd-stores-page-root .sd-stores-card.sd-stores-list-card:hover,
#sd-categories-page-root .sd-stores-card.sd-stores-list-card:hover,
#sd-data-collection-root .sd-stores-card.sd-stores-list-card:hover {
  border-color: var(--sd-border);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
  background: linear-gradient(0deg, var(--sd-hover-table-cell-bg), var(--sd-hover-table-cell-bg)), var(--sd-surface);
}
#sd-stores-page-root .sd-stores-list-card .sd-stores-card__select,
#sd-categories-page-root .sd-stores-list-card .sd-stores-card__select,
#sd-data-collection-root .sd-stores-list-card .sd-stores-card__select {
  position: static;
  grid-column: 1;
  top: auto;
  right: auto;
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
#sd-stores-page-root .sd-stores-list-card .sd-stores-card__select input[type="checkbox"],
#sd-categories-page-root .sd-stores-list-card .sd-stores-card__select input[type="checkbox"],
#sd-data-collection-root .sd-stores-list-card .sd-stores-card__select input[type="checkbox"] {
  margin: 0;
}
#sd-stores-page-root .sd-stores-list-card__strip,
#sd-categories-page-root .sd-stores-list-card__strip,
#sd-data-collection-root .sd-stores-list-card__strip {
  grid-column: 2;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#sd-stores-page-root .sd-stores-list-card__title,
#sd-categories-page-root .sd-stores-list-card__title,
#sd-data-collection-root .sd-stores-list-card__title {
  display: block;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.35;
  color: var(--sd-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
#sd-categories-page-root .sd-stores-list-card__lead {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
#sd-categories-page-root .sd-stores-list-card__thumb {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  display: block;
  line-height: 0;
}
#sd-categories-page-root .sd-stores-list-card__thumb--empty {
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-bg));
}
#sd-categories-page-root .sd-stores-list-card__thumb .sd-product-card__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#sd-categories-page-root .sd-stores-list-card__lead .sd-stores-list-card__title {
  flex: 1 1 auto;
}
#sd-stores-page-root .sd-stores-list-card__stats,
#sd-categories-page-root .sd-stores-list-card__stats,
#sd-data-collection-root .sd-stores-list-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 12px;
  color: var(--sd-text);
  line-height: 1.35;
}
#sd-stores-page-root .sd-stores-list-card-stat,
#sd-categories-page-root .sd-stores-list-card-stat,
#sd-data-collection-root .sd-stores-list-card-stat {
  min-width: 0;
}
#sd-stores-page-root .sd-stores-list-card-stat .sd-product-card__ids-label,
#sd-data-collection-root .sd-stores-list-card-stat .sd-product-card__ids-label {
  color: var(--sd-muted);
  font-weight: 500;
}
/* Catalog card field labels: cancel global 0.55 opacity and raise contrast for readability. */
#sd-categories-page-root .sd-stores-list-card-stat .sd-product-card__ids-label {
  opacity: 1;
  font-weight: 600;
  color: color-mix(in srgb, var(--sd-text) 74%, var(--sd-muted));
  letter-spacing: 0.01em;
}
html.theme-dark #sd-categories-page-root .sd-stores-list-card-stat .sd-product-card__ids-label {
  color: color-mix(in srgb, var(--sd-text) 86%, white 14%);
}
html.theme-path #sd-categories-page-root .sd-stores-list-card-stat .sd-product-card__ids-label,
html.theme-greenday #sd-categories-page-root .sd-stores-list-card-stat .sd-product-card__ids-label,
html.theme-vintage #sd-categories-page-root .sd-stores-list-card-stat .sd-product-card__ids-label,
html.theme-shelfy #sd-categories-page-root .sd-stores-list-card-stat .sd-product-card__ids-label {
  color: color-mix(in srgb, var(--sd-text) 80%, var(--sd-muted));
}
#sd-categories-page-root .sd-stores-list-card-stat {
  color: var(--sd-text);
}
#sd-stores-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked),
#sd-categories-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked),
#sd-data-collection-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
#sd-stores-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) .sd-stores-card__select,
#sd-categories-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) .sd-stores-card__select,
#sd-data-collection-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) .sd-stores-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
html.theme-dark #sd-stores-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked),
html.theme-dark #sd-categories-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked),
html.theme-dark #sd-data-collection-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) {
  border-color: color-mix(in srgb, var(--sd-accent) 42%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-accent) 12%, color-mix(in srgb, var(--sd-text) 4%, var(--sd-surface)));
}
html.theme-dark #sd-stores-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) .sd-stores-card__select,
html.theme-dark #sd-categories-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) .sd-stores-card__select,
html.theme-dark #sd-data-collection-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) .sd-stores-card__select {
  background: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
}
html.theme-shelfy #sd-stores-page-root .sd-stores-card.sd-stores-list-card,
html.theme-shelfy #sd-categories-page-root .sd-stores-card.sd-stores-list-card,
html.theme-shelfy #sd-data-collection-root .sd-stores-card.sd-stores-list-card {
  background: #ffffff;
}
html.theme-shelfy #sd-stores-page-root .sd-stores-list-card .sd-stores-card__select,
html.theme-shelfy #sd-categories-page-root .sd-stores-list-card .sd-stores-card__select,
html.theme-shelfy #sd-data-collection-root .sd-stores-list-card .sd-stores-card__select {
  background: color-mix(in srgb, var(--sd-muted) 6%, #ffffff);
}
html.theme-shelfy #sd-stores-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked),
html.theme-shelfy #sd-categories-page-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked),
html.theme-shelfy #sd-data-collection-root .sd-stores-card.sd-stores-list-card:has(input.sd-stores-table__row-cb:checked) {
  background: color-mix(in srgb, var(--sd-accent) 6%, #ffffff);
}

.sd-stores-scroll-sentinel--cards {
  height: 1px;
  width: 100%;
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  overflow: hidden;
  pointer-events: none;
}
.sd-stores-toolbar-icon-btn.sd-stores-toolbar-icon-btn--dimmed,
.sd-stores-filter-text-btn.sd-stores-toolbar-icon-btn--dimmed {
  opacity: 0.45;
}
.sd-stores-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.sd-stores-table th.sd-stores-th {
  position: sticky;
  top: 0;
  z-index: 2;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  padding: 8px 12px;
  background: var(--sd-bg);
  /* Explicit bottom edge: sticky headers + border-collapse can drop the shared .sd-table th border visually. */
  border-bottom: 1px solid var(--sd-border);
}
/* Split layout: header does not scroll vertically ? no sticky needed */
.sd-stores-table--split-head .sd-stores-th {
  position: static;
  top: auto;
  border-bottom: none;
}
.sd-stores-tr {
  cursor: pointer;
}
.sd-stores-table td {
  vertical-align: middle;
  overflow: visible;
  overflow-wrap: break-word;
  word-break: normal;
}

/* Shared list-table row chrome (Categories + Stores + Shelves + Products + ?).
   Selected state uses :has(checked) so pages do not need per-row JS classes. */
.sd-stores-table {
  --sd-stores-row-radius: 8px;
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb
  ):hover
  > td {
  background: color-mix(in srgb, var(--sd-muted, #9ca3af) 9%, var(--sd-surface, #fff));
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb
  ):hover
  > td:first-child {
  border-radius: var(--sd-stores-row-radius, 8px) 0 0 var(--sd-stores-row-radius, 8px);
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb
  ):hover
  > td:last-child {
  border-radius: 0 var(--sd-stores-row-radius, 8px) var(--sd-stores-row-radius, 8px) 0;
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 10%, var(--sd-surface));
  transition: background-color 0.15s ease;
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td:first-child {
  border-radius: var(--sd-stores-row-radius, 8px) 0 0 var(--sd-stores-row-radius, 8px);
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td:last-child {
  border-radius: 0 var(--sd-stores-row-radius, 8px) var(--sd-stores-row-radius, 8px) 0;
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  ):hover
  > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 14%, var(--sd-surface));
}
.sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td.sd-stores-table__td-select {
  box-shadow: inset 3px 0 0 var(--sd-accent, #2563eb);
}
html.theme-shelfy .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb
  ):hover
  > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 5%, #ffffff);
}
html.theme-shelfy .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 8%, #ffffff);
}
html.theme-shelfy .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  ):hover
  > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 12%, #ffffff);
}
html.theme-dark .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb
  ):hover
  > td {
  background: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
}
html.theme-dark .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td {
  background: color-mix(in srgb, var(--sd-accent) 12%, color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface)));
}
html.theme-dark .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  ):hover
  > td {
  background: color-mix(in srgb, var(--sd-accent) 16%, color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface)));
}
html.theme-dark .sd-stores-table tbody tr.sd-stores-tr:not(.sd-stores-group-row):not(.sd-table-skeleton):has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  > td.sd-stores-table__td-select {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--sd-accent) 65%, var(--sd-text));
}
html.theme-dark .sd-stores-drawer__tab[aria-selected="true"] {
  color: color-mix(in srgb, var(--sd-accent) 48%, var(--sd-text));
  border-bottom-color: color-mix(in srgb, var(--sd-accent) 72%, var(--sd-muted));
}
html.theme-dark .sd-stores-drawer-hours-nav__btn[aria-selected="true"] {
  background: color-mix(in srgb, var(--sd-accent) 18%, transparent);
  color: color-mix(in srgb, var(--sd-accent) 48%, var(--sd-text));
}
html.theme-dark .sd-shelf-tabs a.is-active {
  color: color-mix(in srgb, var(--sd-accent) 48%, var(--sd-text));
  border-bottom-color: color-mix(in srgb, var(--sd-accent) 72%, var(--sd-muted));
}
html.theme-dark .sd-home-activity__tab.is-active {
  background: color-mix(in srgb, var(--sd-accent) 16%, var(--sd-surface));
  color: color-mix(in srgb, var(--sd-accent) 35%, var(--sd-text));
}
.sd-stores-drawer {
  position: fixed;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
}
.sd-stores-drawer:not([hidden]) {
  pointer-events: auto;
}
.sd-stores-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.sd-stores-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(80vw, 960px);
  max-width: 100%;
  background: var(--sd-surface);
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  animation: sdStoresDrawerIn 0.22s ease forwards;
}
@keyframes sdStoresDrawerIn {
  to {
    transform: translateX(0);
  }
}
@media (max-width: 720px) {
  .sd-stores-drawer__panel {
    width: 100%;
  }
}
.sd-stores-drawer-open {
  overflow: hidden;
}
.sd-stores-drawer__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}
.sd-stores-drawer__title {
  margin: 0;
  font-size: 17px;
}
#sd-stores-drawer .sd-stores-drawer__head {
  padding: 16px 16px 6px;
}
#sd-stores-drawer .sd-stores-drawer__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4em;
  min-width: 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
}
#sd-stores-drawer .sd-stores-drawer__title-name,
#sd-stores-drawer .sd-stores-drawer__title-number {
  overflow-wrap: anywhere;
}
#sd-stores-drawer .sd-stores-drawer__title-number {
  margin-top: 0;
  color: var(--sd-muted);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.2;
}
#sd-categories-drawer .sd-stores-drawer__title {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}
#sd-categories-drawer .sd-stores-drawer__title-name {
  overflow-wrap: anywhere;
}
#sd-categories-drawer .sd-stores-drawer__title-number {
  margin-top: 2px;
  color: var(--sd-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}
#sd-stores-drawer .sd-stores-drawer__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
  padding: 8px 48px 16px 16px;
}
#sd-stores-drawer .sd-stores-drawer__meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
#sd-stores-drawer .sd-stores-drawer__meta-item--addr {
  flex: 0 1 auto;
  max-width: 36%;
}
#sd-stores-drawer .sd-stores-drawer__meta-stats {
  flex: 1 1 280px;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 16px 20px;
  min-width: 0;
}
#sd-stores-drawer .sd-stores-drawer__meta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--sd-text);
}
#sd-stores-drawer .sd-stores-drawer__meta-icon--live {
  color: var(--sd-home-workflow-complete-fg);
}
#sd-stores-drawer .sd-stores-drawer__meta-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-stores-drawer .sd-stores-drawer__meta-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.2;
}
#sd-stores-drawer .sd-stores-drawer__meta-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--sd-text);
  line-height: 1.3;
}
#sd-stores-drawer .sd-stores-drawer__meta-addr {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
  line-height: 1.35;
}
#sd-stores-drawer .sd-stores-drawer__meta-addr-line--muted {
  font-size: 12px;
  font-weight: 500;
  color: var(--sd-muted);
}
#sd-stores-drawer .sd-stores-drawer__meta-actions {
  margin-left: 0;
  flex: 0 0 auto;
  align-self: center;
}
#sd-stores-drawer .sd-stores-drawer__ext-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  text-decoration: none;
  font-weight: 600;
  color: var(--sd-accent);
  border-color: color-mix(in srgb, var(--sd-accent) 55%, var(--sd-border));
  background: transparent;
}
#sd-stores-drawer .sd-stores-drawer__ext-btn:hover {
  background: color-mix(in srgb, var(--sd-accent) 10%, transparent);
  border-color: var(--sd-accent);
  color: var(--sd-accent);
}
#sd-stores-drawer .sd-stores-ov {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#sd-stores-drawer .sd-stores-ov__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}
@media (max-width: 720px) {
  #sd-stores-drawer .sd-stores-ov__top {
    grid-template-columns: 1fr;
  }
  #sd-stores-drawer .sd-stores-drawer__meta-actions {
    margin-left: 0;
    width: 100%;
  }
}
#sd-stores-drawer .sd-stores-ov-card {
  background: color-mix(in srgb, var(--sd-bg) 55%, var(--sd-surface));
  border: 1px solid var(--sd-border);
  border-radius: 12px;
  padding: 14px 16px 12px;
  min-width: 0;
}
#sd-stores-drawer .sd-stores-ov-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
}
#sd-stores-drawer .sd-stores-ov-card__head--split {
  margin-bottom: 12px;
}
#sd-stores-drawer .sd-stores-ov-card__head--split .sd-stores-ov-card__title {
  flex: 1 1 auto;
}
#sd-stores-drawer .sd-stores-ov-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sd-accent) 18%, transparent);
  color: var(--sd-accent);
  flex: 0 0 auto;
}
#sd-stores-drawer .sd-stores-ov-card__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--sd-text);
}
#sd-stores-drawer .sd-stores-ov-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--sd-border);
  font-size: 13px;
}
#sd-stores-drawer .sd-stores-ov-row:last-child {
  border-bottom: 0;
}
#sd-stores-drawer .sd-stores-ov-row__name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
#sd-stores-drawer .sd-stores-ov-row__label {
  color: var(--sd-muted);
  font-weight: 500;
}
#sd-stores-drawer .sd-stores-ov-copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease;
}
#sd-stores-drawer .sd-stores-ov-row:hover .sd-stores-ov-copy,
#sd-stores-drawer .sd-stores-ov-row:focus-within .sd-stores-ov-copy,
#sd-stores-drawer .sd-stores-ov-address-block:hover .sd-stores-ov-copy,
#sd-stores-drawer .sd-stores-ov-address-block:focus-within .sd-stores-ov-copy {
  opacity: 1;
  pointer-events: auto;
}
#sd-stores-drawer .sd-stores-ov-copy:hover {
  background: color-mix(in srgb, var(--sd-text) 8%, transparent);
  color: var(--sd-text);
}
#sd-stores-drawer .sd-stores-ov-copy:focus-visible {
  opacity: 1;
  pointer-events: auto;
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
#sd-stores-drawer .sd-stores-ov-row__value {
  color: var(--sd-text);
  font-weight: 600;
  text-align: right;
}
#sd-stores-drawer .sd-stores-ov-subh {
  margin: 10px 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sd-muted);
}
#sd-stores-drawer .sd-stores-ov-row--address {
  justify-content: flex-start;
  border-bottom: 0;
  padding-bottom: 0;
}
#sd-stores-drawer .sd-stores-ov-row--address .sd-stores-ov-subh {
  margin: 0;
}
#sd-stores-drawer .sd-stores-ov-address {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--sd-text);
}
#sd-stores-drawer .sd-stores-ov-mark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#sd-stores-drawer .sd-stores-ov-mark--no {
  color: var(--sd-muted);
}
#sd-stores-drawer .sd-stores-ov-mark--yes {
  color: var(--sd-home-workflow-complete-fg);
}
#sd-stores-drawer .sd-stores-ov-card--location {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 0;
  overflow: hidden;
}
#sd-stores-drawer .sd-stores-ov-card--location .sd-stores-ov-card__head--split {
  margin: 0;
  padding: 14px 16px;
  flex: 0 0 auto;
  border-bottom: 1px solid var(--sd-border);
}
#sd-stores-drawer .sd-stores-ov-card--location .sd-stores-ov-card__map-frame {
  flex: 0 0 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
}
#sd-stores-drawer .sd-stores-ov-card--location .sd-stores-drawer-mini-map {
  margin: 0;
  width: 100%;
  height: 280px;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  overflow: hidden;
}
#sd-categories-drawer .sd-categories-drawer-image {
  margin: 0 0 14px;
  max-width: 220px;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--sd-bg);
  line-height: 0;
}
#sd-categories-drawer .sd-categories-drawer-image__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: contain;
}
.sd-stores-drawer__close {
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: var(--sd-muted);
}
.sd-stores-drawer__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 12px;
  border-bottom: 1px solid var(--sd-border);
  background: transparent;
}
#sd-stores-drawer .sd-stores-drawer__tabs {
  padding: 0 16px;
}
.sd-stores-drawer__tab {
  padding: 10px 14px;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  color: var(--sd-muted);
  font-weight: 500;
}
.sd-stores-drawer__tab:hover {
  color: var(--sd-text);
}
.sd-stores-drawer__tab[aria-selected="true"] {
  color: var(--sd-accent);
  border-bottom-color: var(--sd-accent);
  font-weight: 600;
}
.sd-stores-drawer__body {
  flex: 1;
  overflow: auto;
  padding: 16px;
  min-height: 0;
}
#sd-stores-drawer .sd-stores-drawer__body.sd-stores-drawer__body--raw {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#sd-categories-drawer .sd-stores-drawer__body.sd-stores-drawer__body--raw {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#sd-stores-drawer .sd-stores-drawer__body.sd-stores-drawer__body--activity,
#sd-categories-drawer .sd-stores-drawer__body.sd-stores-drawer__body--activity {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#sd-store-sync-history-drawer .sd-stores-drawer__title {
  min-width: 0;
  flex: 1 1 auto;
}
.sd-store-sync-log-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35em 0.45em;
  min-width: 0;
  font: inherit;
  font-weight: 600;
  line-height: 1.35;
}
.sd-store-sync-log-crumb-link {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sd-accent);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.sd-store-sync-log-crumb-link:hover {
  text-decoration: underline;
}
.sd-store-sync-log-crumb-link:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.sd-store-sync-log-crumb-sep {
  color: var(--sd-muted);
  font-weight: 500;
}
.sd-store-sync-log-crumb-current {
  color: var(--sd-text);
  font-weight: 600;
  min-width: 0;
}
#sd-store-sync-history-drawer .sd-stores-drawer__body.sd-store-sync-run-log-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.sd-store-sync-run-log-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex: 0 0 auto;
  margin-bottom: 10px;
}
.sd-store-sync-run-log {
  box-sizing: border-box;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 12px;
  overflow-x: hidden;
  overflow-y: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-bg);
  color: var(--sd-text);
  font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
#sd-store-sync-history-drawer .sd-store-sync-history-table th.sd-stores-th {
  position: static;
  top: auto;
}
#sd-store-sync-history-drawer .sd-store-sync-history-table thead th.sd-dg-th {
  position: relative;
  cursor: default;
  padding-right: 8px;
}
#sd-store-sync-history-drawer .sd-store-sync-history-table thead th.sd-dg-th .sd-dg-th__label {
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
}
#sd-store-sync-history-drawer .sd-store-sync-history-table thead th.sd-dg-th .sd-dg-th__label--active {
  color: var(--sd-text);
}
.sd-stores-linkline {
  margin: 0 0 10px 0;
}
.sd-stores-drawer-mini-map {
  margin-top: 12px;
  width: 100%;
  height: 260px;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--sd-bg);
}
#sd-stores-drawer .sd-stores-drawer__body.sd-stores-drawer__body--hours,
#sd-stores-drawer .sd-stores-drawer__body.sd-stores-drawer__body--contact {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sd-stores-drawer-hours {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  gap: 12px;
  background: transparent;
}
.sd-stores-drawer-hours-nav {
  flex: 0 0 200px;
  width: 200px;
  max-width: 42%;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px;
  overflow: auto;
  border-radius: var(--sd-radius);
  background: color-mix(in srgb, var(--sd-bg) 72%, var(--sd-surface));
}
.sd-stores-drawer-hours-nav__btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-text);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}
.sd-stores-drawer-hours-nav__btn:hover {
  background: color-mix(in srgb, var(--sd-text) 6%, transparent);
}
.sd-stores-drawer-hours-nav__btn[aria-selected="true"] {
  background: color-mix(in srgb, var(--sd-accent) 14%, transparent);
  color: var(--sd-accent);
  font-weight: 600;
}
.sd-stores-drawer-hours-main {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 8px 12px 12px 4px;
}
.sd-stores-drawer-hours-h {
  margin: 0 0 8px 0;
  padding: 0;
  border: none;
  box-shadow: none;
  background: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-text);
}
.sd-stores-hours-table {
  margin-bottom: 0;
}
#sd-stores-drawer .sd-stores-drawer-hours .sd-stores-drawer-table-wrap {
  margin-bottom: 0;
}
#sd-stores-drawer .sd-stores-drawer-hours-main .sd-sb-drawer-activity-toolbar {
  margin-bottom: 8px;
}
#sd-stores-drawer .sd-stores-drawer-contact .sd-stores-ov__top {
  grid-template-columns: 1fr;
}
.sd-stores-list {
  margin: 0;
  padding-left: 18px;
}
.sd-stores-list li {
  margin: 0 0 3px 0;
}
.sd-stores-dl {
  display: grid;
  grid-template-columns: minmax(120px, 200px) 1fr;
  gap: 8px 16px;
  font-size: 13px;
}
.sd-stores-dl dt {
  color: var(--sd-muted);
  margin: 0;
}
.sd-stores-dl dd {
  margin: 0;
}
.sd-stores-mini-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.sd-stores-mini-table th,
.sd-stores-mini-table td {
  padding: 8px;
  border: 1px solid var(--sd-border);
  text-align: left;
}
/* Store details drawer ? same table system as main Stores list (.sd-table + .sd-stores-table + .sd-table-wrap) */
#sd-stores-drawer .sd-stores-drawer-table-wrap {
  margin-bottom: 12px;
}
/* Sticky headers in a scrolling panel can fight the drawer; keep header row static like facet tables */
#sd-stores-drawer .sd-stores-drawer-data-table th.sd-stores-th,
#sd-categories-drawer .sd-stores-drawer-data-table th.sd-stores-th {
  position: static;
  top: auto;
}
#sd-stores-drawer .sd-stores-drawer-data-table thead th.sd-dg-th,
#sd-categories-drawer .sd-stores-drawer-data-table thead th.sd-dg-th {
  position: relative;
  cursor: default;
  padding-right: 8px;
}
#sd-stores-drawer .sd-stores-drawer-data-table thead th.sd-dg-th[draggable="true"],
#sd-categories-drawer .sd-stores-drawer-data-table thead th.sd-dg-th[draggable="true"] {
  cursor: grab;
}
#sd-stores-drawer .sd-stores-drawer-data-table thead th.sd-dg-th.sd-dg-th--dragging,
#sd-categories-drawer .sd-stores-drawer-data-table thead th.sd-dg-th.sd-dg-th--dragging {
  opacity: 0.5;
}
#sd-stores-drawer .sd-stores-drawer-data-table thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-categories-drawer .sd-stores-drawer-data-table thead th.sd-dg-th.sd-dg-th--drop-target {
  box-shadow: inset 2px 0 0 var(--sd-accent);
}
#sd-stores-drawer .sd-stores-drawer-data-table thead th.sd-dg-th .sd-dg-th__label,
#sd-categories-drawer .sd-stores-drawer-data-table thead th.sd-dg-th .sd-dg-th__label {
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
}
#sd-stores-drawer .sd-stores-drawer-data-table thead th.sd-dg-th .sd-dg-th__label--active,
#sd-categories-drawer .sd-stores-drawer-data-table thead th.sd-dg-th .sd-dg-th__label--active {
  color: var(--sd-text);
}
#sd-stores-drawer .sd-stores-drawer-caps-table td[data-col="status"] {
  white-space: nowrap;
  vertical-align: middle;
}
#sd-stores-drawer .sd-stores-drawer-caps-tab {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
#sd-stores-drawer .sd-stores-drawer-caps-tab .sd-stores-drawer-table-wrap {
  margin-bottom: 0;
}
.sd-home-activity-badge--stable {
  background: var(--sd-home-workflow-complete-bg);
  color: var(--sd-home-workflow-complete-fg);
  border: 1px solid var(--sd-home-workflow-complete-border);
}
.sd-home-activity-badge--removed {
  background: var(--sd-home-workflow-review-bg);
  color: var(--sd-home-workflow-review-fg);
  border: 1px solid var(--sd-home-workflow-review-border);
}
/* Store details ? Change Log */
#sd-stores-drawer .sd-sb-drawer-activity-tab,
#sd-categories-drawer .sd-sb-drawer-activity-tab {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  height: 100%;
}
#sd-stores-drawer .sd-sb-drawer-activity-tab__hint,
#sd-categories-drawer .sd-sb-drawer-activity-tab__hint {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  max-width: none;
  flex: 0 0 auto;
}
#sd-stores-drawer .sd-sb-drawer-activity-toolbar,
#sd-categories-drawer .sd-sb-drawer-activity-toolbar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin-bottom: 12px;
  flex: 0 0 auto;
}
#sd-stores-drawer .sd-sb-drawer-activity-search-label,
#sd-categories-drawer .sd-sb-drawer-activity-search-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#sd-stores-drawer .sd-sb-drawer-activity-search,
#sd-categories-drawer .sd-sb-drawer-activity-search {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-height: 36px;
}
#sd-stores-drawer .sd-sb-drawer-activity__empty,
#sd-categories-drawer .sd-sb-drawer-activity__empty {
  font-size: 13px;
  margin: 0;
}
#sd-stores-drawer #sd-stores-activity-table-host,
#sd-categories-drawer #sd-categories-activity-table-host {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
/* Matches Stores page split header/body so thead stays fixed and scrollbar sits below it. */
#sd-stores-drawer .sd-stores-drawer-activity-shell,
#sd-categories-drawer .sd-stores-drawer-activity-shell {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  margin-top: 0;
  padding: 0;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  overflow: hidden;
}
#sd-stores-drawer .sd-stores-drawer-activity-shell .sd-stores-table-split,
#sd-categories-drawer .sd-stores-drawer-activity-shell .sd-stores-table-split {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}
#sd-stores-drawer .sd-stores-drawer-activity-shell .sd-stores-table-hsync,
#sd-categories-drawer .sd-stores-drawer-activity-shell .sd-stores-table-hsync {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
}
#sd-stores-drawer .sd-stores-drawer-activity-shell .sd-stores-table-thead-wrap,
#sd-categories-drawer .sd-stores-drawer-activity-shell .sd-stores-table-thead-wrap {
  grid-row: 1;
  grid-column: 1;
  align-self: start;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  scrollbar-gutter: stable;
  background: var(--sd-bg);
  position: relative;
  z-index: 0;
}
#sd-stores-drawer .sd-stores-drawer-activity-shell .sd-stores-table-thead-wrap::after,
#sd-categories-drawer .sd-stores-drawer-activity-shell .sd-stores-table-thead-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--sd-border);
  pointer-events: none;
  z-index: 2;
}
#sd-stores-drawer .sd-stores-drawer-activity-shell .sd-stores-table-thead-wrap .sd-stores-table,
#sd-categories-drawer .sd-stores-drawer-activity-shell .sd-stores-table-thead-wrap .sd-stores-table {
  margin: 0;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll,
#sd-categories-drawer .sd-stores-drawer-activity-scroll {
  grid-row: 2;
  grid-column: 1;
  min-height: 0;
  margin-top: 0;
  padding-top: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  min-width: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 42%, var(--sd-border)) transparent;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-track,
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-track-piece {
  background: transparent;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--sd-muted) 40%, var(--sd-border));
  border-radius: 9999px;
  border: 1px solid transparent;
  background-clip: padding-box;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-text));
  background-clip: padding-box;
}
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button,
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:vertical:start:decrement,
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:vertical:end:increment,
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:horizontal:start:decrement,
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-button:horizontal:end:increment,
#sd-stores-drawer .sd-stores-drawer-activity-scroll::-webkit-scrollbar-corner {
  display: none;
  width: 0;
  height: 0;
}
#sd-stores-drawer .sd-stores-drawer-activity-table,
#sd-categories-drawer .sd-stores-drawer-activity-table {
  table-layout: fixed;
  width: 100%;
  max-width: 100%;
  font-size: 13px;
}
#sd-stores-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-when,
#sd-categories-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-when {
  width: 18%;
}
#sd-stores-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-field,
#sd-categories-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-field {
  width: 16%;
}
#sd-stores-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-original,
#sd-categories-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-original,
#sd-stores-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-new,
#sd-categories-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-new {
  width: 26%;
}
#sd-stores-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-who,
#sd-categories-drawer .sd-stores-drawer-activity-table col.sd-stores-drawer-activity-col-who {
  width: 14%;
}
#sd-stores-drawer .sd-stores-drawer-activity-table th.sd-dg-th,
#sd-categories-drawer .sd-stores-drawer-activity-table th.sd-dg-th,
#sd-stores-drawer .sd-stores-drawer-activity-table td,
#sd-categories-drawer .sd-stores-drawer-activity-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  vertical-align: top;
  max-width: none;
}
#sd-stores-drawer .sd-stores-drawer-activity-table td,
#sd-categories-drawer .sd-stores-drawer-activity-table td {
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
}
#sd-stores-drawer .sd-stores-drawer-activity-table td[data-col="field"],
#sd-categories-drawer .sd-stores-drawer-activity-table td[data-col="field"] {
  font-weight: 600;
  color: color-mix(in srgb, var(--sd-text) 88%, var(--sd-muted));
}
#sd-stores-drawer .sd-stores-drawer-data-table .sd-stores-th .sd-stores-drawer__sort-btn,
#sd-categories-drawer .sd-stores-drawer-data-table .sd-stores-th .sd-stores-drawer__sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
  text-align: left;
  cursor: pointer;
  border-radius: 4px;
}
#sd-stores-drawer .sd-stores-drawer-data-table .sd-stores-th .sd-stores-drawer__sort-btn:hover,
#sd-categories-drawer .sd-stores-drawer-data-table .sd-stores-th .sd-stores-drawer__sort-btn:hover {
  color: var(--sd-accent);
}
#sd-stores-drawer .sd-stores-drawer-data-table .sd-stores-th .sd-stores-drawer__sort-btn:focus-visible,
#sd-categories-drawer .sd-stores-drawer-data-table .sd-stores-th .sd-stores-drawer__sort-btn:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
.sd-stores-pre {
  font-size: 11px;
  overflow: auto;
  max-height: 60vh;
  margin: 0;
  padding: 12px;
  background: var(--sd-bg);
  border-radius: 6px;
}
#sd-stores-drawer .sd-stores-raw-json {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  overflow: hidden;
}
#sd-stores-drawer .sd-stores-raw-json__copy {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-surface);
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
#sd-stores-drawer .sd-stores-raw-json__copy:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 4%, var(--sd-surface));
}
#sd-stores-drawer .sd-stores-raw-json__copy:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
}
#sd-stores-drawer .sd-stores-raw-json__copy--copied {
  color: var(--sd-accent);
}
#sd-stores-drawer .sd-stores-raw-json__copy-icon {
  display: block;
}
#sd-stores-drawer .sd-stores-raw-json .sd-stores-pre {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  height: 100%;
  overflow: auto;
  margin: 0;
  padding: 12px;
  padding-top: 44px;
  background: transparent;
  border-radius: 0;
}

/* Shared interactive JSON tree (Products / Shelf View / Stores drawers) */
.sd-json-tree {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  background: var(--sd-bg);
  overflow: hidden;
}
.sd-json-tree__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--sd-border);
  background: var(--sd-surface);
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 2;
}
.sd-json-tree__search {
  flex: 1 1 12rem;
  min-width: 8rem;
  max-width: 100%;
}
.sd-json-tree__toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.sd-json-tree__copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sd-json-tree__copy-btn--copied {
  color: var(--sd-accent);
}
.sd-json-tree__icon {
  display: block;
  flex-shrink: 0;
}
.sd-json-tree__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 8px 10px 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.45;
}
.sd-json-tree__empty {
  margin: 12px 10px;
}
.sd-json-tree__list,
.sd-json-tree__children {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sd-json-tree__children {
  padding-left: 1.1rem;
  border-left: 1px solid color-mix(in srgb, var(--sd-border) 70%, transparent);
  margin-left: 0.45rem;
}
.sd-json-tree__node {
  margin: 0;
  padding: 0;
}
.sd-json-tree__row {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 26px;
  padding: 1px 4px 1px 2px;
  border-radius: 4px;
  position: relative;
}
.sd-json-tree__row:hover {
  background: color-mix(in srgb, var(--sd-muted, #9ca3af) 8%, transparent);
}
.sd-json-tree__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 1;
}
.sd-json-tree__toggle:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 12%, transparent);
  color: var(--sd-text);
}
.sd-json-tree__toggle:disabled {
  opacity: 0.35;
  cursor: default;
}
.sd-json-tree__toggle-spacer {
  display: inline-block;
  width: 20px;
  flex-shrink: 0;
}
.sd-json-tree__chevron {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  transition: transform 0.12s ease;
  transform: rotate(0deg);
}
.sd-json-tree__toggle[aria-expanded="true"] .sd-json-tree__chevron {
  transform: rotate(90deg);
}
.sd-json-tree__key {
  color: var(--sd-accent, #2563eb);
  font-weight: 600;
  flex-shrink: 0;
  max-width: 40%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-json-tree__sep {
  flex-shrink: 0;
}
.sd-json-tree__meta {
  font-size: 11px;
  flex-shrink: 0;
}
.sd-json-tree__value {
  color: var(--sd-text);
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.sd-json-tree__value[data-kind="string"] {
  color: color-mix(in srgb, #059669 70%, var(--sd-text));
}
.sd-json-tree__value[data-kind="number"] {
  color: color-mix(in srgb, #d97706 75%, var(--sd-text));
}
.sd-json-tree__value[data-kind="boolean"] {
  color: color-mix(in srgb, #7c3aed 70%, var(--sd-text));
}
.sd-json-tree__value[data-kind="null"] {
  color: var(--sd-muted);
  font-style: italic;
}
html.theme-dark .sd-json-tree__value[data-kind="string"] {
  color: color-mix(in srgb, #34d399 55%, var(--sd-text));
}
html.theme-dark .sd-json-tree__value[data-kind="number"] {
  color: color-mix(in srgb, #fbbf24 55%, var(--sd-text));
}
html.theme-dark .sd-json-tree__value[data-kind="boolean"] {
  color: color-mix(in srgb, #c4b5fd 55%, var(--sd-text));
}
.sd-json-tree__highlight {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 28%, transparent);
  color: inherit;
  border-radius: 2px;
  padding: 0 1px;
}
.sd-json-tree__more {
  margin-left: auto;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-text-muted, #6b7280);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease, background-color 0.12s ease;
}
.sd-json-tree__row:hover .sd-json-tree__more,
.sd-json-tree__more[aria-expanded="true"] {
  opacity: 1;
  pointer-events: auto;
}
.sd-json-tree__more:hover {
  background: color-mix(in srgb, var(--sd-muted) 14%, transparent);
  color: var(--sd-text);
}
.sd-json-tree__menu {
  position: fixed;
  z-index: 10060;
  min-width: 10rem;
}
#sd-stores-drawer .sd-stores-drawer__body.sd-stores-drawer__body--raw .sd-json-tree,
#sd-categories-drawer .sd-stores-drawer__body.sd-stores-drawer__body--raw .sd-json-tree,
#sd-prod-drawer-body .sd-json-tree,
#sd-sb-drawer-body .sd-json-tree {
  min-height: 12rem;
}
#sd-prod-drawer-body:has(> .sd-stores-drawer-json-host),
#sd-sb-drawer-body:has(> .sd-stores-drawer-json-host),
#sd-categories-drawer-body:has(> .sd-stores-drawer-json-host) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sd-stores-drawer-json-host {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.marker-cluster-small {
  background: rgba(196, 30, 58, 0.65);
}
.marker-cluster-medium {
  background: rgba(196, 30, 58, 0.75);
}
.marker-cluster-large {
  background: rgba(196, 30, 58, 0.85);
}
html.theme-dark .marker-cluster-small {
  background: rgba(59, 130, 246, 0.65);
}
html.theme-dark .marker-cluster-medium {
  background: rgba(59, 130, 246, 0.75);
}
html.theme-dark .marker-cluster-large {
  background: rgba(59, 130, 246, 0.85);
}

/* Task Management (global upload jobs) */
.sd-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sd-btn--danger {
  color: var(--sd-btn-danger-fg);
  background: var(--sd-btn-danger-bg);
  border: 1px solid var(--sd-btn-danger-border);
  font-weight: 600;
}
.sd-btn--danger:hover {
  background: var(--sd-btn-danger-bg-hover);
}
.sd-btn--danger:focus-visible {
  outline: 2px solid var(--sd-btn-danger-border);
  outline-offset: 2px;
}
.sd-task-mgmt-toolbar {
  margin-bottom: 16px;
}
.sd-task-mgmt-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}
.sd-task-mgmt-count {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 108px;
  padding: 10px 14px;
  border-radius: var(--sd-radius);
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
  transition: border-color 0.15s, background 0.15s;
}
.sd-task-mgmt-count:hover {
  border-color: var(--sd-accent);
}
.sd-task-mgmt-count--selected {
  border-color: var(--sd-accent);
  background: rgba(0, 100, 200, 0.08);
}
html.theme-dark .sd-task-mgmt-count--selected {
  background: rgba(100, 160, 255, 0.12);
}
.sd-task-mgmt-count--total {
  cursor: default;
  opacity: 0.95;
}
.sd-task-mgmt-count--total:hover {
  border-color: var(--sd-border);
}
.sd-task-mgmt-count__n {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
.sd-task-mgmt-count__label {
  font-size: 12px;
  color: var(--sd-muted);
  margin-top: 2px;
}
.sd-task-mgmt-toolbar__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.sd-task-mgmt-search {
  min-width: 220px;
  flex: 1;
  max-width: 420px;
}
.sd-task-mgmt-meta {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-task-mgmt-card {
  padding: 0;
  overflow: hidden;
}
.sd-task-mgmt-table-wrap {
  border: none;
  border-radius: 0;
}
.sd-task-mgmt-table .sd-task-mgmt-sort-btn {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.sd-task-mgmt-sort-btn:hover {
  color: var(--sd-text);
}
.sd-task-mgmt-sort-btn--active {
  color: var(--sd-text);
}
.sd-task-mgmt__mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  word-break: break-all;
}
.sd-task-mgmt__msg {
  max-width: 280px;
  font-size: 12px;
  color: var(--sd-muted);
}
.sd-task-mgmt-loading {
  text-align: center;
  color: var(--sd-muted);
  padding: 24px !important;
}

/* Task Management ? Stores-style layout */
#sd-tasks-page-root .sd-tasks-counts-card {
  margin-top: 8px;
  margin-bottom: 8px;
}
#sd-tasks-page-root #sd-tasks-counts-card[hidden] {
  display: none !important;
}
#sd-tasks-page-root #sd-tasks-counts-card[hidden] + .sd-toolbar--stores {
  margin-top: 8px;
}
#sd-tasks-page-root .sd-tasks-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px;
  padding: 8px 0;
}
#sd-tasks-page-root .sd-product-card--task {
  min-width: 0;
}
#sd-tasks-page-root .sd-product-card--task .sd-task-card__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#sd-tasks-page-root .sd-task-card__cb-wrap {
  position: absolute;
  top: 2px;
  left: 2px;
  z-index: 1;
  margin: 0;
  cursor: pointer;
}
#sd-tasks-page-root .sd-task-card__thumb-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-muted);
  opacity: 0.85;
  pointer-events: none;
}
#sd-tasks-page-root .sd-product-card--task .sd-product-card__actions {
  align-self: flex-start;
  flex-shrink: 0;
}
#sd-tasks-page-root .sd-product-card--task .sd-product-card__status {
  margin-top: 6px;
}
#sd-tasks-page-root .sd-product-card--task .sd-product-card__beta-block--ids {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.4;
  color: color-mix(in srgb, var(--sd-text) 90%, var(--sd-muted));
}
#sd-tasks-page-root .sd-product-card--task .sd-product-card__beta-block--ids .sd-product-card__ids-line {
  margin: 0;
}
#sd-tasks-page-root .sd-product-card--task .sd-product-card__beta-block--location {
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--sd-muted);
  margin-top: 2px;
}
#sd-tasks-page-root #sd-tasks-empty-state {
  text-align: center;
}
#sd-tasks-page-root #sd-tasks-count {
  padding-left: 10px;
}
#sd-tasks-page-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-tasks-page-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-tasks-page-root .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-tasks-page-root .sd-stores-table-head {
  padding-top: 0;
  border-top: none;
  background: transparent;
}
#sd-stores-page-root #sd-stores-count,
#sd-categories-page-root #sd-categories-count {
  padding-left: 10px;
}
/* "Page 1 / N" only ? pager in .sd-stores-table-head (do not use .sd-stores-table-head__tools alone: same class is on the match-row toolbar) */
#sd-stores-page-root .sd-stores-table-head > .sd-stores-table-head__tools,
#sd-categories-page-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
/* Remove extra band/line above the count + pager row (chip margin + head padding stacked) */
#sd-stores-page-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-stores-page-root .sd-stores-filter-chips.sd-stores-filter-chips--rest,
#sd-categories-page-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-categories-page-root .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-stores-page-root .sd-stores-table-head,
#sd-categories-page-root .sd-stores-table-head {
  padding-top: 0;
  border-top: none;
}
#sd-stores-page-root .sd-stores-table-head,
#sd-categories-page-root .sd-stores-table-head {
  background: transparent;
}
/* Stores grouped rows: same vertical alignment as User Management table body cells */
#sd-stores-page-root .sd-stores-table--grouped tbody tr.sd-stores-tr.sd-stores-group-row > td.sd-stores-table__td-select,
#sd-stores-page-root .sd-stores-table--grouped tbody tr.sd-stores-tr.sd-stores-group-row td.sd-stores-group-row__td {
  vertical-align: middle;
}
/* Stores split table: .sd-table th/td wins over .sd-stores-table__td-select ? center the select column on head, data, and group rows */
#sd-stores-page-root #sd-stores-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-stores-page-root #sd-stores-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
  padding: 10px 12px;
  box-sizing: border-box;
}
/* Grouped Stores: no horizontal padding in select col (Categories-style pin + JS col[0]); removes gutter before group chevron */
#sd-stores-page-root .sd-stores-table--grouped #sd-stores-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-stores-page-root .sd-stores-table--grouped #sd-stores-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  padding: 10px 0;
}
#sd-stores-page-root .sd-stores-table--grouped tbody tr.sd-stores-group-row .sd-stores-group-row__cell {
  padding-left: 0;
  padding-right: 12px;
}
#sd-stores-page-root .sd-stores-table--grouped tr.sd-stores-group-row .sd-stores-group-toggle {
  flex-shrink: 0;
}
#sd-stores-page-root .sd-stores-table--grouped tr.sd-stores-group-row .sd-stores-group-chevron {
  display: inline-block;
  transform-origin: 50% 55%;
}
/* Categories single browse + row grouping: same as Stores ? no vertical rule between select col and first data col under an expanded group */
#sd-categories-page-root .sd-stores-table--grouped tr.sd-stores-tr--in-group td.sd-stores-tree-cell {
  box-shadow: none;
}
#sd-categories-page-root .sd-stores-table--grouped tr.sd-stores-tr--in-group td.sd-stores-table__td-select {
  border-right: none;
}

/* s1 shelves page ? count / pager / chips alignment (mirror Stores) */
#sd-s1-page-root #sd-s1-count {
  padding-left: 10px;
}
#sd-s1-page-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-s1-page-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-s1-page-root .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-s1-page-root .sd-stores-table-head {
  padding-top: 0;
  border-top: none;
  background: transparent;
}

/* Client Settings ? match shelf details: tab row then same gap as .sd-shelf-tabs + .sd-shelf-landing__prompt (no extra .sd-settings-tab-panel padding stacking) */
#sd-client-settings-root .sd-settings-tab-panel {
  padding-top: 0;
}
/* Account Settings tab panels: title + description (User Management-style head). */
#sd-client-settings-root .sd-settings-tab-panel > .sd-cs-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 20px 0 16px;
  width: 100%;
  box-sizing: border-box;
}
#sd-client-settings-root .sd-cs-panel-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 16rem;
  min-width: 0;
}
#sd-client-settings-root .sd-cs-panel-head .sd-settings-section-title {
  margin: 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
#sd-client-settings-root .sd-cs-panel-head .sd-settings-section-desc {
  margin: 6px 0 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
  max-width: none;
}
#sd-client-settings-root .sd-cs-panel-head__actions {
  flex: 0 0 auto;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}
/* Subscription & billing placeholders: no extra band below the muted line (card padding is enough) */
#sd-client-settings-root #sd-cs-panel-subscription .sd-settings-themes-card > .sd-settings-section-desc:last-child,
#sd-client-settings-root #sd-cs-panel-billing .sd-settings-themes-card > .sd-settings-section-desc:last-child {
  margin-bottom: 0;
}
#sd-client-mgmt-root .sd-cm-users-panel > .sd-cm-users-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 0 16px;
  width: 100%;
  box-sizing: border-box;
}
#sd-client-mgmt-root .sd-cm-users-panel-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 16rem;
  min-width: 0;
}
#sd-client-mgmt-root .sd-cm-users-panel-head__actions {
  flex: 0 0 auto;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-cs-users-main .sd-toolbar--stores.sd-cs-toolbar,
#sd-client-mgmt-root .sd-cm-users-main .sd-toolbar--stores.sd-cm-toolbar {
  margin-top: 0;
}

/* Client Settings ? User Management Create User matches Shelves Create Shelf CTA */
#sd-client-settings-root #sd-cs-add-user.sd-home-hero-cta {
  min-height: 40px;
  padding: 10px 18px;
  border-radius: var(--sd-home-card-radius, var(--sd-radius));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  gap: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#sd-client-settings-root #sd-cs-add-user .sd-home-hero-cta__plus {
  font-weight: 600;
  line-height: 1;
  margin-right: -2px;
}
#sd-client-settings-root #sd-cs-add-user.sd-home-hero-cta--shelf.sd-btn--primary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 70%, var(--sd-btn-primary-fg, #fff));
  outline-offset: 2px;
}
/* Client Management Create Client matches Shelves Create Shelf CTA */
#sd-client-mgmt-root #sd-cm-add-tenant.sd-home-hero-cta {
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 40px;
  height: auto;
  padding: 10px 18px;
  border-radius: var(--sd-home-card-radius, var(--sd-radius));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  gap: 8px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#sd-client-mgmt-root #sd-cm-add-tenant .sd-home-hero-cta__plus {
  font-weight: 600;
  line-height: 1;
  margin-right: -2px;
}
#sd-client-mgmt-root #sd-cm-add-tenant.sd-home-hero-cta--shelf.sd-btn--primary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 70%, var(--sd-btn-primary-fg, #fff));
  outline-offset: 2px;
}
/* Template Manager Create Template matches Client Management Create Client CTA */
#sd-tm-root #sd-tm-create.sd-home-hero-cta {
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 40px;
  height: auto;
  padding: 10px 18px;
  border-radius: var(--sd-home-card-radius, var(--sd-radius));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  gap: 8px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#sd-tm-root #sd-tm-create .sd-home-hero-cta__plus {
  font-weight: 600;
  line-height: 1;
  margin-right: -2px;
}
#sd-tm-root #sd-tm-create.sd-home-hero-cta--shelf.sd-btn--primary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent-hover) 70%, var(--sd-btn-primary-fg, #fff));
  outline-offset: 2px;
}
#sd-client-settings-root #sd-cs-panel-users #sd-cs-actions-btn.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
  box-sizing: border-box;
}
#sd-client-settings-root #sd-cs-count,
#sd-client-mgmt-root #sd-cm-count {
  padding-left: 10px;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table-head > .sd-stores-table-head__tools,
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips.sd-stores-filter-chips--rest,
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table-head {
  padding-top: 12px;
  padding-bottom: 8px;
  border-top: none;
  background: transparent;
}
#sd-client-settings-root[data-cs-pick="1"] #sd-cs-panel-users .sd-stores-table-head {
  background: transparent;
}
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-table-head {
  padding-top: 0;
  padding-bottom: 8px;
  border-top: none;
  background: transparent;
}
/* User Management table ? match Shelves sortable headers + row hover */
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table th.sd-stores-th--shelf-sortable,
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th,
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table tr.sd-stores-tr:not(.sd-cs-group-row):not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td,
#sd-client-mgmt-root .sd-cm-users-main .sd-stores-table tr.sd-stores-tr:not(.sd-cm-group-row):not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-table tbody tr.sd-cs-data-row {
  cursor: pointer;
}
/* User Management table: vertically center header + body cell content */
#sd-client-settings-root #sd-cs-panel-users #sd-cs-table-head thead th.sd-stores-th,
#sd-client-settings-root #sd-cs-panel-users #sd-cs-table tbody td.sd-stores-td,
#sd-client-mgmt-root .sd-cm-users-main #sd-cm-table-head thead th.sd-stores-th,
#sd-client-mgmt-root .sd-cm-users-main #sd-cm-table tbody td.sd-stores-td {
  vertical-align: middle;
}
#sd-client-mgmt-root .sd-cm-users-main #sd-cm-table tbody td.sd-cm-status-td {
  white-space: nowrap;
}
#sd-client-mgmt-root .sd-cm-users-main #sd-cm-table tbody td.sd-cm-status-td .sd-product-card__status-badge {
  text-transform: none;
}
#sd-client-mgmt-root .sd-cm-account-name-cell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  vertical-align: middle;
}
#sd-client-mgmt-root .sd-cm-account-name-cell__text {
  min-width: 0;
  overflow-wrap: anywhere;
}
#sd-client-mgmt-root .sd-cm-users-main #sd-cm-table tbody tr.sd-cm-data-row {
  cursor: pointer;
}
#sd-client-mgmt-root .sd-cm-cell-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
}
#sd-client-mgmt-root .sd-cm-account-name-cell .sd-cm-cell-copy {
  flex: 1 1 auto;
}
#sd-client-mgmt-root .sd-cm-cell-copy__text {
  min-width: 0;
}
#sd-client-mgmt-root .sd-cm-copy-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
  opacity: 0;
  pointer-events: none;
}
#sd-client-mgmt-root .sd-cm-cell-copy:hover .sd-cm-copy-btn,
#sd-client-mgmt-root .sd-cm-cell-copy:focus-within .sd-cm-copy-btn,
#sd-client-mgmt-root .sd-cm-copy-btn:focus-visible {
  opacity: 1;
  pointer-events: auto;
}
#sd-client-mgmt-root .sd-cm-copy-btn:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
html.theme-dark #sd-client-mgmt-root .sd-cm-copy-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
#sd-client-mgmt-root .sd-cm-copy-btn:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
#sd-client-mgmt-root .sd-cm-account-photo {
  flex-shrink: 0;
  box-sizing: border-box;
}
#sd-client-mgmt-root .sd-cm-account-photo--cell,
#sd-client-mgmt-root .sd-cm-account-photo--card {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  display: block;
  overflow: hidden;
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
#sd-client-mgmt-root .sd-cm-account-photo--placeholder {
  background: color-mix(in srgb, var(--sd-muted) 18%, var(--sd-surface));
  border: 1px solid var(--sd-border);
}
#sd-client-settings-root #sd-cs-panel-users #sd-cs-table tbody td.sd-cs-status-td {
  white-space: nowrap;
}
#sd-client-settings-root #sd-cs-panel-users #sd-cs-table tbody td.sd-cs-status-td .sd-product-card__status-badge {
  text-transform: none;
}
/* User Management: avoid always-reserved right gutter when there is no vertical scrollbar. */
#sd-client-settings-root #sd-cs-panel-users #sd-cs-table-scroll.sd-stores-table-scroll {
  scrollbar-gutter: auto;
}
/* User Management (Account Settings): .sd-table td { text-align: left } wins over .sd-stores-table__td-select ? re-center the row-select column */
#sd-client-settings-root #sd-cs-panel-users .sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-client-settings-root #sd-cs-panel-users .sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
}
/* Client Management: same select-column centering */
#sd-client-mgmt-root .sd-cm-users-main .sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-client-mgmt-root .sd-cm-users-main .sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
}
/* :not([hidden]) so display:flex does not override [hidden] (IDs beat attribute specificity). Panel head + facet/main body. */
#sd-client-settings-root #sd-cs-panel-users.sd-cs-users-panel:not([hidden]),
#sd-client-mgmt-root .sd-cm-users-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin-top: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-cs-users-body,
#sd-client-mgmt-root .sd-cm-users-body {
  display: flex;
  align-items: stretch;
  gap: 14px;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-cs-users-main,
#sd-client-mgmt-root .sd-cm-users-main {
  flex: 1 1 auto;
  min-width: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-cs-users-facet.sd-stores-facet,
#sd-client-mgmt-root .sd-cm-users-facet.sd-stores-facet {
  position: static;
  flex: 0 0 min(300px, 88vw);
  width: min(300px, 88vw);
  align-self: stretch;
  min-height: 100%;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  background: color-mix(in srgb, var(--sd-bg) 92%, white 8%);
  overflow: hidden auto;
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-cs-users-facet.sd-stores-facet,
html.theme-dark #sd-client-mgmt-root .sd-cm-users-facet.sd-stores-facet {
  background: color-mix(in srgb, var(--sd-bg) 86%, rgb(255 255 255) 14%);
}
#sd-client-settings-root #sd-cs-panel-users.sd-stores-facet--open .sd-cs-users-facet.sd-stores-facet,
#sd-client-mgmt-root.sd-stores-facet--open .sd-cm-users-facet.sd-stores-facet,
#sd-client-mgmt-root .sd-cm-users-panel.sd-stores-facet--open .sd-cm-users-facet.sd-stores-facet {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
/* Account Settings ? User Management: keep facet in-flow horizontally, but extend to viewport bottom. */
#sd-client-settings-root #sd-cs-panel-users.sd-stores-facet--open .sd-cs-users-facet.sd-stores-facet {
  position: static;
  align-self: stretch;
  height: auto;
  min-height: 0;
  overflow: hidden auto;
  overscroll-behavior: contain;
}
/* Settings ? Client Management: dock quick filters to viewport bottom like shelf View tab. */
#sd-client-mgmt-root.sd-stores-facet--open .sd-cm-users-body {
  padding-left: calc(14px + min(300px, 88vw));
  box-sizing: border-box;
}
#sd-client-mgmt-root.sd-stores-facet--open #sd-cm-facet-panel.sd-cm-users-facet.sd-stores-facet {
  position: fixed;
  bottom: 0;
  left: calc(var(--sd-sidebar-w) + 24px);
  width: min(300px, 88vw);
  max-width: 100%;
  flex: none;
  align-self: auto;
  min-height: 0;
  z-index: 35;
  box-sizing: border-box;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  overflow: hidden auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
}
body:has(#sd-sidebar.is-collapsed) #sd-client-mgmt-root.sd-stores-facet--open #sd-cm-facet-panel.sd-cm-users-facet.sd-stores-facet {
  left: calc(var(--sd-sidebar-collapsed) + 24px);
}
#sd-client-mgmt-root.sd-stores-facet--open #sd-cm-facet-panel .sd-stores-facet__inner {
  padding: 8px 12px;
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}
#sd-client-settings-root #sd-cs-panel-users .sd-cs-users-facet .sd-stores-facet__inner,
#sd-client-mgmt-root .sd-cm-users-facet .sd-stores-facet__inner {
  height: 100%;
  box-sizing: border-box;
  padding-top: 8px;
  padding-bottom: 8px;
}
#sd-client-settings-root #sd-cs-panel-users .sd-cs-users-facet[hidden],
#sd-client-mgmt-root .sd-cm-users-facet[hidden] {
  display: none !important;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-facet-table tbody tr.sd-stores-facet-table__row,
#sd-client-mgmt-root .sd-cm-users-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row {
  cursor: pointer;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-facet-table tbody tr.sd-stores-facet-table__row > td,
#sd-client-mgmt-root .sd-cm-users-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row > td {
  transition: background-color 0.12s ease;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td,
#sd-client-mgmt-root .sd-cm-users-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td {
  background-color: var(--sd-surface-hover, rgba(0, 0, 0, 0.07));
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td,
html.theme-dark #sd-client-mgmt-root .sd-cm-users-facet .sd-stores-facet-table tbody tr.sd-stores-facet-table__row:hover > td {
  background-color: rgba(255, 255, 255, 0.08);
}

/* Categories split thead: same background as Stores header row + scrollbar-gutter strip (.sd-stores-th uses --sd-bg). */
#sd-categories-page-root #sd-categories-table-thead-wrap {
  background: var(--sd-bg);
}

/*
 * Flat / grouped / tree: allow the split shell to shrink; JS sets exact table px width.
 * When content exceeds the viewport, hsync scrolls horizontally (no column squish).
 */
/*
 * Zero-result illustration when search/filters match nothing (shared across list pages).
 * Hug the image — no tall centered viewport / surface panel behind it.
 */
.sd-list-empty-scroll,
#sd-categories-page-root .sd-stores-table-scroll.sd-categories-table-scroll--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 0;
  background: transparent;
  border-color: transparent;
}
.sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll) {
  background: transparent;
  border-color: transparent;
  flex: 0 0 auto;
}
/* Beat page-level `#… .sd-stores-table-scroll-shell { flex: 1 }` when empty. */
#sd-s1-page-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-prod-page-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-stores-page-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-categories-page-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-client-settings-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-client-mgmt-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-tm-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-tasks-page-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll),
#sd-data-collection-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll) {
  background: transparent;
  border-color: transparent;
  flex: 0 0 auto;
}
.sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll) .sd-stores-table-split {
  height: auto;
  max-height: none;
  min-height: 0;
  flex: 0 0 auto;
}
.sd-stores-table-section
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:has(> .sd-list-empty-scroll) {
  height: auto;
  min-height: 0;
  grid-template-rows: auto;
  background: transparent;
}
.sd-stores-table-section
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:has(> .sd-list-empty-scroll)
  > .sd-table-wrap.sd-stores-table-scroll.sd-list-empty-scroll {
  grid-row: 1;
}
.sd-stores-table-section
  .sd-stores-table-scroll-shell
  > .sd-table-wrap.sd-stores-table-scroll.sd-list-empty-scroll,
.sd-stores-table-section
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync
  > .sd-table-wrap.sd-stores-table-scroll.sd-list-empty-scroll {
  height: auto;
  min-height: 0;
  max-height: none;
  justify-content: flex-start;
  padding: 0;
  background: transparent;
  border-color: transparent;
}
/* Categories: table split wrap should not stretch when empty. */
#sd-categories-page-root
  .sd-stores-table-section
  .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll)
  > .sd-categories-table-split-wrap {
  flex: 0 0 auto;
}
/* Settings DB backup / other non-shell wraps. */
.sd-settings-db-backup-table-wrap.sd-list-empty-scroll {
  height: auto;
  max-height: none;
  min-height: 0;
  padding: 0;
  background: transparent;
  border-color: transparent;
}
.sd-list-empty,
#sd-categories-page-root .sd-categories-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
  text-align: center;
  pointer-events: none;
  background: transparent;
}
.sd-list-empty__img,
#sd-categories-page-root .sd-categories-empty__img {
  display: block;
  width: min(420px, 90%);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  user-select: none;
}

#sd-categories-page-root .sd-categories-table-split-wrap {
  min-width: 0;
  max-width: 100%;
}
#sd-categories-page-root .sd-stores-table-scroll-shell .sd-stores-table-split {
  overflow: hidden;
  min-width: 0;
  max-height: none;
}
#sd-categories-page-root
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:not(:has(.sd-categories-table--tree)) {
  min-width: 0;
}
#sd-categories-page-root
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:has(.sd-categories-table--tree) {
  min-width: 0;
}
#sd-categories-page-root
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:not(:has(.sd-categories-table--tree))
  .sd-stores-table-thead-wrap,
#sd-categories-page-root
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:not(:has(.sd-categories-table--tree))
  .sd-table-wrap.sd-stores-table-scroll {
  min-width: 0;
}
#sd-categories-page-root
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:has(.sd-categories-table--tree)
  .sd-stores-table-thead-wrap,
#sd-categories-page-root
  .sd-stores-table-scroll-shell
  .sd-stores-table-hsync:has(.sd-categories-table--tree)
  .sd-table-wrap.sd-stores-table-scroll {
  min-width: 0;
}

/* Categories table: fixed select column (pairs with categories-desktop.js CATEGORIES_SELECT_COL_PX). */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table-head .sd-stores-th--select,
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table .sd-stores-table__td-select {
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  box-sizing: border-box;
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
}
/* Header row: match .sd-stores-th vertical padding (8px); do not use display:flex on th ? breaks row alignment vs data columns */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table-head .sd-stores-th--select {
  padding: 8px 0;
  vertical-align: middle;
}
/* Tree header row sets padding on all th; keep select column consistent with split-head th */
/* Match grouped single-view inset bar: .sd-stores-tr--in-group td.sd-stores-tree-cell uses inset 2px + border 85% mix */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table-head.sd-categories-table--tree thead th.sd-stores-th--select {
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 8px 0;
  vertical-align: middle;
  border-right: none;
}
/* Header labels stay on one line; body cells may wrap (split tables use fixed col widths from JS). */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table-head th.sd-stores-th[data-col] {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  vertical-align: middle;
}
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table td[data-col] {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

#sd-categories-page-root .sd-categories-website-link {
  color: var(--sd-accent, #3b82f6);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-word;
}
#sd-categories-page-root .sd-categories-website-link:hover {
  color: var(--sd-accent-hover, #2563eb);
}
/* Live Status: compact status pill (same language as product/upload status badges). */
#sd-categories-page-root .sd-categories-yn-cell {
  vertical-align: middle;
}
#sd-categories-page-root .sd-categories-yn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 1.5rem;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0.01em;
  white-space: nowrap;
  max-width: 100%;
}
#sd-categories-page-root .sd-categories-yn-pill--yes {
  border-color: rgba(46, 125, 50, 0.45);
  background: rgba(46, 125, 50, 0.1);
  color: #1b5e20;
}
#sd-categories-page-root .sd-categories-yn-pill--no {
  border-color: rgba(198, 40, 40, 0.45);
  background: rgba(198, 40, 40, 0.1);
  color: #b71c1c;
}
html.theme-dark #sd-categories-page-root .sd-categories-yn-pill--yes {
  color: #81c784;
  border-color: rgba(129, 199, 132, 0.45);
  background: rgba(46, 125, 50, 0.22);
}
html.theme-dark #sd-categories-page-root .sd-categories-yn-pill--no {
  color: #ef9a9a;
  border-color: rgba(239, 154, 154, 0.45);
  background: rgba(198, 40, 40, 0.22);
}
#sd-categories-page-root .sd-categories-image-cell {
  vertical-align: middle;
  padding-top: 6px;
  padding-bottom: 6px;
}
#sd-categories-page-root .sd-categories-image-thumb {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  line-height: 0;
}
#sd-categories-page-root .sd-categories-image-thumb--empty {
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-bg));
}
#sd-categories-page-root .sd-categories-image-thumb .sd-product-card__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Toolbar browse toggle: flush segmented control (Categories / Stores / Products / Shelves+Insights / Shelf details View+Add) */
#sd-categories-page-root .sd-categories-browse-toggle--toolbar,
#sd-stores-page-root .sd-stores-browse-toggle--toolbar,
#sd-prod-page-root .sd-stores-browse-toggle--toolbar,
#sd-s1-page-root .sd-stores-browse-toggle--toolbar,
#sd-sb-page-root .sd-stores-browse-toggle--toolbar,
#sd-u2-page-root .sd-stores-browse-toggle--toolbar {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  flex-shrink: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--sd-radius, 8px);
  background: color-mix(in srgb, var(--sd-bg, #f4f4f5) 88%, var(--sd-surface, #fff));
  box-sizing: border-box;
  isolation: isolate;
}
#sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn,
#sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
#sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
#sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
#sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
#sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  flex: 0 0 auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border: none;
  /* Square ends — parent overflow+radius clips cleanly (avoids double AA on selected ends). */
  border-radius: 0;
  border-left: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  background: transparent;
  background-clip: padding-box;
  box-shadow: none;
  color: var(--sd-muted, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn:first-child,
#sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child,
#sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child,
#sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child,
#sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child,
#sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child {
  border-left: none;
}
#sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn:hover:not(:disabled):not(.sd-categories-browse-toggle__btn--active),
#sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active),
#sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active),
#sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active),
#sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active),
#sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active) {
  color: var(--sd-text, inherit);
  background: color-mix(in srgb, var(--sd-text, #111) 6%, transparent);
}
#sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn--active,
#sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
#sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
#sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
#sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
#sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  border-color: var(--sd-border, rgba(0, 0, 0, 0.12));
  background: var(--sd-surface, #fff);
  color: var(--sd-text, inherit);
  box-shadow: none;
}
/* Light + Shelfy: selected Table/Cards/Tree/Kanban/Graph segment slightly darker than the track */
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-categories-page-root
  .sd-categories-browse-toggle--toolbar
  .sd-categories-browse-toggle__btn--active,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-stores-page-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-prod-page-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-s1-page-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-sb-page-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active,
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-u2-page-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #1d2125) 11%, var(--sd-surface, #fff));
}
html.theme-shelfy #sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn--active,
html.theme-shelfy #sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-shelfy #sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-shelfy #sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-shelfy #sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-shelfy #sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  /* Shelfy shares bg/surface; stronger mix so the selected state stays visible. */
  background: color-mix(in srgb, var(--sd-text, #3a2e2b) 14%, var(--sd-surface, #f5f5f6));
}
#sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn:disabled,
#sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled,
#sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled,
#sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled,
#sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled,
#sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
#sd-categories-page-root .sd-categories-toolbar-divider,
#sd-stores-page-root .sd-stores-toolbar-divider,
#sd-prod-page-root .sd-stores-toolbar-divider,
#sd-s1-page-root .sd-stores-toolbar-divider,
#sd-sb-page-root .sd-stores-toolbar-divider,
#sd-u2-page-root .sd-stores-toolbar-divider {
  display: inline-block;
  width: 1px;
  height: 22px;
  margin: 0 2px 0 4px;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sd-border, rgba(0, 0, 0, 0.14)) 85%, transparent);
  align-self: center;
}
html.theme-dark #sd-categories-page-root .sd-categories-browse-toggle--toolbar,
html.theme-dark #sd-stores-page-root .sd-stores-browse-toggle--toolbar,
html.theme-dark #sd-prod-page-root .sd-stores-browse-toggle--toolbar,
html.theme-dark #sd-s1-page-root .sd-stores-browse-toggle--toolbar,
html.theme-dark #sd-sb-page-root .sd-stores-browse-toggle--toolbar,
html.theme-dark #sd-u2-page-root .sd-stores-browse-toggle--toolbar {
  background: color-mix(in srgb, var(--sd-bg, #0f1115) 70%, var(--sd-surface, #1a1d24));
  border-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn,
html.theme-dark #sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
html.theme-dark #sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
html.theme-dark #sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
html.theme-dark #sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn,
html.theme-dark #sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  border-left-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-categories-page-root .sd-categories-browse-toggle--toolbar .sd-categories-browse-toggle__btn--active,
html.theme-dark #sd-stores-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-dark #sd-prod-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-dark #sd-s1-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-dark #sd-sb-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active,
html.theme-dark #sd-u2-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-surface, #1a1d24) 92%, white 8%);
  box-shadow: none;
}
html.theme-dark #sd-categories-page-root .sd-categories-toolbar-divider,
html.theme-dark #sd-stores-page-root .sd-stores-toolbar-divider,
html.theme-dark #sd-prod-page-root .sd-stores-toolbar-divider {
  background: rgba(255, 255, 255, 0.14);
}

/* Data Collection › Sync History: same toolbar chrome as Stores */
#sd-data-collection-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-data-collection-root .sd-stores-filter-match-main > #sd-dc-runlogs-facet-toggle,
#sd-data-collection-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor {
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-data-collection-root .sd-stores-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-data-collection-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-data-collection-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-data-collection-root .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-data-collection-root .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-data-collection-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part {
  flex: 0 0 auto;
}
#sd-data-collection-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  align-items: flex-start;
}
#sd-data-collection-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#sd-data-collection-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
#sd-data-collection-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-data-collection-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-data-collection-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
html.theme-dark #sd-data-collection-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}
#sd-data-collection-root #sd-dc-runlogs-actions-btn.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-data-collection-root #sd-dc-runlogs-saved-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-data-collection-root #sd-dc-runlogs-saved-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
#sd-data-collection-root .sd-stores-browse-toggle--toolbar {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  flex-shrink: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--sd-radius, 8px);
  background: color-mix(in srgb, var(--sd-bg, #f4f4f5) 88%, var(--sd-surface, #fff));
  box-sizing: border-box;
  isolation: isolate;
}
#sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  flex: 0 0 auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  background: transparent;
  background-clip: padding-box;
  box-shadow: none;
  color: var(--sd-muted, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child {
  border-left: none;
}
#sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active) {
  color: var(--sd-text, inherit);
  background: color-mix(in srgb, var(--sd-text, #111) 6%, transparent);
}
#sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  border-color: var(--sd-border, rgba(0, 0, 0, 0.12));
  background: var(--sd-surface, #fff);
  color: var(--sd-text, inherit);
  box-shadow: none;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-data-collection-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #1d2125) 11%, var(--sd-surface, #fff));
}
html.theme-shelfy #sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #3a2e2b) 14%, var(--sd-surface, #f5f5f6));
}
#sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
#sd-data-collection-root .sd-stores-toolbar-divider {
  display: inline-block;
  width: 1px;
  height: 22px;
  margin: 0 2px 0 4px;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sd-border, rgba(0, 0, 0, 0.14)) 85%, transparent);
  align-self: center;
}
html.theme-dark #sd-data-collection-root .sd-stores-browse-toggle--toolbar {
  background: color-mix(in srgb, var(--sd-bg, #0f1115) 70%, var(--sd-surface, #1a1d24));
  border-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  border-left-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-data-collection-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-surface, #1a1d24) 92%, white 8%);
  box-shadow: none;
}
html.theme-dark #sd-data-collection-root .sd-stores-toolbar-divider {
  background: rgba(255, 255, 255, 0.14);
}

/* Background Tasks: same toolbar chrome as Stores */
#sd-tasks-page-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-tasks-page-root .sd-stores-filter-match-main > #sd-tasks-facet-toggle,
#sd-tasks-page-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor {
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-tasks-page-root .sd-stores-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-tasks-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-tasks-page-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-tasks-page-root .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-tasks-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-tasks-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part {
  flex: 0 0 auto;
}
#sd-tasks-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  align-items: flex-start;
}
#sd-tasks-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#sd-tasks-page-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
#sd-tasks-page-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-tasks-page-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-tasks-page-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
html.theme-dark #sd-tasks-page-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}
#sd-tasks-page-root #sd-tasks-actions-menu-btn.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-tasks-page-root #sd-tasks-saved-filters-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-tasks-page-root #sd-tasks-saved-filters-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
#sd-tasks-page-root .sd-stores-browse-toggle--toolbar {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  flex-shrink: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--sd-radius, 8px);
  background: color-mix(in srgb, var(--sd-bg, #f4f4f5) 88%, var(--sd-surface, #fff));
  box-sizing: border-box;
  isolation: isolate;
}
#sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  flex: 0 0 auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  background: transparent;
  background-clip: padding-box;
  box-shadow: none;
  color: var(--sd-muted, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child {
  border-left: none;
}
#sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active) {
  color: var(--sd-text, inherit);
  background: color-mix(in srgb, var(--sd-text, #111) 6%, transparent);
}
#sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  border-color: var(--sd-border, rgba(0, 0, 0, 0.12));
  background: var(--sd-surface, #fff);
  color: var(--sd-text, inherit);
  box-shadow: none;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-tasks-page-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #1d2125) 11%, var(--sd-surface, #fff));
}
html.theme-shelfy #sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #3a2e2b) 14%, var(--sd-surface, #f5f5f6));
}
#sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
#sd-tasks-page-root .sd-stores-toolbar-divider {
  display: inline-block;
  width: 1px;
  height: 22px;
  margin: 0 2px 0 4px;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sd-border, rgba(0, 0, 0, 0.14)) 85%, transparent);
  align-self: center;
}
html.theme-dark #sd-tasks-page-root .sd-stores-browse-toggle--toolbar {
  background: color-mix(in srgb, var(--sd-bg, #0f1115) 70%, var(--sd-surface, #1a1d24));
  border-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  border-left-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-tasks-page-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-surface, #1a1d24) 92%, white 8%);
  box-shadow: none;
}
html.theme-dark #sd-tasks-page-root .sd-stores-toolbar-divider {
  background: rgba(255, 255, 255, 0.14);
}

/* Admin Settings › Client Management: same toolbar chrome as Stores */
#sd-client-mgmt-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-client-mgmt-root .sd-stores-filter-match-main > #sd-cm-facet-toggle,
#sd-client-mgmt-root .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor {
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-client-mgmt-root .sd-stores-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-client-mgmt-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-client-mgmt-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-client-mgmt-root .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-client-mgmt-root .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-client-mgmt-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part {
  flex: 0 0 auto;
}
#sd-client-mgmt-root .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  align-items: flex-start;
}
#sd-client-mgmt-root .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#sd-client-mgmt-root .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
#sd-client-mgmt-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-client-mgmt-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-client-mgmt-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
html.theme-dark #sd-client-mgmt-root .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}
#sd-client-mgmt-root #sd-cm-actions-btn.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-client-mgmt-root #sd-cm-saved-filters-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-client-mgmt-root #sd-cm-saved-filters-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
#sd-client-mgmt-root .sd-stores-browse-toggle--toolbar {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  flex-shrink: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--sd-radius, 8px);
  background: color-mix(in srgb, var(--sd-bg, #f4f4f5) 88%, var(--sd-surface, #fff));
  box-sizing: border-box;
  isolation: isolate;
}
#sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  flex: 0 0 auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  background: transparent;
  background-clip: padding-box;
  box-shadow: none;
  color: var(--sd-muted, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child {
  border-left: none;
}
#sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active) {
  color: var(--sd-text, inherit);
  background: color-mix(in srgb, var(--sd-text, #111) 6%, transparent);
}
#sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  border-color: var(--sd-border, rgba(0, 0, 0, 0.12));
  background: var(--sd-surface, #fff);
  color: var(--sd-text, inherit);
  box-shadow: none;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-client-mgmt-root
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #1d2125) 11%, var(--sd-surface, #fff));
}
html.theme-shelfy #sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #3a2e2b) 14%, var(--sd-surface, #f5f5f6));
}
#sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
#sd-client-mgmt-root .sd-stores-toolbar-divider {
  display: inline-block;
  width: 1px;
  height: 22px;
  margin: 0 2px 0 4px;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sd-border, rgba(0, 0, 0, 0.14)) 85%, transparent);
  align-self: center;
}
html.theme-dark #sd-client-mgmt-root .sd-stores-browse-toggle--toolbar {
  background: color-mix(in srgb, var(--sd-bg, #0f1115) 70%, var(--sd-surface, #1a1d24));
  border-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  border-left-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-client-mgmt-root .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-surface, #1a1d24) 92%, white 8%);
  box-shadow: none;
}
html.theme-dark #sd-client-mgmt-root .sd-stores-toolbar-divider {
  background: rgba(255, 255, 255, 0.14);
}

/* Account Settings › User Management: same toolbar chrome as Stores */
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-match-main > #sd-cs-facet-toggle,
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-match-main > .sd-stores-saved-filters-anchor {
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-logic-host {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips__row--applied {
  width: 100%;
  min-width: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips__row--applied .sd-stores-chip {
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: stretch;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips__row--applied .sd-stores-chip-part {
  flex: 0 0 auto;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips__row--applied .sd-stores-chip-part--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  align-items: flex-start;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips__row--applied .sd-stores-chip-seg--value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-chips__row--applied .sd-stores-chip-x {
  flex: 0 0 auto;
  align-self: stretch;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-stores-filter-text-btn[aria-pressed="true"] {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
}
#sd-client-settings-root #sd-cs-panel-users #sd-cs-saved-filters-popover.sd-stores-popover--export {
  left: auto;
  right: auto;
}
#sd-client-settings-root #sd-cs-panel-users #sd-cs-saved-filters-popover .sd-stores-popover__inner--cols {
  position: static;
  right: auto;
  max-width: min(420px, calc(100vw - 24px));
  width: min(360px, calc(100vw - 24px));
  min-width: min(280px, calc(100vw - 24px));
  box-sizing: border-box;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  flex-shrink: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--sd-radius, 8px);
  background: color-mix(in srgb, var(--sd-bg, #f4f4f5) 88%, var(--sd-surface, #fff));
  box-sizing: border-box;
  isolation: isolate;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  flex: 0 0 auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  background: transparent;
  background-clip: padding-box;
  box-shadow: none;
  color: var(--sd-muted, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:first-child {
  border-left: none;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:hover:not(:disabled):not(.sd-stores-browse-toggle__btn--active) {
  color: var(--sd-text, inherit);
  background: color-mix(in srgb, var(--sd-text, #111) 6%, transparent);
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  border-color: var(--sd-border, rgba(0, 0, 0, 0.12));
  background: var(--sd-surface, #fff);
  color: var(--sd-text, inherit);
  box-shadow: none;
}
html:not(.theme-dark):not(.theme-path):not(.theme-greenday):not(.theme-vintage)
  #sd-client-settings-root
  #sd-cs-panel-users
  .sd-stores-browse-toggle--toolbar
  .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #1d2125) 11%, var(--sd-surface, #fff));
}
html.theme-shelfy #sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-text, #3a2e2b) 14%, var(--sd-surface, #f5f5f6));
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
#sd-client-settings-root #sd-cs-panel-users .sd-stores-toolbar-divider {
  display: inline-block;
  width: 1px;
  height: 22px;
  margin: 0 2px 0 4px;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sd-border, rgba(0, 0, 0, 0.14)) 85%, transparent);
  align-self: center;
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar {
  background: color-mix(in srgb, var(--sd-bg, #0f1115) 70%, var(--sd-surface, #1a1d24));
  border-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn {
  border-left-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-stores-browse-toggle--toolbar .sd-stores-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-surface, #1a1d24) 92%, white 8%);
  box-shadow: none;
}
html.theme-dark #sd-client-settings-root #sd-cs-panel-users .sd-stores-toolbar-divider {
  background: rgba(255, 255, 255, 0.14);
}

/* Categories — Multi tree: Linear/Figma-like hierarchy chrome */
#sd-categories-page-root .sd-categories-table--tree {
  /* One lane per tree depth; match single group row toggle (28px) so expand chevrons are the same size */
  --sd-cat-tree-lane: 28px;
  --sd-cat-tree-name-pad-x: 8px;
  --sd-cat-tree-cell-gap: 4px;
  --sd-cat-tree-row-radius: var(--sd-stores-row-radius, 8px);
  --sd-cat-tree-line: color-mix(in srgb, var(--sd-muted, #9ca3af) 28%, transparent);
  --sd-cat-tree-line-x: calc(var(--sd-cat-tree-lane) * 0.5 - 0.5px);
}
/* Multi tree header: inherit Stores split-head chrome (.sd-table th / .sd-stores-th).
   Only nudge the name column to align with the tree cell padding. */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table-head.sd-categories-table--tree thead th[data-col="name"] {
  padding-left: var(--sd-cat-tree-name-pad-x);
  padding-right: var(--sd-cat-tree-name-pad-x);
}
/* Multi tree body: column rules match row-line weight (1px) */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody tr > td:not(:last-child) {
  border-right: 1px solid color-mix(in srgb, var(--sd-border, #e5e7eb) 70%, transparent);
}
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody td {
  padding: 6px 12px;
  vertical-align: middle;
  border-bottom: none;
  transition: background-color 0.12s ease;
}
/* Row lines only under data columns to the right of the tree (name); matches .sd-table td rhythm */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody tr.sd-stores-tr > td[data-col]:not([data-col="name"]) {
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border, #e5e7eb) 70%, transparent);
}
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody tr.sd-stores-tr:last-child > td[data-col]:not([data-col="name"]) {
  border-bottom: none;
}
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody td.sd-stores-table__td-select {
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 6px 0;
  vertical-align: middle;
  border-right: none;
}
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody td[data-col="category_id"] {
  text-align: left;
  font-variant-numeric: tabular-nums;
  color: var(--sd-text, #111827);
}
/* Name cell: pad-y token matches tbody td padding so guide lines span full td inner box */
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody td.sd-categories-tree-name-cell {
  --sd-cat-tree-pad-y: 6px;
  padding: var(--sd-cat-tree-pad-y) var(--sd-cat-tree-name-pad-x);
  vertical-align: middle;
  overflow: hidden;
  min-width: 0;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-cell-wrap {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  box-sizing: border-box;
  min-height: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-guides {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-self: stretch;
}
/* Indent lanes: 1px dotted vertical ? border-left keeps same x as solid bar */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-guide {
  flex: 0 0 var(--sd-cat-tree-lane);
  width: var(--sd-cat-tree-lane);
  min-width: var(--sd-cat-tree-lane);
  max-width: var(--sd-cat-tree-lane);
  position: relative;
  align-self: stretch;
  overflow: visible;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-guide::before {
  content: "";
  position: absolute;
  left: var(--sd-cat-tree-line-x);
  top: calc(-1 * var(--sd-cat-tree-pad-y, 10px));
  width: 0;
  border-left: 1px dotted var(--sd-cat-tree-line);
  pointer-events: none;
  z-index: 0;
  box-sizing: border-box;
}
/* Trunk continues through row into next sibling */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-guide--cont::before {
  bottom: calc(-1 * var(--sd-cat-tree-pad-y, 10px));
  height: auto;
}
/* Last sibling at this indent: stop at row mid (bullet / caret), do not run to cell bottom */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-guide:not(.sd-categories-tree-guide--cont)::before {
  bottom: 50%;
  height: auto;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-node-shell {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  align-self: stretch;
  position: relative;
  z-index: 0;
  min-height: 100%;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-row-main {
  flex: 0 1 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin-left: var(--sd-cat-tree-cell-gap);
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
  padding-right: 0;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-thumb {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 5px;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--sd-text-muted, #6b7280);
  background: color-mix(in srgb, var(--sd-muted, #9ca3af) 14%, transparent);
  font-variant-numeric: tabular-nums;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-row-more {
  flex: 0 0 auto;
  margin-left: 2px;
  width: 26px;
  height: 26px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-text-muted, #6b7280);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody tr.sd-stores-tr:hover .sd-categories-tree-row-more,
#sd-categories-page-root .sd-stores-table-hsync #sd-categories-table.sd-categories-table--tree tbody tr.sd-categories-tree-row--selected .sd-categories-tree-row-more,
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-row-more[aria-expanded="true"] {
  opacity: 1;
  pointer-events: auto;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-row-more:hover {
  background: color-mix(in srgb, var(--sd-muted, #9ca3af) 16%, transparent);
  color: var(--sd-text, #111827);
}
#sd-categories-page-root .sd-categories-tree-row-menu {
  position: fixed;
  z-index: 80;
  min-width: 176px;
  padding: 4px;
  border-radius: 10px;
  border: 1px solid var(--sd-border, #e5e7eb);
  background: var(--sd-surface, #fff);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.14);
}
#sd-categories-page-root .sd-categories-tree-row-menu[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-categories-tree-row-menu__item {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  border-radius: 6px;
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
  color: var(--sd-text, #111827);
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-tree-row-menu__item:hover {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 10%, transparent);
}
/* Fixed lane width + stretch so toggle center matches --sd-cat-tree-line-x in guide columns */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-control {
  flex: 0 0 var(--sd-cat-tree-lane);
  width: var(--sd-cat-tree-lane);
  min-width: var(--sd-cat-tree-lane);
  max-width: var(--sd-cat-tree-lane);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  position: relative;
  z-index: 1;
  background: transparent;
  box-sizing: border-box;
}
/* Leaf row: same box as expand button so labels align; no bullet */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-leaf-dot {
  flex: 0 0 var(--sd-cat-tree-lane);
  width: var(--sd-cat-tree-lane);
  min-width: var(--sd-cat-tree-lane);
  max-width: var(--sd-cat-tree-lane);
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  pointer-events: none;
  position: relative;
  z-index: 2;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--sd-cat-tree-lane);
  width: var(--sd-cat-tree-lane);
  min-width: var(--sd-cat-tree-lane);
  max-width: var(--sd-cat-tree-lane);
  height: 28px;
  min-height: 28px;
  padding: 0;
  margin: 0;
  border: none;
  /* Match single group row .sd-stores-group-toggle (28?28, rounded hover) */
  border-radius: 6px;
  background: transparent;
  /* Match Stores/Categories Actions control (--sd-accent) */
  color: var(--sd-accent, #3b82f6);
  cursor: pointer;
  line-height: 1;
  transition: background-color 0.12s ease, color 0.12s ease;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle .sd-stores-group-chevron {
  font-size: 12px;
  line-height: 1;
}
/* Stub under expanded caret: through bottom padding so it meets first child row?s line */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle[aria-expanded="true"]::after {
  content: "";
  position: absolute;
  left: var(--sd-cat-tree-line-x);
  top: 100%;
  width: 0;
  height: calc(var(--sd-cat-tree-pad-y, 10px) + 2px);
  border-left: 1px dotted var(--sd-cat-tree-line);
  pointer-events: none;
  z-index: 0;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 14%, transparent);
  color: var(--sd-accent-hover, #2563eb);
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle:focus-visible {
  outline: 2px solid var(--sd-accent-hover, #2563eb);
  outline-offset: 1px;
}
/* Same ? + rotate as single groups view (.sd-stores-group-row--expanded .sd-stores-group-chevron) */
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle[aria-expanded="true"] .sd-stores-group-chevron {
  transform: rotate(90deg);
}
/* Grouped table rows: same chevron color as multi tree (.sd-categories-tree-toggle) */
#sd-categories-page-root tr.sd-stores-group-row .sd-stores-group-toggle {
  color: var(--sd-accent, #3b82f6);
  transition: background-color 0.12s ease, color 0.12s ease;
}
#sd-categories-page-root tr.sd-stores-group-row .sd-stores-group-toggle:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 14%, transparent);
  color: var(--sd-accent-hover, #2563eb);
}
#sd-categories-page-root tr.sd-stores-group-row .sd-stores-group-toggle:focus-visible {
  outline: 2px solid var(--sd-accent-hover, #2563eb);
  outline-offset: 1px;
}
html.theme-dark #sd-categories-page-root tr.sd-stores-group-row .sd-stores-group-toggle {
  color: var(--sd-accent, #f59e0b);
}
html.theme-dark #sd-categories-page-root tr.sd-stores-group-row .sd-stores-group-toggle:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
  color: var(--sd-accent-hover, #fbbf24);
}
html.theme-dark #sd-categories-page-root tr.sd-stores-group-row .sd-stores-group-toggle:focus-visible {
  outline-color: var(--sd-accent-hover, #fbbf24);
  outline-offset: 1px;
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-self: center;
  border-radius: 6px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-weight: 500;
  color: var(--sd-text, #111827);
}
#sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-label:hover {
  background: transparent;
}
/* Tree-only selected label weight (row fill / radius / accent bar come from shared .sd-stores-table rules). */
#sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-tree-row--selected .sd-categories-tree-label,
#sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-row--selected .sd-categories-tree-label,
#sd-categories-page-root .sd-categories-table--tree tbody tr.sd-stores-tr:has(
    > td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked
  )
  .sd-categories-tree-label {
  color: color-mix(in srgb, var(--sd-accent, #2563eb) 72%, var(--sd-text));
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}
/* Search/filter matches: soft wash so hits read against ancestor context rows. */
#sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-tree-row--match > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 8%, transparent);
}
#sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-tree-row--match .sd-categories-tree-label {
  font-weight: 600;
}
#sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-tree-row--match:hover > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 12%, transparent);
}
#sd-categories-page-root
  .sd-categories-table--tree
  tbody
  tr.sd-categories-tree-row--match.sd-categories-tree-row--selected
  > td,
#sd-categories-page-root
  .sd-categories-table--tree
  tbody
  tr.sd-categories-tree-row--match.sd-categories-row--selected
  > td,
#sd-categories-page-root
  .sd-categories-table--tree
  tbody
  tr.sd-categories-tree-row--match:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked)
  > td {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 14%, transparent);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-tree-row--match > td {
  background: color-mix(in srgb, var(--sd-accent, #f59e0b) 12%, transparent);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree tbody tr.sd-categories-tree-row--match:hover > td {
  background: color-mix(in srgb, var(--sd-accent, #f59e0b) 16%, transparent);
}
html.theme-dark
  #sd-categories-page-root
  .sd-categories-table--tree
  tbody
  tr.sd-categories-tree-row--match.sd-categories-tree-row--selected
  > td,
html.theme-dark
  #sd-categories-page-root
  .sd-categories-table--tree
  tbody
  tr.sd-categories-tree-row--match.sd-categories-row--selected
  > td,
html.theme-dark
  #sd-categories-page-root
  .sd-categories-table--tree
  tbody
  tr.sd-categories-tree-row--match:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb:checked)
  > td {
  background: color-mix(in srgb, var(--sd-accent, #f59e0b) 18%, transparent);
}
html.theme-dark #sd-categories-page-root .sd-categories-tree-row-menu {
  background: var(--sd-surface, #111827);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.45);
}
html.theme-dark #sd-categories-page-root .sd-categories-tree-row-menu__item:hover {
  background: color-mix(in srgb, var(--sd-accent, #f59e0b) 16%, transparent);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-count {
  color: var(--sd-text-muted, #9ca3af);
  background: color-mix(in srgb, rgb(255 255 255) 8%, transparent);
}
html.theme-dark #sd-categories-page-root #sd-categories-table-thead-wrap {
  background: var(--sd-bg);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle {
  color: var(--sd-accent, #f59e0b);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 22%, transparent);
  color: var(--sd-accent-hover, #fbbf24);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-toggle:focus-visible {
  outline-color: var(--sd-accent-hover, #fbbf24);
  outline-offset: 1px;
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree .sd-categories-tree-leaf-dot::before {
  background: rgba(255, 255, 255, 0.35);
}
html.theme-dark #sd-categories-page-root .sd-categories-table--tree {
  --sd-cat-tree-line: color-mix(in srgb, rgb(255 255 255) 8%, transparent);
}
/*
 * Categories (Tree / Table / Graph): fill remaining main column.
 * Do not use 70vh for the table split — head + toolbar + filters + 70vh overflows .sd-content
 * and adds a page-level scrollbar.
 */
.sd-content:has(> #sd-categories-page-root) {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  /* Keep side padding; tighten bottom so the table shell can sit flush in the viewport. */
  padding-bottom: 16px;
}
#sd-categories-page-root {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
#sd-categories-page-root > .sd-prod-page-head,
#sd-categories-page-root > .sd-toolbar,
#sd-categories-page-root > .sd-stores-filter-stacks,
#sd-categories-page-root > .sd-stores-facet,
#sd-categories-page-root > .sd-stores-modal {
  flex: 0 0 auto;
}
#sd-categories-page-root .sd-stores-table-section {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
#sd-categories-page-root .sd-stores-table-section > .sd-stores-table-head {
  flex: 0 0 auto;
}
#sd-categories-page-root .sd-stores-table-scroll-shell {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
/* Graph: match shell fill to status bar so rounded corners don’t fringe (surface ≠ bg). */
#sd-categories-page-root .sd-stores-table-scroll-shell:has(> .sd-categories-graph-root:not([hidden])) {
  background: var(--sd-bg);
  /* Soften border against page bg — hard 1px + radius often reads as jagged fringe */
  border-color: color-mix(in srgb, var(--sd-border) 70%, var(--sd-bg));
  isolation: isolate;
}
/* Tree / Table: fill shell; body scrolls inside .sd-stores-table-scroll */
#sd-categories-page-root .sd-stores-table-scroll-shell > .sd-categories-table-split-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  max-width: 100%;
}
#sd-categories-page-root .sd-stores-table-scroll-shell > .sd-categories-table-split-wrap[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-stores-table-scroll-shell .sd-categories-table-split-wrap > .sd-stores-table-split {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  height: auto;
}
/* Graph panel: author `display:flex` beats UA `[hidden]` unless we force it */
#sd-categories-page-root .sd-stores-table-scroll-shell > .sd-categories-graph-root[hidden] {
  display: none !important;
}
/* Categories — Graph: status row full width; stage + settings below counts */
#sd-categories-page-root .sd-stores-table-scroll-shell > .sd-categories-graph-root:not([hidden]) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  max-height: none;
  margin: 0;
  border: none;
  border-radius: 0;
  /* Same as status / shell so the clipped top corners stay a single color */
  background: var(--sd-bg);
  overflow: hidden;
  position: relative;
}
#sd-categories-page-root .sd-categories-graph-body {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  position: relative;
  /* Canvas/stage fill; keeps bottom corners consistent under the clip */
  background: var(--sd-surface-2, #f3f4f6);
}
html.theme-dark #sd-categories-page-root .sd-categories-graph-body,
html.theme-path #sd-categories-page-root .sd-categories-graph-body,
html.theme-greenday #sd-categories-page-root .sd-categories-graph-body,
html.theme-vintage #sd-categories-page-root .sd-categories-graph-body {
  background: #00050a;
}
#sd-categories-page-root .sd-categories-graph-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  color: var(--sd-muted);
  border-bottom: 1px solid var(--sd-border-subtle, rgba(0, 0, 0, 0.08));
  background: var(--sd-bg);
  flex: 0 0 auto;
}
#sd-categories-page-root .sd-categories-graph-status__item strong {
  color: var(--sd-text);
  font-weight: 600;
}
#sd-categories-page-root .sd-categories-graph-status__actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  padding-left: 8px;
}
#sd-categories-page-root .sd-categories-graph-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--sd-muted);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: color 0.15s ease, transform 0.12s ease, opacity 0.15s ease;
}
#sd-categories-page-root .sd-categories-graph-action .sd-categories-graph-hist-btn__svg {
  display: block;
  pointer-events: none;
}
#sd-categories-page-root .sd-categories-graph-action:hover:not(:disabled) {
  color: var(--sd-text);
  background: transparent;
  transform: scale(1.1);
}
#sd-categories-page-root .sd-categories-graph-action:active:not(:disabled) {
  color: var(--sd-text);
  transform: scale(0.9);
  opacity: 0.85;
}
#sd-categories-page-root .sd-categories-graph-action:disabled {
  opacity: 0.32;
  cursor: default;
  transform: none;
}
#sd-categories-page-root .sd-categories-graph-action:focus-visible {
  outline: 2px solid var(--sd-focus, rgba(59, 130, 246, 0.55));
  outline-offset: 2px;
}
#sd-categories-page-root .sd-categories-graph-action[aria-expanded="true"] {
  color: var(--sd-text);
}
#sd-categories-page-root .sd-categories-graph-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
#sd-categories-page-root .sd-categories-multi-cy-dust {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  z-index: 0;
}
/* Class specificity beats [hidden]; force full removal when gradient is off. */
#sd-categories-page-root .sd-categories-multi-cy-dust[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-categories-multi-cy-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
  z-index: 1;
}
#sd-categories-page-root .sd-categories-multi-cy-canvas--grid::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
    linear-gradient(to right, rgba(15, 23, 42, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15, 23, 42, 0.08) 1px, transparent 1px);
  background-size: 24px 24px, 24px 24px, 96px 96px, 96px 96px;
  background-position: center center;
  mask-image: radial-gradient(ellipse 88% 78% at 50% 48%, #000 15%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 88% 78% at 50% 48%, #000 15%, transparent 78%);
  opacity: 0.54;
}
html.theme-dark #sd-categories-page-root .sd-categories-multi-cy-canvas--grid::before,
html.theme-path #sd-categories-page-root .sd-categories-multi-cy-canvas--grid::before,
html.theme-greenday #sd-categories-page-root .sd-categories-multi-cy-canvas--grid::before,
html.theme-vintage #sd-categories-page-root .sd-categories-multi-cy-canvas--grid::before {
  background-image:
    linear-gradient(to right, rgba(148, 163, 184, 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.07) 1px, transparent 1px),
    linear-gradient(to right, rgba(148, 163, 184, 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.12) 1px, transparent 1px);
  opacity: 0.45;
}
#sd-categories-page-root .sd-categories-graph-zoom {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 40;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--sd-border) 55%, transparent);
  background: color-mix(in srgb, var(--sd-surface) 72%, transparent);
  backdrop-filter: blur(6px);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  opacity: 0.82;
  transition: opacity 0.15s ease;
}
#sd-categories-page-root .sd-categories-graph-zoom:hover,
#sd-categories-page-root .sd-categories-graph-zoom:focus-within {
  opacity: 1;
}
#sd-categories-page-root .sd-categories-graph-zoom[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-categories-graph-canvas-expand {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--sd-border) 55%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--sd-surface) 72%, transparent);
  backdrop-filter: blur(6px);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  color: var(--sd-muted);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  opacity: 0.82;
  transition: opacity 0.15s ease, color 0.15s ease, transform 0.12s ease;
}
#sd-categories-page-root .sd-categories-graph-canvas-expand__svg {
  display: block;
  pointer-events: none;
}
#sd-categories-page-root .sd-categories-graph-canvas-expand:hover {
  opacity: 1;
  color: var(--sd-text);
  transform: scale(1.06);
}
#sd-categories-page-root .sd-categories-graph-canvas-expand:active {
  transform: scale(0.94);
  opacity: 0.9;
}
#sd-categories-page-root .sd-categories-graph-canvas-expand:focus-visible {
  outline: 2px solid var(--sd-focus, rgba(59, 130, 246, 0.55));
  outline-offset: 2px;
}
#sd-categories-page-root .sd-categories-graph-canvas-expand[aria-pressed="true"] {
  color: var(--sd-text);
  opacity: 1;
}
/* Expanded graph: fill main content (sidebar stays visible). */
#sd-categories-page-root.sd-categories-page--graph-expanded .sd-categories-graph-root:not([hidden]) {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--sd-sidebar-w);
  z-index: 120;
  width: auto;
  height: auto;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
body:has(#sd-sidebar.is-collapsed) #sd-categories-page-root.sd-categories-page--graph-expanded .sd-categories-graph-root:not([hidden]) {
  left: var(--sd-sidebar-collapsed);
}
#sd-categories-page-root .sd-categories-graph-zoom__btn {
  min-width: 2rem;
  height: 1.85rem;
  padding: 0 8px;
  border: none;
  border-radius: 7px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-zoom__btn:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 7%, transparent);
}
#sd-categories-page-root .sd-categories-graph-zoom__btn--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  width: 1.85rem;
  padding: 0;
}
#sd-categories-page-root .sd-categories-graph-zoom__icon {
  display: block;
  pointer-events: none;
}
#sd-categories-page-root .sd-categories-graph-nav {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 40;
  width: 180px;
  height: 128px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--sd-border) 75%, transparent);
  background: var(--sd-surface-2, #f3f4f6);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
}
#sd-categories-page-root .sd-categories-graph-nav[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-categories-graph-nav:active,
#sd-categories-page-root .sd-categories-graph-nav.is-dragging {
  cursor: grabbing;
}
#sd-categories-page-root .sd-categories-graph-nav__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}
#sd-categories-page-root .sd-categories-graph-nav__view {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  box-sizing: border-box;
  border: 1.5px solid var(--sd-accent, #3b82f6);
  background: color-mix(in srgb, var(--sd-accent, #3b82f6) 16%, transparent);
  border-radius: 2px;
  pointer-events: none;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sd-surface) 55%, transparent);
}
#sd-categories-page-root .sd-categories-graph-side {
  display: flex;
  flex-direction: column;
  flex: 0 0 280px;
  width: 280px;
  max-width: min(280px, 42vw);
  min-height: 0;
  border-left: 1px solid var(--sd-border);
  background: var(--sd-surface);
  overflow: hidden;
}
#sd-categories-page-root .sd-categories-graph-side[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-categories-graph-side__head {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 0 8px 0 12px;
  border-bottom: 1px solid var(--sd-border-subtle, rgba(0, 0, 0, 0.08));
  flex: 0 0 auto;
  min-height: 40px;
}
#sd-categories-page-root .sd-categories-graph-side__tabs {
  display: flex;
  align-items: stretch;
  gap: 16px;
  flex: 1;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-graph-side__tab {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  padding: 12px 0 10px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--sd-muted);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  transition: color 0.15s ease;
}
#sd-categories-page-root .sd-categories-graph-side__tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1.5px;
  border-radius: 1px;
  background: transparent;
  transition: background 0.15s ease, transform 0.15s ease;
  transform: scaleX(0.55);
  transform-origin: center;
}
#sd-categories-page-root .sd-categories-graph-side__tab:hover {
  color: color-mix(in srgb, var(--sd-text) 78%, var(--sd-muted));
  background: transparent;
}
#sd-categories-page-root .sd-categories-graph-side__tab--active,
#sd-categories-page-root .sd-categories-graph-side__tab[aria-selected="true"] {
  color: var(--sd-text);
  font-weight: 600;
  background: transparent;
}
#sd-categories-page-root .sd-categories-graph-side__tab--active::after,
#sd-categories-page-root .sd-categories-graph-side__tab[aria-selected="true"]::after {
  background: color-mix(in srgb, var(--sd-text) 72%, transparent);
  transform: scaleX(1);
}
#sd-categories-page-root .sd-categories-graph-side__tab:focus-visible {
  outline: none;
  color: var(--sd-text);
}
#sd-categories-page-root .sd-categories-graph-side__tab:focus-visible::after {
  background: color-mix(in srgb, var(--sd-focus, rgba(59, 130, 246, 0.85)) 80%, transparent);
  transform: scaleX(1);
}
#sd-categories-page-root .sd-categories-graph-side__panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
}
#sd-categories-page-root .sd-categories-graph-side__panel[hidden] {
  display: none !important;
}
#sd-categories-page-root .sd-categories-graph-saved {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px;
  min-height: 0;
}
#sd-categories-page-root .sd-categories-graph-saved__label {
  font-size: 0.78rem;
  color: var(--sd-muted);
}
#sd-categories-page-root .sd-categories-graph-saved__save-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
#sd-categories-page-root .sd-categories-graph-saved__save-row .sd-input {
  flex: 1;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-graph-saved__save-btn {
  flex-shrink: 0;
  white-space: nowrap;
}
#sd-categories-page-root .sd-categories-graph-saved__search {
  width: 100%;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-graph-saved__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  max-height: min(42vh, 360px);
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--sd-border) 55%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--sd-surface) 88%, transparent);
}
#sd-categories-page-root .sd-categories-graph-saved__empty {
  padding: 14px 12px;
  font-size: 0.8125rem;
  text-align: center;
}
#sd-categories-page-root .sd-categories-graph-saved__row {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px 4px 4px;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 38%, transparent);
}
#sd-categories-page-root .sd-categories-graph-saved__row:last-child {
  border-bottom: none;
}
#sd-categories-page-root .sd-categories-graph-saved__row:hover {
  background: color-mix(in srgb, var(--sd-text) 4%, transparent);
}
#sd-categories-page-root .sd-categories-graph-saved__row--editing {
  gap: 6px;
  padding: 6px;
}
#sd-categories-page-root .sd-categories-graph-saved__apply {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 6px 8px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-text);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-saved__apply-name {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
#sd-categories-page-root .sd-categories-graph-saved__apply-meta {
  font-size: 0.7rem;
  color: var(--sd-muted);
  line-height: 1.2;
}
#sd-categories-page-root .sd-categories-graph-saved__apply:focus-visible,
#sd-categories-page-root .sd-categories-graph-saved__edit:focus-visible,
#sd-categories-page-root .sd-categories-graph-saved__remove:focus-visible {
  outline: 2px solid var(--sd-focus, rgba(59, 130, 246, 0.55));
  outline-offset: 1px;
}
#sd-categories-page-root .sd-categories-graph-saved__edit,
#sd-categories-page-root .sd-categories-graph-saved__remove,
#sd-categories-page-root .sd-categories-graph-saved__rename-save,
#sd-categories-page-root .sd-categories-graph-saved__rename-cancel {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-saved__edit:hover,
#sd-categories-page-root .sd-categories-graph-saved__remove:hover,
#sd-categories-page-root .sd-categories-graph-saved__rename-save:hover,
#sd-categories-page-root .sd-categories-graph-saved__rename-cancel:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 7%, transparent);
}
#sd-categories-page-root .sd-categories-graph-saved__edit-icon {
  display: block;
  pointer-events: none;
}
#sd-categories-page-root .sd-categories-graph-saved__rename-input {
  flex: 1;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-graph-side__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 650;
  color: var(--sd-text);
}
#sd-categories-page-root .sd-categories-graph-side__collapse {
  align-self: center;
  margin-left: auto;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-side__collapse:hover {
  background: color-mix(in srgb, var(--sd-text) 7%, transparent);
  color: var(--sd-text);
}
#sd-categories-page-root .sd-categories-graph-side__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 8px 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
#sd-categories-page-root .sd-categories-graph-side__tools {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px 4px 8px;
  flex: 0 0 auto;
}
#sd-categories-page-root .sd-categories-graph-side__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-side__icon-btn:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 7%, transparent);
}
#sd-categories-page-root .sd-categories-graph-side__text-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}
#sd-categories-page-root .sd-categories-graph-side__text-btn:hover {
  color: var(--sd-text);
  background: color-mix(in srgb, var(--sd-text) 7%, transparent);
}
#sd-categories-page-root .sd-categories-graph-side__group {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid color-mix(in srgb, var(--sd-border) 42%, transparent);
}
#sd-categories-page-root .sd-categories-graph-side__group:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
#sd-categories-page-root .sd-categories-graph-side__sec-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sd-muted);
  padding: 10px 8px 6px;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  border-radius: 6px;
}
#sd-categories-page-root .sd-categories-graph-side__sec-btn:hover {
  color: var(--sd-text);
}
#sd-categories-page-root .sd-categories-graph-side__sec-label {
  flex: 1;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-graph-side__sec-chevron {
  flex-shrink: 0;
  opacity: 0.7;
  transform: rotate(90deg);
  transition: transform 0.15s ease;
}
#sd-categories-page-root .sd-categories-graph-side__group.is-collapsed .sd-categories-graph-side__sec-chevron {
  transform: rotate(0deg);
}
#sd-categories-page-root .sd-categories-graph-side__group.is-collapsed > .sd-categories-graph-side__group-body {
  display: none;
}
#sd-categories-page-root .sd-categories-graph-side__group-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 8px 8px;
}
#sd-categories-page-root .sd-categories-graph-side__field {
  font-size: 0.78rem;
  color: var(--sd-muted);
}
#sd-categories-page-root .sd-categories-graph-side__shape-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 8px;
  row-gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-graph-side__shape-block > .sd-categories-graph-side__field {
  align-self: end;
}
#sd-categories-page-root .sd-categories-graph-side__shape-block .sd-categories-multi-cy-select {
  min-width: 0;
  width: 100%;
}
#sd-categories-page-root .sd-categories-graph-side__arrow-toggle {
  display: flex;
  align-items: center;
}
#sd-categories-page-root .sd-categories-graph-side__arrow-label {
  font-size: 0.78rem;
  color: var(--sd-muted);
  line-height: 1.2;
}
#sd-categories-page-root .sd-categories-graph-side__arrow-toggle .sd-categories-browse-toggle {
  display: inline-flex;
}
#sd-categories-page-root .sd-categories-graph-side__color-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-graph-side__weight-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
#sd-categories-page-root .sd-categories-graph-side__weight-row .sd-categories-graph-side__opacity-range {
  flex: 1;
  min-width: 0;
}
#sd-categories-page-root .sd-categories-graph-side__color-swatch {
  flex-shrink: 0;
  width: 36px;
  height: 28px;
  padding: 2px;
  border: 1px solid color-mix(in srgb, var(--sd-border) 70%, transparent);
  border-radius: 6px;
  background: var(--sd-surface);
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-side__color-swatch::-webkit-color-swatch-wrapper {
  padding: 0;
}
#sd-categories-page-root .sd-categories-graph-side__color-swatch::-webkit-color-swatch {
  border: none;
  border-radius: 4px;
}
#sd-categories-page-root .sd-categories-graph-side__color-swatch::-moz-color-swatch {
  border: none;
  border-radius: 4px;
}
#sd-categories-page-root .sd-categories-graph-side__opacity {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
#sd-categories-page-root .sd-categories-graph-side__opacity-range {
  flex: 1;
  min-width: 0;
  height: 4px;
  margin: 0;
  accent-color: var(--sd-accent, #3b82f6);
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-graph-side__opacity-val {
  flex-shrink: 0;
  min-width: 2.5rem;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  color: var(--sd-muted);
  text-align: right;
}
#sd-categories-page-root .sd-categories-graph-side__toggle-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 10px;
  row-gap: 10px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
/* Flatten rows into the parent grid so labels/toggles share one invisible column pair. */
#sd-categories-page-root .sd-categories-graph-side__toggle {
  display: contents;
}
#sd-categories-page-root .sd-categories-graph-side__toggle-label {
  min-width: 0;
  font-size: 0.8125rem;
  line-height: 1.3;
  color: var(--sd-text);
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#sd-categories-page-root .sd-categories-graph-bool-toggle {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  width: auto;
  min-width: 4.5rem;
  max-width: 5.75rem;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  border-radius: 6px;
  background: color-mix(in srgb, var(--sd-bg, #f4f4f5) 88%, var(--sd-surface, #fff));
  box-sizing: border-box;
  isolation: isolate;
  justify-self: end;
}
#sd-categories-page-root .sd-categories-graph-bool-toggle .sd-categories-browse-toggle__btn {
  flex: 1 1 0;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 4px 6px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.15;
  border: none;
  border-radius: 0;
  border-left: 1px solid var(--sd-border, rgba(0, 0, 0, 0.12));
  background: transparent;
  background-clip: padding-box;
  box-shadow: none;
  color: var(--sd-muted, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease;
}
#sd-categories-page-root .sd-categories-graph-bool-toggle .sd-categories-browse-toggle__btn:first-child {
  border-left: none;
}
#sd-categories-page-root .sd-categories-graph-bool-toggle .sd-categories-browse-toggle__btn:hover:not(.sd-categories-browse-toggle__btn--active) {
  color: var(--sd-text, inherit);
  background: color-mix(in srgb, var(--sd-text, #111) 6%, transparent);
}
#sd-categories-page-root .sd-categories-graph-bool-toggle .sd-categories-browse-toggle__btn--active {
  border-color: var(--sd-border, rgba(0, 0, 0, 0.12));
  background: var(--sd-surface, #fff);
  color: var(--sd-text, inherit);
  box-shadow: none;
}
html.theme-dark #sd-categories-page-root .sd-categories-graph-bool-toggle {
  background: color-mix(in srgb, var(--sd-bg, #0f1115) 70%, var(--sd-surface, #1a1d24));
  border-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-categories-page-root .sd-categories-graph-bool-toggle .sd-categories-browse-toggle__btn {
  border-left-color: rgba(255, 255, 255, 0.1);
}
html.theme-dark #sd-categories-page-root .sd-categories-graph-bool-toggle .sd-categories-browse-toggle__btn--active {
  background: color-mix(in srgb, var(--sd-surface, #1a1d24) 92%, white 8%);
  box-shadow: none;
}
#sd-categories-page-root .sd-categories-multi-cy-select {
  width: 100%;
  max-width: none;
  min-width: 0;
  font-size: 0.8125rem;
  padding: 5px 8px;
  height: auto;
  min-height: 32px;
}
#sd-categories-page-root .sd-categories-cy-ctx {
  position: fixed;
  z-index: 10020;
  min-width: 11rem;
  padding: 4px 0;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
html.theme-dark #sd-categories-page-root .sd-categories-cy-ctx {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
#sd-categories-page-root .sd-categories-cy-ctx__item {
  display: block;
  width: 100%;
  padding: 8px 14px;
  border: none;
  background: transparent;
  text-align: left;
  font-size: 0.8125rem;
  color: var(--sd-text);
  cursor: pointer;
}
#sd-categories-page-root .sd-categories-cy-ctx__item:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
}
html.theme-dark #sd-categories-page-root .sd-categories-cy-ctx__item:hover {
  background: rgba(255, 255, 255, 0.06);
}
#sd-categories-page-root .sd-categories-cy-details {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 50;
  max-width: min(360px, 90vw);
  max-height: 45%;
  overflow: auto;
  padding: 12px 36px 12px 12px;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}
#sd-categories-page-root .sd-categories-graph-root:not(.sd-categories-graph-root--side-collapsed) .sd-categories-cy-details {
  right: 12px;
}
#sd-categories-page-root .sd-categories-cy-details__close {
  position: absolute;
  top: 4px;
  right: 6px;
  border: none;
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  color: var(--sd-muted);
}
#sd-categories-page-root .sd-categories-cy-details__row {
  margin-bottom: 6px;
  font-size: 0.8125rem;
  word-break: break-word;
}
#sd-categories-page-root .sd-categories-multi-cy-error {
  padding: 16px;
}
html.theme-dark #sd-categories-page-root .sd-categories-graph-zoom,
html.theme-dark #sd-categories-page-root .sd-categories-graph-nav {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}
html.theme-dark #sd-categories-page-root .sd-categories-graph-nav,
html.theme-path #sd-categories-page-root .sd-categories-graph-nav,
html.theme-greenday #sd-categories-page-root .sd-categories-graph-nav,
html.theme-vintage #sd-categories-page-root .sd-categories-graph-nav {
  background: #00050a;
  border-color: color-mix(in srgb, #94a3b8 35%, transparent);
}

/* Shelf Beta 2: full-width Import / uploads block */
.sd-shelf-beta2-stack {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0;
}
/* Beta 2: upload row sits inside main; align with counts columns; no extra gap before progress */
#sd-u2-page-root .sd-u2-upload-actions.sd-products-actions-row {
  margin-top: 0;
  margin-bottom: 0;
}

.sd-u2-uploads-page {
  position: relative;
}
#sd-u2-page-root.sd-u2-uploads-page {
  display: flex;
  align-items: stretch;
  /* Space between quick-filters aside and main when facet is open; no inset when facet is hidden */
  gap: 14px;
  /* Pull up under .sd-shelf-tabs margin-bottom so facet top can align with search like View tab */
  margin-top: -16px;
}
#sd-u2-page-root .sd-shelf-beta-facet.sd-stores-facet {
  position: static;
  flex: 0 0 min(300px, 88vw);
  width: min(300px, 88vw);
  align-self: stretch;
  min-height: 100%;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  background: color-mix(in srgb, var(--sd-bg) 92%, white 8%);
  z-index: 1;
}
html.theme-dark #sd-u2-page-root .sd-shelf-beta-facet.sd-stores-facet {
  background: color-mix(in srgb, var(--sd-bg) 86%, rgb(255 255 255) 14%);
}
#sd-u2-page-root .sd-shelf-beta-main {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 0;
}
.sd-u2-card-group {
  margin-bottom: 16px;
}
.sd-u2-card-group__title {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px;
}
.sd-u2-card-group .sd-upload-card {
  margin-bottom: 8px;
}
.sd-u2-card-cb-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
/* Beta 2 card view: header row; divider runs edge-to-edge inside the card (matches padded body alignment). */
.sd-upload-card__header--u2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 12px;
  /* Full-bleed header band: cancel .sd-upload-card padding so the border touches both sides */
  margin-left: -12px;
  margin-right: -12px;
  margin-top: -12px;
  margin-bottom: 0;
  padding: 12px 12px 10px;
  border-bottom: 1px solid var(--sd-border);
  box-sizing: border-box;
  /* Match .sd-upload-card border-radius so header fill (e.g. selected) stays rounded at top */
  border-radius: var(--sd-radius) var(--sd-radius) 0 0;
}
.sd-upload-card__header--u2 .sd-upload-card__status-badge {
  max-width: min(100%, 70vw);
}
.sd-upload-card__header-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.sd-upload-card__title-row--u2 {
  display: block;
  margin-bottom: 4px;
}
.sd-upload-card__name-size {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}
.sd-upload-card__name-size .sd-upload-card__name {
  flex: 0 1 auto;
  min-width: 0;
}
.sd-upload-card__name-size .sd-upload-card__size {
  flex: 0 0 auto;
}
.sd-upload-card__footer--u2 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* Beta 2 file card: download + delete bottom-right */
.sd-upload-card__bottom-actions--u2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 8px;
  padding-top: 10px;
}
/* Card grid row stretch: short cards (e.g. manual DPCI) keep delete/actions pinned to bottom-right */
#sd-u2-page-root #sd-u2-cards-root .sd-stores-cards-grid > .sd-upload-card.sd-u2-card {
  height: 100%;
  min-height: 0;
}
#sd-u2-page-root #sd-u2-cards-root .sd-upload-card.sd-u2-card .sd-upload-card__bottom-actions--u2 {
  margin-top: auto;
}
/* Flush select-all toolbar to scroll top (matches Products tab); spacing lives on inner / grid below toolbar. */
#sd-u2-cards-root.sd-shelf-beta-cards-root {
  padding-top: 0;
  padding-bottom: 10px;
  box-sizing: border-box;
}
#sd-u2-page-root .sd-stores-cards-root-inner {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#sd-u2-cards-inner {
  min-width: 0;
  box-sizing: border-box;
}
/* Grouped card sections: gap below toolbar (grid path uses .sd-stores-cards-grid padding-top). */
#sd-u2-cards-inner > .sd-stores-card-groups {
  padding-top: 12px;
}

/* Add tab card view: single-column list strips (match View tab). */
#sd-u2-page-root #sd-u2-cards-root .sd-stores-cards-grid.sd-u2-upload-cards-host {
  grid-template-columns: 1fr;
  gap: 8px;
  padding-top: 12px;
}
#sd-u2-page-root {
  --sd-u2-view-card-thumb-w: 44px;
}
#sd-u2-page-root .sd-u2-upload-list-card.sd-s1-shelf-card {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  overflow: hidden;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
  margin-bottom: 0;
  gap: 0;
}
#sd-u2-page-root .sd-u2-upload-list-card.sd-s1-shelf-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
  background: linear-gradient(0deg, var(--sd-hover-table-cell-bg), var(--sd-hover-table-cell-bg)), var(--sd-surface);
}
#sd-u2-page-root .sd-u2-upload-list-card .sd-s1-shelf-card__select {
  grid-column: 1;
  position: static;
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
#sd-u2-page-root .sd-u2-upload-list-card .sd-s1-shelf-card__select input[type="checkbox"] {
  margin: 0;
}
#sd-u2-page-root .sd-u2-upload-list-card .sd-u2-view-card__strip {
  grid-column: 2;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
#sd-u2-page-root .sd-u2-upload-list-card .sd-s1-shelf-card__menu {
  grid-column: 3;
  border-left: 1px solid var(--sd-border);
  border-radius: 0;
  height: auto;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sd-u2-page-root .sd-u2-upload-list-card.sd-shelf-beta-product-card--selected {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
#sd-u2-page-root .sd-u2-upload-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
#sd-u2-page-root .sd-u2-view-card__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--sd-u2-view-card-thumb-w);
  grid-template-areas:
    "status image"
    "name name";
  gap: 8px 10px;
  width: 100%;
  min-width: 0;
}
#sd-u2-page-root .sd-u2-view-card__lead:not(:has(.sd-u2-view-card__cell--image)) {
  grid-template-columns: 1fr;
  grid-template-areas: "status" "name";
}
#sd-u2-page-root .sd-u2-view-card__cell--status {
  grid-area: status;
  min-width: 0;
}
#sd-u2-page-root .sd-u2-view-card__cell--image {
  grid-area: image;
  justify-self: end;
}
#sd-u2-page-root .sd-u2-view-card__cell--name {
  grid-area: name;
  min-width: 0;
}
#sd-u2-page-root .sd-u2-view-card__thumb {
  display: block;
  width: var(--sd-u2-view-card-thumb-w);
  height: var(--sd-u2-view-card-thumb-w);
  margin: 0;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  background: var(--sd-bg);
  border: 1px solid var(--sd-border);
  cursor: pointer;
  line-height: 0;
  color: inherit;
  text-decoration: none;
  text-align: left;
  font: inherit;
}
#sd-u2-page-root .sd-u2-view-card__thumb:hover {
  text-decoration: none;
}
#sd-u2-page-root .sd-u2-view-card__thumb .sd-product-card__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#sd-u2-page-root .sd-u2-view-card__thumb:focus-visible {
  outline: 2px solid var(--sd-focus, var(--sd-border));
  outline-offset: 2px;
}
#sd-u2-page-root .sd-u2-view-card__title {
  display: block;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.35;
  color: var(--sd-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#sd-u2-page-root .sd-u2-view-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--sd-muted);
  line-height: 1.35;
}
#sd-u2-page-root .sd-u2-view-card__trail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
#sd-u2-page-root .sd-u2-view-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 12px;
  color: var(--sd-text);
}
#sd-u2-page-root .sd-u2-view-card__stats .sd-u2-view-card-stat {
  white-space: nowrap;
}
#sd-u2-page-root .sd-u2-upload-list-card .sd-upload-card__sources {
  margin: 0;
}
#sd-u2-page-root .sd-u2-upload-list-card .sd-upload-card__error {
  margin: 0;
}
@media (min-width: 960px) {
  #sd-u2-page-root .sd-u2-view-card__lead {
    display: contents;
  }
  #sd-u2-page-root .sd-u2-upload-list-card .sd-u2-view-card__strip {
    grid-template-columns:
      minmax(7rem, var(--sd-home-activity-badge-col, 9rem))
      var(--sd-u2-view-card-thumb-w)
      minmax(10rem, 1fr)
      minmax(0, 42%);
    grid-template-areas: "status image name trail";
    column-gap: 12px;
    row-gap: 8px;
    align-items: center;
  }
  #sd-u2-page-root .sd-u2-view-card__lead:not(:has(.sd-u2-view-card__cell--image)) ~ .sd-u2-view-card__trail,
  #sd-u2-page-root .sd-u2-upload-list-card .sd-u2-view-card__strip:not(:has(.sd-u2-view-card__cell--image)) {
    grid-template-columns:
      minmax(7rem, var(--sd-home-activity-badge-col, 9rem))
      minmax(10rem, 1fr)
      minmax(0, 42%);
    grid-template-areas: "status name trail";
  }
  #sd-u2-page-root .sd-u2-view-card__cell--status {
    grid-area: status;
  }
  #sd-u2-page-root .sd-u2-view-card__cell--image {
    grid-area: image;
    justify-self: center;
  }
  #sd-u2-page-root .sd-u2-view-card__cell--name {
    grid-area: name;
  }
  #sd-u2-page-root .sd-u2-view-card__trail {
    grid-area: trail;
  }
}
html.theme-shelfy #sd-u2-page-root .sd-u2-upload-list-card.sd-s1-shelf-card {
  background: #ffffff;
}
html.theme-shelfy #sd-u2-page-root .sd-u2-upload-list-card .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 6%, #ffffff);
}
html.theme-shelfy
  #sd-u2-page-root
  .sd-u2-upload-list-card.sd-shelf-beta-product-card--selected {
  background: color-mix(in srgb, var(--sd-accent) 6%, #ffffff);
}
html.theme-shelfy
  #sd-u2-page-root
  .sd-u2-upload-list-card.sd-shelf-beta-product-card--selected
  .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, #ffffff);
}

/* Legacy Beta 2 multi-column upload cards (unused when list host is present) */
#sd-u2-page-root #sd-u2-cards-root .sd-stores-cards-grid:not(.sd-u2-upload-cards-host) {
  grid-template-columns: repeat(
    auto-fill,
    minmax(min(100%, max(220px, calc((100% - 36px) / 4))), 1fr)
  );
}

/* Beta 2 card view: row hover + header tint when selected (match Products / Beta product cards) */
#sd-u2-page-root #sd-u2-cards-root .sd-upload-card.sd-u2-file-card--selectable:hover {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02)), var(--sd-surface);
}
html.theme-dark #sd-u2-page-root #sd-u2-cards-root .sd-upload-card.sd-u2-file-card--selectable:hover {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03)), var(--sd-surface);
}
/* Selected card header: neutral gray (theme tokens), not accent tint */
#sd-u2-page-root #sd-u2-cards-root .sd-upload-card.sd-u2-file-card--selectable:has(.sd-u2-row-cb:checked) > .sd-upload-card__header--u2 {
  background: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
}
html.theme-dark
  #sd-u2-page-root
  #sd-u2-cards-root
  .sd-upload-card.sd-u2-file-card--selectable:has(.sd-u2-row-cb:checked)
  > .sd-upload-card__header--u2 {
  background: color-mix(in srgb, var(--sd-text) 12%, var(--sd-surface));
}
.sd-u2-facet-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.sd-u2-in-checks {
  max-height: 220px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Shelf details ? Beta tab: stores layout + product cards */
#sd-sb-page-root {
  position: relative;
}
.sd-shelf-beta-product-card--selectable {
  position: relative;
}
/* View tab cards: checkbox | horizontal table-like strip | ? menu. */
#sd-sb-page-root {
  --sd-sb-view-card-thumb-w: 44px;
  --sd-sb-view-stat-col-dpci: 12ch;
  --sd-sb-view-stat-col-store: 4ch;
  --sd-sb-view-stat-col-aisle: 5ch;
  --sd-sb-view-stat-col-facing: 10ch;
  --sd-sb-view-card-media-annotated-min: 5.5rem;
  --sd-sb-view-card-media-filename-min: 6.5rem;
  --sd-sb-view-card-filename-w: 12rem;
  /* Cap title + dept/category/brand so annotated/sources trail stays in view */
  --sd-sb-view-card-name-max: 18rem;
}
#sd-sb-page-root .sd-sb-product-cards-host {
  gap: 8px;
  padding-top: 12px;
}
#sd-sb-page-root .sd-sb-product-list-card.sd-s1-shelf-card {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  overflow: hidden;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
}
#sd-sb-page-root .sd-sb-product-list-card.sd-s1-shelf-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
#sd-sb-page-root .sd-sb-product-list-card .sd-s1-shelf-card__select {
  grid-column: 1;
  position: static;
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
#sd-sb-page-root .sd-sb-product-list-card .sd-s1-shelf-card__select input[type="checkbox"] {
  margin: 0;
}
#sd-sb-page-root .sd-sb-product-list-card .sd-sb-view-card__strip.sd-sb-product-card__hit {
  grid-column: 2;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px 12px;
  cursor: pointer;
  text-align: left;
  color: inherit;
  background: transparent;
  border: none;
  appearance: none;
  font: inherit;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
#sd-sb-page-root .sd-sb-product-list-card .sd-sb-product-card__hit:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: -2px;
}
/* Lead: status + thumb on row 1, title full width on row 2 */
#sd-sb-page-root .sd-sb-view-card__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--sd-sb-view-card-thumb-w);
  grid-template-areas:
    "status image"
    "name name";
  gap: 8px 10px;
  width: 100%;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__lead:not(:has(.sd-sb-view-card__cell--status)) {
  grid-template-areas: "name image";
}
#sd-sb-page-root .sd-sb-view-card__lead:not(:has(.sd-sb-view-card__cell--image)) {
  grid-template-columns: 1fr;
  grid-template-areas: "status" "name";
}
#sd-sb-page-root .sd-sb-view-card__lead:not(:has(.sd-sb-view-card__cell--status)):not(:has(.sd-sb-view-card__cell--image)) {
  grid-template-areas: "name";
}
#sd-sb-page-root .sd-sb-view-card__cell--status {
  grid-area: status;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__status-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
#sd-sb-page-root .sd-sb-view-card__rerunning {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--sd-muted);
}
#sd-sb-page-root .sd-stores-tr .sd-sb-view-card__status-stack {
  align-items: flex-start;
}
#sd-sb-page-root .sd-sb-view-card__cell--image {
  grid-area: image;
  justify-self: end;
}
#sd-sb-page-root .sd-sb-view-card__cell--name {
  grid-area: name;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__cell {
  min-width: 0;
  max-width: 100%;
}
/* Tail: media block + optional spec fields */
#sd-sb-page-root .sd-sb-view-card__tail {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__tail:empty {
  display: none;
}
#sd-sb-page-root .sd-sb-view-card__trail {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__trail:empty {
  display: none;
}
#sd-sb-page-root .sd-sb-view-card__field-hdr {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
  white-space: nowrap;
}
#sd-sb-page-root .sd-sb-view-card__media {
  display: grid;
  grid-template-columns: max-content var(--sd-sb-view-card-filename-w);
  gap: 8px 14px;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border-left: 1px solid var(--sd-border);
  padding-left: 12px;
  align-items: start;
}
#sd-sb-page-root .sd-sb-view-card__media-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__media-col--image {
  min-width: max(var(--sd-sb-view-card-thumb-w), var(--sd-sb-view-card-media-annotated-min));
  flex-shrink: 0;
}
#sd-sb-page-root .sd-sb-view-card__media-col--filename {
  width: var(--sd-sb-view-card-filename-w);
  max-width: var(--sd-sb-view-card-filename-w);
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__media-val {
  min-width: 0;
  max-width: 100%;
}
#sd-sb-page-root .sd-sb-view-card__filename {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--sd-muted);
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}
#sd-sb-page-root .sd-sb-view-card__filename-line {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  text-overflow: clip;
  overflow: visible;
}
#sd-sb-page-root .sd-sb-view-card__cell--media {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card__cell--spec {
  width: 100%;
}
/* Match Shelves page card title (.sd-home-activity-row__title); no link underline on hover */
#sd-sb-page-root .sd-sb-view-card__cell--name .sd-home-activity-row__title,
#sd-sb-page-root .sd-sb-view-card__title,
#sd-sb-page-root .sd-sb-view-card__title-link,
#sd-sb-page-root .sd-sb-product-list-card .sd-product-card__title-link.sd-sb-view-card__title-link {
  display: block;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.35;
  color: var(--sd-text);
  text-decoration: none;
  overflow-wrap: anywhere;
}
#sd-sb-page-root .sd-sb-view-card__title-link:hover,
#sd-sb-page-root .sd-sb-view-card__title-link:focus,
#sd-sb-page-root .sd-sb-view-card__title-link:focus-visible,
#sd-sb-page-root .sd-sb-view-card__title-link:active,
#sd-sb-page-root .sd-sb-product-list-card .sd-product-card__title-link.sd-sb-view-card__title-link:hover,
#sd-sb-page-root .sd-sb-product-list-card .sd-product-card__title-link.sd-sb-view-card__title-link:focus,
#sd-sb-page-root .sd-sb-product-list-card .sd-product-card__title-link.sd-sb-view-card__title-link:focus-visible,
#sd-sb-page-root .sd-sb-product-list-card .sd-product-card__title-link.sd-sb-view-card__title-link:active {
  color: var(--sd-text);
  text-decoration: none;
}
#sd-sb-page-root .sd-sb-view-card__meta {
  display: block;
  margin-top: 4px;
}
#sd-sb-page-root .sd-sb-view-card__meta-line {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--sd-muted);
}
#sd-sb-page-root .sd-sb-view-card__meta-line .sd-product-card__ids-label {
  color: var(--sd-muted);
}
#sd-sb-page-root .sd-sb-view-card__cell--centered {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#sd-sb-page-root .sd-sb-view-card__cell--status .sd-product-card__status-badge {
  white-space: nowrap;
  max-width: none;
  /* Half the default horizontal padding (4px 10px) */
  padding-left: 5px;
  padding-right: 5px;
}
#sd-sb-page-root .sd-sb-view-card__cell--stats {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
#sd-sb-page-root .sd-sb-view-card__stats.sd-home-activity-row__stats {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  grid-template-columns: 1fr;
  margin: 0;
}
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat {
  border-right: none;
  border-bottom: 1px solid var(--sd-border);
}
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat:last-child {
  border-bottom: none;
}
#sd-sb-page-root .sd-sb-view-card-stat--dpci {
  grid-column: 1;
  min-width: var(--sd-sb-view-stat-col-dpci);
}
#sd-sb-page-root .sd-sb-view-card-stat--dpci .sd-home-activity-stat__lbl {
  overflow: visible;
  text-overflow: unset;
}
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat__val {
  font-size: 16px;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  line-height: 1.25;
  max-width: 100%;
}
#sd-sb-page-root .sd-sb-view-card-stat--store {
  min-width: var(--sd-sb-view-stat-col-store);
}
#sd-sb-page-root .sd-sb-view-card-stat--aisle {
  min-width: var(--sd-sb-view-stat-col-aisle);
}
#sd-sb-page-root .sd-sb-view-card-stat--facing {
  min-width: var(--sd-sb-view-stat-col-facing);
}
#sd-sb-page-root .sd-sb-view-card-stat__val--copy {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 4px;
  max-width: 100%;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-view-card-stat__text {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}
#sd-sb-page-root .sd-sb-view-card-stat__text--placeholder {
  display: inline-block;
  white-space: pre;
  font-variant-numeric: tabular-nums;
}
#sd-sb-page-root .sd-sb-view-card-stat--aisle .sd-sb-view-card-stat__text--placeholder {
  min-width: 3ch;
}
#sd-sb-page-root .sd-sb-view-card-stat--facing .sd-sb-view-card-stat__text--placeholder {
  min-width: 9ch;
}
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat .sd-sb-dpci-copy-btn {
  flex-shrink: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease;
}
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat:hover .sd-sb-dpci-copy-btn,
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat:focus-within .sd-sb-dpci-copy-btn {
  opacity: 1;
  pointer-events: auto;
}
#sd-sb-page-root .sd-sb-view-card__cell--spec {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (min-width: 640px) {
#sd-sb-page-root .sd-sb-view-card__stats.sd-home-activity-row__stats {
    grid-template-columns:
      minmax(var(--sd-sb-view-stat-col-dpci), max-content)
      minmax(var(--sd-sb-view-stat-col-store), max-content)
      minmax(var(--sd-sb-view-stat-col-aisle), max-content)
      minmax(var(--sd-sb-view-stat-col-facing), max-content);
    width: max-content;
    max-width: 100%;
  }
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat {
    border-bottom: none;
    border-right: 1px solid var(--sd-border);
  }
#sd-sb-page-root .sd-sb-view-card__stats .sd-home-activity-stat:last-child {
    border-right: none;
  }
}
/* Desktop: title flexes; stats + media grouped in trail on the right */
@media (min-width: 960px) {
#sd-sb-page-root .sd-sb-view-card__lead {
    display: contents;
  }
#sd-sb-page-root .sd-sb-product-list-card .sd-sb-view-card__strip.sd-sb-product-card__hit {
    grid-template-columns:
      max-content
      var(--sd-sb-view-card-thumb-w)
      minmax(8rem, var(--sd-sb-view-card-name-max))
      minmax(0, 1fr);
    grid-template-areas: "status image name trail";
    column-gap: 12px;
    row-gap: 8px;
    align-items: center;
  }
#sd-sb-page-root .sd-sb-view-card__cell--status {
    grid-area: status;
    justify-content: flex-start;
  }
#sd-sb-page-root .sd-sb-view-card__cell--image {
    grid-area: image;
    justify-self: center;
  }
#sd-sb-page-root .sd-sb-view-card__cell--name {
    grid-area: name;
    max-width: var(--sd-sb-view-card-name-max);
    min-width: 0;
  }
#sd-sb-page-root .sd-sb-view-card__trail {
    grid-area: trail;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: end;
  }
#sd-sb-page-root .sd-sb-view-card__trail .sd-sb-view-card__tail {
    display: contents;
  }
#sd-sb-page-root .sd-sb-view-card__trail .sd-sb-view-card__cell--stats {
    grid-column: 1;
    width: max-content;
    max-width: none;
    min-width: max-content;
  }
#sd-sb-page-root .sd-sb-view-card__trail .sd-sb-view-card__cell--media {
    grid-column: 2;
    min-width: 0;
    max-width: 100%;
    width: auto;
  }
#sd-sb-page-root .sd-sb-view-card__trail .sd-sb-view-card__media {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: max-content minmax(var(--sd-sb-view-card-media-filename-min), 1fr);
  }
#sd-sb-page-root .sd-sb-view-card__trail .sd-sb-view-card__media-col--filename {
    width: auto;
    max-width: 100%;
    min-width: 0;
  }
#sd-sb-page-root .sd-sb-view-card__trail .sd-sb-view-card__cell--spec {
    width: 100%;
  }
#sd-sb-page-root .sd-sb-view-card__cell--spec {
    grid-column: name / -1;
    grid-row: 2;
  }
}
#sd-sb-page-root .sd-sb-product-list-card .sd-s1-shelf-card__menu {
  grid-column: 3;
  border-left: 1px solid var(--sd-border);
}
#sd-sb-page-root .sd-sb-product-list-card.sd-shelf-beta-product-card--selected {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
#sd-sb-page-root .sd-sb-product-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
#sd-sb-page-root .sd-sb-product-list-card .sd-sb-view-card__stats.sd-home-activity-row__stats,
#sd-sb-page-root .sd-sb-product-list-card .sd-sb-view-card__stats .sd-home-activity-stat {
  background: transparent;
}
.sd-sb-card-cb-wrap {
  position: static;
  z-index: 3;
}
.sd-shelf-beta-main {
  min-width: 0;
}
/* Same vertical margin above and below the status count cards; toolbar sits flush under (no double gap). */
#sd-sb-page-root .sd-shelf-beta-counts-panel,
#sd-u2-page-root .sd-shelf-beta-counts-panel {
  margin-top: 8px;
  margin-bottom: 8px;
}
/*
 * Shelf details View + Add count cards: Overview first-row KPI strip
 * (shared bordered card, icon + value + label, vertical dividers).
 */
#sd-sb-page-root .sd-sb-counts-panel,
#sd-u2-page-root .sd-u2-counts-panel {
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: stretch;
}
#sd-sb-page-root .sd-sb-counts-summary-card,
#sd-u2-page-root .sd-u2-counts-summary-card {
  --sd-shelf-kpi-hover-bg: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
  --sd-shelf-kpi-active-bg: color-mix(in srgb, var(--sd-accent) 17%, var(--sd-surface));
  --sd-shelf-kpi-active-hover-bg: color-mix(in srgb, var(--sd-accent) 23%, var(--sd-surface));
  --sd-shelf-kpi-1-fg: var(--sd-overview-bar-1);
  --sd-shelf-kpi-1-bg: color-mix(in srgb, var(--sd-overview-bar-1) 14%, var(--sd-surface));
  --sd-shelf-kpi-2-fg: var(--sd-overview-imports-fg, #3b82f6);
  --sd-shelf-kpi-2-bg: var(--sd-overview-imports-bg);
  --sd-shelf-kpi-3-fg: var(--sd-overview-bar-3);
  --sd-shelf-kpi-3-bg: color-mix(in srgb, var(--sd-overview-bar-3) 16%, var(--sd-surface));
  --sd-shelf-kpi-4-fg: var(--sd-overview-products-fg, #a855f7);
  --sd-shelf-kpi-4-bg: var(--sd-overview-products-bg);
  --sd-shelf-kpi-5-fg: var(--sd-overview-bar-1);
  --sd-shelf-kpi-5-bg: color-mix(in srgb, var(--sd-overview-bar-1) 12%, var(--sd-surface));
  --sd-shelf-kpi-6-fg: var(--sd-overview-bar-3);
  --sd-shelf-kpi-6-bg: color-mix(in srgb, var(--sd-overview-bar-3) 14%, var(--sd-surface));
  --sd-shelf-kpi-7-fg: var(--sd-overview-imports-fg, #2563eb);
  --sd-shelf-kpi-7-bg: color-mix(in srgb, var(--sd-overview-imports-fg, #2563eb) 14%, var(--sd-surface));
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  background: var(--sd-surface);
  box-shadow: var(--sd-shadow);
  overflow: hidden;
}
html.theme-shelfy #sd-sb-page-root .sd-sb-counts-summary-card,
html.theme-shelfy #sd-u2-page-root .sd-u2-counts-summary-card {
  background: #ffffff;
  --sd-shelf-kpi-hover-bg: color-mix(in srgb, var(--sd-muted) 6%, #ffffff);
  --sd-shelf-kpi-active-bg: color-mix(in srgb, var(--sd-accent) 19%, #ffffff);
  --sd-shelf-kpi-active-hover-bg: color-mix(in srgb, var(--sd-accent-hover) 25%, #ffffff);
}
html.theme-dark #sd-sb-page-root .sd-sb-counts-summary-card,
html.theme-dark #sd-u2-page-root .sd-u2-counts-summary-card {
  --sd-shelf-kpi-hover-bg: color-mix(in srgb, var(--sd-text) 9%, var(--sd-surface));
  --sd-shelf-kpi-active-bg: color-mix(in srgb, var(--sd-accent) 30%, var(--sd-surface));
  --sd-shelf-kpi-active-hover-bg: color-mix(in srgb, var(--sd-accent-hover) 38%, var(--sd-surface));
}
#sd-sb-page-root .sd-sb-counts-kpis,
#sd-u2-page-root .sd-u2-counts-kpis {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  flex: 1 1 0;
  min-width: 132px;
  padding: 14px 16px;
  border: none;
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  color: var(--sd-text);
  text-align: left;
  line-height: 1.2;
  box-sizing: border-box;
  transition: background 0.15s ease;
}
/* `display: inline-flex` above must not win over [hidden] (e.g. DPCI Found on View). */
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card[hidden],
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card[hidden] {
  display: none !important;
}
#sd-sb-page-root .sd-sb-counts-kpis > .sd-sb-count-kpi.sd-uploads-status-card:last-child,
#sd-u2-page-root .sd-u2-counts-kpis > .sd-u2-count-kpi.sd-uploads-status-card:last-child {
  border-right: none;
}
#sd-sb-page-root .sd-sb-count-kpi__icon,
#sd-u2-page-root .sd-u2-count-kpi__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: color-mix(in srgb, var(--sd-accent) 14%, var(--sd-surface));
  color: var(--sd-accent);
  box-sizing: border-box;
}
#sd-sb-page-root .sd-sb-count-kpi__icon svg,
#sd-u2-page-root .sd-u2-count-kpi__icon svg {
  width: 17px;
  height: 17px;
}
#sd-sb-page-root .sd-sb-count-kpi--queued .sd-sb-count-kpi__icon,
#sd-u2-page-root .sd-u2-count-kpi--queued .sd-u2-count-kpi__icon {
  background: var(--sd-shelf-kpi-1-bg);
  color: var(--sd-shelf-kpi-1-fg);
}
#sd-sb-page-root .sd-sb-count-kpi--dpci .sd-sb-count-kpi__icon,
#sd-u2-page-root .sd-u2-count-kpi--processing .sd-u2-count-kpi__icon {
  background: var(--sd-shelf-kpi-2-bg);
  color: var(--sd-shelf-kpi-2-fg);
}
#sd-sb-page-root .sd-sb-count-kpi--no-tcin .sd-sb-count-kpi__icon,
#sd-u2-page-root .sd-u2-count-kpi--no-products .sd-u2-count-kpi__icon {
  background: var(--sd-shelf-kpi-3-bg);
  color: var(--sd-shelf-kpi-3-fg);
}
#sd-sb-page-root .sd-sb-count-kpi--tcin .sd-sb-count-kpi__icon,
#sd-u2-page-root .sd-u2-count-kpi--products .sd-u2-count-kpi__icon {
  background: var(--sd-shelf-kpi-4-bg);
  color: var(--sd-shelf-kpi-4-fg);
}
#sd-sb-page-root .sd-sb-count-kpi--collecting .sd-sb-count-kpi__icon {
  background: var(--sd-shelf-kpi-5-bg);
  color: var(--sd-shelf-kpi-5-fg);
}
#sd-sb-page-root .sd-sb-count-kpi--missing .sd-sb-count-kpi__icon {
  background: var(--sd-shelf-kpi-6-bg);
  color: var(--sd-shelf-kpi-6-fg);
}
#sd-sb-page-root .sd-sb-count-kpi--complete .sd-sb-count-kpi__icon {
  background: var(--sd-shelf-kpi-7-bg);
  color: var(--sd-shelf-kpi-7-fg);
}
#sd-sb-page-root .sd-sb-count-kpi__copy,
#sd-u2-page-root .sd-u2-count-kpi__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-sb-page-root .sd-sb-count-kpi .sd-uploads-status-card__num,
#sd-u2-page-root .sd-u2-count-kpi .sd-uploads-status-card__num {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--sd-text);
  white-space: nowrap;
}
#sd-sb-page-root .sd-sb-count-kpi .sd-uploads-status-card__label,
#sd-u2-page-root .sd-u2-count-kpi .sd-uploads-status-card__label {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--sd-muted);
  margin-top: 0;
  text-align: left;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--zero,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--zero {
  opacity: 1;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--zero .sd-uploads-status-card__num,
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--zero .sd-uploads-status-card__label,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--zero .sd-uploads-status-card__num,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--zero .sd-uploads-status-card__label {
  color: var(--sd-muted);
  font-weight: 500;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card:not(.sd-uploads-status-card--zero) .sd-uploads-status-card__num,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card:not(.sd-uploads-status-card--zero) .sd-uploads-status-card__num {
  color: var(--sd-text);
  font-weight: 700;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--clickable:hover,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--clickable:hover {
  opacity: 1;
  border-color: transparent;
  border-right-color: var(--sd-border);
  background: var(--sd-shelf-kpi-hover-bg);
  box-shadow: none;
}
#sd-sb-page-root .sd-sb-counts-kpis > .sd-sb-count-kpi.sd-uploads-status-card--clickable:last-child:hover,
#sd-u2-page-root .sd-u2-counts-kpis > .sd-u2-count-kpi.sd-uploads-status-card--clickable:last-child:hover {
  border-right: none;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--active,
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--active:hover,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--active,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--active:hover {
  border-color: transparent;
  border-right-color: var(--sd-border);
  background: var(--sd-shelf-kpi-active-bg);
  box-shadow: none;
}
#sd-sb-page-root .sd-sb-counts-kpis > .sd-sb-count-kpi.sd-uploads-status-card--active:last-child,
#sd-sb-page-root .sd-sb-counts-kpis > .sd-sb-count-kpi.sd-uploads-status-card--active:last-child:hover,
#sd-u2-page-root .sd-u2-counts-kpis > .sd-u2-count-kpi.sd-uploads-status-card--active:last-child,
#sd-u2-page-root .sd-u2-counts-kpis > .sd-u2-count-kpi.sd-uploads-status-card--active:last-child:hover {
  border-right: none;
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--active:hover,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--active:hover {
  background: var(--sd-shelf-kpi-active-hover-bg);
}
#sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card--clickable:focus-visible,
#sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card--clickable:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: -4px;
}
@media (max-width: 1100px) {
  #sd-sb-page-root .sd-sb-count-kpi.sd-uploads-status-card {
    min-width: 118px;
    padding: 12px 12px;
    gap: 8px;
  }
}
@media (max-width: 900px) {
  #sd-u2-page-root .sd-u2-counts-kpis {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  #sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card {
    flex: 1 1 calc(50% - 1px);
    min-width: 140px;
  }
  #sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card:nth-child(2) {
    border-right: none;
  }
  #sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card:nth-child(1),
  #sd-u2-page-root .sd-u2-count-kpi.sd-uploads-status-card:nth-child(2) {
    border-bottom: 1px solid var(--sd-border);
  }
}
/* .sd-products-actions-row sets display:flex; must win over [hidden] or the panel stays visible */
#sd-sb-page-root #sd-sb-counts-panel[hidden],
#sd-u2-page-root #sd-u2-counts-panel[hidden] {
  display: none !important;
}
/* When counts are hidden, restore top spacing so it matches toolbar?chips gap (8px below search) */
#sd-sb-page-root #sd-sb-counts-panel[hidden] + .sd-toolbar--shelf-beta,
#sd-u2-page-root #sd-u2-counts-panel[hidden] + .sd-toolbar--shelf-beta {
  margin-top: 8px;
}
#sd-sb-page-root .sd-toolbar--shelf-beta,
#sd-u2-page-root .sd-toolbar--shelf-beta {
  margin-top: 0;
  margin-bottom: 0;
}
#sd-sb-page-root .sd-stores-filter-chips:not(:empty),
#sd-u2-page-root .sd-stores-filter-chips:not(:empty) {
  margin-top: 0;
}
/* Avoid stacking chips margin-bottom + table-head padding-top (was 8px + 8px vs search?chips 8px). */
#sd-sb-page-root .sd-stores-filter-chips,
#sd-u2-page-root .sd-stores-filter-chips {
  margin-bottom: 0;
}
#sd-sb-page-root #sd-sb-count,
#sd-u2-page-root #sd-u2-count {
  padding-left: 10px;
}
/* "Page 1 / N" ? same as #sd-stores-page-root: inset pager from the right edge */
#sd-sb-page-root .sd-stores-table-head > .sd-stores-table-head__tools,
#sd-u2-page-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
/*
 * Spacing below the count/pager row before the bordered table (tools live under search like Stores).
 */
#sd-sb-page-root .sd-stores-table-head,
#sd-u2-page-root .sd-stores-table-head {
  margin-top: 0;
  margin-bottom: 8px;
  padding-top: 8px;
  padding-bottom: 0;
}
/* View + Add tabs: no band behind shown/selected count + page label (match Stores). */
#sd-sb-page-root .sd-stores-table-head,
#sd-u2-page-root .sd-stores-table-head {
  background: transparent;
}

/*
 * View + Add tab split table: match Stores — keep vertical scroll under the header, allow the
 * shared hsync horizontal scroll when columns exceed the viewport (do not crush cells),
 * and prevent card view from expanding past the shell.
 */
#sd-sb-page-root .sd-stores-table-scroll-shell .sd-stores-table-split,
#sd-u2-page-root .sd-stores-table-scroll-shell .sd-stores-table-split {
  overflow: hidden;
}
#sd-sb-page-root .sd-stores-table-scroll-shell .sd-stores-table-hsync,
#sd-u2-page-root .sd-stores-table-scroll-shell .sd-stores-table-hsync {
  min-width: 0;
}
#sd-sb-page-root .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap,
#sd-u2-page-root .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap {
  min-width: 0;
}
#sd-sb-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll,
#sd-u2-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll {
  min-width: 0;
}

/*
 * Products inventory page: View-style core list chrome (no pipeline cards / drawer).
 * Match Stores spacing for toolbar / chips / count row.
 */
#sd-prod-page-root .sd-stores-table-scroll-shell .sd-stores-table-split {
  overflow: hidden;
  min-width: 0;
}
#sd-prod-page-root .sd-stores-table-scroll-shell .sd-stores-table-hsync {
  min-width: 0;
}
#sd-prod-page-root .sd-stores-table-scroll-shell .sd-stores-table-thead-wrap {
  min-width: 0;
}
#sd-prod-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll {
  min-width: 0;
}
#sd-prod-page-root #sd-prod-count {
  padding-left: 10px;
}
#sd-prod-page-root .sd-stores-table--grouped tbody tr.sd-stores-tr.sd-stores-group-row > td.sd-stores-table__td-select,
#sd-prod-page-root .sd-stores-table--grouped tbody tr.sd-stores-tr.sd-stores-group-row td.sd-stores-group-row__td {
  vertical-align: middle;
}
#sd-prod-page-root .sd-stores-table--grouped tbody tr.sd-stores-group-row .sd-stores-group-row__cell {
  padding-left: 0;
  padding-right: 12px;
}
#sd-prod-page-root .sd-stores-table--grouped tr.sd-stores-group-row .sd-stores-group-toggle {
  flex-shrink: 0;
}
#sd-prod-page-root .sd-stores-table--grouped tr.sd-stores-group-row .sd-stores-group-chevron {
  display: inline-block;
  transform-origin: 50% 55%;
}
#sd-prod-page-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-prod-page-root .sd-stores-filter-chips.sd-stores-filter-chips--primary,
#sd-prod-page-root .sd-stores-filter-chips.sd-stores-filter-chips--rest {
  margin-bottom: 0;
}
#sd-prod-page-root .sd-stores-table-head {
  padding-top: 0;
  border-top: none;
  background: transparent;
}
#sd-prod-page-root #sd-prod-table tbody tr.sd-prod-table-empty td {
  text-align: center;
  padding: 28px 16px 36px;
  vertical-align: middle;
  background: var(--sd-surface);
}
#sd-prod-page-root .sd-product-card.sd-stores-card {
  position: relative;
}
/* Products page card view ? match shelf View tab list cards */
#sd-prod-page-root {
  --sd-sb-view-card-thumb-w: 44px;
  --sd-sb-view-stat-col-dpci: 12ch;
  --sd-sb-view-stat-col-tcin: 12ch;
  --sd-sb-view-stat-col-lastSeen: 14ch;
  --sd-sb-view-card-name-max: 18rem;
}
#sd-prod-page-root .sd-prod-product-cards-host {
  gap: 8px;
  padding-top: 12px;
}
#sd-prod-page-root .sd-prod-list-card.sd-s1-shelf-card {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
  cursor: default;
  position: relative;
}
#sd-prod-page-root .sd-prod-list-card.sd-s1-shelf-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
#sd-prod-page-root .sd-prod-list-card .sd-s1-shelf-card__select {
  grid-column: 1;
  position: static;
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
#sd-prod-page-root .sd-prod-list-card .sd-s1-shelf-card__select input[type="checkbox"] {
  margin: 0;
}
#sd-prod-page-root .sd-prod-list-card .sd-sb-view-card__strip {
  grid-column: 2;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px 12px;
  color: inherit;
  background: transparent;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
#sd-prod-page-root .sd-sb-view-card__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--sd-sb-view-card-thumb-w);
  grid-template-areas: "name image";
  gap: 8px 10px;
  width: 100%;
  min-width: 0;
}
#sd-prod-page-root .sd-sb-view-card__cell--image {
  grid-area: image;
  justify-self: end;
}
#sd-prod-page-root .sd-sb-view-card__cell--name {
  grid-area: name;
  min-width: 0;
}
#sd-prod-page-root .sd-sb-view-card__cell {
  min-width: 0;
  max-width: 100%;
}
#sd-prod-page-root .sd-sb-view-card__trail {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
}
#sd-prod-page-root .sd-sb-view-card__cell--name .sd-home-activity-row__title,
#sd-prod-page-root .sd-sb-view-card__title {
  display: block;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.35;
  color: var(--sd-text);
  text-decoration: none;
  overflow-wrap: anywhere;
}
#sd-prod-page-root .sd-sb-view-card__meta {
  display: block;
  margin-top: 4px;
}
#sd-prod-page-root .sd-sb-view-card__meta-line {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--sd-muted);
}
#sd-prod-page-root .sd-sb-view-card__meta-line .sd-product-card__ids-label {
  color: var(--sd-muted);
}
#sd-prod-page-root .sd-sb-view-card__cell--stats {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
#sd-prod-page-root .sd-sb-view-card__stats.sd-home-activity-row__stats {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  grid-template-columns: 1fr;
  margin: 0;
}
#sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat {
  border-right: none;
  border-bottom: 1px solid var(--sd-border);
}
#sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat:last-child {
  border-bottom: none;
}
#sd-prod-page-root .sd-sb-view-card-stat--tcin,
#sd-prod-page-root .sd-sb-view-card-stat--dpci {
  min-width: var(--sd-sb-view-stat-col-dpci);
}
#sd-prod-page-root .sd-sb-view-card-stat--lastSeen {
  min-width: var(--sd-sb-view-stat-col-lastSeen);
}
#sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat__val {
  font-size: 16px;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  line-height: 1.25;
  max-width: 100%;
}
#sd-prod-page-root .sd-sb-view-card-stat__val--copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
#sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat .sd-sb-dpci-copy-btn {
  flex-shrink: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease;
}
#sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat:hover .sd-sb-dpci-copy-btn,
#sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat:focus-within .sd-sb-dpci-copy-btn {
  opacity: 1;
  pointer-events: auto;
}
#sd-prod-page-root .sd-sb-dpci-copy-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
}
#sd-prod-page-root .sd-sb-dpci-copy-btn:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
html.theme-dark #sd-prod-page-root .sd-sb-dpci-copy-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
#sd-prod-page-root .sd-sb-dpci-copy-btn:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
#sd-prod-page-root .sd-prod-list-card .sd-sb-table__thumb-wrap {
  display: inline-flex;
  width: var(--sd-sb-view-card-thumb-w);
  height: var(--sd-sb-view-card-thumb-w);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 6px;
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-surface));
}
#sd-prod-page-root .sd-prod-list-card .sd-sb-table__thumb-wrap .sd-product-card__thumb-img,
#sd-prod-page-root .sd-prod-list-card .sd-sb-table__thumb-wrap .sd-stores-table__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* Match shelf details View table product thumbs (40?40) */
#sd-prod-page-root #sd-prod-table .sd-sb-table__thumb-wrap {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 6px;
}
#sd-prod-page-root #sd-prod-table .sd-sb-table__thumb-wrap .sd-stores-table__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#sd-prod-page-root #sd-prod-table .sd-sb-table__thumb-wrap--failed,
#sd-prod-page-root #sd-prod-table .sd-sb-thumb-placeholder {
  min-height: 40px;
}
#sd-prod-page-root .sd-prod-list-card.sd-shelf-beta-product-card--selected {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
#sd-prod-page-root .sd-prod-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
html.theme-shelfy #sd-prod-page-root .sd-prod-list-card.sd-s1-shelf-card {
  background: var(--sd-surface);
}
html.theme-shelfy #sd-prod-page-root .sd-prod-list-card .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
html.theme-shelfy #sd-prod-page-root .sd-prod-list-card.sd-shelf-beta-product-card--selected {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
html.theme-shelfy #sd-prod-page-root .sd-prod-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
@media (min-width: 640px) {
  #sd-prod-page-root .sd-sb-view-card__stats.sd-home-activity-row__stats {
    grid-template-columns:
      minmax(var(--sd-sb-view-stat-col-tcin), max-content)
      minmax(var(--sd-sb-view-stat-col-dpci), max-content)
      minmax(var(--sd-sb-view-stat-col-lastSeen), max-content);
    width: max-content;
    max-width: 100%;
  }
  #sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat {
    border-bottom: none;
    border-right: 1px solid var(--sd-border);
  }
  #sd-prod-page-root .sd-sb-view-card__stats .sd-home-activity-stat:last-child {
    border-right: none;
  }
}
@media (min-width: 960px) {
  #sd-prod-page-root .sd-sb-view-card__lead {
    display: contents;
  }
  #sd-prod-page-root .sd-prod-list-card .sd-sb-view-card__strip {
    grid-template-columns:
      var(--sd-sb-view-card-thumb-w)
      minmax(8rem, var(--sd-sb-view-card-name-max))
      minmax(0, 1fr);
    grid-template-areas: "image name trail";
    column-gap: 12px;
    row-gap: 8px;
    align-items: center;
  }
  #sd-prod-page-root .sd-sb-view-card__cell--image {
    grid-area: image;
    justify-self: center;
  }
  #sd-prod-page-root .sd-sb-view-card__cell--name {
    grid-area: name;
    max-width: var(--sd-sb-view-card-name-max);
    min-width: 0;
  }
  #sd-prod-page-root .sd-sb-view-card__trail {
    grid-area: trail;
    display: grid;
    grid-template-columns: max-content;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: end;
  }
  #sd-prod-page-root .sd-sb-view-card__trail .sd-sb-view-card__cell--stats {
    width: max-content;
    max-width: none;
    min-width: max-content;
  }
}

/* Let split tables size from colgroup (same as Shelves); do not force 100% or body-only min-widths. */
#sd-sb-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-stores-table-thead-wrap .sd-stores-table,
#sd-sb-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll .sd-stores-table,
#sd-u2-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-stores-table-thead-wrap .sd-stores-table,
#sd-u2-page-root .sd-stores-table-scroll-shell .sd-stores-table-split .sd-table-wrap.sd-stores-table-scroll .sd-stores-table {
  width: max-content;
  max-width: none;
}
/* Clip long text in data cells, but never the select checkbox column. */
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr > td:not(.sd-stores-table__td-select),
#sd-sb-page-root #sd-sb-table-head thead th.sd-stores-th:not(.sd-stores-th--select),
#sd-u2-page-root #sd-u2-table tbody tr.sd-stores-tr > td:not(.sd-stores-table__td-select),
#sd-u2-page-root #sd-u2-table-head thead th.sd-stores-th:not(.sd-stores-th--select) {
  overflow: hidden;
}
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr > td.sd-stores-table__td-select,
#sd-sb-page-root #sd-sb-table-head thead th.sd-stores-th--select,
#sd-u2-page-root #sd-u2-table tbody tr.sd-stores-tr > td.sd-stores-table__td-select,
#sd-u2-page-root #sd-u2-table-head thead th.sd-stores-th--select {
  overflow: visible;
}
#sd-sb-page-root #sd-sb-table-head thead th.sd-stores-th .sd-shelf-sort-th {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---- View + Add tab table: compact SaaS data-grid density ---- */
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr,
#sd-u2-page-root #sd-u2-table tbody tr.sd-stores-tr {
  min-height: 56px;
  height: auto;
}
/* All View/Add table cells: left horizontally, middle vertically (incl. Actions). */
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr > td,
#sd-sb-page-root #sd-sb-table-head thead th.sd-stores-th,
#sd-u2-page-root #sd-u2-table tbody tr.sd-stores-tr > td,
#sd-u2-page-root #sd-u2-table-head thead th.sd-stores-th {
  text-align: left;
  vertical-align: middle;
  padding-top: 8px;
  padding-bottom: 8px;
  box-sizing: border-box;
}
#sd-sb-page-root #sd-sb-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select,
#sd-sb-page-root #sd-sb-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-u2-page-root #sd-u2-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select,
#sd-u2-page-root #sd-u2-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select {
  text-align: left;
  vertical-align: middle;
}

/* Status badges: single-line pill, centered, ellipsis + title tooltip */
#sd-sb-page-root #sd-sb-table .sd-sb-view-card__status-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  max-width: 100%;
  min-width: 0;
}
#sd-sb-page-root #sd-sb-table .sd-product-card__status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  word-break: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  min-width: 0;
  line-height: 1.2;
  padding: 3px 5px;
  box-sizing: border-box;
}
#sd-sb-page-root #sd-sb-table td.sd-sb-table-cell--status {
  /* Width comes from colgroup ? do not cap here (desyncs head/body). */
  max-width: none;
}

/* Name: primary, semibold ? always show full product name (wrap, no truncate) */
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr > td.sd-sb-table__td-name {
  min-width: 0;
  white-space: normal;
  text-overflow: clip;
  overflow: hidden;
  line-height: 1.35;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table__name,
#sd-sb-page-root #sd-sb-table .sd-sb-table__td-name .sd-product-card__title-link {
  display: block;
  overflow: hidden;
  text-overflow: clip;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.35;
  color: var(--sd-text);
  word-break: break-word;
  white-space: normal;
  max-width: 100%;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table__td-name .sd-product-card__title-link:hover {
  text-decoration: underline;
}

/* Secondary / generic text: clamp via inner span + tooltip */
#sd-sb-page-root #sd-sb-table td.sd-sb-table-cell--text {
  min-width: 0;
  white-space: normal;
  text-overflow: clip;
  font-size: 12px;
  color: var(--sd-muted);
  line-height: 1.35;
  overflow: hidden;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table-cell__clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  max-width: 100%;
}
#sd-sb-page-root #sd-sb-table td.sd-sb-table-cell--sources {
  color: var(--sd-muted);
  font-size: 12px;
}

/* Store / Aisle / Facing: compact left-aligned text (tabular nums for facing counts) */
#sd-sb-page-root #sd-sb-table td.sd-sb-table-cell--num {
  text-align: left;
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  color: var(--sd-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*
 * DPCI: monospace, full number always visible. Width is reserved by the column sizing pass
 * (dpciDisplay never shrinks) ? do not force max-content here, that widens the body table
 * past the header table and pushes later columns out of view.
 */
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr > td.sd-sb-table-cell--dpci,
#sd-sb-page-root #sd-sb-table tbody tr.sd-stores-tr > td:has(.sd-sb-table-dpci-cell) {
  vertical-align: middle;
  text-overflow: clip;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table-dpci-cell__text {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  letter-spacing: -0.01em;
  text-overflow: clip;
  white-space: nowrap;
}

/* Thumbnails: fixed box, cover, left-aligned in cell */
#sd-sb-page-root #sd-sb-table .sd-sb-table__td-image,
#sd-sb-page-root #sd-sb-table-head th[data-col="image"],
#sd-sb-page-root #sd-sb-table-head th[data-col="annotated"] {
  vertical-align: middle;
  text-align: left;
  padding: 6px 8px;
  line-height: 0;
  box-sizing: border-box;
  text-overflow: clip;
  white-space: normal;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table__td-image {
  /* Prefer colgroup width; avoid body-only min/max that desync from head */
  width: auto;
  min-width: 0;
  max-width: none;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table__thumb-wrap {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table__thumb-wrap .sd-stores-table__thumb-img {
  object-fit: cover;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table__thumb-wrap--failed,
#sd-sb-page-root #sd-sb-table .sd-sb-thumb-placeholder {
  min-height: 40px;
}

/* Actions: left-aligned button cluster, vertically centered */
#sd-sb-page-root #sd-sb-table .sd-sb-table__td-actions,
#sd-sb-page-root #sd-sb-table-head th.sd-stores-th--actions.sd-sb-table-th--actions {
  vertical-align: middle;
  text-align: left;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
#sd-sb-page-root #sd-sb-table .sd-sb-table-actions .sd-btn {
  height: 28px;
  min-height: 28px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 1;
}

#sd-sb-page-root .sd-stores-table-hsync:has(> .sd-stores-table-scroll.sd-stores-layout--cards),
#sd-u2-page-root .sd-stores-table-hsync:has(> .sd-stores-table-scroll.sd-stores-layout--cards) {
  overflow-x: hidden;
  min-width: 0;
}
#sd-sb-page-root .sd-table-wrap.sd-stores-table-scroll.sd-stores-layout--cards,
#sd-u2-page-root .sd-table-wrap.sd-stores-table-scroll.sd-stores-layout--cards {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
#sd-sb-page-root .sd-stores-cards-root-inner {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
#sd-sb-page-root .sd-stores-cards-grid.sd-stores-cards-grid--s2-list,
#sd-sb-page-root .sd-sb-product-cards-host,
#sd-sb-page-root .sd-stores-card-groups {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
#sd-sb-page-root .sd-sb-product-list-card.sd-s1-shelf-card {
  max-width: 100%;
}

/* Beta2 uploads table: whole-header drag (legacy) */
#sd-u2-page-root .sd-stores-th--draggable {
  cursor: grab;
  user-select: none;
}
#sd-u2-page-root .sd-stores-th--draggable:active {
  cursor: grabbing;
}
/* Shelf View tab (Beta) table: sort + column drag from handle ? same as s1 shelves list */
#sd-sb-page-root .sd-stores-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-sb-page-root .sd-stores-table th.sd-stores-th--shelf-sortable .sd-shelf-sort-th {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
#sd-sb-page-root .sd-stores-table tbody tr.sd-stores-tr > td {
  vertical-align: middle;
}
/* Shared table / card loading skeletons (reuse .sd-skeleton slow pulse) */
.sd-table-skeleton,
.sd-sb-table-skeleton {
  pointer-events: none;
}
.sd-stores-table tbody tr.sd-table-skeleton:hover td,
.sd-stores-table tbody tr.sd-sb-table-skeleton:hover td {
  background: transparent;
}
.sd-stores-table tbody tr.sd-table-skeleton td,
.sd-stores-table tbody tr.sd-sb-table-skeleton td {
  vertical-align: middle;
}
.sd-skeleton-cell,
.sd-sb-skeleton-cell {
  display: block;
  max-width: 100%;
  height: 12px;
}
.sd-skeleton-cell--w40,
.sd-sb-skeleton-cell--w40 {
  width: 40%;
}
.sd-skeleton-cell--w70,
.sd-sb-skeleton-cell--w70 {
  width: 70%;
}
.sd-skeleton-cell--w90,
.sd-sb-skeleton-cell--w90 {
  width: 90%;
}
.sd-skeleton-cell--thumb,
.sd-sb-skeleton-cell--thumb {
  width: 36px;
  height: 36px;
  border-radius: 4px;
}
.sd-skeleton-check,
.sd-sb-skeleton-check {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0 auto;
  border-radius: 3px;
}
.sd-cards-skeleton,
.sd-sb-cards-skeleton {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px 0 16px;
}
.sd-card-skeleton,
.sd-sb-card-skeleton {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: 6px;
  pointer-events: none;
}
.sd-card-skeleton .sd-skeleton-cell:not(.sd-skeleton-cell--thumb),
.sd-sb-card-skeleton .sd-sb-skeleton-cell:not(.sd-sb-skeleton-cell--thumb),
.sd-sb-card-skeleton .sd-skeleton-cell:not(.sd-skeleton-cell--thumb) {
  flex: 1 1 auto;
  min-width: 0;
}
/* View tab: no products on shelf ? in-table row (same pattern as Add tab uploads empty body). */
#sd-sb-page-root #sd-sb-table tbody tr.sd-sb-table-empty td {
  text-align: center;
  padding: 28px 16px 36px;
  vertical-align: middle;
  background: var(--sd-surface);
}
#sd-sb-page-root .sd-sb-cards-empty {
  text-align: center;
  padding: 28px 16px 36px;
  margin: 0;
  box-sizing: border-box;
  background: var(--sd-surface);
}
#sd-sb-page-root .sd-shelf-beta-th--dragging,
#sd-u2-page-root .sd-shelf-beta-th--dragging {
  opacity: 0.55;
}
#sd-sb-page-root.sd-shelf-beta-page {
  display: flex;
  align-items: stretch;
  /* Space between quick-filters aside and main when facet is open; no inset when facet is hidden */
  gap: 14px;
  /* Pull up under .sd-shelf-tabs margin-bottom so facet right border meets the tab bar line */
  margin-top: -16px;
}
/* Align View tab body with shelf title / intro (same pattern as #sd-u2-page-root Add tab) */
#sd-sb-page-root .sd-shelf-beta-main {
  padding-left: 0;
}
.sd-shelf-beta-facet.sd-stores-facet {
  position: static;
  flex: 0 0 min(300px, 88vw);
  width: min(300px, 88vw);
  align-self: stretch;
  min-height: 100%;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  border-radius: 0;
  background: color-mix(in srgb, var(--sd-bg) 92%, white 8%);
  z-index: 1;
}
/* View tab: dock quick filters to the viewport bottom (same as Stores); top aligned with count cards (or search) via JS. */
#sd-sb-page-root.sd-stores-facet--open #sd-sb-facet-panel.sd-shelf-beta-facet.sd-stores-facet {
  position: fixed;
  bottom: 0;
  /* Same horizontal origin as .sd-content (padding 24px) so panel aligns with shelf title / lead like Add tab */
  left: calc(var(--sd-sidebar-w) + 24px);
  width: min(300px, 88vw);
  max-width: 100%;
  flex: none;
  align-self: auto;
  min-height: 0;
  z-index: 35;
  box-sizing: border-box;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  overflow: hidden auto;
  overscroll-behavior: contain;
}
body:has(#sd-sidebar.is-collapsed) #sd-sb-page-root.sd-stores-facet--open #sd-sb-facet-panel.sd-shelf-beta-facet.sd-stores-facet {
  left: calc(var(--sd-sidebar-collapsed) + 24px);
}
/* View tab (fixed facet): same inner horizontal + vertical padding as Add tab in-flow facet (.sd-stores-facet__inner + .sd-shelf-beta-page overrides) */
#sd-sb-page-root.sd-stores-facet--open #sd-sb-facet-panel .sd-stores-facet__inner {
  padding: 8px 12px;
  box-sizing: border-box;
}
/* Match .sd-input border-radius (6px) on quick-filters when open ? View + Add tabs */
#sd-sb-page-root.sd-stores-facet--open .sd-shelf-beta-facet.sd-stores-facet,
#sd-u2-page-root.sd-stores-facet--open .sd-shelf-beta-facet.sd-stores-facet {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  overflow: hidden;
}
/* Add tab: dock quick filters like View ? top aligned with count cards (or search) via JS (fixed + bottom: 0). */
#sd-u2-page-root.sd-stores-facet--open #sd-u2-facet-panel.sd-stores-facet.sd-shelf-beta-facet {
  position: fixed;
  bottom: 0;
  left: calc(var(--sd-sidebar-w) + 24px);
  width: min(300px, 88vw);
  max-width: 100%;
  flex: none;
  align-self: auto;
  min-height: 0;
  z-index: 35;
  box-sizing: border-box;
  border-top: 1px solid var(--sd-border);
  border-left: 1px solid var(--sd-border);
  border-right: 1px solid var(--sd-border);
  overflow: hidden auto;
  overscroll-behavior: contain;
  /* Fill viewport down to bottom like View tab: stretch inner when facet is docked (fixed + top from JS). */
  display: flex;
  flex-direction: column;
}
body:has(#sd-sidebar.is-collapsed) #sd-u2-page-root.sd-stores-facet--open #sd-u2-facet-panel.sd-stores-facet.sd-shelf-beta-facet {
  left: calc(var(--sd-sidebar-collapsed) + 24px);
}
/* Add tab: compact quick filters ? inner padding / head / sections match View tab; shorter facet tables */
#sd-u2-page-root.sd-stores-facet--open #sd-u2-facet-panel .sd-stores-facet__inner {
  padding: 8px 12px;
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}
#sd-u2-page-root.sd-stores-facet--open #sd-u2-facet-panel .sd-stores-facet__head {
  margin-bottom: 4px;
}
#sd-u2-page-root.sd-stores-facet--open #sd-u2-facet-panel .sd-stores-facet__block {
  margin-top: 6px;
}
#sd-u2-page-root.sd-stores-facet--open #sd-u2-facet-panel .sd-stores-facet__table-scroll {
  max-height: 28vh;
}

/* u2 / Insights import: facet mini-tables ? full-bleed thead/body inside each .sd-stores-facet__block (match shelf View tab; no horizontal inset on scroll wrapper). */
#sd-u2-facet-panel .sd-stores-facet__table-scroll {
  overflow-x: hidden;
  max-width: 100%;
  padding: 0 0 8px;
  box-sizing: border-box;
}
#sd-u2-facet-panel .sd-stores-facet-table {
  min-width: 0;
}
#sd-u2-facet-panel .sd-stores-facet-table thead th {
  white-space: normal;
  vertical-align: middle;
  line-height: 1.25;
}
#sd-u2-facet-panel .sd-stores-facet-table thead th:first-child,
#sd-u2-facet-panel .sd-stores-facet-table tbody td:first-child {
  width: 2.75rem;
  min-width: 2.75rem;
  max-width: 2.75rem;
  text-align: center;
  vertical-align: middle;
}
#sd-u2-facet-panel .sd-stores-facet-table thead th:nth-child(3),
#sd-u2-facet-panel .sd-stores-facet-table tbody td:nth-child(3) {
  width: 4.25rem;
}
#sd-u2-facet-panel .sd-stores-facet-table thead th:nth-child(2),
#sd-u2-facet-panel .sd-stores-facet-table tbody td:nth-child(2) {
  width: auto;
  min-width: 0;
}
#sd-u2-facet-panel .sd-stores-facet-table__sort {
  white-space: normal;
  line-height: 1.25;
}
html.theme-dark .sd-shelf-beta-facet.sd-stores-facet {
  background: color-mix(in srgb, var(--sd-bg) 86%, rgb(255 255 255) 14%);
}
.sd-shelf-beta-page .sd-stores-facet__inner {
  height: 100%;
  box-sizing: border-box;
  padding-top: 8px;
  padding-bottom: 8px;
}
.sd-shelf-beta-main {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 14px;
}
.sd-shelf-beta-facet .sd-stores-facet__section-toggle .sd-sb-facet-section-label {
  margin-right: auto;
}
/* Match ALL/ANY: top-align with Quick Filters / Saved Filters / toolbar (same ~padding box).
   Chips and + must not force a taller min-height or center-alignment drops Match below the row. */
.sd-shelf-beta-page .sd-stores-filter-chips__row--logic {
  align-items: flex-start;
}
.sd-shelf-beta-page .sd-stores-filter-chips__row--logic .sd-stores-filter-logic {
  height: auto;
  min-height: 0;
}
.sd-shelf-beta-page .sd-stores-chip,
.sd-shelf-beta-page .sd-stores-filter-add-link {
  min-height: 0;
}
.sd-shelf-beta-page .sd-stores-filter-add-link {
  padding-top: 6px;
  padding-bottom: 6px;
  box-sizing: border-box;
}
/* Match filter chips: 6px rounded square corners (see .sd-stores-chip) */
.sd-shelf-beta-page .sd-product-card__status-badge,
.sd-shelf-beta-page .sd-upload-card__status-badge,
.sd-shelf-beta-page .sd-uploads-status-card,
.sd-shelf-beta-page .sd-uploads-subfilter-badge {
  border-radius: 6px;
}
/* Beta "Product Page Found" = same tokens as Import Data "No Products Found"
   (.sd-upload-card__status-badge + .sd-upload-card__status-badge--neutral); keep beta radius from rule above */
#sd-sb-page-root .sd-product-card__status-badge.sd-product-card__status-badge--ok {
  border-color: var(--sd-border);
  background: var(--sd-bg);
  color: var(--sd-muted);
  font-weight: 600;
  text-shadow: none;
  box-shadow: none;
}
/* Beta 2 uploads: status badges match Products tab (typography + variant tokens from .sd-product-card__status-badge) */
#sd-u2-page-root .sd-upload-card__status-badge {
  font-weight: 700;
  text-transform: capitalize;
  white-space: nowrap;
  word-break: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
#sd-u2-page-root .sd-stores-table .sd-upload-card__status-badge {
  white-space: nowrap;
  word-break: normal;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sd-u2-page-root .sd-upload-card__status-badge.sd-insight-status-badge--clickable {
  cursor: pointer;
  appearance: none;
  font: inherit;
  text-transform: inherit;
  max-width: 100%;
}
.sd-insight-bullet-modal {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  text-align: left;
}
.sd-insight-error-detail-pre {
  margin: 0.5rem 0 0;
  max-height: min(50vh, 28rem);
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  text-align: left;
  font-size: 0.85rem;
  line-height: 1.45;
}
#sd-u2-page-root .sd-upload-card__status-badge.sd-upload-card__status-badge--ok {
  border-color: var(--sd-border);
  background: var(--sd-bg);
  color: var(--sd-muted);
  font-weight: 600;
  text-shadow: none;
  box-shadow: none;
}
#sd-u2-page-root .sd-upload-card__status-badge--pending {
  border-color: var(--sd-badge-info-border);
  background: var(--sd-badge-info-bg);
  color: var(--sd-badge-info-fg);
}
#sd-u2-page-root .sd-upload-card__status-badge--neutral {
  color: var(--sd-text);
  background: var(--sd-bg);
}
/* "No Products Found" (+ invalid DPCI): amber tokens like Products no-link warn; shape matches .sd-shelf-beta-page upload badges (6px, same as "n Products Found") */
#sd-u2-page-root .sd-upload-card__status-badge--warn {
  border-color: rgba(237, 108, 2, 0.45);
  background: rgba(237, 108, 2, 0.1);
  color: #e65100;
  font-weight: 700;
}
html.theme-dark #sd-u2-page-root .sd-upload-card__status-badge--warn {
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.5);
  background: color-mix(in srgb, var(--sd-surface) 78%, rgb(30 58 90) 22%);
}
#sd-u2-page-root .sd-upload-card__status-badge--error {
  border-color: rgba(196, 30, 58, 0.45);
  background: rgba(196, 30, 58, 0.1);
  color: var(--sd-accent);
}
html.theme-dark #sd-u2-page-root .sd-upload-card__status-badge--error {
  border-color: rgba(248, 113, 113, 0.45);
  background: rgba(239, 68, 68, 0.14);
  color: #fecaca;
}
.sd-shelf-beta-facet-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 260px;
  overflow-y: auto;
}
.sd-shelf-beta-facet .sd-stores-facet-table td,
.sd-shelf-beta-facet .sd-stores-facet-table th {
  font-size: 12px;
}
/* Stores page quick filters: match Beta facet column sizing; sort uses label + muted/active color only (no ?/? in JS). */
#sd-stores-facet-panel.sd-stores-facet .sd-stores-facet-table td,
#sd-stores-facet-panel.sd-stores-facet .sd-stores-facet-table th {
  font-size: 12px;
}
.sd-shelf-beta-facet-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.sd-shelf-beta-facet-item input[type="checkbox"] {
  margin: 0;
}
.sd-shelf-beta-product-grid.sd-stores-cards-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr));
  align-items: stretch;
}
/* Card header (status + select) first; main row flexes; gap matches card padding rhythm */
.sd-shelf-beta-product-grid > .sd-product-card.item {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
}
.sd-shelf-beta-product-grid.sd-stores-cards-grid > .sd-product-card.item {
  height: 100%;
}
.sd-shelf-beta-product-grid.sd-stores-cards-grid > .sd-product-card.item > .sd-product-card__row {
  flex: 1 1 auto;
  min-height: 0;
}
.sd-shelf-beta-product-grid .sd-product-card__thumb {
  border: 0;
  box-shadow: none;
  /* Grow with card width so wide / single-column layouts don?t leave a tiny 56px image beside lots of text */
  width: clamp(96px, 38%, 220px);
  height: auto;
  aspect-ratio: 1;
  flex-shrink: 0;
}
.sd-shelf-beta-product-grid .sd-product-card__row {
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 14px;
}
.sd-shelf-beta-product-grid .sd-product-card__content {
  text-align: left;
}
.sd-shelf-beta-product-grid .sd-product-sources__header {
  text-align: left;
}

/* Beta product cards: retail-style hierarchy (header: status left, select toggle right) */
#sd-sb-page-root .sd-product-card--beta .sd-product-card__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__content > .sd-product-card__sub {
  margin-bottom: 0;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--title-price .sd-product-card__title.title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
  color: var(--sd-text);
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--title-price .sd-product-card__title-link {
  font-weight: 600;
  color: var(--sd-text);
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-price {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--sd-text);
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--location .sd-product-card__meta-line--beta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  font-size: 12.5px;
  line-height: 1.45;
  color: color-mix(in srgb, var(--sd-text) 78%, var(--sd-muted));
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--location .sd-product-card__meta-line-row--aisle-facing {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.15em;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--location .sd-product-card__meta-line-sep {
  display: inline-block;
  padding: 0 0.28em;
  font-weight: 300;
  font-size: 1.1em;
  line-height: 1;
  color: color-mix(in srgb, var(--sd-border) 92%, var(--sd-muted));
  user-select: none;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--location .sd-product-card__ids-label {
  opacity: 0.72;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--ids {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.4;
  color: color-mix(in srgb, var(--sd-text) 90%, var(--sd-muted));
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--ids .sd-product-card__ids-line {
  margin: 0;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--ids .sd-product-card__ids-label {
  opacity: 0.65;
  font-weight: 600;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--taxonomy {
  font-size: 12.5px;
  line-height: 1.45;
  color: color-mix(in srgb, var(--sd-text) 82%, var(--sd-muted));
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--taxonomy .sd-product-card__ids-label {
  opacity: 0.68;
  font-weight: 600;
  font-size: 11px;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--taxonomy .sd-product-card__product-meta-line {
  margin: 0 0 4px;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--taxonomy .sd-product-card__product-meta-line:last-child {
  margin-bottom: 0;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--date-sources {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--date-sources .sd-product-card__date {
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--sd-muted);
  margin: 0;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--date-sources .sd-product-card__sources.sd-product-sources {
  margin-top: 0;
  font-size: 12px;
}
#sd-sb-page-root .sd-product-card--beta .sd-product-card__beta-block--date-sources .sd-product-sources__header {
  font-size: 12px;
  line-height: 1.35;
  color: color-mix(in srgb, var(--sd-muted) 55%, var(--sd-text));
}

.sd-sb-card-header {
  border-bottom: 1px solid var(--sd-border);
  margin: -14px -14px 0;
  padding: 0 14px;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
  /* Match .sd-product-card border-radius so header fill (e.g. selected) stays rounded at top */
  border-radius: var(--sd-radius) var(--sd-radius) 0 0;
}
.sd-shelf-beta-product-grid > .sd-product-card.item > .sd-sb-card-header {
  margin: -14px -14px 0;
}
.sd-sb-card-header__left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.sd-sb-card-header__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}
.sd-sb-card-header .sd-product-card__status {
  margin: 0;
}

/* Beta card view: row-style hover (match .sd-table tr:hover td) */
#sd-sb-page-root .sd-shelf-beta-product-grid > .sd-product-card.item.sd-shelf-beta-product-card--selectable:hover {
  background: linear-gradient(0deg, var(--sd-hover-table-cell-bg), var(--sd-hover-table-cell-bg)), var(--sd-surface);
}
/* Selected card header: neutral gray (theme tokens), not accent tint ? matches Beta 2 upload cards */
#sd-sb-page-root .sd-shelf-beta-product-grid > .sd-product-card.item.sd-shelf-beta-product-card--selected > .sd-sb-card-header {
  background: color-mix(in srgb, var(--sd-muted) 14%, var(--sd-surface));
}
html.theme-dark
  #sd-sb-page-root
  .sd-shelf-beta-product-grid
  > .sd-product-card.item.sd-shelf-beta-product-card--selected
  > .sd-sb-card-header,
html.theme-path
  #sd-sb-page-root
  .sd-shelf-beta-product-grid
  > .sd-product-card.item.sd-shelf-beta-product-card--selected
  > .sd-sb-card-header,
html.theme-greenday
  #sd-sb-page-root
  .sd-shelf-beta-product-grid
  > .sd-product-card.item.sd-shelf-beta-product-card--selected
  > .sd-sb-card-header,
html.theme-vintage
  #sd-sb-page-root
  .sd-shelf-beta-product-grid
  > .sd-product-card.item.sd-shelf-beta-product-card--selected
  > .sd-sb-card-header {
  background: color-mix(in srgb, var(--sd-text) 12%, var(--sd-surface));
}
.sd-sb-card-footer-actions {
  margin-top: 10px;
  margin-left: -14px;
  margin-right: -14px;
  margin-bottom: -14px;
  padding: 0 14px 14px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-shrink: 0;
}

/* Beta drawer: status under title, above tabs */
#sd-sb-drawer-panel .sd-sb-drawer-header-badge {
  padding: 0 16px 10px;
  min-height: 0;
}
#sd-sb-drawer-panel .sd-sb-drawer-header-badge:empty {
  display: none;
}
#sd-sb-drawer-panel .sd-sb-drawer-header-badge .sd-product-card__status-badge {
  vertical-align: middle;
}
#sd-sb-drawer-title .sd-sb-drawer-title-link {
  color: var(--sd-text);
  text-decoration: none;
}
#sd-sb-drawer-title .sd-sb-drawer-title-link:hover {
  color: var(--sd-accent);
  text-decoration: underline;
}
.sd-sb-drawer-desc-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.sd-sb-drawer-desc-header__label {
  margin-bottom: 0;
}
#sd-sb-drawer-body .sd-sb-drawer-form__field--description {
  /* Match vertical rhythm of .sd-sb-drawer-form__grid row gap above labels (e.g. Department). */
  margin-top: 12px;
}
.sd-sb-drawer-desc-edit-btn {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  vertical-align: middle;
}
.sd-sb-drawer-desc-edit-btn__svg {
  display: block;
}
.sd-sb-drawer-desc-edit-hint {
  margin: 6px 0 0;
  font-size: 11px;
}

/* Beta product drawer ? resizable width (50?75vw via --sd-sb-drawer-width); keep right edge aligned to viewport */
#sd-sb-drawer-panel.sd-stores-drawer__panel,
#sd-prod-drawer-panel.sd-stores-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  height: 100%;
  width: min(var(--sd-sb-drawer-width, 50vw), 75vw);
  max-width: 100%;
}
@media (max-width: 720px) {
  #sd-sb-drawer-panel.sd-stores-drawer__panel,
  #sd-prod-drawer-panel.sd-stores-drawer__panel {
    width: 100%;
  }
}

/* Products drawer ? retail-style product summary (Overview) */
#sd-prod-drawer-body {
  padding-top: 4px;
}
#sd-prod-drawer-body .sd-prod-drawer-summary {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 4px 0 16px;
  max-width: 36rem;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__hero {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px 18px;
  align-items: start;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__media {
  width: 112px;
  height: 112px;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__img-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--sd-muted);
  opacity: 0.7;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__img-empty svg {
  width: 36px;
  height: 36px;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__intro {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding-top: 2px;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__brand {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--sd-text) 78%, var(--sd-muted));
  line-height: 1.3;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__brand--empty {
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: var(--sd-muted);
}
#sd-prod-drawer-body .sd-prod-drawer-summary__price {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--sd-text);
}
#sd-prod-drawer-body .sd-prod-drawer-summary__price--empty {
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__taxonomy {
  margin: 2px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--sd-muted);
}
#sd-prod-drawer-body .sd-prod-drawer-summary__taxonomy-sep {
  opacity: 0.55;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__shop {
  margin-top: 8px;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  color: var(--sd-text);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
  transition: background 0.12s ease, border-color 0.12s ease;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__shop:hover {
  background: color-mix(in srgb, var(--sd-muted) 8%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-text) 18%, var(--sd-border));
}
#sd-prod-drawer-body .sd-prod-drawer-summary__shop:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__shop::after {
  content: "?";
  font-size: 12px;
  opacity: 0.7;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__ids {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid var(--sd-border);
  border-bottom: 1px solid var(--sd-border);
}
#sd-prod-drawer-body .sd-prod-drawer-summary__id {
  min-width: 0;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__id dt {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--sd-muted);
}
#sd-prod-drawer-body .sd-prod-drawer-summary__id dd {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--sd-text);
  word-break: break-word;
  line-height: 1.35;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__about {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__about-title {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--sd-text) 72%, var(--sd-muted));
}
#sd-prod-drawer-body .sd-prod-drawer-summary__desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: color-mix(in srgb, var(--sd-text) 88%, var(--sd-muted));
  white-space: normal;
}
#sd-prod-drawer-body .sd-prod-drawer-summary__desc-empty {
  margin: 0;
  font-size: 13px;
}
@media (max-width: 480px) {
  #sd-prod-drawer-body .sd-prod-drawer-summary__hero {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
  }
  #sd-prod-drawer-body .sd-prod-drawer-summary__media {
    width: 96px;
    height: 96px;
  }
  #sd-prod-drawer-body .sd-prod-drawer-summary__ids {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  #sd-prod-drawer-body .sd-prod-drawer-summary__price {
    font-size: 1.35rem;
  }
}
.sd-sb-drawer-resize {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 12px;
  margin-left: -6px;
  cursor: ew-resize;
  z-index: 12;
  touch-action: none;
}
.sd-sb-drawer-resize:hover {
  background: color-mix(in srgb, var(--sd-accent) 14%, transparent);
}
#sd-sb-drawer-body {
  padding: 18px 20px 28px;
}

/* Beta product drawer ? overview */
#sd-sb-drawer-body .sd-sb-drawer-section--images {
  padding-top: 0;
  padding-bottom: 12px;
  border-bottom: none;
}
#sd-sb-drawer-body .sd-sb-drawer-sources-under-images {
  margin-top: 14px;
}
#sd-sb-drawer-body .sd-sb-drawer-sources-under-images .sd-product-card__sources.sd-product-sources {
  margin-top: 0;
}
#sd-sb-drawer-body .sd-sb-drawer-description-rich {
  font-size: 13px;
  line-height: 1.55;
  color: var(--sd-text);
  max-height: min(42vh, 480px);
  overflow: auto;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  margin-bottom: 6px;
}
#sd-sb-drawer-body .sd-sb-drawer-description-rich ul,
#sd-sb-drawer-body .sd-sb-drawer-description-rich ol {
  margin: 0.5em 0 0.5em 1.25em;
  padding: 0;
}
#sd-sb-drawer-body .sd-sb-drawer-form__textarea--desc-edit {
  margin-top: 4px;
  font-family: ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;
  font-size: 12px;
}
#sd-sb-drawer-body .sd-sb-drawer-overview {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-bottom: 8px;
}
#sd-sb-drawer-body .sd-sb-drawer-section {
  padding: 18px 0;
  border-bottom: 1px solid var(--sd-border);
}
#sd-sb-drawer-body .sd-sb-drawer-section:last-child {
  border-bottom: none;
}
#sd-sb-drawer-body .sd-sb-drawer-section__title {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--sd-text) 72%, var(--sd-muted));
}
#sd-sb-drawer-body .sd-sb-drawer-section__lede {
  margin: -4px 0 14px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--sd-muted);
  max-width: 52ch;
}
#sd-sb-drawer-body .sd-sb-drawer-section__lede strong {
  color: var(--sd-text);
  font-weight: 600;
}
#sd-sb-drawer-body .sd-sb-drawer-images--labeled {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
  --sd-sb-drawer-image-frame-h: clamp(148px, 22vw, 280px);
}
@media (max-width: 520px) {
  #sd-sb-drawer-body .sd-sb-drawer-images--labeled {
    grid-template-columns: 1fr;
  }
}
#sd-sb-drawer-body .sd-sb-drawer-figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  min-height: 0;
}
#sd-sb-drawer-body .sd-sb-drawer-figure__caption {
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
  letter-spacing: 0.02em;
  flex: 0 0 auto;
}
#sd-sb-drawer-body .sd-sb-drawer-image-btn {
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  border-radius: 10px;
  padding: 0;
  cursor: pointer;
  flex: 0 0 auto;
  height: var(--sd-sb-drawer-image-frame-h);
  min-height: var(--sd-sb-drawer-image-frame-h);
  max-height: var(--sd-sb-drawer-image-frame-h);
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
html.theme-dark #sd-sb-drawer-body .sd-sb-drawer-image-btn {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
#sd-sb-drawer-body .sd-sb-drawer-image-btn:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}
#sd-sb-drawer-body .sd-sb-drawer-image-btn .sd-product-card__thumb-img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  border-radius: 10px;
  display: block;
}
#sd-sb-drawer-body .sd-sb-drawer-image-empty {
  border: 1px dashed color-mix(in srgb, var(--sd-muted) 45%, var(--sd-border));
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  height: var(--sd-sb-drawer-image-frame-h);
  min-height: var(--sd-sb-drawer-image-frame-h);
  max-height: var(--sd-sb-drawer-image-frame-h);
  width: 100%;
  box-sizing: border-box;
  font-size: 13px;
  background: color-mix(in srgb, var(--sd-bg) 92%, transparent);
}
#sd-sb-drawer-body .sd-sb-drawer-form__readonly {
  margin-bottom: 16px;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--sd-bg) 94%, var(--sd-border));
  border-radius: 10px;
  border: 1px solid var(--sd-border);
  display: grid;
  gap: 10px;
}
#sd-sb-drawer-body .sd-sb-drawer-form__readonly-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}
#sd-sb-drawer-body .sd-sb-drawer-form__readonly-row .sd-sb-drawer-form__label {
  min-width: 6.5rem;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
}
#sd-sb-drawer-body .sd-sb-drawer-form__mono {
  font-family: ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;
  font-size: 13px;
  color: var(--sd-text);
}
#sd-sb-drawer-body .sd-sb-drawer-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}
@media (max-width: 520px) {
  #sd-sb-drawer-body .sd-sb-drawer-form__grid {
    grid-template-columns: 1fr;
  }
}
#sd-sb-drawer-body .sd-sb-drawer-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
#sd-sb-drawer-body .sd-sb-drawer-form__field--wide {
  grid-column: 1 / -1;
}
#sd-sb-drawer-body .sd-sb-drawer-form .sd-sb-drawer-form__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
}
#sd-sb-drawer-body .sd-sb-drawer-form__input,
#sd-sb-drawer-body .sd-sb-drawer-form__textarea {
  width: 100%;
  box-sizing: border-box;
}
#sd-sb-drawer-body .sd-sb-drawer-form__textarea {
  resize: vertical;
  min-height: 88px;
  font-family: inherit;
  line-height: 1.45;
}
#sd-sb-drawer-body .sd-sb-drawer-form__actions {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-inline {
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: none;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-inline__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-inline__row .sd-sb-drawer-form__label {
  margin-bottom: 0;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-readonly {
  font-family: ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--sd-text);
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-incorrect-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--sd-text);
  cursor: pointer;
  user-select: none;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-incorrect-label input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--sd-accent);
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-override-wrap {
  margin-top: 12px;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-override-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-override-row .sd-sb-drawer-dpci-override-input {
  flex: 1 1 160px;
  min-width: 0;
  max-width: none;
}
#sd-sb-drawer-body .sd-sb-drawer-dpci-override-input {
  width: 100%;
  max-width: 280px;
  min-height: 40px;
  box-sizing: border-box;
}
#sd-sb-drawer-body .sd-sb-drawer-rerun-btn {
  flex-shrink: 0;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    transform 0.08s ease,
    box-shadow 0.15s ease;
}
#sd-sb-drawer-body .sd-sb-drawer-rerun-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 14%, var(--sd-surface, var(--sd-bg)));
  color: var(--sd-text);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
html.theme-dark #sd-sb-drawer-body .sd-sb-drawer-rerun-btn:hover:not(:disabled) {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}
#sd-sb-drawer-body .sd-sb-drawer-rerun-btn:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: none;
}
#sd-sb-drawer-body .sd-sb-drawer-activity-tab {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 120px;
}
#sd-sb-drawer-body .sd-sb-drawer-activity-tab__hint {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  max-width: none;
}
#sd-sb-drawer-body .sd-sb-drawer-activity-toolbar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin-bottom: 12px;
}
#sd-sb-drawer-body .sd-sb-drawer-activity-search-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#sd-sb-drawer-body .sd-sb-drawer-activity-search {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-height: 36px;
}
#sd-sb-drawer-body .sd-sb-drawer-activity__empty {
  font-size: 13px;
  margin: 0;
}
/* Activity log table ? aligned with Stores table (.sd-table + .sd-stores-table) */
#sd-sb-drawer-body .sd-sb-drawer-activity-scroll {
  max-height: min(52vh, 520px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#sd-sb-drawer-body .sd-sb-activity-table {
  font-size: 13px;
}
#sd-sb-drawer-body .sd-sb-activity-table th.sd-stores-th--activity {
  cursor: default;
  position: sticky;
  top: 0;
  z-index: 2;
  user-select: none;
  white-space: nowrap;
  padding: 8px 12px;
  background: var(--sd-bg);
  border-bottom: 1px solid var(--sd-border);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--sd-muted);
  text-align: left;
}
#sd-sb-drawer-body .sd-sb-activity-table td {
  vertical-align: top;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--sd-text);
  border-bottom: 1px solid var(--sd-border);
  max-width: none;
}
#sd-sb-drawer-body .sd-sb-activity-table th.sd-sb-activity-th-when,
#sd-sb-drawer-body .sd-sb-activity-table td.sd-sb-activity-td-when {
  min-width: 22rem;
  width: 1%;
  white-space: nowrap;
}
#sd-sb-drawer-body .sd-sb-activity-table td.sd-sb-activity-td-field {
  min-width: 9rem;
  font-weight: 600;
  color: color-mix(in srgb, var(--sd-text) 88%, var(--sd-muted));
}
#sd-sb-drawer-body .sd-sb-activity-table td.sd-sb-activity-td-orig,
#sd-sb-drawer-body .sd-sb-activity-table td.sd-sb-activity-td-new {
  word-break: break-word;
  min-width: 10rem;
  max-width: 22rem;
}
#sd-sb-drawer-body .sd-sb-activity-table tr:last-child td {
  border-bottom: none;
}
#sd-sb-drawer-body .sd-sb-activity-table tr:hover td {
  background: var(--sd-hover-table-cell-bg);
}

/* Beta cards: pill toggle (flat track + bordered thumb), replaces square checkbox */
.sd-sb-card-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
  margin: 0;
  cursor: pointer;
  vertical-align: middle;
}
.sd-sb-card-toggle__input {
  position: absolute;
  opacity: 0;
  width: 44px;
  height: 24px;
  margin: 0;
  top: 0;
  left: 0;
  cursor: pointer;
  z-index: 2;
}
.sd-sb-card-toggle__track {
  display: block;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #e5e7eb;
  border: 1px solid var(--sd-border);
  box-sizing: border-box;
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
  pointer-events: none;
}
html.theme-dark .sd-sb-card-toggle__track {
  background: #4b5563;
}
/* Selected: accent-tinted track (complements brand accent vs. neutral gray when off) */
.sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track {
  background: color-mix(in srgb, var(--sd-accent) 38%, #e5e7eb);
  border-color: color-mix(in srgb, var(--sd-accent) 50%, var(--sd-border));
}
html.theme-dark .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track {
  background: color-mix(in srgb, var(--sd-accent) 42%, #4b5563);
  border-color: color-mix(in srgb, var(--sd-accent) 48%, #6b7280);
}
.sd-sb-card-toggle__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--sd-border);
  box-sizing: border-box;
  transition: transform 0.2s ease;
  pointer-events: none;
}
/* Beta tab card view (dark): knob fill ? cool charcoal instead of white */
html.theme-dark #sd-sb-page-root .sd-sb-select-all-label .sd-sb-card-toggle__thumb,
html.theme-dark #sd-sb-page-root .sd-shelf-beta-product-grid .sd-sb-card-toggle__thumb {
  background: #282c34;
}
.sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track .sd-sb-card-toggle__thumb {
  transform: translateX(22px);
}
.sd-sb-card-toggle__input:focus-visible ~ .sd-sb-card-toggle__track {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}

/* Beta card grid: keep toggle track neutral when checked ? selection is shown by thumb position only */
#sd-sb-page-root .sd-shelf-beta-product-grid .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track {
  background: #e5e7eb;
  border-color: var(--sd-border);
}
html.theme-dark
  #sd-sb-page-root
  .sd-shelf-beta-product-grid
  .sd-sb-card-toggle__input:checked
  ~ .sd-sb-card-toggle__track {
  background: #4b5563;
  border-color: var(--sd-border);
}

/* Beta toolbar ? Select / Deselect All: same neutral track for off / partial / all (thumb position only) */
#sd-sb-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track,
#sd-sb-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track {
  background: #e5e7eb;
  border-color: var(--sd-border);
}
html.theme-dark #sd-sb-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track,
html.theme-dark #sd-sb-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track {
  background: #4b5563;
  border-color: var(--sd-border);
}
.sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track .sd-sb-card-toggle__thumb {
  transform: translateX(11px);
}

/* Beta 2 uploads: same pill toggles as Products / Beta cards (#sd-sb-page-root) */
html.theme-dark #sd-u2-page-root .sd-sb-select-all-label .sd-sb-card-toggle__thumb,
html.theme-dark #sd-u2-page-root #sd-u2-cards-root .sd-sb-card-toggle__thumb {
  background: #282c34;
}
#sd-u2-page-root #sd-u2-cards-root .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track {
  background: #e5e7eb;
  border-color: var(--sd-border);
}
html.theme-dark
  #sd-u2-page-root
  #sd-u2-cards-root
  .sd-sb-card-toggle__input:checked
  ~ .sd-sb-card-toggle__track {
  background: #4b5563;
  border-color: var(--sd-border);
}
#sd-u2-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track,
#sd-u2-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track {
  background: #e5e7eb;
  border-color: var(--sd-border);
}
html.theme-dark #sd-u2-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:checked ~ .sd-sb-card-toggle__track,
html.theme-dark #sd-u2-page-root .sd-sb-select-all-label .sd-sb-card-toggle__input:indeterminate ~ .sd-sb-card-toggle__track {
  background: #4b5563;
  border-color: var(--sd-border);
}

/* Shelf products table: middle-align for compact grid rows */
#sd-sb-page-root #sd-sb-table thead .sd-stores-th--select,
#sd-sb-page-root #sd-sb-table .sd-stores-table__td-select {
  vertical-align: middle;
}
#sd-sb-page-root #sd-sb-table tr.sd-stores-group-row td.sd-stores-group-row__td {
  vertical-align: middle;
}

/* Beta table: DPCI column ? value + copy (single line, no wrap) */
#sd-sb-page-root .sd-stores-tr td:has(.sd-sb-table-dpci-cell) {
  white-space: nowrap;
  vertical-align: middle;
}
#sd-sb-page-root .sd-sb-table-dpci-cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  white-space: nowrap;
}
#sd-sb-page-root .sd-sb-table-dpci-cell__text {
  min-width: 0;
  text-overflow: clip;
  white-space: nowrap;
}
/* Beta table: Aisle / Facing / Status ? single line */
#sd-sb-page-root .sd-stores-tr td.sd-sb-table-cell--nowrap {
  white-space: nowrap;
  vertical-align: middle;
}
/* Status column: badge defaults use flex-wrap + white-space:normal for cards; keep one line in table */
#sd-sb-page-root .sd-stores-tr td.sd-sb-table-cell--nowrap .sd-product-card__status-badge {
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
#sd-sb-page-root .sd-sb-dpci-copy-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--sd-muted);
  cursor: pointer;
  line-height: 0;
}
#sd-sb-page-root .sd-sb-dpci-copy-btn:hover {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  color: var(--sd-text);
}
html.theme-dark #sd-sb-page-root .sd-sb-dpci-copy-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
#sd-sb-page-root .sd-sb-table__td-actions {
  vertical-align: middle;
  text-align: left;
  white-space: nowrap;
}
#sd-sb-page-root .sd-sb-table-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
#sd-sb-page-root .sd-sb-table-actions .sd-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
#sd-sb-page-root .sd-stores-th--actions.sd-sb-table-th--actions {
  white-space: nowrap;
  min-width: 11rem;
}
#sd-sb-page-root .sd-sb-dpci-copy-btn:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: 2px;
}

/* Beta table: product image column (left of Name) ? width from shared colgroup */
#sd-sb-page-root .sd-sb-table__td-image {
  vertical-align: middle;
  padding: 6px 8px;
  box-sizing: border-box;
  /* Avoid "?" from .sd-stores-table td { text-overflow: ellipsis } */
  overflow: hidden;
  text-overflow: clip;
  white-space: normal;
  line-height: 0;
}
.sd-sb-table__thumb-viewer-btn {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: inherit;
  line-height: 0;
}
.sd-sb-table__thumb-viewer-btn:focus-visible {
  outline: 2px solid var(--sd-focus, var(--sd-border));
  outline-offset: 2px;
}
.sd-sb-table__thumb-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
}
html.theme-dark .sd-sb-table__thumb-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.sd-sb-table__thumb-wrap .sd-stores-table__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sd-sb-table__thumb-wrap--failed {
  min-height: 44px;
}
.sd-sb-table__thumb-wrap--placeholder {
  overflow: hidden;
  background: transparent;
}
.sd-sb-table__thumb-wrap--placeholder .sd-sidebar__logo {
  font-size: clamp(1.25rem, 4.5vmin, 1.75rem);
  line-height: 1;
}
.sd-sb-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px dashed color-mix(in srgb, var(--sd-muted) 40%, var(--sd-border));
  border-radius: inherit;
  background: color-mix(in srgb, var(--sd-bg) 88%, transparent);
}
.sd-sb-table__thumb-wrap--placeholder .sd-sb-thumb-placeholder {
  min-height: 0;
  border: none;
  background: transparent;
}
.sd-sb-thumb-placeholder__icon {
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0.85;
  user-select: none;
}
.sd-sb-thumb-placeholder--barcode {
  color: color-mix(in srgb, var(--sd-muted) 88%, var(--sd-text));
}
.sd-sb-thumb-placeholder__barcode-svg {
  display: block;
  width: clamp(1.35rem, 5vmin, 1.75rem);
  height: auto;
  opacity: 0.9;
  user-select: none;
  pointer-events: none;
}
.sd-sb-table__thumb-wrap--placeholder .sd-sb-thumb-placeholder--barcode {
  min-height: 44px;
}
#sd-sb-drawer-body .sd-sb-drawer-product-placeholder .sd-sb-thumb-placeholder--barcode {
  min-height: 72px;
  width: 100%;
}
.sd-sb-thumb-placeholder__img {
  display: block;
  width: auto;
  height: auto;
  max-width: 88%;
  max-height: 88%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}
.sd-product-card__thumb--beta-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.sd-product-card__thumb--beta-placeholder .sd-sb-thumb-placeholder {
  min-height: 0;
  border: none;
  background: transparent;
}
.sd-shelf-beta-product-grid .sd-product-card__thumb--beta-placeholder .sd-sidebar__logo {
  font-size: clamp(1.75rem, 6vmin, 2.5rem);
  line-height: 1;
}
#sd-sb-drawer-body .sd-sb-drawer-product-placeholder {
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  border-radius: 10px;
  padding: 0;
  cursor: default;
  flex: 0 0 auto;
  height: var(--sd-sb-drawer-image-frame-h, clamp(148px, 22vw, 280px));
  min-height: var(--sd-sb-drawer-image-frame-h, clamp(148px, 22vw, 280px));
  max-height: var(--sd-sb-drawer-image-frame-h, clamp(148px, 22vw, 280px));
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
}
html.theme-dark #sd-sb-drawer-body .sd-sb-drawer-product-placeholder {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
#sd-sb-drawer-body .sd-sb-drawer-product-placeholder .sd-sb-thumb-placeholder {
  border: none;
  background: transparent;
  min-height: 120px;
}
#sd-sb-drawer-body .sd-sb-drawer-product-placeholder .sd-sidebar__logo {
  font-size: clamp(3rem, 12vmin, 5rem);
  line-height: 1;
}
.sd-sb-table__annotated-empty {
  display: inline-block;
  min-width: 44px;
  line-height: 44px;
  height: 44px;
  vertical-align: top;
}

/* Insights (TCN) */
.sd-insights {
  margin-top: 0.5rem;
}
.sd-insights .sd-page-desc code {
  font-size: 0.92em;
  padding: 0.1em 0.35em;
  border-radius: 4px;
  background: color-mix(in srgb, var(--sd-text) 8%, var(--sd-surface));
}
.sd-insights-status {
  margin: 0.75rem 0;
  line-height: 1.5;
}
.sd-insights-pill {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  margin-right: 0.5rem;
}
.sd-insights-pill--ok {
  background: color-mix(in srgb, #2e7d32 18%, var(--sd-surface));
}
.sd-insights-pill--warn {
  background: color-mix(in srgb, #ed6c02 20%, var(--sd-surface));
}
.sd-insights-tabs {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--sd-border);
  margin-bottom: 1rem;
}
.sd-insights-tab {
  padding: 0.5rem 1rem;
  border: none;
  background: transparent;
  color: var(--sd-muted);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.sd-insights-tab:hover {
  color: var(--sd-text);
}
.sd-insights-tab.is-active {
  color: var(--sd-text);
  border-bottom-color: #5e35b1;
}

/* Explore Data: selected dataset in sidebar list */
.sd-insight-explore__ds-btn {
  width: 100%;
  text-align: left;
}
.sd-insight-explore__ds-btn.is-active {
  background: var(--sd-nav-link-active-bg);
  color: var(--sd-nav-link-active-fg);
  font-weight: 600;
}
.sd-insight-explore__ds-btn.is-active .sd-muted {
  color: inherit;
  opacity: 0.85;
}

.sd-insight-explore__dataset-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
  padding: 0.35rem 0;
}
.sd-insight-explore__dataset-bar-label {
  font-size: 0.95rem;
}

.sd-insights-panel {
  display: none;
}
.sd-insights-panel.is-active {
  display: block;
}
.sd-insights-h2 {
  font-size: 1.05rem;
  margin: 0 0 0.5rem;
  font-weight: 600;
}
.sd-insights-import-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0.75rem 0;
}
.sd-insights-import-stack {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0.75rem 0;
}
.sd-insights-import-zone {
  position: relative;
  border: 2px dashed var(--sd-border);
  border-radius: 10px;
  background: var(--sd-surface);
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}
.sd-insights-import-zone.is-dragover {
  border-color: #5e35b1;
  background: color-mix(in srgb, #5e35b1 8%, var(--sd-surface));
}
.sd-insights-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sd-insights-import-zone__hit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.65rem;
  min-height: 4.5rem;
  padding: 0.85rem 1rem;
  cursor: pointer;
}
.sd-insights-import-zone__hint {
  font-size: 13px;
  color: var(--sd-muted);
}
.sd-insights-import-zone__hit .sd-btn {
  cursor: pointer;
}
.sd-insights-import-queue-wrap {
  border: 1px solid var(--sd-border);
  border-radius: 8px;
  background: var(--sd-surface);
  overflow: hidden;
}
.sd-insights-import-queue-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.45rem 0.65rem;
  border-bottom: 1px solid var(--sd-border);
  background: color-mix(in srgb, var(--sd-text) 4%, var(--sd-surface));
}
.sd-insights-import-queue-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-text);
}
.sd-insights-file-queue {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  max-height: calc(5 * 2.75rem);
  overflow-y: auto;
}
.sd-insights-file-queue__empty {
  padding: 0.65rem 0.85rem;
  margin: 0;
  list-style: none;
}
.sd-insights-file-queue__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.85rem;
  font-size: 13px;
  line-height: 1.35;
}
.sd-insights-file-queue__item:nth-child(even) {
  background: color-mix(in srgb, var(--sd-text) 3%, transparent);
}
.sd-insights-file-queue__name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sd-u2-shelf-dpci-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 10px 10px 10px;
  margin: 0 0 4px;
  border-bottom: 1px solid var(--sd-border);
}
.sd-u2-shelf-dpci-row .sd-input {
  min-width: 0;
}
.sd-u2-shelf-dpci-row .sd-btn {
  white-space: nowrap;
}
.sd-insights-file-queue__rm {
  flex-shrink: 0;
  font-size: 12px;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  color: var(--sd-text);
  cursor: pointer;
}
.sd-insights-file-queue__rm--text {
  min-width: 2rem;
  min-height: 2rem;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-muted);
}
.sd-insights-file-queue__rm--text:hover {
  color: var(--sd-text);
  border-color: color-mix(in srgb, var(--sd-muted) 40%, var(--sd-border));
  background: var(--sd-hover-table-cell-bg, color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface)));
}
.sd-insights-file-queue__rm:hover:not(.sd-insights-file-queue__rm--text) {
  background: var(--sd-hover-table-cell-bg, color-mix(in srgb, var(--sd-text) 6%, var(--sd-surface)));
}
.sd-insights-import-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
/* Import data tab (table): align action button widths with Download */
.sd-insights-import-table-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.sd-insights-import-table-actions > .sd-btn {
  width: 7.25rem;
  box-sizing: border-box;
}
/* Insight details ? Import data ? card view: actions bottom-right, plain status text */
#sd-u2-page-root .sd-insight-import-file-card {
  position: relative;
}
#sd-u2-page-root .sd-insight-import-file-card .sd-stores-card__body {
  box-sizing: border-box;
  padding-bottom: 3.75rem;
}
#sd-u2-page-root .sd-insight-import-file-card .sd-stores-card__actions {
  position: absolute;
  bottom: 12px;
  right: 12px;
  left: auto;
  top: auto;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 48px);
  box-sizing: border-box;
  padding-top: 10px;
  margin: 0;
  pointer-events: auto;
}
#sd-u2-page-root .sd-insight-import-file-card__status-badge-row {
  margin-top: 8px;
}
.sd-insights-log {
  white-space: pre-wrap;
  font-size: 12px;
  padding: 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  max-height: 240px;
  overflow: auto;
}
.sd-insights-split {
  display: grid;
  grid-template-columns: minmax(200px, 260px) 1fr;
  gap: 1rem;
  align-items: start;
}
@media (max-width: 720px) {
  .sd-insights-split {
    grid-template-columns: 1fr;
  }
}
.sd-insights-subnav {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  position: sticky;
  top: 0.5rem;
}
.sd-insights-subnav__btn {
  text-align: left;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  border: 1px solid var(--sd-border);
  background: var(--sd-surface);
  color: var(--sd-text);
  font-size: 13px;
  cursor: pointer;
  line-height: 1.3;
}
.sd-insights-subnav__btn:hover {
  background: var(--sd-hover-table-cell-bg, color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface)));
}
.sd-insights-subnav__btn.is-active {
  border-color: #5e35b1;
  box-shadow: 0 0 0 1px color-mix(in srgb, #5e35b1 35%, transparent);
}
.sd-insights-subnav__sub {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--sd-muted);
  margin-top: 0.15rem;
}
/* Report tab: meta + delete, directly above the data table (mirrors Analyze row-count line). */
.sd-insights-report-table-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin: 0.65rem 0 0.35rem;
  min-height: 1.75rem;
}
.sd-insights-report-table-bar__meta {
  font-size: 13px;
  line-height: 1.4;
  flex: 1;
  min-width: 0;
}
.sd-insights-report-table-bar__meta code {
  font-size: 12px;
}

/* Report grid: Excel-like column order (from API), header fill by role, tabular numbers */
.sd-insights-report-excel {
  font-size: 12px;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  width: max-content;
  min-width: 100%;
}
.sd-insights-report-excel th,
.sd-insights-report-excel td {
  border: 1px solid var(--sd-border, #bfbfbf);
  padding: 4px 6px;
  white-space: nowrap;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sd-insights-th--dimension {
  background: #4472c4;
  color: #fff;
  font-weight: 600;
}
.sd-insights-th--measure {
  background: #70ad47;
  color: #fff;
  font-weight: 600;
}
.sd-insights-th--meta {
  background: #7f7f7f;
  color: #fff;
  font-weight: 600;
}
.sd-insights-td--dimension {
  background: color-mix(in srgb, #4472c4 10%, var(--sd-surface));
}
.sd-insights-td--measure {
  text-align: right;
}
.sd-insights-td--meta {
  background: color-mix(in srgb, var(--sd-text) 5%, var(--sd-surface));
  font-size: 11px;
  color: var(--sd-muted);
}
html.theme-dark .sd-insights-th--dimension {
  background: #2f5597;
}
html.theme-dark .sd-insights-th--measure {
  background: #4a8522;
}
html.theme-dark .sd-insights-th--meta {
  background: #595959;
}
html.theme-dark .sd-insights-td--dimension {
  background: color-mix(in srgb, #4472c4 18%, var(--sd-surface));
}
.sd-insights-main {
  min-width: 0;
}
.sd-insights-table-wrap {
  max-height: min(480px, 55vh);
  overflow: auto;
  border: 1px solid var(--sd-border);
  border-radius: 8px;
}
.sd-insights-chart-wrap {
  position: relative;
  height: 280px;
  margin-bottom: 1rem;
}

/* RBAC: hide nav entries without removing from DOM (screen readers: hidden links stay focusable only when visible) */
.sd-nav__link--hidden {
  display: none !important;
}

/* Settings ? Client management: tenants table + resizable drawer (matches shelf product drawer shell) */
.sd-cm-table-wrap {
  overflow-x: auto;
}
#sd-cm-drawer-panel.sd-stores-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  height: 100%;
  width: min(var(--sd-sb-drawer-width, 50vw), 75vw);
  max-width: 100%;
}
#sd-cm-tenant-drawer-panel.sd-stores-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  height: 100%;
  width: min(var(--sd-sb-drawer-width, 50vw), 80vw);
  max-width: 100%;
}
@media (max-width: 720px) {
  #sd-cm-drawer-panel.sd-stores-drawer__panel {
    width: 100%;
  }
  #sd-cm-tenant-drawer-panel.sd-stores-drawer__panel {
    width: 100%;
  }
}
#sd-cm-tenant-drawer-body {
  padding: 0;
  display: flex;
  flex-direction: column;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-tabs-wrap {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-tabs-wrap > .sd-stores-drawer__tabs {
  padding-left: 20px;
  padding-right: 20px;
  flex-shrink: 0;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-tabs-wrap > .sd-settings-tab-panel {
  padding: 16px 20px 28px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-tabs-wrap > .sd-settings-tab-panel[hidden] {
  display: none;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-tabs-wrap > .sd-settings-tab-panel > .sd-page-desc {
  margin: 0 0 12px;
}
#sd-cm-tenant-drawer-body .sd-cm-tenant-tabs-wrap > .sd-settings-tab-panel .sd-settings-themes-card > .sd-settings-section-desc:last-child {
  margin-bottom: 0;
}
#sd-cm-tenant-drawer-body .sd-sb-drawer-form__actions {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.sd-stores-th-check {
  width: 44px;
  box-sizing: border-box;
}
.sd-stores-td-check {
  width: 44px;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}
/* Client Management card view ? same list-card chrome as shelf View / Add tabs */
#sd-client-mgmt-root #sd-cm-cards-root .sd-stores-cards-toolbar + .sd-cm-tenant-cards-host {
  padding-top: 10px;
}
#sd-client-mgmt-root #sd-cm-cards-root .sd-stores-cards-toolbar + .sd-cm-card-group {
  margin-top: 10px;
}
#sd-client-mgmt-root #sd-cm-cards-root .sd-cm-card-group__title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
}
#sd-client-mgmt-root #sd-cm-cards-root .sd-stores-cards-grid.sd-cm-tenant-cards-host {
  grid-template-columns: 1fr;
  gap: 8px;
}
#sd-client-mgmt-root .sd-cm-tenant-list-card.sd-s1-shelf-card {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  overflow: hidden;
  background: var(--sd-surface);
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
  margin-bottom: 0;
  gap: 0;
  cursor: default;
}
#sd-client-mgmt-root .sd-cm-tenant-list-card.sd-s1-shelf-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
#sd-client-mgmt-root .sd-cm-tenant-list-card .sd-s1-shelf-card__select {
  grid-column: 1;
  position: static;
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--sd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sd-muted) 4%, var(--sd-surface));
}
#sd-client-mgmt-root .sd-cm-tenant-list-card .sd-s1-shelf-card__select input[type="checkbox"] {
  margin: 0;
  cursor: pointer;
}
#sd-client-mgmt-root .sd-cm-tenant-list-card .sd-cm-view-card__strip {
  grid-column: 2;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  cursor: pointer;
  text-align: left;
  color: inherit;
  background: transparent;
  border: none;
  appearance: none;
  font: inherit;
}
#sd-client-mgmt-root .sd-cm-tenant-list-card .sd-cm-view-card__strip:focus-visible {
  outline: 2px solid var(--sd-accent, #2563eb);
  outline-offset: -2px;
}
#sd-client-mgmt-root .sd-cm-tenant-list-card .sd-s1-shelf-card__menu {
  grid-column: 3;
  border-left: 1px solid var(--sd-border);
  border-radius: 0;
  height: auto;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sd-client-mgmt-root .sd-cm-tenant-list-card.sd-shelf-beta-product-card--selected {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
#sd-client-mgmt-root .sd-cm-tenant-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
html.theme-shelfy #sd-client-mgmt-root .sd-cm-tenant-list-card.sd-shelf-beta-product-card--selected {
  border-color: color-mix(in srgb, var(--sd-accent, #2563eb) 35%, var(--sd-border));
  background: color-mix(in srgb, var(--sd-muted) 6%, var(--sd-surface));
}
html.theme-shelfy #sd-client-mgmt-root .sd-cm-tenant-list-card.sd-shelf-beta-product-card--selected .sd-s1-shelf-card__select {
  background: color-mix(in srgb, var(--sd-muted) 10%, var(--sd-surface));
}
#sd-client-mgmt-root .sd-cm-view-card__lead {
  display: grid;
  grid-template-columns: minmax(6.5rem, max-content) minmax(0, 1fr);
  grid-template-areas: "status name";
  gap: 8px 12px;
  width: 100%;
  min-width: 0;
  align-items: start;
}
#sd-client-mgmt-root .sd-cm-view-card__cell--status {
  grid-area: status;
  display: flex;
  align-items: center;
}
#sd-client-mgmt-root .sd-cm-view-card__cell--name {
  grid-area: name;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
#sd-client-mgmt-root .sd-cm-view-card__title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
#sd-client-mgmt-root .sd-cm-view-card__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--sd-text);
  overflow-wrap: anywhere;
  min-width: 0;
  flex: 1 1 auto;
}
#sd-client-mgmt-root .sd-cm-view-card__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-client-mgmt-root .sd-cm-view-card__meta-line {
  font-size: 12px;
  color: var(--sd-muted);
  overflow-wrap: anywhere;
}
#sd-client-mgmt-root .sd-cm-view-card__meta-line .sd-product-card__ids-label {
  opacity: 1;
  font-weight: 600;
  color: color-mix(in srgb, var(--sd-text) 72%, var(--sd-muted));
}
html.theme-dark #sd-client-mgmt-root .sd-cm-view-card__meta-line .sd-product-card__ids-label {
  color: color-mix(in srgb, var(--sd-text) 84%, white 16%);
}
.sd-cm-cards-empty {
  margin: 12px 0;
}
#sd-cm-drawer-body {
  padding: 18px 20px 28px;
}
#sd-cm-drawer-body .sd-sb-drawer-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}
@media (max-width: 520px) {
  #sd-cm-drawer-body .sd-sb-drawer-form__grid {
    grid-template-columns: 1fr;
  }
}
#sd-cm-drawer-body .sd-sb-drawer-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
#sd-cm-drawer-body .sd-sb-drawer-form__field--wide {
  grid-column: 1 / -1;
}
#sd-cm-drawer-body .sd-sb-drawer-form .sd-sb-drawer-form__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--sd-muted);
}
#sd-cm-drawer-body .sd-sb-drawer-form__input,
#sd-cm-drawer-body .sd-sb-drawer-form__textarea {
  width: 100%;
  box-sizing: border-box;
}
#sd-cm-drawer-body .sd-sb-drawer-form__actions {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
#sd-cm-drawer-body .sd-sb-drawer-form__mono {
  font-family: ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;
  font-size: 13px;
  color: var(--sd-text);
  word-break: break-all;
}
#sd-cm-drawer-body .sd-cm-drawer-clear-row.sd-sb-drawer-form__field {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
}

.sd-cm-add-field-filter {
  min-width: 36px;
  padding: 8px 10px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}
.sd-cm-add-field-filter__plus {
  display: block;
}
#sd-client-mgmt-root {
  position: relative;
}
.sd-cm-root.sd-stores-page {
  width: 100%;
}
.sd-cm-tenant-modal-body textarea.sd-input {
  width: 100%;
  box-sizing: border-box;
  min-height: 72px;
}

/* ??? Login overlay (auth-desktop.js) ? two-column card, theme tokens only ??? */
.sd-login-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  box-sizing: border-box;
  /* Soft airy backdrop (per theme): warm accent wash + cool muted wash over a gentle diagonal base */
  background:
    radial-gradient(ellipse 88% 72% at 8% 4%, color-mix(in srgb, var(--sd-accent) 22%, var(--sd-bg)), transparent 58%),
    radial-gradient(ellipse 78% 68% at 98% 96%, color-mix(in srgb, var(--sd-muted) 20%, var(--sd-bg)), transparent 56%),
    linear-gradient(
      132deg,
      color-mix(in srgb, var(--sd-accent) 11%, var(--sd-bg)) 0%,
      var(--sd-bg) 38%,
      color-mix(in srgb, var(--sd-surface) 32%, var(--sd-bg)) 100%
    );
  font-family: var(--sd-font);
}
/* Dark themes: keep the wash subtle so the card still pops */
html.theme-dark .sd-login-overlay,
html.theme-path .sd-login-overlay,
html.theme-greenday .sd-login-overlay {
  background:
    radial-gradient(ellipse 82% 68% at 10% 6%, color-mix(in srgb, var(--sd-accent) 14%, var(--sd-bg)), transparent 60%),
    radial-gradient(ellipse 72% 62% at 96% 94%, color-mix(in srgb, var(--sd-muted) 12%, var(--sd-bg)), transparent 54%),
    linear-gradient(
      132deg,
      color-mix(in srgb, var(--sd-accent) 7%, var(--sd-bg)) 0%,
      var(--sd-bg) 44%,
      color-mix(in srgb, var(--sd-surface) 22%, var(--sd-bg)) 100%
    );
}
html.theme-vintage .sd-login-overlay, html.theme-shelfy .sd-login-overlay {
  background:
    radial-gradient(ellipse 90% 74% at 6% 2%, color-mix(in srgb, var(--sd-accent) 28%, var(--sd-bg)), transparent 58%),
    radial-gradient(ellipse 80% 70% at 100% 98%, color-mix(in srgb, var(--sd-muted) 18%, var(--sd-bg)), transparent 56%),
    linear-gradient(
      128deg,
      color-mix(in srgb, var(--sd-accent) 14%, var(--sd-bg)) 0%,
      var(--sd-bg) 36%,
      color-mix(in srgb, var(--sd-surface) 40%, var(--sd-bg)) 100%
    );
}
.sd-login-shell {
  width: min(960px, 100%);
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, 1fr);
  border-radius: var(--sd-home-card-radius);
  overflow: hidden;
  background: var(--sd-surface);
  color: var(--sd-text);
  /* Layered elevation: small contact shadow + modest falloff (avoids one huge blur / ?halo?) */
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.05),
    0 8px 22px -4px rgba(15, 23, 42, 0.1);
  border: 1px solid var(--sd-border);
}
html.theme-dark .sd-login-shell,
html.theme-path .sd-login-shell,
html.theme-greenday .sd-login-shell,
html.theme-vintage .sd-login-shell, html.theme-shelfy .sd-login-shell {
  /* Dark page bg: keep shadow tight and neutral so it doesn?t read as a gray fog */
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.35),
    0 6px 18px -2px rgba(0, 0, 0, 0.45);
}
.sd-login-pane--form {
  padding: 36px 40px 40px;
  box-sizing: border-box;
}
.sd-login-heading {
  margin: 0 0 10px;
  font-size: clamp(1.45rem, 2.6vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--sd-text);
}
.sd-login-sub {
  margin: 0 0 28px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--sd-muted);
}
.sd-login-field {
  margin-bottom: 18px;
}
.sd-login-field__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sd-text);
  margin-bottom: 8px;
}
.sd-login-input-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--sd-border);
  border-radius: var(--sd-home-card-radius);
  background: var(--sd-surface);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sd-login-input-wrap:focus-within {
  border-color: var(--sd-input-focus-border);
  box-shadow: var(--sd-input-focus-ring);
}
.sd-login-input__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 14px;
  color: var(--sd-muted);
  flex-shrink: 0;
}
.sd-login-input__icon-svg {
  display: block;
}
.sd-login-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: var(--sd-text);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.35;
  padding: 14px 16px 14px 10px;
  border-radius: var(--sd-home-card-radius);
  outline: none;
  box-sizing: border-box;
}
.sd-login-input::placeholder {
  color: color-mix(in srgb, var(--sd-muted) 75%, transparent);
}
.sd-login-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 6px;
  flex-wrap: wrap;
}
.sd-login-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--sd-text);
  cursor: pointer;
  user-select: none;
}
.sd-login-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--sd-accent);
  cursor: pointer;
}
.sd-login-link {
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--sd-accent);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sd-login-link:hover {
  color: var(--sd-accent-hover);
}
.sd-login-forgot-hint {
  margin: 0 0 12px;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--sd-muted);
}
.sd-login-err {
  margin: 0 0 12px;
  font-size: 0.875rem;
  line-height: 1.4;
  color: color-mix(in srgb, #b91c1c 88%, var(--sd-text));
}
.sd-login-submit {
  width: 100%;
  margin-top: 8px;
  padding: 14px 20px;
  border-radius: var(--sd-home-card-radius);
  font-size: 1rem;
  font-weight: 700;
}
.sd-login-pane--hero {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  /* Match login-hero-shelflife.png canvas (white) so the image blends into the pane */
  background: #ffffff;
  border-left: 1px solid var(--sd-border);
  justify-content: stretch;
  align-items: stretch;
  min-height: min(52vh, 520px);
  overflow: hidden;
  align-self: stretch;
}
.sd-login-hero-stack {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: 100%;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 0;
}
/* Outer image frame ? no border/shadow (flat against the hero pane). */
.sd-login-hero-stack__figure {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  background: transparent;
  box-shadow: none;
}
html.theme-dark .sd-login-hero-stack__figure,
html.theme-path .sd-login-hero-stack__figure,
html.theme-greenday .sd-login-hero-stack__figure,
html.theme-vintage .sd-login-hero-stack__figure,
html.theme-shelfy .sd-login-hero-stack__figure {
  background: transparent;
  box-shadow: none;
}
.sd-login-hero-stack__media {
  position: relative;
  flex: 1;
  min-height: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  box-sizing: border-box;
  border: none;
  outline: none;
  background: transparent;
  box-shadow: none;
}
.sd-login-hero__main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
  display: block;
  border: none;
  outline: none;
}
@media (max-width: 800px) {
  .sd-login-shell {
    grid-template-columns: 1fr;
    max-height: min(100vh - 32px, 900px);
    overflow-y: auto;
  }
  .sd-login-pane--hero {
    border-left: none;
    border-top: 1px solid var(--sd-border);
    order: 2;
    padding: 0;
    min-height: min(280px, 42vh);
    justify-content: stretch;
    flex-direction: column;
  }
  .sd-login-hero-stack {
    min-height: min(280px, 42vh);
  }
}

/* ---- Shelf View + Add tabs + Shelves/Stores/Categories/Tasks lists: data-grid column headers ---- */
#sd-sb-page-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-u2-page-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-s1-page-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-stores-page-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-categories-page-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-tasks-page-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-client-settings-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-client-mgmt-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-data-collection-root .sd-stores-table--split-head thead th.sd-dg-th,
#sd-insight-explore-root .sd-stores-table--split-head thead th.sd-dg-th {
  position: relative;
  cursor: default;
  padding-right: 8px;
}
#sd-sb-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-u2-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-s1-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-stores-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-categories-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-tasks-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-client-settings-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-client-mgmt-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-data-collection-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging,
#sd-insight-explore-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--dragging {
  opacity: 0.5;
}
#sd-sb-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-u2-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-s1-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-stores-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-categories-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-tasks-page-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-client-settings-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-client-mgmt-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-data-collection-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target,
#sd-insight-explore-root .sd-stores-table--split-head thead th.sd-dg-th.sd-dg-th--drop-target {
  box-shadow: inset 2px 0 0 var(--sd-accent);
}
.sd-dg-th__inner {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
}
.sd-dg-th__label {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  text-align: left;
  cursor: pointer;
}
.sd-dg-th__label:hover {
  color: var(--sd-text);
}
.sd-dg-th__label:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.sd-dg-th__label--active {
  color: var(--sd-text);
}
.sd-dg-th__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.sd-dg-th__caret {
  flex: 0 0 auto;
  font-size: 10px;
  line-height: 1;
  color: var(--sd-accent);
}
.sd-dg-th__menu {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--sd-muted);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s ease;
}
th.sd-dg-th:hover .sd-dg-th__menu,
th.sd-dg-th:focus-within .sd-dg-th__menu,
th.sd-dg-th.sd-dg-th--menu-open .sd-dg-th__menu {
  opacity: 1;
}
.sd-dg-th__menu:hover {
  background: color-mix(in srgb, var(--sd-muted) 14%, transparent);
  color: var(--sd-text);
}
.sd-dg-th__menu:focus-visible {
  opacity: 1;
  outline: 2px solid var(--sd-accent);
  outline-offset: 1px;
}
.sd-dg-th__resizer {
  position: absolute;
  top: 0;
  right: 0;
  width: 9px;
  height: 100%;
  cursor: col-resize;
  user-select: none;
  touch-action: none;
  z-index: 3;
}
.sd-dg-th__resizer::after {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  right: 4px;
  width: 1px;
  background: var(--sd-border);
  opacity: 0;
  transition: opacity 0.12s ease, top 0.12s ease, bottom 0.12s ease, width 0.12s ease, background-color 0.12s ease;
}
/* Full-height resize handle on header hover (all data-grid tables) */
th.sd-dg-th:hover .sd-dg-th__resizer::after,
th.sd-dg-th:focus-within .sd-dg-th__resizer::after,
.sd-dg-th__resizer.sd-dg-th__resizer--active::after {
  top: 0;
  bottom: 0;
  right: 3px;
  width: 2px;
  background: color-mix(in srgb, var(--sd-accent, #2563eb) 72%, var(--sd-border));
  opacity: 1;
}
.sd-dg-th__resizer:hover::after,
.sd-dg-th__resizer.sd-dg-th__resizer--active::after {
  background: var(--sd-accent, #2563eb);
}
.sd-dg-resize-guide {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  margin: 0;
  padding: 0;
  border: none;
  border-left: 2px solid var(--sd-accent, #2563eb);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sd-accent, #2563eb) 28%, transparent);
  pointer-events: none;
  z-index: 10050;
  transform: translateX(-1px);
}
html.sd-dg-resizing,
html.sd-dg-resizing * {
  cursor: col-resize !important;
  user-select: none !important;
}
.sd-dg-col-menu .sd-home-activity-menu__opt[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}
.sd-dg-col-menu__sep {
  height: 1px;
  margin: 4px 6px;
  background: var(--sd-border);
}

/* ?? Template Manager (Stores table chrome) ?? */
#sd-tm-root.sd-tm-page {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
/* Same flush tab-line alignment as Admin Settings (.sd-settings-tabs-wrap). */
#sd-tm-root .sd-data-collection-tabs-wrap {
  margin-bottom: 0;
}
#sd-tm-root .sd-data-collection-tabs-wrap .sd-stores-drawer__tabs {
  padding-left: 0;
  padding-right: 0;
  border-bottom: none;
}
.sd-tm-page .sd-tm-card {
  margin-top: 0.75rem;
  overflow: visible;
}
.sd-tm-head { margin-bottom: 0.75rem; }
.sd-tm-tab-panel[hidden] { display: none !important; }

/* Product List Templates + Global Column Mappings: flush page layout (no card) */
#sd-tm-root #sd-tm-panel-product > .sd-tm-panel-head,
#sd-tm-root #sd-tm-panel-column-mapper .sd-tm-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0.75rem 0 0.75rem;
  width: 100%;
  box-sizing: border-box;
  border-top: none;
}
#sd-tm-root .sd-tm-panel-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 16rem;
  min-width: 0;
}
#sd-tm-root .sd-tm-panel-head .sd-settings-section-title {
  margin: 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
#sd-tm-root .sd-tm-panel-head .sd-settings-section-desc {
  margin: 6px 0 0;
  align-self: stretch;
  width: 100%;
  text-align: left;
  max-width: none;
}
#sd-tm-root .sd-tm-panel-head__actions {
  flex: 0 0 auto;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}
#sd-tm-root #sd-tm-panel-product .sd-toolbar--stores,
#sd-tm-root #sd-tm-panel-column-mapper .sd-toolbar--stores {
  margin-top: 0;
}

#sd-tm-root .sd-stores-filter-stacks {
  margin-top: 8px;
}
#sd-tm-root .sd-stores-filter-match-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  flex: 1 1 0;
  min-width: 0;
}
#sd-tm-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary {
  flex: 1 0 100%;
  min-width: 0;
  width: 100%;
}
#sd-tm-root .sd-stores-filter-match-main > .sd-stores-filter-chips--primary:empty {
  display: none;
}
#sd-tm-root .sd-stores-filter-text-btn {
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
#sd-tm-root .sd-stores-filter-text-btn__icon {
  display: block;
  flex-shrink: 0;
}
#sd-tm-root #sd-tm-actions.sd-stores-actions-menu-btn {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  border-radius: 6px;
  min-width: 0;
}
#sd-tm-root .sd-stores-filter-chips.sd-stores-filter-chips--primary {
  margin-bottom: 0;
}
#sd-tm-root .sd-stores-table-head {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 8px;
  border-top: none;
  background: transparent;
}
#sd-tm-root #sd-tm-count {
  padding-left: 10px;
}
#sd-tm-root .sd-stores-table-head > .sd-stores-table-head__tools {
  margin-right: 10px;
}
#sd-tm-root .sd-stores-table-section .sd-stores-table-scroll-shell .sd-stores-table-split {
  max-height: min(70vh, 900px);
}
#sd-tm-root .sd-stores-table-section .sd-stores-table-scroll-shell:has(.sd-list-empty-scroll) .sd-stores-table-split {
  max-height: none;
  height: auto;
}
#sd-tm-table-head,
#sd-tm-table {
  width: max-content;
  max-width: none;
  box-sizing: border-box;
}
#sd-tm-table-head thead th.sd-stores-th,
#sd-tm-table tbody td.sd-stores-td {
  text-align: left;
  vertical-align: middle;
}
#sd-tm-table tbody tr.sd-stores-tr > td {
  padding-top: 8px;
  padding-bottom: 8px;
  box-sizing: border-box;
}
#sd-tm-table tbody tr.sd-stores-tr:not(:has(> td.sd-stores-table__td-select input.sd-stores-table__row-cb)):hover td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-tm-table-head.sd-table.sd-stores-table thead th.sd-stores-th--select,
#sd-tm-table.sd-table.sd-stores-table tbody td.sd-stores-table__td-select {
  text-align: center;
  vertical-align: middle;
  width: 2.5rem;
}
#sd-tm-table .sd-tm-td--name .sd-tm-name-cell {
  font-weight: 600;
  font-size: 13px;
}
#sd-tm-table .sd-tm-td--desc,
#sd-tm-table .sd-tm-td--num,
#sd-tm-table .sd-tm-td--health {
  text-align: left;
  vertical-align: middle;
}
#sd-tm-table .sd-tm-td--num {
  font-variant-numeric: tabular-nums;
}
#sd-tm-table-head thead th.sd-stores-th .sd-dg-th__inner,
#sd-tm-table-head thead th.sd-stores-th .sd-dg-th__label {
  justify-content: flex-start;
  text-align: left;
}
#sd-tm-table tbody tr.sd-stores-group-row > td {
  text-align: left;
  vertical-align: middle;
}

/* Actions button: Insights muted size */
#sd-tm-actions.sd-stores-actions-menu-btn {
  min-width: 88px;
  padding-left: 10px;
  padding-right: 10px;
}

/* Shared Actions: match Insights/Shelves Actions (muted accent, 40px) */
#sd-stores-actions-menu-btn.sd-btn--secondary,
#sd-tasks-actions-menu-btn.sd-btn--secondary,
#sd-categories-actions-btn.sd-btn--secondary,
#sd-sb-actions-btn.sd-btn--secondary,
#sd-u2-actions-btn.sd-btn--secondary,
#sd-cm-actions-btn.sd-btn--secondary,
#sd-cs-actions-btn.sd-btn--secondary,
#sd-dc-runlogs-actions-btn.sd-btn--secondary,
#sd-prod-actions-btn.sd-btn--secondary,
#sd-s1-actions-btn.sd-btn--secondary,
#sd-tm-actions.sd-btn--secondary,
#sd-settings-db-backup-actions.sd-btn--secondary,
#sd-settings-column-mapper-actions.sd-btn--secondary,
#sd-lh-actions-btn.sd-btn--secondary,
#sd-insight-explore-actions-btn.sd-btn--secondary {
  box-sizing: border-box;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  width: auto;
  min-width: 88px;
  padding: 0 10px;
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sd-accent) 12%, var(--sd-surface));
  border: 1px solid var(--sd-border);
  color: color-mix(in srgb, var(--sd-accent) 72%, var(--sd-text));
  box-shadow: none;
}
#sd-stores-actions-menu-btn.sd-btn--secondary:hover:not(:disabled),
#sd-tasks-actions-menu-btn.sd-btn--secondary:hover:not(:disabled),
#sd-categories-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-sb-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-u2-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-cm-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-cs-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-dc-runlogs-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-prod-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-s1-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-tm-actions.sd-btn--secondary:hover:not(:disabled),
#sd-settings-db-backup-actions.sd-btn--secondary:hover:not(:disabled),
#sd-settings-column-mapper-actions.sd-btn--secondary:hover:not(:disabled),
#sd-lh-actions-btn.sd-btn--secondary:hover:not(:disabled),
#sd-insight-explore-actions-btn.sd-btn--secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 18%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-border));
  color: color-mix(in srgb, var(--sd-accent) 82%, var(--sd-text));
  box-shadow: none;
}
#sd-stores-actions-menu-btn.sd-btn--secondary:focus-visible,
#sd-tasks-actions-menu-btn.sd-btn--secondary:focus-visible,
#sd-categories-actions-btn.sd-btn--secondary:focus-visible,
#sd-sb-actions-btn.sd-btn--secondary:focus-visible,
#sd-u2-actions-btn.sd-btn--secondary:focus-visible,
#sd-cm-actions-btn.sd-btn--secondary:focus-visible,
#sd-cs-actions-btn.sd-btn--secondary:focus-visible,
#sd-dc-runlogs-actions-btn.sd-btn--secondary:focus-visible,
#sd-prod-actions-btn.sd-btn--secondary:focus-visible,
#sd-s1-actions-btn.sd-btn--secondary:focus-visible,
#sd-tm-actions.sd-btn--secondary:focus-visible,
#sd-settings-db-backup-actions.sd-btn--secondary:focus-visible,
#sd-settings-column-mapper-actions.sd-btn--secondary:focus-visible,
#sd-lh-actions-btn.sd-btn--secondary:focus-visible,
#sd-insight-explore-actions-btn.sd-btn--secondary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sd-accent) 55%, transparent);
  outline-offset: 2px;
}
html.theme-dark #sd-stores-actions-menu-btn.sd-btn--secondary,
html.theme-dark #sd-tasks-actions-menu-btn.sd-btn--secondary,
html.theme-dark #sd-categories-actions-btn.sd-btn--secondary,
html.theme-dark #sd-sb-actions-btn.sd-btn--secondary,
html.theme-dark #sd-u2-actions-btn.sd-btn--secondary,
html.theme-dark #sd-cm-actions-btn.sd-btn--secondary,
html.theme-dark #sd-cs-actions-btn.sd-btn--secondary,
html.theme-dark #sd-dc-runlogs-actions-btn.sd-btn--secondary,
html.theme-dark #sd-prod-actions-btn.sd-btn--secondary,
html.theme-dark #sd-s1-actions-btn.sd-btn--secondary,
html.theme-dark #sd-tm-actions.sd-btn--secondary,
html.theme-dark #sd-settings-db-backup-actions.sd-btn--secondary,
html.theme-dark #sd-settings-column-mapper-actions.sd-btn--secondary,
html.theme-dark #sd-lh-actions-btn.sd-btn--secondary,
html.theme-dark #sd-insight-explore-actions-btn.sd-btn--secondary {
  background: color-mix(in srgb, var(--sd-accent) 20%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 36%, var(--sd-border));
  color: color-mix(in srgb, var(--sd-accent) 40%, var(--sd-text));
  box-shadow: none;
}
html.theme-dark #sd-stores-actions-menu-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-tasks-actions-menu-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-categories-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-sb-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-u2-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-cm-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-cs-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-dc-runlogs-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-prod-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-s1-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-tm-actions.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-settings-db-backup-actions.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-settings-column-mapper-actions.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-lh-actions-btn.sd-btn--secondary:hover:not(:disabled),
html.theme-dark #sd-insight-explore-actions-btn.sd-btn--secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--sd-accent) 28%, var(--sd-surface));
  border-color: color-mix(in srgb, var(--sd-accent) 48%, var(--sd-border));
  color: color-mix(in srgb, var(--sd-accent) 32%, var(--sd-text));
  box-shadow: none;
}
.sd-tm-health {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.15rem 0.45rem;
  border-radius: 0.25rem;
  white-space: nowrap;
}
.sd-tm-health--ok {
  color: var(--sd-success, #166534);
  background: color-mix(in srgb, var(--sd-success, #166534) 12%, transparent);
}
.sd-tm-health--warn {
  color: var(--sd-warning-fg, #92400e);
  background: color-mix(in srgb, var(--sd-warning, #f59e0b) 18%, transparent);
}
html.theme-dark .sd-tm-health--ok {
  color: #81c784;
  background: rgba(46, 125, 50, 0.22);
}
html.theme-dark .sd-tm-health--warn {
  color: #ffcc80;
  background: rgba(245, 158, 11, 0.22);
}
.sd-tm-wizard-panel {
  max-width: min(920px, 96vw) !important;
  width: 100%;
  display: flex;
  flex-direction: column;
  max-height: min(90vh, 720px);
  overflow: hidden !important;
}
.sd-tm-wizard-subname {
  margin: 0.15rem 0 0;
  font-size: 0.875rem;
}
#sd-tm-wizard .sd-stores-modal__head,
#sd-tm-wizard .sd-cs-wizard-breadcrumb,
#sd-tm-wizard .sd-tm-wizard-warn,
#sd-tm-wizard .sd-stores-modal__actions {
  flex: 0 0 auto;
}
.sd-tm-wizard-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  margin-bottom: 12px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--sd-muted) 42%, var(--sd-border)) transparent;
}
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-track,
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-track-piece {
  background: transparent;
}
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--sd-muted) 40%, var(--sd-border));
  border-radius: 9999px;
  border: 1px solid transparent;
  background-clip: padding-box;
}
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--sd-muted) 28%, var(--sd-text));
  background-clip: padding-box;
}
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-button,
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-button:vertical:start:decrement,
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-button:vertical:end:increment,
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-button:horizontal:start:decrement,
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-button:horizontal:end:increment,
#sd-tm-wizard .sd-tm-wizard-body::-webkit-scrollbar-corner {
  display: none;
  width: 0;
  min-width: 0;
  height: 0;
  min-height: 0;
}
html.theme-dark #sd-tm-wizard .sd-tm-wizard-body {
  scrollbar-color: color-mix(in srgb, rgba(255, 255, 255, 0.26) 75%, transparent) transparent;
}
.sd-tm-wizard-warn {
  margin: 0 0 0.75rem;
  color: var(--sd-warning-fg, #92400e);
  font-size: 0.875rem;
}
/* Step 1: match Add user wizard field spacing + info tooltips */
#sd-tm-wizard .sd-tm-wizard-step1 {
  gap: 14px;
  padding-top: 4px;
}
#sd-tm-wizard .sd-cm-field-label-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
#sd-tm-wizard .sd-cm-field-label-row .sd-settings-section-label {
  margin-bottom: 0;
}
#sd-tm-wizard .sd-cm-field-info {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: color-mix(in srgb, var(--sd-muted) 70%, var(--sd-text) 30%);
  cursor: pointer;
  line-height: 0;
  transition: color 0.15s ease, background-color 0.15s ease, transform 0.12s ease;
}
#sd-tm-wizard .sd-cm-field-info-svg {
  display: block;
  pointer-events: none;
}
#sd-tm-wizard .sd-cm-field-info:hover,
#sd-tm-wizard .sd-cm-field-info:focus-visible {
  color: var(--sd-accent);
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  transform: translateY(-0.5px);
  outline: none;
}
#sd-tm-wizard .sd-cm-field-info:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 1px;
}
#sd-tm-wizard .sd-cm-field-info__tip {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  bottom: auto;
  transform: translateY(-4px);
  z-index: 40;
  width: max-content;
  max-width: min(280px, 72vw);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--sd-border, #c9ced4);
  background: var(--sd-surface, #fff);
  color: var(--sd-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}
/* Portaled tips (body) ? above modal chrome; no help cursor / clipped overflow */
.sd-cm-field-info__tip.is-open {
  position: fixed !important;
  z-index: 100000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: none;
  margin: 0;
  cursor: default;
}
.sd-cm-field-info__tip.is-open::after {
  display: none;
}
#sd-tm-wizard .sd-cm-field-info__tip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 8px;
  border: 5px solid transparent;
  border-bottom-color: var(--sd-surface, #fff);
  filter: drop-shadow(0 -1px 0 var(--sd-border, #c9ced4));
}
#sd-tm-wizard .sd-cs-wizard-grid__row--two .sd-cs-wizard-grid__cell:last-child .sd-cm-field-info__tip {
  left: auto;
  right: 0;
}
#sd-tm-wizard .sd-cs-wizard-grid__row--two .sd-cs-wizard-grid__cell:last-child .sd-cm-field-info__tip::after {
  left: auto;
  right: 8px;
}
#sd-tm-wizard .sd-cm-field-info:hover .sd-cm-field-info__tip,
#sd-tm-wizard .sd-cm-field-info:focus-visible .sd-cm-field-info__tip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
html.theme-dark #sd-tm-wizard .sd-cm-field-info:hover,
html.theme-dark #sd-tm-wizard .sd-cm-field-info:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}
html.theme-dark #sd-tm-wizard .sd-cm-field-info__tip,
html.theme-dark .sd-cm-field-info__tip.is-open {
  background: var(--sd-surface, #1e2228);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.sd-tm-textarea { min-height: 4.5rem; resize: vertical; }
.sd-tm-picker-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: center;
  margin-bottom: 0.65rem;
}
.sd-tm-picker-toolbar .sd-input { flex: 1 1 12rem; min-width: 10rem; }
.sd-tm-check {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  white-space: nowrap;
}
.sd-tm-picker-scroll {
  max-height: min(42vh, 420px);
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--sd-border);
  border-radius: 0.35rem;
}
.sd-tm-picker-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.sd-tm-picker-col--check { width: 2.5rem; }
.sd-tm-picker-col--name { width: 34%; }
.sd-tm-picker-col--path { width: 38%; }
.sd-tm-picker-col--sample { width: auto; }
#sd-tm-wizard .sd-tm-picker-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--sd-bg, var(--sd-surface));
}
#sd-tm-wizard .sd-tm-picker-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
#sd-tm-wizard .sd-tm-picker-table tbody td.sd-stores-td {
  text-align: left;
  vertical-align: middle;
}
#sd-tm-wizard .sd-tm-picker-td--name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sd-tm-wizard .sd-tm-picker-td--path,
#sd-tm-wizard .sd-tm-picker-td--sample {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}
#sd-tm-wizard .sd-tm-picker-td--path.sd-tm-mono {
  word-break: break-word;
  overflow-wrap: anywhere;
}
.sd-tm-edit-cols-table .sd-tm-edit-col--ord { width: 3.25rem; }
.sd-tm-edit-cols-table .sd-tm-edit-col--name { width: 34%; }
.sd-tm-edit-cols-table .sd-tm-edit-col--path { width: 36%; }
.sd-tm-edit-cols-table .sd-tm-edit-col--health { width: 7.5rem; min-width: 7.5rem; }
.sd-tm-edit-cols-table .sd-tm-edit-col--actions { width: 6.5rem; min-width: 6.5rem; }
#sd-tm-wizard .sd-tm-edit-scroll {
  overflow-x: auto;
}
#sd-tm-wizard .sd-tm-edit-cols-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--sd-bg, var(--sd-surface));
}
#sd-tm-wizard .sd-tm-edit-cols-table th.sd-stores-th--shelf-sortable,
#sd-tm-wizard .sd-tm-edit-cols-table th.sd-stores-th--actions {
  cursor: default;
  min-width: 6.5rem;
}
#sd-tm-wizard .sd-tm-edit-cols-table th.sd-dg-th .sd-dg-th__text {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.25;
}
#sd-tm-wizard .sd-tm-edit-cols-table th.sd-dg-th .sd-dg-th__inner {
  min-width: 0;
  max-width: none;
}
#sd-tm-wizard .sd-tm-edit-cols-table th[data-col="health"] {
  min-width: 7.5rem;
}
#sd-tm-wizard .sd-tm-edit-cols-table th[data-col="actions"] {
  min-width: 6.5rem;
}
#sd-tm-wizard .sd-tm-edit-cols-table th[data-col="name"] {
  min-width: 9rem;
}
#sd-tm-wizard .sd-tm-edit-cols-table th[data-col="path"] {
  min-width: 8rem;
}
#sd-tm-wizard .sd-tm-edit-cols-table tbody td.sd-stores-td {
  text-align: left;
  vertical-align: middle;
}
#sd-tm-wizard .sd-tm-edit-cols-table tbody tr.sd-stores-tr:hover > td {
  background: var(--sd-hover-table-cell-bg);
}
#sd-tm-wizard .sd-tm-edit-td--ord,
#sd-tm-wizard .sd-tm-edit-th--ord {
  width: 3.25rem;
  min-width: 3.25rem;
  max-width: 3.25rem;
  padding-left: 4px;
  padding-right: 4px;
  text-align: center;
  vertical-align: middle;
}
#sd-tm-wizard .sd-tm-edit-td--name {
  white-space: nowrap;
  overflow: hidden;
}
#sd-tm-wizard .sd-tm-edit-fn-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
#sd-tm-wizard .sd-tm-edit-td--path {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}
#sd-tm-wizard .sd-tm-edit-td--health {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.3;
}
#sd-tm-wizard .sd-tm-edit-td--actions {
  white-space: nowrap;
  text-align: right;
  padding-left: 0.35rem;
  padding-right: 0.5rem;
}
#sd-tm-wizard .sd-tm-edit-rm-btn {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.75rem !important;
  white-space: nowrap;
  line-height: 1.2;
}
#sd-tm-wizard .sd-tm-ord {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
#sd-tm-wizard .sd-tm-ord-btn {
  width: 26px;
  height: 22px;
  min-width: 26px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: color-mix(in srgb, var(--sd-muted) 55%, var(--sd-text) 45%);
  line-height: 0;
  overflow: visible;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease, opacity 0.15s ease;
}
#sd-tm-wizard .sd-tm-ord-btn .sd-cm-ordinal-icon-svg {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  pointer-events: none;
}
#sd-tm-wizard .sd-tm-ord-btn:hover:not(:disabled) {
  background: var(--sd-surface-hover, rgba(0, 0, 0, 0.06));
  border-color: transparent;
  color: var(--sd-accent);
  transform: translateY(-0.5px);
}
#sd-tm-wizard .sd-tm-ord-btn:active:not(:disabled) {
  transform: translateY(0.5px);
  background: color-mix(in srgb, var(--sd-accent) 12%, transparent);
  color: var(--sd-accent);
}
#sd-tm-wizard .sd-tm-ord-btn:focus-visible {
  outline: 2px solid var(--sd-accent);
  outline-offset: 1px;
}
#sd-tm-wizard .sd-tm-ord-btn:disabled {
  opacity: 0.32;
  cursor: default;
  transform: none;
  background: transparent;
}
html.theme-dark #sd-tm-wizard .sd-tm-ord-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.08);
}
#sd-tm-wizard .sd-tm-tenant-scroll {
  overflow-x: hidden;
}
#sd-tm-wizard .sd-tm-tenant-table {
  width: 100%;
  table-layout: fixed;
}
#sd-tm-wizard .sd-tm-tenant-col--check { width: 2.25rem; }
#sd-tm-wizard .sd-tm-tenant-col--name { width: 58%; }
#sd-tm-wizard .sd-tm-tenant-col--slug { width: auto; }
#sd-tm-wizard .sd-tm-tenant-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--sd-bg, var(--sd-surface));
}
#sd-tm-wizard .sd-tm-tenant-td--name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sd-tm-wizard .sd-tm-tenant-td--slug {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}
#sd-tm-wizard .sd-tm-tenant-table th.sd-stores-th--shelf-sortable {
  cursor: default;
}
.sd-tm-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  word-break: break-word;
}
.sd-tm-summary-list {
  margin: 0.35rem 0 0;
  padding-left: 1.15rem;
  max-height: 10rem;
  overflow: auto;
}

/* Step 5 ? Amazon-style checkout review */
#sd-tm-wizard .sd-tm-review {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 2px 0 4px;
  width: 100%;
  box-sizing: border-box;
}
#sd-tm-wizard .sd-tm-review__intro {
  margin: 0 0 2px;
  padding: 0 2px;
}
#sd-tm-wizard .sd-tm-review__title {
  margin: 0 0 6px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--sd-text);
}
#sd-tm-wizard .sd-tm-review__lead {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--sd-muted);
  max-width: 42rem;
}
#sd-tm-wizard .sd-tm-review-panel {
  margin: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--sd-border) 88%, transparent);
  border-radius: 10px;
  background: var(--sd-surface, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  overflow: hidden;
  isolation: isolate;
}
#sd-tm-wizard .sd-tm-review-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 70%, transparent);
  background: color-mix(in srgb, var(--sd-bg, var(--sd-surface)) 72%, var(--sd-surface));
  border-radius: 0;
}
#sd-tm-wizard .sd-tm-review-panel__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--sd-text);
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
}
#sd-tm-wizard .sd-tm-review-panel__count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--sd-muted);
}
#sd-tm-wizard .sd-tm-review-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
}
#sd-tm-wizard .sd-tm-review-badge--ok {
  color: var(--sd-success, #166534);
  background: color-mix(in srgb, var(--sd-success, #166534) 12%, transparent);
}
#sd-tm-wizard .sd-tm-review-badge--warn {
  color: var(--sd-warning-fg, #92400e);
  background: color-mix(in srgb, var(--sd-warning, #f59e0b) 16%, transparent);
}
html.theme-dark #sd-tm-wizard .sd-tm-review-badge--ok {
  color: #81c784;
  background: rgba(46, 125, 50, 0.22);
}
html.theme-dark #sd-tm-wizard .sd-tm-review-badge--warn {
  color: #ffcc80;
  background: rgba(245, 158, 11, 0.22);
}
#sd-tm-wizard .sd-tm-review-badge--draft {
  color: var(--sd-muted);
  background: color-mix(in srgb, var(--sd-muted) 14%, transparent);
}
#sd-tm-wizard .sd-tm-review-dl {
  margin: 0;
  padding: 4px 16px 6px;
}
#sd-tm-wizard .sd-tm-review-dl__row {
  display: grid;
  grid-template-columns: minmax(7.5rem, 32%) minmax(0, 1fr);
  gap: 8px 20px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--sd-border) 45%, transparent);
}
#sd-tm-wizard .sd-tm-review-dl__row:last-child {
  border-bottom: none;
}
#sd-tm-wizard .sd-tm-review-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.4;
  padding-top: 1px;
}
#sd-tm-wizard .sd-tm-review-label-row {
  margin-bottom: 0;
  gap: 4px;
}
#sd-tm-wizard .sd-tm-review-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.4;
}
#sd-tm-wizard .sd-tm-review-dl__row dd {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--sd-text);
  line-height: 1.4;
  word-break: break-word;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
#sd-tm-wizard .sd-tm-review-dl__dd--muted {
  font-weight: 500;
  color: var(--sd-muted);
}
#sd-tm-wizard .sd-tm-review-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8125rem;
  font-weight: 600;
}
#sd-tm-wizard .sd-tm-review-example {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
}
#sd-tm-wizard .sd-tm-review-example code {
  font-weight: 600;
  color: var(--sd-text);
  background: transparent;
  padding: 0;
}
#sd-tm-wizard .sd-tm-review-cols,
#sd-tm-wizard .sd-tm-review-tenants {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: none;
  overflow: hidden;
}
#sd-tm-wizard .sd-tm-review-col {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr) auto;
  gap: 8px 10px;
  align-items: start;
  padding: 10px 16px;
  border-radius: 0;
}
#sd-tm-wizard .sd-tm-review-col:nth-child(odd),
#sd-tm-wizard .sd-tm-review-tenant:nth-child(odd) {
  background: color-mix(in srgb, var(--sd-muted) 5%, transparent);
}
#sd-tm-wizard .sd-tm-review-col__idx {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  margin-top: 1px;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--sd-muted);
  background: color-mix(in srgb, var(--sd-muted) 12%, transparent);
}
#sd-tm-wizard .sd-tm-review-col__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#sd-tm-wizard .sd-tm-review-col__name-row {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
#sd-tm-wizard .sd-tm-review-col__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--sd-text);
  line-height: 1.35;
  word-break: break-word;
}
#sd-tm-wizard .sd-tm-review-col__path {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.71875rem;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#sd-tm-wizard .sd-tm-review-yn {
  display: inline-flex;
  align-items: center;
  margin-top: 2px;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
  flex-shrink: 0;
}
#sd-tm-wizard .sd-tm-review-yn--yes {
  color: var(--sd-success, #166534);
  background: color-mix(in srgb, var(--sd-success, #166534) 12%, transparent);
}
#sd-tm-wizard .sd-tm-review-yn--no {
  color: var(--sd-warning-fg, #92400e);
  background: color-mix(in srgb, var(--sd-warning, #f59e0b) 16%, transparent);
}
html.theme-dark #sd-tm-wizard .sd-tm-review-yn--yes {
  color: #81c784;
  background: rgba(46, 125, 50, 0.22);
}
html.theme-dark #sd-tm-wizard .sd-tm-review-yn--no {
  color: #ffcc80;
  background: rgba(245, 158, 11, 0.22);
}
#sd-tm-wizard .sd-tm-review-tenant {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 0;
}
#sd-tm-wizard .sd-tm-review-tenant__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--sd-text);
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#sd-tm-wizard .sd-tm-review-empty {
  margin: 0;
  padding: 14px 16px 16px;
  list-style: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--sd-muted);
  line-height: 1.45;
}
#sd-tm-wizard .sd-tm-review-cols > .sd-tm-review-empty,
#sd-tm-wizard .sd-tm-review-tenants > .sd-tm-review-empty {
  padding: 12px 10px;
}
html.theme-dark #sd-tm-wizard .sd-tm-review-panel {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}
@media (max-width: 640px) {
  #sd-tm-wizard .sd-tm-review-dl__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 10px 0;
  }
  #sd-tm-wizard .sd-tm-review-col {
    grid-template-columns: 1.75rem minmax(0, 1fr);
  }
  #sd-tm-wizard .sd-tm-review-col .sd-tm-review-yn {
    grid-column: 2;
  }
}
}
