Spaces:
Sleeping
Sleeping
| /* static/css/dashboard.css β Mobile-first */ | |
| .dash-scroll { | |
| flex: 1; | |
| overflow-y: auto; | |
| padding: var(--sp-4); | |
| padding-bottom: calc(var(--sp-4) + env(safe-area-inset-bottom, 0px)); | |
| } | |
| /* ββ Welcome ββ */ | |
| .dash-welcome { | |
| margin-bottom: var(--sp-5); | |
| } | |
| .dash-welcome h1 { | |
| font-size: 22px; | |
| font-weight: 700; | |
| margin-bottom: var(--sp-1); | |
| color: var(--text-1); | |
| } | |
| .dash-welcome p { | |
| font-size: 13px; | |
| color: var(--text-2); | |
| } | |
| /* ββ Quick Actions Grid ββ */ | |
| .dash-grid { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: var(--sp-3); | |
| margin-bottom: var(--sp-5); | |
| } | |
| .dash-card { | |
| background: var(--bg-elevated); | |
| border: 1px solid var(--border); | |
| border-radius: var(--r-lg); | |
| padding: var(--sp-4); | |
| cursor: pointer; | |
| transition: transform 0.15s ease, border-color 0.15s ease; | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--sp-2); | |
| min-height: 100px; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .dash-card:active { transform: scale(0.97); } | |
| .dash-card:hover { border-color: var(--accent-dim); } | |
| .dash-card-icon { | |
| width: 40px; | |
| height: 40px; | |
| background: var(--accent-dim); | |
| border-radius: var(--r-md); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--accent); | |
| font-size: 18px; | |
| flex-shrink: 0; | |
| } | |
| .dash-card h3 { | |
| font-size: 14px; | |
| font-weight: 600; | |
| color: var(--text-1); | |
| margin: 0; | |
| } | |
| .dash-card p { | |
| font-size: 12px; | |
| color: var(--text-3); | |
| margin: 0; | |
| line-height: 1.4; | |
| } | |
| /* ββ Widget Card ββ */ | |
| .dash-widget { | |
| background: var(--bg-elevated); | |
| border: 1px solid var(--border); | |
| border-radius: var(--r-lg); | |
| padding: var(--sp-4); | |
| margin-bottom: var(--sp-4); | |
| } | |
| .widget-title { | |
| font-size: 13px; | |
| font-weight: 600; | |
| color: var(--text-2); | |
| margin-bottom: var(--sp-4); | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| } | |
| .widget-action { | |
| font-size: 11px; | |
| color: var(--accent); | |
| cursor: pointer; | |
| background: none; | |
| border: none; | |
| font-weight: 600; | |
| padding: var(--sp-1) var(--sp-2); | |
| border-radius: var(--r-sm); | |
| } | |
| .widget-action:active { background: var(--accent-dim); } | |
| /* ββ Progress Bars ββ */ | |
| .stat-row { margin-bottom: var(--sp-3); } | |
| .stat-row:last-child { margin-bottom: 0; } | |
| .stat-label { | |
| display: flex; | |
| justify-content: space-between; | |
| font-size: 12px; | |
| color: var(--text-2); | |
| margin-bottom: 6px; | |
| } | |
| .stat-bar { | |
| width: 100%; | |
| height: 6px; | |
| background: rgba(255,255,255,0.06); | |
| border-radius: var(--r-full); | |
| overflow: hidden; | |
| } | |
| .stat-fill { | |
| height: 100%; | |
| background: var(--accent); | |
| border-radius: var(--r-full); | |
| transition: width 0.6s ease; | |
| } | |
| /* ββ Recent Files ββ */ | |
| .file-row { | |
| display: flex; | |
| align-items: center; | |
| gap: var(--sp-3); | |
| padding: var(--sp-2) 0; | |
| border-bottom: 1px solid var(--divider); | |
| cursor: pointer; | |
| min-height: var(--touch-min); | |
| } | |
| .file-row:last-child { border-bottom: none; } | |
| .file-row:active { opacity: 0.7; } | |
| .file-icon { | |
| width: 36px; | |
| height: 36px; | |
| background: var(--accent-dim); | |
| border-radius: var(--r-sm); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--accent); | |
| font-size: 14px; | |
| flex-shrink: 0; | |
| } | |
| .file-meta h4 { | |
| font-size: 13px; | |
| font-weight: 500; | |
| color: var(--text-1); | |
| margin: 0; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| max-width: 180px; | |
| } | |
| .file-meta p { | |
| font-size: 11px; | |
| color: var(--text-3); | |
| margin: 0; | |
| } | |
| /* ββ Responsive ββ */ | |
| @media (min-width: 769px) { | |
| .dash-scroll { | |
| padding: var(--sp-8); | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| width: 100%; | |
| } | |
| .dash-welcome h1 { font-size: 28px; } | |
| .dash-grid { gap: var(--sp-4); } | |
| .dash-card { padding: var(--sp-5); min-height: 120px; } | |
| .dash-card h3 { font-size: 15px; } | |
| } | |
| /* ββ Light ββ */ | |
| :root.light .dash-card { background: var(--bg-surface); border-color: var(--border); } | |
| :root.light .dash-widget { background: var(--bg-surface); } | |
| :root.light .stat-bar { background: rgba(0,0,0,0.06); } | |