/* Laravel 分页链接样式对齐原按钮组件 */
a.page-btn,
a.page-number {
  text-decoration: none;
  color: inherit;
}

a.page-btn {
  color: #fff;
}

span.page-number.ellipsis {
  color: inherit;
}

/* DPlayer 容器（原 Vue 组件 scoped 样式；需高于 DPlayer 运行时注入的 .dplayer 规则） */
.dplayer-container,
.dplayer-container.dplayer {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

/* AppHeader.vue scoped 样式 */
.header-main-inner { display: flex; align-items: center; justify-content: space-between; }
.logo { color: inherit; display: flex; align-items: center; text-decoration: none; min-width: 250px; }
.logo-icon { width: 50px; height: 50px; display: grid; place-items: center; margin-right: 10px; }
.logo-icon img { width: 50px; height: 50px; object-fit: contain; }
.logo-text { display: flex; flex-direction: column; }
.brand-title { color: #1a5a8a; font-size: 1.2rem; font-weight: 700; }
.brand-subtitle { color: #6c757d; font-size: .8rem; margin-top: 2px; }
@media (max-width: 768px) {
  .header-main-inner { flex-wrap: wrap; justify-content: center; }
  .logo { justify-content: center; }
  .logo-icon, .logo-icon img { width: 40px; height: 40px; }
  .brand-title { font-size: 1rem; }
  .nav-toggle { display: block; }
}

/* 轻量消息提示，对齐 Element Plus ElMessage 观感 */
.site-message {
  position: fixed;
  top: 20px;
  left: 50%;
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-size: 14px;
  color: #333;
  opacity: 0;
  transform: translateX(-50%) translateY(-20px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.site-message.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.site-message i {
  font-size: 16px;
}

.site-message--success i {
  color: #67c23a;
}

.site-message--error i {
  color: #f56c6c;
}
