/* ==========================================================================
   Moot Sender Dashboard — Desktop app layout
   ========================================================================== */

.moot-dashboard-app .site-main {
	min-height: 100vh;
	padding: 0;
	margin: 0;
}

.moot-dashboard-app {
	--dash-sidebar-w: 260px;
	--dash-bg: #05080f;
	--dash-surface: rgba(17, 24, 39, 0.72);
	--dash-border: rgba(148, 163, 184, 0.12);
	--dash-green: #22c55e;
	--dash-amber: #f59e0b;
}

.admin-bar.moot-dashboard-app .dash-app {
	padding-top: 32px;
}

@media screen and (min-width: 783px) {
	.admin-bar.moot-dashboard-app .dash-app {
		padding-top: 46px;
	}
}

.dash-app {
	min-height: 100vh;
	background: var(--dash-bg);
	background-image:
		radial-gradient(ellipse 50% 40% at 100% 0%, rgba(37, 99, 235, 0.12), transparent),
		linear-gradient(180deg, #05080f 0%, #0a0e17 100%);
}

/* Dashboard overlay */
#moot-dashboard {
	position: relative;
	min-height: 100vh;
}

.moot-dashboard-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--dash-bg);
}

#moot-dashboard.moot-dashboard--ready .moot-dashboard-overlay {
	display: none !important;
}

/* KPI strip */
.dash-kpi-strip {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.dash-kpi {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 1.15rem 1.2rem;
	min-height: 88px;
	border: 1px solid var(--dash-border);
	background: var(--dash-surface);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.dash-kpi:hover {
	border-color: rgba(148, 163, 184, 0.22);
	transform: translateY(-1px);
}

.dash-kpi[role="button"] {
	cursor: pointer;
}

.dash-kpi[role="button"]:focus-visible {
	outline: 2px solid rgba(59, 130, 246, 0.65);
	outline-offset: 2px;
}

.dash-donut-legend [data-shipment-tab] {
	cursor: pointer;
	border-radius: 8px;
	padding: 4px 6px;
	margin: -4px -6px;
	transition: background 0.15s ease;
}

.dash-donut-legend [data-shipment-tab]:hover,
.dash-donut-legend [data-shipment-tab]:focus-visible {
	background: rgba(148, 163, 184, 0.12);
	outline: none;
}

.dash-activity__item--clickable {
	cursor: pointer;
	border-radius: 10px;
	transition: background 0.15s ease;
}

.dash-activity__item--clickable:hover,
.dash-activity__item--clickable:focus-visible {
	background: rgba(148, 163, 184, 0.1);
	outline: none;
}

.dash-kpi__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	font-size: 1.1rem;
	flex-shrink: 0;
	overflow: hidden;
}

.dash-kpi__icon img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	display: block;
	flex-shrink: 0;
}

.dash-kpi__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.dash-kpi__label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.3;
}

.dash-kpi__value {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	color: #f8fafc;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.dash-kpi--total .dash-kpi__icon { background: rgba(148, 163, 184, 0.12); color: #e2e8f0; }
.dash-kpi--pending .dash-kpi__icon { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.dash-kpi--pending .dash-kpi__value { color: #fde68a; }
.dash-kpi--assigned .dash-kpi__icon { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
.dash-kpi--assigned .dash-kpi__value { color: #93c5fd; }
.dash-kpi--transit .dash-kpi__icon { background: rgba(56, 189, 248, 0.15); color: #38bdf8; }
.dash-kpi--transit .dash-kpi__value { color: #7dd3fc; }
.dash-kpi--completed .dash-kpi__icon { background: rgba(34, 197, 94, 0.15); color: #4ade80; }
.dash-kpi--completed .dash-kpi__value { color: #86efac; }
.dash-kpi--spend .dash-kpi__icon { background: rgba(34, 197, 94, 0.12); color: #4ade80; }
.dash-kpi--spend .dash-kpi__value { color: #4ade80; }

.dash-dot--purple { background: #8b5cf6; }
.dash-dot--teal { background: #14b8a6; }

/* Shipments page: full-screen overlay until data ready (shell stays in DOM) */
#moot-shipments-page {
	position: relative;
	min-height: 100vh;
}

.moot-shipments-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--dash-bg);
	background-image:
		radial-gradient(ellipse 50% 40% at 100% 0%, rgba(37, 99, 235, 0.12), transparent),
		linear-gradient(180deg, #05080f 0%, #0a0e17 100%);
}

#moot-shipments-page.moot-shipments--ready .moot-shipments-overlay,
#moot-shipments-page.moot-shipments--ready #moot-shipments-loading {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.dash-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	color: var(--text-muted);
}

.dash-loading__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.dash-shell {
	display: flex;
	min-height: 100vh;
}

/* Sidebar */
.dash-sidebar {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	display: flex;
	flex-direction: column;
	width: var(--dash-sidebar-w);
	height: 100vh;
	padding: 1.25rem 1rem;
	background: rgba(5, 8, 15, 0.95);
	border-right: 1px solid var(--dash-border);
	backdrop-filter: blur(16px);
	transform: translateX(0);
	transition: transform 0.25s ease;
}

.dash-sidebar__brand {
	margin-bottom: 1.5rem;
}

.dash-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--text-primary);
	font-weight: 800;
	font-size: 1.35rem;
	text-transform: lowercase;
	letter-spacing: -0.03em;
}

.dash-logo:hover { color: var(--text-primary); }

.dash-logo__icon { color: var(--accent-hover); }

.dash-sidebar__tagline {
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	color: var(--text-muted);
}

.dash-nav {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	flex: 1;
}

.dash-nav__link {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0.85rem;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--text-secondary);
	border-radius: var(--radius-md);
	transition: background var(--transition), color var(--transition);
}

.dash-nav__link:hover {
	color: var(--text-primary);
	background: rgba(255, 255, 255, 0.05);
}

.dash-nav__link.is-active {
	color: var(--text-primary);
	background: rgba(37, 99, 235, 0.2);
	border: 1px solid rgba(37, 99, 235, 0.35);
}

.dash-nav__chevron {
	margin-left: auto;
	color: var(--accent-hover);
}

.dash-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	margin-left: auto;
	font-size: 0.7rem;
	font-weight: 700;
	color: #fff;
	background: var(--accent);
	border-radius: 999px;
}

.dash-sidebar__footer {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--dash-border);
}

.dash-sidebar__logout {
	display: block;
	width: 100%;
	margin: 0.35rem 0 0.75rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid var(--dash-border);
	border-radius: 12px;
	background: transparent;
	color: var(--text-secondary);
	font: inherit;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
}

.dash-sidebar__logout:hover {
	background: rgba(148, 163, 184, 0.1);
	color: #f8fafc;
}

.dash-profile-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem;
	margin-bottom: 0.75rem;
}

.dash-profile-card__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	font-size: 0.8rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, var(--accent), #1d4ed8);
	border-radius: 50%;
	flex-shrink: 0;
}

.dash-profile-card__name {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--text-primary);
}

.dash-profile-card__role {
	margin: 0;
	font-size: 0.75rem;
	color: var(--text-muted);
}

.dash-sidebar__cta {
	width: 100%;
	margin-bottom: 0.75rem;
}

.dash-help {
	display: block;
	text-align: center;
	font-size: 0.8125rem;
	color: var(--text-muted);
}

/* Main */
.dash-main {
	flex: 1;
	margin-left: var(--dash-sidebar-w);
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.dash-main--full {
	margin-left: 0;
	max-width: 1200px;
	margin-inline: auto;
	width: 100%;
}

.dash-shell--simple {
	display: block;
	min-height: 100vh;
}

.dash-search--inline {
	min-width: 220px;
}

.dash-topbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--dash-border);
	background: rgba(5, 8, 15, 0.6);
	backdrop-filter: blur(12px);
	position: sticky;
	top: 0;
	z-index: 50;
}

.dash-menu-btn {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-sm);
	cursor: pointer;
}

.dash-menu-btn span {
	display: block;
	width: 20px;
	height: 2px;
	margin-inline: auto;
	background: var(--text-primary);
	border-radius: 1px;
}

.dash-topbar__greeting h1 {
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	margin: 0 0 0.25rem;
}

.dash-topbar__greeting p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--text-secondary);
}

.dash-topbar__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	position: relative;
}

.dash-search {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.85rem;
	min-width: 200px;
	background: rgba(5, 8, 15, 0.65);
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-md);
	color: var(--text-muted);
}

.dash-search input {
	flex: 1;
	min-width: 120px;
	padding: 0;
	font-family: inherit;
	font-size: 0.875rem;
	color: var(--text-primary);
	background: transparent;
	border: none;
}

.dash-search input:focus { outline: none; }

.dash-icon-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--text-secondary);
	background: rgba(5, 8, 15, 0.65);
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: border-color var(--transition), color var(--transition);
}

.dash-icon-btn:hover {
	color: var(--text-primary);
	border-color: rgba(37, 99, 235, 0.35);
}

.dash-user-menu {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.5rem 0.35rem 0.35rem;
	background: rgba(5, 8, 15, 0.65);
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-md);
	cursor: pointer;
	color: var(--text-primary);
}

.dash-user-menu__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: 0.7rem;
	font-weight: 700;
	background: linear-gradient(135deg, var(--accent), #1d4ed8);
	border-radius: 50%;
}

.dash-user-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 100;
	min-width: 200px;
	padding: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.dash-user-dropdown[hidden] {
	display: none !important;
}

.dash-user-dropdown a,
.dash-user-dropdown button {
	display: block;
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-family: inherit;
	font-size: 0.875rem;
	text-align: left;
	color: var(--text-secondary);
	background: transparent;
	border: none;
	border-radius: var(--radius-sm);
	cursor: pointer;
}

.dash-user-dropdown a:hover,
.dash-user-dropdown button:hover {
	background: rgba(255, 255, 255, 0.05);
	color: var(--text-primary);
}

.dash-user-dropdown__email {
	margin: 0 0.75rem 0.25rem;
	font-size: 0.75rem;
	color: var(--text-muted);
	word-break: break-all;
}

.dash-period {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 0.75rem;
	background: rgba(5, 8, 15, 0.65);
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-md);
	color: var(--text-muted);
}

.dash-period select {
	font-family: inherit;
	font-size: 0.8125rem;
	color: var(--text-primary);
	background: transparent;
	border: none;
	cursor: pointer;
}

.dash-period select:focus { outline: none; }

.dash-content {
	padding: 1.25rem 1.5rem 2.5rem;
}

.dash-alert {
	padding: 0.85rem 1.15rem;
	margin-bottom: 1rem;
	font-size: 0.9rem;
	border-radius: var(--radius-md);
	border: 1px solid var(--dash-border);
}

.dash-alert--error {
	color: #fecaca;
	background: rgba(239, 68, 68, 0.12);
	border-color: rgba(239, 68, 68, 0.35);
}

.dash-alert--info {
	color: var(--text-secondary);
	background: rgba(37, 99, 235, 0.08);
	border-color: rgba(37, 99, 235, 0.25);
}

.dash-grid {
	display: grid;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.dash-grid--top {
	grid-template-columns: 1.35fr 1fr 1fr;
	align-items: stretch;
}

.dash-grid--mid {
	grid-template-columns: 1.55fr 1fr;
}

.dash-grid--bottom {
	grid-template-columns: 1.4fr 0.85fr;
}

.dash-grid--network {
	grid-template-columns: 1fr 1fr;
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.dash-grid--network {
		grid-template-columns: 1fr;
	}
}

.dash-card {
	padding: 1.5rem;
	min-height: 0;
}

.dash-card__title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--text-primary);
}

.dash-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.dash-card__head .dash-card__title { margin: 0; }

.dash-card__link {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--accent-hover);
}

.dash-card__meta {
	font-size: 0.75rem;
	color: var(--text-muted);
}

/* Impact */
.dash-impact__hero {
	margin: 0 0 1.25rem;
	font-size: 2rem;
	font-weight: 800;
	color: var(--dash-green);
	line-height: 1.1;
}

.dash-impact__hint {
	margin: -0.75rem 0 1rem;
	font-size: 0.8125rem;
	color: var(--text-muted);
}

.dash-period-btn {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--accent-hover);
	background: rgba(37, 99, 235, 0.12);
	border: 1px solid rgba(37, 99, 235, 0.35);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
	cursor: pointer;
	white-space: nowrap;
}

.dash-period-btn:hover {
	background: rgba(37, 99, 235, 0.2);
}

.dash-perf-item__hint {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	color: var(--text-muted);
}

.dash-perf-item__hint--warning {
	color: #b45309;
}

.dash-map-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	font-size: 0.8125rem;
	color: var(--text-secondary);
}

.dash-map-legend strong {
	color: var(--text-primary);
	margin-left: 0.25rem;
}

.dash-map__dot {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #60a5fa;
	box-shadow: 0 0 8px rgba(96, 165, 250, 0.8);
	transform: translate(-50%, -50%);
}

.dash-map__dot--pending {
	background: #fbbf24;
	box-shadow: 0 0 8px rgba(251, 191, 36, 0.7);
}

.dash-activity__item {
	display: flex;
	gap: 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--dash-border);
	font-size: 0.875rem;
}

.dash-activity__item:last-child {
	border-bottom: none;
}

.dash-impact__hero small {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--text-secondary);
	margin-top: 0.25rem;
}

.dash-impact__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.dash-impact__list li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.875rem;
	color: var(--text-secondary);
}

.dash-impact__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-sm);
	font-size: 0.85rem;
}

.dash-impact__icon--green {
	color: var(--dash-green);
	background: rgba(34, 197, 94, 0.12);
}

/* Performance */
.dash-perf-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1rem;
}

.dash-perf-item__top {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	font-size: 0.875rem;
	color: var(--text-secondary);
}

.dash-perf-item__top strong {
	font-size: 1.25rem;
	color: var(--text-primary);
}

.dash-perf-item__delta {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	color: var(--dash-green);
}

/* Donut */
.dash-donut-wrap {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.dash-donut {
	--pending: 0;
	--assigned: 0;
	--transit: 0;
	--completed: 0;
	position: relative;
	width: 128px;
	height: 128px;
	border-radius: 50%;
	background: conic-gradient(
		var(--dash-amber) 0 calc(var(--pending) * 1%),
		#3b82f6 calc(var(--pending) * 1%) calc((var(--pending) + var(--assigned)) * 1%),
		#38bdf8 calc((var(--pending) + var(--assigned)) * 1%) calc((var(--pending) + var(--assigned) + var(--transit)) * 1%),
		var(--dash-green) calc((var(--pending) + var(--assigned) + var(--transit)) * 1%) 100%
	);
	flex-shrink: 0;
}

.dash-donut::before {
	content: "";
	position: absolute;
	inset: 18px;
	background: var(--bg-elevated);
	border-radius: 50%;
}

.dash-donut__center {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.dash-donut__center strong {
	font-size: 1.35rem;
	color: var(--text-primary);
}

.dash-donut__center span {
	font-size: 0.7rem;
	color: var(--text-muted);
}

.dash-donut-legend {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.8125rem;
	color: var(--text-secondary);
}

.dash-donut-legend li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.dash-donut-legend strong {
	margin-left: auto;
	color: var(--text-primary);
}

.dash-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.dash-dot--blue { background: var(--accent); }
.dash-dot--amber { background: var(--dash-amber); }
.dash-dot--green { background: var(--dash-green); }

/* Table */
.dash-table-wrap {
	overflow-x: auto;
}

.dash-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.8125rem;
}

.dash-table th {
	padding: 0.65rem 0.75rem;
	text-align: left;
	font-weight: 600;
	color: var(--text-muted);
	border-bottom: 1px solid var(--dash-border);
}

.dash-table td {
	padding: 1rem 0.85rem;
	border-bottom: 1px solid var(--dash-border);
	color: var(--text-secondary);
	vertical-align: middle;
}

.dash-table--active tbody tr {
	cursor: pointer;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.dash-table--active tbody tr:hover {
	background: rgba(37, 99, 235, 0.08);
}

.dash-table__item-cell {
	min-width: 140px;
}

.dash-table__item-name {
	display: block;
	font-weight: 600;
	color: var(--text-primary);
	font-size: 0.875rem;
}

.dash-table__item-meta {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.75rem;
	color: var(--text-muted);
}

.dash-table__price {
	font-weight: 600;
	color: var(--text-primary);
	white-space: nowrap;
}

.dash-table__route {
	font-weight: 600;
	color: var(--text-primary);
}

.dash-table__chevron {
	color: var(--text-muted);
	font-size: 1.1rem;
}

/* Status pills */
.dash-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	border-radius: 999px;
	border: 1px solid transparent;
	white-space: nowrap;
}

.dash-pill--pending { color: #fde68a; background: rgba(245, 158, 11, 0.14); border-color: rgba(245, 158, 11, 0.35); }
.dash-pill--assigned,
.dash-pill--confirmed { color: #93c5fd; background: rgba(59, 130, 246, 0.14); border-color: rgba(59, 130, 246, 0.35); }
.dash-pill--collected { color: #99f6e4; background: rgba(20, 184, 166, 0.14); border-color: rgba(20, 184, 166, 0.35); }
.dash-pill--in-transit,
.dash-pill--transit { color: #7dd3fc; background: rgba(56, 189, 248, 0.14); border-color: rgba(56, 189, 248, 0.4); }
.dash-pill--delivery { color: #a5b4fc; background: rgba(99, 102, 241, 0.14); border-color: rgba(99, 102, 241, 0.35); }
.dash-pill--completed { color: #86efac; background: rgba(34, 197, 94, 0.14); border-color: rgba(34, 197, 94, 0.35); }

/* Map */
.dash-map {
	min-height: 220px;
	border-radius: var(--radius-md);
	background:
		radial-gradient(circle at 30% 40%, rgba(37, 99, 235, 0.25) 0%, transparent 45%),
		radial-gradient(circle at 70% 60%, rgba(34, 197, 94, 0.15) 0%, transparent 40%),
		linear-gradient(160deg, #0f172a 0%, #111827 100%);
	border: 1px solid var(--dash-border);
	position: relative;
	overflow: hidden;
}

.dash-map__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 2rem;
	text-align: center;
}

.dash-map__placeholder p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--text-muted);
	max-width: 280px;
}

.dash-map__routes {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.dash-map__line {
	position: absolute;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--accent), transparent);
	transform-origin: left center;
	opacity: 0.6;
}

/* Recommendations */
.dash-recommendations {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.dash-recommendation {
	padding: 1rem;
	background: rgba(5, 8, 15, 0.45);
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-md);
}

.dash-recommendation__route {
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 0.35rem;
}

.dash-recommendation__meta {
	font-size: 0.8125rem;
	color: var(--text-muted);
}

.dash-recommendation__match {
	color: var(--dash-green);
	font-weight: 600;
}

/* Activity */
.dash-activity {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dash-activity li {
	display: flex;
	gap: 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--dash-border);
	font-size: 0.875rem;
}

.dash-activity li:last-child { border-bottom: none; }

.dash-activity__icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(37, 99, 235, 0.12);
	color: var(--accent-hover);
	flex-shrink: 0;
}

.dash-activity__text { color: var(--text-secondary); flex: 1; }
.dash-activity__time { font-size: 0.75rem; color: var(--text-muted); white-space: nowrap; }

/* Quick actions */
.dash-quick-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65rem;
}

.dash-quick-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--text-primary);
	background: rgba(5, 8, 15, 0.5);
	border: 1px solid var(--dash-border);
	border-radius: var(--radius-md);
	text-align: center;
	transition: border-color var(--transition), background var(--transition);
}

.dash-quick-btn:hover {
	border-color: rgba(37, 99, 235, 0.4);
	background: rgba(37, 99, 235, 0.1);
	color: var(--text-primary);
}

/* Empty */
.dash-empty {
	text-align: center;
	padding: 2rem 1rem;
	color: var(--text-muted);
}

.dash-empty--compact {
	padding: 1rem 0.5rem;
}

.dash-empty p { margin: 0 0 0.75rem; }

.dash-overlay {
	position: fixed;
	inset: 0;
	z-index: 150;
	background: rgba(0, 0, 0, 0.55);
}

.dash-overlay:not([hidden]) { display: block; }

/* Skeleton */
.dash-skeleton {
	background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.04) 75%);
	background-size: 200% 100%;
	animation: dash-shimmer 1.2s infinite;
	border-radius: 4px;
}

@keyframes dash-shimmer {
	to { background-position: -200% 0; }
}

/* Responsive */
@media (max-width: 1200px) {
	.dash-kpi-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dash-grid--top { grid-template-columns: 1fr 1fr; }
	.dash-card--status { grid-column: 1 / -1; }
	.dash-grid--bottom { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
	.dash-sidebar {
		transform: translateX(-100%);
	}

	.dash-sidebar.is-open {
		transform: translateX(0);
		box-shadow: 8px 0 40px rgba(0, 0, 0, 0.5);
	}

	.dash-main { margin-left: 0; }

	.dash-menu-btn { display: flex; }

	.dash-grid--top,
	.dash-grid--mid,
	.dash-grid--bottom {
		grid-template-columns: 1fr;
	}

	.dash-topbar__actions {
		width: 100%;
	}

	.dash-search {
		flex: 1;
		min-width: 0;
	}

	.dash-period { display: none; }

	.dash-kpi-strip {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 0.75rem;
		margin-bottom: 1.25rem;
		padding-bottom: 0.35rem;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.dash-kpi {
		flex: 0 0 min(72vw, 200px);
		min-height: 80px;
	}

	.dash-card--status {
		display: none;
	}

	.dash-content {
		padding: 0 1rem 1.5rem;
	}
}

@media (max-width: 640px) {
	.dash-table--active thead {
		display: none;
	}

	.dash-table--active tbody tr {
		display: block;
		margin-bottom: 0.85rem;
		padding: 0.25rem 0;
		border: 1px solid var(--dash-border);
		border-radius: 12px;
		background: rgba(15, 23, 42, 0.45);
	}

	.dash-table--active tbody tr:hover {
		background: rgba(37, 99, 235, 0.1);
	}

	.dash-table--active td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.65rem 1rem;
		border-bottom: 1px solid rgba(148, 163, 184, 0.08);
	}

	.dash-table--active td:last-child {
		border-bottom: none;
		justify-content: flex-end;
	}

	.dash-table--active td::before {
		content: attr(data-label);
		font-size: 0.6875rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: var(--text-muted);
		flex-shrink: 0;
	}

	.dash-table--active td.dash-table__chevron::before {
		content: none;
	}

	.dash-table--active .dash-table__item-cell {
		flex-direction: column;
		align-items: flex-end;
		text-align: right;
	}

	.dash-quick-actions { grid-template-columns: 1fr; }
}

/* Shipments page — tabs & cards */
.ship-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.ship-toolbar__search {
	flex: 1;
	min-width: 200px;
}

.ship-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.ship-toolbar__sort-label {
	font-size: 0.8125rem;
	color: var(--text-muted);
}

.ship-sort-select {
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	border: 1px solid var(--dash-border);
	background: rgba(15, 23, 42, 0.6);
	color: #e2e8f0;
	font-size: 0.875rem;
}

.ship-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.ship-tabs__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	border-radius: 10px;
	border: 1px solid var(--dash-border);
	background: rgba(17, 24, 39, 0.5);
	color: #94a3b8;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.ship-tabs__btn.is-active {
	border-color: rgba(34, 197, 94, 0.45);
	background: rgba(34, 197, 94, 0.08);
	color: #f1f5f9;
}

.ship-tabs__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}

.ship-tabs__dot--pending { background: #f59e0b; }
.ship-tabs__dot--assigned { background: #3b82f6; }
.ship-tabs__dot--in_transit { background: #8b5cf6; }
.ship-tabs__dot--completed { background: #22c55e; }

.ship-tabs__count {
	font-weight: 500;
	opacity: 0.85;
}

.ship-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ship-list__loading,
.ship-list__empty {
	margin: 1rem 0;
	font-size: 0.875rem;
	color: #94a3b8;
	text-align: center;
}

.ship-card {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
}

.ship-card__route {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: #f1f5f9;
}

.ship-card__arrow {
	color: #64748b;
}

.ship-card__load {
	margin: 0.35rem 0 0;
	font-size: 0.875rem;
	color: #94a3b8;
}

.ship-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	color: #64748b;
}

.ship-card__ref {
	font-family: ui-monospace, monospace;
}

.ship-card__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
	min-width: 140px;
}

.ship-card__price {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: #f1f5f9;
}

.ship-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-end;
}

@media (max-width: 640px) {
	.ship-card {
		flex-direction: column;
	}

	.ship-card__aside {
		align-items: flex-start;
		width: 100%;
	}
}

/* Premium shipments table */
.ship-panel {
	padding: 1.25rem 1.5rem;
}

.ship-summary-stats {
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	color: #94a3b8;
}

.ship-summary-stats span {
	margin-right: 1rem;
}

.ship-table-wrap {
	margin-top: 0.5rem;
	border-radius: 12px;
	border: 1px solid var(--dash-border);
	overflow: hidden;
}

.ship-table thead th {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
	background: rgba(15, 23, 42, 0.6);
}

.ship-table tbody tr {
	transition: background 0.15s ease;
}

.ship-table tbody tr:hover {
	background: rgba(37, 99, 235, 0.08);
	cursor: pointer;
}

.ship-col-route {
	min-width: 180px;
}

.ship-route {
	display: inline-block;
	font-weight: 600;
	color: #e2e8f0;
}

.ship-route-arrow {
	margin: 0 0.35rem;
	color: #64748b;
}

.ship-col-item strong {
	display: block;
	font-size: 0.875rem;
}

.ship-sub {
	display: block;
	font-size: 0.75rem;
	color: #94a3b8;
}

.ship-col-ref code {
	font-size: 0.75rem;
	color: #94a3b8;
	background: rgba(15, 23, 42, 0.8);
	padding: 0.15rem 0.4rem;
	border-radius: 4px;
}

.ship-col-status .dash-pill {
	display: inline-block;
	margin-bottom: 0.25rem;
}

.ship-raw-pill {
	display: block;
	font-size: 0.6875rem;
	color: #64748b;
	text-transform: capitalize;
}

.ship-col-price {
	font-weight: 700;
	color: #f1f5f9;
	white-space: nowrap;
}

.ship-col-actions {
	white-space: nowrap;
}

.ship-col-actions .btn {
	margin-left: 0.25rem;
}

.btn--xs {
	padding: 0.35rem 0.6rem;
	font-size: 0.75rem;
}

.ship-list__empty {
	padding: 2rem;
	text-align: center;
	color: #94a3b8;
}

/* Shipment detail modal */
.ship-detail-modal {
	position: fixed;
	inset: 0;
	z-index: 200000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.ship-detail-modal[hidden] {
	display: none !important;
}

.ship-detail-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
	backdrop-filter: blur(4px);
}

.ship-detail-modal__panel {
	position: relative;
	width: min(640px, 100%);
	max-height: 90vh;
	overflow-y: auto;
	padding: 1.75rem;
	z-index: 1;
}

.ship-detail-modal__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2rem;
	height: 2rem;
	border: none;
	border-radius: 8px;
	background: rgba(148, 163, 184, 0.15);
	color: #e2e8f0;
	font-size: 1.25rem;
	cursor: pointer;
}

.ship-detail-modal__title {
	margin: 0 2rem 0.25rem 0;
	font-size: 1.25rem;
}

.ship-detail-modal__subtitle {
	margin: 0 0 1.25rem;
	color: #94a3b8;
	font-size: 0.875rem;
}

.ship-detail-modal__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ship-detail-label {
	display: block;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
	margin-bottom: 0.25rem;
}

.ship-detail-modal__grid p {
	margin: 0;
	font-size: 0.875rem;
	color: #e2e8f0;
}

.ship-detail-price {
	font-size: 1.125rem;
	font-weight: 700;
	color: #4ade80;
}

.ship-detail-modal__extra {
	margin: 1rem 0;
	padding: 1rem;
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.5);
	border: 1px solid var(--dash-border);
}

.ship-detail-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.ship-track-steps {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ship-track-step {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: #64748b;
}

.ship-track-step.is-done,
.ship-track-step.is-current {
	color: #e2e8f0;
}

.ship-track-step__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #334155;
}

.ship-track-step.is-done .ship-track-step__dot {
	background: #22c55e;
}

.ship-track-step.is-current .ship-track-step__dot {
	background: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
}

.ship-modal-note {
	font-size: 0.8125rem;
	color: #94a3b8;
	margin: 0.5rem 0 0;
}

body.ship-modal-open {
	overflow: hidden;
}

@media (max-width: 900px) {
	.ship-table-wrap {
		overflow-x: auto;
	}

	.ship-table {
		min-width: 860px;
	}

	.ship-detail-modal__grid {
		grid-template-columns: 1fr;
	}
}

/* Premium shipments command centre */
.moot-shipments-page {
	background:
		radial-gradient(circle at top left, rgba(59, 130, 246, 0.16), transparent 28%),
		radial-gradient(circle at top right, rgba(139, 92, 246, 0.12), transparent 22%),
		linear-gradient(180deg, #08101f 0%, #0a1224 55%, #09101d 100%);
}

.moot-shipments-page .dash-main,
.moot-shipments-page .dash-content,
.moot-shipments-page .ship-cmd,
.moot-shipments-page .ship-cmd__main {
	overflow: visible;
}

.moot-shipments-page .glass-card {
	background: linear-gradient(180deg, rgba(12, 21, 38, 0.92), rgba(9, 17, 31, 0.88));
	border: 1px solid rgba(148, 163, 184, 0.12);
	box-shadow: 0 24px 60px rgba(2, 8, 23, 0.34);
}

.moot-shipments-page .dash-sidebar {
	background: linear-gradient(180deg, rgba(4, 10, 24, 0.98), rgba(8, 16, 31, 0.98));
}

.ship-page {
	padding-bottom: 2rem;
}

.ship-topbar__actions {
	position: relative;
	gap: 0.75rem;
}

.ship-topbar__search {
	min-width: min(420px, 100%);
}

.ship-topbar__cta {
	white-space: nowrap;
}

.ship-cmd {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 1.5rem;
	align-items: start;
}

.ship-cmd__main {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	min-width: 0;
}

.ship-cmd__aside {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: 1.5rem;
}

.ship-summary-strip {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
}

.ship-summary-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 1.15rem 1.15rem 1rem;
	border-radius: 22px;
	color: #dbe7fb;
	text-align: left;
	cursor: pointer;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ship-summary-card:hover {
	transform: translateY(-2px);
	border-color: rgba(96, 165, 250, 0.28);
	box-shadow: 0 24px 50px rgba(2, 8, 23, 0.4);
}

.ship-summary-card.is-active {
	background: linear-gradient(180deg, rgba(15, 28, 50, 0.96), rgba(8, 16, 31, 0.98));
	border-color: rgba(96, 165, 250, 0.38);
	box-shadow: 0 24px 65px rgba(18, 56, 125, 0.25);
}

.ship-summary-card__accent {
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	border-radius: 22px 0 0 22px;
}

.ship-summary-card__accent--all { background: #3b82f6; }
.ship-summary-card__accent--pending { background: #f59e0b; }
.ship-summary-card__accent--assigned { background: #8b5cf6; }
.ship-summary-card__accent--transit { background: #2563eb; }
.ship-summary-card__accent--completed { background: #22c55e; }

.ship-summary-card__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.ship-summary-card__label {
	font-size: 0.82rem;
	font-weight: 600;
	color: #98a8c2;
}

.ship-summary-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: rgba(59, 130, 246, 0.12);
	color: #dce9ff;
	font-size: 0.95rem;
}

.ship-summary-card__count {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: #f8fbff;
}

.ship-summary-card__link {
	font-size: 0.78rem;
	font-weight: 600;
	color: #6da8ff;
}

.ship-filter-bar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.15rem;
	border-radius: 22px;
}

.ship-filter-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	flex: 1;
	min-width: 0;
	padding: 0.95rem 1rem;
	border-radius: 18px;
	border: 1px solid rgba(148, 163, 184, 0.14);
	background: rgba(8, 15, 28, 0.72);
	color: #dbe7fb;
}

.ship-filter-search svg {
	color: #6f84a5;
	flex-shrink: 0;
}

.ship-filter-search input {
	width: 100%;
	border: 0;
	background: transparent;
	color: #eef5ff;
	font-size: 0.93rem;
	outline: none;
}

.ship-filter-search input::placeholder {
	color: #6f84a5;
}

.ship-toolbar-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.ship-control-group {
	position: relative;
}

.ship-control-btn,
.ship-view-toggle__btn,
.ship-toggle-chip,
.ship-link-btn {
	border: 0;
	background: transparent;
	color: #dbe7fb;
	cursor: pointer;
	font: inherit;
}

.ship-control-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.85rem 1rem;
	border-radius: 16px;
	border: 1px solid rgba(148, 163, 184, 0.14);
	background: rgba(10, 18, 33, 0.8);
	transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.ship-control-btn:hover,
.ship-view-toggle__btn:hover {
	transform: translateY(-1px);
	border-color: rgba(96, 165, 250, 0.25);
}

.ship-popover {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	min-width: 220px;
	padding: 0.55rem;
	border-radius: 18px;
	background: rgba(8, 15, 28, 0.96);
	border: 1px solid rgba(148, 163, 184, 0.14);
	box-shadow: 0 24px 60px rgba(2, 8, 23, 0.48);
	z-index: 40;
}

.ship-popover__item {
	width: 100%;
	display: block;
	padding: 0.8rem 0.9rem;
	border-radius: 12px;
	border: 0;
	background: transparent;
	color: #dbe7fb;
	text-align: left;
	cursor: pointer;
	font: inherit;
}

.ship-popover__item:hover,
.ship-popover__item.is-active {
	background: rgba(59, 130, 246, 0.12);
}

.ship-filter-panel {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.ship-toggle-chip {
	padding: 0.8rem 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(148, 163, 184, 0.12);
	background: rgba(255, 255, 255, 0.03);
	text-align: left;
}

.ship-toggle-chip.is-active {
	border-color: rgba(245, 158, 11, 0.4);
	background: rgba(245, 158, 11, 0.12);
	color: #ffe3ad;
}

.ship-link-btn {
	padding: 0.4rem 0.2rem;
	color: #78aefc;
	font-size: 0.85rem;
	font-weight: 600;
}

.ship-view-toggle {
	display: inline-flex;
	padding: 0.28rem;
	border-radius: 16px;
	border: 1px solid rgba(148, 163, 184, 0.14);
	background: rgba(10, 18, 33, 0.8);
}

.ship-view-toggle__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.7rem;
	height: 2.5rem;
	border-radius: 12px;
	color: #8ea0bb;
}

.ship-view-toggle__btn.is-active {
	background: rgba(59, 130, 246, 0.14);
	color: #f5faff;
}

.ship-groups {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.ship-group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ship-group__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.ship-group__head h2 {
	margin: 0;
	font-size: 1.08rem;
	color: #f5faff;
}

.ship-group__head p {
	margin: 0.28rem 0 0;
	font-size: 0.82rem;
	color: #8ea0bb;
}

.ship-group__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	height: 2.2rem;
	padding: 0 0.75rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 700;
}

.ship-group__badge--pending { background: rgba(245, 158, 11, 0.14); color: #ffd48c; }
.ship-group__badge--assigned { background: rgba(139, 92, 246, 0.14); color: #d9c4ff; }
.ship-group__badge--transit { background: rgba(37, 99, 235, 0.14); color: #b7d0ff; }
.ship-group__badge--completed { background: rgba(34, 197, 94, 0.14); color: #a7f3c3; }
.ship-group__badge--archived { background: rgba(251, 146, 60, 0.14); color: #ffd2a6; }

.ship-group__list {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.ship-card,
.ship-compact-row {
	position: relative;
	border-radius: 24px;
	border: 1px solid rgba(148, 163, 184, 0.12);
	background: linear-gradient(180deg, rgba(10, 19, 35, 0.95), rgba(8, 15, 28, 0.95));
	box-shadow: 0 24px 50px rgba(2, 8, 23, 0.26);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.ship-card:hover,
.ship-compact-row:hover {
	transform: translateY(-2px);
	border-color: rgba(96, 165, 250, 0.24);
	box-shadow: 0 28px 60px rgba(2, 8, 23, 0.34);
}

.ship-card {
	display: grid;
	grid-template-columns: minmax(0, 1.75fr) minmax(220px, 1fr) auto;
	gap: 1.4rem;
	padding: 1.35rem 1.4rem 1.35rem 1.55rem;
	cursor: pointer;
}

.ship-card__line,
.ship-compact-row__line {
	position: absolute;
	left: 0;
	top: 16px;
	bottom: 16px;
	width: 4px;
	border-radius: 999px;
}

.ship-card__line--pending,
.ship-compact-row__line--pending { background: linear-gradient(180deg, #fbbf24, #f59e0b); }
.ship-card__line--assigned,
.ship-compact-row__line--assigned { background: linear-gradient(180deg, #a78bfa, #8b5cf6); }
.ship-card__line--in_transit,
.ship-compact-row__line--in_transit { background: linear-gradient(180deg, #60a5fa, #2563eb); }
.ship-card__line--completed,
.ship-compact-row__line--completed { background: linear-gradient(180deg, #4ade80, #22c55e); }
.ship-card__line--archived,
.ship-compact-row__line--archived { background: linear-gradient(180deg, #fdba74, #fb923c); }

.ship-card__left {
	display: grid;
	grid-template-columns: 2.6rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	min-width: 0;
}

.ship-card__icon {
	width: 2.6rem;
	height: 2.6rem;
	margin-top: 0.15rem;
	border-radius: 50%;
	background: rgba(59, 130, 246, 0.12);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.ship-card__icon--pending { background: radial-gradient(circle, rgba(245, 158, 11, 0.28), rgba(245, 158, 11, 0.08)); }
.ship-card__icon--assigned { background: radial-gradient(circle, rgba(139, 92, 246, 0.28), rgba(139, 92, 246, 0.08)); }
.ship-card__icon--in_transit { background: radial-gradient(circle, rgba(37, 99, 235, 0.28), rgba(37, 99, 235, 0.08)); }
.ship-card__icon--completed { background: radial-gradient(circle, rgba(34, 197, 94, 0.28), rgba(34, 197, 94, 0.08)); }
.ship-card__icon--archived { background: radial-gradient(circle, rgba(251, 146, 60, 0.28), rgba(251, 146, 60, 0.08)); }

.ship-card__route,
.ship-card__title {
	margin: 0;
	color: #f7fbff;
}

.ship-card__route {
	font-size: 1.02rem;
	font-weight: 700;
}

.ship-card__address,
.ship-card__meta,
.ship-card__ref,
.ship-card__schedule {
	margin: 0.32rem 0 0;
	font-size: 0.84rem;
	color: #98a8c2;
}

.ship-card__address--muted {
	color: #7688a5;
}

.ship-card__middle {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ship-card__title {
	font-size: 0.97rem;
	font-weight: 600;
}

.ship-card__right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.8rem;
	justify-content: center;
	min-width: 170px;
}

.ship-card__price {
	font-size: 1.55rem;
	line-height: 1;
	color: #f8fbff;
}

.ship-card__actions,
.ship-compact-row__actions {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.ship-compact-row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(200px, 1fr) 140px 110px auto;
	gap: 1rem;
	align-items: center;
	padding: 1rem 1.1rem 1rem 1.45rem;
	cursor: pointer;
}

.ship-compact-row__route,
.ship-compact-row__item {
	display: flex;
	flex-direction: column;
	gap: 0.22rem;
	min-width: 0;
}

.ship-compact-row__route strong,
.ship-compact-row__item strong {
	font-size: 0.92rem;
	color: #f7fbff;
}

.ship-compact-row__route span,
.ship-compact-row__item span,
.ship-compact-row__ref {
	font-size: 0.8rem;
	color: #8ea0bb;
}

.ship-compact-row__price {
	font-size: 1rem;
	font-weight: 700;
	color: #f8fbff;
}

.ship-kebab {
	position: relative;
}

.ship-kebab__trigger {
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 12px;
	border: 1px solid rgba(148, 163, 184, 0.12);
	background: rgba(255, 255, 255, 0.03);
	color: #dbe7fb;
	cursor: pointer;
	font-size: 1.2rem;
	line-height: 1;
}

.ship-kebab__menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	min-width: 180px;
	padding: 0.45rem;
	border-radius: 16px;
	background: rgba(8, 15, 28, 0.98);
	border: 1px solid rgba(148, 163, 184, 0.12);
	box-shadow: 0 24px 60px rgba(2, 8, 23, 0.46);
	z-index: 30;
}

.ship-kebab-menu__item {
	display: block;
	width: 100%;
	padding: 0.72rem 0.8rem;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: #dbe7fb;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	font-size: 0.85rem;
}

.ship-kebab-menu__item:hover {
	background: rgba(59, 130, 246, 0.12);
}

.ship-premium-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1rem;
	border-radius: 14px;
	border: 1px solid rgba(59, 130, 246, 0.35);
	background: linear-gradient(180deg, rgba(37, 99, 235, 0.9), rgba(29, 78, 216, 0.92));
	color: #f8fbff;
	text-decoration: none;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.ship-premium-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 30px rgba(29, 78, 216, 0.25);
}

.ship-premium-btn--ghost {
	border-color: rgba(148, 163, 184, 0.16);
	background: rgba(255, 255, 255, 0.04);
	color: #dbe7fb;
}

.ship-premium-btn--xs {
	padding: 0.6rem 0.85rem;
	font-size: 0.8rem;
}

.ship-side-card {
	padding: 1.15rem;
	border-radius: 24px;
}

.ship-side-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ship-side-card__head h2,
.ship-side-card h2 {
	margin: 0;
	font-size: 1rem;
	color: #f5faff;
}

.ship-side-card p {
	margin: 0.65rem 0 0;
	font-size: 0.85rem;
	line-height: 1.55;
	color: #98a8c2;
}

.ship-overview {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: center;
}

.ship-overview__donut {
	position: relative;
	display: grid;
	place-items: center;
	width: 170px;
	height: 170px;
	border-radius: 50%;
	background: conic-gradient(rgba(148, 163, 184, 0.18) 0deg 360deg);
}

.ship-overview__donut::before {
	content: "";
	position: absolute;
	inset: 18px;
	border-radius: 50%;
	background: linear-gradient(180deg, rgba(8, 15, 28, 0.98), rgba(10, 19, 35, 0.96));
	box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.08);
}

.ship-overview__center {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.18rem;
}

.ship-overview__center strong {
	font-size: 2rem;
	color: #f8fbff;
	line-height: 1;
}

.ship-overview__center span {
	font-size: 0.82rem;
	color: #8ea0bb;
}

.ship-overview__legend {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.ship-overview__legend-item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.84rem;
	color: #dbe7fb;
}

.ship-overview__legend-item strong {
	color: #f8fbff;
}

.ship-overview__legend-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.ship-overview__legend-dot--pending { background: #f59e0b; }
.ship-overview__legend-dot--assigned { background: #8b5cf6; }
.ship-overview__legend-dot--in_transit { background: #2563eb; }
.ship-overview__legend-dot--completed { background: #22c55e; }
.ship-overview__legend-dot--archived { background: #fb923c; }

.ship-route-stats {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.ship-route-stat {
	padding: 0.85rem 0.95rem;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(148, 163, 184, 0.08);
}

.ship-route-stat strong {
	display: block;
	font-size: 0.9rem;
	color: #f7fbff;
}

.ship-route-stat span,
.ship-side-empty {
	font-size: 0.82rem;
	color: #8ea0bb;
}

.ship-side-card--promo {
	background:
		radial-gradient(circle at top right, rgba(96, 165, 250, 0.25), transparent 32%),
		linear-gradient(180deg, rgba(37, 99, 235, 0.24), rgba(15, 23, 42, 0.9));
}

.ship-list__empty {
	padding: 2rem;
	border-radius: 24px;
	text-align: center;
}

.ship-list__empty p {
	margin: 0;
	color: #98a8c2;
}

.ship-detail-modal {
	padding: 1rem;
}

.ship-detail-modal__panel {
	width: min(860px, 100%);
	max-height: 92vh;
	padding: 1.5rem;
	border-radius: 28px;
}

.ship-detail-modal__head {
	margin-bottom: 1.25rem;
	padding-right: 2rem;
}

.ship-detail-modal__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #78aefc;
}

.ship-detail-modal__title {
	font-size: 1.6rem;
}

.ship-detail-modal__subtitle {
	font-size: 0.92rem;
}

.ship-detail-modal__grid {
	gap: 1.2rem;
}

.ship-detail-modal__extra h4 {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	color: #f7fbff;
}

.ship-detail-modal__actions {
	justify-content: flex-end;
}

@media (max-width: 1360px) {
	.ship-summary-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1180px) {
	.ship-cmd {
		grid-template-columns: 1fr;
	}

	.ship-cmd__aside {
		position: static;
	}
}

@media (max-width: 980px) {
	.ship-card {
		grid-template-columns: 1fr;
	}

	.ship-card__right {
		align-items: flex-start;
		min-width: 0;
	}

	.ship-compact-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.ship-topbar__search {
		min-width: 0;
		width: 100%;
	}

	.ship-summary-strip {
		display: flex;
		overflow-x: auto;
		padding-bottom: 0.25rem;
		scrollbar-width: none;
	}

	.ship-summary-strip::-webkit-scrollbar {
		display: none;
	}

	.ship-summary-card {
		min-width: 220px;
	}

	.ship-filter-bar {
		flex-direction: column;
		align-items: stretch;
	}

	.ship-toolbar-actions {
		justify-content: space-between;
	}
}

@media (max-width: 640px) {
	.ship-topbar__actions {
		width: 100%;
	}

	.ship-topbar__cta {
		order: 5;
		width: 100%;
		justify-content: center;
	}

	.ship-toolbar-actions {
		width: 100%;
	}

	.ship-control-group,
	.ship-control-btn,
	.ship-view-toggle {
		width: 100%;
	}

	.ship-view-toggle {
		justify-content: space-between;
	}

	.ship-view-toggle__btn {
		flex: 1;
	}

	.ship-card,
	.ship-compact-row,
	.ship-side-card,
	.ship-detail-modal__panel {
		border-radius: 20px;
	}
}

/* ==========================================================================
   Premium Light Portal Theme Overrides
   ========================================================================== */

.dash-app {
	--page-bg: #f5f8ff;
	--card-bg: #ffffff;
	--card-soft: #f9fbff;
	--text: #07152f;
	--muted: #64748b;
	--border: rgba(15, 23, 42, 0.08);
	--blue: #2563eb;
	--blue-soft: #eaf2ff;
	--green: #22c55e;
	--green-soft: #eafaf1;
	--amber: #f59e0b;
	--amber-soft: #fff7e6;
	--purple: #7c3aed;
	--purple-soft: #f1eaff;
	--dash-bg: var(--page-bg);
	--dash-surface: var(--card-bg);
	--dash-border: var(--border);
	--dash-green: var(--green);
	--dash-amber: var(--amber);
	--text-primary: var(--text);
	--text-secondary: #334155;
	--text-muted: var(--muted);
	--accent: var(--blue);
	--accent-hover: #1d4ed8;
	--bg-elevated: var(--card-bg);
	--radius-md: 16px;
	--radius-sm: 12px;
	--transition: 0.2s ease;
	min-height: 100vh;
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28%),
		radial-gradient(circle at top right, rgba(124, 58, 237, 0.06), transparent 24%),
		linear-gradient(180deg, #fbfdff 0%, #f5f8ff 52%, #edf4ff 100%);
	color: var(--text);
}

.moot-dashboard-overlay,
.moot-shipments-overlay {
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28%),
		linear-gradient(180deg, #fbfdff 0%, #f5f8ff 100%);
}

.dash-loading__inner p {
	color: var(--text);
}

.dash-shell {
	background: transparent;
}

.dash-sidebar {
	background: rgba(255, 255, 255, 0.92);
	border-right: 1px solid var(--border);
	box-shadow: 18px 0 48px rgba(15, 23, 42, 0.06);
	backdrop-filter: blur(14px);
}

.dash-sidebar__tagline,
.dash-help,
.dash-profile-card__role,
.dash-card__meta,
.dash-empty,
.dash-empty p {
	color: var(--muted);
}

.dash-nav__link {
	color: #475569;
	border: 1px solid transparent;
}

.dash-nav__link:hover {
	color: var(--blue);
	background: var(--blue-soft);
}

.dash-nav__link.is-active {
	color: var(--blue);
	background: var(--blue-soft);
	border-color: rgba(37, 99, 235, 0.14);
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.05);
}

.dash-nav__chevron {
	color: var(--blue);
}

.dash-badge {
	background: var(--blue);
	box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
}

.dash-profile-card,
.dash-app .glass-card,
.dash-kpi,
.dash-card,
.dash-user-dropdown {
	background: var(--card-bg);
	border: 1px solid var(--border);
	box-shadow: 0 12px 36px rgba(15, 23, 42, 0.06);
	backdrop-filter: none;
}

.dash-profile-card__avatar,
.dash-user-menu__avatar {
	background: linear-gradient(135deg, #93c5fd, #2563eb);
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.18);
}

.dash-sidebar__footer {
	border-top: 1px solid var(--border);
}

#moot-dashboard .dash-sidebar__logout {
	border-color: rgba(15, 23, 42, 0.1);
	color: #64748b;
	background: #fff;
}

#moot-dashboard .dash-sidebar__logout:hover {
	color: #07152f;
	background: #f8fafc;
}

.dash-sidebar__cta {
	background: linear-gradient(180deg, #3b82f6, #2563eb);
	border-radius: 16px;
	box-shadow: 0 16px 30px rgba(37, 99, 235, 0.18);
}

.dash-help:hover {
	color: var(--blue);
}

.dash-main {
	background: transparent;
}

.dash-topbar {
	background: rgba(245, 248, 255, 0.78);
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
	backdrop-filter: blur(12px);
}

.dash-topbar__greeting h1,
.dash-topbar__greeting p,
.dash-logo,
.dash-logo:hover,
.dash-profile-card__name,
.dash-card__title,
.dash-table__item-name,
.dash-table__price,
.dash-table__route,
.dash-perf-item__top strong,
.dash-donut__center strong,
.dash-map-legend strong,
.dash-quick-btn,
.dash-user-menu,
.dash-user-dropdown a:hover,
.dash-user-dropdown button:hover {
	color: var(--text-primary);
}

.dash-logo__icon {
	color: var(--blue);
}

.dash-search,
.dash-icon-btn,
.dash-user-menu,
.dash-period {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--border);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.dash-search,
.dash-period {
	height: 48px;
}

.dash-icon-btn {
	color: #475569;
}

.dash-icon-btn:hover,
.dash-user-menu:hover,
.dash-period:hover {
	border-color: rgba(37, 99, 235, 0.22);
	color: var(--blue);
	background: #ffffff;
}

.dash-search input,
.dash-period select,
.dash-user-dropdown a,
.dash-user-dropdown button {
	color: var(--text-primary);
}

.dash-period select {
	appearance: none;
	-webkit-appearance: none;
}

.dash-search input::placeholder {
	color: #94a3b8;
}

.dash-user-dropdown {
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

.dash-user-dropdown a:hover,
.dash-user-dropdown button:hover {
	background: var(--blue-soft);
}

.dash-user-dropdown__email,
.dash-period,
.dash-topbar__greeting p,
.dash-map-legend,
.dash-donut-legend,
.dash-activity__text,
.dash-activity__time,
.dash-impact__hint,
.dash-perf-item__hint,
.dash-kpi__label,
.dash-table th,
.dash-table td,
.dash-table__item-meta {
	color: var(--muted);
}

.dash-alert {
	border-radius: 16px;
}

.dash-alert--error {
	color: #b91c1c;
	background: #fff1f2;
	border-color: rgba(239, 68, 68, 0.18);
}

.dash-alert--info {
	color: #1e3a8a;
	background: var(--blue-soft);
	border-color: rgba(37, 99, 235, 0.14);
}

.dash-kpi,
.dash-card,
.dash-quick-btn {
	border-radius: 20px;
}

.dash-kpi:hover,
.dash-card:hover,
.dash-quick-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.dash-kpi__value {
	color: var(--text-primary);
}

.dash-kpi--total .dash-kpi__icon { background: #eef4ff; color: var(--blue); }
.dash-kpi--pending .dash-kpi__icon { background: var(--amber-soft); color: var(--amber); }
.dash-kpi--assigned .dash-kpi__icon { background: var(--purple-soft); color: var(--purple); }
.dash-kpi--transit .dash-kpi__icon { background: #e9f1ff; color: var(--blue); }
.dash-kpi--completed .dash-kpi__icon { background: var(--green-soft); color: var(--green); }
.dash-kpi--spend .dash-kpi__icon { background: var(--green-soft); color: var(--green); }

.dash-kpi--total .dash-kpi__value { color: var(--text-primary); }

.dash-kpi--pending .dash-kpi__value { color: var(--text-primary); }
.dash-kpi--assigned .dash-kpi__value { color: var(--text-primary); }
.dash-kpi--transit .dash-kpi__value { color: var(--text-primary); }
.dash-kpi--completed .dash-kpi__value { color: var(--text-primary); }
.dash-kpi--spend .dash-kpi__value { color: var(--text-primary); }

.dash-card__link,
.dash-period-btn {
	color: var(--blue);
}

.dash-period-btn {
	background: var(--blue-soft);
	border-color: rgba(37, 99, 235, 0.12);
}

.dash-period-btn:hover {
	background: #dbeafe;
}

.dash-impact__hero {
	color: var(--text-primary);
}

.dash-impact__hero small,
.dash-impact__list li,
.dash-perf-item__top,
.dash-donut__center span {
	color: var(--text-secondary);
}

.dash-impact__icon--green {
	background: var(--green-soft);
	color: var(--green);
}

.dash-donut::before {
	background: var(--card-bg);
}

.dash-pill {
	border-color: transparent;
}

.dash-pill--pending {
	color: #9a6700;
	background: var(--amber-soft);
	border-color: rgba(245, 158, 11, 0.12);
}

.dash-pill--assigned,
.dash-pill--confirmed {
	color: #5b21b6;
	background: var(--purple-soft);
	border-color: rgba(124, 58, 237, 0.12);
}

.dash-pill--in-transit,
.dash-pill--transit,
.dash-pill--delivery {
	color: #1d4ed8;
	background: var(--blue-soft);
	border-color: rgba(37, 99, 235, 0.12);
}

.dash-pill--completed {
	color: #15803d;
	background: var(--green-soft);
	border-color: rgba(34, 197, 94, 0.12);
}

.dash-table th {
	border-bottom-color: rgba(15, 23, 42, 0.08);
}

.dash-table td {
	border-bottom-color: rgba(15, 23, 42, 0.06);
	color: var(--text-secondary);
}

.dash-table--active tbody tr:hover {
	background: #f8fbff;
}

.dash-map {
	background:
		radial-gradient(circle at 30% 40%, rgba(37, 99, 235, 0.12) 0%, transparent 40%),
		radial-gradient(circle at 70% 60%, rgba(34, 197, 94, 0.08) 0%, transparent 36%),
		linear-gradient(160deg, #fafdff 0%, #eef5ff 100%);
	border: 1px solid var(--border);
}

.dash-map__line {
	opacity: 0.4;
}

.dash-map__placeholder p {
	color: var(--muted);
}

.dash-activity__item {
	border-bottom-color: rgba(15, 23, 42, 0.06);
}

.dash-quick-btn {
	background: var(--card-soft);
	border: 1px solid var(--border);
}

.dash-quick-btn:hover {
	background: #eef4ff;
	border-color: rgba(37, 99, 235, 0.14);
}

.dash-empty {
	color: var(--muted);
}

.dash-overlay {
	background: rgba(15, 23, 42, 0.18);
}

.dash-topbar__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 18px;
	border-radius: 16px;
	background: linear-gradient(180deg, #3b82f6, #2563eb);
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 600;
	box-shadow: 0 16px 30px rgba(37, 99, 235, 0.18);
}

.dash-topbar__cta:hover {
	color: #ffffff;
	box-shadow: 0 18px 34px rgba(37, 99, 235, 0.22);
}

/* ==========================================================================
   Dashboard-specific light theme pass
   ========================================================================== */

#moot-dashboard {
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28%),
		radial-gradient(circle at top right, rgba(124, 58, 237, 0.05), transparent 22%),
		linear-gradient(180deg, #fbfdff 0%, #f5f8ff 54%, #edf4ff 100%);
}

#moot-dashboard .dash-content {
	padding: 1.5rem 1.5rem 2.75rem;
}

#moot-dashboard .dash-topbar {
	background: rgba(245, 248, 255, 0.82);
}

#moot-dashboard .dash-kpi-strip {
	gap: 1.1rem;
}

#moot-dashboard .dash-kpi {
	padding: 1.2rem 1.25rem;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

#moot-dashboard .dash-kpi__icon {
	width: 46px;
	height: 46px;
	border-radius: 999px;
}

#moot-dashboard .dash-kpi__icon img {
	width: 24px;
	height: 24px;
	mix-blend-mode: multiply;
}

#moot-dashboard .dash-kpi__label {
	color: #64748b;
}

#moot-dashboard .dash-kpi__value {
	color: #07152f;
	font-size: 1.5rem;
	font-weight: 700;
}

#moot-dashboard .dash-card {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

#moot-dashboard .dash-card__title,
#moot-dashboard .dash-impact__hero,
#moot-dashboard .dash-table__item-name,
#moot-dashboard .dash-table__route,
#moot-dashboard .dash-table__price,
#moot-dashboard .dash-quick-btn,
#moot-dashboard .dash-donut__center strong {
	color: #07152f;
}

#moot-dashboard .dash-card__meta,
#moot-dashboard .dash-impact__hint,
#moot-dashboard .dash-impact__hero small,
#moot-dashboard .dash-impact__list li,
#moot-dashboard .dash-perf-item__top,
#moot-dashboard .dash-perf-item__hint,
#moot-dashboard .dash-donut-legend,
#moot-dashboard .dash-map-legend,
#moot-dashboard .dash-table th,
#moot-dashboard .dash-table td,
#moot-dashboard .dash-table__item-meta,
#moot-dashboard .dash-activity__text,
#moot-dashboard .dash-activity__time {
	color: #64748b;
}

#moot-dashboard .dash-period-btn {
	background: #eaf2ff;
	border-color: rgba(37, 99, 235, 0.12);
	color: #2563eb;
}

#moot-dashboard .dash-period-btn:hover {
	background: #dceafe;
}

#moot-dashboard .dash-table th,
#moot-dashboard .dash-table td,
#moot-dashboard .dash-activity__item {
	border-bottom-color: rgba(15, 23, 42, 0.06);
}

#moot-dashboard .dash-table--active tbody tr:hover {
	background: #f8fbff;
}

#moot-dashboard .dash-map {
	background:
		radial-gradient(circle at 30% 40%, rgba(37, 99, 235, 0.12) 0%, transparent 45%),
		radial-gradient(circle at 70% 60%, rgba(34, 197, 94, 0.08) 0%, transparent 40%),
		linear-gradient(180deg, #fbfdff 0%, #eef5ff 100%);
	border: 1px solid rgba(15, 23, 42, 0.08);
}

#moot-dashboard .dash-map__placeholder p {
	color: #64748b;
}

#moot-dashboard .dash-quick-btn {
	background: #f9fbff;
	border: 1px solid rgba(15, 23, 42, 0.08);
}

#moot-dashboard .dash-quick-btn:hover {
	background: #eef4ff;
	border-color: rgba(37, 99, 235, 0.14);
	color: #2563eb;
}
