chore: init project
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
:root {
|
||||
--bg: #0f1420;
|
||||
--panel: #1a2030;
|
||||
--panel-2: #222a3d;
|
||||
--text: #e6e9f0;
|
||||
--muted: #8b93a7;
|
||||
--accent: #4f8cff;
|
||||
--danger: #eb5757;
|
||||
--ok: #6fcf97;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background: var(--bg); color: var(--text); }
|
||||
|
||||
.topbar { display: flex; align-items: center; gap: 18px; padding: 12px 20px; background: var(--panel); border-bottom: 1px solid #2c3550; }
|
||||
.brand { font-weight: 700; font-size: 18px; }
|
||||
.topbar nav a { color: var(--muted); text-decoration: none; margin-right: 14px; }
|
||||
.topbar nav a.active, .topbar nav a:hover { color: var(--text); }
|
||||
.spacer { flex: 1; }
|
||||
.user { color: var(--muted); font-size: 13px; }
|
||||
|
||||
main { padding: 20px; }
|
||||
|
||||
button, .btn { background: var(--accent); color: #fff; border: none; border-radius: 6px; padding: 8px 14px; cursor: pointer; text-decoration: none; font-size: 14px; }
|
||||
button.danger, .btn.danger { background: var(--danger); }
|
||||
button:disabled { opacity: 0.5; cursor: default; }
|
||||
|
||||
.toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
|
||||
.widget-toggles { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
|
||||
|
||||
.grid-item { background: var(--panel); border: 1px solid #2c3550; border-radius: 10px; overflow: hidden; }
|
||||
.widget { padding: 14px; height: 100%; display: flex; flex-direction: column; }
|
||||
.widget h3 { margin: 0 0 10px; font-size: 14px; cursor: move; }
|
||||
.widget canvas { flex: 1; min-height: 0; }
|
||||
|
||||
.stat { align-items: flex-start; justify-content: center; }
|
||||
.stat-value { font-size: 34px; font-weight: 700; }
|
||||
.stat-label { color: var(--muted); font-size: 13px; cursor: move; }
|
||||
|
||||
.health-score { font-size: 46px; font-weight: 800; }
|
||||
.health-score span { font-size: 18px; color: var(--muted); }
|
||||
.grade-A { color: var(--ok); } .grade-B { color: #9bdf6f; } .grade-C { color: #f2c94c; }
|
||||
.grade-D { color: #f2994a; } .grade-F { color: var(--danger); }
|
||||
.recs { margin: 8px 0 0; padding-left: 16px; font-size: 12px; color: var(--muted); }
|
||||
|
||||
table.mini, table.grid { width: 100%; border-collapse: collapse; font-size: 13px; }
|
||||
table.mini td { padding: 3px 0; }
|
||||
table.grid th, table.grid td { padding: 8px; border-bottom: 1px solid #2c3550; text-align: left; }
|
||||
.num { text-align: right; }
|
||||
.muted { color: var(--muted); font-size: 12px; }
|
||||
|
||||
.heatmap { display: flex; flex-direction: column; gap: 2px; }
|
||||
.hm-row { display: flex; align-items: center; gap: 2px; }
|
||||
.hm-day { width: 30px; font-size: 10px; color: var(--muted); }
|
||||
.hm-cell { width: 10px; height: 10px; background: var(--accent); border-radius: 2px; }
|
||||
|
||||
.page { max-width: 900px; }
|
||||
.form-row { display: flex; gap: 10px; margin: 14px 0; }
|
||||
.form-row input { flex: 1; }
|
||||
input, select { background: var(--panel-2); border: 1px solid #2c3550; color: var(--text); border-radius: 6px; padding: 8px; }
|
||||
.card { background: var(--panel); border: 1px solid #2c3550; border-radius: 10px; padding: 14px; margin-top: 12px; }
|
||||
.card.success { border-color: var(--ok); }
|
||||
.card ul { font-size: 13px; color: var(--muted); }
|
||||
Reference in New Issue
Block a user