/* ============================================================
   SeaScribe Admin — Base (variables + reset)
   Design tokens loaded from ../main/css/theme.css
   ============================================================ */

/* ---- Global scrollbar ---- */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-button:vertical:decrement,
::-webkit-scrollbar-button:vertical:increment { height: 0; }
::-webkit-scrollbar-button:horizontal:decrement,
::-webkit-scrollbar-button:horizontal:increment { width: 0; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-track-piece { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--muted); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: var(--border); }
::-webkit-scrollbar-corner { background: transparent; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 17px; scrollbar-width: thin; scrollbar-color: var(--muted) transparent; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Microsoft YaHei", sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
}

/* 背景柔和光晕：给玻璃模糊提供可透的细微色彩层次 */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 12% -5%, rgba(214, 57, 78, 0.06), transparent 70%),
    radial-gradient(ellipse 55% 45% at 88% 108%, rgba(63, 130, 255, 0.06), transparent 70%),
    radial-gradient(ellipse 40% 35% at 70% 20%, rgba(180, 120, 255, 0.04), transparent 70%);
}
/* Smooth theme transition */
body, #admin-login, #admin-bind, .admin-card, .admin-topbar, .admin-login-topbar, .admin-login-card,
input, select, textarea, button, .admin-table th, .admin-table td,
.admin-nav a, .admin-btn {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.hidden { display: none !important; }

/* ---- 全局过渡动画 ---- */
@keyframes adminFadeIn {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.admin-content > .admin-card {
  animation: adminFadeIn 0.35s var(--spring) both;
}
.admin-btn:active {
  transform: scale(0.95);
  transition: transform 0.1s var(--spring);
}
.admin-table tbody tr {
  transition: background-color 0.15s ease, transform 0.15s var(--spring);
}
.admin-table tbody tr:hover {
  transform: scale(1.005);
}
.admin-form-group input:focus,
.admin-form-group select:focus,
.admin-form-group textarea:focus {
  box-shadow: 0 0 0 3px rgba(128,128,128,0.12);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
