Spaces:
Paused
Paused
| /* static/css/dashboard.css */ | |
| .dash-layout { | |
| display: flex; | |
| flex: 1; | |
| height: calc(100vh - 65px); | |
| padding: 30px; | |
| gap: 30px; | |
| box-sizing: border-box; | |
| overflow-y: auto; | |
| } | |
| /* Left/Center: Main Greeting & Cards */ | |
| .dash-main { | |
| flex: 2; | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .dash-header { | |
| margin-bottom: 30px; | |
| } | |
| .dash-header h1 { | |
| font-size: 32px; | |
| font-weight: 700; | |
| margin: 0 0 8px 0; | |
| color: var(--text-primary); | |
| letter-spacing: 0.5px; | |
| } | |
| .dash-header p { | |
| font-size: 15px; | |
| color: var(--text-secondary); | |
| margin: 0; | |
| } | |
| .dash-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
| gap: 20px; | |
| } | |
| .dash-card { | |
| background: rgba(15, 15, 18, 0.6); | |
| backdrop-filter: var(--backdrop-blur); | |
| border: var(--glass-border); | |
| border-radius: 16px; | |
| padding: 25px; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| /* The neon glow hover effect */ | |
| .dash-card::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; left: 0; width: 100%; height: 100%; | |
| background: radial-gradient(circle at top right, var(--accent-glow), transparent 60%); | |
| opacity: 0; | |
| transition: 0.3s; | |
| } | |
| .dash-card:hover { | |
| transform: translateY(-5px); | |
| border-color: rgba(255, 193, 7, 0.3); | |
| box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 20px var(--accent-glow); | |
| } | |
| .dash-card:hover::before { | |
| opacity: 1; | |
| } | |
| .dash-card-icon { | |
| font-size: 32px; | |
| color: var(--accent-main); | |
| margin-bottom: 15px; | |
| z-index: 1; | |
| } | |
| .dash-card h3 { | |
| margin: 0 0 8px 0; | |
| font-size: 18px; | |
| color: var(--text-primary); | |
| z-index: 1; | |
| } | |
| .dash-card p { | |
| margin: 0; | |
| font-size: 13px; | |
| color: var(--text-secondary); | |
| z-index: 1; | |
| } | |
| /* Right Side: Widgets */ | |
| .dash-sidebar { | |
| flex: 1; | |
| min-width: 300px; | |
| max-width: 400px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 20px; | |
| } | |
| .dash-widget { | |
| background: rgba(15, 15, 18, 0.6); | |
| backdrop-filter: var(--backdrop-blur); | |
| border: var(--glass-border); | |
| border-radius: 16px; | |
| padding: 20px; | |
| } | |
| .widget-title { | |
| font-size: 15px; | |
| font-weight: 600; | |
| color: var(--text-primary); | |
| margin-top: 0; | |
| margin-bottom: 20px; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| } | |
| /* System Status Bars */ | |
| .status-row { | |
| margin-bottom: 15px; | |
| } | |
| .status-label { | |
| display: flex; | |
| justify-content: space-between; | |
| font-size: 13px; | |
| color: var(--text-secondary); | |
| margin-bottom: 8px; | |
| } | |
| .progress-bar-bg { | |
| width: 100%; | |
| height: 6px; | |
| background: rgba(255, 255, 255, 0.1); | |
| border-radius: 10px; | |
| overflow: hidden; | |
| } | |
| .progress-bar-fill { | |
| height: 100%; | |
| background: var(--accent-main); | |
| border-radius: 10px; | |
| box-shadow: 0 0 10px var(--accent-glow); | |
| transition: width 1s ease-in-out; | |
| } | |
| /* Recent Files List */ | |
| .recent-file-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| padding: 10px 0; | |
| border-bottom: 1px solid rgba(255,255,255,0.05); | |
| cursor: pointer; | |
| transition: 0.2s; | |
| } | |
| .recent-file-item:hover { | |
| padding-left: 5px; | |
| } | |
| .recent-file-icon { | |
| color: var(--accent-main); | |
| background: rgba(255, 193, 7, 0.1); | |
| padding: 8px; | |
| border-radius: 8px; | |
| font-size: 14px; | |
| } | |
| .recent-file-info h4 { margin: 0; font-size: 13px; color: var(--text-primary); font-weight: 500;} | |
| .recent-file-info p { margin: 3px 0 0 0; font-size: 11px; color: var(--text-muted); } | |
| /* Mobile */ | |
| @media (max-width: 1024px) { | |
| .dash-layout { flex-direction: column; } | |
| .dash-sidebar { min-width: 100%; max-width: 100%; } | |
| } | |