badaoui's picture
badaoui HF Staff
Add historical data visualization features
5309153
raw
history blame
28.1 kB
/* Global dark theme with configurable bottom margin */
:root {
--main-content-bottom-margin: 10px; /* Configurable bottom margin for main content */
}
.gradio-container {
background-color: #000000 !important;
color: white !important;
height: 100vh !important;
max-height: 100vh !important;
overflow: hidden !important;
}
/* Remove borders from all components */
.gr-box, .gr-form, .gr-panel {
border: none !important;
background-color: #000000 !important;
}
/* Simplified sidebar styling */
.sidebar {
background: linear-gradient(145deg, #111111, #1a1a1a) !important;
border: none !important;
padding: 15px !important;
margin: 0 !important;
height: 100vh !important;
position: fixed !important;
left: 0 !important;
top: 0 !important;
width: 300px !important;
box-sizing: border-box !important;
overflow-y: auto !important;
overflow-x: hidden !important;
}
/* Target the actual Gradio column containing sidebar */
div[data-testid="column"]:has(.sidebar) {
height: 100vh !important;
overflow-y: auto !important;
overflow-x: hidden !important;
}
/* Individual sidebar elements */
.sidebar-title {
margin-bottom: 10px !important;
}
.sidebar-description {
margin-bottom: 15px !important;
}
/* Summary button styling - distinct from model buttons */
.summary-button {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
color: white !important;
border: 2px solid #555555 !important;
margin: 0 0 15px 0 !important;
border-radius: 5px !important;
padding: 12px 10px !important;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
position: relative !important;
overflow: hidden !important;
box-shadow:
0 4px 15px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
height: 60px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
line-height: 1.2 !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
box-sizing: border-box !important;
}
.model-header {
margin-bottom: 10px !important;
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
border: 1px solid #333 !important;
border-radius: 5px !important;
font-weight: 600 !important;
font-size: 14px !important;
font-family: monospace !important;
text-align: left !important;
width: 100% !important;
}
.model-header:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
}
.sidebar-links {
margin-top: 15px !important;
}
/* Hide scrollbar for model container */
.model-container::-webkit-scrollbar {
display: none !important;
}
/* Ensure all sidebar content fits within width */
.sidebar * {
max-width: 100% !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
/* Specific control for markdown content */
.sidebar .markdown,
.sidebar h1,
.sidebar h2,
.sidebar h3,
.sidebar p {
max-width: 100% !important;
word-wrap: break-word !important;
overflow: hidden !important;
}
/* Sidebar scrollbar styling */
.sidebar::-webkit-scrollbar {
width: 8px !important;
background: #111111 !important;
}
.sidebar::-webkit-scrollbar-track {
background: #111111 !important;
}
.sidebar::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.sidebar::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Force button containers to single column in model list */
.model-list .gr-button,
.model-list button {
display: block !important;
width: 100% !important;
max-width: 100% !important;
margin: 4px 0 !important;
flex: none !important;
}
/* Simple unfolding menu with invisible scrollbar */
.model-list-visible {
max-height: 200px !important;
overflow-y: auto !important;
transition: max-height 0.3s ease !important;
scrollbar-width: none !important;
-ms-overflow-style: none !important;
}
.model-list-visible::-webkit-scrollbar {
width: 0px !important;
background: transparent !important;
}
.model-list-hidden {
max-height: 0 !important;
overflow: hidden !important;
transition: max-height 0.3s ease !important;
}
.history-view-button {
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
margin: 0px 0px !important;
padding: 8px 12px !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
width: 100% !important;
max-width: 100% !important;
white-space: nowrap !important;
text-overflow: ellipsis !important;
display: block !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
}
/* Failing models filter row */
.failing-models-filter-row {
background: linear-gradient(145deg, #1a1a1a, #0f0f0f) !important;
border: 1px solid #333 !important;
border-radius: 6px !important;
padding: 8px 8px !important;
margin: 0px 0px 12px 0px !important;
gap: 8px !important;
}
/* Failing models toggle styling */
.failing-models-toggle {
background: transparent !important;
border: none !important;
padding: 4px 6px !important;
margin: 0 !important;
flex: 1 !important;
}
.failing-models-toggle:hover {
background: rgba(255, 255, 255, 0.05) !important;
border-radius: 4px !important;
}
.failing-models-toggle label {
color: #FFFFFF !important;
font-family: monospace !important;
font-size: 11px !important;
font-weight: 600 !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
white-space: nowrap !important;
}
/* Override specific colors for AMD and NVIDIA to white */
.amd-toggle label,
.amd-toggle label span {
color: #FFFFFF !important;
}
.nvidia-toggle label,
.nvidia-toggle label span {
color: #FFFFFF !important;
}
.failing-models-toggle input[type="checkbox"] {
cursor: pointer !important;
width: 16px !important;
height: 16px !important;
margin-right: 6px !important;
}
.amd-toggle input[type="checkbox"] {
accent-color: #FF6B6B !important;
}
.nvidia-toggle input[type="checkbox"] {
accent-color: #76B900 !important;
}
.amd-toggle input[type="checkbox"]:checked {
accent-color: #FF8888 !important;
}
.nvidia-toggle input[type="checkbox"]:checked {
accent-color: #8BD918 !important;
}
/* Model button styling */
.model-button {
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
margin: 3px 0 !important;
padding: 8px 12px !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
width: 100% !important;
max-width: 100% !important;
white-space: nowrap !important;
text-overflow: ellipsis !important;
display: block !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
border: 1px solid #333 !important;
border-radius: 5px !important;
}
.model-button:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
border-color: #74b9ff !important;
color: #74b9ff !important;
transform: translateY(-1px) !important;
box-shadow: 0 2px 8px rgba(116, 185, 255, 0.2) !important;
}
/* Model buttons with failures - fuzzy red border with inner glow */
.model-button-failed {
border: 1px solid #712626 !important;
box-shadow: inset 0 0 8px rgba(204, 68, 68, 0.4) !important;
}
.model-button-failed:hover {
border-color: #712626 !important;
box-shadow: 0 0 12px rgba(255, 107, 107, 0.5) !important;
}
/*
.model-button:active {
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: #5a9bd4 !important;
}
*/
/* Model stats badge */
.model-stats {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
margin-top: 8px !important;
font-size: 12px !important;
opacity: 0.8 !important;
}
.stats-badge {
background: rgba(116, 185, 255, 0.2) !important;
padding: 4px 8px !important;
border-radius: 10px !important;
font-weight: 500 !important;
font-size: 11px !important;
color: #74b9ff !important;
}
.success-indicator {
width: 8px !important;
height: 8px !important;
border-radius: 50% !important;
display: inline-block !important;
margin-right: 6px !important;
}
.success-high { background-color: #4CAF50 !important; }
.success-medium { background-color: #FF9800 !important; }
.success-low { background-color: #F44336 !important; }
/* Refresh button styling */
.refresh-button {
background: linear-gradient(135deg, #2d5aa0, #1e3f73) !important;
color: white !important;
border: 1px solid #3a6bc7 !important;
margin: 0 0 10px 0 !important;
border-radius: 5px !important;
padding: 6px 8px !important;
transition: all 0.3s ease !important;
font-weight: 500 !important;
font-size: 11px !important;
text-transform: lowercase !important;
letter-spacing: 0.1px !important;
font-family: monospace !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
box-sizing: border-box !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
}
.refresh-button:hover {
background: linear-gradient(135deg, #3a6bc7, #2d5aa0) !important;
border-color: #4a7bd9 !important;
}
/* Summary button styling - distinct from model buttons */
.summary-button {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
color: white !important;
border: 2px solid #555555 !important;
margin: 0 0 15px 0 !important;
border-radius: 5px !important;
padding: 12px 10px !important;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
position: relative !important;
overflow: hidden !important;
box-shadow:
0 4px 15px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
height: 60px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
line-height: 1.2 !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
box-sizing: border-box !important;
}
/* Simplified Gradio layout control */
.sidebar .gr-column,
.sidebar .gradio-column {
width: 100% !important;
}
/* Simplified Gradio targeting */
div[data-testid="column"]:has(.sidebar) {
width: 300px !important;
min-width: 300px !important;
}
/* Button container with fixed height - DISABLED */
/*
.button-container {
height: 50vh !important;
max-height: 50vh !important;
overflow-y: auto !important;
overflow-x: hidden !important;
scrollbar-width: thin !important;
scrollbar-color: #333333 #111111 !important;
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
padding: 5px 0 !important;
margin-top: 10px !important;
}
*/
/* Removed simple scroll CSS - was hiding buttons */
.summary-button:hover {
background: linear-gradient(135deg, #5a5a5a, #4e4e4e) !important;
color: #74b9ff !important;
border-color: #666666 !important;
}
.summary-button:active {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
color: #5a9bd4 !important;
}
/* Regular button styling for non-model buttons */
.gr-button:not(.model-button):not(.summary-button) {
background-color: #222222 !important;
color: white !important;
border: 1px solid #444444 !important;
margin: 5px 0 !important;
border-radius: 8px !important;
transition: all 0.3s ease !important;
}
.gr-button:not(.model-button):not(.summary-button):hover {
background-color: #333333 !important;
border-color: #666666 !important;
}
/* Plot container with smooth transitions and controlled scrolling */
.plot-container {
border: none !important;
transition: opacity 0.6s ease-in-out !important;
flex: 1 1 auto !important;
min-height: 0 !important;
overflow-y: auto !important;
scrollbar-width: thin !important;
padding: 0 !important;
}
/* Custom scrollbar for plot container */
.plot-container::-webkit-scrollbar {
width: 8px !important;
}
.gr-plot img {
transition: opacity 0.6s ease-in-out !important;
}
/* Target the plot wrapper */
div[data-testid="matplotlib"] {
background-color: #000000 !important;
}
/* Target all possible plot containers */
.plot-container img,
.gr-plot img,
.gradio-plot img {
background-color: #000000 !important;
}
/* Prevent white flash during plot updates */
.plot-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #000000;
z-index: -1;
}
.vega-embed {
position: absolute !important;
}
/* Text elements */
h1, h2, h3, p, .markdown {
color: white !important;
}
.toggle {
margin: 0 auto !important;
}
.toggle-label {
color: white !important;
font-family: monospace !important;
font-size: 14px !important;
}
/* Sidebar header enhancement */
.sidebar h1 {
background: linear-gradient(45deg, #74b9ff, #a29bfe) !important;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent !important;
background-clip: text !important;
text-align: center !important;
margin-bottom: 15px !important;
font-size: 28px !important;
font-weight: 700 !important;
font-family: monospace !important;
}
/* Sidebar description text */
.sidebar p {
text-align: center !important;
margin-bottom: 20px !important;
line-height: 1.5 !important;
font-size: 14px !important;
font-family: monospace !important;
}
/* CI Links styling */
.sidebar a {
color: #74b9ff !important;
text-decoration: none !important;
font-weight: 500 !important;
font-family: monospace !important;
transition: color 0.3s ease !important;
}
.sidebar a:hover {
color: #a29bfe !important;
text-decoration: underline !important;
}
.sidebar strong {
color: #74b9ff !important;
font-weight: 600 !important;
font-family: monospace !important;
}
.sidebar em {
color: #a29bfe !important;
font-style: normal !important;
opacity: 0.9 !important;
font-family: monospace !important;
}
/* Remove all borders globally */
* {
border-color: transparent !important;
}
/* Main content area */
.main-content {
background-color: #000000 !important;
padding: 0px 20px var(--main-content-bottom-margin, 10px) 20px !important;
margin-left: 300px !important;
height: 100vh !important;
overflow-y: auto !important;
box-sizing: border-box !important;
display: flex !important;
flex-direction: column !important;
}
/* Summary view - position content slightly higher (not fully centered) */
.summary-view {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: flex-start !important;
gap: 10px !important;
padding-top: 20px !important;
}
/* Keep the summary display centered */
.summary-view .plot-container {
width: 100% !important;
}
/* Regressions components stay with the summary as a group */
.regressions-header {
margin: 0px 0px 10px 0px !important;
width: 100% !important;
max-width: 100% !important;
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
border: 1px solid #8B4513 !important;
border-radius: 5px !important;
font-weight: 600 !important;
font-size: 14px !important;
font-family: monospace !important;
text-align: left !important;
width: 100% !important;
transition: all 0.3s ease !important;
}
.regressions-header:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
border-color: #B8621B !important;
}
/* Collapsible regressions content */
.regressions-content-visible {
max-height: 800px !important;
overflow-y: auto !important;
transition: max-height 0.3s ease !important;
scrollbar-width: thin !important;
-ms-overflow-style: none !important;
}
.regressions-content-visible::-webkit-scrollbar {
width: 8px !important;
background: transparent !important;
}
.regressions-content-visible::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.regressions-content-hidden {
max-height: 0 !important;
overflow: hidden !important;
transition: max-height 0.3s ease !important;
}
/* New Regressions Panel */
.regressions-panel {
background: linear-gradient(145deg, #2a1a1a, #1a0f0f) !important;
border: 2px solid #8B4513 !important;
border-radius: 8px !important;
padding: 15px 20px !important;
margin: 0px 0px 15px 0px !important;
box-shadow: 0 4px 12px rgba(255, 107, 107, 0.2) !important;
animation: pulse-border 2s ease-in-out infinite !important;
}
.regressions-panel h3 {
color: #FFB86C !important;
font-family: monospace !important;
font-size: 16px !important;
font-weight: bold !important;
margin: 0 0 10px 0 !important;
display: flex !important;
align-items: center !important;
}
.regressions-panel p,
.regressions-panel ul,
.regressions-panel li {
color: #FFFFFF !important;
font-family: monospace !important;
font-size: 13px !important;
line-height: 1.6 !important;
margin: 4px 0 !important;
}
.regressions-panel strong {
color: #FF6B6B !important;
font-weight: 600 !important;
}
/* Pulse animation for new regressions */
@keyframes pulse-border {
0%, 100% {
border-color: #8B4513;
box-shadow: 0 4px 12px rgba(255, 107, 107, 0.2);
}
50% {
border-color: #B8621B;
box-shadow: 0 4px 16px rgba(255, 107, 107, 0.4);
}
}
/* Custom scrollbar for main content */
.main-content {
scrollbar-width: thin !important;
scrollbar-color: #333333 #000000 !important;
}
.main-content::-webkit-scrollbar {
width: 8px !important;
background: #000000 !important;
}
.main-content::-webkit-scrollbar-track {
background: #000000 !important;
}
.main-content::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.main-content::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Failed tests display - seamless appearance with constrained height */
.failed-tests textarea {
background-color: #000000 !important;
color: #FFFFFF !important;
font-family: monospace !important;
font-size: 14px !important;
border: none !important;
padding: 10px !important;
outline: none !important;
line-height: 1.4 !important;
height: 180px !important;
max-height: 180px !important;
min-height: 180px !important;
overflow-y: auto !important;
resize: none !important;
scrollbar-width: thin !important;
scrollbar-color: #333333 #000000 !important;
scroll-behavior: auto !important;
transition: opacity 0.5s ease-in-out !important;
scroll-padding-top: 0 !important;
}
/* WebKit scrollbar styling for failed tests */
.failed-tests textarea::-webkit-scrollbar {
width: 8px !important;
}
.failed-tests textarea::-webkit-scrollbar-track {
background: #000000 !important;
}
.failed-tests textarea::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.failed-tests textarea::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Prevent white flash in text boxes during updates */
.failed-tests::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #000000;
z-index: -1;
}
.failed-tests {
background-color: #000000 !important;
height: 200px !important;
max-height: 200px !important;
min-height: 200px !important;
position: relative;
transition: opacity 0.5s ease-in-out !important;
flex-shrink: 0 !important;
}
.failed-tests .gr-textbox {
background-color: #000000 !important;
border: none !important;
height: 180px !important;
max-height: 180px !important;
min-height: 180px !important;
transition: opacity 0.5s ease-in-out !important;
}
/* Force all textbox elements to have black background */
.failed-tests *,
.failed-tests .gr-textbox *,
.failed-tests textarea * {
background-color: #000000 !important;
}
/* Summary display styling */
.summary-display textarea {
background-color: #000000 !important;
color: #FFFFFF !important;
font-family: monospace !important;
font-size: 24px !important;
border: none !important;
padding: 20px !important;
outline: none !important;
line-height: 2 !important;
text-align: right !important;
resize: none !important;
}
.summary-display {
background-color: #000000 !important;
}
/* Detail view layout */
.detail-view {
display: flex !important;
flex-direction: column !important;
height: 100% !important;
min-height: 0 !important;
}
/* JavaScript to reset scroll position */
.scroll-reset {
animation: resetScroll 0.1s ease;
}
@keyframes resetScroll {
0% { scroll-behavior: auto; }
100% { scroll-behavior: auto; }
}
/* View toggle buttons */
.view-toggle-row {
display: flex !important;
gap: 5px !important;
margin-bottom: 15px !important;
}
.view-toggle-button {
flex: 1 !important;
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
border: 1px solid #333 !important;
border-radius: 5px !important;
padding: 8px 6px !important;
transition: all 0.3s ease !important;
font-weight: 600 !important;
font-size: 12px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
height: 50px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
line-height: 1.2 !important;
cursor: pointer !important;
}
.view-toggle-button:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
border-color: #555 !important;
}
.view-toggle-active {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
border: 2px solid #555555 !important;
box-shadow:
0 4px 15px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}
/* Date selection styling */
.date-selection {
flex-grow: 0 !important;
background: linear-gradient(145deg, #0f0f0f, #1a1a1a) !important;
border: 1px solid #333 !important;
border-radius: 8px !important;
padding: 15px !important;
margin-bottom: 15px !important;
transition: all 0.3s ease !important;
overflow: hidden !important;
}
.date-selection-hidden {
max-height: 0 !important;
padding: 0 15px !important;
margin-bottom: 0 !important;
border: none !important;
}
.date-selection-visible {
max-height: 500px !important;
}
.date-header {
margin-bottom: 10px !important;
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
border: 1px solid #333 !important;
border-radius: 5px !important;
padding: 8px 12px !important;
transition: all 0.3s ease !important;
font-family: monospace !important;
font-size: 12px !important;
text-align: left !important;
cursor: pointer !important;
width: 100% !important;
box-sizing: border-box !important;
}
.date-header:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
border-color: #444 !important;
transform: translateY(-1px) !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.date-dropdown {
background-color: #222222 !important;
color: white !important;
border: 1px solid #444444 !important;
border-radius: 5px !important;
font-family: monospace !important;
font-size: 12px !important;
}
.date-dropdown .gr-dropdown {
background-color: #222222 !important;
color: white !important;
border: 1px solid #444444 !important;
}
.load-historical-button {
background: linear-gradient(135deg, #2d5aa0, #1e3f73) !important;
color: white !important;
border: 1px solid #3a6bc7 !important;
border-radius: 5px !important;
padding: 8px 12px !important;
transition: all 0.3s ease !important;
font-weight: 500 !important;
font-size: 12px !important;
text-transform: uppercase !important;
letter-spacing: 0.1px !important;
font-family: monospace !important;
width: 100% !important;
margin-top: 10px !important;
}
.load-historical-button:hover {
background: linear-gradient(135deg, #3a6bc7, #2d5aa0) !important;
border-color: #4a7bd9 !important;
}
/* Historical view styling */
.historical-view {
background-color: #000000 !important;
padding: 30px 20px !important;
}
.time-series-detail-view {
background-color: #000000 !important;
padding: 30px 20px !important;
}
/* Plotly chart styling for historical view */
.historical-view .plot-container,
.time-series-detail-view .plot-container {
background-color: #000000 !important;
}
/* Plotly specific text styling */
.historical-view .js-plotly-plot .plotly,
.time-series-detail-view .js-plotly-plot .plotly {
background-color: #000000 !important;
}
/* Plotly legend text */
.historical-view .js-plotly-plot .legend text,
.time-series-detail-view .js-plotly-plot .legend text {
font-size: 16px !important;
fill: #CCCCCC !important;
}
/* Plotly axis titles */
.historical-view .js-plotly-plot .g-xtitle text,
.historical-view .js-plotly-plot .g-ytitle text,
.time-series-detail-view .js-plotly-plot .g-xtitle text,
.time-series-detail-view .js-plotly-plot .g-ytitle text {
font-size: 16px !important;
fill: #CCCCCC !important;
}
/* Plotly axis tick labels */
.historical-view .js-plotly-plot .xtick text,
.historical-view .js-plotly-plot .ytick text,
.time-series-detail-view .js-plotly-plot .xtick text,
.time-series-detail-view .js-plotly-plot .ytick text {
font-size: 14px !important;
fill: #CCCCCC !important;
}
/* Plotly title */
.historical-view .js-plotly-plot .g-gtitle text,
.time-series-detail-view .js-plotly-plot .g-gtitle text {
font-size: 20px !important;
fill: #FFFFFF !important;
font-weight: 600 !important;
}
/* Back button styling */
.back-button {
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
border: 1px solid #333 !important;
border-radius: 5px !important;
padding: 8px 12px !important;
transition: all 0.3s ease !important;
font-weight: 500 !important;
font-size: 12px !important;
font-family: monospace !important;
margin-bottom: 15px !important;
width: 100% !important;
}
.back-button:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
border-color: #555 !important;
color: #74b9ff !important;
}