phase 0 and 1

This commit is contained in:
2026-09-23 11:36:10 +05:30
parent cca3c50a89
commit 34c68034de
6 changed files with 122 additions and 108 deletions

View File

@@ -4,8 +4,8 @@
/* ── Dispatch's palette is now the console's ────────────────────────────────
These fourteen names are kept, and every one of them is an ALIAS. About
fifty rules in this file reference them, so pointing the names at the shared
These seven names are kept, and every one of them is an ALIAS. Fifty-two
rules in this file reference them, so pointing the names at the shared
tokens restyles the whole page at once — and, more to the point, makes it
impossible for Dispatch to drift away from the rest of the console again.
@@ -17,25 +17,21 @@
inconsistency rather than a decision, and far enough that a Dispatch card
beside a Console card were visibly two different whites.
The two shadow steps are now the card's, which is to say nothing at all.
`--dispatch-shadow-lg` is referenced by no rule in this file and is gone
rather than aliased. */
Eight further names were dropped rather than aliased, because no rule read
them: `--dispatch-bg`, `--dispatch-card-bg`, `--dispatch-border-active`,
`--dispatch-accent-light`, `--dispatch-warning`, `--dispatch-error` and the
two shadow steps. Aliasing them kept a palette in step with a page that had
stopped asking for it, which reads as deliberate support for a variant that
does not exist. `--dispatch-accent-light` was the only real value among
them — #9255ab, the ported product's, matching nothing in this console. */
:root {
--dispatch-bg: var(--color-surface);
--dispatch-bg-sub: var(--color-surface-subtle);
--dispatch-card-bg: var(--card-bg);
--dispatch-border: var(--color-line);
--dispatch-border-active: var(--color-brand);
--dispatch-text: var(--color-ink-1);
--dispatch-text-muted: var(--color-ink-3);
--dispatch-accent: var(--color-brand);
--dispatch-accent-light: #9255ab;
--dispatch-accent-soft: color-mix(in oklab, var(--color-brand) 8%, transparent);
--dispatch-success: var(--color-success, #1f9d55);
--dispatch-warning: var(--color-warning, #b7860b);
--dispatch-error: var(--color-error, #d64545);
--dispatch-shadow-sm: var(--card-shadow);
--dispatch-shadow-md: var(--card-shadow);
}
.dispatch-container {
@@ -390,7 +386,6 @@
/* ── Main Area Cards & Map Header ─────────────────────────────────────────── */
.dispatch-card-elevated,
.dispatch-focus-card,
.dispatch-map-card {
background: var(--card-bg) !important;
border: var(--card-border) !important;
@@ -399,88 +394,6 @@
overflow: hidden;
}
/* Focused Rider Live Summary Bar */
.group-detail-avatar {
width: 42px;
height: 42px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-weight: 800;
font-size: 14px;
}
.rider-phone-chip {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 11.5px;
font-weight: 600;
color: var(--dispatch-accent);
background: var(--dispatch-accent-soft);
padding: 2px 8px;
border-radius: 6px;
}
.focus-metrics-cluster {
display: flex;
align-items: center;
gap: 8px;
}
.focus-pill {
font-size: 12px;
font-weight: 600;
padding: 6px 12px;
border-radius: 10px;
background: var(--dispatch-bg-sub);
border: 1px solid var(--dispatch-border);
color: var(--dispatch-text);
}
.focus-pill.value {
background: var(--dispatch-accent-soft);
border-color: rgba(102, 37, 130, 0.25);
color: var(--dispatch-accent);
font-weight: 700;
}
.rider-live-summary-bar {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
gap: 8px;
padding: 10px 14px;
background: var(--dispatch-bg-sub);
border: 1px solid var(--dispatch-border);
border-radius: var(--card-radius);
}
.rl-item {
display: flex;
flex-direction: column;
gap: 2px;
}
.rl-label {
font-size: 10.5px;
font-weight: 700;
color: var(--dispatch-text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.rl-val {
font-size: 13px;
font-weight: 700;
color: var(--dispatch-text);
}
.status-badge-live {
color: var(--dispatch-success) !important;
}
/* ── Stop Sequence Timeline Carousel (under Map) ──────────────────────────── */
.round-timeline-section,
.stops-quick-carousel-wrap {