Spaces:
Sleeping
Sleeping
| # styles.py | |
| main_styles = """ | |
| <style> | |
| /* Headers */ | |
| h1 { | |
| color: #1a237e; | |
| font-size: 32px; | |
| font-weight: 600; | |
| margin-bottom: 24px; | |
| } | |
| h2 { | |
| color: #1565c0; | |
| font-size: 24px; | |
| font-weight: 500; | |
| margin-top: 32px; | |
| margin-bottom: 16px; | |
| } | |
| h3 { | |
| color: #1976d2; | |
| font-size: 20px; | |
| font-weight: 500; | |
| margin-top: 24px; | |
| margin-bottom: 12px; | |
| } | |
| /* Content */ | |
| p { | |
| color: #333; | |
| font-size: 16px; | |
| line-height: 1.6; | |
| margin-bottom: 16px; | |
| } | |
| /* Expandable sections */ | |
| .streamlit-expanderHeader { | |
| font-size: 18px; | |
| font-weight: 500; | |
| color: #1565c0; | |
| } | |
| /* Warning/Info boxes */ | |
| .stAlert { | |
| font-size: 16px; | |
| padding: 16px; | |
| margin: 16px 0; | |
| border-radius: 8px; | |
| } | |
| /* Download button */ | |
| .stDownloadButton { | |
| background-color: #1976d2; | |
| color: white; | |
| padding: 12px 24px; | |
| font-weight: 500; | |
| border-radius: 8px; | |
| margin-top: 32px; | |
| border: none; | |
| } | |
| .stDownloadButton:hover { | |
| background-color: #1565c0; | |
| } | |
| /* Sources list */ | |
| .source-item { | |
| padding: 8px 12px; | |
| margin: 4px 0; | |
| background-color: #f5f5f5; | |
| border-radius: 4px; | |
| font-size: 14px; | |
| } | |
| /* General Report Styling */ | |
| .report-container { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 20px; | |
| background: white; | |
| border-radius: 10px; | |
| box-shadow: 0 2px 4px rgba(0,0,0,0.1); | |
| } | |
| /* Section Styling */ | |
| .report-section { | |
| margin: 30px 0; | |
| padding: 25px; | |
| background: white; | |
| border-radius: 8px; | |
| border-left: 4px solid #2196F3; | |
| box-shadow: 0 2px 10px rgba(0,0,0,0.05); | |
| } | |
| .executive-summary { | |
| border-left-color: #1976D2; | |
| background: linear-gradient(to right, #f8f9fa, white); | |
| } | |
| .market-analysis { | |
| border-left-color: #4CAF50; | |
| } | |
| .future-outlook { | |
| border-left-color: #FF9800; | |
| } | |
| .sources-section { | |
| border-left-color: #9C27B0; | |
| } | |
| /* Headings */ | |
| .section-heading { | |
| color: #1a237e; | |
| font-size: 24px; | |
| font-weight: 600; | |
| margin-bottom: 20px; | |
| padding-bottom: 10px; | |
| border-bottom: 2px solid #e0e0e0; | |
| } | |
| .subsection-heading { | |
| color: #1565C0; | |
| font-size: 20px; | |
| font-weight: 500; | |
| margin: 20px 0 15px 0; | |
| } | |
| /* Content Styling */ | |
| .content-block { | |
| line-height: 1.6; | |
| color: #333; | |
| margin: 15px 0; | |
| font-size: 16px; | |
| } | |
| /* Metrics Display */ | |
| .metrics-container { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
| gap: 20px; | |
| margin: 20px 0; | |
| } | |
| .metric-card { | |
| padding: 20px; | |
| background: white; | |
| border-radius: 8px; | |
| box-shadow: 0 2px 4px rgba(0,0,0,0.1); | |
| transition: transform 0.2s ease; | |
| } | |
| .metric-card:hover { | |
| transform: translateY(-2px); | |
| } | |
| /* Source List */ | |
| .source-item { | |
| padding: 10px 15px; | |
| margin: 5px 0; | |
| background: #f8f9fa; | |
| border-radius: 4px; | |
| font-size: 14px; | |
| color: #666; | |
| } | |
| /* Disclaimer */ | |
| .disclaimer { | |
| padding: 15px; | |
| background: #fff3e0; | |
| border-left: 4px solid #ff9800; | |
| margin: 20px 0; | |
| font-size: 14px; | |
| color: #795548; | |
| } | |
| /* Download Button */ | |
| .download-button { | |
| background: #1976D2; | |
| color: white; | |
| padding: 12px 24px; | |
| border-radius: 6px; | |
| border: none; | |
| font-weight: 500; | |
| cursor: pointer; | |
| transition: background 0.3s ease; | |
| margin-top: 20px; | |
| text-align: center; | |
| } | |
| .download-button:hover { | |
| background: #1565C0; | |
| } | |
| /* Progress Bar */ | |
| .progress-container { | |
| width: 100%; | |
| background: #f0f0f0; | |
| border-radius: 8px; | |
| margin: 20px 0; | |
| } | |
| .progress-bar { | |
| height: 24px; | |
| background: linear-gradient(90deg, #4caf50, #81c784); | |
| border-radius: 8px; | |
| text-align: center; | |
| line-height: 24px; | |
| color: white; | |
| transition: width 0.5s ease; | |
| } | |
| /* Report Sections */ | |
| .exec-summary { | |
| background: white; | |
| padding: 25px; | |
| border-radius: 15px; | |
| margin-bottom: 30px; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); | |
| } | |
| .detailed-section { | |
| background: white; | |
| padding: 30px; | |
| border-radius: 15px; | |
| margin: 20px 0; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); | |
| } | |
| </style> | |
| """ |