/* QYapi ordinary console: optical surfaces, unchanged component geometry. */
html[data-qy-liquid-glass] .qy-app-shell {
  --qy-glass-ink: #283349;
  --qy-glass-muted: #59657a;
  --qy-glass-fill: rgb(255 255 255 / 48%);
  --qy-glass-line: rgb(255 255 255 / 88%);
  --qy-glass-shadow: 0 8px 28px rgb(54 67 98 / 9%),
    inset 0 1px 1px rgb(255 255 255 / 96%),
    inset 0 -1px 2px rgb(105 115 170 / 12%);
  --qy-control-fill: rgb(255 255 255 / 42%);
  --qy-control-line: rgb(154 168 199 / 24%);
  --qy-control-shadow: inset 0 1px 1px #fff, inset 0 -1px 2px rgb(117 132 169 / 15%),
    0 2px 5px rgb(83 96 131 / 5%);
  --qy-glass-hover: rgb(255 255 255 / 82%);
  --qy-prompt-focus: #7958c9;
  --table-header: #eef2f9;
  --sidebar-accent: #e6e0fc;
  --sidebar-accent-foreground: #50358b;
  color: var(--qy-glass-ink);
}

html[data-qy-liquid-glass] body .qy-app-shell {
  background-color: #f4f6fa !important;
  background-image:
    linear-gradient(56deg, rgb(160 128 226 / 34%), transparent 32%),
    linear-gradient(290deg, rgb(104 202 230 / 28%), transparent 30%),
    image-set(
      url('/static/image/brand-20261017/qy-porcelain-1920.webp') 1x,
      url('/static/image/brand-20261017/qy-porcelain-3840.webp') 2x
    ) !important;
}

html[data-qy-liquid-glass] .qy-app-shell > header > div,
html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='sidebar'],
html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] {
  border: 1px solid var(--qy-glass-line);
  background: linear-gradient(132deg, rgb(255 255 255 / 24%), transparent 40%, rgb(221 240 255 / 15%)),
    var(--qy-glass-fill);
  box-shadow: var(--qy-glass-shadow);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}

html[data-qy-liquid-glass] .qy-app-shell > header > div {
  border-radius: 32px;
  padding-inline: 14px;
  box-shadow: 0 6px 22px rgb(54 67 98 / 9%), inset 0 2px 2px rgb(255 255 255 / 95%),
    inset 1px -1px 2px rgb(120 155 218 / 24%), inset -1px 0 2px rgb(202 168 233 / 32%);
}

html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='sidebar'] {
  border-radius: 24px;
}

html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] {
  border-radius: 24px;
  background-color: rgb(249 251 255 / 48%);
  backdrop-filter: blur(12px) saturate(112%);
  -webkit-backdrop-filter: blur(12px) saturate(112%);
}

html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='menu-button'],
html[data-qy-liquid-glass] .qy-app-shell > header nav > a {
  border-radius: 999px;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, color 160ms ease;
}

html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='group-label'] {
  color: var(--qy-glass-muted);
}

html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='menu-button'][data-active] {
  color: #50358b;
  background: linear-gradient(120deg, rgb(181 162 246 / 52%), rgb(217 209 255 / 65%));
  box-shadow: inset 0 1px 1px rgb(255 255 255 / 95%), 0 2px 7px rgb(118 91 174 / 9%);
}

html[data-qy-liquid-glass] .qy-app-shell > header :is(button, [role='button']),
html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset']
  :is(button[data-slot], input[data-slot='input']):not(table *):not([role='checkbox']):not([role='switch']) {
  border-radius: 999px;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

html[data-qy-liquid-glass] .qy-app-shell > header button:not([data-sidebar='trigger']),
html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset']
  :is(button[data-slot='button'], button[data-slot='popover-trigger'],
      button[data-slot='select-trigger'], button[data-slot='dropdown-menu-trigger'], input[data-slot='input']):not(table *):not([role='checkbox']):not([role='switch']) {
  border-color: var(--qy-control-line);
  background-image: linear-gradient(115deg, rgb(255 255 255 / 25%), transparent 55%);
  background-color: var(--qy-control-fill);
  box-shadow: var(--qy-control-shadow);
}

html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] button.bg-primary:not(table *) {
  color: #fff;
  background-color: #7451cb !important;
  background-image: linear-gradient(120deg, rgb(255 255 255 / 17%), transparent 70%);
  border-color: rgb(141 113 218 / 65%) !important;
  box-shadow: inset 0 1px 1px rgb(255 255 255 / 45%), 0 3px 10px rgb(100 72 173 / 16%);
}

html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] button.text-destructive:not(table *) {
  color: var(--destructive);
  background-color: color-mix(in oklch, var(--destructive) 10%, transparent) !important;
}

/* Give the existing filter strip a rim without inserting a new container. */
html[data-qy-liquid-glass] .qy-app-shell main div.rounded-lg.border:has(> div > div > div > input[data-slot='input']) {
  border-radius: 20px;
  border-color: var(--qy-control-line);
  background: rgb(255 255 255 / 24%);
  box-shadow: var(--qy-control-shadow);
}

html[data-qy-liquid-glass] .qy-app-shell [data-slot='table'] {
  color: var(--qy-glass-ink);
}

html[data-qy-liquid-glass] .qy-app-shell [data-slot='table-header'] {
  background: var(--table-header);
}

html[data-qy-liquid-glass] .qy-app-shell :is([data-slot='table-head'], [data-slot='table-cell']) {
  border-color: rgb(133 151 182 / 13%);
}

html[data-qy-liquid-glass] .qy-app-shell [data-slot='table-body'] [data-slot='table-row'] {
  transition: background-color 140ms ease, box-shadow 140ms ease;
}

html[data-qy-liquid-glass] .qy-app-shell :is(a, button, input, textarea, [role='combobox']):focus-visible {
  outline: 2px solid #7958c9;
  outline-offset: 3px;
}

/* The prompt field and its toolbar share one rounded focus surface. */
html[data-qy-liquid-glass] .qy-app-shell div:has(> textarea.field-sizing-content):focus-within {
  border-color: var(--qy-prompt-focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--qy-prompt-focus) 24%, transparent);
}

html[data-qy-liquid-glass] .qy-app-shell div:has(> textarea.field-sizing-content[aria-invalid='true']) {
  --qy-prompt-focus: var(--destructive);
}

html[data-qy-liquid-glass] .qy-app-shell textarea.field-sizing-content:focus-visible {
  outline: none;
}

/* Moving reflection is limited to the hovered navigation/control surface. */
html[data-qy-liquid-glass] .qy-app-shell [data-qy-glass-lit] {
  background-image: linear-gradient(var(--qy-glass-angle, 120deg), transparent 5%, rgb(255 255 255 / 42%) 45%, transparent 85%) !important;
}

@media (hover: hover) and (pointer: fine) {
  html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='menu-button']:not([aria-disabled='true']):hover {
    background-color: var(--qy-glass-hover);
    box-shadow: var(--qy-control-shadow);
    transform: translateX(2px);
  }

  html[data-qy-liquid-glass] .qy-app-shell > header nav > a:hover,
  html[data-qy-liquid-glass] .qy-app-shell :is(button, [role='combobox']):not(:disabled):not([aria-disabled='true']):not(table *):hover {
    border-color: rgb(146 127 209 / 45%);
    box-shadow: inset 0 1px 2px rgb(255 255 255 / 95%), 0 4px 12px rgb(100 83 157 / 15%);
    transform: translateY(-1px);
  }

  html[data-qy-liquid-glass] .qy-app-shell [data-slot='table-body'] [data-slot='table-row']:hover {
    background-color: rgb(139 117 213 / 7%);
    box-shadow: inset 3px 0 #a18acd;
  }
}

html[data-qy-liquid-glass] .qy-app-shell :is(button, [data-sidebar='menu-button']):not(:disabled):not([aria-disabled='true']):active {
  transform: translateY(1px) scale(0.985);
}

html[data-qy-liquid-glass] .qy-app-shell :is(button:disabled, [aria-disabled='true']) {
  box-shadow: none;
}

html[data-qy-liquid-glass] body:has(.qy-app-shell)
  :is([data-slot='dropdown-menu-content'], [data-slot='popover-content'], [data-slot='select-content']) {
  border-radius: 18px;
  border-color: rgb(176 182 207 / 35%);
  background: rgb(250 252 255 / 97%);
  box-shadow: 0 12px 35px rgb(49 61 92 / 17%), inset 0 1px #fff;
}

html.dark[data-qy-liquid-glass] .qy-app-shell {
  --qy-glass-ink: #edf0f7;
  --qy-glass-muted: #b9c4d6;
  --qy-glass-fill: rgb(28 33 47 / 78%);
  --qy-glass-line: rgb(197 208 235 / 24%);
  --qy-glass-shadow: 0 10px 30px rgb(0 0 0 / 20%), inset 0 1px rgb(231 235 255 / 22%), inset 0 -1px rgb(0 0 0 / 18%);
  --qy-control-fill: rgb(48 52 73 / 62%);
  --qy-control-line: rgb(166 177 210 / 26%);
  --qy-control-shadow: inset 0 1px rgb(221 227 255 / 15%), 0 2px 5px rgb(0 0 0 / 10%);
  --qy-glass-hover: rgb(79 69 110 / 78%);
  --qy-prompt-focus: #c4adff;
  --table-header: #252b3b;
  --sidebar-accent: #51406f;
  --sidebar-accent-foreground: #f3edff;
}

html.dark[data-qy-liquid-glass] body .qy-app-shell {
  background-image:
    linear-gradient(56deg, rgb(105 72 167 / 20%), transparent 38%),
    linear-gradient(290deg, rgb(59 125 150 / 15%), transparent 35%),
    linear-gradient(rgb(20 22 32 / 92%), rgb(20 22 32 / 92%)),
    url('/static/image/brand-20261017/qy-porcelain-1920.webp') !important;
}

html.dark[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] {
  background-color: rgb(28 33 47 / 70%);
}

html.dark[data-qy-liquid-glass] .qy-app-shell [data-sidebar='menu-button'][data-active] {
  color: #f3edff;
  background: rgb(112 86 162 / 55%);
}

html.dark[data-qy-liquid-glass] .qy-app-shell main div.rounded-lg.border:has(> div > div > div > input[data-slot='input']) {
  background: rgb(37 43 61 / 42%);
}

html.dark[data-qy-liquid-glass] .qy-app-shell [data-qy-glass-lit] {
  background-image: linear-gradient(var(--qy-glass-angle, 120deg), transparent, rgb(213 203 255 / 15%), transparent) !important;
}

html.dark[data-qy-liquid-glass] body:has(.qy-app-shell)
  :is([data-slot='dropdown-menu-content'], [data-slot='popover-content'], [data-slot='select-content']) {
  color: #edf0f7;
  background: rgb(32 37 52 / 98%);
  border-color: rgb(166 177 210 / 28%);
  box-shadow: 0 12px 35px rgb(0 0 0 / 30%), inset 0 1px rgb(255 255 255 / 12%);
}

@media (max-width: 767px) {
  html[data-qy-liquid-glass] .qy-app-shell > header > div { border-radius: 28px; padding-inline: 8px; }
  html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] { border-radius: 20px; }
  html[data-qy-liquid-glass] .qy-app-shell > header > div,
  html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] {
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
  }
  html[data-qy-liquid-glass] body .qy-app-shell {
    background-image: linear-gradient(56deg, rgb(160 128 226 / 20%), transparent 45%),
      url('/static/image/brand-20261017/qy-porcelain-960.webp') !important;
  }
  html.dark[data-qy-liquid-glass] body .qy-app-shell {
    background-image: linear-gradient(rgb(20 22 32 / 92%), rgb(20 22 32 / 92%)),
      url('/static/image/brand-20261017/qy-porcelain-960.webp') !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-qy-liquid-glass] .qy-app-shell :is(button, a, input, [data-slot='table-row']) {
    transition: none !important;
    transform: none !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  html[data-qy-liquid-glass] .qy-app-shell { --qy-glass-fill: #f4f6fb; --qy-control-fill: #f9faff; }
  html.dark[data-qy-liquid-glass] .qy-app-shell { --qy-glass-fill: #202635; --qy-control-fill: #2d3345; }
  html[data-qy-liquid-glass] .qy-app-shell > header > div,
  html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='sidebar'],
  html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] {
    background: var(--qy-glass-fill);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@supports not (backdrop-filter: blur(1px)) {
  html[data-qy-liquid-glass] .qy-app-shell > header > div,
  html[data-qy-liquid-glass] .qy-app-shell [data-sidebar='sidebar'],
  html[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] { background: #f4f6fb; }
  html.dark[data-qy-liquid-glass] .qy-app-shell > header > div,
  html.dark[data-qy-liquid-glass] .qy-app-shell [data-sidebar='sidebar'],
  html.dark[data-qy-liquid-glass] .qy-app-shell [data-slot='sidebar-inset'] { background: #202635; }
}
