/* ========================================
   毛玻璃风格全局增强 — 对齐 Figma 设计系统
   ======================================== */

/* 卡片增强 — 用不透明底 + 阴影保留层次，避免每张卡都跑 backdrop-filter（首屏最大绘制成本） */
.card:not(.no-glass) {
    background: var(--bg-surface, #ffffff) !important;
    border: 1px solid var(--border-subtle, rgba(15, 23, 42, 0.06)) !important;
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05)) !important;
    border-radius: var(--radius-lg, 16px) !important;
    transition: transform var(--transition-base, 0.25s ease), box-shadow var(--transition-base, 0.25s ease) !important;
}

.card:not(.no-glass):hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover, 0 16px 40px rgba(15, 23, 42, 0.1)) !important;
}

/* 表格容器 — 同理去掉 blur，保留圆角与浅阴影 */
.table-responsive:not(.no-glass-wrap) {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-subtle, rgba(15, 23, 42, 0.06));
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.04));
}

/* 表格行悬浮 */
.table tbody tr {
    transition: background var(--transition-fast, 0.15s ease);
}

.table tbody tr:hover {
    background: rgba(37, 99, 235, 0.04) !important;
}

/* 按钮渐变 — 由 design-system.css 统一管理，此处仅补充 info 变体 */
.btn-info:not(.no-gradient) {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(14, 165, 233, 0.3);
    transition: all var(--transition-base, 0.25s ease);
}

.btn-info:not(.no-gradient):hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(14, 165, 233, 0.4) !important;
}

/* 徽标 — 轻量淡色风格 */
.badge.bg-primary,
.badge-primary {
    background: var(--primary-light, #eff6ff) !important;
    color: var(--primary, #2563eb) !important;
    box-shadow: none !important;
}

.badge.bg-success,
.badge-success {
    background: var(--success-bg, rgba(16, 185, 129, 0.1)) !important;
    color: var(--success, #10b981) !important;
    box-shadow: none !important;
}

.badge.bg-danger,
.badge-danger {
    background: var(--danger-bg, rgba(239, 68, 68, 0.1)) !important;
    color: var(--danger, #ef4444) !important;
    box-shadow: none !important;
}

.badge.bg-warning,
.badge-warning {
    background: var(--warning-bg, rgba(245, 158, 11, 0.1)) !important;
    color: #b45309 !important;
    box-shadow: none !important;
}

/* 顶部导航 — 仅壳层保留轻毛玻璃（元素少、面积可控） */
.glass-header,
.app-header-shell {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    border-bottom: 1px solid var(--border-soft, #e2e8f0) !important;
    box-shadow: var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)) !important;
}

/* 侧边栏 — 实底即可，避免整栏持续合成 */
.glass-sidebar .p-3 {
    background: var(--bg-surface, #ffffff) !important;
    border: 1px solid var(--border-soft, #e2e8f0) !important;
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05)) !important;
}

/* 内容区玻璃面板 — 实底 + 层次，交互面板才需要玻璃感时用 .glass-panel--frost */
.glass-panel {
    background: var(--bg-surface, #ffffff) !important;
    border: 1px solid var(--border-subtle, rgba(15, 23, 42, 0.06)) !important;
    border-radius: var(--radius-xl, 24px) !important;
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05)) !important;
}
.glass-panel.glass-panel--frost {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* 下拉菜单 — 打开时才可见，保留轻模糊 */
.dropdown-menu {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--border-soft, #e2e8f0) !important;
    border-radius: var(--radius-md, 12px) !important;
    box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.05), 0 4px 6px -4px rgb(0 0 0 / 0.05)) !important;
    padding: 0.5rem;
}

/* 弱设备 / 省电：关闭壳层 blur，观感几乎不变 */
@media (max-width: 768px), (prefers-reduced-motion: reduce) {
    .glass-header,
    .app-header-shell,
    .dropdown-menu,
    .glass-panel.glass-panel--frost {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #ffffff !important;
    }
}

.dropdown-item {
    border-radius: var(--radius-sm, 8px);
    padding: 0.5rem 0.875rem;
    transition: background var(--transition-fast, 0.15s ease);
}

.dropdown-item:hover {
    background: var(--primary-light, #eff6ff) !important;
    color: var(--primary, #2563eb) !important;
}

/* 输入框聚焦光晕 */
.form-control:focus,
.form-select:focus {
    border-color: var(--primary, #2563eb) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

/* 统计卡片 */
.stat-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-subtle, rgba(15, 23, 42, 0.06));
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

/* 列表组 */
.list-group-item {
    border-color: var(--border-soft, #e2e8f0);
    transition: background var(--transition-fast);
}

.list-group-item:hover {
    background: var(--bg-muted, #f1f5f9);
}

.list-group-item.active {
    background: var(--primary-light, #eff6ff) !important;
    border-color: rgba(37, 99, 235, 0.2) !important;
    color: var(--primary, #2563eb) !important;
}

/* 面包屑 */
.breadcrumb {
    background: transparent;
    padding: 0;
    margin-bottom: var(--space-md, 1rem);
}

.breadcrumb-item a {
    color: var(--text-dim, #94a3b8);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.breadcrumb-item a:hover {
    color: var(--primary, #2563eb);
}

.breadcrumb-item.active {
    color: var(--text-main, #0f172a);
    font-weight: 500;
}

/* 进度条 */
.progress {
    background: var(--bg-muted, #f1f5f9);
    border-radius: var(--radius-pill, 999px);
    height: 8px;
    overflow: hidden;
}

.progress-bar {
    background: linear-gradient(90deg, var(--primary, #2563eb), var(--accent, #0ea5e9));
    border-radius: var(--radius-pill, 999px);
}

/* 工具提示 */
.tooltip-inner {
    background: var(--text-main, #0f172a);
    border-radius: var(--radius-sm, 8px);
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
}

/* 空状态 */
.empty-state {
    text-align: center;
    padding: var(--space-2xl, 2.5rem) var(--space-lg, 1.5rem);
    color: var(--text-dim, #94a3b8);
}

.empty-state i {
    font-size: 2.5rem;
    color: var(--border-hover, #cbd5e1);
    margin-bottom: var(--space-md, 1rem);
}

/* 快捷筛选按钮组 */
.quick-filter-btn {
    border-radius: var(--radius-pill, 999px) !important;
    border: 1.5px solid var(--border-soft, #e2e8f0) !important;
    background: var(--bg-surface, #fff) !important;
    color: var(--text-muted, #64748b) !important;
    font-weight: 500;
    padding: 0.35rem 0.875rem !important;
    transition: all var(--transition-fast, 0.15s ease) !important;
}

.quick-filter-btn:hover {
    border-color: rgba(37, 99, 235, 0.3) !important;
    color: var(--primary, #2563eb) !important;
    background: var(--primary-light, #eff6ff) !important;
}

.quick-filter-btn.active {
    background: linear-gradient(135deg, var(--primary, #2563eb), var(--primary-hover, #1d4ed8)) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 12px var(--primary-shadow, rgba(37, 99, 235, 0.25));
}
