/* 管理后台 & 商户中心 — 玻璃凸出质感 */

.glass-backend {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: #1e293b;
  background: transparent !important;
}

.glass-backend html {
  background: #667eea !important;
}

.glass-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 35%, #f093fb 70%, #f5576c 100%);
  background-size: 400% 400%;
  animation: glassGradientShift 18s ease infinite;
}

.glass-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 25%, rgba(255, 255, 255, 0.22) 0%, transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(255, 255, 255, 0.15) 0%, transparent 50%);
}

.glass-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.55;
  animation: glassFloatOrb 12s ease-in-out infinite;
}

.glass-orb-1 {
  width: 320px;
  height: 320px;
  background: rgba(255, 255, 255, 0.35);
  top: -80px;
  left: -60px;
}

.glass-orb-2 {
  width: 280px;
  height: 280px;
  background: rgba(240, 147, 251, 0.45);
  bottom: 10%;
  right: -40px;
  animation-delay: -4s;
}

.glass-orb-3 {
  width: 200px;
  height: 200px;
  background: rgba(102, 126, 234, 0.5);
  top: 45%;
  left: 55%;
  animation-delay: -8s;
}

@keyframes glassGradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes glassFloatOrb {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(20px, -25px) scale(1.05); }
  66% { transform: translate(-15px, 15px) scale(0.95); }
}

/* 通用玻璃块 */
.glass-backend .glass-surface,
.glass-backend .panel,
.glass-backend .well,
.glass-backend .modal-content,
.glass-backend .fixed-table-container,
.glass-backend .bootstrap-table .table,
.glass-backend .dropdown-menu,
.glass-backend .nav-tabs,
.glass-backend .tab-content,
.glass-backend .list-group,
.glass-backend .box,
.glass-backend .wrapper.bg-light {
  background: rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  border-radius: 16px !important;
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    inset 0 -1px 0 rgba(255, 255, 255, 0.1) !important;
}

.glass-backend .panel {
  overflow: hidden;
}

.glass-backend .panel-heading,
.glass-backend .panel-primary > .panel-heading,
.glass-backend .panel-info > .panel-heading,
.glass-backend .panel-success > .panel-heading,
.glass-backend .panel-warning > .panel-heading,
.glass-backend .panel-danger > .panel-heading,
.glass-backend .panel-default > .panel-heading {
  background: rgba(255, 255, 255, 0.28) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  border-radius: 16px 16px 0 0 !important;
}

.glass-backend .panel-title,
.glass-backend .panel-heading h3 {
  color: #fff !important;
}

.glass-backend .panel-body,
.glass-backend .panel-footer,
.glass-backend .tab-content {
  background: rgba(255, 255, 255, 0.62) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #1e293b !important;
}

.glass-backend .list-group-item {
  background: rgba(255, 255, 255, 0.45) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #1e293b !important;
}

.glass-backend .list-group-item-danger {
  background: rgba(239, 68, 68, 0.18) !important;
}

/* ========== 管理后台顶栏 ========== */
.glass-backend .navbar,
.glass-backend .navbar-default,
.glass-backend .navbar-fixed-top {
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.38) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

.glass-backend .navbar-default .navbar-brand,
.glass-backend .navbar-default .navbar-nav > li > a,
.glass-backend .navbar-default .navbar-text {
  color: rgba(255, 255, 255, 0.95) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.glass-backend .navbar-default .navbar-nav > li > a:hover,
.glass-backend .navbar-default .navbar-nav > li > a:focus,
.glass-backend .navbar-default .navbar-nav > .active > a,
.glass-backend .navbar-default .navbar-nav > .active > a:hover,
.glass-backend .navbar-default .navbar-nav > .active > a:focus,
.glass-backend .navbar-default .navbar-nav > .open > a,
.glass-backend .navbar-default .navbar-nav > .open > a:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

.glass-backend .navbar-default .navbar-toggle {
  border-color: rgba(255, 255, 255, 0.45) !important;
}

.glass-backend .navbar-default .navbar-toggle .icon-bar {
  background-color: #fff !important;
}

.glass-backend .container {
  position: relative;
  z-index: 1;
}

/* ========== 商户中心布局 ========== */
.glass-backend .app {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

.glass-backend .app:before {
  background: transparent !important;
}

.glass-backend .app-header,
.glass-backend .app-header .navbar-header,
.glass-backend .app-header .navbar-collapse,
.glass-backend .app-header .box-shadow {
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: none !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

.glass-backend .app-header .navbar-brand,
.glass-backend .app-header .nav > li > a,
.glass-backend .app-header .navbar-btn {
  color: rgba(255, 255, 255, 0.95) !important;
}

.glass-backend .app-header .navbar-btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
}

.glass-backend .app-aside,
.glass-backend .app-aside:before {
  background: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-right: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.2),
    8px 0 32px rgba(0, 0, 0, 0.06) !important;
}

.glass-backend .app-aside .bg-black,
.glass-backend .app-aside .bg-dark,
.glass-backend .app-aside .bg-white,
.glass-backend .app-aside .bg-primary,
.glass-backend .app-aside .bg-info,
.glass-backend .app-aside .bg-light,
.glass-backend .app-header .bg-black,
.glass-backend .app-header .bg-dark,
.glass-backend .app-header .bg-white,
.glass-backend .app-header .bg-primary,
.glass-backend .app-header .bg-info,
.glass-backend .app-header .bg-light {
  background: transparent !important;
}

.glass-backend .app-aside .nav > li > a,
.glass-backend .app-aside .navi .nav .nav-sub li a {
  color: rgba(255, 255, 255, 0.88) !important;
  border-radius: 10px;
  margin: 2px 8px;
}

.glass-backend .app-aside .nav > li > a:hover,
.glass-backend .app-aside .nav > li > a:focus,
.glass-backend .app-aside .nav > li.active > a,
.glass-backend .app-aside .nav > li.active > a:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

.glass-backend .app-aside .text-muted,
.glass-backend .app-aside .text-xs {
  color: rgba(255, 255, 255, 0.55) !important;
}

.glass-backend .app-aside .line.dk {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.glass-backend .app-content-body {
  padding: 16px 16px 60px;
}

.glass-backend .app-footer .wrapper {
  background: rgba(255, 255, 255, 0.14) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.glass-backend .app-footer a {
  color: #fff !important;
}

/* ========== 表单 & 按钮 ========== */
.glass-backend .form-control,
.glass-backend input[type="text"],
.glass-backend input[type="password"],
.glass-backend input[type="email"],
.glass-backend input[type="number"],
.glass-backend select,
.glass-backend textarea {
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 12px !important;
  color: #1e293b !important;
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, 0.05),
    inset 0 -1px 0 rgba(255, 255, 255, 0.75) !important;
}

.glass-backend .form-control:focus,
.glass-backend input:focus,
.glass-backend select:focus,
.glass-backend textarea:focus {
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.75) !important;
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.04),
    0 0 0 3px rgba(255, 255, 255, 0.25) !important;
}

.glass-backend .input-group-addon {
  background: rgba(255, 255, 255, 0.35) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #4338ca !important;
  border-radius: 12px 0 0 12px !important;
}

.glass-backend .btn {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  transition: transform 0.2s, box-shadow 0.2s;
}

.glass-backend .btn:hover {
  transform: translateY(-1px);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

.glass-backend .btn-primary {
  background: linear-gradient(180deg, rgba(129, 140, 248, 0.92) 0%, rgba(99, 102, 241, 0.85) 100%) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

.glass-backend .btn-success {
  background: linear-gradient(180deg, rgba(52, 211, 153, 0.92) 0%, rgba(16, 185, 129, 0.85) 100%) !important;
  color: #fff !important;
}

.glass-backend .btn-info {
  background: linear-gradient(180deg, rgba(56, 189, 248, 0.9) 0%, rgba(14, 165, 233, 0.85) 100%) !important;
  color: #fff !important;
}

.glass-backend .btn-warning {
  background: linear-gradient(180deg, rgba(251, 191, 36, 0.92) 0%, rgba(245, 158, 11, 0.85) 100%) !important;
  color: #fff !important;
}

.glass-backend .btn-danger {
  background: linear-gradient(180deg, rgba(248, 113, 113, 0.92) 0%, rgba(239, 68, 68, 0.85) 100%) !important;
  color: #fff !important;
}

.glass-backend .btn-default {
  background: rgba(255, 255, 255, 0.55) !important;
  color: #4338ca !important;
}

/* ========== 表格 & 分页 ========== */
.glass-backend .table {
  background: transparent !important;
}

.glass-backend .table > thead > tr > th {
  background: rgba(255, 255, 255, 0.35) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #334155 !important;
}

.glass-backend .table > tbody > tr > td,
.glass-backend .table > tfoot > tr > td {
  border-color: rgba(255, 255, 255, 0.25) !important;
  background: rgba(255, 255, 255, 0.25) !important;
}

.glass-backend .table-striped > tbody > tr:nth-of-type(odd) > td {
  background: rgba(255, 255, 255, 0.35) !important;
}

.glass-backend .table-hover > tbody > tr:hover > td {
  background: rgba(255, 255, 255, 0.55) !important;
}

.glass-backend .fixed-table-toolbar .bars,
.glass-backend .fixed-table-pagination {
  background: transparent !important;
}

.glass-backend .pagination > li > a,
.glass-backend .pagination > li > span {
  background: rgba(255, 255, 255, 0.45) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #4338ca !important;
  border-radius: 8px !important;
  margin: 0 2px;
}

.glass-backend .pagination > .active > a {
  background: rgba(99, 102, 241, 0.75) !important;
  color: #fff !important;
}

/* ========== 导航标签 ========== */
.glass-backend .nav-pills > li > a {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #4338ca !important;
  border-radius: 12px !important;
  margin: 0 4px 8px 0;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.glass-backend .nav-pills > li.active > a,
.glass-backend .nav-pills > li.active > a:hover {
  background: rgba(99, 102, 241, 0.75) !important;
  color: #fff !important;
}

.glass-backend .nav-tabs {
  border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  padding: 8px 8px 0;
  border-radius: 16px 16px 0 0 !important;
}

.glass-backend .nav-tabs > li > a {
  border-radius: 12px 12px 0 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid transparent !important;
}

.glass-backend .nav-tabs > li.active > a {
  background: rgba(255, 255, 255, 0.55) !important;
  color: #4338ca !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

.glass-backend .dropdown-menu {
  padding: 8px !important;
}

.glass-backend .dropdown-menu > li > a {
  border-radius: 8px;
  color: #1e293b !important;
}

.glass-backend .dropdown-menu > li > a:hover {
  background: rgba(99, 102, 241, 0.15) !important;
}

/* ========== 提示 & 登录页 ========== */
.glass-backend .alert {
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.glass-backend .alert-success {
  background: rgba(16, 185, 129, 0.22) !important;
  color: #065f46 !important;
}

.glass-backend .alert-danger {
  background: rgba(239, 68, 68, 0.22) !important;
  color: #991b1b !important;
}

.glass-backend .alert-info {
  background: rgba(99, 102, 241, 0.22) !important;
  color: #3730a3 !important;
}

.glass-backend .alert-warning {
  background: rgba(245, 158, 11, 0.22) !important;
  color: #92400e !important;
}

/* 商户登录/注册居中卡片 */
.glass-backend .app .container.w-xxl,
.glass-backend .app .container.w-auto-xs {
  max-width: 420px;
  margin-top: 8vh;
  padding: 28px 24px 32px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 24px;
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.glass-backend .app .navbar-brand.block {
  color: #fff !important;
  font-size: 22px;
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  margin-bottom: 8px;
}

.glass-backend .app .wrapper.text-center strong {
  color: rgba(255, 255, 255, 0.9);
}

.glass-backend .list-group-sm .list-group-item {
  background: rgba(255, 255, 255, 0.55) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  margin-bottom: 8px;
  border-radius: 12px !important;
}

.glass-backend .list-group-sm .form-control.no-border {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.glass-backend #verifycode {
  border-radius: 0 12px 12px 0 !important;
}

.glass-backend .progress {
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 999px;
  overflow: hidden;
}

.glass-backend .progress-bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.glass-backend .badge,
.glass-backend .label {
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.glass-backend a {
  color: #4338ca;
}

.glass-backend a:hover {
  color: #3730a3;
}

/* 商户中心内容区页头 */
.glass-backend .bg-light,
.glass-backend .bg-light.lter,
.glass-backend .wrapper-md.bg-light,
.glass-backend .wrapper.bg-light {
  background: rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 14px !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.glass-backend .bg-light h1,
.glass-backend .bg-light .h3,
.glass-backend .wrapper-md h1 {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.glass-backend .box,
.glass-backend .panel-default {
  border-color: rgba(255, 255, 255, 0.35) !important;
}

@media (max-width: 768px) {
  .glass-backend .navbar-default .navbar-collapse {
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 0 0 16px 16px;
    margin-top: 8px;
  }

  .glass-backend .app-aside {
    background: rgba(40, 30, 80, 0.85) !important;
  }
}
