| """ |
| CSS styles and themes - FIXED VERSION |
| """ |
|
|
| |
| import gradio as gr |
|
|
| CUSTOM_CSS = """ |
| /* Main container */ |
| .gradio-container { |
| max-width: 1400px !important; |
| margin: 0 auto !important; |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; |
| } |
| |
| /* Headers */ |
| h1, h2, h3, h4 { |
| color: #1a365d !important; |
| font-weight: 600 !important; |
| } |
| |
| h1 { |
| background: linear-gradient(90deg, #667eea 0%, #764ba2 100%); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| margin-bottom: 10px !important; |
| } |
| |
| /* Buttons */ |
| button.primary { |
| background: linear-gradient(90deg, #667eea 0%, #764ba2 100%) !important; |
| color: white !important; |
| border: none !important; |
| font-weight: 600 !important; |
| padding: 12px 24px !important; |
| border-radius: 8px !important; |
| } |
| |
| button.secondary { |
| background: linear-gradient(90deg, #4ECDC4 0%, #44A08D 100%) !important; |
| color: white !important; |
| border: none !important; |
| font-weight: 600 !important; |
| padding: 12px 24px !important; |
| border-radius: 8px !important; |
| } |
| |
| /* JSON displays */ |
| .gr-json { |
| border: 1px solid #e2e8f0 !important; |
| border-radius: 8px !important; |
| padding: 15px !important; |
| background: #f8fafc !important; |
| font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace !important; |
| font-size: 13px !important; |
| } |
| |
| /* Custom classes */ |
| .critical-metric { |
| background: linear-gradient(135deg, rgba(255,107,107,0.1) 0%, rgba(255,107,107,0.2) 100%) !important; |
| border-left: 4px solid #FF6B6B !important; |
| padding: 15px !important; |
| border-radius: 8px !important; |
| margin: 10px 0 !important; |
| font-weight: bold !important; |
| } |
| |
| .success-metric { |
| background: linear-gradient(135deg, rgba(78,205,196,0.1) 0%, rgba(78,205,196,0.2) 100%) !important; |
| border-left: 4px solid #4ECDC4 !important; |
| padding: 15px !important; |
| border-radius: 8px !important; |
| margin: 10px 0 !important; |
| font-weight: bold !important; |
| } |
| |
| .roi-highlight { |
| font-size: 2.5em !important; |
| font-weight: 900 !important; |
| background: linear-gradient(90deg, #667eea 0%, #764ba2 100%) !important; |
| -webkit-background-clip: text !important; |
| -webkit-text-fill-color: transparent !important; |
| background-clip: text !important; |
| text-align: center !important; |
| margin: 20px 0 !important; |
| } |
| |
| .presenter-guidance { |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; |
| color: white !important; |
| padding: 20px !important; |
| border-radius: 10px !important; |
| margin: 15px 0 !important; |
| border-left: 5px solid #4ECDC4 !important; |
| } |
| |
| /* Footer */ |
| .footer { |
| margin-top: 40px !important; |
| padding-top: 20px !important; |
| border-top: 1px solid #e2e8f0 !important; |
| color: #718096 !important; |
| font-size: 14px !important; |
| } |
| """ |
|
|
| |
| THEME = gr.themes.Soft( |
| primary_hue="purple", |
| secondary_hue="teal", |
| neutral_hue="gray", |
| font=["-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "sans-serif"] |
| ).set( |
| button_primary_background_fill="linear-gradient(90deg, #667eea 0%, #764ba2 100%)", |
| button_primary_background_fill_hover="linear-gradient(90deg, #764ba2 0%, #667eea 100%)", |
| button_primary_text_color="white", |
| button_primary_border_color="#667eea", |
| button_secondary_background_fill="linear-gradient(90deg, #4ECDC4 0%, #44A08D 100%)", |
| button_secondary_background_fill_hover="linear-gradient(90deg, #44A08D 0%, #4ECDC4 100%)", |
| button_secondary_text_color="white", |
| background_fill_primary="#f8fafc", |
| background_fill_secondary="#ffffff", |
| border_color_primary="#e2e8f0", |
| border_color_secondary="#cbd5e0" |
| ) |