Files
lingniu-vehicle-ingest/vehicle-data-platform/apps/web/src/v2/styles/workspace.css
2026-07-18 08:28:23 +08:00

10839 lines
216 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* Shared Semi UI workspace primitives.
*
* Keep reusable component rules here instead of adding more page-specific
* overrides to v2.css. Page modules may size their content regions, while
* title, metadata and action anatomy remain consistent.
*/
.v2-workspace-panel-header {
display: flex;
min-height: 52px;
flex: 0 0 auto;
align-items: center;
justify-content: space-between;
gap: 16px;
border-bottom: 1px solid var(--v2-border);
background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
padding: 8px 14px;
}
/*
* Track criteria live in a portal-backed SideSheet on phones, so the stage is
* the only in-flow workspace child. Bind layout to the component's mobile
* state instead of relying on overlapping historical media-query overrides.
*/
.v2-track-page.is-mobile-layout,
.v2-track-page.is-mobile-layout.is-rail-collapsed {
display: flex;
grid-template-columns: none;
grid-template-rows: none;
flex-direction: column;
}
.v2-track-page.is-mobile-layout > .v2-monitor-return {
flex: 0 0 auto;
}
.v2-track-page.is-mobile-layout > .v2-track-stage {
width: 100%;
min-width: 0;
min-height: 0;
flex: 1 1 auto;
}
/* Semi UI trajectory replay workspace: one evidence rail, one map overlay and
* one compact playback surface. */
.v2-track-page {
grid-template-columns: 326px minmax(0, 1fr);
background: #edf2f7;
}
.v2-track-rail {
border-right: 0;
background: #f4f7fb;
padding: 8px;
box-shadow: inset -1px 0 #dfe6ef;
}
.v2-track-rail-shell.semi-card {
min-height: 0;
flex: 1;
overflow: hidden;
border: 1px solid #dfe6ef;
border-radius: 12px;
background: #fff;
box-shadow: 0 8px 24px rgba(27, 46, 72, .06);
}
.v2-track-rail-shell > .semi-card-body {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
}
.v2-track-query-panel {
position: relative;
z-index: 2;
flex: 0 0 auto;
overflow: visible;
border-bottom: 1px solid #e3e9f1;
background: #fff;
}
.v2-track-query-panel .v2-track-query-header {
min-height: 58px;
border-bottom: 0;
padding: 10px 12px;
}
.v2-track-query-panel .v2-workspace-panel-copy > h5.semi-typography {
color: #26384f;
font-size: 15px;
font-weight: 750;
}
.v2-track-query-panel .v2-workspace-panel-copy > .semi-typography {
color: #8491a2;
font-size: 10px;
}
.v2-track-query-panel .v2-workspace-panel-actions {
gap: 2px;
}
.v2-track-query-panel .v2-track-query-toggle.semi-button {
width: auto;
min-width: 78px;
height: 32px;
justify-content: center;
border-radius: 7px;
padding: 0 8px;
color: #526780;
font-size: 10px;
font-weight: 700;
}
.v2-track-query-panel:not(.is-collapsed) .v2-track-query-toggle .semi-icon {
transform: rotate(90deg);
}
.v2-track-query-panel .v2-track-rail-hide.semi-button {
width: 32px;
min-width: 32px;
height: 32px;
border-radius: 7px;
color: #76869a;
}
.v2-track-query-panel .v2-track-query-summary {
min-height: 56px;
padding: 7px 12px 11px;
background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}
.v2-track-query-panel .v2-track-query-summary strong {
color: #30445d;
font-size: 12px;
}
.v2-track-query-panel .v2-track-query-summary small,
.v2-track-query-panel .v2-track-query-summary .semi-tag {
font-size: 9px;
}
.v2-track-query-panel .v2-track-query {
border-bottom: 0;
padding: 10px 12px 13px;
}
.v2-track-rail-result {
display: flex;
min-height: 0;
flex: 1;
flex-direction: column;
overflow: hidden;
background: #fff;
}
.v2-track-result-header {
min-height: 62px;
background: #fbfcfe;
padding: 9px 12px;
}
.v2-track-result-header .v2-workspace-panel-copy > h5.semi-typography {
color: #25384f;
font-size: 14px;
}
.v2-track-result-header .v2-workspace-panel-copy > .semi-typography {
color: #8592a3;
font-size: 9px;
}
.v2-track-result-header .v2-workspace-panel-meta .semi-tag {
border-radius: 999px;
padding-inline: 8px;
font-size: 10px;
font-weight: 700;
}
.v2-track-rail-tabs {
height: 42px;
flex-basis: 42px;
border-block: 1px solid #e3e9f1;
border-bottom-color: #dfe6ef;
background: #fff;
padding-inline: 7px;
}
.v2-track-rail-tabs > .semi-button {
height: 40px;
font-size: 11px;
}
.v2-track-rail-scroll {
background: #f6f8fb;
scrollbar-color: #c8d3e0 transparent;
}
.v2-track-overview-panel {
gap: 7px;
padding: 7px;
}
.v2-track-overview-section {
overflow: hidden;
border: 1px solid #e2e8f0;
border-radius: 10px;
background: #fff;
box-shadow: 0 2px 8px rgba(32, 54, 82, .035);
}
.v2-track-overview-section .v2-workspace-panel-header {
border-bottom: 1px solid #edf1f5;
background: #fbfcfe;
}
.v2-track-overview-section .v2-workspace-panel-actions {
max-width: none;
}
.v2-track-overview-section .v2-workspace-panel-header .semi-tag {
flex: 0 0 auto;
border-radius: 999px;
font-size: 9px;
}
.v2-track-quality-card.is-good {
background: #f7fcf9;
}
.v2-track-quality-card.is-warning {
background: #fffaf2;
}
.v2-track-quality-card.is-good .v2-workspace-panel-header {
background: #f3fbf7;
}
.v2-track-quality-card.is-warning .v2-workspace-panel-header {
background: #fff8ed;
}
.v2-track-stage {
background: #e7edf4;
}
.v2-track-stage-tools {
top: 14px;
right: 14px;
gap: 2px;
overflow: hidden;
border: 1px solid rgba(211, 221, 233, .95);
border-radius: 10px;
background: rgba(255, 255, 255, .95);
padding: 3px;
box-shadow: 0 10px 28px rgba(27, 45, 69, .12);
backdrop-filter: blur(14px);
}
.v2-track-stage-tools > .semi-button {
height: 34px;
border: 0;
border-radius: 7px;
background: transparent;
padding-inline: 10px;
color: #5f7187;
box-shadow: none;
backdrop-filter: none;
font-size: 11px;
}
.v2-track-stage-tools > .semi-button:hover {
background: #f2f6fb;
}
.v2-track-stage-tools > .semi-button.is-active {
border: 0;
background: #eaf2ff;
color: var(--v2-blue);
}
.v2-track-current-card.semi-card {
top: 14px;
left: 14px;
width: min(360px, calc(100% - 330px));
min-width: 310px;
border: 1px solid rgba(210, 221, 234, .97);
border-radius: 12px;
background: rgba(255, 255, 255, .97);
box-shadow: 0 14px 36px rgba(27, 46, 72, .15);
backdrop-filter: blur(16px);
}
.v2-track-current-card .v2-workspace-panel-header {
min-height: 52px;
padding: 8px 11px;
}
.v2-track-current-card .v2-workspace-panel-meta .semi-tag {
min-width: 46px;
justify-content: center;
border-radius: 999px;
padding-inline: 8px;
font-size: 10px;
font-weight: 750;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-metrics {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
border-block: 1px solid #e5ebf2;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-metrics > span {
min-width: 0;
padding: 7px 9px;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-metrics > span + span {
border-left: 1px solid #e5ebf2;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-metrics small {
color: #8491a2;
font-size: 9px;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-metrics strong {
margin-top: 4px;
color: #25384f;
font-size: 12px;
text-shadow: none;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-evidence {
display: flex;
min-height: 38px;
align-items: center;
gap: 7px;
border: 0;
border-bottom: 1px solid #e8edf3;
padding: 6px 10px;
color: #66778c;
font-size: 9px;
}
.v2-track-current-evidence .semi-tag {
flex: 0 0 auto;
border-radius: 6px;
font-size: 8px;
}
.v2-track-current-evidence > span {
display: inline-flex;
min-width: 0;
align-items: center;
gap: 6px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-track-current-evidence > span > i {
width: 7px;
height: 7px;
flex: 0 0 auto;
border-radius: 50%;
background: #18a86b;
box-shadow: 0 0 0 4px rgba(24, 168, 107, .1);
}
.v2-track-current-evidence.is-warning > span > i {
background: #eea33a;
box-shadow: 0 0 0 4px rgba(238, 163, 58, .11);
}
.v2-track-current-evidence strong {
overflow: hidden;
color: #34475e;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-track-current-evidence em {
flex: 0 0 auto;
color: #6d7e92;
font-size: 8px;
font-style: normal;
white-space: nowrap;
}
.v2-track-current-evidence > small {
margin-left: auto;
overflow: hidden;
color: #7c8a9d;
font-size: 8px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-track-current-card > .semi-card-body > p {
min-height: 34px;
padding: 8px 10px;
color: #52657b;
font-size: 9px;
}
.v2-track-playback-dock.semi-card {
min-height: 96px;
border-top-color: rgba(205, 216, 229, .98);
background: rgba(255, 255, 255, .97);
box-shadow: 0 -10px 30px rgba(24, 41, 63, .12);
backdrop-filter: blur(16px);
}
.v2-track-stage {
container-type: inline-size;
container-name: track-stage;
}
.v2-track-playback-dock > .semi-card-body {
min-height: 96px;
grid-template-columns: 136px minmax(220px, 1fr) auto;
gap: 14px;
padding: 10px 14px !important;
}
.v2-track-dock-summary strong {
font-size: 17px;
}
.v2-track-dock-summary span {
font-size: 9px;
}
.v2-track-segment-rail,
.v2-track-segment-placeholder {
height: 8px;
border-radius: 4px;
}
.v2-track-progress-slider.semi-slider-wrapper {
margin: 8px 0 4px;
}
.v2-track-progress-meta {
font-size: 9px;
}
.v2-track-dock-controls {
gap: 4px;
}
.v2-track-dock-controls > .semi-button {
width: 32px;
min-width: 32px;
height: 32px;
border-radius: 8px;
}
.v2-track-dock-controls > .semi-button.is-primary {
width: 40px;
min-width: 40px;
height: 40px;
}
@media (max-width: 1180px) {
.v2-track-page {
grid-template-columns: 304px minmax(0, 1fr);
}
.v2-track-page.is-rail-collapsed {
grid-template-columns: 0 minmax(0, 1fr);
}
.v2-track-current-card.semi-card {
top: 62px;
width: min(360px, calc(100% - 28px));
min-width: 0;
}
.v2-track-page.is-rail-collapsed .v2-track-current-card.semi-card {
top: 14px;
width: min(360px, calc(100% - 330px));
min-width: 310px;
}
.v2-track-playback-dock > .semi-card-body {
grid-template-columns: minmax(220px, 1fr) auto;
}
.v2-track-dock-summary {
display: none;
}
}
@media (max-width: 700px) {
.v2-track-detail-sidesheet .v2-track-rail {
padding: 0;
background: #fff;
box-shadow: none;
}
.v2-track-detail-sidesheet .v2-track-rail-shell.semi-card {
border: 0;
border-radius: 0;
box-shadow: none;
}
.v2-track-query-panel .v2-track-query-header {
min-height: 52px;
padding: 8px 12px;
}
.v2-track-result-header {
min-height: 58px;
}
.v2-track-stage-tools {
top: 8px;
right: 8px;
padding: 2px;
}
.v2-track-stage-tools > .semi-button {
width: 38px;
min-width: 38px;
height: 38px;
justify-content: center;
padding: 0;
}
.v2-track-current-card.semi-card,
.v2-track-page.is-rail-collapsed .v2-track-current-card.semi-card {
top: auto;
right: 8px;
bottom: 110px;
left: 8px;
width: auto;
min-width: 0;
border-radius: 11px;
}
.v2-track-current-card .v2-workspace-panel-header {
min-height: 46px;
padding: 7px 9px;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-metrics > span {
padding: 6px 9px;
}
.v2-track-current-card > .semi-card-body > .v2-track-current-evidence {
min-height: 36px;
padding: 4px 9px;
}
.v2-track-current-evidence > small {
display: none;
}
.v2-track-current-card > .semi-card-body > p {
display: none;
}
.v2-track-playback-dock.semi-card,
.v2-track-playback-dock > .semi-card-body {
min-height: 102px;
}
.v2-track-playback-dock > .semi-card-body {
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px;
padding: 8px !important;
}
.v2-track-rail-expand {
bottom: calc(112px + env(safe-area-inset-bottom));
}
.v2-track-stage:has(.v2-track-current-card) .v2-track-rail-expand {
bottom: calc(252px + env(safe-area-inset-bottom));
}
}
@container track-stage (max-width: 640px) {
.v2-track-playback-dock > .semi-card-body {
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px;
padding-inline: 8px !important;
}
.v2-track-progress-meta > span {
display: none;
}
}
/*
* Semi UI admin workspace scale.
* Access management is the visual baseline: history and alerts use the same
* 1213px reading scale, progressive detail disclosure and list-first layout.
*/
@media (min-width: 681px) {
.v2-history-page,
.v2-alert-page {
gap: 12px;
padding: 16px 18px 20px;
background: #f6f8fb;
}
.v2-history-toolbar {
min-height: 76px;
grid-template-columns: minmax(240px, 1fr) minmax(340px, 1.45fr) minmax(120px, .55fr) minmax(130px, .6fr) auto;
gap: 10px;
padding: 13px 14px;
}
.v2-history-toolbar label,
.v2-history-range legend {
gap: 6px;
color: #647287;
font-size: 12px;
font-weight: 650;
}
.v2-history-toolbar .semi-input-wrapper,
.v2-history-toolbar .semi-select,
.v2-history-range > div {
min-height: 38px;
border-radius: 7px;
}
.v2-history-toolbar .semi-input,
.v2-history-toolbar .semi-select-selection-text,
.v2-history-range > div input {
font-size: 13px;
}
.v2-history-toolbar-actions > .semi-button {
height: 38px;
font-size: 13px;
}
.v2-history-metrics-card.semi-card {
min-height: 50px;
border-radius: 9px;
}
.v2-history-metrics {
min-height: 50px;
gap: 9px;
padding: 8px 14px;
}
.v2-history-metrics > strong {
font-size: 12px;
}
.v2-history-metric-tag.semi-tag {
height: 30px;
border-radius: 7px;
font-size: 11px;
}
.v2-history-metric-scroll > span {
font-size: 11px;
}
.v2-history-workspace {
grid-template-columns: minmax(0, 1fr);
gap: 12px;
}
.v2-history-workspace.is-inspector-open {
grid-template-columns: minmax(760px, 1fr) 390px;
}
.v2-history-main {
grid-template-rows: 76px 56px minmax(280px, 1fr);
gap: 10px;
}
.v2-history-main.has-expanded-trend {
grid-template-rows: 76px 230px minmax(280px, 1fr);
}
.v2-history-trend.is-expanded.semi-card {
height: 230px;
min-height: 230px;
}
.v2-history-summary.semi-card,
.v2-history-trend.semi-card,
.v2-history-table-card.semi-card,
.v2-alert-filter-card.semi-card,
.v2-alert-kpis-card.semi-card,
.v2-alert-table-card.semi-card,
.v2-alert-inspector.semi-card {
border-radius: 9px;
}
.v2-history-summary small {
font-size: 11px;
}
.v2-history-summary strong,
.v2-history-summary strong.is-source {
margin-top: 7px;
font-size: 20px;
}
.v2-history-table-card .v2-workspace-panel-header,
.v2-alert-table-card .v2-workspace-panel-header {
min-height: 50px;
padding-inline: 15px 12px;
}
.v2-history-table-card .v2-workspace-panel-copy > h5.semi-typography,
.v2-alert-table-card .v2-workspace-panel-copy > h5.semi-typography {
font-size: 15px;
}
.v2-history-table-card .v2-workspace-panel-meta,
.v2-alert-table-card .v2-workspace-panel-meta {
font-size: 11px;
}
.v2-history-table-card .v2-workspace-panel-actions > .semi-button,
.v2-history-table-card .v2-workspace-panel-actions > .semi-select,
.v2-alert-table-card .v2-workspace-panel-actions > .semi-button {
min-height: 32px;
font-size: 12px;
}
.v2-history-data-table.semi-table-wrapper,
.v2-alert-event-table.semi-table-wrapper {
font-size: 12px;
}
.v2-history-table-scroll .v2-history-data-table.semi-table-wrapper .semi-table-thead > .semi-table-row > .semi-table-row-head,
.v2-alert-table-scroll .v2-alert-event-table.semi-table-wrapper .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 42px;
font-size: 11px;
}
.v2-history-data-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell,
.v2-alert-event-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 50px;
padding: 7px 10px;
}
.v2-history-data-table .semi-table-row-cell > .semi-button,
.v2-alert-table-card .semi-table-row-cell > .semi-button {
font-size: 11px;
}
.v2-history-table-card > .semi-card-body > footer,
.v2-alert-table-card > .semi-card-body > footer {
min-height: 46px;
padding-inline: 12px;
font-size: 12px;
}
.v2-history-table-card > .semi-card-body > footer button,
.v2-history-table-card > .semi-card-body > footer select,
.v2-alert-table-card > .semi-card-body > footer button,
.v2-alert-table-card > .semi-card-body > footer select {
height: 30px;
font-size: 12px;
}
.v2-history-side {
overflow: auto;
}
.v2-history-evidence-descriptions .semi-descriptions-key,
.v2-history-evidence-descriptions .semi-descriptions-value,
.v2-evidence-values .semi-descriptions-key > span,
.v2-evidence-values .semi-descriptions-value {
font-size: 11px;
}
.v2-evidence-values .semi-descriptions-key small {
font-size: 9px;
}
.v2-history-export-sidesheet .semi-sidesheet-inner {
width: min(100vw, 520px) !important;
}
.v2-alert-page {
overflow: hidden;
}
.v2-alert-tabs {
min-height: 48px;
margin: 0;
border: 1px solid var(--v2-border);
border-radius: 10px;
padding: 4px;
background: #fff;
box-shadow: var(--v2-shadow);
}
.v2-alert-tabs .v2-segmented-tab.semi-button {
min-height: 38px;
font-size: 13px;
}
.v2-alert-filter {
gap: 10px;
padding: 13px 14px;
}
.v2-alert-filter label {
gap: 6px;
color: #647287;
font-size: 12px;
font-weight: 650;
}
.v2-alert-filter label > div,
.v2-alert-filter .semi-select,
.v2-alert-filter .semi-input-wrapper,
.v2-alert-filter > .semi-button {
min-height: 38px;
border-radius: 7px;
}
.v2-alert-filter .semi-input,
.v2-alert-filter .semi-select-selection-text,
.v2-alert-filter > .semi-button {
font-size: 13px;
}
.v2-alert-kpis-card.semi-card {
min-height: 76px;
margin-top: 0;
}
.v2-alert-kpis-card > .semi-card-body {
grid-template-columns: minmax(0, 1fr) 300px;
}
.v2-alert-kpis,
.v2-alert-kpis .v2-metric-action-content {
min-height: 76px;
}
.v2-alert-kpis small {
font-size: 11px;
}
.v2-alert-kpis strong {
margin-top: 7px;
font-size: 22px;
}
.v2-alert-secondary-states span {
font-size: 11px;
}
.v2-alert-secondary-states b {
font-size: 16px;
}
.v2-alert-workspace {
grid-template-columns: minmax(0, 1fr);
gap: 12px;
margin-top: 0;
}
.v2-alert-workspace.is-inspector-open {
grid-template-columns: minmax(760px, 1fr) 390px;
}
.v2-alert-event-vehicle strong {
font-size: 12px;
}
.v2-alert-event-vehicle small {
font-size: 10px;
}
.v2-alert-inspector-content {
gap: 10px;
padding: 10px;
}
.v2-alert-detail-card .semi-card-header,
.v2-alert-detail-card .semi-card-header .semi-card-header-title {
font-size: 12px;
}
.v2-alert-descriptions .semi-descriptions-key,
.v2-alert-descriptions .semi-descriptions-value,
.v2-alert-timeline,
.v2-alert-disposition-card {
font-size: 11px;
}
}
.v2-workspace-panel-header.is-compact {
min-height: 42px;
gap: 10px;
padding: 7px 12px;
}
.v2-workspace-panel-header.is-compact > .v2-workspace-panel-copy {
gap: 1px;
}
.v2-workspace-panel-header.is-compact > .v2-workspace-panel-copy > h5.semi-typography {
font-size: 12px;
}
.v2-workspace-panel-header.is-compact > .v2-workspace-panel-copy > .semi-typography,
.v2-workspace-panel-header.is-compact > .v2-workspace-panel-actions > .v2-workspace-panel-meta {
font-size: 10px;
}
.v2-workspace-panel-header.is-inverted {
min-height: 52px;
border-bottom-color: rgba(255, 255, 255, .14);
background: transparent;
padding: 9px 12px 8px;
}
.v2-workspace-panel-header.is-inverted > .v2-workspace-panel-copy > h5.semi-typography {
color: #f8fbff;
font-size: 14px;
text-shadow: 0 1px 1px rgba(0, 0, 0, .18);
}
.v2-workspace-panel-header.is-inverted > .v2-workspace-panel-copy > .semi-typography {
color: #c8d3df;
font-size: 10px;
}
.v2-workspace-panel-header.is-inverted > .v2-workspace-panel-actions > .v2-workspace-panel-meta {
border-radius: 999px;
background: rgba(37, 99, 235, .46);
padding: 3px 8px;
color: #edf4ff;
font-size: 10px;
font-weight: 700;
}
.v2-workspace-panel-copy {
display: flex;
min-width: 0;
flex-direction: column;
gap: 3px;
}
.v2-workspace-panel-header > .v2-workspace-panel-copy {
align-items: flex-start;
justify-content: center;
flex-direction: column;
}
.v2-workspace-panel-header > .v2-workspace-panel-copy > h5.semi-typography {
margin: 0;
overflow: hidden;
color: #24364d;
font-size: 14px;
font-weight: 700;
letter-spacing: -.012em;
line-height: 1.3;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-panel-header > .v2-workspace-panel-copy > .semi-typography {
overflow: hidden;
max-width: min(720px, 62vw);
color: #748398;
font-size: 11px;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-panel-actions {
display: flex;
min-width: 0;
flex: 0 0 auto;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.v2-workspace-panel-header > .v2-workspace-panel-actions {
align-items: center;
justify-content: flex-end;
flex-direction: row;
}
.v2-workspace-panel-actions > a {
display: inline-flex;
color: inherit;
text-decoration: none;
}
.v2-workspace-panel-header > .v2-workspace-panel-actions > .v2-workspace-panel-meta {
overflow: hidden;
color: #748398;
font-size: 11px;
font-style: normal;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-panel-meta > .semi-tag,
.v2-workspace-result-meta > .semi-tag {
min-height: 24px;
margin: 0;
border-radius: 999px;
padding-inline: 8px;
font-size: 10px;
font-variant-numeric: tabular-nums;
font-weight: 650;
}
.v2-workspace-result-meta {
display: inline-flex;
min-width: 0;
align-items: center;
gap: 7px;
}
.v2-workspace-result-meta > span {
color: #748398;
font-size: 10px;
font-variant-numeric: tabular-nums;
}
.v2-workspace-panel-actions > .semi-button {
min-height: 34px;
border-radius: 8px;
font-size: 11px;
font-weight: 600;
}
.v2-workspace-panel-actions > a > .semi-button {
min-height: 34px;
border-radius: 8px;
font-size: 11px;
font-weight: 600;
}
.v2-workspace-panel-actions > .semi-select {
min-height: 34px;
border-radius: 8px;
}
.v2-live-report-meta {
display: inline-flex;
align-items: center;
gap: 5px;
}
.v2-live-report-meta > i {
width: 7px;
height: 7px;
flex: 0 0 auto;
border-radius: 50%;
background: #aab3c0;
}
.v2-live-report-meta > i.is-online {
background: var(--v2-green);
box-shadow: 0 0 0 4px rgba(26, 160, 109, .1);
}
.v2-access-inspector-header {
position: sticky;
z-index: 2;
top: 0;
}
@media (max-width: 680px) {
.v2-workspace-panel-header {
min-height: 50px;
align-items: flex-start;
gap: 8px;
padding: 9px 10px;
}
.v2-workspace-panel-copy { gap: 2px; }
.v2-workspace-panel-header > .v2-workspace-panel-copy > h5.semi-typography { font-size: 14px; }
.v2-workspace-panel-header > .v2-workspace-panel-copy > .semi-typography {
max-width: 210px;
font-size: 10px;
}
.v2-workspace-panel-actions {
max-width: 64%;
flex-wrap: wrap;
gap: 5px;
}
.v2-workspace-panel-header > .v2-workspace-panel-actions > .v2-workspace-panel-meta { font-size: 10px; }
.v2-workspace-panel-actions > .semi-button {
min-height: 32px;
padding-inline: 9px;
font-size: 10px;
}
.v2-workspace-panel-actions > a > .semi-button {
min-height: 32px;
padding-inline: 9px;
font-size: 10px;
}
.v2-workspace-panel-header.is-compact {
min-height: 42px;
align-items: center;
padding: 7px 10px;
}
.v2-workspace-panel-header.is-compact > .v2-workspace-panel-copy > h5.semi-typography { font-size: 12px; }
.v2-workspace-panel-header.is-inverted {
min-height: 48px;
align-items: center;
padding: 7px 10px 6px;
}
.v2-workspace-panel-header.is-inverted > .v2-workspace-panel-copy > h5.semi-typography { font-size: 13px; }
.v2-workspace-result-meta > span {
display: none;
}
}
/*
* Alert and access workspaces use the same progressive-disclosure anatomy:
* core filters stay in the page, secondary filters and governance live in
* SideSheets, and mobile detail never pushes the primary list below the fold.
*/
.v2-alert-filter.v2-alert-filter-primary {
grid-template-columns: minmax(300px, 1.5fr) minmax(140px, .65fr) minmax(150px, .7fr) auto auto auto;
}
.v2-alert-more-filter.semi-button {
min-width: 112px;
border-color: #d8e1ed;
color: #516179;
}
.v2-alert-more-filter.semi-button:hover {
border-color: #9ebdf0;
background: #f4f8ff;
color: var(--v2-blue);
}
.v2-alert-kpis-card > .semi-card-body {
display: grid;
grid-template-columns: minmax(0, 1fr) 286px;
}
.v2-alert-kpis {
grid-template-columns: repeat(4, minmax(112px, 1fr));
}
.v2-alert-secondary-states {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: stretch;
border-left: 1px solid var(--v2-border);
background: #fafbfd;
padding: 8px;
gap: 6px;
}
.v2-alert-secondary-states > .semi-button {
height: auto;
min-width: 0;
border: 1px solid transparent;
border-radius: 8px;
padding: 7px 8px;
color: #68788e;
}
.v2-alert-secondary-states > .semi-button:hover,
.v2-alert-secondary-states > .semi-button[aria-pressed="true"] {
border-color: #d5e3f8;
background: #eef5ff;
color: var(--v2-blue);
}
.v2-alert-secondary-states .semi-button-content {
display: flex;
min-width: 0;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 4px;
}
.v2-alert-secondary-states span {
font-size: 10px;
white-space: nowrap;
}
.v2-alert-secondary-states b {
color: #34455c;
font-size: 14px;
line-height: 1;
font-variant-numeric: tabular-nums;
}
.v2-alert-sheet-title,
.v2-access-sheet-title {
display: flex;
min-width: 0;
flex-direction: column;
gap: 3px;
}
.v2-alert-sheet-title strong,
.v2-access-sheet-title strong {
color: #26374e;
font-size: 15px;
}
.v2-alert-sheet-title span,
.v2-access-sheet-title span {
overflow: hidden;
color: #7c899b;
font-size: 11px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-alert-filter-sidesheet .semi-sidesheet-body,
.v2-alert-detail-sidesheet .semi-sidesheet-body,
.v2-access-detail-sidesheet .semi-sidesheet-body,
.v2-access-governance-sidesheet .semi-sidesheet-body {
background: #f6f8fb;
}
.v2-alert-advanced-filter {
display: grid;
gap: 16px;
padding: 4px 2px;
}
.v2-alert-advanced-filter label {
display: grid;
gap: 7px;
color: #5f6f84;
font-size: 12px;
font-weight: 650;
}
.v2-alert-advanced-filter .semi-select,
.v2-alert-advanced-filter .semi-input-wrapper {
width: 100%;
min-height: 40px;
border-radius: 8px;
}
.v2-alert-sheet-footer {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.v2-alert-detail-sidesheet .semi-sidesheet-body,
.v2-access-detail-sidesheet .semi-sidesheet-body {
padding: 0;
}
.v2-alert-inspector.is-sheet.semi-card,
.v2-access-inspector-v3.is-sheet.semi-card {
position: static !important;
width: 100% !important;
max-height: none;
overflow: visible;
border: 0;
border-radius: 0;
box-shadow: none;
}
.v2-alert-inspector.is-sheet > .semi-card-body,
.v2-access-inspector-v3.is-sheet > .semi-card-body {
min-height: 100%;
}
.v2-alert-inspector.is-sheet .v2-alert-inspector-heading,
.v2-access-inspector-v3.is-sheet .v2-access-inspector-header {
position: static;
background: #fff;
}
.v2-access-governance {
display: grid;
gap: 12px;
}
.v2-access-governance-summary.semi-card {
overflow: hidden;
border: 1px solid var(--v2-border);
border-radius: 10px;
box-shadow: 0 8px 24px rgba(31, 50, 76, .05);
}
.v2-access-governance-summary > .semi-card-body {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.v2-access-governance-summary > .semi-card-body > div {
display: grid;
min-width: 0;
gap: 6px;
padding: 13px 14px;
}
.v2-access-governance-summary > .semi-card-body > div + div {
border-left: 1px solid var(--v2-border);
}
.v2-access-governance-summary small {
color: #7d8b9e;
font-size: 10px;
}
.v2-access-governance-summary strong {
color: #2f4159;
font-size: 19px;
font-variant-numeric: tabular-nums;
}
.v2-access-governance .v2-access-identity-queue-v3,
.v2-access-governance .v2-access-settings {
border-radius: 10px;
box-shadow: 0 8px 24px rgba(31, 50, 76, .04);
}
.v2-access-governance .v2-access-identity-queue-v3 > div {
grid-template-columns: 1fr;
}
.v2-access-governance .v2-access-settings fieldset {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-access-governance .v2-access-settings label,
.v2-access-governance .v2-access-settings input {
width: 100%;
box-sizing: border-box;
}
.v2-access-governance .v2-access-settings button,
.v2-access-governance .v2-access-settings p,
.v2-access-governance .v2-access-settings fieldset > small {
grid-column: 1 / -1;
}
@media (max-width: 1180px) {
.v2-alert-filter.v2-alert-filter-primary {
grid-template-columns: minmax(250px, 1.35fr) minmax(130px, .65fr) minmax(140px, .7fr) auto auto auto;
}
.v2-alert-kpis-card > .semi-card-body {
grid-template-columns: minmax(0, 1fr) 248px;
}
}
@media (max-width: 900px) {
.v2-alert-filter.v2-alert-filter-primary {
grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(130px, .6fr)) repeat(3, auto);
}
.v2-alert-kpis-card > .semi-card-body {
grid-template-columns: 1fr;
}
.v2-alert-secondary-states {
border-top: 1px solid var(--v2-border);
border-left: 0;
}
}
@media (max-width: 680px) {
.v2-access-page-v3 > .v2-page-heading {
min-height: 0;
flex-wrap: wrap;
align-items: flex-start;
gap: 8px;
padding-block: 4px;
}
.v2-access-page-v3 > .v2-page-heading .v2-page-heading-copy {
width: 100%;
flex: 1 0 100%;
}
.v2-access-page-v3 > .v2-page-heading .v2-page-heading-copy > div {
flex-wrap: wrap;
}
.v2-access-page-v3 > .v2-page-heading .v2-page-heading-copy h2 {
white-space: nowrap;
}
.v2-access-page-v3 > .v2-page-heading .v2-page-heading-aside {
width: 100%;
justify-content: flex-start;
}
.v2-alert-filter.v2-alert-filter-primary {
grid-template-columns: 1fr 1fr;
}
.v2-alert-filter.v2-alert-filter-primary label:first-child {
grid-column: 1 / -1;
}
.v2-alert-filter.v2-alert-filter-primary > .semi-button {
min-width: 0;
width: 100%;
}
.v2-alert-filter.v2-alert-filter-primary > .v2-secondary-button {
grid-column: 1 / -1;
}
.v2-alert-kpis {
display: grid;
min-height: 0;
grid-template-columns: repeat(2, minmax(0, 1fr));
overflow: hidden;
}
.v2-alert-kpis .v2-metric-action {
min-width: 0;
min-height: 74px;
flex: none;
}
.v2-alert-kpis .v2-metric-action.is-notice {
grid-column: auto;
}
.v2-alert-kpis .v2-metric-action:nth-child(odd)::before {
display: none;
}
.v2-alert-kpis .v2-metric-action:nth-child(n + 3) {
border-top: 1px solid var(--v2-border);
}
.v2-alert-secondary-states {
padding: 7px;
}
.v2-alert-secondary-states span { font-size: 9px; }
.v2-alert-secondary-states b { font-size: 13px; }
.v2-alert-filter-sidesheet .semi-sidesheet-inner,
.v2-alert-detail-sidesheet .semi-sidesheet-inner,
.v2-access-detail-sidesheet .semi-sidesheet-inner,
.v2-access-governance-sidesheet .semi-sidesheet-inner {
width: 100% !important;
}
.v2-alert-sheet-footer {
width: 100%;
}
.v2-alert-sheet-footer > .semi-button {
min-height: 40px;
flex: 1;
}
.v2-alert-inspector.is-sheet .v2-alert-inspector-content,
.v2-access-inspector-v3.is-sheet .v2-access-protocol-details {
padding-bottom: 14px;
}
.v2-access-governance-summary > .semi-card-body {
grid-template-columns: 1fr;
}
.v2-access-governance-summary > .semi-card-body > div {
grid-template-columns: 1fr auto;
align-items: center;
}
.v2-access-governance-summary > .semi-card-body > div + div {
border-top: 1px solid var(--v2-border);
border-left: 0;
}
.v2-access-governance .v2-access-settings fieldset {
grid-template-columns: 1fr;
}
}
/*
* Account grants and reconciliation details follow the same progressive
* disclosure pattern as alerts and access: dense summaries stay in the
* workspace; time-window and evidence editing move into one stable SideSheet.
*/
.v2-assigned-vins {
max-height: min(440px, 48vh);
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
align-content: start;
padding: 2px 3px 2px 0;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
.v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
min-height: 102px;
padding: 11px 12px;
content-visibility: auto;
contain-intrinsic-size: auto 102px;
}
.v2-assigned-vehicle-card > .semi-card-body > header {
align-items: center;
}
.v2-assigned-vehicle-card > .semi-card-body > header > span:first-child {
overflow: hidden;
flex: 1;
}
.v2-assigned-vehicle-actions {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 3px;
}
.v2-assigned-vehicle-card > .semi-card-body > header .v2-assigned-vehicle-actions > .semi-button:first-child {
width: auto;
min-width: 76px;
height: 30px;
flex: 0 0 auto;
border-color: #d6e0ec;
padding: 0 9px;
color: #4e6885;
font-size: 10px;
}
.v2-assigned-vehicle-card > .semi-card-body > header .v2-assigned-vehicle-actions > .semi-button:first-child:hover {
border-color: #a9c6ef;
background: #f2f7ff;
color: var(--v2-blue);
}
.v2-assigned-vehicle-card > .semi-card-body > .v2-assigned-vehicle-interval {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: center;
gap: 8px;
margin-top: 10px;
border-top: 1px solid #e7edf4;
padding-top: 9px;
}
.v2-assigned-vehicle-interval > span {
display: grid;
min-width: 0;
gap: 3px;
}
.v2-assigned-vehicle-interval small {
color: #8a97a8;
font-size: 9px;
}
.v2-assigned-vehicle-interval strong {
overflow: hidden;
color: #53677e;
font-size: 10px;
font-weight: 650;
font-variant-numeric: tabular-nums;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-assigned-vehicle-interval > i {
color: #a8b3c1;
font-size: 10px;
font-style: normal;
}
.v2-user-grant-sidesheet .semi-sidesheet-inner {
width: min(420px, 100vw) !important;
}
.v2-user-grant-sidesheet .semi-sidesheet-header,
.v2-reconcile-detail-sidesheet .semi-sidesheet-header {
min-height: 68px;
border-bottom: 1px solid #e1e8f0;
background: linear-gradient(180deg, #fff, #f8fafd);
padding: 12px 16px;
}
.v2-user-grant-sidesheet .semi-sidesheet-body {
background: #f6f8fb;
padding: 16px;
}
.v2-user-grant-sheet-title,
.v2-reconcile-sheet-title {
display: grid;
min-width: 0;
gap: 4px;
}
.v2-user-grant-sheet-title strong,
.v2-reconcile-sheet-title strong {
color: #263b53;
font-size: 16px;
}
.v2-user-grant-sheet-title span,
.v2-reconcile-sheet-title span {
overflow: hidden;
color: #7b899b;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-user-grant-form {
display: grid;
gap: 15px;
}
.v2-user-grant-summary.semi-card {
overflow: hidden;
border: 1px solid #dce5ef;
border-radius: 10px;
background: #fff;
box-shadow: 0 7px 22px rgba(31, 50, 76, .05);
}
.v2-user-grant-summary > .semi-card-body {
display: grid;
grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
}
.v2-user-grant-summary span {
display: grid;
min-width: 0;
gap: 6px;
padding: 13px 14px;
}
.v2-user-grant-summary span + span {
border-left: 1px solid #e6ecf3;
}
.v2-user-grant-summary small {
color: #8290a3;
font-size: 9px;
}
.v2-user-grant-summary strong {
overflow: hidden;
color: #2e435a;
font-size: 12px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-user-grant-form > label {
display: grid;
gap: 7px;
color: #5e7087;
font-size: 12px;
font-weight: 650;
}
.v2-user-grant-form > label > .semi-input-wrapper {
min-height: 42px;
border-color: #d5dfeb;
border-radius: 8px;
background: #fff;
}
.v2-user-grant-form > p {
margin: -2px 0 0;
color: #7d8b9d;
font-size: 10px;
line-height: 1.55;
}
.v2-user-grant-form > p[role="alert"] {
color: var(--v2-red);
}
.v2-user-grant-sheet-footer {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.v2-user-grant-sheet-footer > .semi-typography {
font-size: 10px;
}
.v2-user-grant-sheet-footer > .semi-button {
min-width: 88px;
min-height: 38px;
border-radius: 8px;
}
.v2-reconcile-overview {
display: grid;
overflow: hidden;
grid-template-columns: minmax(0, 4fr) minmax(170px, 1fr);
gap: 0;
border-bottom: 1px solid #e3eaf2;
background: #fff;
padding: 0;
}
.v2-reconcile-overview > .v2-reconcile-kpis {
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0;
border-bottom: 0;
background: #fff;
padding: 0;
}
.v2-reconcile-overview .v2-reconcile-kpi-card.semi-card {
border: 0;
border-radius: 0;
background: #fff;
box-shadow: none;
}
.v2-reconcile-overview .v2-reconcile-kpi-card + .v2-reconcile-kpi-card {
border-left: 1px solid #e4eaf2;
}
.v2-reconcile-overview .v2-reconcile-kpi-card > .semi-card-body {
min-height: 76px;
padding: 10px 14px !important;
}
.v2-reconcile-overview .v2-reconcile-kpi-card.is-active {
background: linear-gradient(180deg, #f1f7ff 0%, #edf5ff 100%);
box-shadow: inset 0 -3px #1f6feb;
}
.v2-reconcile-sla.semi-card {
min-width: 0;
overflow: hidden;
border: 0;
border-left: 1px solid #e4eaf2;
border-radius: 0;
background: linear-gradient(145deg, #fff 0%, #fff9f8 100%);
box-shadow: none;
}
.v2-reconcile-sla > .semi-card-body {
display: grid;
min-height: 76px;
grid-template-columns: minmax(0, 1fr) auto;
align-content: center;
align-items: center;
gap: 4px 10px;
padding: 10px 13px !important;
}
.v2-reconcile-sla span {
display: flex;
min-width: 0;
align-items: center;
gap: 7px;
}
.v2-reconcile-sla .semi-tag {
min-height: 21px;
border-radius: 999px;
font-size: 9px;
}
.v2-reconcile-sla small {
color: #728197;
font-size: 10px;
font-weight: 650;
}
.v2-reconcile-sla strong {
grid-column: 2;
grid-row: 1 / 3;
color: #33475e;
font-size: 24px;
line-height: 1;
font-variant-numeric: tabular-nums;
}
.v2-reconcile-sla.is-overdue strong {
color: #c2413d;
}
.v2-reconcile-sla p {
margin: 0;
color: #8a97a8;
font-size: 9px;
}
.v2-reconcile-layout {
grid-template-columns: minmax(0, 1fr);
}
.v2-reconcile-layout.is-trend-open {
grid-template-columns: minmax(0, 1fr) 260px;
}
.v2-reconcile-main {
border-right: 0;
}
.v2-reconcile-layout.is-trend-open > .v2-reconcile-main {
border-right: 1px solid #e3eaf2;
}
.v2-reconcile-table .semi-table {
width: 100% !important;
min-width: 934px;
}
.v2-reconcile-trend-slot {
min-width: 0;
}
.v2-reconcile-trend-slot > .v2-reconcile-trend.semi-card {
height: 100%;
}
.v2-reconcile-trend-open.semi-button,
.v2-reconcile-trend-toggle.semi-button {
min-height: 36px;
border-radius: 8px;
color: #3f648f;
font-size: 11px;
font-weight: 650;
}
.v2-reconcile-detail-sidesheet .semi-sidesheet-inner {
width: min(680px, 100vw) !important;
}
.v2-reconcile-detail-sidesheet .semi-sidesheet-body {
overflow: auto;
background: #f6f8fb;
padding: 0;
}
.v2-reconcile-detail.is-sheet.semi-card {
position: static !important;
width: 100% !important;
max-height: none;
overflow: visible;
border: 0;
border-radius: 0;
box-shadow: none;
}
.v2-reconcile-detail.is-sheet > .semi-card-body {
min-height: 100%;
}
.v2-reconcile-detail.is-sheet .v2-reconcile-detail-heading {
position: static;
background: #fff;
}
@media (max-width: 900px) {
.v2-reconcile-overview {
grid-template-columns: minmax(0, 4fr) minmax(156px, 1fr);
}
.v2-assigned-vins {
grid-template-columns: minmax(0, 1fr);
}
}
@media (max-width: 680px) {
.v2-assigned-vins {
max-height: min(360px, 42dvh);
gap: 7px;
}
.v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
min-height: 106px;
padding: 11px;
contain-intrinsic-size: auto 106px;
}
.v2-assigned-vehicle-card > .semi-card-body > .v2-assigned-vehicle-interval {
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
.v2-user-grant-sidesheet .semi-sidesheet-inner,
.v2-reconcile-detail-sidesheet .semi-sidesheet-inner {
width: 100% !important;
}
.v2-user-grant-sidesheet .semi-sidesheet-body {
padding: 12px;
}
.v2-user-grant-sheet-footer > .semi-typography {
max-width: 190px;
}
.v2-reconcile-overview {
grid-template-columns: minmax(0, 1fr);
gap: 7px;
background: transparent;
padding: 8px 10px;
}
.v2-reconcile-overview > .v2-reconcile-kpis {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 6px;
background: transparent;
}
.v2-reconcile-overview .v2-reconcile-kpi-card.semi-card {
overflow: hidden;
border: 1px solid #e0e7f0;
border-radius: 9px;
box-shadow: 0 3px 10px rgba(31, 53, 80, .035);
}
.v2-reconcile-overview .v2-reconcile-kpi-card + .v2-reconcile-kpi-card {
border-left: 1px solid #e0e7f0;
}
.v2-reconcile-overview .v2-reconcile-kpi-card:last-child {
grid-column: auto;
}
.v2-reconcile-sla.semi-card {
border: 1px solid #e0e7f0;
border-radius: 9px;
}
.v2-reconcile-sla > .semi-card-body {
min-height: 56px;
grid-template-columns: minmax(0, 1fr) auto;
padding: 8px 10px !important;
}
.v2-reconcile-sla strong {
font-size: 21px;
}
.v2-reconcile-detail.is-sheet .v2-reconcile-detail-body {
padding-bottom: 16px;
}
.v2-reconcile-layout,
.v2-reconcile-layout.is-trend-open {
display: flex;
grid-template-columns: none;
}
.v2-reconcile-heading.v2-workspace-panel-header {
min-height: 54px;
padding: 8px 10px;
}
.v2-reconcile-heading > .v2-workspace-panel-copy {
display: none;
}
.v2-reconcile-heading > .v2-workspace-panel-actions {
display: grid;
width: 100%;
max-width: none;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.v2-reconcile-heading > .v2-workspace-panel-actions > .semi-button {
width: 100%;
min-height: 38px;
}
.v2-reconcile-trend-slot {
order: 2;
}
}
/* Semi UI convergence: vehicle discovery and track replay. */
.v2-vehicle-search-page {
align-content: start;
place-items: start center;
gap: 12px;
overflow: auto;
padding: 16px var(--v2-page-gutter) 28px;
}
.v2-vehicle-search-page > .v2-page-heading,
.v2-vehicle-search-page > .v2-mobile-filter-toggle,
.v2-vehicle-search-page > .v2-vehicle-query-panel,
.v2-vehicle-search-page > .v2-vehicle-recent-card,
.v2-vehicle-search-page > .v2-profile-sync-panel {
box-sizing: border-box;
width: min(1280px, 100%);
}
.v2-vehicle-query-panel.v2-workspace-filter-panel.semi-card {
overflow: visible;
}
.v2-vehicle-query-panel .v2-vehicle-search-form {
height: auto;
min-height: 60px;
margin: 0;
border: 0;
border-top: 1px solid #e7edf4;
border-radius: 0 0 12px 12px;
background: #fbfcfe;
padding: 8px 10px;
}
.v2-vehicle-query-panel .v2-vehicle-search-form > .v2-vehicle-search-picker {
min-height: 42px;
border: 1px solid #d7e1ed;
border-radius: 9px;
background: #fff;
padding-inline: 3px;
}
.v2-vehicle-query-panel .v2-vehicle-search-form > .semi-button {
height: 42px;
margin: 0;
}
.v2-vehicle-query-panel .v2-vehicle-search-options.v2-vehicle-candidate-list {
top: calc(100% + 8px);
left: 10px;
width: calc(100% - 20px);
}
.v2-vehicle-recent-card.semi-card {
width: min(1280px, 100%);
}
.v2-vehicle-recent-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.v2-vehicle-recent-item.semi-button {
min-height: 78px;
}
.v2-vehicle-directory-table.semi-table-wrapper {
width: 100%;
overflow-x: auto;
}
.v2-vehicle-directory-table .semi-table {
min-width: 640px;
}
.v2-vehicle-directory-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 38px;
border-bottom-color: #e7edf4;
background: #f7f9fc;
padding-block: 7px;
color: #708096;
font-size: 11px;
font-weight: 650;
}
.v2-vehicle-directory-table .semi-table-tbody > .semi-table-row {
cursor: default;
transition: background-color .15s ease;
}
.v2-vehicle-directory-table .semi-table-tbody > .semi-table-row:hover {
background: #f7faff;
}
.v2-vehicle-directory-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 48px;
border-bottom-color: #edf1f6;
padding-block: 6px;
}
.v2-vehicle-directory-identity {
display: grid;
min-width: 0;
gap: 2px;
}
.v2-vehicle-directory-identity strong {
overflow: hidden;
color: #1b2a3e;
font-size: 14px;
font-weight: 720;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-directory-identity small,
.v2-vehicle-directory-status small {
overflow: hidden;
color: #7f8da1;
font-size: 10px;
font-weight: 500;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-directory-status {
display: flex;
min-width: 0;
align-items: center;
gap: 8px;
}
.v2-vehicle-directory-status .semi-tag,
.v2-vehicle-directory-protocols .semi-tag {
flex: 0 0 auto;
margin: 0;
}
.v2-vehicle-directory-protocols {
display: flex;
min-width: 0;
align-items: center;
gap: 5px;
color: #8491a3;
font-size: 11px;
}
.v2-vehicle-directory-open.semi-button {
min-width: 82px;
height: 30px;
border-radius: 7px;
font-size: 11px;
}
.v2-vehicle-recent-card > .semi-card-body > .v2-vehicle-directory-pagination {
display: flex;
min-height: 48px;
align-items: center;
justify-content: space-between;
gap: 12px;
border-top: 1px solid #e7edf4;
background: #fbfcfe;
padding: 7px 12px;
}
@media (max-width: 1100px) {
.v2-vehicle-recent-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.v2-vehicle-record-page {
overflow-anchor: none;
}
.v2-content:has(> .v2-vehicle-record-page) {
overflow-anchor: none;
}
.v2-track-current-card.semi-card {
--track-overlay-text: #23344b;
--track-overlay-muted: #718096;
border-color: rgba(211, 222, 235, .96);
background: rgba(255, 255, 255, .96);
color: var(--track-overlay-text);
box-shadow: 0 12px 34px rgba(25, 45, 72, .14);
}
.v2-track-current-card .v2-workspace-panel-header {
border-bottom: 1px solid #e5ebf2;
background: rgba(249, 251, 254, .94);
}
.v2-track-current-card .v2-workspace-panel-copy > h5.semi-typography {
color: #1f2f45;
}
.v2-track-current-card .v2-workspace-panel-copy > .semi-typography {
color: #78879a;
}
.v2-track-current-card .v2-workspace-panel-meta {
border-radius: 999px;
background: #eaf2ff;
padding: 4px 8px;
color: var(--v2-blue);
}
.v2-track-current-card > .semi-card-body > div {
border-color: #e5ebf2;
}
.v2-track-current-card > .semi-card-body > div > span + span {
border-left-color: #e5ebf2;
}
.v2-track-current-card small {
color: #7c8a9d;
}
.v2-track-current-card > .semi-card-body > div strong {
color: #23344b;
text-shadow: none;
}
.v2-track-current-card em {
color: #718096;
}
.v2-track-current-card > .semi-card-body > p {
color: #53657b;
}
.v2-track-rail-hide-label {
display: none;
}
.v2-track-detail-sheet-title {
display: grid;
min-width: 0;
gap: 3px;
}
.v2-track-detail-sheet-title strong {
color: #1f2f45;
font-size: 16px;
}
.v2-track-detail-sheet-title span {
overflow: hidden;
color: #7c8a9d;
font-size: 10px;
font-weight: 400;
text-overflow: ellipsis;
white-space: nowrap;
}
@media (max-width: 700px) {
.v2-vehicle-search-page {
gap: 9px;
padding: 9px 8px 92px;
}
.v2-vehicle-query-panel .v2-vehicle-search-form {
min-height: 0;
border-top: 0;
padding: 9px;
}
.v2-vehicle-query-panel .v2-vehicle-search-form.is-mobile-collapsed {
display: none;
}
.v2-vehicle-query-panel .v2-vehicle-search-form > .v2-vehicle-search-picker {
width: 100%;
min-height: 46px;
flex: 1 1 100%;
}
.v2-vehicle-query-panel .v2-vehicle-search-form > .semi-button {
width: 100%;
height: 44px;
justify-content: center;
}
.v2-vehicle-query-panel .v2-vehicle-search-options.v2-vehicle-candidate-list {
width: 100%;
margin-top: 8px;
}
.v2-vehicle-recent-grid {
grid-template-columns: 1fr;
}
.v2-vehicle-recent-card > .semi-card-body > .v2-vehicle-directory-pagination {
min-height: 52px;
padding-inline: 10px;
}
.v2-vehicle-directory-pagination .v2-table-pagination-info {
font-size: 10px;
}
.v2-vehicle-directory-pagination .v2-table-pagination-controls {
margin-left: auto;
}
.v2-track-detail-sidesheet .semi-sidesheet-inner {
overflow: hidden;
border-radius: 18px 18px 0 0;
box-shadow: 0 -18px 54px rgba(22, 34, 50, .22);
}
.v2-track-detail-sidesheet .semi-sidesheet-header {
min-height: 64px;
border-bottom: 1px solid #e3eaf2;
padding: 11px 14px;
}
.v2-track-detail-sidesheet .semi-sidesheet-body {
display: flex;
min-height: 0;
overflow: hidden;
background: #fff;
padding: 0;
}
.v2-track-detail-sidesheet .v2-track-rail {
position: relative;
inset: auto;
width: 100%;
height: 100%;
flex: 1 1 auto;
overflow: hidden;
border: 0;
border-radius: 0;
box-shadow: none;
transform: none;
}
.v2-track-detail-sidesheet .v2-track-rail::before,
.v2-track-detail-sidesheet .v2-track-rail-hide {
display: none;
}
.v2-track-detail-sidesheet .v2-track-query-header {
min-height: 52px;
}
.v2-track-detail-sidesheet .v2-track-rail-result {
min-height: 0;
}
}
/* Mileage workspace refinement: expose the active source strategy and keep the
* mobile matrix dense without sacrificing the fixed plate/period columns. */
.v2-mileage-source-trigger .semi-button-content {
min-width: 0;
gap: 5px;
}
.v2-mileage-source-trigger em {
min-width: 0;
overflow: hidden;
color: #55708f;
font-size: 9px;
font-style: normal;
font-weight: 650;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-mileage-source-trigger b {
flex: 0 0 auto;
}
@media (max-width: 680px) {
.v2-mileage-summary.semi-card {
height: 144px;
min-height: 144px;
}
.v2-mileage-summary > .semi-card-body {
height: 144px;
gap: 4px;
}
.v2-mileage-summary > .semi-card-body > .v2-mileage-summary-card.is-primary,
.v2-mileage-summary > .semi-card-body > .v2-mileage-summary-card.is-primary > .semi-card-body {
height: 75px;
min-height: 75px;
}
.v2-mileage-summary > .semi-card-body > .v2-mileage-summary-card.is-primary > .semi-card-body {
padding: 7px 13px 8px !important;
}
.v2-mileage-summary > .semi-card-body > .is-primary .v2-mileage-summary-value {
min-height: 29px;
line-height: 29px;
}
.v2-mileage-summary-secondary.semi-card-group,
.v2-mileage-summary-secondary.semi-card-group > .v2-mileage-summary-card.semi-card {
height: 65px;
min-height: 65px;
}
.v2-mileage-summary-secondary.semi-card-group > .v2-mileage-summary-card > .semi-card-body {
min-height: 65px;
padding: 7px 8px !important;
}
.v2-mileage-summary-secondary .v2-mileage-summary-card strong {
margin-block: 3px 2px;
font-size: 16px;
}
.v2-mileage-results > .semi-card-body > .v2-workspace-panel-header {
min-height: 66px;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 7px 9px;
}
.v2-mileage-results .v2-workspace-panel-copy {
min-width: 0;
flex: 1 1 auto;
}
.v2-mileage-results .v2-workspace-panel-copy > h5.semi-typography {
font-size: 13px;
}
.v2-mileage-results .v2-workspace-panel-copy > .semi-typography {
overflow: hidden;
font-size: 9px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-mileage-results .v2-mileage-result-actions {
display: grid;
min-width: 150px;
max-width: 164px;
flex: 0 0 auto;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 3px 5px;
}
.v2-mileage-results .v2-mileage-result-actions > .v2-workspace-panel-meta {
grid-column: 1 / -1;
overflow: hidden;
font-size: 8px;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-mileage-result-actions > .semi-button {
width: auto;
min-width: 0;
height: 30px;
padding-inline: 7px;
font-size: 9px;
}
.v2-mileage-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 38px;
padding-inline: 6px;
}
.v2-mileage-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 44px;
padding-inline: 6px;
}
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).is-plate {
width: 92px;
min-width: 92px;
max-width: 92px;
}
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).is-date {
width: 72px;
min-width: 72px;
}
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).is-total {
width: 104px;
min-width: 104px;
}
}
/*
* Account administration follows the same command-center anatomy as alerts,
* access and operations: one panel header, one continuous metric rail and one
* scroll owner. Large vehicle scopes are paged instead of nested-scrolled.
*/
.v2-user-filter-panel.v2-workspace-filter-panel.semi-card {
width: 100%;
max-width: 1480px;
margin-inline: auto;
}
.v2-user-filter-form {
display: grid;
grid-template-columns: minmax(280px, 1fr) 180px auto;
align-items: end;
gap: 10px;
padding: 10px 12px 12px;
}
.v2-user-filter-form > label {
display: grid;
min-width: 0;
gap: 6px;
color: #5d6c80;
font-size: 11px;
font-weight: 650;
}
.v2-user-filter-form :is(.semi-input-wrapper, .semi-select),
.v2-user-filter-reset.semi-button {
width: 100%;
min-height: 40px;
border-radius: 8px;
}
.v2-user-filter-form .semi-input,
.v2-user-filter-form .semi-select-selection {
min-height: 38px;
font-size: 12px;
}
.v2-user-filter-reset.semi-button {
width: auto;
min-width: 88px;
}
.v2-user-list.semi-card {
overflow: hidden;
border-color: #dce5ef;
background: #fff;
box-shadow: 0 8px 26px rgba(31, 50, 76, .045);
}
.v2-user-list > .semi-card-body {
display: block;
padding: 0 !important;
}
.v2-user-directory-header.v2-workspace-panel-header {
min-height: 62px;
padding: 9px 14px;
}
.v2-user-directory-header .v2-workspace-panel-meta > .semi-tag {
min-height: 24px;
border-radius: 999px;
padding-inline: 9px;
font-size: 10px;
font-weight: 650;
}
.v2-user-directory-body {
padding: 10px 12px 12px;
}
.v2-user-directory-metrics {
display: grid;
overflow: hidden;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0;
border: 1px solid #dfe7f0;
border-radius: 10px;
background: #fff;
margin-bottom: 10px;
}
.v2-user-directory-metrics > span {
position: relative;
display: grid;
min-height: 68px;
align-content: center;
gap: 5px;
border: 0;
border-radius: 0;
background: #fff;
padding: 10px 14px;
}
.v2-user-directory-metrics > span + span {
border-left: 1px solid #e4eaf1;
}
.v2-user-directory-metrics > span.is-primary {
background: linear-gradient(110deg, #edf5ff 0%, #f8fbff 100%);
}
.v2-user-directory-metrics > span.is-primary::after {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 3px;
background: var(--v2-blue);
content: '';
}
.v2-user-directory-metrics small {
color: #7b899b;
font-size: 10px;
font-weight: 650;
}
.v2-user-directory-metrics strong {
color: #263b53;
font-size: 22px;
font-variant-numeric: tabular-nums;
letter-spacing: -.035em;
line-height: 1;
}
.v2-user-directory-metrics > .is-primary strong {
color: var(--v2-blue);
}
.v2-user-list-search.semi-input-wrapper {
margin-bottom: 10px;
background: #fff;
}
.v2-user-editor.semi-card {
width: min(940px, 82vw);
background: #f5f7fa;
}
.v2-user-editor form {
gap: 0;
background: #f5f7fa;
padding: 0;
}
.v2-user-editor-title {
z-index: 5;
min-height: 82px;
border: 0;
border-bottom: 1px solid #dfe6ef;
border-radius: 0;
background: rgba(255, 255, 255, .97);
padding: 15px 18px;
box-shadow: 0 5px 18px rgba(31, 53, 80, .035);
backdrop-filter: blur(12px);
}
.v2-user-editor-title > div {
min-width: 0;
}
.v2-user-editor-title p {
overflow: hidden;
max-width: 620px;
color: #7d8b9e;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-user-editor-tabs.semi-tabs {
width: auto;
flex: 0 0 auto;
border-color: #dfe6ef;
margin: 12px 12px 0;
box-shadow: 0 8px 24px rgba(31, 53, 80, .04);
}
.v2-user-editor-tabs > .semi-tabs-content {
padding: 12px;
}
.v2-user-editor form > footer {
bottom: 0;
min-height: 62px;
margin: 12px 0 0;
padding: 10px 14px;
}
.v2-user-editor form > footer .semi-button {
min-width: 142px;
min-height: 40px;
}
.v2-assigned-toolbar {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 14px;
margin-top: 14px;
border-top: 1px solid #e6ecf3;
padding-top: 13px;
}
.v2-assigned-toolbar > span {
display: grid;
min-width: 0;
gap: 3px;
}
.v2-assigned-toolbar strong {
color: #31465e;
font-size: 12px;
}
.v2-assigned-toolbar small {
color: #8492a4;
font-size: 9px;
}
.v2-assigned-toolbar > .semi-input-wrapper {
width: min(300px, 46%);
min-height: 36px;
flex: 0 1 300px;
border: 1px solid #d9e3ee;
border-radius: 8px;
background: #f8fafc;
}
.v2-assigned-toolbar > .semi-input-wrapper-focus {
border-color: #8fb7f4;
background: #fff;
box-shadow: 0 0 0 3px rgba(18, 104, 243, .08);
}
.v2-assigned-toolbar .semi-input {
height: 34px;
font-size: 11px;
}
.v2-assigned-vins {
max-height: none;
grid-template-columns: repeat(2, minmax(0, 1fr));
overflow: visible;
margin-top: 9px;
padding: 0;
scrollbar-gutter: auto;
}
.v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
min-height: 98px;
background: #fbfcfe;
}
.v2-user-assigned-filter-empty.semi-empty {
min-height: 160px;
justify-content: center;
margin-top: 9px;
border: 1px dashed #d8e1ec;
border-radius: 9px;
background: #fafbfd;
}
.v2-user-assigned-filter-empty .semi-empty-image {
display: none;
}
.v2-user-assigned-filter-empty .semi-empty-title {
color: #53657c;
font-size: 12px;
font-weight: 700;
}
.v2-user-assigned-filter-empty .semi-empty-description {
color: #8a97a8;
font-size: 10px;
}
.v2-assigned-pagination {
display: flex;
min-height: 52px;
align-items: center;
justify-content: space-between;
gap: 12px;
border-top: 1px solid #e6ecf3;
margin-top: 10px;
padding-top: 10px;
}
@media (max-width: 680px) {
.v2-user-filter-panel.is-mobile-collapsed {
display: none;
}
.v2-user-filter-form {
grid-template-columns: minmax(0, 1fr);
gap: 9px;
padding: 10px;
}
.v2-user-filter-form.is-mobile-collapsed {
display: none;
}
.v2-user-filter-form :is(.semi-input-wrapper, .semi-select),
.v2-user-filter-reset.semi-button {
min-height: 42px;
}
.v2-user-filter-reset.semi-button {
width: 100%;
}
.v2-user-directory-header.v2-workspace-panel-header {
min-height: 56px;
align-items: center;
padding: 8px 10px;
}
.v2-user-directory-header .v2-workspace-panel-copy > .semi-typography {
max-width: 220px;
}
.v2-user-directory-body {
padding: 8px;
}
.v2-user-directory-metrics {
margin-bottom: 8px;
}
.v2-user-directory-metrics > span {
min-height: 58px;
padding: 8px 10px;
}
.v2-user-directory-metrics small {
font-size: 9px;
}
.v2-user-directory-metrics strong {
font-size: 19px;
}
.v2-user-editor.semi-card {
width: auto;
}
.v2-user-editor form {
gap: 0;
padding: 0;
}
.v2-user-editor-title {
min-height: 70px;
border-radius: 0;
padding: 11px 10px;
}
.v2-user-editor-title p {
max-width: 238px;
font-size: 9px;
}
.v2-user-editor-tabs.semi-tabs {
border-radius: 9px;
margin: 8px 8px 0;
}
.v2-user-editor-tabs > .semi-tabs-content {
padding: 8px;
}
.v2-assigned-toolbar {
display: grid;
grid-template-columns: minmax(0, 1fr);
justify-content: stretch;
gap: 8px;
margin-top: 12px;
padding-top: 11px;
}
.v2-assigned-toolbar > .semi-input-wrapper {
width: 100%;
min-height: 40px;
flex: none;
}
.v2-assigned-toolbar .semi-input {
height: 38px;
font-size: 12px;
}
.v2-assigned-vins {
grid-template-columns: minmax(0, 1fr);
gap: 7px;
}
.v2-assigned-pagination {
min-height: 76px;
align-items: stretch;
flex-direction: column;
justify-content: center;
gap: 7px;
margin-top: 8px;
padding-top: 8px;
}
.v2-assigned-pagination .v2-table-pagination-controls {
width: 100%;
}
.v2-user-editor form > footer {
bottom: 0;
min-height: 60px;
margin: 8px 0 0;
padding: 8px;
}
.v2-user-editor form > footer .semi-button {
width: 100%;
min-width: 0;
min-height: 44px;
}
}
/*
* Semi UI operations command center.
* Match the access and alert workspaces: readable evidence tables on desktop,
* progressive policy editing on mobile, and one consistent status hierarchy.
*/
.v2-source-filter-panel.v2-workspace-filter-panel.semi-card {
width: 100%;
overflow: visible;
}
.v2-source-filter-panel .v2-source-search {
padding: 11px 12px 12px;
}
.v2-source-filter-panel .v2-source-candidates {
right: 128px;
left: 12px;
}
@media (min-width: 681px) {
.v2-ops-page {
gap: 12px;
padding: 16px 18px 20px;
background: #f6f8fb;
}
.v2-ops-tabs.v2-segmented-tabs {
width: min(700px, 100%);
min-height: 52px;
}
.v2-ops-tabs.v2-segmented-tabs > .semi-button {
min-height: 40px;
font-size: 13px;
}
.v2-reconcile-heading.v2-workspace-panel-header {
min-height: 70px;
padding: 12px 16px;
}
.v2-reconcile-heading .v2-workspace-panel-copy > h5.semi-typography {
font-size: 17px;
}
.v2-reconcile-heading .v2-workspace-panel-copy > .semi-typography {
font-size: 11px;
}
.v2-reconcile-toolbar {
gap: 9px;
padding: 11px 12px;
}
.v2-reconcile-toolbar > .semi-input-wrapper,
.v2-reconcile-toolbar > .semi-select {
min-height: 38px;
border-radius: 7px;
}
.v2-reconcile-toolbar .semi-input,
.v2-reconcile-toolbar .semi-select-selection-text {
font-size: 12px;
}
.v2-reconcile-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 42px;
font-size: 11px;
}
.v2-reconcile-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 66px;
padding: 9px 11px;
}
.v2-reconcile-cell strong {
font-size: 12px;
}
.v2-reconcile-cell small {
font-size: 10px;
}
.v2-reconcile-pagination {
min-height: 48px;
font-size: 12px;
}
.v2-reconcile-detail.semi-card {
width: min(480px, 52vw);
}
.v2-reconcile-detail-heading > .v2-workspace-panel-copy > h5.semi-typography {
font-size: 16px;
}
.v2-reconcile-detail-heading > .v2-workspace-panel-copy > .semi-typography {
font-size: 11px;
}
.v2-reconcile-identity small,
.v2-reconcile-identity span {
font-size: 10px;
}
.v2-reconcile-identity strong,
.v2-reconcile-summary {
font-size: 12px;
}
.v2-ops-kpi-card > .semi-card-body {
min-height: 92px;
padding: 14px 16px !important;
}
.v2-ops-kpis small {
font-size: 11px;
}
.v2-ops-kpis strong {
margin: 8px 0 6px;
font-size: 22px;
}
.v2-ops-kpis span {
font-size: 10px;
}
.v2-ops-panel > .semi-card-body > .v2-workspace-panel-header {
min-height: 52px;
padding-inline: 15px;
}
.v2-ops-panel .v2-workspace-panel-copy > h5.semi-typography {
font-size: 15px;
}
.v2-ops-panel .v2-workspace-panel-copy > .semi-typography,
.v2-ops-panel .v2-workspace-panel-meta {
font-size: 11px;
}
.v2-ops-link-card > .semi-card-body {
min-height: 62px;
padding: 10px 15px;
}
.v2-ops-link-status strong {
font-size: 12px;
}
.v2-ops-link-card p {
font-size: 11px;
}
.v2-ops-runtime-descriptions .semi-descriptions-key {
font-size: 11px;
}
.v2-ops-runtime-descriptions .semi-descriptions-value {
font-size: 12px;
}
.v2-ops-source-title small,
.v2-ops-source-evidence strong,
.v2-ops-source-action strong,
.v2-ops-source-evidence p,
.v2-ops-source-action p,
.v2-ops-source-card footer span {
font-size: 10px;
}
.v2-source-diagnostic > .semi-card-body > .v2-workspace-panel-header {
min-height: 58px;
padding-inline: 15px;
}
.v2-source-diagnostic .v2-workspace-panel-copy > h5.semi-typography {
font-size: 15px;
}
.v2-source-diagnostic .v2-workspace-panel-copy > .semi-typography {
font-size: 11px;
}
.v2-source-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
font-size: 11px;
}
.v2-source-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
font-size: 12px;
}
.v2-source-cell > strong,
.v2-source-cell > span > strong {
font-size: 12px;
}
.v2-source-cell > small,
.v2-source-policy-summary small {
font-size: 10px;
}
.v2-source-policy-summary b {
font-size: 11px;
}
.v2-source-policy-summary > .semi-button {
min-height: 30px;
font-size: 10px;
}
}
@media (max-width: 680px) {
.v2-source-filter-panel.is-mobile-collapsed,
.v2-source-search.is-mobile-collapsed {
display: none !important;
}
.v2-source-filter-panel .v2-source-search {
padding: 10px;
}
.v2-source-filter-panel .v2-source-candidates {
right: 10px;
left: 10px;
}
.v2-source-empty.semi-empty,
.v2-source-loading {
min-height: 160px;
}
.v2-source-mobile-card > .semi-card-body > section {
padding: 11px 13px 13px;
}
.v2-source-mobile-card .v2-source-policy-summary {
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 5px 10px;
}
.v2-source-mobile-card .v2-source-policy-summary > span {
grid-column: 1;
grid-row: 1;
}
.v2-source-mobile-card .v2-source-policy-summary > small {
grid-column: 1;
grid-row: 2;
font-size: 10px;
}
.v2-source-mobile-card .v2-source-policy-summary > .semi-button {
min-width: 92px;
min-height: 40px;
grid-column: 2;
grid-row: 1 / 3;
justify-content: center;
font-size: 11px;
}
.v2-source-policy-sidesheet .semi-sidesheet-inner {
width: 100vw !important;
}
.v2-source-policy-sidesheet .semi-sidesheet-header {
min-height: 62px;
padding: 10px 12px;
}
.v2-source-policy-sheet-title strong {
font-size: 15px;
}
.v2-source-policy-sheet-title span {
font-size: 10px;
}
}
/* Semi UI operations health: one overview rail, evidence-first rows and compact protocol coverage. */
.v2-ops-overview.semi-card {
min-width: 0;
overflow: hidden;
border: 1px solid #dce5ef;
border-radius: 12px;
background: #fff;
box-shadow: 0 8px 28px rgba(31, 53, 80, .055);
}
.v2-ops-overview > .semi-card-body > .v2-workspace-panel-header {
min-height: 64px;
border-bottom: 1px solid #e7edf4;
padding: 11px 16px;
}
.v2-ops-overview-meta {
display: flex;
align-items: center;
gap: 10px;
}
.v2-ops-overview-meta > .semi-typography {
font-size: 11px;
white-space: nowrap;
}
.v2-ops-metric-rail {
display: grid;
grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr));
background: #fff;
}
.v2-ops-metric {
position: relative;
min-width: 0;
min-height: 112px;
padding: 17px 18px 15px;
}
.v2-ops-metric + .v2-ops-metric {
border-left: 1px solid #e7edf4;
}
.v2-ops-metric::after {
position: absolute;
right: 18px;
bottom: 0;
left: 18px;
height: 3px;
border-radius: 999px 999px 0 0;
background: #dce5ef;
content: "";
}
.v2-ops-metric.is-success::after { background: var(--v2-green); }
.v2-ops-metric.is-warning::after { background: var(--v2-orange); }
.v2-ops-metric.is-danger::after { background: var(--v2-red); }
.v2-ops-metric small {
display: block;
overflow: hidden;
color: #6b7c92;
font-size: 11px;
font-weight: 600;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-ops-metric strong {
display: block;
margin: 10px 0 8px;
overflow: hidden;
color: #20364f;
font-size: 24px;
font-variant-numeric: tabular-nums;
letter-spacing: -.025em;
line-height: 1;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-ops-metric.is-success strong { color: #16835d; }
.v2-ops-metric.is-warning strong { color: #a66500; }
.v2-ops-metric.is-danger strong { color: #cf3f3b; }
.v2-ops-metric span {
display: block;
overflow: hidden;
color: #8390a2;
font-size: 10px;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-ops-panel > .semi-card-body > .v2-workspace-panel-header {
min-height: 64px;
border-bottom: 1px solid #e7edf4;
padding: 11px 15px;
}
.v2-ops-link-card {
display: grid;
min-height: 62px;
grid-template-columns: minmax(140px, .7fr) minmax(0, 1fr) auto;
align-items: center;
gap: 12px;
border-bottom: 1px solid #e8edf3;
background: #fff;
padding: 10px 15px;
}
.v2-ops-link-card:last-child { border-bottom: 0; }
.v2-ops-source-list.semi-card-group {
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.v2-ops-source-card.semi-card {
box-shadow: inset 0 3px #d6e0ec, 0 5px 16px rgba(31, 53, 80, .045);
}
.v2-ops-source-card.is-ok { box-shadow: inset 0 3px var(--v2-green), 0 5px 16px rgba(31, 53, 80, .045); }
.v2-ops-source-card.is-warning { box-shadow: inset 0 3px var(--v2-orange), 0 5px 16px rgba(31, 53, 80, .045); }
.v2-ops-source-card.is-error { box-shadow: inset 0 3px var(--v2-red), 0 5px 16px rgba(31, 53, 80, .045); }
.v2-ops-source-coverage {
display: grid;
gap: 7px;
border-bottom: 1px solid #e9eef4;
padding: 13px;
background: #fff;
}
.v2-ops-source-coverage > span {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 12px;
}
.v2-ops-source-coverage strong {
color: #41556d;
font-size: 11px;
}
.v2-ops-source-coverage b {
color: #263d57;
font-size: 17px;
font-variant-numeric: tabular-nums;
letter-spacing: -.02em;
}
.v2-ops-source-coverage .semi-progress {
width: 100%;
margin: 0;
}
.v2-ops-source-coverage small {
color: #748398;
font-size: 10px;
}
@media (max-width: 900px) {
.v2-ops-metric-rail {
display: flex;
overflow-x: auto;
scroll-snap-type: x proximity;
scrollbar-width: thin;
}
.v2-ops-metric {
min-width: 190px;
flex: 0 0 190px;
scroll-snap-align: start;
}
.v2-ops-metric:first-child {
min-width: 218px;
flex-basis: 218px;
}
}
@media (max-width: 680px) {
.v2-ops-overview > .semi-card-body > .v2-workspace-panel-header {
min-height: 58px;
padding: 9px 12px;
}
.v2-ops-overview-meta > .semi-typography { display: none; }
.v2-ops-metric {
min-width: 156px;
min-height: 96px;
flex-basis: 156px;
padding: 14px 13px 12px;
}
.v2-ops-metric:first-child {
min-width: 184px;
flex-basis: 184px;
}
.v2-ops-metric strong {
margin: 8px 0 7px;
font-size: 21px;
}
.v2-ops-metric span { font-size: 10px; }
.v2-ops-link-card {
min-height: 72px;
grid-template-columns: minmax(0, 1fr) auto;
gap: 5px 10px;
padding: 10px 12px;
}
.v2-ops-link-card p {
grid-column: 1 / -1;
white-space: normal;
}
.v2-ops-source-list.semi-card-group {
display: flex;
grid-template-columns: none;
}
.v2-ops-source-coverage b { font-size: 16px; }
}
/* Unified Semi UI state language: page, panel and inline recovery surfaces. */
.v2-state-surface {
box-sizing: border-box;
width: 100%;
min-width: 0;
color: #607086;
}
.v2-state-surface.is-page {
display: grid;
min-height: 100%;
align-content: center;
justify-items: center;
gap: 24px;
background:
radial-gradient(circle at 50% 35%, rgba(18, 104, 243, .06), transparent 32%),
var(--v2-bg);
padding: clamp(24px, 5vw, 54px);
}
.v2-state-surface.is-panel {
position: relative;
inset: auto;
display: grid;
min-height: 164px;
align-content: center;
justify-items: center;
gap: 18px;
border: 0;
background: linear-gradient(180deg, rgba(249, 251, 254, .72), rgba(255, 255, 255, .98));
padding: 22px;
}
.v2-state-surface.is-inline {
display: flex;
min-height: 52px;
align-items: center;
border: 1px solid #dfe7f1;
border-radius: 10px;
background: rgba(255, 255, 255, .96);
padding: 9px 12px;
}
.v2-state-surface.is-error.is-inline {
border-color: #f3c7c4;
background: #fff8f7;
color: #b42318;
}
.v2-state-message {
display: flex;
min-width: 0;
align-items: center;
justify-content: center;
gap: 12px;
}
.v2-state-icon {
display: grid;
width: 38px;
height: 38px;
flex: 0 0 auto;
place-items: center;
border-radius: 11px;
background: #edf4ff;
color: var(--v2-blue);
}
.v2-state-surface.is-error .v2-state-icon {
background: #fff0ef;
color: #d92d20;
}
.v2-state-copy {
display: grid;
min-width: 0;
gap: 4px;
}
.v2-state-copy > .semi-typography {
display: block;
margin: 0;
}
.v2-state-copy > .semi-typography-primary {
color: #293a50;
font-size: 13px;
font-weight: 700;
}
.v2-state-copy > .semi-typography-tertiary,
.v2-state-copy > .semi-typography-danger {
overflow: hidden;
color: #7e8c9f;
font-size: 10px;
line-height: 1.55;
text-overflow: ellipsis;
}
.v2-state-copy > .semi-typography-danger {
color: #a63a32;
}
.v2-state-action {
display: flex;
flex: 0 0 auto;
margin-left: 10px;
}
.v2-state-action > .semi-button {
min-height: 34px;
border-radius: 8px;
font-weight: 650;
}
.v2-state-skeleton {
display: grid;
width: min(780px, 100%);
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
.v2-state-skeleton > i {
min-height: 58px;
border: 1px solid #eaf0f6;
border-radius: 10px;
background: linear-gradient(100deg, #f3f6fa 24%, #eaf1f8 38%, #f3f6fa 54%);
background-size: 300% 100%;
animation: v2-skeleton 1.4s ease infinite;
}
.v2-state-surface.is-page .v2-state-skeleton {
width: min(960px, 100%);
}
.v2-state-surface.is-page .v2-state-skeleton > i {
min-height: 92px;
}
.v2-state-surface.is-page .v2-state-skeleton > i:last-child {
min-height: 240px;
grid-column: 1 / -1;
}
.v2-state-surface.is-panel.is-compact {
position: sticky;
z-index: 3;
top: 0;
display: flex;
width: 100%;
min-height: 42px;
justify-content: center;
border-bottom: 1px solid #dfe8f2;
background: rgba(248, 251, 255, .94);
padding: 5px 12px;
backdrop-filter: blur(8px);
}
.v2-state-surface.is-panel.is-compact .v2-state-icon {
width: 28px;
height: 28px;
border-radius: 8px;
}
.v2-state-surface.is-panel.is-compact .v2-state-copy {
display: flex;
align-items: baseline;
gap: 7px;
}
.v2-state-surface.is-panel.is-compact .v2-state-skeleton {
display: none;
}
.v2-state-empty.semi-empty {
box-sizing: border-box;
width: 100%;
min-height: 140px;
justify-content: center;
padding: 20px;
}
.v2-state-empty .semi-empty-image {
height: 54px;
margin-bottom: 10px;
opacity: .8;
}
.v2-state-empty .semi-empty-title {
color: #33465d;
font-size: 13px;
font-weight: 700;
}
.v2-state-empty .semi-empty-description {
max-width: 440px;
margin-top: 6px;
color: #8491a3;
font-size: 10px;
line-height: 1.6;
}
.v2-state-empty .semi-empty-content {
margin-top: 14px;
}
.v2-state-surface.is-inline .v2-state-empty.semi-empty {
min-height: 50px;
align-items: flex-start;
padding: 4px 0;
}
.v2-state-surface.is-inline .v2-state-empty .semi-empty-image,
.v2-state-surface.is-inline .v2-state-empty .semi-empty-description {
display: none;
}
@media (max-width: 680px) {
.v2-state-surface.is-page {
gap: 18px;
padding: 18px 12px 88px;
}
.v2-state-surface.is-panel {
min-height: 142px;
padding: 18px 12px;
}
.v2-state-message {
max-width: 100%;
gap: 9px;
}
.v2-state-icon {
width: 34px;
height: 34px;
border-radius: 9px;
}
.v2-state-copy > .semi-typography-primary {
font-size: 12px;
}
.v2-state-copy > .semi-typography-tertiary,
.v2-state-copy > .semi-typography-danger {
font-size: 9px;
}
.v2-state-skeleton {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-state-skeleton > i:last-child {
grid-column: 1 / -1;
}
.v2-state-surface.is-page .v2-state-skeleton > i {
min-height: 72px;
}
.v2-state-surface.is-page .v2-state-skeleton > i:last-child {
min-height: 190px;
}
.v2-state-surface.is-inline {
align-items: stretch;
padding: 9px;
}
.v2-state-surface.is-inline .v2-state-message {
width: 100%;
align-items: flex-start;
}
.v2-state-surface.is-inline .v2-state-action {
margin-left: auto;
}
.v2-state-surface.is-panel.is-compact .v2-state-copy > .semi-typography-tertiary {
display: none;
}
}
/* Platform entry and recovery states share the same Semi UI visual system. */
.v2-auth-screen.is-session-loading {
grid-template-columns: minmax(0, 1fr);
}
.v2-auth-loading.semi-card {
width: min(520px, 100%);
border-color: rgba(207, 220, 236, .96);
border-radius: 20px;
background: rgba(255, 255, 255, .98);
box-shadow: 0 26px 72px rgba(27, 45, 72, .13);
}
.v2-auth-loading.semi-card > .semi-card-body {
display: block;
min-height: 0;
}
.v2-auth-loading-inner {
display: grid;
min-width: 0;
gap: 24px;
padding: 28px;
}
.v2-auth-loading-header {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 18px;
border-bottom: 1px solid #edf1f6;
padding-bottom: 20px;
}
.v2-auth-loading-header > img {
display: block;
width: 148px;
max-width: 52%;
height: auto;
}
.v2-auth-loading-header > .semi-tag {
height: 28px;
flex: 0 0 auto;
border-radius: 999px;
padding-inline: 10px;
font-size: 11px;
font-weight: 650;
}
.v2-auth-loading-status {
display: flex;
min-width: 0;
align-items: center;
gap: 15px;
}
.v2-auth-loading-status > span {
display: grid;
width: 48px;
height: 48px;
flex: 0 0 auto;
place-items: center;
border-radius: 14px;
background: #eef5ff;
}
.v2-auth-loading-status > div {
display: grid;
min-width: 0;
gap: 5px;
}
.v2-auth-loading-status h4.semi-typography {
margin: 0;
color: #26394f;
font-size: 18px;
letter-spacing: -.025em;
}
.v2-auth-loading-status .semi-typography-tertiary {
margin: 0;
color: #7a899d;
font-size: 11px;
line-height: 1.6;
}
.v2-auth-loading-skeleton {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 9px;
}
.v2-auth-loading-skeleton > i {
min-height: 52px;
border: 1px solid #e9eff6;
border-radius: 10px;
background: linear-gradient(100deg, #f4f7fa 24%, #eaf1f8 38%, #f4f7fa 54%);
background-size: 300% 100%;
animation: v2-skeleton 1.4s ease infinite;
}
.v2-auth-loading-inner > footer {
display: flex;
align-items: flex-start;
gap: 7px;
border-top: 1px solid #edf1f6;
padding-top: 16px;
color: #7c8a9d;
}
.v2-auth-loading-inner > footer > svg {
flex: 0 0 auto;
margin-top: 2px;
color: #4d79b7;
}
.v2-auth-loading-inner > footer .semi-typography {
margin: 0;
color: #8390a2;
font-size: 10px;
line-height: 1.55;
}
.v2-auth-form-heading {
display: grid;
justify-items: center;
}
.v2-auth-form-heading > h3.semi-typography {
margin: 2px 0 0;
color: #25374d;
text-align: center;
font-size: 25px;
letter-spacing: -.035em;
}
.v2-auth-form-heading > h3 + .semi-typography {
margin: 11px 0 18px;
color: #738196;
text-align: center;
font-size: 13px;
line-height: 1.7;
}
.v2-auth-error {
margin-top: 14px;
}
.v2-auth-error .semi-banner {
align-items: flex-start;
border: 1px solid #f3cbc7;
border-radius: 10px;
background: #fff8f7;
padding: 10px 11px;
}
.v2-auth-error .semi-banner-icon {
margin-top: 1px;
color: #d92d20;
}
.v2-auth-error .semi-banner-title {
color: #9f2d25;
font-size: 11px;
font-weight: 700;
}
.v2-auth-error .semi-banner-description {
margin-top: 3px;
color: #a94b43;
font-size: 10px;
line-height: 1.5;
}
.v2-auth-form > .v2-auth-error + .semi-button-primary {
margin-top: 16px;
}
.v2-auth-trust-note {
display: flex;
min-height: 28px;
align-items: center;
justify-content: center;
gap: 6px;
margin-top: 10px;
color: #8793a4;
}
.v2-auth-trust-note > svg {
flex: 0 0 auto;
color: #5f7fa9;
font-size: 12px;
}
.v2-auth-trust-note > .semi-typography {
margin: 0;
color: #8793a4;
font-size: 10px;
}
/* Semi UI identity workspace: one explicit account and operations entry system. */
.v2-auth-screen:not(.is-session-loading) {
grid-template-columns: minmax(430px, 1.12fr) minmax(420px, 460px);
column-gap: clamp(34px, 5vw, 82px);
background:
radial-gradient(circle at 18% 14%, rgba(18, 104, 243, .11), transparent 30%),
linear-gradient(135deg, #f7faff 0%, #f2f6fb 56%, #eef3f9 100%);
padding: clamp(30px, 5vw, 72px);
}
.v2-auth-intro {
width: 100%;
max-width: 720px;
min-width: 0;
padding: 30px clamp(0px, 3vw, 44px);
}
.v2-auth-intro > header {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 22px;
}
.v2-auth-intro > header > img {
display: block;
width: 168px;
max-width: 48%;
height: auto;
}
.v2-auth-intro > header > .semi-tag {
height: 28px;
flex: 0 0 auto;
border-radius: 999px;
padding-inline: 10px;
font-size: 10px;
font-weight: 700;
}
.v2-auth-intro > h1.semi-typography {
max-width: 650px;
margin: clamp(42px, 7vh, 66px) 0 20px;
color: #172a43;
font-size: clamp(40px, 4.2vw, 62px);
font-weight: 730;
line-height: 1.1;
letter-spacing: -.052em;
}
.v2-auth-intro > h1 + .semi-typography {
display: block;
max-width: 560px;
margin: 0;
color: #65758b;
font-size: 15px;
line-height: 1.85;
}
.v2-auth-assurances {
display: grid;
max-width: 650px;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
margin: 30px 0 0;
padding: 0;
list-style: none;
}
.v2-auth-assurances > li {
display: grid;
min-width: 0;
grid-template-columns: 34px minmax(0, 1fr);
align-items: start;
gap: 10px;
border: 1px solid rgba(218, 228, 240, .92);
border-radius: 14px;
background: rgba(255, 255, 255, .72);
padding: 13px 12px;
box-shadow: 0 8px 28px rgba(36, 59, 90, .035);
}
.v2-auth-assurances > li > span {
display: grid;
width: 34px;
height: 34px;
place-items: center;
border-radius: 10px;
background: #eaf3ff;
color: #1268f3;
font-size: 16px;
}
.v2-auth-assurances > li > div {
display: grid;
min-width: 0;
gap: 3px;
}
.v2-auth-assurances strong {
color: #34465d;
font-size: 11px;
font-weight: 750;
line-height: 1.45;
}
.v2-auth-assurances small {
color: #8290a3;
font-size: 9px;
line-height: 1.55;
}
.v2-auth-intro > footer {
display: flex;
align-items: center;
gap: 7px;
margin-top: 22px;
color: #74869d;
}
.v2-auth-intro > footer > svg {
color: #4676b6;
font-size: 12px;
}
.v2-auth-intro > footer > .semi-typography {
margin: 0;
color: #74869d;
font-size: 10px;
}
.v2-auth-screen:not(.is-session-loading) > .v2-auth-card.semi-card {
width: min(460px, 100%);
justify-self: end;
border-color: rgba(207, 219, 234, .96);
border-radius: 24px;
background: rgba(255, 255, 255, .98);
box-shadow: 0 28px 78px rgba(25, 43, 69, .14);
}
.v2-auth-form {
padding: 32px 34px 28px;
}
.v2-auth-logo {
width: 142px;
margin: 0 auto 16px;
}
.v2-auth-form-heading > .semi-tag {
height: 26px;
margin-bottom: 11px;
border-radius: 999px;
padding-inline: 9px;
font-size: 10px;
font-weight: 700;
}
.v2-auth-form-heading > h3.semi-typography {
font-size: 24px;
}
.v2-auth-form-heading > h3 + .semi-typography {
max-width: 330px;
margin: 8px 0 0;
font-size: 12px;
line-height: 1.65;
}
.v2-auth-mode-tabs {
margin-top: 20px;
}
.v2-auth-mode-tabs > .semi-tabs-bar {
width: 100%;
border: 1px solid #e5ebf3;
border-radius: 12px;
background: #f4f7fb;
padding: 4px;
}
.v2-auth-mode-tabs > .semi-tabs-bar .semi-tabs-tab {
width: 50%;
min-width: 0;
height: 38px;
justify-content: center;
border-radius: 9px;
color: #718096;
font-size: 11px;
font-weight: 650;
}
.v2-auth-mode-tabs > .semi-tabs-bar .semi-tabs-tab-active {
background: #fff;
color: #1268f3;
box-shadow: 0 2px 8px rgba(30, 58, 92, .1);
}
.v2-auth-mode-tabs > .semi-tabs-content {
padding: 0;
}
.v2-auth-fields {
display: grid;
gap: 0;
min-height: 145px;
}
.v2-auth-fields > label {
display: flex;
flex-direction: column;
gap: 7px;
margin-top: 14px;
color: #405269;
font-size: 12px;
font-weight: 680;
}
.v2-auth-fields > label .semi-input-wrapper {
height: 44px;
border-color: #dbe4ef;
border-radius: 10px;
background: #fbfcfe;
box-shadow: none;
}
.v2-auth-fields > label .semi-input-wrapper:hover {
border-color: #b8c9dd;
background: #fff;
}
.v2-auth-fields > label .semi-input-wrapper-focus {
border-color: #6da3f7;
background: #fff;
box-shadow: 0 0 0 3px rgba(18, 104, 243, .1);
}
.v2-auth-token-note.semi-banner {
align-items: flex-start;
margin-top: 14px;
border: 1px solid #f4d9a7;
border-radius: 10px;
background: #fffbf2;
padding: 9px 10px;
}
.v2-auth-token-note .semi-banner-title {
color: #815d16;
font-size: 10px;
font-weight: 750;
}
.v2-auth-token-note .semi-banner-description {
margin-top: 2px;
color: #9b7a37;
font-size: 9px;
line-height: 1.5;
}
.v2-auth-form > .semi-button-primary {
height: 46px;
margin-top: 18px;
border-radius: 10px;
font-size: 13px;
font-weight: 750;
box-shadow: 0 10px 22px rgba(18, 104, 243, .2);
}
.v2-auth-trust-note {
margin-top: 12px;
}
.v2-auth-trust-note > .semi-typography {
line-height: 1.45;
}
.v2-route-error {
align-content: center;
background:
radial-gradient(circle at 50% 38%, rgba(18, 104, 243, .065), transparent 30%),
var(--v2-bg);
}
.v2-route-error > .v2-route-error-card.semi-card {
width: min(620px, 100%);
max-width: none;
min-width: 0;
overflow: hidden;
border: 1px solid #d8e2ee;
border-radius: 18px;
background: rgba(255, 255, 255, .98);
box-shadow: 0 24px 68px rgba(29, 48, 76, .12);
text-align: left;
}
.v2-route-error-card.semi-card > .semi-card-body {
padding: 0;
}
.v2-route-error-content {
display: grid;
gap: 20px;
padding: 28px;
}
.v2-route-error-content > header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.v2-route-error-icon {
display: grid;
width: 46px;
height: 46px;
flex: 0 0 auto;
place-items: center;
border-radius: 13px;
background: #fff1ef;
color: #d92d20;
font-size: 21px;
}
.v2-route-error.is-update .v2-route-error-icon {
background: #edf4ff;
color: var(--v2-blue);
}
.v2-route-error.is-timeout .v2-route-error-icon {
background: #fff6e7;
color: #c56a0a;
}
.v2-route-error-content > header .semi-tag {
height: 28px;
border-radius: 999px;
padding-inline: 11px;
font-size: 10px;
font-weight: 700;
}
.v2-route-error-copy {
display: grid;
gap: 9px;
}
.v2-route-error-copy > h2.semi-typography {
margin: 0;
color: #25374d;
font-size: clamp(22px, 2.3vw, 28px);
line-height: 1.25;
letter-spacing: -.035em;
}
.v2-route-error-copy > .semi-typography {
max-width: 540px;
margin: 0;
color: #718096;
font-size: 12px;
line-height: 1.75;
}
.v2-route-error-detail {
overflow: hidden;
border: 1px solid #e3e9f1;
border-radius: 9px;
background: #f8fafc;
}
.v2-route-error-detail > summary {
min-height: 36px;
padding: 10px 12px;
color: #607087;
cursor: pointer;
font-size: 10px;
font-weight: 650;
list-style-position: inside;
}
.v2-route-error-detail > code {
margin: 0;
overflow: auto;
border-top: 1px solid #e3e9f1;
padding: 10px 12px;
color: #9f3f38;
font-size: 10px;
line-height: 1.55;
text-overflow: clip;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.v2-route-error-content > .v2-recovery-actions {
justify-content: flex-start;
margin-top: 0;
}
.v2-route-error .v2-recovery-actions > .semi-button {
min-height: 38px;
border-radius: 9px;
padding-inline: 14px;
font-size: 11px;
font-weight: 700;
}
@media (max-width: 680px) {
.v2-auth-screen:not(.is-session-loading) {
display: block;
min-height: 100dvh;
background:
radial-gradient(circle at 50% 0, rgba(18, 104, 243, .1), transparent 34%),
#f3f6fa;
padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
}
.v2-auth-screen:not(.is-session-loading) > .v2-auth-card.semi-card {
width: 100%;
justify-self: auto;
border-radius: 18px;
box-shadow: 0 16px 42px rgba(25, 43, 69, .1);
backdrop-filter: none;
}
.v2-auth-form {
padding: 24px 18px 20px;
}
.v2-auth-logo {
width: 132px;
margin-bottom: 14px;
}
.v2-auth-form-heading > .semi-tag {
margin-bottom: 9px;
}
.v2-auth-loading-inner {
gap: 20px;
padding: 22px 18px;
}
.v2-auth-loading-header {
padding-bottom: 16px;
}
.v2-auth-loading-header > img {
width: 132px;
}
.v2-auth-loading-status {
align-items: flex-start;
}
.v2-auth-loading-status > span {
width: 42px;
height: 42px;
border-radius: 12px;
}
.v2-auth-loading-status h4.semi-typography {
font-size: 16px;
}
.v2-auth-loading-status .semi-typography-tertiary {
font-size: 10px;
}
.v2-auth-loading-skeleton {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-auth-loading-skeleton > i:last-child {
grid-column: 1 / -1;
}
.v2-auth-form-heading > h3.semi-typography {
font-size: 21px;
}
.v2-auth-form-heading > h3 + .semi-typography {
max-width: 290px;
font-size: 11px;
}
.v2-auth-mode-tabs {
margin-top: 17px;
}
.v2-auth-mode-tabs > .semi-tabs-bar .semi-tabs-tab {
height: 40px;
font-size: 12px;
}
.v2-auth-fields {
min-height: 143px;
}
.v2-auth-fields > label {
font-size: 12px;
}
.v2-auth-fields > label .semi-input-wrapper {
height: 46px;
}
.v2-auth-form > .semi-button-primary {
height: 46px;
font-size: 13px;
}
.v2-auth-token-note.semi-banner {
margin-top: 12px;
}
.v2-route-error > .v2-route-error-card.semi-card {
border-radius: 15px;
}
.v2-route-error-content {
gap: 17px;
padding: 21px 18px;
}
.v2-route-error-icon {
width: 42px;
height: 42px;
border-radius: 12px;
font-size: 19px;
}
.v2-route-error-copy > h2.semi-typography {
font-size: 21px;
}
.v2-route-error-copy > .semi-typography {
font-size: 11px;
line-height: 1.7;
}
.v2-route-error-content > .v2-recovery-actions {
display: grid;
grid-template-columns: minmax(0, 1fr);
}
.v2-route-error .v2-recovery-actions > .semi-button {
width: 100%;
min-height: 42px;
justify-content: center;
font-size: 12px;
}
}
@media (min-width: 681px) and (max-width: 900px) {
.v2-auth-screen:not(.is-session-loading) {
grid-template-columns: minmax(0, 460px);
justify-content: center;
padding: 30px;
}
.v2-auth-screen:not(.is-session-loading) > .v2-auth-card.semi-card {
justify-self: center;
}
}
@media (prefers-reduced-motion: reduce) {
.v2-auth-loading-skeleton > i {
animation: none;
}
}
/* Unified application shell: page context, help, account and password flows. */
.v2-topbar {
border-bottom-color: #e4eaf2;
background: rgba(255, 255, 255, .95);
box-shadow: 0 3px 14px rgba(29, 45, 68, .025);
}
.v2-topbar-title {
min-width: 0;
gap: 2px;
}
.v2-topbar-title > .semi-typography {
color: #8a96a8;
font-size: 10px;
font-weight: 550;
letter-spacing: .02em;
}
.v2-topbar-title > h4.semi-typography {
overflow: hidden;
margin: 0;
color: #24364c;
font-size: 21px;
font-weight: 720;
letter-spacing: -.035em;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-topbar-actions {
gap: 8px;
}
.v2-topbar-actions > .v2-help-trigger.semi-button {
width: auto;
min-width: 104px;
height: 38px;
gap: 6px;
border: 1px solid #e0e7f0;
border-radius: 9px;
background: #f8fafc;
padding: 0 12px;
color: #5d6d82;
font-size: 11px;
font-weight: 650;
}
.v2-topbar-actions > .v2-help-trigger.semi-button:hover,
.v2-topbar-actions > .v2-help-trigger.semi-button[aria-expanded="true"] {
border-color: #c9d8ec;
background: #f2f7ff;
color: var(--v2-blue);
}
.v2-help-trigger .semi-button-content {
display: flex;
align-items: center;
gap: 6px;
}
.v2-topbar-actions > .v2-current-user.semi-button {
min-width: 0;
height: 38px;
margin: 0;
border: 1px solid transparent;
border-radius: 9px;
padding: 0 9px;
color: #4d5e74;
}
.v2-topbar-actions > .v2-current-user.semi-button:hover,
.v2-topbar-actions > .v2-current-user.semi-button[aria-expanded="true"] {
border-color: #d9e3ef;
background: #f6f9fd;
}
.v2-current-user .semi-avatar {
box-shadow: inset 0 0 0 1px rgba(18, 104, 243, .1);
}
.v2-current-user b {
max-width: 128px;
color: #34465d;
font-size: 11px;
font-weight: 680;
}
.v2-current-user .semi-tag {
height: 22px;
border-radius: 999px;
padding-inline: 7px;
font-size: 9px;
font-weight: 650;
}
.v2-help-sheet .semi-sidesheet-inner {
border-left: 1px solid #dce5ef;
background: #f6f8fb;
box-shadow: -18px 0 54px rgba(29, 45, 68, .13);
}
.v2-help-sheet .semi-sidesheet-header {
min-height: 82px;
border-bottom: 1px solid #e1e7ef;
background: #fff;
padding: 16px 18px;
}
.v2-help-sheet-title {
display: flex;
align-items: center;
gap: 11px;
}
.v2-help-sheet-title > span {
display: grid;
width: 38px;
height: 38px;
flex: 0 0 auto;
place-items: center;
border-radius: 11px;
background: #edf4ff;
color: var(--v2-blue);
font-size: 18px;
}
.v2-help-sheet-title > div {
display: grid;
min-width: 0;
gap: 2px;
}
.v2-help-sheet-title .semi-typography-tertiary {
margin: 0;
color: #8a96a7;
font-size: 9px;
font-weight: 600;
letter-spacing: .03em;
}
.v2-help-sheet-title h4.semi-typography {
overflow: hidden;
margin: 0;
color: #26394f;
font-size: 18px;
letter-spacing: -.025em;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-help-sheet .semi-sidesheet-body {
background: #f6f8fb;
padding: 16px;
}
.v2-help-sheet .semi-sidesheet-footer {
border-top: 1px solid #e2e8f0;
background: #fff;
padding: 12px 16px;
}
.v2-help-sheet .semi-sidesheet-footer .semi-button {
min-height: 40px;
border-radius: 9px;
font-size: 12px;
font-weight: 650;
}
.v2-help-panel {
display: grid;
gap: 14px;
padding: 0;
}
.v2-help-overview.semi-card {
border: 1px solid #dbe5f2;
border-radius: 12px;
background: linear-gradient(135deg, #fff 0%, #f5f9ff 100%);
box-shadow: 0 6px 18px rgba(34, 61, 96, .045);
}
.v2-help-overview > .semi-card-body {
display: grid;
gap: 10px;
padding: 15px !important;
}
.v2-help-overview .semi-tag {
width: max-content;
height: 24px;
border-radius: 999px;
padding-inline: 8px;
font-size: 9px;
font-weight: 700;
}
.v2-help-overview .semi-typography {
margin: 0;
color: #53647a;
font-size: 12px;
line-height: 1.75;
}
.v2-help-section-label {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 1px 2px 0;
}
.v2-help-section-label > .semi-typography-primary {
color: #33465d;
font-size: 12px;
}
.v2-help-section-label > .semi-typography-tertiary {
color: #929daf;
font-size: 9px;
}
.v2-help-panel ol {
gap: 8px;
}
.v2-help-panel li {
min-height: 58px;
grid-template-columns: 30px minmax(0, 1fr);
align-items: center;
gap: 10px;
border: 1px solid #e5eaf1;
border-radius: 10px;
background: #fff;
padding: 11px 12px;
color: #4c5e75;
font-size: 11px;
line-height: 1.65;
box-shadow: 0 2px 8px rgba(29, 45, 68, .025);
}
.v2-help-panel li > span {
width: 28px;
height: 28px;
border-radius: 9px;
background: #eef5ff;
color: #3974c8;
font-size: 10px;
}
.v2-help-panel > footer {
justify-content: flex-end;
margin-top: 0;
padding: 0 2px;
color: #909bad;
}
.v2-account-dropdown {
width: 272px;
min-width: 272px;
border-color: #dce4ee;
border-radius: 13px;
padding: 7px;
box-shadow: 0 20px 54px rgba(24, 38, 58, .17);
}
.v2-account-dropdown-profile {
min-width: 0;
grid-template-columns: 38px minmax(0, 1fr) auto;
gap: 10px;
border: 1px solid #e4eaf2;
border-radius: 10px;
background: linear-gradient(135deg, #f8fbff 0%, #f2f7fd 100%);
padding: 11px;
}
.v2-account-dropdown-profile > span {
display: grid;
min-width: 0;
gap: 1px;
}
.v2-account-dropdown-profile small,
.v2-account-dropdown-profile strong,
.v2-account-dropdown-profile em {
overflow: hidden;
margin: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-account-dropdown-profile small {
color: #8b97a8;
font-size: 8px;
font-weight: 600;
letter-spacing: .03em;
}
.v2-account-dropdown-profile strong {
color: #293c53;
font-size: 12px;
font-weight: 720;
}
.v2-account-dropdown-profile em {
color: #7f8d9f;
font-size: 9px;
font-style: normal;
font-weight: 500;
}
.v2-account-dropdown-profile .semi-tag {
height: 22px;
border-radius: 999px;
padding-inline: 7px;
font-size: 8px;
font-weight: 700;
}
.v2-account-dropdown .semi-dropdown-divider {
margin: 7px 3px;
}
.v2-account-dropdown .semi-dropdown-item {
min-height: 40px;
border-radius: 8px;
padding-inline: 11px;
color: #4d6077;
font-size: 11px;
font-weight: 650;
}
.v2-password-modal.semi-modal {
width: min(500px, calc(100vw - 32px)) !important;
}
.v2-password-modal .semi-modal-content {
overflow: hidden;
border: 1px solid #dbe4ee;
border-radius: 17px;
box-shadow: 0 24px 72px rgba(21, 37, 59, .2);
}
.v2-password-modal .semi-modal-header {
min-height: 76px;
border-bottom: 1px solid #e5eaf1;
background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
padding: 15px 20px;
}
.v2-password-title {
display: flex;
align-items: center;
gap: 11px;
}
.v2-password-title > span {
display: grid;
width: 38px;
height: 38px;
flex: 0 0 auto;
place-items: center;
border-radius: 11px;
background: #edf4ff;
color: var(--v2-blue);
font-size: 17px;
}
.v2-password-title > div {
display: grid;
gap: 2px;
}
.v2-password-title h4.semi-typography {
margin: 0;
color: #293b51;
font-size: 17px;
letter-spacing: -.02em;
}
.v2-password-title .semi-typography-tertiary {
margin: 0;
color: #8b96a7;
font-size: 9px;
}
.v2-password-modal .semi-modal-body {
padding: 18px 20px 20px;
}
.v2-password-dialog {
display: grid;
gap: 0;
}
.v2-password-dialog > .semi-banner {
border: 1px solid #f2dfb9;
border-radius: 9px;
background: #fffaf0;
padding: 9px 10px;
}
.v2-password-dialog > .semi-banner .semi-banner-title {
font-size: 10px;
font-weight: 700;
}
.v2-password-dialog > .semi-banner .semi-banner-description {
margin-top: 2px;
font-size: 9px;
line-height: 1.5;
}
.v2-password-dialog > label {
gap: 7px;
margin-top: 14px;
color: #52637a;
font-size: 11px;
font-weight: 680;
}
.v2-password-dialog > label .semi-input-wrapper {
height: 42px;
border-radius: 8px;
}
.v2-password-rules {
display: grid;
grid-template-columns: minmax(0, .72fr) minmax(0, 1.6fr);
gap: 7px;
margin-top: 9px;
}
.v2-password-rules > span {
display: flex;
min-width: 0;
align-items: flex-start;
gap: 5px;
border-radius: 7px;
background: #f4f6f9;
padding: 7px 8px;
color: #8793a3;
font-size: 8px;
line-height: 1.45;
}
.v2-password-rules > span > svg {
flex: 0 0 auto;
margin-top: 1px;
}
.v2-password-rules > span.is-valid {
background: #edf9f3;
color: #16805b;
}
.v2-password-match.semi-typography {
margin: 8px 0 0;
font-size: 9px;
font-weight: 650;
}
.v2-password-match.is-valid {
color: #16805b;
}
.v2-password-match.is-error {
color: #b42318;
}
.v2-password-error.semi-banner {
margin-top: 10px;
border-color: #f0cbc7;
background: #fff7f6;
}
.v2-password-dialog > footer {
display: grid;
grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr);
gap: 9px;
margin-top: 20px;
}
.v2-password-dialog > footer > .semi-button {
width: 100%;
min-height: 42px;
justify-content: center;
border-radius: 9px;
font-size: 11px;
font-weight: 700;
}
@media (max-width: 680px) {
.v2-topbar {
height: 56px;
flex-basis: 56px;
padding-inline: 12px 8px;
}
.v2-topbar-title {
min-width: 0;
flex: 1 1 auto;
}
.v2-topbar-title > .v2-topbar-product.semi-typography {
display: none;
}
.v2-topbar-title > .v2-topbar-page-title.semi-typography {
display: block;
max-width: min(58vw, 230px);
font-size: 17px;
line-height: 1.2;
}
.v2-topbar-actions {
gap: 2px;
}
.v2-topbar-actions > .v2-help-trigger.semi-button {
width: 40px;
min-width: 40px;
height: 40px;
border-color: transparent;
background: transparent;
padding: 0;
}
.v2-help-trigger .v2-help-trigger-label {
display: none;
}
.v2-topbar-actions > .v2-current-user.semi-button {
width: 40px;
min-width: 40px;
height: 40px;
padding: 0;
}
.v2-mobile-navigation {
border-top-color: #e1e8f1;
background: rgba(255, 255, 255, .985);
box-shadow: 0 -8px 26px rgba(25, 44, 70, .085);
}
.v2-mobile-navigation .v2-mobile-nav-item {
gap: 2px;
background: transparent;
}
.v2-mobile-navigation .v2-mobile-nav-item > .semi-icon,
.v2-mobile-navigation > .semi-button.v2-mobile-nav-item .semi-icon {
display: inline-grid;
width: 32px;
height: 26px;
flex: 0 0 auto;
place-items: center;
border-radius: 9px;
font-size: 18px;
transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.v2-mobile-navigation .v2-mobile-nav-item.is-active {
background: transparent;
color: var(--v2-blue);
}
.v2-mobile-navigation .v2-mobile-nav-item.is-active > .semi-icon,
.v2-mobile-navigation > .semi-button.v2-mobile-nav-item.is-active .semi-icon {
background: #eaf3ff;
box-shadow: inset 0 0 0 1px rgba(18, 104, 243, .07);
}
.v2-mobile-navigation .v2-mobile-nav-item.is-active::after {
display: none;
}
.v2-mobile-navigation > .semi-button.v2-mobile-nav-item .semi-button-content {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 2px;
}
.v2-help-sheet .semi-sidesheet-inner {
width: 100vw !important;
}
.v2-help-sheet .semi-sidesheet-header {
min-height: 70px;
padding: 12px 14px;
}
.v2-help-sheet .semi-sidesheet-body {
padding: 12px;
}
.v2-help-sheet-title > span {
width: 34px;
height: 34px;
border-radius: 10px;
font-size: 16px;
}
.v2-help-sheet-title h4.semi-typography {
font-size: 16px;
}
.v2-help-panel li {
min-height: 56px;
}
.v2-account-dropdown {
width: min(272px, calc(100vw - 20px));
min-width: min(272px, calc(100vw - 20px));
}
.v2-password-modal.semi-modal {
width: calc(100vw - 16px) !important;
max-width: 500px;
}
.v2-password-modal .semi-modal-content {
max-height: calc(100dvh - 24px);
border-radius: 15px;
}
.v2-password-modal .semi-modal-header {
min-height: 68px;
padding: 12px 14px;
}
.v2-password-modal .semi-modal-body {
max-height: calc(100dvh - 92px);
overflow-y: auto;
padding: 14px;
}
.v2-password-title > span {
width: 34px;
height: 34px;
border-radius: 10px;
}
.v2-password-rules {
grid-template-columns: minmax(0, 1fr);
gap: 5px;
}
.v2-password-dialog > label .semi-input-wrapper {
height: 46px;
}
.v2-password-dialog > footer {
position: sticky;
bottom: -14px;
z-index: 2;
margin-inline: -14px;
margin-bottom: -14px;
border-top: 1px solid #e4e9f0;
background: rgba(255, 255, 255, .97);
padding: 11px 14px calc(11px + env(safe-area-inset-bottom));
backdrop-filter: blur(10px);
}
.v2-password-dialog > footer > .semi-button {
min-height: 44px;
}
}
/* Semi UI data workspace controls: one filter anatomy and one compact pager. */
.v2-workspace-filter-panel.semi-card {
overflow: visible;
border-color: #dce5ef;
border-radius: 12px;
background: #fff;
box-shadow: 0 6px 20px rgba(31, 47, 70, .05);
}
.v2-workspace-filter-panel > .semi-card-body {
overflow: visible;
}
.v2-workspace-filter-heading {
display: flex;
min-height: 44px;
align-items: center;
gap: 9px;
border-bottom: 1px solid #e6ebf2;
border-radius: 12px 12px 0 0;
background: linear-gradient(100deg, #f8fbff 0%, #f5f8fc 58%, #fbfcfe 100%);
padding: 7px 12px;
}
.v2-workspace-filter-icon {
display: inline-grid;
width: 28px;
height: 28px;
flex: 0 0 auto;
place-items: center;
border-radius: 8px;
background: #eaf2ff;
color: var(--v2-blue);
font-size: 14px;
}
.v2-workspace-filter-copy {
display: flex;
min-width: 0;
flex: 1 1 auto;
align-items: baseline;
gap: 8px;
}
.v2-workspace-filter-copy > .semi-typography:first-child {
flex: 0 0 auto;
margin: 0;
color: #30445d;
font-size: 12px;
font-weight: 700;
line-height: 1.3;
}
.v2-workspace-filter-copy > .semi-typography:last-child {
min-width: 0;
overflow: hidden;
color: #7d8b9d;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-filter-heading > .semi-tag {
min-height: 23px;
flex: 0 0 auto;
border-radius: 999px;
padding-inline: 8px;
font-size: 9px;
font-weight: 650;
}
.v2-mileage-query-panel.v2-workspace-filter-panel.semi-card {
border-radius: 12px;
}
.v2-mileage-query-panel .v2-workspace-filter-heading {
min-height: 42px;
}
@media (min-width: 681px) and (max-width: 1050px) {
.v2-mileage-query-panel .v2-mileage-filter {
min-height: 0;
grid-template-columns: minmax(200px, 1.35fr) repeat(2, minmax(112px, .72fr)) auto;
grid-template-areas:
"vehicle start end submit"
"source ranges ranges ranges";
align-items: end;
}
.v2-mileage-query-panel .v2-mileage-vehicle-field {
grid-area: vehicle;
}
.v2-mileage-query-panel .v2-mileage-filter > label:nth-of-type(2) {
grid-area: start;
}
.v2-mileage-query-panel .v2-mileage-filter > label:nth-of-type(3) {
grid-area: end;
}
.v2-mileage-query-panel .v2-mileage-filter > .v2-primary-button {
grid-area: submit;
width: auto;
margin-top: 0;
}
.v2-mileage-query-panel .v2-mileage-source-strategy {
grid-area: source;
}
.v2-mileage-query-panel .v2-mileage-ranges {
grid-area: ranges;
}
}
.v2-table-pagination.semi-page {
min-width: 0;
color: #607086;
}
.v2-table-pagination.semi-page .semi-page-item {
width: 30px;
min-width: 30px;
height: 30px;
margin: 0 1px;
border: 1px solid transparent;
border-radius: 8px;
line-height: 30px;
}
.v2-table-pagination.semi-page .semi-page-item-small {
width: auto;
min-width: 56px;
border-color: #dce5f0;
background: #f7faff;
color: #52647a;
font-size: 10px;
font-variant-numeric: tabular-nums;
font-weight: 650;
}
.v2-table-pagination.semi-page .semi-page-prev:not(.semi-page-item-disabled):hover,
.v2-table-pagination.semi-page .semi-page-next:not(.semi-page-item-disabled):hover {
border-color: #b9cee9;
background: #f2f7ff;
color: var(--v2-blue);
}
.v2-table-pagination.semi-page .semi-page-item-disabled {
background: #f8fafc;
color: #b1bbc8;
}
@media (max-width: 900px) {
.v2-workspace-filter-heading {
min-height: 42px;
padding-inline: 10px;
}
.v2-workspace-filter-copy > .semi-typography:last-child {
display: none;
}
}
@media (max-width: 680px) {
.v2-workspace-filter-heading {
display: none;
}
.v2-workspace-filter-panel.semi-card {
border-radius: 11px;
}
.v2-mileage-query-panel.v2-workspace-filter-panel.semi-card {
border-radius: 11px;
}
.v2-table-pagination-controls {
justify-content: space-between;
}
.v2-table-pagination.semi-page {
flex: 1 1 auto;
justify-content: flex-start;
}
.v2-table-pagination.semi-page .semi-page-item {
width: 36px;
min-width: 36px;
height: 36px;
line-height: 36px;
}
.v2-table-pagination.semi-page .semi-page-item-small {
width: auto;
min-width: 62px;
}
}
/* Semi UI single-vehicle command workspace. */
.v2-vehicle-command-card.semi-card {
min-height: 0;
overflow: hidden;
border: 1px solid #d7e2ee;
border-radius: 13px;
background: #fff;
box-shadow: 0 10px 30px rgba(31, 53, 80, .065);
content-visibility: visible;
}
.v2-vehicle-command-card > .semi-card-body {
display: block;
min-height: 0;
}
.v2-vehicle-command-header {
display: grid;
grid-template-columns: minmax(270px, .78fr) minmax(320px, 1.08fr) minmax(300px, .9fr);
align-items: stretch;
background: #fff;
}
.v2-vehicle-command-header .v2-identity-primary {
display: grid;
grid-template-columns: auto auto;
grid-template-rows: auto auto;
align-content: center;
align-items: center;
justify-content: start;
gap: 7px 10px;
padding: 14px 16px;
}
.v2-vehicle-command-header .v2-plate {
min-height: 40px;
border-color: #b9d2fb;
border-radius: 9px;
background: #edf4ff;
padding-inline: 13px;
color: var(--v2-blue);
font-size: 17px;
letter-spacing: .01em;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65);
}
.v2-vehicle-command-header .v2-online-label.semi-tag {
min-height: 25px;
margin: 0;
border-radius: 999px;
padding-inline: 9px;
font-size: 10px;
font-weight: 700;
}
.v2-identity-vin {
display: flex;
min-width: 0;
grid-column: 1 / -1;
align-items: center;
gap: 7px;
}
.v2-vehicle-command-header .v2-identity-vin small,
.v2-vehicle-command-header .v2-identity-vin b,
.v2-vehicle-command-header .v2-identity-vin .semi-button {
grid-row: auto;
}
.v2-vehicle-command-header .v2-identity-vin small {
flex: 0 0 auto;
color: #8290a2;
font-size: 10px;
font-weight: 600;
}
.v2-vehicle-command-header .v2-identity-vin b {
min-width: 0;
overflow: hidden;
color: #41536a;
font-size: 11px;
font-variant-numeric: tabular-nums;
letter-spacing: .015em;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-command-header .v2-identity-vin .semi-button {
width: 28px;
min-width: 28px;
height: 28px;
flex: 0 0 auto;
border-radius: 7px;
color: #73849a;
}
.v2-vehicle-command-header .v2-identity-meta {
display: grid;
min-width: 0;
grid-template-columns: minmax(180px, 1.15fr) minmax(160px, .85fr);
align-items: center;
gap: 0;
border: 0;
border-left: 1px solid #e4eaf2;
padding: 12px 0;
}
.v2-vehicle-command-header .v2-identity-meta > div {
min-width: 0;
padding: 0 16px;
}
.v2-vehicle-command-header .v2-identity-meta > div + div {
margin: 0;
border: 0;
border-left: 1px solid #e7edf4;
padding: 0 16px;
}
.v2-vehicle-command-header .v2-identity-meta small {
display: block;
color: #7b899b;
font-size: 10px;
font-weight: 600;
}
.v2-vehicle-command-header .v2-identity-meta strong {
display: block;
margin-top: 6px;
overflow: hidden;
color: #2c4057;
font-size: 12px;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-command-header .v2-identity-sources {
display: flex;
min-width: 0;
flex-wrap: wrap;
gap: 5px;
margin: 6px 0 0;
}
.v2-vehicle-command-header .v2-identity-meta .semi-tag {
min-height: 22px;
margin: 0;
border-radius: 6px;
padding-inline: 7px;
font-size: 9px;
font-weight: 650;
}
.v2-vehicle-command-header .v2-identity-actions {
display: flex;
min-width: 0;
grid-column: auto;
flex-wrap: wrap;
align-content: center;
justify-content: flex-end;
gap: 6px;
border-left: 1px solid #e4eaf2;
padding: 12px 14px;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button {
width: auto;
min-width: 88px;
min-height: 34px;
flex: 0 1 auto;
border-radius: 8px;
padding-inline: 10px;
font-size: 10px;
font-weight: 650;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button-primary {
border-color: #bcd3f8;
background: #edf4ff;
color: var(--v2-blue);
}
.v2-vehicle-live-section {
border-top: 1px solid #dfe7f0;
background: #fbfcfe;
}
.v2-vehicle-live-section > .v2-workspace-panel-header {
min-height: 48px;
border-bottom: 1px solid #e6ecf3;
background: #f8fafd;
padding: 8px 14px;
}
.v2-vehicle-live-section .v2-live-report-meta {
max-width: min(520px, 42vw);
color: #65778d;
font-size: 10px;
font-variant-numeric: tabular-nums;
}
.v2-vehicle-command-card .v2-live-grid {
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
background: #fff;
}
.v2-vehicle-command-card .v2-live-grid > div {
position: relative;
min-width: 0;
min-height: 88px;
border-top: 0;
border-left: 1px solid #e7edf4;
padding: 12px 14px 11px;
}
.v2-vehicle-command-card .v2-live-grid > div:first-child {
border-left: 0;
}
.v2-vehicle-command-card .v2-live-grid > div:nth-child(4) {
border-left: 1px solid #e7edf4;
}
.v2-vehicle-command-card .v2-live-grid > div:nth-child(n + 4) {
border-top: 0;
}
.v2-vehicle-command-card .v2-live-grid > div::after {
position: absolute;
right: 14px;
bottom: 0;
left: 14px;
height: 2px;
border-radius: 999px 999px 0 0;
background: #dce5ef;
content: "";
}
.v2-vehicle-command-card .v2-live-grid > div:nth-child(1)::after { background: #78a9ef; }
.v2-vehicle-command-card .v2-live-grid > div:nth-child(2)::after { background: #65bf94; }
.v2-vehicle-command-card .v2-live-grid > div:nth-child(3)::after { background: #79a7ea; }
.v2-vehicle-command-card .v2-live-grid > div:nth-child(4)::after { background: #2f7de9; }
.v2-vehicle-command-card .v2-live-grid > div:nth-child(6)::after { background: #43b77d; }
.v2-vehicle-command-card .v2-live-grid small {
color: #6c7d92;
font-size: 10px;
font-weight: 600;
}
.v2-vehicle-command-card .v2-live-grid strong,
.v2-vehicle-command-card .v2-live-source-link {
margin-top: 7px;
color: #213950;
font-size: 20px;
font-weight: 750;
letter-spacing: -.025em;
line-height: 1;
}
.v2-vehicle-command-card .v2-live-grid strong.is-text {
font-size: 15px;
letter-spacing: 0;
}
.v2-vehicle-command-card .v2-live-source-link .semi-button-content {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 6px;
}
.v2-vehicle-command-card .v2-live-grid em {
margin-left: 4px;
color: #8290a3;
font-size: 9px;
letter-spacing: 0;
}
.v2-vehicle-command-card .v2-live-grid > div > span:last-child {
display: block;
margin-top: 6px;
overflow: hidden;
color: #8996a7;
font-size: 9px;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-command-card .v2-current-location {
min-height: 48px;
grid-template-columns: minmax(310px, .8fr) minmax(420px, 1.2fr);
border-top: 1px solid #e4eaf2;
background: #f8fafd;
}
.v2-vehicle-command-card .v2-current-location > span {
padding: 7px 14px;
}
.v2-vehicle-command-card .v2-current-location small {
font-size: 10px;
font-weight: 600;
}
.v2-vehicle-command-card .v2-current-location strong {
color: #405269;
font-size: 11px;
}
.v2-vehicle-command-card .v2-current-address-action.semi-button {
min-height: 30px;
border-radius: 7px;
font-size: 10px;
}
.v2-vehicle-record-page .v2-record-grid {
gap: 14px;
}
.v2-vehicle-record-page .v2-events-card .v2-event-list .v2-event-row {
min-height: 48px;
}
.v2-vehicle-record-page .v2-events-card .v2-event-row strong {
font-size: 11px;
}
.v2-vehicle-record-page .v2-events-card .v2-event-row p,
.v2-vehicle-record-page .v2-events-card .v2-event-row time {
font-size: 9px;
}
@media (max-width: 1180px) {
.v2-vehicle-command-header {
grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
}
.v2-vehicle-command-header .v2-identity-actions {
grid-column: 1 / -1;
flex-wrap: nowrap;
justify-content: flex-start;
overflow-x: auto;
border-top: 1px solid #e4eaf2;
border-left: 0;
padding: 8px 12px;
scrollbar-width: thin;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button {
min-width: 112px;
flex: 0 0 auto;
}
}
@media (max-width: 900px) {
.v2-vehicle-record-page {
gap: 10px;
padding: 10px 12px 14px;
}
.v2-vehicle-command-header {
grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
}
.v2-vehicle-command-header .v2-identity-primary {
padding: 14px 16px;
}
.v2-vehicle-command-header .v2-identity-meta {
grid-template-columns: minmax(0, 1.1fr) minmax(130px, .9fr);
border-top: 0;
border-bottom: 0;
border-left: 1px solid #e4eaf2;
padding: 13px 0;
}
.v2-vehicle-command-header .v2-identity-meta > div {
padding-inline: 15px;
}
.v2-vehicle-command-header .v2-identity-meta > div + div {
margin: 0;
border-top: 0;
border-left: 1px solid #e7edf4;
padding: 0 15px;
}
.v2-vehicle-command-header .v2-identity-actions {
display: flex;
grid-template-columns: none;
gap: 7px;
}
.v2-vehicle-command-card .v2-live-grid {
display: flex;
overflow-x: auto;
overscroll-behavior-x: contain;
scroll-snap-type: x proximity;
scrollbar-width: thin;
}
.v2-vehicle-command-card .v2-live-grid > div {
min-width: 148px;
min-height: 100px;
flex: 0 0 148px;
border-top: 0;
border-left: 1px solid #e7edf4;
scroll-snap-align: start;
}
.v2-vehicle-command-card .v2-live-grid > div:first-child {
border-left: 0;
}
.v2-vehicle-command-card .v2-current-location {
grid-template-columns: minmax(210px, .78fr) minmax(0, 1.22fr);
}
.v2-vehicle-command-card .v2-current-location > span + span {
border-top: 0;
border-left: 1px solid #e4eaf2;
}
.v2-vehicle-record-nav .v2-workspace-panel-header {
min-height: 50px;
padding: 7px 9px;
}
.v2-vehicle-record-nav .v2-workspace-panel-copy > .semi-typography {
display: none;
}
}
@media (max-width: 680px) {
.v2-vehicle-record-page {
gap: 8px;
padding: 8px;
}
.v2-vehicle-command-card.semi-card {
border-radius: 11px;
}
.v2-vehicle-command-header {
grid-template-columns: 1fr;
}
.v2-vehicle-command-header .v2-identity-primary {
padding: 10px 12px 8px;
}
.v2-vehicle-command-header .v2-plate {
min-height: 36px;
padding-inline: 12px;
font-size: 15px;
}
.v2-vehicle-command-header .v2-identity-meta {
grid-template-columns: minmax(0, 1fr);
border-top: 1px solid #e7edf4;
border-left: 0;
padding: 0;
}
.v2-vehicle-command-header .v2-identity-meta > div {
padding: 9px 12px;
}
.v2-vehicle-command-header .v2-identity-meta > div + div {
margin: 0;
border-top: 1px solid #edf1f6;
border-left: 0;
padding: 8px 12px 9px;
}
.v2-vehicle-command-header .v2-identity-meta strong {
margin-top: 5px;
font-size: 11px;
}
.v2-vehicle-command-header .v2-identity-sources {
flex-wrap: wrap;
overflow: visible;
margin-top: 5px;
}
.v2-vehicle-command-header .v2-identity-meta .semi-tag {
flex: 0 0 auto;
}
.v2-vehicle-command-header .v2-identity-actions {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
gap: 4px;
overflow: visible;
padding: 6px 8px;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button {
width: 100%;
min-width: 0;
min-height: 52px;
padding: 4px 2px;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button .semi-button-content {
min-width: 0;
flex-direction: column;
justify-content: center;
gap: 3px;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button .semi-button-content-left {
margin-right: 0;
font-size: 15px;
}
.v2-vehicle-command-header .v2-identity-actions > .semi-button .semi-button-content-right {
max-width: 100%;
overflow: hidden;
margin-left: 0;
font-size: 9px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-vehicle-live-section > .v2-workspace-panel-header {
min-height: 46px;
padding: 8px 11px;
}
.v2-vehicle-live-section .v2-workspace-panel-copy > .semi-typography {
display: none;
}
.v2-vehicle-live-section .v2-live-report-meta {
max-width: 48vw;
font-size: 9px;
}
.v2-vehicle-command-card .v2-live-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
overflow: visible;
scroll-snap-type: none;
}
.v2-vehicle-command-card .v2-live-grid > div {
min-width: 0;
min-height: 82px;
flex: none;
padding: 11px 12px 10px;
}
.v2-vehicle-command-card .v2-live-grid > div:nth-child(3n + 1) {
border-left: 0;
}
.v2-vehicle-command-card .v2-live-grid > div:nth-child(n + 4) {
border-top: 1px solid #e7edf4;
}
.v2-vehicle-command-card .v2-live-grid strong,
.v2-vehicle-command-card .v2-live-source-link {
margin-top: 7px;
font-size: 17px;
}
.v2-vehicle-command-card .v2-live-grid strong.is-text {
font-size: 13px;
}
.v2-vehicle-command-card .v2-current-location {
grid-template-columns: 1fr;
}
.v2-vehicle-command-card .v2-current-location > span {
min-height: 38px;
padding: 5px 11px;
}
.v2-vehicle-command-card .v2-current-location > span + span {
border-top: 1px solid #e4eaf2;
border-left: 0;
}
.v2-vehicle-record-nav .v2-workspace-panel-header {
min-height: 50px;
grid-template-columns: auto minmax(0, 1fr);
padding-block: 5px;
}
.v2-vehicle-record-nav .v2-workspace-panel-copy > h5.semi-typography {
font-size: 11px;
}
.v2-vehicle-section-nav > .semi-button {
min-height: 44px;
}
.v2-vehicle-record-page .v2-record-grid {
gap: 10px;
}
.v2-vehicle-record-page .v2-single-map-card {
min-height: 330px;
}
.v2-vehicle-record-page > .v2-source-evidence .v2-source-evidence-trigger {
min-height: 54px;
padding-block: 7px;
}
}
/*
* Semi UI history workspace refinement.
* Keep one query surface and one evidence surface; the table owns the viewport.
*/
.v2-history-context-card.semi-card {
min-width: 0;
min-height: 78px;
flex: 0 0 auto;
overflow: hidden;
border: 1px solid #dce5ef;
border-radius: 10px;
background: #fff;
box-shadow: 0 6px 20px rgba(31, 47, 70, .045);
}
.v2-history-context-card > .semi-card-body {
height: 100%;
}
.v2-history-context {
display: grid;
min-width: 0;
min-height: 78px;
grid-template-columns: minmax(360px, 1.2fr) minmax(440px, .8fr);
}
.v2-history-context .v2-history-metrics {
display: grid;
min-width: 0;
min-height: 78px;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 12px;
border-right: 1px solid #e5ebf2;
background: linear-gradient(90deg, #f8fbff 0%, #fff 30%);
padding: 12px 14px;
}
.v2-history-metrics-heading {
display: flex;
flex-direction: column;
gap: 4px;
white-space: nowrap;
}
.v2-history-metrics-heading > strong {
color: #30445d;
font-size: 12px;
font-weight: 720;
}
.v2-history-metrics-heading > small {
color: #8795a8;
font-size: 10px;
font-variant-numeric: tabular-nums;
}
.v2-history-context .v2-history-metric-tag.semi-tag {
height: 30px;
border-color: #c2d8f8;
border-radius: 7px;
background: #edf5ff;
font-size: 11px;
}
.v2-history-context .v2-history-metrics-manage.semi-button {
min-width: 88px;
min-height: 34px;
flex: 0 0 auto;
border: 1px solid #d9e4f1;
border-radius: 8px;
background: #fff;
color: #526983;
font-size: 11px;
}
.v2-history-context .v2-history-summary {
display: grid;
min-width: 0;
min-height: 78px;
grid-template-columns: 1.05fr .75fr 1.45fr .8fr;
}
.v2-history-context .v2-history-summary > div {
position: relative;
display: flex;
min-width: 0;
justify-content: center;
flex-direction: column;
padding: 10px 13px;
}
.v2-history-context .v2-history-summary > div + div::before {
position: absolute;
inset: 17px auto 17px 0;
width: 1px;
background: #e5ebf2;
content: '';
}
.v2-history-context .v2-history-summary small {
color: #7c8a9d;
font-size: 10px;
white-space: nowrap;
}
.v2-history-context .v2-history-summary strong {
margin-top: 6px;
overflow: hidden;
color: #27384f;
font-size: 17px;
font-variant-numeric: tabular-nums;
font-weight: 760;
line-height: 1.1;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-history-context .v2-history-summary .is-primary strong {
color: #1268df;
font-size: 21px;
}
.v2-history-context .v2-history-summary strong.is-source {
font-size: 12px;
}
.v2-history-main {
display: flex;
min-width: 0;
min-height: 0;
flex-direction: column;
gap: 10px;
}
.v2-history-main > .v2-history-trend.semi-card {
height: 190px;
min-height: 190px;
flex: 0 0 190px;
}
.v2-history-main > .v2-history-table-card.semi-card {
min-height: 180px;
flex: 1 1 0;
}
.v2-history-workspace.is-inspector-open {
grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
}
.v2-history-table-card .v2-workspace-panel-header {
min-height: 54px;
}
.v2-history-table-card .v2-workspace-panel-copy > h5.semi-typography {
color: #263950;
font-size: 15px;
}
.v2-history-table-card .v2-workspace-panel-copy > .semi-typography:last-child {
max-width: min(46vw, 580px);
overflow: hidden;
color: #718096;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-history-table-card .v2-workspace-panel-meta {
color: #8a97a8;
font-size: 10px;
font-variant-numeric: tabular-nums;
}
.v2-history-result-actions {
min-width: 0;
flex-wrap: nowrap;
}
.v2-history-table-trend .semi-icon,
.v2-history-trend-toggle .semi-icon {
transition: transform .18s ease;
}
.v2-history-table-trend.is-expanded .semi-icon,
.v2-history-trend-toggle.is-expanded .semi-icon {
transform: rotate(90deg);
}
.v2-history-table-scroll {
scrollbar-color: #b7c4d4 #f4f7fa;
scrollbar-width: thin;
}
.v2-history-table-scroll::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.v2-history-table-scroll::-webkit-scrollbar-track {
background: #f4f7fa;
}
.v2-history-table-scroll::-webkit-scrollbar-thumb {
border: 2px solid #f4f7fa;
border-radius: 999px;
background: #b7c4d4;
}
.v2-history-table-scroll::-webkit-scrollbar-thumb:hover {
background: #91a4ba;
}
@media (min-width: 681px) {
.v2-history-page {
height: 100%;
min-height: 0;
gap: 10px;
overflow: hidden;
padding: 16px 18px 18px;
}
.v2-history-filter-card .v2-workspace-filter-heading {
min-height: 42px;
padding-block: 6px;
}
.v2-history-toolbar {
min-height: 64px;
padding: 9px 12px 10px;
}
.v2-history-workspace {
min-height: 0;
flex: 1 1 0;
}
}
@media (min-width: 901px) and (max-width: 1100px) {
.v2-history-toolbar {
grid-template-columns: minmax(260px, 1.35fr) repeat(2, minmax(180px, .8fr));
grid-template-areas:
"vehicle category protocol"
"range range actions";
}
.v2-history-toolbar > .v2-history-vehicles {
grid-area: vehicle;
}
.v2-history-toolbar > .v2-history-range {
grid-area: range;
}
.v2-history-toolbar > label:nth-of-type(2) {
grid-area: category;
}
.v2-history-toolbar > label:nth-of-type(3) {
grid-area: protocol;
}
.v2-history-toolbar > .v2-history-toolbar-actions {
min-width: 0;
grid-area: actions;
justify-content: stretch;
}
.v2-history-toolbar-actions > .semi-button {
min-width: 0;
flex: 1 1 0;
padding-inline: 9px;
}
}
@media (min-width: 761px) and (max-width: 900px) {
.v2-history-toolbar {
grid-template-columns: repeat(2, minmax(125px, 1fr)) minmax(104px, .8fr) minmax(218px, max-content);
grid-template-areas:
"vehicle vehicle category protocol"
"range range range actions";
}
.v2-history-toolbar > .v2-history-vehicles {
grid-area: vehicle;
}
.v2-history-toolbar > .v2-history-range {
grid-area: range;
}
.v2-history-toolbar > label:nth-of-type(2) {
grid-area: category;
}
.v2-history-toolbar > label:nth-of-type(3) {
grid-area: protocol;
}
.v2-history-toolbar > .v2-history-toolbar-actions {
min-width: 0;
grid-area: actions;
justify-content: stretch;
}
.v2-history-toolbar-actions > .semi-button {
min-width: 0;
padding-inline: 10px;
}
.v2-history-result-actions {
gap: 4px;
}
.v2-history-result-actions > .semi-button {
min-width: 32px;
padding-inline: 8px;
font-size: 11px;
}
.v2-history-result-actions > .semi-select {
width: 76px;
min-width: 76px;
}
}
@media (min-width: 681px) and (max-width: 760px) {
.v2-history-toolbar {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-history-toolbar > .v2-history-vehicles,
.v2-history-toolbar > .v2-history-range,
.v2-history-toolbar > .v2-history-toolbar-actions {
min-width: 0;
grid-column: 1 / -1;
}
.v2-history-toolbar > .v2-history-toolbar-actions {
justify-content: stretch;
}
.v2-history-toolbar-actions > .semi-button {
min-width: 0;
flex: 1 1 0;
padding-inline: 9px;
}
}
@media (max-width: 1260px) and (min-width: 681px) {
.v2-history-context {
grid-template-columns: minmax(300px, 1fr) minmax(390px, .95fr);
}
.v2-history-context .v2-history-metrics {
gap: 8px;
padding-inline: 11px;
}
.v2-history-context .v2-history-metrics-manage.semi-button {
min-width: 34px;
width: 34px;
padding: 0;
}
.v2-history-context .v2-history-metrics-manage .semi-button-content-right {
display: none;
}
.v2-history-context .v2-history-summary > div {
padding-inline: 9px;
}
}
@media (max-height: 800px) and (min-width: 901px) {
.v2-history-page {
height: 100%;
min-height: 0;
overflow: hidden;
}
.v2-history-workspace {
min-height: 0;
flex: 1 1 0;
}
}
@media (max-width: 900px) and (min-width: 681px) {
.v2-history-context {
grid-template-columns: 1fr;
}
.v2-history-context .v2-history-metrics {
min-height: 58px;
border-right: 0;
border-bottom: 1px solid #e5ebf2;
}
.v2-history-context .v2-history-summary {
min-height: 66px;
}
.v2-history-context-card.semi-card,
.v2-history-context {
min-height: 124px;
}
.v2-history-workspace.is-inspector-open {
grid-template-columns: minmax(0, 1fr) 320px;
}
}
@media (max-width: 680px) {
.v2-history-page {
height: 100%;
min-height: 0;
gap: 8px;
overflow: hidden;
padding: 8px;
}
.v2-history-context-card.semi-card {
min-height: 126px;
border-radius: 11px;
}
.v2-history-context {
display: flex;
min-height: 126px;
flex-direction: column;
}
.v2-history-context .v2-history-metrics {
min-height: 68px;
grid-template-columns: minmax(0, 1fr) auto;
grid-template-rows: auto auto;
gap: 6px 8px;
border-right: 0;
border-bottom: 1px solid #e5ebf2;
padding: 7px 9px 8px;
}
.v2-history-metrics-heading {
grid-column: 1;
grid-row: 1;
align-items: baseline;
flex-direction: row;
gap: 6px;
}
.v2-history-metric-scroll {
width: 100%;
grid-column: 1 / -1;
grid-row: 2;
padding: 1px 12px 1px 0;
scroll-padding-inline: 0 12px;
scroll-snap-type: inline proximity;
scrollbar-width: none;
}
.v2-history-metric-scroll::-webkit-scrollbar {
display: none;
}
.v2-history-metrics-heading > strong {
font-size: 11px;
}
.v2-history-metrics-heading > small {
font-size: 9px;
}
.v2-history-context .v2-history-metric-tag.semi-tag {
height: 28px;
scroll-snap-align: start;
font-size: 10px;
}
.v2-history-context .v2-history-metrics-manage.semi-button {
width: auto;
min-width: 76px;
min-height: 30px;
grid-column: 2;
grid-row: 1;
padding: 0 8px;
}
.v2-history-context .v2-history-metrics-manage .semi-button-content-right {
display: inline;
}
.v2-history-context .v2-history-summary {
min-height: 58px;
flex: 1;
grid-template-columns: 1.1fr .72fr 1.18fr .78fr;
}
.v2-history-context .v2-history-summary > div {
padding: 8px 7px;
}
.v2-history-context .v2-history-summary > div + div::before {
inset-block: 13px;
}
.v2-history-context .v2-history-summary small {
font-size: 9px;
}
.v2-history-context .v2-history-summary strong,
.v2-history-context .v2-history-summary .is-primary strong {
margin-top: 4px;
font-size: 15px;
}
.v2-history-context .v2-history-summary strong.is-source {
font-size: 9px;
}
.v2-history-main {
display: flex;
height: 100%;
min-height: 0;
flex: 1 1 0;
flex-direction: column;
}
.v2-history-main > .v2-history-table-card.semi-card {
min-height: 0;
flex: 1 1 0;
order: 1;
}
.v2-history-main > .v2-history-trend.semi-card {
height: 230px;
min-height: 230px;
flex-basis: 230px;
order: 2;
}
.v2-history-table-card .v2-workspace-panel-header {
min-height: 58px;
align-items: center;
padding: 7px 8px;
}
.v2-history-table-card .v2-workspace-panel-copy > .semi-typography:last-child {
display: block;
max-width: 72vw;
font-size: 9px;
}
.v2-history-table-card .v2-workspace-panel-meta {
display: none;
}
.v2-history-table-card .v2-workspace-panel-actions {
gap: 2px;
}
.v2-history-table-card .v2-workspace-panel-actions > .semi-button {
width: 32px;
min-width: 32px;
min-height: 32px;
padding: 0;
}
.v2-history-table-card .v2-history-result-actions.is-mobile-actions > .semi-button .semi-button-content {
display: inline-flex;
align-items: center;
justify-content: center;
}
.v2-history-table-card .v2-history-result-actions.is-mobile-actions > .semi-button .semi-button-content-right {
display: none;
}
.v2-history-table-card .v2-history-result-actions.is-mobile-actions > .semi-button .semi-icon {
color: #5f7188;
font-size: 16px;
}
.v2-history-table-card .v2-history-result-actions.is-mobile-actions > .v2-history-table-trend.is-expanded .semi-icon {
color: var(--v2-blue);
}
.v2-history-workspace {
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-history-table-card > .semi-card-body {
min-height: 0;
}
.v2-history-table-scroll.is-mobile-scroll {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
scrollbar-width: auto;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.v2-history-table-scroll.is-mobile-scroll:focus-visible {
outline: 2px solid rgba(18, 104, 223, .38);
outline-offset: -2px;
}
.v2-history-mobile-list {
gap: 6px;
padding: 6px;
}
.v2-history-mobile-list > .v2-history-mobile-card.semi-card {
border-radius: 8px;
box-shadow: none;
contain-intrinsic-size: auto 124px;
}
.v2-history-mobile-card-content {
padding: 8px 9px;
}
.v2-history-mobile-card-content header strong {
font-size: 13px;
}
.v2-history-mobile-card-content header small {
margin-top: 1px;
font-size: 9px;
}
.v2-history-mobile-card-content p {
margin: 5px 0;
font-size: 9px;
}
.v2-history-mobile-quality {
margin: 0 0 6px;
overflow: hidden;
font-size: 9px;
line-height: 12px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-history-mobile-card-content dl {
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0;
padding-top: 6px;
}
.v2-history-mobile-card-content dl > div {
min-width: 0;
padding: 0 5px;
}
.v2-history-mobile-card-content dl > div:first-child {
padding-left: 0;
}
.v2-history-mobile-card-content dl > div + div {
border-left: 1px solid #edf1f5;
}
.v2-history-mobile-card-content dt {
overflow: hidden;
font-size: 8px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-history-mobile-card-content dd {
margin-top: 2px;
overflow: hidden;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-history-mobile-card-content footer {
display: none;
}
}
@media (max-width: 360px) {
.v2-history-mobile-card-content dl {
grid-template-columns: repeat(2, minmax(0, 1fr));
row-gap: 6px;
}
.v2-history-mobile-card-content dl > div:nth-child(3) {
border-left: 0;
padding-left: 0;
}
}
/*
* Semi UI alert workspace — list first, evidence on demand.
* The shell already owns the page title, so the route begins with one compact
* command rail and reserves the remaining height for the operational list.
*/
.v2-alert-page {
gap: 12px;
padding: 14px 18px 18px;
background: #f6f8fb;
}
.v2-alert-navigation {
display: flex;
min-height: 52px;
flex: 0 0 auto;
align-items: center;
justify-content: space-between;
gap: 14px;
overflow: hidden;
border: 1px solid #dce4ed;
border-radius: 12px;
background: #fff;
padding: 5px 10px 5px 5px;
box-shadow: 0 5px 18px rgba(31, 53, 80, .045);
}
.v2-alert-navigation .v2-alert-tabs.v2-segmented-tabs {
width: auto;
min-height: 40px;
flex: 0 1 auto;
grid-auto-columns: minmax(136px, 1fr);
border: 0;
border-radius: 9px;
background: #f2f5f9;
padding: 3px;
box-shadow: none;
}
.v2-alert-navigation .v2-alert-tabs.v2-segmented-tabs > .semi-button {
min-height: 34px;
border-radius: 7px;
font-size: 13px;
}
.v2-alert-navigation-meta {
display: flex;
min-width: 0;
align-items: center;
justify-content: flex-end;
gap: 9px;
white-space: nowrap;
}
.v2-alert-navigation-meta > .semi-typography {
color: #7d899a;
font-size: 12px;
}
.v2-alert-navigation-meta > .semi-tag {
min-height: 26px;
border-radius: 6px;
font-size: 11px;
}
.v2-alert-filter-card.semi-card,
.v2-alert-context-card.semi-card,
.v2-alert-table-card.semi-card,
.v2-alert-inspector.semi-card,
.v2-alert-rule-list.semi-card,
.v2-alert-rule-editor.semi-card,
.v2-alert-notifications.semi-card {
border-color: #dce4ed;
border-radius: 12px;
box-shadow: 0 5px 18px rgba(31, 53, 80, .045);
}
.v2-alert-filter-card.semi-card {
overflow: visible;
}
.v2-alert-filter-card > .semi-card-body > .v2-workspace-filter-heading {
display: none;
}
.v2-alert-filter.v2-alert-filter-primary {
min-height: 70px;
grid-template-columns: minmax(250px, 1.45fr) minmax(122px, .62fr) minmax(136px, .68fr) auto auto auto;
gap: 10px;
padding: 11px 13px;
}
.v2-alert-filter.v2-alert-filter-primary label {
gap: 5px;
color: #66778e;
font-size: 11px;
font-weight: 600;
}
.v2-alert-filter.v2-alert-filter-primary label > div,
.v2-alert-filter.v2-alert-filter-primary .semi-select,
.v2-alert-filter.v2-alert-filter-primary .semi-input-wrapper,
.v2-alert-filter.v2-alert-filter-primary > .semi-button {
min-height: 38px;
border-radius: 8px;
}
.v2-alert-filter.v2-alert-filter-primary .semi-input,
.v2-alert-filter.v2-alert-filter-primary .semi-select-selection-text,
.v2-alert-filter.v2-alert-filter-primary > .semi-button {
font-size: 13px;
}
.v2-alert-context-card.semi-card {
min-height: 76px;
flex: 0 0 auto;
overflow: hidden;
}
.v2-alert-context-card > .semi-card-body {
display: grid;
height: 100%;
grid-template-columns: minmax(0, 1fr) 300px;
}
.v2-alert-context-card .v2-alert-kpis,
.v2-alert-context-card .v2-alert-kpis .v2-metric-action-content {
min-height: 76px;
}
.v2-alert-context-card .v2-alert-kpis small {
font-size: 11px;
}
.v2-alert-context-card .v2-alert-kpis strong {
margin-top: 7px;
font-size: 22px;
}
.v2-alert-context-card .v2-alert-secondary-states {
padding: 8px;
gap: 6px;
}
.v2-alert-context-card .v2-alert-secondary-states > .semi-button {
border-radius: 8px;
padding: 7px 8px;
}
.v2-alert-context-card .v2-alert-secondary-states span {
font-size: 10px;
}
.v2-alert-context-card .v2-alert-secondary-states b {
font-size: 16px;
}
.v2-alert-workspace {
min-height: 0;
flex: 1 1 0;
gap: 12px;
}
.v2-alert-workspace.is-inspector-open {
grid-template-columns: minmax(680px, 1fr) 390px;
}
.v2-alert-table-card > .semi-card-body > .v2-workspace-panel-header {
min-height: 54px;
padding: 8px 14px;
}
.v2-alert-table-card .v2-workspace-panel-copy {
gap: 1px;
}
.v2-alert-table-card .v2-workspace-panel-copy > h5.semi-typography {
font-size: 15px;
}
.v2-alert-table-card .v2-workspace-panel-copy > .semi-typography {
color: #8793a4;
font-size: 10px;
}
.v2-alert-table-card .v2-workspace-panel-actions > .semi-button {
min-height: 34px;
border-radius: 8px;
font-size: 12px;
}
.v2-alert-table-scroll {
scrollbar-color: #aebdce transparent;
scrollbar-width: thin;
}
.v2-alert-table-scroll::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.v2-alert-table-scroll::-webkit-scrollbar-thumb {
border: 2px solid transparent;
border-radius: 999px;
background: #aebdce;
background-clip: padding-box;
}
.v2-alert-table-scroll .v2-alert-event-table.semi-table-wrapper .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 42px;
background: #f7f9fc;
color: #5e7087;
font-size: 11px;
}
.v2-alert-table-scroll .v2-alert-event-table.semi-table-wrapper .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 52px;
padding: 7px 10px;
color: #47586e;
font-size: 12px;
}
.v2-alert-table-card > .semi-card-body > footer {
min-height: 46px;
padding: 6px 12px;
}
.v2-alert-table-card > .semi-card-body > footer button,
.v2-alert-table-card > .semi-card-body > footer select {
height: 32px;
font-size: 12px;
}
.v2-alert-inspector.semi-card {
background: #f7f9fc;
}
.v2-alert-inspector > .semi-card-body {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
}
.v2-alert-inspector > .semi-card-body > .v2-alert-inspector-heading {
min-height: 64px;
padding: 10px 13px;
}
.v2-alert-inspector-content {
min-height: 0;
flex: 1 1 auto;
gap: 10px;
overflow: auto;
padding: 10px;
}
.v2-alert-inspector-content > .v2-alert-detail-card.semi-card {
flex: 0 0 auto;
overflow: visible;
}
.v2-alert-detail-card.semi-card {
overflow: hidden;
border: 1px solid #dfe6ef;
border-radius: 10px;
background: #fff;
box-shadow: 0 3px 12px rgba(31, 53, 80, .035);
}
.v2-alert-detail-card > .semi-card-header {
min-height: 44px;
border-bottom: 1px solid #e8edf3;
padding: 0 12px;
}
.v2-alert-detail-card > .semi-card-body {
background: #fff;
}
.v2-alert-detail-card.v2-alert-progress-card > .semi-card-body,
.v2-alert-detail-card.v2-alert-disposition-card > .semi-card-body {
padding: 10px !important;
}
.v2-alert-inspector > .semi-card-body > .v2-alert-links {
min-height: 50px;
padding: 7px 10px;
}
.v2-alert-inspector > .semi-card-body > .v2-alert-links a {
min-height: 34px;
}
.v2-alert-rules {
min-height: 0;
flex: 1 1 0;
grid-template-columns: minmax(320px, 350px) minmax(620px, 1fr);
gap: 12px;
}
.v2-alert-rule-list.semi-card,
.v2-alert-rule-editor.semi-card {
overflow: hidden;
}
.v2-alert-rule-list > .semi-card-body,
.v2-alert-rule-editor > .semi-card-body,
.v2-alert-rule-editor-form {
height: 100%;
min-height: 0;
}
.v2-alert-rule-list > .semi-card-body,
.v2-alert-rule-editor-form {
display: flex;
flex-direction: column;
}
.v2-alert-rule-items,
.v2-alert-rule-editor-form {
min-height: 0;
}
.v2-alert-rule-items {
flex: 1 1 auto;
overflow: auto;
}
.v2-alert-rule-editor-form {
overflow: auto;
}
.v2-alert-rule-list > .semi-card-body > .v2-alert-rule-list-heading,
.v2-alert-rule-editor-form > .v2-alert-rule-editor-heading {
min-height: 60px;
padding: 9px 14px;
}
.v2-alert-rule-item.semi-button {
min-height: 74px;
padding: 10px 13px;
}
.v2-alert-rule-copy > small {
margin-top: 6px;
}
.v2-alert-rule-templates {
grid-template-columns: minmax(0, 1fr);
align-items: stretch;
gap: 9px;
padding: 13px 14px 14px;
}
.v2-alert-rule-templates > div {
gap: 3px;
}
.v2-alert-rule-templates > nav {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.v2-alert-template-card.semi-button {
min-height: 94px;
padding: 11px;
}
.v2-alert-template-card.semi-button .semi-button-content {
grid-template-columns: 38px minmax(0, 1fr);
align-content: center;
row-gap: 7px;
}
.v2-alert-template-card .v2-alert-template-icon {
grid-row: 1 / span 2;
}
.v2-alert-template-card .v2-alert-template-copy {
grid-column: 2;
}
.v2-alert-template-card .v2-alert-template-copy small {
display: -webkit-box;
white-space: normal;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.v2-alert-template-card .semi-tag {
max-width: 100%;
grid-column: 2;
justify-self: start;
font-size: 9px;
}
.v2-rule-form-grid {
gap: 13px 15px;
padding: 16px 16px 18px;
}
.v2-alert-rule-editor-form > footer {
position: sticky;
z-index: 3;
bottom: 0;
min-height: 60px;
background: rgba(255, 255, 255, .97);
padding: 9px 16px;
backdrop-filter: blur(10px);
}
.v2-alert-notifications.semi-card {
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-alert-notifications > .semi-card-body {
display: grid;
height: 100%;
min-height: 0;
max-height: none;
grid-template-rows: 60px minmax(0, 1fr) 48px auto;
overflow: hidden;
}
.v2-alert-notifications > .semi-card-body > .v2-workspace-panel-header {
min-height: 60px;
padding: 10px 14px;
}
.v2-alert-notification-list {
min-height: 0;
overflow: auto;
padding: 12px;
}
.v2-alert-notification-cards.semi-card-group {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 11px;
}
.v2-alert-notification-card.semi-card {
content-visibility: auto;
contain-intrinsic-size: auto 132px;
}
.v2-alert-notification-pagination {
display: flex;
min-height: 48px;
align-items: center;
justify-content: space-between;
gap: 12px;
border-top: 1px solid #e4eaf1;
background: #fff;
padding: 6px 12px;
}
.v2-alert-channel-card.semi-card {
border-width: 1px 0 0;
border-radius: 0;
box-shadow: none;
}
.v2-alert-channel-card > .semi-card-header {
min-height: 38px;
padding: 0 14px;
}
.v2-alert-channel-descriptions.semi-descriptions {
padding: 6px 11px 9px;
}
.v2-alert-channel-descriptions table {
width: 100%;
}
.v2-alert-channel-descriptions tbody {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 6px;
}
.v2-alert-channel-descriptions tr {
display: flex;
min-width: 0;
min-height: 34px;
align-items: center;
justify-content: space-between;
gap: 6px;
border: 1px solid #e4e9f0;
border-radius: 6px;
background: #fafbfd;
padding: 5px 8px;
}
.v2-alert-channel-descriptions .semi-descriptions-item {
min-height: 0;
padding: 0;
}
.v2-alert-channel-descriptions .semi-descriptions-item-th {
width: auto;
padding-right: 0;
}
.v2-alert-channel-descriptions .semi-descriptions-key,
.v2-alert-channel-descriptions .semi-descriptions-value {
font-size: 10px;
}
.v2-alert-channel-descriptions .semi-tag {
font-size: 9px;
}
@media (max-width: 1180px) and (min-width: 681px) {
.v2-alert-filter.v2-alert-filter-primary {
grid-template-columns: minmax(220px, 1fr) 120px 130px auto auto auto;
}
.v2-alert-filter.v2-alert-filter-primary > .semi-button {
padding-inline: 9px;
}
}
@media (max-width: 900px) and (min-width: 681px) {
.v2-alert-page {
height: 100%;
min-height: 0;
overflow: hidden;
}
.v2-alert-workspace {
display: grid;
min-height: 0;
flex: 1 1 0;
}
.v2-alert-table-card {
min-height: 0;
}
}
@media (max-width: 680px) {
.v2-alert-page {
gap: 10px;
overflow: auto;
padding: 9px 8px 16px;
}
.v2-alert-page.is-events {
height: 100%;
min-height: 0;
overflow: hidden;
padding-bottom: 8px;
}
.v2-alert-navigation {
position: sticky;
z-index: 8;
top: 0;
min-height: 50px;
border-radius: 11px;
padding: 4px;
}
.v2-alert-navigation .v2-alert-tabs.v2-segmented-tabs {
position: static;
width: 100%;
min-height: 42px;
grid-auto-columns: minmax(104px, 1fr);
overflow-x: auto;
}
.v2-alert-navigation .v2-alert-tabs.v2-segmented-tabs > .semi-button {
min-height: 36px;
padding-inline: 7px;
font-size: 11px;
}
.v2-alert-navigation-meta {
display: none;
}
.v2-alert-filter-card > .semi-card-body > .v2-workspace-filter-heading {
display: flex;
}
.v2-alert-filter.v2-alert-filter-primary {
min-height: 0;
grid-template-columns: 1fr 1fr;
gap: 8px;
padding: 10px;
}
.v2-alert-filter.v2-alert-filter-primary label:first-child {
grid-column: 1 / -1;
}
.v2-alert-filter.v2-alert-filter-primary > .semi-button {
min-height: 40px;
}
.v2-alert-filter.v2-alert-filter-primary > .v2-secondary-button {
display: none;
}
.v2-alert-context-card.semi-card {
min-height: 104px;
}
.v2-alert-context-card > .semi-card-body {
display: block;
}
.v2-alert-context-card .v2-alert-kpis {
height: 64px;
min-height: 64px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.v2-alert-context-card .v2-alert-kpis .v2-metric-action,
.v2-alert-context-card .v2-alert-kpis .v2-metric-action-content {
min-height: 64px;
}
.v2-alert-context-card .v2-alert-kpis .v2-metric-action {
padding: 7px 5px;
}
.v2-alert-context-card .v2-alert-kpis .v2-metric-action.is-notice {
grid-column: auto;
}
.v2-alert-context-card .v2-alert-kpis .v2-metric-action-content {
display: grid;
align-content: center;
gap: 4px;
}
.v2-alert-context-card .v2-alert-kpis small {
font-size: 9px;
}
.v2-alert-context-card .v2-alert-kpis strong {
margin-top: 0;
font-size: 18px;
}
.v2-alert-context-card .v2-alert-secondary-states {
min-height: 40px;
border-top: 1px solid #e4e9f0;
border-left: 0;
padding: 3px 4px;
}
.v2-alert-context-card .v2-alert-secondary-states > .semi-button {
min-height: 34px;
padding: 2px 5px;
}
.v2-alert-context-card .v2-alert-secondary-states span {
font-size: 9px;
}
.v2-alert-context-card .v2-alert-secondary-states b {
font-size: 13px;
}
.v2-alert-page.is-events .v2-alert-workspace {
min-height: 0;
flex: 1 1 0;
grid-template-columns: minmax(0, 1fr);
overflow: hidden;
}
.v2-alert-table-card {
height: 100%;
min-height: 0;
}
.v2-alert-table-card > .semi-card-body > .v2-workspace-panel-header {
min-height: 50px;
align-items: center;
padding: 6px 8px;
}
.v2-alert-table-card .v2-workspace-panel-copy > .semi-typography {
display: none;
}
.v2-alert-table-scroll.is-mobile-scroll {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
scrollbar-width: auto;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.v2-alert-table-scroll.is-mobile-scroll:focus-visible {
outline: 2px solid rgba(18, 104, 243, .34);
outline-offset: -2px;
}
.v2-alert-table-scroll.is-mobile-scroll::-webkit-scrollbar {
width: 11px;
}
.v2-alert-table-scroll.is-mobile-scroll::-webkit-scrollbar-thumb {
border: 3px solid transparent;
border-radius: 999px;
background: #9cacc0;
background-clip: padding-box;
}
.v2-alert-mobile-list {
gap: 8px;
padding: 8px;
}
.v2-alert-mobile-list > .v2-alert-mobile-card.semi-card {
border-radius: 9px;
contain-intrinsic-size: auto 110px;
}
.v2-alert-mobile-card-content {
padding: 10px 11px;
}
.v2-alert-mobile-card-content header > strong {
font-size: 14px;
}
.v2-alert-mobile-card-content header > span {
gap: 3px;
}
.v2-alert-mobile-card-content .v2-alert-severity.semi-tag,
.v2-alert-mobile-card-content .v2-alert-status.semi-tag {
height: 22px;
min-height: 22px;
border-radius: 6px;
padding-inline: 6px;
font-size: 9px;
}
.v2-alert-mobile-card-content p {
margin: 6px 0 7px;
overflow: hidden;
color: #405168;
font-size: 12px;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-alert-mobile-card-content dl {
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0;
padding-top: 7px;
}
.v2-alert-mobile-card-content dl > div {
display: block;
min-width: 0;
min-height: 32px;
padding: 0 5px;
}
.v2-alert-mobile-card-content dl > div:first-child {
padding-left: 0;
}
.v2-alert-mobile-card-content dl > div + div {
border-left: 1px solid #edf1f5;
}
.v2-alert-mobile-card-content dt {
overflow: hidden;
font-size: 9px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-alert-mobile-card-content dd {
min-width: 0;
margin: 3px 0 0;
overflow: hidden;
font-size: 10px;
line-height: 13px;
text-align: left;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-alert-mobile-card-content footer {
display: none;
}
.v2-alert-table-card > .semi-card-body > footer:has(.v2-table-pagination-controls) {
min-height: 50px;
flex-direction: row;
align-items: center;
padding: 5px 6px;
}
.v2-alert-table-card > .semi-card-body > footer .v2-table-pagination-info {
display: none;
}
.v2-alert-table-card > .semi-card-body > footer .v2-table-pagination-button.semi-button,
.v2-alert-table-card > .semi-card-body > footer .v2-table-pagination-current,
.v2-alert-table-card > .semi-card-body > footer .v2-table-pagination-size.semi-select {
height: 34px;
}
.v2-alert-rules {
display: flex;
flex: none;
flex-direction: column;
overflow: visible;
}
.v2-alert-rule-list {
max-height: 270px;
}
.v2-alert-rule-editor.semi-card,
.v2-alert-rule-editor-form {
overflow: visible;
}
.v2-alert-rule-editor-form > footer {
position: static;
}
.v2-alert-notifications.semi-card {
min-height: 540px;
flex: none;
}
.v2-alert-notifications > .semi-card-body {
grid-template-rows: 58px minmax(320px, 1fr) 76px auto;
}
.v2-alert-notification-cards.semi-card-group {
grid-template-columns: 1fr;
}
.v2-alert-notification-pagination {
min-height: 76px;
align-items: stretch;
justify-content: center;
flex-direction: column;
gap: 7px;
padding: 8px 10px;
}
.v2-alert-notification-pagination .v2-table-pagination-info {
width: 100%;
}
.v2-alert-notification-pagination .v2-table-pagination-controls {
width: 100%;
}
.v2-alert-notification-pagination .v2-table-pagination {
flex: 1 1 auto;
}
.v2-alert-channel-descriptions tbody {
display: table-row-group;
}
.v2-alert-channel-descriptions tr {
display: table-row;
min-height: initial;
border: 0;
background: transparent;
padding: 0;
}
.v2-alert-channel-descriptions .semi-descriptions-item {
min-height: 32px;
padding: 4px 0;
}
.v2-alert-channel-descriptions .semi-descriptions-item-th {
width: 135px;
padding-right: 10px;
}
}
/*
* Semi UI account governance workspace.
* The shell already owns the page title, so this route uses a compact command
* rail, one-line filters and a single scroll owner for the account directory.
* The editor is a focused inspector whose header, tabs and save action stay put.
*/
.v2-user-admin {
display: flex;
width: 100%;
height: 100%;
min-height: 0;
flex-direction: column;
gap: 8px;
overflow: hidden;
padding: 12px 14px 14px;
}
.v2-workspace-command-bar {
display: flex;
width: 100%;
max-width: 1480px;
min-height: 52px;
flex: 0 0 auto;
align-items: center;
justify-content: space-between;
gap: 18px;
margin-inline: auto;
border: 1px solid #dce5ef;
border-radius: 10px;
background: #fff;
padding: 7px 9px 7px 14px;
box-shadow: 0 6px 20px rgba(31, 50, 76, .035);
}
.v2-workspace-command-copy {
display: grid;
min-width: 0;
gap: 2px;
}
.v2-workspace-command-copy .semi-typography {
color: #263b53;
font-size: 14px;
font-weight: 700;
letter-spacing: -.012em;
}
.v2-workspace-command-copy > .semi-typography:last-child {
overflow: hidden;
color: #7d8b9d;
font-size: 10px;
font-weight: 400;
letter-spacing: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-command-actions {
display: flex;
min-width: 0;
align-items: center;
gap: 10px;
}
.v2-workspace-command-actions > .semi-tag {
min-height: 24px;
flex: 0 0 auto;
border-radius: 999px;
padding-inline: 9px;
font-size: 10px;
font-weight: 650;
}
.v2-workspace-command-meta {
display: flex;
min-width: 0;
align-items: center;
}
.v2-workspace-command-meta > .semi-typography {
overflow: hidden;
max-width: 220px;
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-command-actions > .semi-button {
min-height: 36px;
flex: 0 0 auto;
border-radius: 8px;
padding-inline: 13px;
font-size: 11px;
}
.v2-user-filter-panel.v2-workspace-filter-panel.semi-card {
flex: 0 0 auto;
overflow: hidden;
border-radius: 10px;
box-shadow: none;
}
.v2-user-filter-panel > .semi-card-body {
display: block;
}
.v2-user-filter-panel > .semi-card-body > .v2-workspace-filter-heading {
display: none;
}
.v2-user-filter-form {
min-height: 54px;
grid-template-columns: minmax(260px, 1fr) 156px auto;
gap: 8px;
padding: 7px 9px;
}
.v2-user-filter-form > label {
display: contents;
}
.v2-user-filter-form > label > span:not(.semi-select) {
display: none;
}
.v2-user-filter-form :is(.semi-input-wrapper, .semi-select),
.v2-user-filter-reset.semi-button {
min-height: 38px;
align-self: center;
border-radius: 8px;
}
.v2-user-filter-form .semi-input,
.v2-user-filter-form .semi-select-selection {
min-height: 36px;
}
.v2-user-filter-reset.semi-button {
min-width: 80px;
}
.v2-user-admin-grid {
display: flex;
width: 100%;
max-width: 1480px;
min-height: 0;
flex: 1 1 0;
align-items: stretch;
margin: 0 auto;
}
.v2-user-list.semi-card {
position: static;
width: 100%;
height: 100%;
max-height: none;
min-height: 0;
flex: 1 1 0;
border-radius: 10px;
}
.v2-user-list > .semi-card-body {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
}
.v2-user-directory-header.v2-workspace-panel-header {
min-height: 54px;
flex: 0 0 auto;
padding: 7px 12px;
}
.v2-user-directory-header .v2-workspace-panel-copy {
gap: 1px;
}
.v2-user-directory-header .v2-workspace-panel-copy strong {
font-size: 13px;
}
.v2-user-directory-header .v2-workspace-panel-copy small {
font-size: 9px;
}
.v2-user-directory-body {
display: flex;
min-height: 0;
flex: 1 1 0;
flex-direction: column;
padding: 8px 10px 10px;
}
.v2-user-directory-metrics {
min-height: 56px;
flex: 0 0 auto;
margin-bottom: 8px;
border-radius: 8px;
}
.v2-user-directory-metrics > span {
min-height: 54px;
grid-template-columns: auto auto;
align-items: baseline;
align-content: center;
justify-content: start;
column-gap: 8px;
padding: 7px 12px;
}
.v2-user-directory-metrics small {
font-size: 10px;
}
.v2-user-directory-metrics strong {
font-size: 20px;
}
.v2-customer-list.semi-list {
min-height: 0;
flex: 1 1 0;
overflow: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
.v2-customer-list .semi-list-items {
gap: 6px;
}
.v2-customer-list .v2-user-list-row.semi-list-item {
min-height: 62px;
border-radius: 8px;
}
.v2-customer-list .v2-user-list-item.semi-button {
min-height: 62px;
padding: 7px 10px;
}
.v2-customer-list .v2-user-list-item .semi-button-content {
grid-template-columns: 36px minmax(170px, 1.45fr) minmax(70px, .45fr) minmax(70px, .45fr) minmax(150px, .9fr) auto;
gap: 10px;
}
.v2-user-avatar.semi-avatar {
width: 34px;
height: 34px;
border-radius: 8px;
}
.v2-user-list-identity {
gap: 2px;
}
.v2-user-list-identity b {
font-size: 12px;
}
.v2-user-list-identity small,
.v2-user-list-facts small {
font-size: 9px;
}
.v2-user-list-facts {
gap: 2px;
}
.v2-user-list-facts b {
font-size: 10px;
}
.v2-user-editor.semi-card {
top: 68px;
width: min(800px, calc(100vw - 360px));
min-width: 680px;
background: #f5f7fa;
box-shadow: -18px 0 46px rgba(20, 37, 59, .18);
}
.v2-user-editor > .semi-card-body,
.v2-user-editor form {
height: 100%;
min-height: 0;
}
.v2-user-editor form {
display: flex;
flex-direction: column;
gap: 0;
overflow: hidden;
}
.v2-user-editor-title {
position: relative;
min-height: 68px;
flex: 0 0 auto;
align-items: center;
padding: 10px 14px;
}
.v2-user-editor-title h3 {
font-size: 18px;
}
.v2-user-editor-title p {
max-width: 520px;
margin-top: 4px;
font-size: 10px;
}
.v2-user-status {
flex: 0 0 auto;
font-size: 10px;
}
.v2-user-editor-tabs.semi-tabs {
display: flex;
width: auto;
min-height: 0;
flex: 1 1 0;
flex-direction: column;
overflow: hidden;
margin: 8px 8px 0;
border-radius: 9px;
}
.v2-user-editor-tabs > .semi-tabs-bar {
min-height: 48px;
flex: 0 0 auto;
padding-inline: 12px;
}
.v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
min-height: 47px;
font-size: 11px;
}
.v2-user-editor-tabs > .semi-tabs-content {
min-height: 0;
flex: 1 1 0;
overflow: auto;
overscroll-behavior: contain;
padding: 8px;
scrollbar-gutter: stable;
}
.v2-user-editor-tabs > .semi-tabs-content > .semi-tabs-pane {
min-height: 100%;
}
.v2-user-editor-section.semi-card {
border-radius: 8px;
}
.v2-user-editor-section > .semi-card-header {
min-height: 44px;
}
.v2-user-editor-section > .semi-card-body {
padding: 12px;
}
.v2-user-editor form > .v2-user-feedback {
flex: 0 0 auto;
margin: 0;
border-top: 1px solid #e1e7ef;
background: #fff;
padding: 7px 14px 0;
}
.v2-user-editor form > footer {
position: relative;
bottom: auto;
min-height: 56px;
flex: 0 0 auto;
margin: 0;
padding: 8px 12px;
}
.v2-user-editor form > footer .semi-button {
min-width: 128px;
min-height: 38px;
}
.v2-assigned-toolbar {
margin-top: 10px;
padding-top: 10px;
}
.v2-assigned-vins {
gap: 7px;
margin-top: 7px;
}
.v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
min-height: 92px;
}
.v2-assigned-pagination {
min-height: 46px;
margin-top: 8px;
padding-top: 8px;
}
@media (max-width: 980px) and (min-width: 681px) {
.v2-workspace-command-meta > .semi-typography {
display: none;
}
.v2-user-editor.semi-card {
width: min(760px, calc(100vw - 210px));
min-width: 620px;
}
.v2-customer-list .v2-user-list-item .semi-button-content {
grid-template-columns: 36px minmax(150px, 1fr) 70px 70px auto;
}
.v2-user-list-facts.is-login {
display: none;
}
}
@media (max-width: 680px) {
.v2-user-admin {
height: 100%;
gap: 7px;
overflow: hidden;
padding: 7px 7px 10px;
}
.v2-workspace-command-bar {
min-height: 48px;
gap: 8px;
border-radius: 9px;
padding: 5px 6px 5px 10px;
}
.v2-workspace-command-copy > .semi-typography:first-child {
font-size: 12px;
}
.v2-workspace-command-copy > .semi-typography:last-child,
.v2-workspace-command-actions > .semi-tag,
.v2-workspace-command-meta {
display: none;
}
.v2-workspace-command-actions {
gap: 5px;
}
.v2-workspace-command-actions > .semi-button {
min-height: 38px;
padding-inline: 9px;
font-size: 10px;
}
.v2-user-command-bar .v2-workspace-command-actions > .semi-button,
.v2-access-command-bar .v2-workspace-command-actions > .semi-button,
.v2-ops-command-bar .v2-workspace-command-actions > .semi-button {
width: 40px;
min-width: 40px;
padding: 0;
}
.v2-user-command-bar .v2-workspace-command-actions > .semi-button .semi-button-content,
.v2-access-command-bar .v2-workspace-command-actions > .semi-button .semi-button-content,
.v2-ops-command-bar .v2-workspace-command-actions > .semi-button .semi-button-content {
font-size: 0;
}
.v2-user-command-bar .v2-workspace-command-actions > .semi-button .semi-icon,
.v2-access-command-bar .v2-workspace-command-actions > .semi-button .semi-icon,
.v2-ops-command-bar .v2-workspace-command-actions > .semi-button .semi-icon {
margin-right: 0;
font-size: 16px;
}
.v2-user-filter-panel > .semi-card-body > .v2-workspace-filter-heading {
display: flex;
}
.v2-user-filter-form {
min-height: 0;
grid-template-columns: minmax(0, 1fr);
gap: 8px;
padding: 8px;
}
.v2-user-filter-form > label {
display: grid;
}
.v2-user-filter-form > label > span:not(.semi-select) {
display: block;
}
.v2-user-filter-form.is-mobile-collapsed {
display: none;
}
.v2-user-admin-grid {
display: flex;
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-user-list > .semi-card-body {
display: flex;
padding: 0 !important;
}
.v2-user-directory-header.v2-workspace-panel-header {
min-height: 50px;
padding: 6px 10px;
}
.v2-user-directory-header .v2-workspace-panel-copy small {
display: none;
}
.v2-user-directory-body {
padding: 7px;
}
.v2-user-directory-metrics {
min-height: 48px;
margin-bottom: 7px;
}
.v2-user-directory-metrics > span {
min-height: 46px;
display: grid;
grid-template-columns: auto;
gap: 2px;
padding: 6px 8px;
}
.v2-user-directory-metrics small {
font-size: 8px;
}
.v2-user-directory-metrics strong {
font-size: 17px;
}
.v2-customer-list.semi-list {
display: block;
min-height: 0;
overflow: auto;
}
.v2-customer-list .v2-user-list-item.semi-button {
min-height: 72px;
padding: 7px 8px;
}
.v2-customer-list .v2-user-list-item .semi-button-content {
grid-template-columns: 34px minmax(0, 1fr) 58px auto;
grid-template-rows: auto auto;
gap: 3px 7px;
}
.v2-user-avatar {
grid-row: 1 / 3;
}
.v2-user-list-identity {
grid-column: 2 / 4;
grid-row: 1;
}
.v2-user-list-facts {
grid-row: 2;
}
.v2-user-list-facts.is-login {
display: none;
}
.v2-user-list-trailing {
grid-column: 4;
grid-row: 1 / 3;
}
.v2-user-editor.semi-card {
inset: 54px 0 66px;
width: auto;
min-width: 0;
}
.v2-user-editor-title {
min-height: 62px;
display: grid;
grid-template-columns: minmax(0, 1fr) auto auto;
gap: 7px;
padding: 8px 9px;
}
.v2-user-editor-title h3 {
font-size: 16px;
}
.v2-user-editor-title p {
max-width: 210px;
font-size: 9px;
}
.v2-user-status > span {
display: none;
}
.v2-user-editor-close.semi-button {
width: 38px;
height: 38px;
}
.v2-user-editor-tabs.semi-tabs {
margin: 6px 6px 0;
}
.v2-user-editor-tabs > .semi-tabs-bar {
min-height: 44px;
overflow-x: auto;
padding-inline: 7px;
}
.v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
min-height: 43px;
flex: 0 0 auto;
margin-right: 14px;
font-size: 10px;
}
.v2-user-editor-tabs > .semi-tabs-content {
padding: 6px;
}
.v2-user-editor-section > .semi-card-body {
padding: 9px;
}
.v2-user-fields {
grid-template-columns: minmax(0, 1fr);
gap: 10px;
}
.v2-user-editor form > footer {
min-height: 54px;
padding: 6px;
}
.v2-user-editor form > footer .semi-button {
width: 100%;
min-width: 0;
min-height: 42px;
justify-content: center;
}
.v2-assigned-toolbar {
display: grid;
gap: 8px;
}
.v2-assigned-toolbar > .semi-input-wrapper {
width: 100%;
flex-basis: auto;
}
.v2-assigned-vins {
grid-template-columns: minmax(0, 1fr);
}
}
/* Final cascade layer for the shared command hierarchy. */
.v2-workspace-command-bar {
box-sizing: border-box;
height: 52px;
min-height: 52px;
padding-block: 5px;
}
.v2-workspace-command-copy {
gap: 0;
}
.v2-workspace-command-copy > .semi-typography:first-child {
margin: 0;
line-height: 18px;
}
.v2-workspace-command-copy > .semi-typography:last-child {
margin: 0;
line-height: 14px;
}
.v2-vehicle-query-panel > .semi-card-body > .v2-workspace-filter-heading {
display: none;
}
.v2-vehicle-query-panel .v2-vehicle-search-form {
display: flex;
height: 54px;
min-height: 54px;
align-items: center;
gap: 8px;
border-top: 0;
padding: 6px 8px;
}
.v2-vehicle-query-panel .v2-vehicle-search-form > .v2-vehicle-search-picker {
width: auto;
min-height: 40px;
flex: 1 1 0;
}
.v2-vehicle-query-panel .v2-vehicle-search-form > .semi-button {
height: 40px;
min-height: 40px;
flex: 0 0 auto;
}
.v2-ops-tabs {
box-sizing: border-box;
height: 44px;
min-height: 44px;
flex: 0 0 44px;
overflow: hidden;
padding: 3px;
}
.v2-ops-tabs > .semi-button {
height: 36px;
min-height: 36px;
}
@media (max-width: 680px) {
.v2-workspace-command-bar {
height: 48px;
min-height: 48px;
}
.v2-vehicle-query-panel > .semi-card-body > .v2-workspace-filter-heading {
display: flex;
}
.v2-vehicle-query-panel .v2-vehicle-search-form {
height: auto;
min-height: 0;
padding: 8px;
}
}
.v2-vehicle-search-page > .v2-workspace-command-bar {
width: min(1280px, 100%);
}
.v2-access-page-v3 {
width: 100%;
height: 100%;
min-height: 0;
gap: 8px;
overflow: hidden;
padding: 12px 14px 14px;
}
.v2-access-page-v3 > .v2-workspace-command-bar,
.v2-ops-command-bar {
max-width: none;
}
.v2-access-filter-card-v3 > .semi-card-body {
display: block;
}
.v2-access-filter-card-v3 > .semi-card-body > .v2-workspace-filter-heading {
display: none;
}
.v2-access-filter-v3 {
min-height: 54px;
grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(128px, .7fr)) auto;
align-items: center;
gap: 8px;
padding: 7px 9px;
}
.v2-access-filter-v3 > label {
display: contents;
}
.v2-access-filter-v3 > label > span {
display: none;
}
.v2-access-filter-v3 label > :is(.semi-input-wrapper, .semi-select),
.v2-access-filter-actions > .semi-button {
width: 100%;
height: 38px;
min-height: 38px;
align-self: center;
border-radius: 8px;
}
.v2-access-filter-actions {
display: flex;
min-width: 0;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.v2-access-filter-actions > .semi-button {
min-width: 76px;
padding-inline: 16px;
font-size: 12px;
font-weight: 700;
}
.v2-access-filter-actions > .semi-button-primary.semi-button-solid {
box-shadow: 0 7px 16px rgba(18, 104, 243, .15);
}
.v2-access-kpis-card-v3.semi-card,
.v2-access-kpis-v3 {
min-height: 60px;
}
.v2-access-kpis-v3 .v2-metric-action {
min-height: 58px;
padding: 8px 14px;
}
.v2-access-kpis-v3 strong {
font-size: 20px;
}
.v2-access-workspace-v3 {
min-height: 0;
flex: 1 1 0;
}
.v2-access-table-v3.semi-card,
.v2-access-table-v3 > .semi-card-body {
height: 100%;
min-height: 0;
}
.v2-ops-page {
width: 100%;
height: 100%;
min-height: 0;
gap: 8px;
overflow: hidden;
padding: 12px 14px 14px;
}
.v2-ops-workspace {
min-height: 0;
flex: 1 1 0;
overflow: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
@media (max-width: 1120px) and (min-width: 681px) {
.v2-access-filter-v3 {
grid-template-columns: minmax(200px, 1fr) repeat(3, minmax(110px, .65fr));
}
.v2-access-filter-actions {
grid-column: 1 / -1;
}
.v2-access-command-bar .v2-workspace-command-meta {
display: none;
}
}
@media (max-width: 680px) {
.v2-access-page-v3 {
height: 100%;
min-height: 0;
gap: 7px;
overflow: hidden;
padding: 7px 7px 8px;
}
.v2-access-filter-card-v3 > .semi-card-body > .v2-workspace-filter-heading {
display: flex;
}
.v2-access-filter-v3 {
min-height: 0;
grid-template-columns: minmax(0, 1fr);
gap: 8px;
padding: 8px;
}
.v2-access-filter-v3 > label {
display: grid;
}
.v2-access-filter-v3 > label > span {
display: block;
}
.v2-access-filter-actions {
width: 100%;
grid-column: 1;
}
.v2-access-filter-actions > .semi-button {
height: 42px;
min-height: 42px;
flex: 1 1 0;
}
.v2-access-kpis-card-v3.semi-card,
.v2-access-kpis-v3 {
min-height: 62px;
}
.v2-access-kpis-v3 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.v2-access-kpis-v3 .v2-metric-action {
min-height: 62px;
padding: 7px 6px;
}
.v2-access-kpis-v3 .v2-metric-action-content {
display: grid;
align-content: center;
gap: 4px;
}
.v2-access-kpis-v3 small {
overflow: hidden;
font-size: 8px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-access-kpis-v3 strong {
margin-left: 0;
font-size: 16px;
}
.v2-access-kpis-v3 em {
display: none;
}
.v2-access-workspace-v3 {
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-access-table-v3 > .semi-card-body > .v2-workspace-panel-header {
min-height: 50px;
align-items: center;
padding: 6px 8px;
}
.v2-access-table-v3 .v2-workspace-panel-copy > .semi-typography {
display: none;
}
.v2-access-table-scroll-v3.is-mobile-scroll {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
scrollbar-width: auto;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.v2-access-table-scroll-v3.is-mobile-scroll:focus-visible {
outline: 2px solid rgba(18, 104, 243, .34);
outline-offset: -2px;
}
.v2-access-table-scroll-v3.is-mobile-scroll::-webkit-scrollbar {
width: 11px;
}
.v2-access-table-scroll-v3.is-mobile-scroll::-webkit-scrollbar-thumb {
border: 3px solid transparent;
border-radius: 999px;
background: #9cacc0;
background-clip: padding-box;
}
.v2-access-mobile-list {
gap: 6px;
padding: 6px;
}
.v2-access-mobile-card.semi-card {
border-radius: 9px;
contain-intrinsic-size: auto 126px;
}
.v2-access-mobile-card-content {
gap: 5px;
padding: 8px 9px;
}
.v2-access-mobile-card-content > header {
align-items: center;
}
.v2-access-mobile-card-content > header strong {
font-size: 13px;
}
.v2-access-mobile-card-content > header small {
font-size: 8px;
}
.v2-access-mobile-card-content > header .v2-access-connection {
gap: 0;
}
.v2-access-mobile-card-content > header .v2-access-connection > span {
display: none;
}
.v2-access-mobile-card-content > header .v2-access-connection-tag.semi-tag {
min-height: 20px;
border-radius: 5px;
padding-inline: 5px;
font-size: 8px;
}
.v2-access-mobile-card-content > p {
overflow: hidden;
font-size: 9px;
line-height: 12px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-access-mobile-protocols {
gap: 4px;
padding-top: 5px;
}
.v2-access-mobile-list .v2-access-protocol-cell {
grid-template-columns: minmax(0, 1fr) auto;
gap: 2px 4px;
border-radius: 6px;
padding: 5px 6px;
}
.v2-access-mobile-list .v2-access-protocol-label {
min-width: 0;
overflow: hidden;
color: #50627a;
font-size: 8px;
line-height: 11px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-access-mobile-list .v2-access-protocol-cell > span {
justify-self: end;
gap: 3px;
font-size: 8px;
line-height: 11px;
}
.v2-access-mobile-list .v2-access-protocol-cell > span i {
width: 5px;
height: 5px;
}
.v2-access-mobile-list .v2-access-protocol-cell > strong {
grid-column: 1 / -1;
font-size: 8px;
line-height: 11px;
}
.v2-access-mobile-card-content > footer {
display: none;
}
.v2-access-table-v3 > .semi-card-body > footer:has(.v2-table-pagination-controls) {
min-height: 50px;
flex-direction: row;
align-items: center;
padding: 5px 6px;
}
.v2-access-table-v3 > .semi-card-body > footer .v2-table-pagination-info {
display: none;
}
.v2-access-table-v3 > .semi-card-body > footer .v2-table-pagination-button.semi-button,
.v2-access-table-v3 > .semi-card-body > footer .v2-table-pagination-current,
.v2-access-table-v3 > .semi-card-body > footer .v2-table-pagination-size.semi-select {
height: 34px;
}
.v2-ops-page {
height: auto;
min-height: 100%;
gap: 7px;
overflow: auto;
padding: 7px 7px 16px;
}
.v2-ops-workspace {
min-height: 0;
flex: none;
overflow: visible;
}
}
/* Semi UI operations queue: one fixed workbench with an independently scrolling evidence list. */
.v2-ops-workspace.is-reconciliation {
display: block;
overflow: hidden;
}
.v2-ops-workspace.is-reconciliation > .v2-reconcile-center.semi-card {
width: 100%;
height: 100%;
min-height: 0;
}
.v2-reconcile-center > .semi-card-body {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
}
.v2-reconcile-heading,
.v2-reconcile-overview,
.v2-reconcile-pagination {
flex: 0 0 auto;
}
.v2-reconcile-layout,
.v2-reconcile-layout.is-trend-open {
height: auto !important;
min-height: 0 !important;
flex: 1 1 0;
overflow: hidden;
}
.v2-reconcile-main {
min-height: 0;
}
.v2-reconcile-table-wrap.is-scroll-region {
min-height: 0;
flex: 1 1 0;
overflow: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
.v2-reconcile-table-wrap.is-scroll-region:focus-visible {
outline: 2px solid rgba(18, 104, 243, .34);
outline-offset: -2px;
}
.v2-reconcile-pagination {
min-height: 48px;
}
.v2-reconcile-trend-sidesheet .semi-sidesheet-body {
overflow: auto;
background: #f6f8fb;
padding: 10px;
}
.v2-reconcile-trend-sidesheet .v2-reconcile-trend.semi-card {
overflow: hidden;
border: 1px solid #dce5ef;
border-radius: 12px;
background: #fff;
box-shadow: 0 8px 26px rgba(31, 53, 80, .07);
}
@media (max-width: 680px) {
.v2-ops-page.is-reconciliation {
height: 100%;
min-height: 0;
overflow: hidden;
padding-bottom: 7px;
}
.v2-ops-page.is-reconciliation > .v2-ops-command-bar,
.v2-ops-page.is-reconciliation > .v2-ops-tabs {
flex: 0 0 auto;
}
.v2-ops-page.is-reconciliation > .v2-ops-workspace.is-reconciliation {
display: block;
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-reconcile-heading.v2-workspace-panel-header {
min-height: 54px;
padding: 7px 8px;
}
.v2-reconcile-heading > .v2-workspace-panel-actions {
gap: 6px;
}
.v2-reconcile-heading > .v2-workspace-panel-actions > .semi-button {
min-height: 38px;
border-radius: 8px;
font-size: 10px;
}
.v2-reconcile-overview {
height: 68px;
grid-template-columns: minmax(0, 4fr) minmax(66px, 1fr);
gap: 0;
border-bottom: 1px solid #e3eaf2;
background: #fff;
padding: 0;
}
.v2-reconcile-overview > .v2-reconcile-kpis {
height: 67px;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0;
background: #fff;
}
.v2-reconcile-overview .v2-reconcile-kpi-card.semi-card {
height: 67px;
border: 0;
border-radius: 0;
box-shadow: none;
}
.v2-reconcile-overview .v2-reconcile-kpi-card + .v2-reconcile-kpi-card {
border-left: 1px solid #e6ebf2;
}
.v2-reconcile-overview .v2-reconcile-kpi-card > .semi-card-body {
display: grid;
height: 67px;
min-height: 0;
align-content: center;
gap: 5px;
padding: 6px 4px !important;
text-align: center;
}
.v2-reconcile-overview .v2-reconcile-kpi-card.is-active {
background: #f2f7ff;
box-shadow: inset 0 -3px #1f6feb;
}
.v2-reconcile-overview .v2-reconcile-kpi-card small {
overflow: hidden;
color: #75849a;
font-size: 8px;
font-weight: 650;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-reconcile-overview .v2-reconcile-kpi-card strong {
margin: 0;
color: #263b52;
font-size: 17px;
line-height: 1;
}
.v2-reconcile-overview .v2-reconcile-kpi-card span {
display: none;
}
.v2-reconcile-sla.semi-card {
height: 67px;
border: 0;
border-left: 1px solid #e6ebf2;
border-radius: 0;
box-shadow: none;
}
.v2-reconcile-sla > .semi-card-body {
display: grid;
height: 67px;
min-height: 0;
grid-template-columns: minmax(0, 1fr);
grid-template-rows: auto auto;
align-content: center;
gap: 5px;
padding: 6px 4px !important;
text-align: center;
}
.v2-reconcile-sla span {
justify-content: center;
}
.v2-reconcile-sla span small,
.v2-reconcile-sla p {
display: none;
}
.v2-reconcile-sla .semi-tag {
min-height: 20px;
padding-inline: 6px;
font-size: 8px;
}
.v2-reconcile-sla strong {
grid-column: 1;
grid-row: 2;
justify-self: center;
font-size: 17px;
}
.v2-reconcile-layout,
.v2-reconcile-layout.is-trend-open {
display: flex;
min-height: 0;
flex: 1 1 0;
flex-direction: column;
}
.v2-reconcile-main {
min-height: 0;
flex: 1 1 0;
overflow: hidden;
}
.v2-reconcile-main > .v2-mobile-filter-toggle {
width: calc(100% - 12px);
flex: 0 0 auto;
margin: 6px;
}
.v2-reconcile-toolbar {
flex: 0 0 auto;
}
.v2-reconcile-table-wrap.is-scroll-region {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
scrollbar-width: auto;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.v2-reconcile-table-wrap.is-scroll-region::-webkit-scrollbar {
width: 11px;
}
.v2-reconcile-table-wrap.is-scroll-region::-webkit-scrollbar-thumb {
border: 3px solid transparent;
border-radius: 999px;
background: #9cacc0;
background-clip: padding-box;
}
.v2-reconcile-mobile-list {
gap: 6px;
padding: 6px;
}
.v2-reconcile-mobile-card.semi-card {
border-radius: 9px;
contain-intrinsic-size: auto 118px;
}
.v2-reconcile-mobile-action.semi-button {
min-height: 116px;
}
.v2-reconcile-mobile-content {
gap: 5px;
padding: 8px 9px 7px;
}
.v2-reconcile-mobile-content > header {
min-width: 0;
gap: 6px;
}
.v2-reconcile-mobile-content > header > strong {
min-width: 0;
overflow: hidden;
color: #243a52;
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-reconcile-mobile-content > header > span {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: 4px;
}
.v2-reconcile-mobile-card :is(.v2-reconcile-severity, .v2-reconcile-status).semi-tag {
min-height: 20px;
border-radius: 5px;
padding-inline: 5px;
font-size: 8px;
}
.v2-reconcile-mobile-content > p {
overflow: hidden;
color: #43576e;
font-size: 10px;
font-weight: 650;
line-height: 15px;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-reconcile-mobile-meta {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 8px;
color: #7b899a;
font-size: 8px;
line-height: 12px;
}
.v2-reconcile-mobile-meta > span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-reconcile-mobile-meta > time {
flex: 0 0 auto;
font-variant-numeric: tabular-nums;
}
.v2-reconcile-mobile-content > footer {
min-height: 27px;
justify-content: space-between;
gap: 8px;
font-size: 9px;
}
.v2-reconcile-mobile-content > footer > span {
display: flex;
min-width: 0;
align-items: center;
gap: 3px;
}
.v2-reconcile-mobile-content > footer > span:first-child {
overflow: hidden;
color: #75859a;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-reconcile-mobile-content > footer > span:last-child {
flex: 0 0 auto;
color: var(--v2-blue);
}
.v2-reconcile-pagination {
min-height: 50px;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 0;
padding: 5px 6px;
}
.v2-reconcile-pagination .v2-table-pagination-info {
display: none;
}
.v2-reconcile-pagination .v2-table-pagination-controls {
width: 100%;
justify-content: center;
}
.v2-reconcile-pagination .v2-table-pagination-button.semi-button,
.v2-reconcile-pagination .v2-table-pagination-current {
height: 34px;
}
.v2-reconcile-trend-sidesheet .semi-sidesheet-inner {
width: 100% !important;
}
}
/* Semi UI account inspector: keep the directory stable and edit in a native SideSheet. */
.v2-customer-list-scroll {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
.v2-customer-list-scroll > .v2-customer-list.semi-list {
min-height: auto;
overflow: visible;
}
.v2-customer-list-scroll:focus-visible {
outline: 2px solid rgba(18, 104, 243, .35);
outline-offset: -2px;
}
.v2-user-editor-sidesheet .semi-sidesheet-inner {
width: min(840px, 100vw) !important;
max-width: 100vw;
overflow: hidden;
border-left: 1px solid #d8e2ee;
background: #f6f8fb;
box-shadow: -20px 0 58px rgba(27, 47, 73, .16);
}
.v2-user-editor-sidesheet .semi-sidesheet-header {
min-height: 76px;
border-bottom: 1px solid #e2e9f1;
background: #fff;
padding: 12px 18px;
}
.v2-user-editor-sheet-title {
display: flex;
width: 100%;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 18px;
padding-right: 8px;
}
.v2-user-editor-sheet-title > span {
display: grid;
min-width: 0;
gap: 4px;
}
.v2-user-editor-sheet-title strong {
overflow: hidden;
color: #20364e;
font-size: 18px;
font-weight: 750;
letter-spacing: -.025em;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-user-editor-sheet-title small {
display: flex;
min-width: 0;
overflow: hidden;
color: #7b899a;
font-size: 10px;
font-weight: 500;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-user-editor-sheet-title small > span {
min-width: 0;
}
.v2-user-editor-last-login {
flex: 0 0 auto;
}
.v2-user-editor-sheet-title .v2-user-status {
display: flex;
min-width: 92px;
flex: 0 0 auto;
align-items: center;
justify-content: flex-end;
gap: 7px;
color: #53667c;
font-size: 10px;
font-weight: 650;
}
.v2-user-editor-sidesheet .semi-sidesheet-body {
min-height: 0;
overflow: hidden;
background: #f6f8fb;
padding: 0;
}
.v2-user-editor-form {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
overflow: hidden;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs.semi-tabs {
width: 100%;
height: 100%;
min-height: 0;
flex: 1 1 0;
overflow: hidden;
margin: 0;
border: 0;
border-radius: 0;
background: #f6f8fb;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar {
min-height: 52px;
flex: 0 0 auto;
border-bottom: 1px solid #e2e9f1;
background: #fff;
padding-inline: 18px;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
min-height: 51px;
font-size: 11px;
font-weight: 650;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
background: #f6f8fb;
padding: 12px;
scrollbar-gutter: stable;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content:focus-visible {
outline: 2px solid rgba(18, 104, 243, .35);
outline-offset: -2px;
}
.v2-user-editor-sidesheet .v2-user-editor-section.semi-card {
margin: 0;
border: 1px solid #dce5ef;
border-radius: 10px;
box-shadow: 0 6px 22px rgba(31, 53, 80, .05);
}
.v2-user-section-actions {
display: flex;
align-items: center;
gap: 4px;
}
.v2-user-vehicle-composer {
display: grid;
gap: 10px;
}
.v2-user-editor-sidesheet .semi-sidesheet-footer {
min-height: 64px;
border-top: 1px solid #e2e9f1;
background: #fff;
padding: 10px 14px;
}
.v2-user-editor-sheet-footer {
display: flex;
width: 100%;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.v2-user-editor-sheet-footer .v2-user-feedback.semi-typography {
min-width: 0;
overflow: hidden;
margin: 0;
font-size: 10px;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-user-editor-sheet-footer > .semi-button {
min-width: 132px;
min-height: 40px;
flex: 0 0 auto;
border-radius: 9px;
font-size: 11px;
font-weight: 700;
}
@media (max-width: 680px) {
.v2-customer-list-scroll {
scrollbar-width: auto;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.v2-customer-list-scroll::-webkit-scrollbar {
width: 11px;
}
.v2-customer-list-scroll::-webkit-scrollbar-thumb {
border: 3px solid transparent;
border-radius: 999px;
background: #9cacc0;
background-clip: padding-box;
}
.v2-user-editor-sidesheet .semi-sidesheet-inner {
width: 100% !important;
border-left: 0;
}
.v2-user-editor-sidesheet .semi-sidesheet-header {
min-height: 66px;
padding: 9px 10px 9px 12px;
}
.v2-user-editor-sheet-title {
gap: 8px;
padding-right: 2px;
}
.v2-user-editor-sheet-title strong {
font-size: 16px;
}
.v2-user-editor-sheet-title small {
max-width: 226px;
font-size: 9px;
}
.v2-user-editor-last-login {
display: none;
}
.v2-user-editor-sheet-title .v2-user-status {
min-width: 34px;
}
.v2-user-editor-sheet-title .v2-user-status > span {
display: none;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar {
min-height: 48px;
overflow-x: auto;
padding-inline: 10px;
scrollbar-width: none;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar::-webkit-scrollbar {
display: none;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
min-height: 47px;
flex: 0 0 auto;
margin-right: 14px;
font-size: 10px;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content {
padding: 7px;
scrollbar-width: auto;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.v2-user-section-actions > .semi-button {
min-width: 0;
min-height: 32px;
border-radius: 7px;
padding-inline: 8px;
font-size: 9px;
}
.v2-user-vehicle-tools-toggle.semi-button {
min-width: 58px;
}
.v2-user-vehicle-composer {
gap: 8px;
}
.v2-user-editor-sidesheet .v2-vehicle-permission-tools {
gap: 8px;
}
.v2-user-vehicle-section.is-composer-collapsed .v2-assigned-toolbar {
margin-top: 0;
border-top: 0;
padding-top: 1px;
}
.v2-user-editor-sidesheet .v2-assigned-toolbar {
grid-template-columns: 104px minmax(0, 1fr);
align-items: end;
gap: 8px;
}
.v2-user-editor-sidesheet .v2-assigned-toolbar > .semi-input-wrapper {
min-height: 40px;
}
.v2-user-editor-sidesheet .v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
min-height: 90px;
padding: 9px 10px;
contain-intrinsic-size: auto 90px;
}
.v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > .v2-assigned-vehicle-interval {
gap: 6px;
margin-top: 7px;
padding-top: 6px;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content::-webkit-scrollbar {
width: 11px;
}
.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content::-webkit-scrollbar-thumb {
border: 3px solid transparent;
border-radius: 999px;
background: #9cacc0;
background-clip: padding-box;
}
.v2-user-editor-sidesheet .semi-sidesheet-footer {
min-height: 62px;
padding: 8px;
}
.v2-user-editor-sheet-footer {
gap: 8px;
}
.v2-user-editor-sheet-footer .v2-user-feedback.semi-typography {
display: none;
}
.v2-user-editor-sheet-footer > .semi-button {
width: 100%;
min-width: 0;
min-height: 44px;
justify-content: center;
}
}
/* Semi UI workspace migration: global monitor command bar and fleet overview. */
.v2-filterbar.semi-card {
border-color: #dce5ef;
border-radius: 12px;
box-shadow: 0 7px 24px rgba(31, 53, 80, .055);
}
.v2-filterbar > .semi-card-body {
display: flex;
min-width: 0;
align-items: center;
gap: 12px;
padding: 10px 12px;
}
.v2-monitor-filter-fields {
display: grid;
min-width: 0;
flex: 1 1 680px;
grid-template-columns: minmax(260px, 1fr) minmax(122px, 142px) minmax(122px, 142px) auto;
align-items: center;
gap: 8px;
}
.v2-monitor-filter-fields > .v2-sr-only {
position: absolute;
}
.v2-monitor-filter-fields > .semi-select {
width: 100%;
min-width: 0;
height: 36px;
border: 1px solid #d7e0eb;
border-radius: 8px;
background: #fff;
box-shadow: none;
}
.v2-monitor-filter-fields > .semi-select:hover {
border-color: #b8c7da;
}
.v2-monitor-filter-fields > .semi-select-focus {
border-color: #8ab4f7;
box-shadow: 0 0 0 3px rgba(18, 104, 243, .07);
}
.v2-monitor-filter-fields > .semi-select .semi-select-selection-text {
height: 34px;
color: #4d5c70;
font-size: 12px;
}
.v2-monitor-filter-fields > .v2-filter-reset.semi-button {
height: 36px;
border-color: #d7e0eb;
border-radius: 8px;
color: #59677c;
font-size: 11px;
font-weight: 650;
}
.v2-monitor-filter-fields > .v2-filter-reset.semi-button:disabled {
border-color: #e7ecf2;
background: #f8fafc;
color: #a7b2c1;
}
.v2-monitor-filter-actions {
display: flex;
min-width: max-content;
flex: 0 0 auto;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.v2-filter-live-status {
position: relative;
height: 34px;
border: 0;
border-radius: 17px;
background: #f3f6fa;
padding: 0 10px;
color: #718096;
font-size: 10px;
font-weight: 650;
}
.v2-filter-live-status.has-filters {
background: #edf5ff;
color: #2867bb;
}
.v2-filter-live-status b {
display: inline-grid;
min-width: 18px;
height: 18px;
place-items: center;
border-radius: 9px;
background: #1268f3;
color: #fff;
font-size: 9px;
line-height: 1;
}
.v2-monitor-mode.v2-segmented-tabs {
display: grid;
width: 142px;
height: 36px;
grid-template-columns: repeat(2, minmax(0, 1fr));
overflow: hidden;
border: 1px solid #d7e0eb;
border-radius: 9px;
background: #f3f6fa;
padding: 2px;
}
.v2-monitor-mode.v2-segmented-tabs > .semi-button {
width: 100%;
min-width: 0;
height: 30px;
justify-content: center;
border: 0;
border-radius: 7px;
padding: 0 8px;
color: #65758a;
font-size: 11px;
font-weight: 650;
box-shadow: none;
}
.v2-monitor-mode.v2-segmented-tabs > .semi-button.is-active {
background: #fff;
color: #1268f3;
box-shadow: 0 2px 8px rgba(24, 53, 91, .11);
}
.v2-monitor-mode .v2-segmented-tab-label {
justify-content: center;
gap: 5px;
}
.v2-monitor-filter-actions > .v2-monitor-mobile-entry.semi-button {
height: 36px;
border-color: #d7e0eb;
border-radius: 8px;
color: #52657c;
font-size: 11px;
font-weight: 650;
}
.v2-kpis.semi-card {
border-color: #dce5ef;
border-radius: 12px;
box-shadow: 0 7px 24px rgba(31, 53, 80, .05);
}
.v2-kpi {
isolation: isolate;
min-height: 74px;
padding: 12px 15px;
transition: background-color .18s ease;
}
.v2-kpi.is-primary {
background: linear-gradient(135deg, #f8fbff 0%, #fff 76%);
}
.v2-kpi.is-online {
background: linear-gradient(135deg, #f4fcf8 0%, #fff 78%);
}
.v2-kpi.is-primary::after {
position: absolute;
z-index: -1;
top: 0;
right: 14px;
left: 14px;
height: 2px;
border-radius: 0 0 2px 2px;
background: linear-gradient(90deg, #1268f3, #72a8ff);
content: "";
}
.v2-kpi.is-online::after {
background: linear-gradient(90deg, #17a673, #75d3aa);
}
.v2-kpi small {
color: #708096;
font-size: 11px;
font-weight: 650;
letter-spacing: .015em;
}
.v2-kpi strong {
margin-top: 8px;
color: #23364d;
font-weight: 720;
}
.v2-kpi.is-primary strong {
font-weight: 780;
}
.v2-kpi.is-support {
background: #f9fafc;
}
.v2-kpi.is-support small {
color: #8a96a6;
font-size: 9px;
font-weight: 550;
}
.v2-kpi.is-support strong {
color: #748297;
font-weight: 650;
}
@media (max-width: 1320px) {
.v2-filterbar > .semi-card-body {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
}
.v2-monitor-filter-fields {
width: 100%;
}
.v2-filter-live-status-label {
display: none;
}
}
@media (max-width: 1080px) {
.v2-filterbar > .semi-card-body {
grid-template-columns: minmax(0, 1fr);
gap: 8px;
}
.v2-monitor-filter-actions {
width: 100%;
}
.v2-filter-live-status-label {
display: inline;
}
}
@media (max-width: 760px) {
.v2-filterbar > .semi-card-body {
display: grid;
gap: 8px;
padding: 8px;
}
.v2-monitor-filter-fields {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
gap: 7px;
}
.v2-monitor-filter-fields > .v2-search-field {
grid-column: 1 / -1;
}
.v2-monitor-filter-fields > .semi-select,
.v2-monitor-filter-fields > .v2-filter-reset.semi-button {
height: 42px;
}
.v2-monitor-filter-fields > .semi-select .semi-select-selection-text {
height: 40px;
font-size: 16px;
}
.v2-monitor-filter-actions {
display: grid;
width: 100%;
min-width: 0;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: 7px;
}
.v2-filter-live-status {
width: 40px;
height: 40px;
padding: 0;
}
.v2-filter-live-status-label {
display: none;
}
.v2-filter-live-status b {
position: absolute;
top: -3px;
right: -3px;
}
.v2-monitor-mode.v2-segmented-tabs {
width: 100%;
height: 42px;
}
.v2-monitor-mode.v2-segmented-tabs > .semi-button {
height: 36px;
font-size: 12px;
}
.v2-monitor-filter-actions > .v2-monitor-mobile-entry.semi-button {
width: 42px;
height: 42px;
padding: 0;
}
.v2-monitor-filter-actions > .v2-monitor-mobile-entry .v2-monitor-mobile-entry-label {
display: none;
}
.v2-kpi {
min-height: 66px;
padding: 9px 11px;
}
.v2-kpi.is-primary::after {
right: 10px;
left: 10px;
}
.v2-kpi strong {
margin-top: 7px;
}
}
/* Semi UI workspace migration: monitor vehicle inspector and live status rail. */
.v2-vehicle-detail.semi-card {
background: #f6f8fb;
padding: 12px;
scrollbar-color: #a8b7c9 transparent;
scrollbar-width: thin;
}
.v2-vehicle-detail.semi-card::-webkit-scrollbar {
width: 8px;
}
.v2-vehicle-detail.semi-card::-webkit-scrollbar-thumb {
border: 2px solid transparent;
border-radius: 999px;
background: #a8b7c9;
background-clip: padding-box;
}
.v2-detail-shell-header {
top: -12px;
margin: -12px -12px 8px;
border-bottom-color: #dfe7f0;
background: rgba(255, 255, 255, .96);
padding: 13px 12px 10px;
box-shadow: 0 6px 18px rgba(31, 53, 80, .045);
backdrop-filter: blur(10px);
}
.v2-detail-shell-header .v2-detail-controls {
top: 12px;
right: 12px;
}
.v2-detail-shell-header .v2-detail-title {
padding-bottom: 11px;
}
.v2-detail-shell-header .v2-detail-title strong {
font-size: 19px;
font-weight: 780;
letter-spacing: -.035em;
}
.v2-detail-actions {
gap: 5px;
}
.v2-detail-actions a {
justify-content: space-between;
padding: 0 9px;
border-color: #dce5ef;
background: #f9fbfd;
}
.v2-detail-actions a > span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-detail-actions a > .semi-icon {
color: #94a3b8;
font-size: 11px;
}
.v2-detail-actions a:first-child > .semi-icon,
.v2-detail-actions a:hover > .semi-icon,
.v2-detail-actions a:focus-visible > .semi-icon {
color: currentColor;
}
.v2-vehicle-detail .v2-detail-section {
border-color: #dce5ef;
border-radius: 11px;
box-shadow: 0 6px 20px rgba(31, 53, 80, .045);
}
.v2-detail-section > .v2-workspace-panel-header {
min-height: 50px;
padding: 9px 11px;
}
.v2-detail-section > .v2-workspace-panel-header .v2-workspace-panel-copy {
gap: 3px;
}
.v2-detail-section > .v2-workspace-panel-header .v2-workspace-panel-copy > h5 {
color: #263a52;
font-size: 12px;
font-weight: 730;
}
.v2-detail-section > .v2-workspace-panel-header .v2-workspace-panel-copy > .semi-typography {
color: #8794a6;
}
.v2-vehicle-detail .v2-detail-report {
border-color: #cfdff3;
}
.v2-detail-report > .v2-workspace-panel-header {
background: linear-gradient(100deg, #f1f7ff 0%, #f8fbff 64%, #fff 100%);
}
.v2-report-summary {
border-color: #d5e2f1;
background: #fafcff;
}
.v2-report-summary > .is-time {
background: linear-gradient(135deg, #f2f7ff 0%, #fafcff 100%);
}
.v2-report-summary strong {
color: #174d8d;
font-weight: 750;
}
.v2-report-summary b {
color: #3b5879;
font-weight: 700;
}
.v2-detail-section > .v2-metric-grid {
overflow: hidden;
border-color: #dce5ef;
border-radius: 10px;
background: #fbfcfe;
}
.v2-detail-section > .v2-metric-grid > div {
min-height: 70px;
background: #fff;
}
.v2-detail-section > .v2-metric-grid > div:hover {
background: #fbfdff;
}
.v2-detail-section > .v2-metric-grid > .is-speed::after { background: #78a9ef; }
.v2-detail-section > .v2-metric-grid > .is-soc::after { background: #65bf94; }
.v2-detail-section > .v2-metric-grid > .is-mileage::after { background: #79a7ea; }
.v2-detail-section > .v2-metric-grid > .is-today::after { background: #2f7de9; }
.v2-detail-section > .v2-metric-grid > .is-status::after { background: #43b77d; }
.v2-detail-section > .v2-metric-grid > .is-alert::after { background: #d8e0ea; }
.v2-detail-section > .v2-metric-grid > .is-today strong,
.v2-detail-section > .v2-metric-grid > .is-today .v2-metric-source-link { color: #1268df; }
.v2-detail-section > .v2-metric-grid > .has-alerts::after { background: #eb6d70; }
.v2-vehicle-detail .v2-source-evidence.is-compact.semi-card {
margin-top: 8px;
overflow: hidden;
border: 1px solid #dce5ef;
border-radius: 11px;
background: #fff;
box-shadow: 0 6px 20px rgba(31, 53, 80, .04);
}
.v2-vehicle-detail .v2-source-evidence.is-compact .v2-source-evidence-trigger {
min-height: 56px;
padding: 10px 11px;
}
.v2-vehicle-detail .v2-source-evidence.is-compact .v2-source-evidence-body {
padding: 10px 11px 12px;
}
.v2-event-strip.semi-card {
min-height: 52px;
overflow: hidden;
border-color: #dce5ef;
border-radius: 11px;
background: rgba(255, 255, 255, .98);
box-shadow: 0 6px 20px rgba(31, 53, 80, .045);
}
.v2-event-strip > .semi-card-body {
display: grid;
min-height: 50px;
grid-template-columns: auto minmax(150px, 1fr) auto auto;
align-items: center;
gap: 0;
padding: 0 13px;
}
.v2-event-sync {
display: flex;
min-width: 0;
align-items: center;
gap: 9px;
padding-right: 14px;
}
.v2-event-sync > span {
display: flex;
min-width: 0;
flex-direction: column;
gap: 2px;
line-height: 1.15;
}
.v2-event-sync > span strong {
color: #2a3c53;
font-size: 10px;
}
.v2-event-sync > span small,
.v2-event-load > small,
.v2-event-strip time small {
color: #8a97a8;
font-size: 8px;
font-weight: 550;
white-space: nowrap;
}
.v2-monitor-live-tag.semi-tag {
height: 26px;
gap: 5px;
padding-inline: 8px;
border-radius: 13px;
font-size: 9px;
font-weight: 700;
}
.v2-monitor-live-tag .semi-tag-content,
.v2-refresh-cadence .semi-tag-content {
display: inline-flex;
align-items: center;
gap: 4px;
}
.v2-event-load {
display: flex;
min-width: 0;
flex-direction: column;
gap: 3px;
border-left: 1px solid #e5ebf2;
padding: 0 14px;
line-height: 1.15;
}
.v2-event-load > span {
overflow: hidden;
color: #4f6075;
font-size: 9px;
font-weight: 650;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-refresh-cadence {
display: flex;
min-width: 0;
align-items: center;
gap: 8px;
border-left: 1px solid #e5ebf2;
padding: 0 14px;
}
.v2-refresh-cadence > span {
color: #64748b;
font-size: 9px;
font-variant-numeric: tabular-nums;
white-space: nowrap;
}
.v2-refresh-cadence .semi-tag {
height: 24px;
border-radius: 12px;
font-size: 8px;
font-weight: 700;
}
.v2-event-strip time {
display: flex;
min-width: 92px;
align-items: center;
justify-content: flex-end;
gap: 7px;
border-left: 1px solid #e5ebf2;
padding-left: 14px;
color: #8290a3;
}
.v2-event-strip time > span {
display: flex;
align-items: flex-end;
flex-direction: column;
gap: 2px;
line-height: 1.1;
}
.v2-event-strip time b {
color: #4c5e73;
font-size: 9px;
font-weight: 700;
font-variant-numeric: tabular-nums;
white-space: nowrap;
}
@media (max-width: 1180px) {
.v2-event-strip > .semi-card-body {
grid-template-columns: auto minmax(120px, 1fr) auto;
}
.v2-event-load {
display: none;
}
}
@media (max-width: 760px) {
.v2-vehicle-detail.semi-card {
padding: 16px 10px 14px;
}
.v2-detail-shell-header {
top: -16px;
margin: -12px -10px 8px;
padding: 17px 10px 10px;
}
.v2-detail-shell-header .v2-detail-controls {
top: 16px;
right: 10px;
}
.v2-detail-actions a {
padding-inline: 11px;
}
.v2-detail-section > .v2-workspace-panel-header {
min-height: 54px;
}
.v2-event-strip > .semi-card-body {
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px 0;
padding: 9px 10px;
}
.v2-event-sync {
padding-right: 8px;
}
.v2-event-load {
display: none;
}
.v2-refresh-cadence {
display: flex;
grid-column: 1 / -1;
grid-row: 2;
align-items: center;
justify-content: space-between;
border-top: 1px solid #edf1f5;
border-left: 0;
padding: 8px 0 0;
}
.v2-refresh-cadence > span {
overflow: hidden;
text-overflow: ellipsis;
}
.v2-event-strip time {
min-width: 82px;
border-left: 0;
padding-left: 8px;
}
}
/*
* Semi UI operations final convergence.
* Keep one compact navigation rail, give every workspace a single scroll owner,
* and never allow the health grid to shrink evidence below its intrinsic size.
*/
.v2-ops-navigation {
display: flex;
width: 100%;
height: 52px;
min-height: 52px;
flex: 0 0 52px;
align-items: center;
justify-content: space-between;
gap: 14px;
overflow: hidden;
border: 1px solid #dce4ed;
border-radius: 12px;
background: #fff;
padding: 5px 10px 5px 5px;
box-shadow: 0 5px 18px rgba(31, 53, 80, .045);
}
.v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs {
width: min(700px, calc(100% - 220px));
height: 40px;
min-height: 40px;
flex: 0 1 700px;
grid-template-columns: repeat(3, minmax(132px, 1fr));
gap: 3px;
overflow: visible;
border: 0;
border-radius: 9px;
background: #f2f5f9;
padding: 3px;
box-shadow: none;
}
.v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs > .semi-button {
height: 34px;
min-height: 34px;
border-radius: 7px;
font-size: 13px;
}
.v2-ops-navigation-meta {
display: flex;
min-width: 0;
align-items: center;
justify-content: flex-end;
gap: 9px;
white-space: nowrap;
}
.v2-ops-navigation-meta > .semi-typography {
overflow: hidden;
color: #7d899a;
font-size: 12px;
text-overflow: ellipsis;
}
.v2-ops-navigation-meta > .semi-tag {
min-height: 26px;
flex: 0 0 auto;
border-radius: 6px;
font-size: 11px;
}
.v2-ops-workspace.is-health {
align-content: start;
grid-auto-rows: max-content;
}
.v2-ops-workspace.is-health > .v2-ops-overview.semi-card {
height: auto;
min-height: 0;
}
.v2-ops-overview > .semi-card-body {
height: auto;
}
.v2-ops-metric {
min-height: 100px;
padding: 14px 16px 13px;
}
.v2-ops-metric::after {
right: 16px;
left: 16px;
}
.v2-ops-metric strong {
margin: 8px 0 7px;
font-size: 22px;
}
.v2-ops-workspace.is-diagnostic {
display: flex;
min-height: 0;
flex-direction: column;
align-items: stretch;
overflow: auto;
}
.v2-ops-workspace.is-diagnostic > .v2-source-filter-panel {
flex: 0 0 auto;
}
.v2-ops-workspace.is-diagnostic > .v2-source-diagnostic {
min-height: 300px;
flex: 1 0 auto;
}
.v2-source-filter-panel .v2-source-search {
min-height: 60px;
align-items: center;
}
.v2-source-filter-panel .v2-source-search > .semi-input-wrapper,
.v2-source-filter-panel .v2-source-search > .semi-button {
height: 38px;
min-height: 38px;
}
.v2-ops-source-card.semi-card {
content-visibility: auto;
contain-intrinsic-size: auto 390px;
}
.v2-ops-workspace,
.v2-reconcile-table-wrap.is-scroll-region {
scrollbar-color: #aebdce transparent;
scrollbar-width: thin;
}
.v2-ops-workspace:focus-visible {
outline: 2px solid rgba(18, 104, 243, .34);
outline-offset: -2px;
}
.v2-ops-workspace::-webkit-scrollbar,
.v2-reconcile-table-wrap.is-scroll-region::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.v2-ops-workspace::-webkit-scrollbar-thumb,
.v2-reconcile-table-wrap.is-scroll-region::-webkit-scrollbar-thumb {
border: 2px solid transparent;
border-radius: 999px;
background: #aebdce;
background-clip: padding-box;
}
@media (max-width: 900px) and (min-width: 681px) {
.v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs {
width: min(620px, calc(100% - 150px));
flex-basis: 620px;
}
.v2-ops-navigation-meta > .semi-typography {
display: none;
}
}
@media (max-width: 680px) {
.v2-ops-navigation {
position: sticky;
z-index: 8;
top: 0;
height: 50px;
min-height: 50px;
flex-basis: 50px;
border-radius: 11px;
padding: 4px;
}
.v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs {
position: static;
width: 100%;
height: 42px;
min-height: 42px;
flex: 1 1 auto;
grid-template-columns: repeat(3, minmax(92px, 1fr));
overflow-x: auto;
}
.v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs > .semi-button {
min-width: 92px;
min-height: 36px;
padding-inline: 7px;
font-size: 11px;
}
.v2-ops-navigation-meta {
display: none;
}
.v2-ops-workspace.is-diagnostic {
overflow: visible;
}
.v2-ops-workspace.is-diagnostic > .v2-source-diagnostic {
min-height: 260px;
}
.v2-source-filter-panel .v2-source-search {
align-items: stretch;
}
.v2-ops-metric {
min-height: 94px;
}
}
/*
* Semi UI mileage workspace convergence.
* Keep a single query/summary surface, one table scroll owner and the same
* restrained control, radius and evidence language used by the other
* operations workspaces.
*/
.v2-mileage-page {
gap: 10px;
padding: 14px 18px 16px;
}
.v2-mileage-query-panel.v2-workspace-filter-panel.semi-card {
overflow: visible;
border-color: #d8e3ef;
border-radius: 12px;
box-shadow: 0 8px 26px rgba(31, 53, 80, .055);
}
.v2-mileage-query-panel .v2-workspace-filter-heading {
min-height: 44px;
border-bottom-color: #e3eaf2;
background: linear-gradient(100deg, #f7faff 0%, #f9fbfd 58%, #fff 100%);
padding-inline: 13px;
}
.v2-mileage-query-panel .v2-mileage-filter {
gap: 10px;
background: #fff;
padding: 11px 12px 12px;
}
.v2-mileage-filter > label {
gap: 5px;
color: #607187;
font-size: 11px;
font-weight: 650;
}
.v2-mileage-multiselect,
.v2-mileage-filter > label > .semi-input-wrapper {
min-height: 38px;
border-color: #d8e2ed;
border-radius: 8px;
background: #fbfcfe;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}
.v2-mileage-multiselect:hover,
.v2-mileage-filter > label > .semi-input-wrapper:hover {
border-color: #b9c9dc;
background: #fff;
}
.v2-mileage-multiselect:focus-within,
.v2-mileage-filter > label > .semi-input-wrapper-focus {
border-color: #75a5ed;
background: #fff;
box-shadow: 0 0 0 3px rgba(37, 99, 235, .09);
}
.v2-mileage-selection > .semi-input-wrapper .semi-input,
.v2-mileage-filter > label > .semi-input-wrapper .semi-input {
color: #2d4058;
font-size: 12px;
}
.v2-mileage-filter > .v2-primary-button.semi-button {
min-height: 38px;
border-radius: 8px;
padding-inline: 19px;
font-size: 12px;
font-weight: 680;
box-shadow: 0 4px 12px rgba(18, 104, 223, .16);
}
.v2-mileage-source-trigger.semi-button {
min-height: 38px;
border-color: #d8e3ef;
border-radius: 8px;
background: #f8fbff;
color: #49647f;
font-size: 11px;
}
.v2-mileage-source-trigger.semi-button:hover,
.v2-mileage-source-trigger.semi-button[aria-expanded="true"] {
border-color: #aec6e4;
background: #f2f7ff;
color: #245da8;
}
.v2-mileage-source-trigger em {
color: #3d6594;
font-size: 9px;
}
.v2-mileage-ranges {
min-height: 38px;
gap: 2px;
border: 1px solid #e2e8f0;
border-radius: 9px;
background: #f5f7fa;
padding: 3px;
}
.v2-mileage-ranges .semi-button {
min-height: 30px;
border-radius: 6px;
font-size: 11px;
font-weight: 650;
}
.v2-mileage-ranges .semi-button:not(.semi-button-primary):hover {
background: #fff;
color: #1268df;
}
.v2-mileage-query-panel .v2-mileage-summary.semi-card {
border: 0;
border-top: 1px solid #e2e9f2;
border-radius: 0 0 11px 11px;
background: #fff;
box-shadow: none;
}
.v2-mileage-summary > .semi-card-body > .v2-mileage-summary-card.is-primary > .semi-card-body {
background: linear-gradient(128deg, #0c61e7 0%, #1c73ee 68%, #2c82ef 100%);
}
.v2-mileage-summary > .semi-card-body > .is-primary .v2-mileage-summary-value {
letter-spacing: -.035em;
}
.v2-mileage-summary-secondary.semi-card-group > .v2-mileage-summary-card > .semi-card-body {
justify-content: center;
padding: 11px 15px !important;
}
.v2-mileage-summary-secondary .v2-mileage-summary-card small {
color: #78879a;
font-size: 10px;
font-weight: 560;
}
.v2-mileage-summary-secondary .v2-mileage-summary-card strong {
margin: 5px 0 4px;
color: #22354d;
font-size: clamp(19px, 1.55vw, 25px);
font-weight: 760;
line-height: 1.08;
}
.v2-mileage-summary-secondary .v2-mileage-summary-card span {
display: -webkit-box;
min-height: 2.6em;
overflow: hidden;
color: #8492a4;
font-size: 9px;
line-height: 1.3;
text-overflow: ellipsis;
white-space: normal;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.v2-mileage-results.semi-card {
border-color: #d8e3ef;
border-radius: 12px;
box-shadow: 0 8px 26px rgba(31, 53, 80, .05);
}
.v2-mileage-results > .semi-card-body > .v2-workspace-panel-header {
min-height: 50px;
border-bottom-color: #e2e9f1;
background: linear-gradient(90deg, #fff 0%, #fbfcfe 100%);
padding-inline: 14px;
}
.v2-mileage-results .v2-workspace-panel-copy > h5.semi-typography {
color: #23384f;
font-size: 15px;
}
.v2-mileage-results .v2-workspace-panel-copy > .semi-typography,
.v2-mileage-results .v2-workspace-result-meta {
color: #748499;
font-size: 10px;
}
.v2-mileage-result-actions > .semi-button {
min-height: 32px;
border-radius: 8px;
font-size: 11px;
font-weight: 650;
}
.v2-mileage-table-wrap {
scrollbar-color: #9eb0c4 #f2f5f9;
scrollbar-gutter: stable;
scrollbar-width: auto;
}
.v2-mileage-table-wrap::-webkit-scrollbar {
width: 14px;
height: 14px;
}
.v2-mileage-table-wrap::-webkit-scrollbar-track {
border-radius: 999px;
background: #f2f5f9;
}
.v2-mileage-table-wrap::-webkit-scrollbar-thumb {
min-width: 56px;
min-height: 56px;
border: 3px solid #f2f5f9;
border-radius: 999px;
background: #9eb0c4;
}
.v2-mileage-table-wrap::-webkit-scrollbar-thumb:hover {
background: #7f95ae;
}
.v2-mileage-table-wrap::-webkit-scrollbar-corner {
background: #f2f5f9;
}
.v2-mileage-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 42px;
border-bottom-color: #dde6f0;
background: #f6f8fb;
color: #5a6d84;
font-size: 11px;
}
.v2-mileage-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 52px;
border-bottom-color: #e9eef4;
color: #43566d;
font-size: 12px;
}
.v2-mileage-table .semi-table-tbody > .semi-table-row:hover {
background: #f6faff;
}
.v2-mileage-table .semi-table-row-cell.is-plate strong {
color: #243950;
font-size: 12px;
font-weight: 720;
}
.v2-mileage-table .semi-table-row-head.is-total {
background: #edf5ff;
color: #175fbc;
}
.v2-mileage-table.semi-table-wrapper :is(.semi-table-row-head,.semi-table-row-cell).is-total,
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).semi-table-cell-fixed-right {
border-left-color: #d5e2f1;
box-shadow: -6px 0 14px rgba(38, 71, 111, .045);
}
.v2-mileage-table .semi-table-row-cell.is-period {
color: #0e62cf;
font-size: 12px;
font-weight: 780;
}
.v2-mileage-results > .semi-card-body > footer {
min-height: 40px;
border-top-color: #e3eaf2;
background: #fbfcfe;
}
.v2-mileage-evidence {
min-height: 20px;
align-items: center;
justify-content: flex-start;
gap: 0;
color: #8290a2;
font-size: 9px;
}
.v2-mileage-evidence > span {
position: relative;
overflow: hidden;
padding-inline: 10px;
text-overflow: ellipsis;
}
.v2-mileage-evidence > span:first-child {
padding-left: 2px;
}
.v2-mileage-evidence > span + span::before {
position: absolute;
top: 50%;
left: 0;
width: 3px;
height: 3px;
border-radius: 50%;
background: #b4c0ce;
content: "";
transform: translateY(-50%);
}
@media (min-width: 681px) and (max-width: 1050px) {
.v2-mileage-query-panel .v2-mileage-filter {
row-gap: 10px;
}
.v2-mileage-summary > .semi-card-body {
grid-template-columns: minmax(285px, 1fr) minmax(0, 2fr);
}
}
@media (max-width: 680px) {
.v2-mileage-page {
gap: 7px;
padding: 8px;
}
.v2-mileage-query-panel.v2-workspace-filter-panel.semi-card {
border-radius: 11px;
box-shadow: 0 5px 18px rgba(31, 53, 80, .05);
}
.v2-mileage-query-panel .v2-mileage-filter {
gap: 9px;
padding: 10px;
}
.v2-mileage-filter > label > .semi-input-wrapper,
.v2-mileage-multiselect,
.v2-mileage-source-trigger.semi-button,
.v2-mileage-filter > .v2-primary-button.semi-button {
min-height: 42px;
}
.v2-mileage-query-panel .v2-mileage-summary.semi-card {
border-top: 0;
border-radius: 10px;
}
.v2-mileage-summary-secondary .v2-mileage-summary-card strong {
font-size: 16px;
}
.v2-mileage-summary-secondary .v2-mileage-summary-card span {
display: block;
min-height: 0;
overflow: hidden;
font-size: 8px;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-mileage-results > .semi-card-body > .v2-workspace-panel-header {
display: grid;
min-height: 54px;
height: 54px;
grid-template-columns: 82px minmax(0, 1fr);
gap: 6px;
padding: 7px 9px;
}
.v2-mileage-results .v2-workspace-panel-copy {
width: 82px;
min-width: 82px;
max-width: 82px;
flex: none;
}
.v2-mileage-results .v2-workspace-panel-copy > h5.semi-typography {
width: auto;
overflow: visible;
font-size: 13px;
text-overflow: clip;
}
.v2-mileage-results .v2-workspace-panel-copy > .semi-typography:last-child,
.v2-mileage-results .v2-workspace-result-meta > span:last-child {
display: none;
}
.v2-mileage-results > .semi-card-body > .v2-workspace-panel-header > .v2-mileage-result-actions {
display: flex;
width: 100%;
min-width: 0;
max-width: none;
height: auto;
flex: none;
align-items: center;
justify-content: flex-end;
gap: 4px;
}
.v2-mileage-results .v2-mileage-result-actions > .v2-workspace-panel-meta {
flex: 0 0 auto;
font-size: 8px;
}
.v2-mileage-result-actions > .semi-button {
width: auto;
min-width: 0;
height: 32px;
flex: 0 0 auto;
padding-inline: 7px;
font-size: 9px;
}
.v2-mileage-table table {
width: max(100%, var(--v2-mileage-mobile-table-width)) !important;
}
.v2-mileage-table col.is-plate,
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).is-plate {
width: 96px !important;
min-width: 96px !important;
max-width: 96px !important;
}
.v2-mileage-table col.is-date,
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).is-date {
width: 78px !important;
min-width: 78px !important;
max-width: 78px !important;
}
.v2-mileage-table col.is-total,
.v2-mileage-table :is(.semi-table-row-head,.semi-table-row-cell).is-total {
width: 104px !important;
min-width: 104px !important;
max-width: 104px !important;
}
.v2-mileage-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
height: 38px;
font-size: 10px;
}
.v2-mileage-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
height: 44px;
font-size: 11px;
}
}