/* 仪表盘同系页面共用色板；原有网格、顺序和尺寸由 shell.css 管理。 */
body.is-ethereal {
  --canvas: #07080b;
  --glass: rgba(255, 255, 255, .045);
  --glass-strong: rgba(255, 255, 255, .07);
  --glass-edge: rgba(255, 255, 255, .085);
  --glass-line: rgba(255, 255, 255, .05);
  --solid: #111318;
  --solid-quiet: #191c22;
  --solid-line: rgba(255, 255, 255, .085);
  --ink: #edeff3;
  --ink-1: #edeff3;
  --ink-2: #d2d7df;
  --ink-3: #a7adb9;
  --ink-4: #9097a4;
  --accent: #b9f86a;
  --accent-deep: #d2ff9e;
  --accent-wash: rgba(185, 248, 106, .13);
  --selection-field: #15171d;
  --selection-row: #111318;
  --selection-row-hover: #1c211c;
  --selection-active: #fff;
  --selection-active-text: #0b0c10;
  --selection-shadow: 0 20px 48px rgba(0, 0, 0, .3);
}

body.is-ethereal.dashboard-light {
  --canvas: #eceef3;
  --glass: rgba(255, 255, 255, .72);
  --glass-strong: rgba(255, 255, 255, .86);
  --glass-edge: rgba(15, 18, 25, .09);
  --glass-line: rgba(255, 255, 255, .86);
  --solid: #fff;
  --solid-quiet: #f4f5f8;
  --solid-line: rgba(15, 18, 25, .09);
  --ink: #14161c;
  --ink-1: #14161c;
  --ink-2: #303640;
  --ink-3: #58616e;
  --ink-4: #727b88;
  --accent: #4e9a2e;
  --accent-deep: #36751e;
  --accent-wash: rgba(104, 172, 63, .13);
  --selection-field: rgba(255, 255, 255, .88);
  --selection-row: rgba(255, 255, 255, .88);
  --selection-row-hover: #f3f8ed;
  --selection-active: #12141a;
  --selection-active-text: #fff;
  --selection-shadow: 0 18px 40px rgba(30, 35, 60, .1);
}

body.is-ethereal .backdrop {
  background:
    radial-gradient(45% 38% at 16% 4%, rgba(145, 199, 111, .14), transparent 75%),
    radial-gradient(46% 42% at 91% 88%, rgba(122, 106, 190, .13), transparent 77%),
    var(--canvas);
}

body.is-ethereal.dashboard-light .backdrop {
  background:
    radial-gradient(45% 38% at 16% 4%, rgba(145, 199, 111, .16), transparent 75%),
    radial-gradient(46% 42% at 91% 88%, rgba(122, 106, 190, .1), transparent 77%),
    var(--canvas);
}

body.is-ethereal .backdrop .orb { opacity: 0; animation: none; will-change: auto; }
body.is-ethereal .backdrop::after { opacity: .25; }

body.is-selection .selection-dashboard {
  color: var(--ink);
  font-family: "Plus Jakarta Sans", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  border-color: var(--glass-edge);
  border-radius: 26px;
  background: var(--glass);
  box-shadow: var(--selection-shadow), inset 0 1px 0 var(--glass-line);
}

body.is-selection .selection-tabs,
body.is-selection .selection-form,
body.is-selection .selection-actions { border-bottom-color: var(--solid-line); }

body.is-selection .selection-tab {
  border-color: var(--glass-edge);
  border-radius: 10px;
  background: var(--glass-strong);
  color: var(--ink-2);
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.is-selection .selection-tab b { color: inherit; font-size: 14px; line-height: 20px; }
body.is-selection .selection-tab:hover { border-color: var(--accent); background: var(--accent-wash); transform: translateY(-1px); }
body.is-selection .selection-tab:active { transform: translateY(0); }
body.is-selection .selection-tab.is-active {
  border-color: var(--selection-active);
  background: var(--selection-active);
  color: var(--selection-active-text);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}

body.is-selection .selection-level-toggle { border-color: var(--glass-edge); background: var(--glass-strong); }
body.is-selection .selection-level-toggle button { color: var(--ink-3); font-size: 14px; transition: color .2s ease, background .2s ease; }
body.is-selection .selection-level-toggle button:hover { color: var(--ink); }
body.is-selection .selection-level-toggle button.is-active {
  background: var(--selection-active);
  color: var(--selection-active-text);
  box-shadow: 0 5px 14px rgba(0, 0, 0, .12);
}

body.is-selection .selection-variant-merge,
body.is-selection .selection-variant-merge b,
body.is-selection .selection-filter > span,
body.is-selection .selection-filter .tiny-check { color: var(--ink-2); font-size: 14px; }
body.is-selection .selection-filter > span { line-height: 19px; }
body.is-selection .selection-switch-ui { background: var(--glass-strong); box-shadow: inset 0 0 0 1px var(--glass-edge); }
body.is-selection .selection-variant-merge input:checked + .selection-switch-ui { background: var(--accent); }
body.is-selection .selection-variant-merge input:checked + .selection-switch-ui::after { background: #111318; }
body.is-selection .selection-variant-merge em { background: var(--glass-strong); color: var(--ink-3); font-size: 14px; }

body.is-selection .input,
body.is-selection .selection-category-trigger {
  border-color: var(--solid-line);
  background-color: var(--selection-field);
  color: var(--ink);
  font-size: 14px;
}

body.is-selection .input::placeholder,
body.is-selection .selection-category-placeholder { color: var(--ink-4); }
body.is-selection .input:hover,
body.is-selection .selection-category-trigger:hover { border-color: var(--ink-4); }
body.is-selection .input:focus,
body.is-selection .selection-category-trigger:focus-visible {
  border-color: var(--accent);
  background-color: var(--selection-field);
  box-shadow: 0 0 0 3px var(--accent-wash);
}
body.is-selection select.input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23a7adb9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
}
body.is-selection.dashboard-light select.input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2358616e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
}
body.is-selection .range-inputs em,
body.is-selection .selection-page-total { color: var(--ink-3); font-size: 14px; }

body.is-selection .selection-status {
  border-color: var(--glass-edge);
  background: var(--glass-strong);
  color: var(--ink-3);
  font-size: 14px;
}
body.is-selection .selection-actions .btn-ghost,
body.is-selection .selection-row-actions button {
  border-color: var(--glass-edge);
  background: var(--glass-strong);
  color: var(--ink-2);
}
body.is-selection .selection-actions .btn-ghost:hover:not(:disabled),
body.is-selection .selection-row-actions button:hover {
  border-color: var(--accent);
  background: var(--accent-wash);
  color: var(--accent-deep);
  box-shadow: none;
  transform: translateY(-1px);
}
body.is-selection .selection-actions .btn-ghost:active:not(:disabled) { transform: translateY(0); }
body.is-selection .selection-actions .btn-sm { font-size: 14px; }
body.is-selection .selection-actions .btn-primary,
body.is-selection .selection-category-footer .primary,
body.is-selection .selection-modal .btn-primary,
body.is-selection .selection-store-modal .btn-primary {
  border-color: transparent;
  background: #b9f86a;
  color: #10130b;
  box-shadow: 0 5px 18px rgba(185, 248, 106, .18);
}
body.is-selection.dashboard-light .selection-actions .btn-primary,
body.is-selection.dashboard-light .selection-category-footer .primary,
body.is-selection.dashboard-light .selection-modal .btn-primary,
body.is-selection.dashboard-light .selection-store-modal .btn-primary {
  background: #12141a;
  color: #fff;
  box-shadow: 0 5px 18px rgba(18, 20, 26, .13);
}
body.is-selection .selection-actions .btn-primary:hover:not(:disabled),
body.is-selection .selection-category-footer .primary:hover,
body.is-selection .selection-modal .btn-primary:hover:not(:disabled),
body.is-selection .selection-store-modal .btn-primary:hover:not(:disabled) {
  filter: brightness(1.08);
  box-shadow: 0 9px 24px rgba(185, 248, 106, .2);
}

body.is-selection .selection-result { background: var(--selection-row); }
body.is-selection .selection-table { font-size: 14px; }
body.is-selection .selection-table th,
body.is-selection .selection-table td {
  border-bottom-color: var(--solid-line);
  background: var(--selection-row);
  color: var(--ink-2);
}
body.is-selection .selection-table th { background: var(--solid-quiet); color: var(--ink-3); }
body.is-selection .selection-table tr:hover td { background: var(--selection-row-hover); }
body.is-selection .selection-sort:hover,
body.is-selection .selection-sort.is-active,
body.is-selection .selection-sort-arrows .on { color: var(--accent-deep); }
body.is-selection .selection-product-cell b,
body.is-selection .selection-link { color: var(--ink); }
body.is-selection .selection-product-cell span,
body.is-selection .muted-inline,
body.is-selection .selection-empty { color: var(--ink-4); font-size: 14px; }
body.is-selection .selection-url,
body.is-selection .selection-link:hover { color: var(--accent-deep); }
body.is-selection .selection-trend-rate,
body.is-selection .selection-detail-subline { font-size: 14px; }
body.is-selection .selection-trend-rate.is-up { color: var(--accent-deep); }
body.is-selection .selection-trend-rate.is-down { color: #ff8d95; }
body.is-selection.dashboard-light .selection-trend-rate.is-down { color: #b82d3c; }

body.is-selection .selection-category-menu,
body.is-selection .selection-category-column,
body.is-selection .selection-category-actions button,
body.is-selection .selection-category-search-results,
body.is-selection .selection-category-search-result button,
body.is-selection .selection-category-footer button,
body.is-selection .selection-template-panel,
body.is-selection .selection-store-panel,
body.is-selection .selection-modal-panel {
  border-color: var(--solid-line);
  background: var(--solid);
  color: var(--ink);
  box-shadow: var(--selection-shadow);
}
body.is-selection .selection-category-column-title,
body.is-selection .selection-detail-table th { background: var(--solid-quiet); color: var(--ink-3); }
body.is-selection .selection-category-search-result { border-bottom-color: var(--solid-line); }
body.is-selection .selection-category-cascade-item:hover,
body.is-selection .selection-category-cascade-item.is-active,
body.is-selection .selection-template-item:hover { background: var(--accent-wash); }
body.is-selection .selection-template-item:hover { border-color: var(--accent); }
body.is-selection .store-filter-tab { border-color: var(--solid-line); background: var(--selection-field); color: var(--ink-2); }
body.is-selection .store-filter-tab.is-active { border-color: var(--accent); background: var(--accent-wash); box-shadow: 0 0 0 3px var(--accent-wash); }
body.is-selection .selection-template-item { border-color: var(--solid-line); background: var(--selection-field); color: var(--ink-2); }
body.is-selection .selection-template-item b,
body.is-selection .selection-template-head b { color: var(--ink); }
body.is-selection .selection-modal-head,
body.is-selection .selection-store-head,
body.is-selection .selection-store-metrics,
body.is-selection .selection-template-head { border-bottom-color: var(--solid-line); }
body.is-selection .selection-detail-metric { border-color: var(--solid-line); background: var(--solid-quiet); }
body.is-selection .selection-image-preview { border-color: var(--solid-line); background: var(--solid); box-shadow: var(--selection-shadow); }
body.is-selection .selection-detail-table th,
body.is-selection .selection-detail-table td { border-bottom-color: var(--solid-line); }
body.is-selection .selection-template-head span,
body.is-selection .selection-template-item span,
body.is-selection .selection-template-empty,
body.is-selection .selection-template-name span,
body.is-selection .selection-store-title span,
body.is-selection .selection-store-metrics span { font-size: 14px; }
body.is-selection .selection-category-count,
body.is-selection .selection-category-column-title,
body.is-selection .selection-category-actions button,
body.is-selection .selection-category-cascade-item button,
body.is-selection .selection-category-search-result button,
body.is-selection .selection-category-footer span,
body.is-selection .selection-category-empty,
body.is-selection .selection-detail-metric span,
body.is-selection .selection-detail-table,
body.is-selection .selection-store-toolbar,
body.is-selection .selection-store-toolbar-right,
body.is-selection .selection-row-actions button,
body.is-selection .store-filter-tab b,
body.is-selection .store-filter-tab span { font-size: 14px; }

@media (prefers-reduced-motion: reduce) {
  body.is-selection .selection-tab,
  body.is-selection .selection-level-toggle button { transition: none; }
}
