/* 
 * 案件管理系统主题样式
 * 主色调：白色 + 科技蓝
 */

:root {
  /* 主色调 */
  --primary-50: #FFFDF5;
  --primary-100: #FFEAA3;
  --primary-200: #FFE082;
  --primary-300: #FFD54F;
  --primary-400: #FFC300;
  --primary-500: #FFC300;  /* 主科技蓝 */
  --primary-600: #E6A800;
  --primary-700: #CC9900;
  --primary-800: #996600;
  --primary-900: #7A4C00;
  --primary-950: #4D3000;

  /* 中性色 */
  --white: #ffffff;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --gray-950: #030712;

  /* 功能色 */
  --success-500: #00B853;
  --warning-500: #f59e0b;
  --danger-500: #ef4444;
  --info-500: #FFC300;

  /* 系统变量 */
  --body-bg: var(--white);
  --sidebar-bg: var(--white);
  --header-bg: var(--white);
  --card-bg: var(--white);
  --text-color: var(--gray-800);
  --text-muted: var(--gray-500);
  --border-color: var(--gray-200);
  --primary-color: var(--primary-500);
  --primary-hover: var(--primary-600);
  --link-color: var(--primary-600);
  --hover-bg: var(--gray-50);
  --active-bg: var(--primary-50);
}

/* 基础重置 */
body {
  color: var(--text-color);
  background-color: var(--body-bg);
}

/* 链接样式 */
a {
  color: var(--link-color);
  transition: all 0.2s ease;
}

a:hover {
  color: var(--primary-hover);
}

/* 卡片样式 */
.card {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* 按钮样式 */
.btn-primary {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-primary:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.btn-outline-primary {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-outline-primary:hover {
  background-color: var(--primary-color);
  color: var(--white);
}

/* 表单控件 */
.form-control,
.form-select {
  border: 1px solid var(--border-color);
  background-color: var(--white);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 0.2rem rgba(44, 123, 229, 0.25);
}

/* 表格样式 */
.table {
  color: var(--text-color);
}

.table thead th {
  background-color: var(--gray-50);
  border-bottom: 1px solid var(--border-color);
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--gray-50);
}

.table-hover tbody tr:hover {
  background-color: var(--hover-bg);
}

/* 导航栏 */
.navbar {
  background-color: var(--header-bg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 侧边栏 */
.sidebar {
  background-color: var(--sidebar-bg);
  border-right: 1px solid var(--border-color);
}

.sidebar-link {
  color: var(--text-color);
}

.sidebar-link:hover {
  background-color: var(--hover-bg);
  color: var(--primary-color);
}

.sidebar-link.active {
  color: var(--primary-color);
  background-color: var(--active-bg);
  border-left: 3px solid var(--primary-color);
}

/* 徽章 */
.badge {
  font-weight: 500;
}

.badge-primary {
  background-color: var(--primary-color);
}

/* 分页 */
.page-item.active .page-link {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.page-link {
  color: var(--primary-color);
}

/* 工具提示 */
.tooltip {
  --bs-tooltip-bg: var(--primary-color);
}

/* 弹出框 */
.popover {
  --bs-popover-header-bg: var(--primary-color);
  --bs-popover-header-color: var(--white);
  --bs-popover-border-color: var(--primary-color);
}

/* 加载动画 */
@keyframes spin {
  to { transform: rotate(360deg); }
}

.loading-spinner {
  border: 0.25em solid rgba(44, 123, 229, 0.2);
  border-top-color: var(--primary-color);
  animation: spin 1s linear infinite;
}

/* 响应式调整 */
@media (max-width: 991.98px) {
  .sidebar {
    transform: translateX(-100%);
  }
  
  .sidebar.active {
    transform: translateX(0);
  }
}

/* 玻璃态效果 */
.glass-effect {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* 特殊元素 */
.user-avatar {
  border: 2px solid var(--border-color);
}

.dropdown-menu {
  border: 1px solid var(--border-color);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

/* 状态指示器 */
.status-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
}

.status-indicator.active {
  background-color: var(--success-500);
}

.status-indicator.inactive {
  background-color: var(--danger-500);
}

/* 动画效果 */
.fade-in {
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.slide-in {
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--gray-100);
}

::-webkit-scrollbar-thumb {
  background: var(--primary-400);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--primary-500);
}