body {
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow: hidden;
    background-color: #f8f9fa;
}

.card {
    border: none;
    border-radius: 8px;
}

.navbar {
    margin-bottom: 2rem;
}

.nav-link.active {
    background-color: #0d6efd !important;
}

.table-responsive {
    max-height: calc(100vh - 200px);
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
}

/* 确保卡片内容不会超出容器 */
.card.h-100 {
    height: calc(100vh - 2rem) !important;
}

/* 表单行间距优化 */
.row.g-2 > * {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* 表格行高度优化 */
.table-sm td, .table-sm th {
    padding: 0.25rem 0.5rem;
}

/* 确保侧边栏不会滚动 */
.d-flex.flex-column.flex-shrink-0 {
    overflow-y: auto;
    max-height: 100vh;
}

/* 主内容区域滚动优化 */
.flex-grow-1.d-flex.flex-column {
    min-height: 0;
}

/* 全局字体与基础色彩 */
body, html {
    font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
    color: #222c3a;
    background: #f6f8fa;
    font-size: 16px;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: #1a2a3a;
}
label, .form-label {
    font-size: 1rem;
    color: #3a4a5d;
    font-weight: 500;
}
.btn, .btn-lg {
    font-size: 1.1rem;
    border-radius: 6px;
    font-weight: 600;
}
.card, .card-application {
    border-radius: 8px;
    box-shadow: 0 4px 24px 0 rgba(80,120,200,0.08);
    background: #fff;
}
.card-header {
    background: #f3f7fa;
    border-bottom: 1px solid #e0e6ed;
    border-radius: 8px 8px 0 0;
    font-size: 1.05rem;
    font-weight: 600;
}
.badge {
    font-size: 1rem;
    border-radius: 4px;
    padding: 0.3em 1.2em;
}
.period-info {
    background: #f6fafd;
    border-radius: 6px;
    padding: 0.7em 1.2em;
    margin-bottom: 0.5em;
    font-size: 0.98rem;
    color: #3a4a5d;
}
.section-label {
    color: #6c7a89;
    font-size: 0.98rem;
    margin-right: 0.5em;
}
/* 按钮渐变主色 */
.btn-gradient-primary {
    background: linear-gradient(90deg, #3b82f6 0%, #06b6d4 100%);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 1.1rem;
    font-weight: 600;
    box-shadow: 0 2px 8px 0 rgba(80,120,200,0.10);
    transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
}
.btn-gradient-primary:hover {
    background: linear-gradient(90deg, #2563eb 0%, #0ea5e9 100%);
    box-shadow: 0 4px 16px 0 rgba(80,120,200,0.18);
    transform: translateY(-1px) scale(1.03);
} 