@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); :root { --bg-color: #0D0D0D; --primary-widget-bg: #1A1A1A; --secondary-widget-bg: #161616; --border-color: #2C2C2C; --text-primary: #E0E0E0; --text-secondary: #8A8A8A; --accent-red: #E53935; --accent-red-dark: #2A1A1D; --accent-purple: #8E44AD; --accent-green: #2ECC71; --accent-blue: #3498DB; --font-family: 'Inter', sans-serif; } body { font-family: var(--font-family); background-color: var(--bg-color); color: var(--text-primary); margin: 0; padding: 2rem; } .container { max-width: 1600px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem; } /* Header */ header { display: flex; justify-content: space-between; align-items: center; background-color: var(--primary-widget-bg); padding: 1rem 1.5rem; border-radius: 12px; border: 1px solid var(--border-color); } header .logo { display: flex; align-items: center; gap: 1rem; } header .logo-icon { background-color: var(--accent-red); color: white; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font-size: 1.25rem; font-weight: 600; } header h1 { font-size: 1.5rem; margin: 0; font-weight: 600; } header .subtitle { font-size: 0.9rem; color: var(--text-secondary); margin: 0; display: flex; align-items: center; gap: 0.5rem; } .status-dot { width: 8px; height: 8px; background-color: var(--accent-green); border-radius: 50%; } .user-info { display: flex; align-items: center; gap: 1rem; font-size: 0.9rem; } .logout-btn { background-color: #252525; color: var(--text-primary); text-decoration: none; padding: 0.5rem 1rem; border-radius: 8px; border: 1px solid var(--border-color); transition: background-color 0.2s ease; } .logout-btn:hover { background-color: #333; } /* Navigation */ nav { display: flex; gap: 0.5rem; background-color: var(--primary-widget-bg); padding: 0.5rem; border-radius: 12px; border: 1px solid var(--border-color); } .nav-item { color: var(--text-secondary); text-decoration: none; padding: 0.75rem 1.25rem; border-radius: 8px; font-weight: 500; transition: background-color 0.2s ease, color 0.2s ease; } .nav-item:hover { background-color: #252525; color: var(--text-primary); } .nav-item.active { background-color: var(--accent-red); color: white; } /* Main Content */ main .widget-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } .widget { background-color: var(--secondary-widget-bg); border: 1px solid var(--border-color); border-radius: 12px; padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; } .large-widget { grid-column: span 3; /* Making this span full width for now */ } .widget h3 { margin: 0; font-size: 1.1rem; font-weight: 500; display: flex; align-items: center; justify-content: space-between; } .widget h3 .timeframe, .widget h3 .status-online { color: var(--text-secondary); font-size: 0.8rem; font-weight: 400; } .widget h3 .status-online { color: var(--accent-green); } /* Live Activity Log */ .log-box { height: 300px; /* Or adjust as needed */ overflow-y: auto; font-family: 'Courier New', Courier, monospace; font-size: 0.9rem; line-height: 1.6; color: var(--text-secondary); } .log-box .timestamp { color: var(--text-primary); } /* Recent Actions */ .actions-box { display: flex; flex-direction: column; gap: 1rem; } .action-item { display: flex; justify-content: space-between; align-items: center; } .action-details { display: flex; flex-direction: column; } .action-item .channel { color: var(--accent-red); font-weight: 500; } .action-time { font-size: 0.8rem; color: var(--text-secondary); margin-top: 4px; } .action-icon { font-size: 1.2rem; } /* System Resources */ .resource-box { display: flex; flex-direction: column; gap: 1.5rem; } .metric .metric-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.5rem; } .metric-header strong { font-size: 1.5rem; font-weight: 600; } .metric-label { font-size: 0.9rem; color: var(--text-primary); } .progress-bar-container { width: 100%; height: 8px; background-color: #2C2C2C; border-radius: 4px; overflow: hidden; } .progress-bar { height: 100%; border-radius: 4px; } .progress-bar.memory { background-color: var(--accent-red); } .progress-bar.vram { background-color: var(--accent-purple); } .progress-bar.shutdown { background-color: #444; } .metric-details { font-size: 0.8rem; color: var(--text-secondary); margin-top: 0.5rem; } .response-times .response-bar { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; font-size: 0.85rem; margin-top: 0.5rem; } .response-bar span:first-child { width: 100px; color: var(--text-secondary); } .response-bar .bar-container { flex-grow: 1; height: 6px; background-color: #2C2C2C; border-radius: 3px; } .response-bar .bar { height: 100%; border-radius: 3px; } .response-bar:nth-of-type(1) .bar { background-color: var(--accent-green); } .response-bar:nth-of-type(2) .bar { background-color: var(--accent-blue); } .response-bar:nth-of-type(3) .bar { background-color: var(--accent-purple); } .response-bar:nth-of-type(4) .bar { background-color: var(--accent-red); } .maintenance { background-color: var(--accent-red-dark); border: 1px solid var(--accent-red); color: #f3a9a7; padding: 0.75rem; border-radius: 8px; text-align: center; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; }