Spaces:
Sleeping
Sleeping
| /* PHI-Arc Engine PHM - Global Styles */ | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); | |
| html, body, [class*="css-"] { | |
| font-family: 'Inter', sans-serif; | |
| } | |
| /* Main container adjustments */ | |
| .main .block-container { | |
| padding-top: 2rem; | |
| padding-bottom: 2rem; | |
| max-width: 1400px; | |
| } | |
| /* PHI-Arc Brand Header */ | |
| .brand-header { | |
| background: linear-gradient(135deg, #0a1628 0%, #1a365d 50%, #0f172a 100%); | |
| border-radius: 12px; | |
| padding: 1.5rem 2rem; | |
| margin-bottom: 1.5rem; | |
| border: 1px solid rgba(56, 189, 248, 0.2); | |
| box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); | |
| } | |
| .brand-title { | |
| color: #38bdf8; | |
| font-size: 1.8rem; | |
| font-weight: 700; | |
| letter-spacing: -0.02em; | |
| margin: 0; | |
| } | |
| .brand-subtitle { | |
| color: #94a3b8; | |
| font-size: 0.9rem; | |
| font-weight: 400; | |
| margin-top: 0.25rem; | |
| } | |
| .brand-badge { | |
| display: inline-block; | |
| background: rgba(56, 189, 248, 0.15); | |
| color: #38bdf8; | |
| padding: 0.25rem 0.75rem; | |
| border-radius: 20px; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| border: 1px solid rgba(56, 189, 248, 0.3); | |
| margin-top: 0.5rem; | |
| } | |
| /* Engine Selector Cards */ | |
| .engine-card { | |
| background: linear-gradient(145deg, #1e293b, #0f172a); | |
| border: 1px solid rgba(148, 163, 184, 0.1); | |
| border-radius: 10px; | |
| padding: 1rem; | |
| text-align: center; | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .engine-card:hover { | |
| border-color: rgba(56, 189, 248, 0.4); | |
| transform: translateY(-2px); | |
| box-shadow: 0 8px 25px rgba(56, 189, 248, 0.1); | |
| } | |
| .engine-card.selected { | |
| border-color: #38bdf8; | |
| background: linear-gradient(145deg, #1e293b, #0c4a6e); | |
| box-shadow: 0 0 20px rgba(56, 189, 248, 0.15); | |
| } | |
| .engine-icon { | |
| font-size: 2rem; | |
| margin-bottom: 0.5rem; | |
| } | |
| .engine-name { | |
| color: #e2e8f0; | |
| font-weight: 600; | |
| font-size: 0.85rem; | |
| } | |
| .engine-desc { | |
| color: #64748b; | |
| font-size: 0.7rem; | |
| margin-top: 0.25rem; | |
| } | |
| /* Section Headers */ | |
| .section-header { | |
| color: #38bdf8; | |
| font-size: 1.1rem; | |
| font-weight: 600; | |
| border-left: 3px solid #38bdf8; | |
| padding-left: 0.75rem; | |
| margin: 1.5rem 0 1rem 0; | |
| } | |
| /* Metric Cards */ | |
| .metric-card { | |
| background: linear-gradient(135deg, #1e293b, #0f172a); | |
| border-radius: 10px; | |
| padding: 1rem; | |
| border: 1px solid rgba(148, 163, 184, 0.1); | |
| } | |
| .metric-value { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| color: #e2e8f0; | |
| } | |
| .metric-label { | |
| font-size: 0.75rem; | |
| color: #64748b; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| /* Fault Severity Indicators */ | |
| .severity-healthy { color: #22c55e; } | |
| .severity-advisory { color: #eab308; } | |
| .severity-warning { color: #f97316; } | |
| .severity-critical { color: #ef4444; } | |
| /* Progress bars */ | |
| .stProgress > div > div > div > div { | |
| border-radius: 10px; | |
| } | |
| /* Dataframes */ | |
| .stDataFrame { | |
| border-radius: 8px; | |
| overflow: hidden; | |
| } | |
| /* Buttons */ | |
| .stButton > button { | |
| border-radius: 8px; | |
| font-weight: 600; | |
| transition: all 0.2s ease; | |
| } | |
| .stButton > button:hover { | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 12px rgba(0,0,0,0.2); | |
| } | |
| /* Primary action button */ | |
| .stButton > button[kind="primary"] { | |
| background: linear-gradient(135deg, #0ea5e9, #0284c7); | |
| border: none; | |
| } | |
| /* Tabs */ | |
| .stTabs [data-baseweb="tab-list"] { | |
| gap: 8px; | |
| background: rgba(15, 23, 42, 0.5); | |
| border-radius: 10px; | |
| padding: 0.5rem; | |
| } | |
| .stTabs [data-baseweb="tab"] { | |
| border-radius: 8px; | |
| padding: 0.5rem 1rem; | |
| font-weight: 500; | |
| } | |
| .stTabs [aria-selected="true"] { | |
| background: linear-gradient(135deg, #0ea5e9, #0284c7); | |
| color: white; | |
| } | |
| /* Sidebar */ | |
| .css-1d391kg, .css-1lcbmhc { | |
| background: linear-gradient(180deg, #0f172a, #1e293b); | |
| } | |
| /* Expander */ | |
| .streamlit-expanderHeader { | |
| background: rgba(30, 41, 59, 0.5); | |
| border-radius: 8px; | |
| border: 1px solid rgba(148, 163, 184, 0.1); | |
| } | |
| /* Footer */ | |
| .phi-footer { | |
| text-align: center; | |
| padding: 2rem 1rem; | |
| margin-top: 3rem; | |
| border-top: 1px solid rgba(148, 163, 184, 0.1); | |
| color: #64748b; | |
| font-size: 0.8rem; | |
| } | |
| .phi-footer strong { | |
| color: #38bdf8; | |
| } | |
| /* Mobile Responsiveness */ | |
| @media (max-width: 768px) { | |
| .main .block-container { | |
| padding: 0.5rem; | |
| } | |
| .brand-title { | |
| font-size: 1.3rem; | |
| } | |
| .brand-subtitle { | |
| font-size: 0.8rem; | |
| } | |
| .metric-value { | |
| font-size: 1.1rem; | |
| } | |
| .section-header { | |
| font-size: 1rem; | |
| } | |
| /* Stack columns on mobile */ | |
| .row-widget.stHorizontalBlock { | |
| flex-direction: column ; | |
| } | |
| .row-widget.stHorizontalBlock > div { | |
| width: 100% ; | |
| min-width: 100% ; | |
| margin-bottom: 0.5rem; | |
| } | |
| } | |
| /* Scrollbars */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #0f172a; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #334155; | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #475569; | |
| } | |
| /* Code blocks */ | |
| .stCodeBlock { | |
| border-radius: 8px; | |
| border: 1px solid rgba(148, 163, 184, 0.1); | |
| } | |
| /* Alert boxes */ | |
| .stAlert { | |
| border-radius: 10px; | |
| border: 1px solid rgba(148, 163, 184, 0.1); | |
| } | |
| /* Plot containers */ | |
| .js-plotly-plot, .plotly { | |
| border-radius: 10px; | |
| } | |