/* ==========================================================================
   管理端 · 新 UI（毛玻璃）
   仅在 html[data-admin-skin="glass"] 时生效，切回 classic 即恢复 monet.css
   ========================================================================== */

.adm-bg { display: none; }

html[data-admin-skin="glass"] body {
  background: #ECE6F6;
}

html[data-theme="dark"][data-admin-skin="glass"] body {
  background: #0A0810;
}

html[data-admin-skin="glass"] .adm-bg {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.adm-bg-img {
  position: absolute;
  inset: -10%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.04);
  filter: blur(2px) saturate(112%);
}

.adm-bg.is-plain::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 80% at 10% -10%, #E6DAFF 0%, rgba(230, 218, 255, 0) 58%),
    radial-gradient(110% 70% at 96% 4%, #FFDCE8 0%, rgba(255, 220, 232, 0) 62%),
    radial-gradient(110% 80% at 50% 112%, #D9E8FF 0%, rgba(217, 232, 255, 0) 60%),
    linear-gradient(165deg, #F7F2FF 0%, #EAE3F6 50%, #F7EEF5 100%);
}

html[data-theme="dark"] .adm-bg.is-plain::before {
  background:
    radial-gradient(120% 80% at 10% -10%, #33245A 0%, rgba(51, 36, 90, 0) 60%),
    radial-gradient(110% 70% at 96% 4%, #4A1F3A 0%, rgba(74, 31, 58, 0) 62%),
    radial-gradient(110% 80% at 50% 112%, #10203E 0%, rgba(16, 32, 62, 0) 60%),
    linear-gradient(165deg, #171120 0%, #0C0912 55%, #16101D 100%);
}

.adm-bg-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, .6) 0%,
      rgba(255, 255, 255, .22) 42%,
      rgba(26, 16, 44, .34) 100%);
}

html[data-theme="dark"] .adm-bg-veil {
  background: linear-gradient(180deg,
      rgba(6, 4, 12, .55) 0%,
      rgba(6, 4, 12, .38) 40%,
      rgba(6, 4, 12, .72) 100%);
}

.adm-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(86px);
  opacity: .42;
}

.adm-orb-1 { width: 420px; height: 420px; top: -140px; left: 8%; background: var(--primary); }
.adm-orb-2 { width: 360px; height: 360px; bottom: -120px; right: 4%; background: var(--tertiary); }

html[data-admin-skin="glass"] .shell {
  position: relative;
  z-index: 1;
}

/* ---------------------------------------------------------------- 侧栏 */
html[data-admin-skin="glass"] .drawer {
  background: rgba(255, 255, 255, .26);
  border-right: 1px solid rgba(255, 255, 255, .42);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
}

html[data-theme="dark"][data-admin-skin="glass"] .drawer {
  background: rgba(24, 20, 34, .52);
  border-right-color: rgba(255, 255, 255, .12);
}

html[data-admin-skin="glass"] .nav-item:hover {
  background: rgba(255, 255, 255, .32);
}

html[data-admin-skin="glass"] .nav-item.active {
  background: rgba(255, 255, 255, .58);
  color: #1B1530;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6);
}

html[data-admin-skin="glass"] .nav-item.active svg { color: #1B1530; }

html[data-theme="dark"][data-admin-skin="glass"] .nav-item:hover {
  background: rgba(255, 255, 255, .1);
}

html[data-theme="dark"][data-admin-skin="glass"] .nav-item.active {
  background: rgba(255, 255, 255, .16);
  color: #FFFFFF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

html[data-theme="dark"][data-admin-skin="glass"] .nav-item.active svg { color: #FFFFFF; }

/* ---------------------------------------------------------------- 顶栏 */
html[data-admin-skin="glass"] .appbar {
  background: linear-gradient(180deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, 0));
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  margin: 0 -28px 8px;
  padding: 0 28px;
}

@media (max-width: 960px) {
  html[data-admin-skin="glass"] .appbar {
    margin: 0 -16px 8px;
    padding: 0 16px;
  }
}

html[data-theme="dark"][data-admin-skin="glass"] .appbar {
  background: linear-gradient(180deg, rgba(10, 8, 16, .5), rgba(10, 8, 16, 0));
}

html[data-admin-skin="glass"] .btn-icon:hover {
  background: rgba(255, 255, 255, .34);
}

html[data-theme="dark"][data-admin-skin="glass"] .btn-icon:hover {
  background: rgba(255, 255, 255, .12);
}

/* ---------------------------------------------------------------- 卡片 */
html[data-admin-skin="glass"] .card,
html[data-admin-skin="glass"] .stat,
html[data-admin-skin="glass"] .group {
  background: rgba(255, 255, 255, .26);
  border: 1px solid rgba(255, 255, 255, .46);
  box-shadow: 0 26px 54px -26px rgba(26, 16, 46, .38), inset 0 1px 0 rgba(255, 255, 255, .6);
  backdrop-filter: blur(26px) saturate(175%);
  -webkit-backdrop-filter: blur(26px) saturate(175%);
}

html[data-theme="dark"][data-admin-skin="glass"] .card,
html[data-theme="dark"][data-admin-skin="glass"] .stat,
html[data-theme="dark"][data-admin-skin="glass"] .group {
  background: rgba(30, 25, 44, .46);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 26px 54px -26px rgba(0, 0, 0, .72), inset 0 1px 0 rgba(255, 255, 255, .16);
}

html[data-admin-skin="glass"] .group {
  --field-bg: rgba(255, 255, 255, .22);
}

html[data-theme="dark"][data-admin-skin="glass"] .group {
  --field-bg: rgba(255, 255, 255, .08);
}

html[data-admin-skin="glass"] .stat::after {
  opacity: .3;
}

html[data-theme="dark"][data-admin-skin="glass"] .stat::after {
  background: var(--primary-container);
  opacity: .45;
}

/* ---------------------------------------------------------------- 表单 */
html[data-admin-skin="glass"] .field > input,
html[data-admin-skin="glass"] .field > select,
html[data-admin-skin="glass"] .field > textarea {
  background: rgba(255, 255, 255, .3);
  border-color: rgba(255, 255, 255, .52);
  color: var(--on-surface);
}

html[data-admin-skin="glass"] .field > input,
html[data-admin-skin="glass"] .field > select {
  padding: 24px 16px 8px;
}

html[data-admin-skin="glass"] .field > textarea {
  padding: 24px 16px 10px;
}

html[data-admin-skin="glass"] .field > select {
  background-image: linear-gradient(45deg, transparent 50%, var(--on-surface-variant) 50%),
                    linear-gradient(135deg, var(--on-surface-variant) 50%, transparent 50%);
  background-position: calc(100% - 20px) 30px, calc(100% - 14px) 30px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

html[data-admin-skin="glass"] .field > label {
  background: transparent;
  top: 18px;
  color: var(--on-surface-variant);
}

html[data-admin-skin="glass"] .field.filled > label,
html[data-admin-skin="glass"] .field > input:focus + label,
html[data-admin-skin="glass"] .field > select:focus + label,
html[data-admin-skin="glass"] .field > textarea:focus + label {
  top: 7px;
  font-size: 11px;
  color: var(--primary);
}

html[data-admin-skin="glass"] .field > input[type="file"] {
  height: auto;
  min-height: 58px;
  padding: 20px 14px 8px;
}

html[data-admin-skin="glass"] .field > input[type="file"] + label,
html[data-admin-skin="glass"] .field > select + label {
  top: 6px;
  font-size: 11px;
  color: var(--primary);
}

html[data-theme="dark"][data-admin-skin="glass"] .field > input,
html[data-theme="dark"][data-admin-skin="glass"] .field > select,
html[data-theme="dark"][data-admin-skin="glass"] .field > textarea {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .2);
  color: var(--on-surface);
}

html[data-admin-skin="glass"] .field > input:focus,
html[data-admin-skin="glass"] .field > select:focus,
html[data-admin-skin="glass"] .field > textarea:focus {
  border-color: var(--primary);
}

html[data-admin-skin="glass"] .field .hint { color: var(--on-surface-variant); }

/* ---------------------------------------------------------------- 表格 */
html[data-admin-skin="glass"] table.table th {
  background: rgba(255, 255, 255, .34);
}

html[data-theme="dark"][data-admin-skin="glass"] table.table th {
  background: rgba(255, 255, 255, .08);
}

html[data-admin-skin="glass"] table.table td {
  border-bottom-color: rgba(128, 120, 140, .22);
}

html[data-admin-skin="glass"] table.table tbody tr:hover {
  background: rgba(255, 255, 255, .28);
}

html[data-theme="dark"][data-admin-skin="glass"] table.table tbody tr:hover {
  background: rgba(255, 255, 255, .07);
}

html[data-admin-skin="glass"] .icon-cell {
  background: rgba(255, 255, 255, .34);
}

html[data-theme="dark"][data-admin-skin="glass"] .icon-cell {
  background: rgba(255, 255, 255, .1);
}

/* ---------------------------------------------------------------- 其它组件 */
html[data-admin-skin="glass"] .search {
  background: rgba(255, 255, 255, .34);
  border: 1px solid rgba(255, 255, 255, .42);
}

html[data-theme="dark"][data-admin-skin="glass"] .search {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .16);
}

html[data-admin-skin="glass"] .chip {
  background: rgba(255, 255, 255, .3);
  border-color: rgba(255, 255, 255, .45);
}

html[data-admin-skin="glass"] .chip.solid {
  background: rgba(255, 255, 255, .55);
  color: #1B1530;
  border-color: transparent;
}

html[data-theme="dark"][data-admin-skin="glass"] .chip {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .18);
}

html[data-theme="dark"][data-admin-skin="glass"] .chip.solid {
  background: rgba(255, 255, 255, .18);
  color: #FFFFFF;
}

html[data-admin-skin="glass"] .notice {
  background: rgba(255, 255, 255, .3);
  border: 1px solid rgba(255, 255, 255, .4);
}

html[data-theme="dark"][data-admin-skin="glass"] .notice {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .14);
}

html[data-admin-skin="glass"] .divider {
  background: rgba(128, 120, 140, .25);
}

html[data-admin-skin="glass"] .brand-preview {
  background: rgba(255, 255, 255, .3);
}

html[data-admin-skin="glass"] dialog.dialog {
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, .5);
}

html[data-theme="dark"][data-admin-skin="glass"] dialog.dialog {
  background: rgba(30, 25, 44, .8);
  border-color: rgba(255, 255, 255, .14);
}

/* ---------------------------------------------------------------- 登录页 */
html[data-admin-skin="glass"] .auth {
  position: relative;
  z-index: 1;
  background: transparent;
}

html[data-admin-skin="glass"] .auth-card {
  background: rgba(255, 255, 255, .32);
  border: 1px solid rgba(255, 255, 255, .5);
  box-shadow: 0 40px 80px -32px rgba(24, 16, 44, .55), inset 0 1px 0 rgba(255, 255, 255, .65);
  backdrop-filter: blur(32px) saturate(180%);
  -webkit-backdrop-filter: blur(32px) saturate(180%);
}

html[data-theme="dark"][data-admin-skin="glass"] .auth-card {
  background: rgba(30, 25, 44, .5);
  border-color: rgba(255, 255, 255, .16);
}

/* 窄屏侧栏 */
@media (max-width: 960px) {
  html[data-admin-skin="glass"] .drawer {
    box-shadow: 0 30px 60px -20px rgba(20, 12, 40, .5);
  }
}
