Group_Project_36 / style.css
JimKau's picture
Rename style (1).css to style.css
c2967ff verified
/* ── Base ── */
body, .gradio-container {
font-family: 'Inter', sans-serif;
background: #0d0d1a;
color: #e8e8f0;
}
/* ── Header ── */
.header-wrap {
position: relative;
width: 100%;
min-height: 180px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
margin-bottom: 8px;
}
.bg-top {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
object-fit: cover;
opacity: 0.35;
z-index: 0;
}
.header-content {
position: relative;
z-index: 1;
text-align: center;
padding: 32px 16px;
}
.app-title {
font-size: 2.2rem;
font-weight: 800;
color: #f5c518;
margin: 0 0 8px 0;
letter-spacing: -0.5px;
text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}
.app-subtitle {
font-size: 1.05rem;
color: #c8c8e0;
margin: 0;
}
/* ── KPI Cards ── */
.kpi-card {
background: #1a1a2e;
border-radius: 12px;
padding: 18px 24px;
min-width: 130px;
text-align: center;
border: 1px solid #2a2a4a;
box-shadow: 0 4px 16px rgba(0,0,0,0.3);
transition: transform 0.15s ease;
}
.kpi-card:hover { transform: translateY(-3px); }
.kpi-value {
font-size: 1.9rem;
font-weight: 800;
line-height: 1;
margin-bottom: 6px;
}
.kpi-label {
font-size: 0.75rem;
color: #888;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.kpi-total .kpi-value { color: #a78bfa; }
.kpi-renew .kpi-value { color: #2ecc71; }
.kpi-invest .kpi-value { color: #f39c12; }
.kpi-cancel .kpi-value { color: #e74c3c; }
.kpi-roi .kpi-value { color: #3498db; }
.kpi-completion .kpi-value { color: #1abc9c; }
.kpi-rating .kpi-value { color: #f5c518; }
.kpi-sentiment .kpi-value { color: #e91e8c; }
/* ── Tabs ── */
.tab-nav button {
background: transparent !important;
color: #a0a0c0 !important;
border-bottom: 2px solid transparent !important;
font-weight: 500;
transition: all 0.2s;
}
.tab-nav button.selected {
color: #f5c518 !important;
border-bottom: 2px solid #f5c518 !important;
}
/* ── Buttons ── */
button.primary {
background: linear-gradient(135deg, #f5c518, #e8a000) !important;
color: #0d0d1a !important;
font-weight: 700 !important;
border: none !important;
border-radius: 8px !important;
}
button.secondary {
background: #1a1a2e !important;
color: #e8e8f0 !important;
border: 1px solid #3a3a5a !important;
border-radius: 8px !important;
}
button:hover { opacity: 0.9; }
/* ── Inputs ── */
input, textarea, .gr-textbox textarea {
background: #1a1a2e !important;
border: 1px solid #3a3a5a !important;
color: #e8e8f0 !important;
border-radius: 8px !important;
}
/* ── DataFrames ── */
.gr-dataframe table {
background: #1a1a2e;
border-radius: 8px;
overflow: hidden;
}
.gr-dataframe th {
background: #2a2a4a;
color: #f5c518;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.gr-dataframe td {
color: #c8c8e0;
font-size: 0.85rem;
border-bottom: 1px solid #2a2a3a;
}
.gr-dataframe tr:hover td { background: #22223a; }
/* ── Images ── */
.gr-image img {
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}
/* ── Chatbot ── */
.gr-chatbot {
background: #1a1a2e !important;
border: 1px solid #3a3a5a !important;
border-radius: 10px !important;
}
.gr-chatbot .message.user {
background: #2a2a4a !important;
color: #e8e8f0 !important;
border-radius: 8px !important;
}
.gr-chatbot .message.bot {
background: #0f3460 !important;
color: #e8e8f0 !important;
border-radius: 8px !important;
}
/* ── Log box ── */
.gr-textbox textarea {
font-family: 'Courier New', monospace !important;
font-size: 0.82rem !important;
}
/* ── Footer ── */
.footer {
position: relative;
text-align: center;
padding: 24px;
margin-top: 16px;
color: #666;
font-size: 0.8rem;
overflow: hidden;
}
.bg-bottom {
position: absolute;
bottom: 0; left: 0;
width: 100%; height: 100%;
object-fit: cover;
opacity: 0.15;
z-index: 0;
}
.footer p {
position: relative;
z-index: 1;
}
/* ── Markdown headings ── */
.gr-markdown h3 {
color: #f5c518;
font-size: 1rem;
margin: 20px 0 8px;
border-bottom: 1px solid #2a2a4a;
padding-bottom: 4px;
}