body { 
    font-family: Arial, sans-serif; 
    margin: 0; 
    padding: 20px; 
    background-color: #f5f5f5; 
}
.container { 
    max-width: 1400px; 
    margin: 0 auto; 
    background-color: white; 
    border-radius: 8px; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    overflow: hidden;
}
.header { 
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); 
    color: white; 
    padding: 30px; 
    text-align: center; 
}
.header h1 { 
    margin: 0; 
    font-size: 2.5em; 
}
.header p { 
    margin: 10px 0 0 0; 
    opacity: 0.9; 
}
.content { 
    padding: 30px; 
}
.summary-cards { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
    gap: 20px; 
    margin-bottom: 30px; 
}
.summary-card { 
    background: #f8f9fa; 
    border: 1px solid #dee2e6; 
    border-radius: 8px; 
    padding: 20px; 
    text-align: center; 
}
.summary-card h3 { 
    margin: 0 0 10px 0; 
    color: #495057; 
}
.summary-card .number { 
    font-size: 2em; 
    font-weight: bold; 
    color: #007bff; 
}
.summary-card .label { 
    color: #6c757d; 
    font-size: 0.9em; 
}
.results-section { 
    margin-bottom: 30px; 
}
.results-section h2 { 
    color: #333; 
    border-bottom: 2px solid #007bff; 
    padding-bottom: 10px; 
}
.results-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-top: 20px; 
}
.results-table th, .results-table td { 
    padding: 12px; 
    text-align: left; 
    border-bottom: 1px solid #dee2e6; 
}
.results-table th { 
    background-color: #f8f9fa; 
    font-weight: bold; 
    color: #495057; 
}
.results-table tr:hover { 
    background-color: #f8f9fa; 
}
.recent-row { 
    background-color: #fff3cd !important; 
}
.market-badge { 
    padding: 4px 8px; 
    border-radius: 4px; 
    font-size: 0.8em; 
    font-weight: bold; 
}
.market-A股 { 
    background-color: #d4edda; 
    color: #155724; 
}
.market-港股 { 
    background-color: #cce5ff; 
    color: #004085; 
}
.no-results { 
    text-align: center; 
    padding: 40px; 
    color: #6c757d; 
}
.file-info { 
    background-color: #e9ecef; 
    border-radius: 4px; 
    padding: 15px; 
    margin-bottom: 20px; 
    font-size: 0.9em; 
}
.file-info strong { 
    color: #495057; 
}
.history-section { 
    margin-top: 30px; 
    padding-top: 20px; 
    border-top: 1px solid #dee2e6; 
}
.history-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-top: 15px; 
}
.history-table th, .history-table td { 
    padding: 10px; 
    text-align: left; 
    border-bottom: 1px solid #dee2e6; 
}
.history-table th { 
    background-color: #f8f9fa; 
    font-weight: bold; 
}
.data-source-database { 
    background-color: #d4edda; 
    color: #155724; 
    padding: 2px 6px; 
    border-radius: 3px; 
    font-size: 0.8em; 
    font-weight: bold; 
}
.data-source-file { 
    background-color: #f8d7da; 
    color: #721c24; 
    padding: 2px 6px; 
    border-radius: 3px; 
    font-size: 0.8em; 
    font-weight: bold; 
}
.btn { 
    background-color: #007bff; 
    color: white; 
    padding: 10px 20px; 
    text-decoration: none; 
    border-radius: 4px; 
    display: inline-block; 
    margin: 5px; 
}
.btn:hover { 
    background-color: #0056b3; 
}
.btn-secondary { 
    background-color: #6c757d; 
}
.btn-secondary:hover { 
    background-color: #545b62; 
}
.table-section { 
    margin-bottom: 40px; 
    border: 1px solid #dee2e6; 
    border-radius: 8px; 
    overflow: hidden;
}
.table-section h3 { 
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); 
    color: white; 
    margin: 0; 
    padding: 15px 20px; 
    font-size: 1.2em;
}
.table-section .results-table { 
    margin: 0; 
    border: none; 
}
.table-section .results-table th { 
    background-color: #f8f9fa; 
    border-bottom: 2px solid #dee2e6; 
    font-weight: bold; 
    color: #495057;
}
.table-section .results-table td { 
    border-bottom: 1px solid #dee2e6; 
}
.table-section .results-table tr:hover { 
    background-color: #f8f9fa; 
}
.table-section .no-results { 
    padding: 30px; 
    text-align: center; 
    color: #6c757d; 
    background-color: #f8f9fa;
}

