/* Console surfaces, including portalled menus and form drawers. */
body:has([data-slot="sidebar-wrapper"]) {
  --ad-control: rgba(239, 242, 245, .42);
  --ad-pane: rgba(237, 240, 244, .52);
  --ad-floating: rgba(240, 243, 247, .84);
  --ad-table-fixed: rgba(236, 239, 243, .88);
  --ad-table-hover: rgba(222, 229, 237, .92);
  --ad-surface-highlight: rgba(255, 255, 255, .76);
  --ad-surface-shadow: 0 12px 36px rgba(28, 36, 48, .10), inset 0 1px 0 var(--ad-surface-highlight);
  /* Inheritance reaches native components and their body-level portals. */
  --background: var(--ad-control);
  --card: var(--ad-glass);
  --popover: var(--ad-floating);
  --muted: rgba(208, 217, 228, .28);
  --table-row: var(--ad-pane);
  --table-header: var(--ad-table-fixed);
  --table-header-hover: var(--ad-table-hover);
  --table-disabled: rgba(204, 210, 219, .22);
  --table-disabled-hover: rgba(204, 210, 219, .35);
  --table-disabled-border: var(--ad-edge);
}
.dark body:has([data-slot="sidebar-wrapper"]) {
  --ad-control: rgba(53, 57, 64, .32);
  --ad-pane: rgba(38, 41, 47, .44);
  --ad-floating: rgba(34, 38, 44, .88);
  --ad-table-fixed: rgba(35, 39, 45, .92);
  --ad-table-hover: rgba(50, 56, 65, .94);
  --ad-surface-highlight: rgba(255, 255, 255, .11);
  --ad-surface-shadow: 0 12px 36px rgba(0, 0, 0, .24), inset 0 1px 0 var(--ad-surface-highlight);
  --muted: rgba(123, 137, 157, .15);
  --table-disabled: rgba(100, 110, 125, .10);
  --table-disabled-hover: rgba(100, 110, 125, .18);
}

/* Table frames, headers and pagination use the same material as the workspace. */
[data-slot="sidebar-inset"] div.rounded-lg.border:has(> div > div > [data-slot="table"]) {
  border-color: var(--ad-edge);
  background: var(--ad-shell);
  box-shadow: inset 0 1px 0 var(--ad-surface-highlight);
}
[data-slot="sidebar-inset"] [data-slot="table-header"] {
  background-color: var(--ad-table-fixed);
}
[data-slot="sidebar-inset"] :is([data-slot="table-header"], [data-slot="table-head"].sticky, [data-slot="table-cell"].sticky) {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
[data-slot="sidebar-inset"] [data-slot="table-cell"].sticky {
  background-color: var(--ad-table-fixed);
}
[data-slot="sidebar-inset"] [data-slot="table-row"]:is(:hover, [data-state="selected"]) [data-slot="table-cell"].sticky {
  background-color: var(--ad-table-hover);
}
[data-slot="sidebar-inset"] div.bg-background.border-t {
  background: var(--ad-pane);
  border-color: var(--ad-edge);
  box-shadow: inset 0 1px 0 var(--ad-surface-highlight);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

/* Neutral controls receive a faint reflected edge; semantic buttons retain
   their primary, destructive and selected colors. */
body:has([data-slot="sidebar-wrapper"]) :is(button.bg-background, [data-slot="select-trigger"], [data-slot="input"], [data-slot="textarea"], [data-slot="input-group"]) {
  background-color: var(--ad-control);
  border-color: var(--ad-edge);
  box-shadow: inset 0 1px 0 var(--ad-surface-highlight);
}
body:has([data-slot="sidebar-wrapper"]) :is(button.bg-background, [data-slot="select-trigger"]):is(:hover, [aria-expanded="true"]) {
  background-color: var(--muted);
}
[data-slot="sidebar-inset"] :is(.bg-white, [class~="bg-background/95"], [class~="bg-background/80"]) {
  background-color: var(--ad-pane);
}

/* Popovers are mounted outside the sidebar wrapper, so scope by page state. */
body:has([data-slot="sidebar-wrapper"]) :is([data-slot="popover-content"], [data-slot="dropdown-menu-content"], [data-slot="dropdown-menu-sub-content"], [data-slot="select-content"], [data-slot="combobox-content"], [data-slot="context-menu-content"], [data-slot="context-menu-sub-content"], [data-slot="hover-card-content"], [data-slot="dialog-content"], [data-slot="alert-dialog-content"], [data-slot="sheet-content"], [data-slot="drawer-content"]) {
  background-color: var(--ad-floating);
  background-image: linear-gradient(135deg, var(--ad-inner), transparent 70%);
  border-color: var(--ad-edge);
  box-shadow: var(--ad-surface-shadow);
  -webkit-backdrop-filter: blur(28px) saturate(1.1);
  backdrop-filter: blur(28px) saturate(1.1);
}
body:has([data-slot="sidebar-wrapper"]) :is([data-slot="popover-content"], [data-slot="dialog-content"]) [data-slot="command"] {
  background: transparent;
}
body:has([data-slot="sidebar-wrapper"]) :is([data-slot="sheet-footer"], [data-slot="dialog-footer"], [data-slot="drawer-footer"]) {
  background-color: var(--ad-pane);
  border-color: var(--ad-edge);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body:has([data-slot="sidebar-wrapper"]) {
    --ad-floating: #eef1f5;
    --ad-table-fixed: #e9edf2;
  }
  .dark body:has([data-slot="sidebar-wrapper"]) {
    --ad-floating: #24282e;
    --ad-table-fixed: #252930;
  }
}
