/* 专业分页组件样式 */

.pagination-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 16px 0;
  font-size: 0.9rem;
  color: #555;
}

.pg-total strong {
  color: var(--primary-color, #003D7A);
}

.pg-size-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pg-size-select {
  padding: 4px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.85rem;
  cursor: pointer;
  outline: none;
}
.pg-size-select:focus {
  border-color: var(--primary-color, #003D7A);
}

.pg-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.pg-btn {
  padding: 6px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #555;
  cursor: pointer;
  font-size: 0.85rem;
  transition: all 0.2s;
  white-space: nowrap;
}
.pg-btn:hover:not(:disabled):not(.active) {
  border-color: var(--primary-color, #003D7A);
  color: var(--primary-color, #003D7A);
  background: #f0f5ff;
}
.pg-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pg-btn.active {
  background: var(--primary-color, #003D7A);
  color: #fff;
  border-color: var(--primary-color, #003D7A);
}

.pg-ellipsis {
  padding: 0 6px;
  color: #999;
}

.pg-jump {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pg-jump-input {
  width: 50px;
  padding: 4px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-align: center;
  font-size: 0.85rem;
  outline: none;
}
.pg-jump-input:focus {
  border-color: var(--primary-color, #003D7A);
}

.pg-go {
  padding: 4px 10px;
  font-size: 0.8rem;
}

/* 表格选择栏 */
.table-select-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: #f8f9fa;
  border-radius: 6px;
  margin-bottom: 12px;
  font-size: 0.9rem;
}

.table-select-bar label {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  user-select: none;
}

.table-select-bar .selected-count {
  color: var(--primary-color, #003D7A);
  font-weight: 600;
}

.table-select-bar .btn-batch-delete {
  margin-left: auto;
  padding: 5px 14px;
  background: #dc3545;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.85rem;
  transition: background 0.2s;
}
.table-select-bar .btn-batch-delete:hover {
  background: #c82333;
}
.table-select-bar .btn-batch-delete:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 搜索/筛选栏 */
.search-filter-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.search-filter-bar input[type="text"],
.search-filter-bar input[type="search"] {
  padding: 8px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.9rem;
  min-width: 200px;
  outline: none;
  transition: border-color 0.2s;
}
.search-filter-bar input:focus {
  border-color: var(--primary-color, #003D7A);
}

.search-filter-bar select {
  padding: 8px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.9rem;
  outline: none;
  cursor: pointer;
  background: #fff;
}
.search-filter-bar select:focus {
  border-color: var(--primary-color, #003D7A);
}

.search-filter-bar .btn-search {
  padding: 8px 20px;
  background: var(--primary-color, #003D7A);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  transition: background 0.2s;
}
.search-filter-bar .btn-search:hover {
  background: var(--primary-dark, #00264D);
}

.search-filter-bar .btn-add {
  margin-left: auto;
  padding: 8px 20px;
  background: #28a745;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  transition: background 0.2s;
}
.search-filter-bar .btn-add:hover {
  background: #218838;
}

/* 前台专业分页（news.html等） */
.front-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 40px;
  padding: 20px 0;
  flex-wrap: wrap;
}
.front-pagination .pg-btn {
  padding: 8px 16px;
  font-size: 0.95rem;
  border-radius: 6px;
}
.front-pagination .pg-total {
  font-size: 0.9rem;
  color: #666;
  margin-right: 6px;
}
.front-pagination .pg-jump {
  font-size: 0.9rem;
  color: #666;
  margin-left: 6px;
}
.front-pagination .pg-jump-input {
  width: 52px;
  padding: 5px 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-align: center;
  font-size: 0.9rem;
  outline: none;
}
.front-pagination .pg-jump-input:focus {
  border-color: var(--primary-color, #003D7A);
}
