petter2025's picture
Update ui/styles.py
f869101 verified
raw
history blame
4.45 kB
"""
CSS styles for the demo
"""
CUSTOM_CSS = """
.gradio-container {
max-width: 1800px !important;
margin: auto !important;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}
/* Header styles */
h1 {
background: linear-gradient(90deg, #1a365d 0%, #2d3748 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 800 !important;
font-size: 2.5rem !important;
margin-bottom: 0.5rem !important;
line-height: 1.2 !important;
}
h2 {
color: #4a5568 !important;
font-weight: 600 !important;
font-size: 1.5rem !important;
margin-bottom: 1rem !important;
}
h3 {
color: #2d3748 !important;
font-weight: 700 !important;
font-size: 1.25rem !important;
margin-bottom: 0.75rem !important;
}
h4 {
color: #4a5568 !important;
font-weight: 600 !important;
font-size: 1.1rem !important;
margin-bottom: 0.5rem !important;
}
/* Status indicators */
.critical {
color: #FF6B6B !important;
font-weight: 700 !important;
}
.warning {
color: #FFA726 !important;
font-weight: 700 !important;
}
.success {
color: #4ECDC4 !important;
font-weight: 700 !important;
}
.info {
color: #42A5F5 !important;
font-weight: 700 !important;
}
/* Cards and containers */
.metric-card {
background: white !important;
border-radius: 12px !important;
padding: 20px !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
border: 1px solid #e2e8f0 !important;
margin-bottom: 15px !important;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.metric-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}
/* Plot containers */
.plot-container {
background: white !important;
border-radius: 12px !important;
padding: 15px !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
border: 1px solid #e2e8f0 !important;
margin-bottom: 20px !important;
}
/* Data tables */
.dataframe {
background: white !important;
border-radius: 8px !important;
border: 1px solid #e2e8f0 !important;
}
.dataframe th {
background: #f8fafc !important;
color: #4a5568 !important;
font-weight: 600 !important;
padding: 12px !important;
border-bottom: 2px solid #e2e8f0 !important;
}
.dataframe td {
padding: 10px 12px !important;
border-bottom: 1px solid #e2e8f0 !important;
}
/* Buttons */
button {
border-radius: 8px !important;
font-weight: 600 !important;
transition: all 0.2s ease !important;
}
button:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
button.primary {
background: linear-gradient(135deg, #4ECDC4 0%, #44A08D 100%) !important;
color: white !important;
border: none !important;
}
button.secondary {
background: white !important;
color: #4a5568 !important;
border: 1px solid #e2e8f0 !important;
}
button.secondary:hover {
background: #f8fafc !important;
border-color: #cbd5e0 !important;
}
button.stop {
background: linear-gradient(135deg, #FF6B6B 0%, #C53030 100%) !important;
color: white !important;
border: none !important;
}
/* Inputs and controls */
input, textarea, select {
border-radius: 8px !important;
border: 1px solid #e2e8f0 !important;
padding: 10px 12px !important;
background: white !important;
}
input:focus, textarea:focus, select:focus {
border-color: #4ECDC4 !important;
box-shadow: 0 0 0 3px rgba(78, 205, 196, 0.1) !important;
outline: none !important;
}
/* Tabs */
.tab-nav {
background: linear-gradient(90deg, #f8fafc 0%, #ffffff 100%) !important;
border-radius: 12px !important;
padding: 8px !important;
margin-bottom: 25px !important;
border: 1px solid #e2e8f0 !important;
}
.tab-button {
border-radius: 8px !important;
font-weight: 600 !important;
padding: 10px 20px !important;
}
.tab-button.selected {
background: white !important;
color: #4ECDC4 !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
border: 1px solid #e2e8f0 !important;
}
/* JSON display */
.json-container {
background: #f8fafc !important;
border-radius: 8px !important;
padding: 15px !important;
border: 1px solid #e2e8f0 !important;
font-family: 'Monaco', '