/* ============================================
    默认亮色主题 — 软件后台
    从 style.css :root 提取的设计令牌
    ============================================ */

:root {
    /* ===== 背景色 ===== */
    --bg-body: #f8f9fa;
    --bg-admin-body: #f0f2f5;
    --bg-surface: #ffffff;
    --bg-surface-hover: #f3f4f6;
    --bg-card-footer: #fafafa;
    --bg-input: #f5f5f5;
    --bg-table-header: #f9fafb;

    /* ===== 文字色 ===== */
    --text-primary: #333333;
    --text-secondary: #6b7280;
    --text-muted: #999999;
    --text-label: #555555;
    --text-heading: #1f2937;
    --text-inverse: #ffffff;
    --text-description: #666666;
    --text-quick-entry: #495057;
    --text-admin-header: #374151;
    --text-admin-icon: #6b7280;

    /* ===== 边框色 ===== */
    --border-light: #eeeeee;
    --border-default: #dddddd;
    --border-input: #dee2e6;
    --border-admin-topbar: #e5e7eb;

    /* ===== 品牌/主题色 ===== */
    --color-primary: #0d6efd;
    --color-primary-dark: #0b5ed7;
    --color-primary-light: rgba(13, 110, 253, 0.15);
    --color-primary-bg-hover: #f0f5ff;

    --color-success: #198754;
    --color-success-dark: #157347;

    --color-danger: #dc3545;
    --color-danger-dark: #bb2d3b;

    --color-warning: #ffc107;
    --color-warning-text: #333333;

    --color-info: #0dcaf0;

    --color-purple: #6610f2;
    --color-purple-start: #667eea;
    --color-purple-end: #764ba2;

    /* ===== 渐变 ===== */
    --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    --gradient-success: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);
    --gradient-danger: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-dark) 100%);
    --gradient-welcome: linear-gradient(135deg, var(--color-primary) 0%, var(--color-purple) 100%);
    --gradient-user-welcome: linear-gradient(135deg, var(--color-purple-start) 0%, var(--color-purple-end) 100%);
    --gradient-sidebar: linear-gradient(180deg, #1a2332 0%, #0f172a 100%);

    /* ===== 阴影 ===== */
    --shadow-card: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);
    --shadow-card-hover: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    --shadow-dropdown: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --shadow-button: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
    --shadow-toast: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --shadow-stat-hover: 0 4px 12px rgba(0, 0, 0, 0.1);
    --shadow-stat-card: 0 1px 3px rgba(0, 0, 0, 0.05);
    --shadow-topbar: 0 1px 3px rgba(0, 0, 0, 0.05);

    /* ===== 侧边栏（后台专用） ===== */
    --sidebar-bg-start: #1a2332;
    --sidebar-bg-end: #0f172a;
    --sidebar-text: rgba(255, 255, 255, 0.7);
    --sidebar-text-hover: #ffffff;
    --sidebar-divider: rgba(255, 255, 255, 0.1);
    --sidebar-item-hover-bg: rgba(255, 255, 255, 0.05);
    --sidebar-item-active-bg: rgba(96, 165, 250, 0.15);
    --sidebar-item-active-accent: #60a5fa;
    --sidebar-brand-icon: #60a5fa;

    /* ===== 顶部导航栏（后台专用） ===== */
    --topbar-bg: #ffffff;
    --topbar-border: #e5e7eb;
    --topbar-text: #374151;
    --topbar-icon: #6b7280;
    --topbar-hover-bg: #f3f4f6;
    --topbar-backdrop: rgba(0, 0, 0, 0.5);
    --topbar-avatar-gradient: linear-gradient(135deg, var(--color-purple-start) 0%, var(--color-purple-end) 100%);

    /* ===== 页脚 ===== */
    --footer-border-top: 3px solid var(--color-primary);
    --footer-bg: #1a1d23;
    --footer-custom-bg: rgba(255, 255, 255, 0.02);
    --footer-custom-text: #adb5bd;
    --footer-bottom-bg: rgba(0, 0, 0, 0.2);
    --footer-link: var(--color-primary);
    --footer-link-hover: #ffffff;

    /* ===== 导航栏 ===== */
    --navbar-link-hover: rgba(255, 255, 255, 0.85);
    --navbar-active-indicator: #ffffff;
    --navbar-link-hover-light: rgba(0, 0, 0, 0.7);
    --navbar-active-indicator-light: #333333;
}

/* ===== 深色模式（适配 data-bs-theme="dark"） ===== */
[data-bs-theme="dark"] {
    --bg-body: #212529;
    --bg-admin-body: #1a1d23;
    --bg-surface: #2b3035;
    --bg-surface-hover: #32383e;
    --bg-card-footer: #2a2f34;
    --bg-input: #2b3035;
    --bg-table-header: #2b3035;

    --text-primary: #dee2e6;
    --text-secondary: #adb5bd;
    --text-muted: #868e96;
    --text-label: #ced4da;
    --text-heading: #f8f9fa;
    --text-inverse: #ffffff;
    --text-description: #adb5bd;
    --text-quick-entry: #ced4da;
    --text-admin-header: #e9ecef;
    --text-admin-icon: #adb5bd;

    --border-light: #343a40;
    --border-default: #495057;
    --border-input: #495057;
    --border-admin-topbar: #495057;

    --color-primary: #6ea8fe;
    --color-primary-dark: #5b9cf9;
    --color-primary-light: rgba(110, 168, 254, 0.15);
    --color-primary-bg-hover: #2a3440;

    --color-success: #75b798;
    --color-success-dark: #5fa883;

    --color-danger: #ea868f;
    --color-danger-dark: #d96a73;

    --color-warning: #ffda6a;
    --color-warning-text: #212529;

    --color-info: #6edff6;

    --color-purple: #b197fc;
    --color-purple-start: #9775fa;
    --color-purple-end: #b197fc;

    --shadow-card: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
    --shadow-card-hover: 0 0.5rem 1rem rgba(0, 0, 0, 0.4);
    --shadow-dropdown: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
    --shadow-button: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    --shadow-toast: 0 0.5rem 1rem rgba(0, 0, 0, 0.4);
    --shadow-stat-hover: 0 4px 12px rgba(0, 0, 0, 0.3);
    --shadow-stat-card: 0 1px 3px rgba(0, 0, 0, 0.2);
    --shadow-topbar: 0 1px 3px rgba(0, 0, 0, 0.2);

    --topbar-bg: #2b3035;
    --topbar-border: #495057;
    --topbar-text: #e9ecef;
    --topbar-icon: #adb5bd;
    --topbar-hover-bg: #32383e;
    --topbar-backdrop: rgba(0, 0, 0, 0.7);

    --footer-bg: #1a1d23;
    --footer-custom-text: #ced4da;
    --footer-bottom-bg: rgba(0, 0, 0, 0.3);
    --footer-link-hover: #ffffff;

    --navbar-link-hover: rgba(255, 255, 255, 0.85);
    --navbar-active-indicator: #ffffff;
    --navbar-link-hover-light: rgba(0, 0, 0, 0.7);
    --navbar-active-indicator-light: #333333;
}

.btn-primary {
    background: var(--gradient-primary);
}

.btn-success {
    background: var(--gradient-success);
}

.btn-danger {
    background: var(--gradient-danger);
}
