/* 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 !important; } .row-widget.stHorizontalBlock > div { width: 100% !important; min-width: 100% !important; 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; }