GLAM_Web_App / style.css
liammatt5's picture
Update style.css
ab6fcfb verified
Raw
History Blame Contribute Delete
4.57 kB
/* Clinically Healthcare UI Design Kit Styles (Gradio-Optimized) */
:root {
--primary-indigo: #4338CA;
--secondary-cyan: #0891B2;
--bg-cream: #F8FAFC;
--border-soft: #CBD5E1;
--text-slate: #0F172A;
--text-muted: #334155;
--success-green: #059669;
--warning-amber: #D97706;
--danger-red: #DC2626;
--white: #FFFFFF;
}
/* Header */
.header-box {
background: var(--white);
padding: 1.5rem;
border-bottom: 4px solid var(--primary-indigo);
color: var(--primary-indigo);
text-align: center;
box-shadow: 0 4px 16px rgba(67, 56, 202, 0.12);
}
.header-box h1 {
font-weight: 800;
font-size: 2.25rem;
letter-spacing: -0.025em;
margin: 0;
color: var(--primary-indigo);
}
/* Sidebar Buttons */
.sidebar-btn {
margin-bottom: 10px !important;
font-weight: 600 !important;
border-radius: 12px !important;
border: 1px solid var(--border-soft) !important;
background: var(--white) !important;
transition: all 0.2s ease !important;
color: var(--text-slate) !important;
width: 100%;
}
.sidebar-btn:hover {
background: var(--primary-indigo) !important;
border-color: var(--primary-indigo) !important;
color: var(--white) !important;
transform: translateY(-1px);
box-shadow: 0 6px 18px rgba(67, 56, 202, 0.35);
}
/* Status blocks */
.vibrant-status .label-wrap span {
color: white !important;
font-weight: 700 !important;
}
.vibrant-status textarea {
color: white !important;
background: rgba(255, 255, 255, 0.12) !important;
border: 1px solid rgba(255, 255, 255, 0.25) !important;
border-radius: 8px !important;
min-height: 44px;
}
/* Status variants */
.status-green {
background: rgba(5, 150, 105, 0.15) !important;
border: 1px solid var(--success-green) !important;
color: #064E3B !important;
border-radius: 8px !important;
padding: 8px 12px !important;
}
.status-orange {
background: rgba(217, 119, 6, 0.15) !important;
border: 1px solid var(--warning-amber) !important;
color: #78350F !important;
border-radius: 8px !important;
padding: 8px 12px !important;
}
.status-red {
background: rgba(220, 38, 38, 0.15) !important;
border: 1px solid var(--danger-red) !important;
color: #7F1D1D !important;
border-radius: 8px !important;
padding: 8px 12px !important;
}
/* Loading spinner */
.loading-spinner {
display: inline-flex;
align-items: center;
gap: 10px;
color: var(--primary-indigo);
font-weight: 600;
}
.loading-spinner::before {
content: "";
display: inline-block;
width: 18px;
height: 18px;
border: 3px solid rgba(67, 56, 202, 0.2);
border-top-color: var(--primary-indigo);
border-radius: 50%;
animation: hr-spin 0.8s linear infinite;
}
@keyframes hr-spin {
to {
transform: rotate(360deg);
}
}
/* Page layout */
.page-container {
padding: 0.5rem 1.5rem 2rem 1.5rem;
background: var(--bg-cream);
}
.page-title {
font-size: 1.25rem;
font-weight: 700;
color: var(--text-slate);
margin-bottom: 1rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--border-soft);
}
/* Inputs */
input, textarea, select {
border-color: var(--border-soft) !important;
color: var(--text-slate);
}
input:focus, textarea:focus, select:focus {
border-color: var(--primary-indigo) !important;
box-shadow: 0 0 0 3px rgba(67, 56, 202, 0.15) !important;
}
/* =========================================================
🔥 GRADIO OVERRIDE ENFORCER LAYER (IMPORTANT PART)
========================================================= */
/* 1. Hard reset Gradio container interference */
.gradio-container {
background: var(--bg-cream) !important;
}
/* 2. FORCE header styling (highest practical CSS specificity) */
body .gradio-container div.header-box,
html body .gradio-container div.header-box,
div.gradio-container div.header-box {
background: #0B1F3B !important; /* deep navy override */
color: #FFFFFF !important;
border-bottom: 4px solid var(--primary-indigo) !important;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
}
/* 3. Force all text inside header */
body .gradio-container .header-box * {
color: #FFFFFF !important;
}
/* 4. Kill any theme pseudo overlays */
.header-box::before,
.header-box::after {
background: transparent !important;
content: none !important;
}
/* 5. Prevent Gradio theme bleed on blocks */
.gr-block,
.gr-box,
.gr-panel {
background: transparent !important;
}