:root {
    --x-bg: #f9f9f9;
    --x-surface: #ffffff;
    --x-text: #1a1a1a;
    --x-subtle: #7d7d7d;
    --x-border: #dcdcdc;
    --x-accent: #3a7bd5;
    --x-accent-dark: #2a5ca0;
    --x-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

body {
    background: var(--x-bg) !important;
    color: var(--x-text);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    /* 为固定导航栏留出空间 */
    padding-top: 70px;
}

.navbar {
    background: var(--x-surface) !important;
    border-bottom: 1px solid var(--x-border);
    box-shadow: none !important;
}

.navbar-brand,
.nav-link,
.text-primary,
a {
    color: var(--x-text) !important;
}

.nav-link.active,
.nav-link:hover,
.navbar-brand:hover {
    color: var(--x-accent) !important;
}

.card {
    border: 1px solid var(--x-border) !important;
    border-radius: 12px !important;
    box-shadow: var(--x-shadow) !important;
    background: var(--x-surface) !important;
}

.card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--x-border) !important;
}

.btn {
    border-radius: 8px !important;
    font-weight: 500;
    box-shadow: none !important;
}

.btn-primary {
    background: var(--x-accent) !important;
    border-color: var(--x-accent) !important;
    color: #fff !important;
}

.btn-primary:hover {
    background: var(--x-accent-dark) !important;
    border-color: var(--x-accent-dark) !important;
}

.table {
    color: var(--x-text) !important;
}

.table thead th {
    background: #f3f3f3 !important;
    color: var(--x-text) !important;
    border-bottom: 1px solid var(--x-border) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    background: #f7f7f7 !important;
}

.bg-primary {
    background: var(--x-accent) !important;
    color: #fff !important;
}

.alert {
    border-radius: 8px;
    border: 1px solid var(--x-border);
}

.pagination .page-link {
    color: var(--x-text);
    border-color: var(--x-border);
}

.pagination .page-item.active .page-link {
    background: var(--x-accent);
    border-color: var(--x-accent);
    color: #fff;
}

.user-avatar {
    background: var(--x-accent) !important;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-weight: 600;
    margin-left: 12px;
    text-transform: uppercase;
}

.login-page {
    background: var(--x-bg) !important;
}

.news-item {
    border: 1px solid var(--x-border) !important;
}

.news-item:hover {
    transform: translateY(-1px);
    box-shadow: var(--x-shadow) !important;
}