diff --git a/tutorials/device-dashboard/full-dashboard/web_root/index.html b/tutorials/device-dashboard/full-dashboard/web_root/index.html index 18ececa5..5405fb88 100644 --- a/tutorials/device-dashboard/full-dashboard/web_root/index.html +++ b/tutorials/device-dashboard/full-dashboard/web_root/index.html @@ -85,50 +85,38 @@
-
+
-
-
VOLTAGE
- - - -
+
Temperature
- 12.5 - V + 24.8 + °C
+
Stable — within target range
-
-
CURRENT
- - - -
+
Humidity
- 4.2 - A + 51 + %
+
+2% in the last hour
-
-
POWER
- - - -
+
CPU Load
- 52.5 - W + 37 + %
+
Moderate load
+
+
+
Free Memory
+
+ 182 + KB +
+
Healthy headroom
diff --git a/tutorials/device-dashboard/full-dashboard/web_root/style.css b/tutorials/device-dashboard/full-dashboard/web_root/style.css index 9d41584c..899156b0 100644 --- a/tutorials/device-dashboard/full-dashboard/web_root/style.css +++ b/tutorials/device-dashboard/full-dashboard/web_root/style.css @@ -149,57 +149,37 @@ body { } .overview-grid { - display: flex; - flex-wrap: wrap; - align-items: flex-start; - justify-content: flex-start; - gap: 0.45rem; + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 1rem; } .metric-tile { - flex: 0 0 auto; - width: 8.75rem; - min-height: 0; - padding: 0.5rem 0.6rem 0.55rem; - border-radius: 0.7rem; - background: - linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 249, 253, 0.92) 100%); - border: 1px solid rgba(203, 213, 225, 0.8); + padding: 1.25rem 1.5rem 1.2rem; + border-radius: 1rem; + background: #ffffff; + border: 1px solid rgba(203, 213, 225, 0.75); box-shadow: - inset 0 1px 0 rgba(255, 255, 255, 0.9), - 0 4px 10px rgba(148, 163, 184, 0.08); -} - -.metric-tile-top { + inset 0 1px 0 rgba(255, 255, 255, 1), + 0 2px 6px rgba(148, 163, 184, 0.1), + 0 8px 24px rgba(148, 163, 184, 0.08); display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 0.3rem; + flex-direction: column; + gap: 0.35rem; + transition: box-shadow 0.15s ease, transform 0.15s ease; } -.metric-chip { - display: inline-flex; - align-items: center; - justify-content: center; - width: 1.3rem; - height: 1.3rem; - border-radius: 0.42rem; - color: #4f6f93; - background: linear-gradient(180deg, rgba(232, 239, 245, 0.98) 0%, rgba(219, 229, 239, 0.92) 100%); - border: 1px solid rgba(191, 204, 219, 0.72); +.metric-tile:hover { box-shadow: - inset 0 1px 0 rgba(255, 255, 255, 0.84), - 0 2px 6px rgba(148, 163, 184, 0.08); -} - -.metric-icon { - width: 0.68rem; - height: 0.68rem; + inset 0 1px 0 rgba(255, 255, 255, 1), + 0 4px 12px rgba(148, 163, 184, 0.18), + 0 12px 32px rgba(148, 163, 184, 0.12); + transform: translateY(-1px); } .metric-label { - color: #5d7088; - font-size: 0.58rem; + color: #7d94ac; + font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; @@ -208,29 +188,53 @@ body { .metric-value { display: flex; align-items: baseline; - gap: 0.16rem; + gap: 0.2rem; color: #18314f; } .metric-number { - font-size: 1.18rem; + font-size: 2rem; font-weight: 700; - letter-spacing: -0.025em; - line-height: 1; + letter-spacing: -0.04em; + line-height: 1.1; } .metric-unit { - color: var(--color-text-muted); - font-size: 0.62rem; - font-weight: 700; - letter-spacing: 0.04em; + font-size: 1rem; + font-weight: 600; + color: #4a6580; + letter-spacing: -0.01em; +} + +.metric-status { + font-size: 0.78rem; + font-weight: 600; + margin-top: 0.1rem; +} + +.metric-status-good { + color: #16a34a; +} + +.metric-status-warn { + color: #d97706; +} + +.metric-status-info { + color: #0369a1; } .tab-panel[hidden] { display: none; } -@media (max-width: 840px) { +@media (max-width: 900px) { + .overview-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 480px) { .overview-grid { grid-template-columns: 1fr; }