/* 后台管理样式补充（iOS 液态玻璃协同层） */
.admin-nav a { transition: background-color .15s, color .15s, border-color .15s, transform .15s; }

/* 后台登录卡片玻璃 */
body.login-glass .admin-card{
  background:var(--lg-glass-strong);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:var(--lg-shadow-lg), 0 1px 0 rgba(255,255,255,.6) inset;
}

/* 模态框（玻璃浮层） */
.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(20,26,46,.28);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center; z-index: 1000;
  padding: 16px;
}
.dark .modal-overlay{ background: rgba(0,0,0,.5); }
.modal-overlay.hidden { display: none; }
.modal-box {
  background:var(--lg-glass-strong);
  backdrop-filter: blur(24px) saturate(170%);
  -webkit-backdrop-filter: blur(24px) saturate(170%);
  border:1px solid var(--lg-border);
  box-shadow: var(--lg-shadow-lg), 0 1px 0 rgba(255,255,255,.6) inset;
  color: var(--lg-text);
  border-radius: 22px; width: 100%; max-width: 480px;
  max-height: 90vh; overflow: auto; padding: 26px;
  animation: modalIn .28s cubic-bezier(.2,.9,.3,1.2);
}
@keyframes modalIn{ from{ opacity:0; transform:scale(.94) translateY(8px);} to{opacity:1;transform:none;} }

/* 排序拖拽手柄 */
.drag-handle { cursor: move; color: var(--lg-text-dim); }
.sortable-ghost { opacity: .35; }
.sortable-chosen { box-shadow: var(--lg-shadow-lg); }

/* 表格行 hover */
.row-hover { transition: background .2s; }
.row-hover:hover { background: rgba(130,140,190,.08); }
.dark .row-hover:hover { background: rgba(255,255,255,.05); }

/* 开关 */
.switch { position: relative; display: inline-block; width: 44px; height: 24px; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch .slider {
  position: absolute; cursor: pointer; inset: 0;
  background: rgba(130,140,190,.4); border-radius: 999px; transition: .25s;
  backdrop-filter: blur(4px);
}
.switch .slider:before {
  content: ""; position: absolute; height: 18px; width: 18px; left: 3px; bottom: 3px;
  background:#fff; border-radius:50%; transition:.25s;
  box-shadow:0 2px 5px rgba(0,0,0,.25);
}
.switch input:checked + .slider {
  background: linear-gradient(135deg,var(--lg-accent),var(--lg-accent-2));
}
.switch input:checked + .slider:before { transform: translateX(20px); }

/* 后台表单输入（玻璃胶囊输入） */
.lg-input{
  width:100%; background:var(--lg-glass-soft);
  border:1px solid var(--lg-border-outer);
  border-radius:12px; padding:8px 12px; font-size:.875rem;
  color:var(--lg-text);
  transition:border-color .2s, box-shadow .2s;
}
.lg-input:focus{ outline:none; border-color:var(--lg-accent); box-shadow:0 0 0 4px rgba(110,168,254,.16); }

/* ============================================================
   后台旧式 Tailwind 实底控件 → 液态玻璃 覆盖层
   scope 到 .admin-main / .modal-box / .login-glass，不波及前台
   ============================================================ */
/* 输入框 / 下拉 / 文本域（去掉纯白硬底） */
.admin-main input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.admin-main select,
.admin-main textarea,
.modal-box input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.modal-box select,
.modal-box textarea{
  background:var(--lg-glass-soft) !important;
  border-color:var(--lg-border-outer) !important;
  border-radius:12px !important;
  color:var(--lg-text) !important;
  backdrop-filter:blur(8px) saturate(140%);
  -webkit-backdrop-filter:blur(8px) saturate(140%);
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.admin-main input:not([type=checkbox]):not([type=radio]):focus,
.admin-main select:focus,
.admin-main textarea:focus,
.modal-box input:focus, .modal-box select:focus, .modal-box textarea:focus{
  outline:none; border-color:var(--lg-accent) !important;
  box-shadow:0 0 0 4px rgba(110,168,254,.18) !important;
}
/* select 去掉系统默认箭头底色反差保持可读 */
.admin-main select, .modal-box select{ cursor:pointer; }
/* option 在部分浏览器透底，显式给底 */
.admin-main select option, .modal-box select option{ background:#fff; color:#333; }
.dark .admin-main select option, .dark .modal-box select option{ background:#1b2240; color:#dbe3f5; }

/* 主操作按钮（原 bg-blue-500 / bg-gray-800 深色块）→ 柔和渐变 */
.admin-main button[class*="bg-blue-500"], .admin-main button[class*="bg-gray-800"],
.admin-main a[class*="bg-blue-500"],   .admin-main a[class*="bg-gray-800"],
.modal-box button[class*="bg-blue-500"], .modal-box button[class*="bg-gray-800"]{
  background:linear-gradient(135deg,var(--lg-accent),var(--lg-accent-2)) !important;
  color:#fff !important; border:none !important; border-radius:12px !important;
  box-shadow:0 4px 14px rgba(110,140,255,.30) !important;
  transition:transform .2s, box-shadow .2s, filter .2s !important;
}
.admin-main button[class*="bg-blue-500"]:hover, .admin-main button[class*="bg-gray-800"]:hover,
.admin-main a[class*="bg-blue-500"]:hover, .admin-main a[class*="bg-gray-800"]:hover,
.modal-box button[class*="bg-blue-500"]:hover, .modal-box button[class*="bg-gray-800"]:hover{
  transform:translateY(-1px); filter:brightness(1.05);
  box-shadow:0 6px 18px rgba(110,140,255,.42) !important;
}

/* 次级按钮（原 bg-white/dark:bg-gray-700 border）→ 玻璃 ghost */
.admin-main button[class*="bg-white"], .admin-main a[class*="bg-white"]{
  background:var(--lg-glass) !important;
  border:1px solid var(--lg-border-outer) !important;
  color:var(--lg-text) !important;
  backdrop-filter:blur(10px) saturate(150%); -webkit-backdrop-filter:blur(10px) saturate(150%);
}
.admin-main button[class*="bg-white"]:hover, .admin-main a[class*="bg-white"]:hover{
  background:var(--lg-glass-strong) !important; border-color:var(--lg-border) !important;
  transform:translateY(-1px);
}

/* 筛选提交/执行按钮无 hover 也统一（上面已含 bg-gray-800） */

/* 表头（原 bg-gray-50）→ 柔和 */
.admin-main thead tr{ background:var(--lg-glass-soft); }
.admin-main tbody{ background:transparent; }
.admin-main tbody tr{ border-bottom:1px solid var(--lg-border-outer); }
.admin-main .divide-y > *{ border-color:var(--lg-border-outer) !important; }

/* 状态/置顶小徽章（原 bg-red-100 / bg-green-100 / bg-gray-100 实底）→ 柔和玻璃胶囊 */
.admin-main [class*="bg-green-100"], .modal-box [class*="bg-green-100"]{
  background:rgba(94,234,212,.2) !important; border:1px solid rgba(45,212,191,.3) !important;
}
.admin-main [class*="bg-red-100"], .modal-box [class*="bg-red-100"]{
  background:rgba(253,164,175,.22) !important; border:1px solid rgba(251,113,133,.32) !important;
}
.admin-main [class*="bg-gray-100"]:not(.switch *){ background:rgba(130,140,190,.12) !important; }

/* 操作文字链接 hover 平滑 */
.admin-main td a, .admin-main td button{ transition:opacity .15s; }
.admin-main td a:hover, .admin-main td button:hover{ opacity:.75; }

/* 分页链接玻璃化 */
.admin-main .flex a[class*="border"]{
  background:var(--lg-glass-soft) !important;
  border-color:var(--lg-border-outer) !important;
  color:var(--lg-text) !important;
  border-radius:10px !important;
}
.admin-main .flex a[class*="bg-blue-500"]{
  background:linear-gradient(135deg,var(--lg-accent),var(--lg-accent-2)) !important;
  color:#fff !important; border:none !important;
}

/* 登录卡片内 label 文本色 */
.login-glass label{ color:var(--lg-text); opacity:.72; }

/* modal 内的取消按钮(原 border-gray-300 无底) → 玻璃 ghost */
.modal-box button[class*="border-gray-300"]{
  background:var(--lg-glass) !important;
  border:1px solid var(--lg-border-outer) !important;
  color:var(--lg-text) !important;
  border-radius:12px !important;
  backdrop-filter:blur(10px) saturate(150%); -webkit-backdrop-filter:blur(10px) saturate(150%);
  transition:background .2s, transform .2s;
}
.modal-box button[class*="border-gray-300"]:hover{ background:var(--lg-glass-strong); transform:translateY(-1px); }
.modal-box h3{ color:var(--lg-text); }
.modal-box label{ color:var(--lg-text); opacity:.75; }

/* ============================================================
   移动端适配（<768px）
   ============================================================ */
@media (max-width: 767px){
  /* 主内容内边距收紧，留更多可视宽 */
  .admin-main{ padding-left:12px; padding-right:12px; }
  /* 顶部导航玻璃条内边距略收 */
  .lg-glass-nav > div{ padding-left:12px; padding-right:12px; }

  /* 模态框：小屏近全屏，减内边距，底栏按钮横向铺开更好点 */
  .modal-overlay{ padding:10px; align-items:flex-end; }
  .modal-box{
    width:100%; max-width:100%;
    max-height:92vh;
    border-radius:22px 22px 18px 18px;
    padding:20px 18px 22px;
  }
  .modal-box .mt-5{ gap:10px; }
  .modal-box .mt-5 button{ flex:1; }

  /* 分类行：窄屏压缩间距，保证不挤压溢出 */
  #cat-list .admin-card{ gap:8px; padding:12px 10px; }
  #cat-list .admin-card .text-xl{ font-size:1.05rem; }

  /* 站点批量操作栏：选择框与按钮在小屏铺满整行 */
  #batch-form #batch-op, #batch-form #batch-category, #batch-form button{ flex:1 1 auto; }

  /* 头部筛选表单元素占满整行，避免挤压 */
  .admin-main form[method="get"] select,
  .admin-main form[method="get"] input{ min-width:0; }
}
