diff --git a/public/css/style.css b/public/css/style.css index 4dbaff6..6d3f246 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -869,6 +869,240 @@ input:checked+.slider:before { box-shadow: 0 0 8px rgba(244, 63, 94, 0.4); } +/* Server Detail Modal Enhancements */ +.detail-container { + display: flex; + flex-direction: column; +} + +.detail-metrics-list { + display: flex; + flex-direction: column; + padding: 10px; +} + +.metric-item { + margin-bottom: 8px; + border-radius: var(--radius-md); + background: var(--bg-card); + border: 1px solid var(--border-color); + overflow: hidden; + transition: all 0.3s ease; +} + +.metric-item-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 16px; + cursor: pointer; + user-select: none; +} + +.metric-item-header:hover { + background: rgba(99, 102, 241, 0.05); +} + +.metric-label-group { + display: flex; + align-items: center; + gap: 10px; +} + +.metric-label { + font-size: 0.95rem; + font-weight: 500; + color: var(--text-primary); +} + +.metric-value { + font-family: var(--font-mono); + font-size: 1rem; + font-weight: 600; + color: var(--accent-indigo); +} + +.metric-item-content { + max-height: 0; + overflow: hidden; + transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1); + background: rgba(0, 0, 0, 0.1); + border-top: 0px solid transparent; +} + +.metric-item.active .metric-item-content { + max-height: 350px; + border-top: 1px solid var(--border-color); +} + +.metric-item.active { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + border-color: var(--accent-indigo); +} + +.chart-controls { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 10px; + padding: 10px 16px; +} + +.time-range-group { + display: flex; + align-items: center; + gap: 12px; +} + +.time-range-selector { + display: flex; + background: var(--bg-input); + border: 1px solid var(--border-color); + border-radius: var(--radius-sm); + padding: 2px; +} + +.time-range-btn { + padding: 4px 10px; + font-size: 0.75rem; + border: none; + background: transparent; + color: var(--text-secondary); + cursor: pointer; + border-radius: 4px; + transition: all 0.2s; +} + +.time-range-btn:hover { + color: var(--text-primary); +} + +.time-range-btn.active { + background: var(--accent-indigo); + color: white; +} + +.custom-range-selector { + display: flex; + align-items: center; + gap: 4px; + background: var(--bg-input); + border: 1px solid var(--border-color); + border-radius: var(--radius-sm); + padding: 2px 2px 2px 10px; +} + +.custom-range-input { + width: 90px; + background: transparent; + border: none; + font-size: 0.75rem; + color: var(--text-primary); + outline: none; + font-family: var(--font-mono); +} + +.absolute-range-selector { + display: flex; + align-items: center; + gap: 8px; + background: var(--bg-input); + border: 1px solid var(--border-color); + border-radius: var(--radius-sm); + padding: 2px 2px 2px 10px; +} + +.time-input { + background: transparent; + border: none; + font-size: 0.75rem; + color: var(--text-primary); + outline: none; + font-family: var(--font-mono); + padding: 2px 0; +} + +/* Specific styling for datetime-local icon/color in some browsers */ +.time-input::-webkit-calendar-picker-indicator { + filter: invert(0.5); + cursor: pointer; +} + +.light-theme .time-input::-webkit-calendar-picker-indicator { + filter: invert(0); +} + +.btn-custom-go { + padding: 4px 8px; + font-size: 0.7rem; + border: none; + background: var(--accent-indigo); + color: white; + border-radius: 4px; + cursor: pointer; + transition: opacity 0.2s; +} + +.btn-custom-go:hover { + opacity: 0.9; +} + +.detail-chart-wrapper { + height: 200px; + padding: 0 10px 10px 10px; + position: relative; +} + +.detail-info-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1px; + background: var(--border-color); + margin-top: 10px; +} + +.info-item { + background: var(--bg-card); + padding: 15px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.info-label { + font-size: 0.75rem; + color: var(--text-secondary); + margin-bottom: 5px; +} + +.info-value { + font-size: 0.95rem; + font-weight: 600; + color: var(--text-primary); +} + +.chevron-icon { + width: 20px; + height: 20px; + transition: transform 0.3s ease; + color: var(--text-secondary); +} + +.metric-item.active .chevron-icon { + transform: rotate(180deg); + color: var(--accent-indigo); +} + +/* Light Theme Adjustments */ +.light-theme .metric-item-content { + background: rgba(0, 0, 0, 0.02); +} + +.light-theme .detail-info-grid { + background: var(--border-color); +} + /* Usage bars in table */ .usage-bar { display: flex; diff --git a/public/index.html b/public/index.html index 8132fba..4a5c383 100644 --- a/public/index.html +++ b/public/index.html @@ -367,56 +367,36 @@