/* dashboard.css — stats, team pulse, activity feed (on top of ui.css + stations.css). */
.ax-hero { padding-top: 44px; }
.ax-hero .ax-mono { letter-spacing: .14em; color: var(--accent,#0033ff); }
.ax-hero p { line-height: 1.5; }

/* ---------- metric cards ---------- */
.ax-stats { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.ax-stat { background: var(--paper-white,#fff); border: var(--border-base,4px) solid var(--border,#000); box-shadow: var(--shadow-sm,6px 6px 0 #000); padding: 16px 18px; display: grid; gap: 8px; align-content: start; transition: transform var(--dur-fast,100ms) var(--ease-snap,ease), box-shadow var(--dur-fast,100ms) var(--ease-snap,ease); }
.ax-stat:hover { transform: translate(-2px,-2px); box-shadow: 9px 9px 0 var(--shadow-color,#000); }
.ax-stat__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ax-stat__top .ax-mono { line-height: 1.3; }
.ax-stat__top .material-symbols-outlined { color: var(--accent,#0033ff); font-size: 22px; flex: 0 0 auto; }
.ax-stat__num { font-family: var(--font-display,sans-serif); font-weight: 900; font-size: clamp(2rem, 5vw, 2.6rem); line-height: .95; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }

/* donut stat: ring + label sit side by side */
.ax-stat--donut { grid-template-columns: auto 1fr; align-items: center; gap: 14px; }
.ax-donut { display: grid; place-items: center; flex: 0 0 auto; }
.ax-donut svg { display: block; }
.ax-donut svg .track { stroke: var(--surface-low,#f4f2ff); }
.ax-donut svg .ring { stroke: var(--accent,#0033ff); stroke-linecap: butt; transition: stroke-dashoffset .6s var(--ease-snap,ease); }
.ax-donut svg .dlabel { font-family: var(--font-display,sans-serif); font-weight: 900; font-size: 16px; letter-spacing: -.03em; fill: var(--text-primary,#000); }
.ax-donut__sub { font-size: 12px; color: var(--text-secondary,#5e5e5e); margin-top: 2px; }

/* ---------- team pulse: infographic + feed ---------- */
.ax-pulse { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; align-items: start; }
.ax-pulse > .ax-card { box-shadow: var(--shadow-sm,6px 6px 0 #000); animation: none; }
.ax-pulse-bars { display: grid; gap: 14px; }
.ax-pulsebar__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; font-size: 14px; }
.ax-pulsebar__top span:first-child { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.ax-pulsebar__top .ax-mono { color: var(--text-secondary,#5e5e5e); font-variant-numeric: tabular-nums; }
.ax-pulsebar__top .material-symbols-outlined { font-size: 18px; color: var(--accent,#0033ff); }

.ax-feed { display: grid; gap: 0; }
.ax-feed__row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 2px solid var(--surface-low,#f4f2ff); font-size: 14px; }
.ax-feed__row:first-child { padding-top: 0; }
.ax-feed__row:last-child { border-bottom: 0; }
.ax-feed__row .material-symbols-outlined { font-size: 18px; color: var(--accent,#0033ff); flex: 0 0 auto; }
.ax-feed__txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ax-feed__row .ax-mono { flex: 0 0 auto; font-variant-numeric: tabular-nums; }

@media (max-width: 880px){ .ax-pulse { grid-template-columns: 1fr; } .ax-hero { padding-top: 26px; } }
@media (prefers-reduced-motion: reduce){ .ax-stat { transition: none; } .ax-donut svg .ring { transition: none; } }
