SM-Bello's picture
Create assets/style.css
77cce93 verified
Raw
History Blame Contribute Delete
5.37 kB
/* 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;
}