/* ===== 全局样式 ===== */
body {
    background-color: #f5f7fb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* ===== 导航栏 ===== */
.navbar-brand {
    font-weight: 600;
    letter-spacing: 0.5px;
}
.navbar-nav .nav-link {
    padding: 0.5rem 0.6rem;
    font-size: 0.92rem;
    white-space: nowrap;
}
.navbar-nav .nav-link.active {
    font-weight: 600;
    background-color: rgba(255,255,255,0.15);
    border-radius: 6px;
}

/* ===== 返回按钮 ===== */
.back-navigation {
    padding-bottom: 0.25rem;
}
.back-btn {
    border-radius: 8px;
    padding: 0.4rem 0.9rem;
    font-size: 0.92rem;
    transition: all 0.2s;
}
.back-btn:hover {
    background-color: #e9ecef;
    border-color: #adb5bd;
    transform: translateX(-3px);
}
.back-btn i {
    font-size: 1.1rem;
    vertical-align: -1px;
}

/* ===== 卡片 ===== */
.card {
    border: none;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    border-radius: 10px;
    margin-bottom: 1rem;
}
.card-header {
    background-color: #fff;
    border-bottom: 1px solid #eee;
    border-radius: 10px 10px 0 0 !important;
    font-weight: 600;
}
.card-header h5 {
    font-size: 1rem;
}

/* ===== 风险等级标签 ===== */
.risk-high { color: #dc3545; font-weight: 600; }
.risk-medium { color: #fd7e14; font-weight: 600; }
.risk-low { color: #198754; font-weight: 600; }

/* ===== 风险卡片 ===== */
.risk-card {
    border-left: 4px solid #dee2e6;
    transition: all 0.2s;
}
.risk-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.risk-card.high { border-left-color: #dc3545; }
.risk-card.medium { border-left-color: #fd7e14; }
.risk-card.low { border-left-color: #198754; }
.risk-card.insufficient { border-left-color: #adb5bd; background-color: #f8f9fa; }

/* ===== 文件拖拽上传区 ===== */
.upload-zone {
    border: 2px dashed #dee2e6;
    border-radius: 12px;
    padding: 3rem;
    text-align: center;
    background-color: #fafbfc;
    transition: all 0.3s;
    cursor: pointer;
}
.upload-zone:hover, .upload-zone.dragover {
    border-color: #0d6efd;
    background-color: #f0f7ff;
}
.upload-zone .bi-cloud-upload {
    font-size: 3rem;
    color: #0d6efd;
}

/* ===== 表格 ===== */
.table > :not(caption) > * > * {
    padding: 0.75rem 1rem;
}
.table-hover > tbody > tr:hover {
    background-color: #f0f7ff;
}

/* ===== 报告预览 ===== */
.report-preview {
    max-width: 900px;
    margin: 0 auto;
}
.report-cover {
    text-align: center;
    padding: 4rem 2rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 10px;
    margin-bottom: 2rem;
}
.report-cover h1 {
    font-size: 2.5rem;
    font-weight: 700;
}
.report-section {
    margin-bottom: 2rem;
}
.report-section h3 {
    color: #333;
    border-bottom: 2px solid #667eea;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

/* ===== 指标卡片 ===== */
.metric-card {
    text-align: center;
    padding: 1.2rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}
.metric-card .metric-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: #333;
}
.metric-card .metric-label {
    font-size: 0.85rem;
    color: #666;
}

/* ===== Flash消息 ===== */
.flash-messages {
    margin-bottom: 1rem;
}

/* ===== PDF特定样式 ===== */
@media print {
    .navbar, .btn, .flash-messages { display: none !important; }
    .card { box-shadow: none; border: 1px solid #ddd; }
    body { background-color: #fff; }
}

/* ===== 数据预览表格 ===== */
.data-preview-table {
    max-height: 400px;
    overflow-y: auto;
}
.data-preview-table table {
    font-size: 0.85rem;
}

/* ===== 进度条 ===== */
.analysis-progress {
    margin: 2rem 0;
}

/* ===== 列名映射 ===== */
.mapping-row {
    align-items: center;
    padding: 0.5rem;
    border-bottom: 1px solid #eee;
}
.mapping-row:hover {
    background-color: #f8f9fa;
}
