/*
 * 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;
}

/*
 * Shared Semi UI mobile filter sheet.
 * Keep the same title hierarchy, scroll surface, condition card and action
 * boundary across vehicle, mileage, history, alerts, accounts and access.
 */
@media (max-width: 680px) {
  .v2-mobile-filter-sheet .semi-sidesheet-inner {
    width: 100vw !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-mobile-filter-sheet-title {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .v2-mobile-filter-sheet-title > strong {
    color: #253a52;
    font-size: 15px;
    line-height: 1.3;
  }

  .v2-mobile-filter-sheet-title > span {
    color: #8090a3;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
  }

  .v2-mobile-filter-sheet-footer {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-mobile-filter-sheet-footer > .semi-button {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    border-radius: 9px;
    font-weight: 700;
  }

  .v2-mobile-filter-sheet-section {
    display: grid;
    min-width: 0;
    gap: 12px;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-mobile-filter-sheet-section > header {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .v2-mobile-filter-sheet-section > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-mobile-filter-sheet-section > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-mobile-filter-sheet-section > .v2-mileage-filter {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
  }

  .v2-mobile-filter-sheet .v2-access-mobile-filter-form {
    gap: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 9px;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label.is-search,
  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label:last-child {
    grid-column: 1 / -1;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #5f7188;
    font-size: 11px;
    font-weight: 650;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label > .semi-input-wrapper,
  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label > .semi-select {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }
}

@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
  }

  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 54px;
    padding: 7px 12px;
  }

  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 8px;
  }

  .v2-mobile-filter-sheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 7px 10px;
  }

  .v2-mobile-filter-sheet-title > span,
  .v2-mobile-filter-sheet-section > header {
    display: none;
  }

  .v2-mobile-filter-sheet-section {
    gap: 8px;
    padding: 9px;
  }

  .v2-mobile-filter-sheet-footer > .semi-button {
    min-height: 36px;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label.is-search,
  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label:last-child {
    grid-column: auto;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label {
    gap: 4px;
    font-size: 9px;
  }

  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label > .semi-input-wrapper,
  .v2-access-mobile-filter-form > .v2-mobile-filter-sheet-section > div > label > .semi-select {
    min-height: 38px;
  }
}

/*
 * Global monitor action workbenches.
 * Batch vehicle input and the mobile handoff now share the same Semi UI
 * identity, summary, scrolling and footer hierarchy as the rest of the app.
 */
.v2-monitor-batch-sidesheet .v2-workspace-config-content,
.v2-monitor-qr-sidesheet .v2-workspace-config-content {
  padding: 12px;
}

.v2-monitor-batch-sidesheet .v2-batch-search-dialog {
  display: grid;
  width: 100%;
  align-content: start;
  gap: 10px;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 7px 22px rgba(31, 53, 80, .05);
}

.v2-monitor-batch-sidesheet .v2-batch-search-dialog > label {
  margin: 0;
  color: #4d627a;
  font-size: 11px;
  font-weight: 680;
}

.v2-monitor-batch-sidesheet .v2-batch-search-dialog .semi-input-textarea-wrapper {
  min-height: min(420px, 52dvh);
  border-color: #d4dfeb;
  border-radius: 10px;
  background: #fbfcfe;
}

.v2-monitor-batch-sidesheet .v2-batch-search-dialog .semi-input-textarea-wrapper-focus {
  border-color: #4386df;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(45, 116, 210, .09);
}

.v2-monitor-batch-sidesheet .v2-batch-search-dialog .semi-input-textarea {
  min-height: min(418px, 52dvh);
  padding: 13px 14px;
  font-size: 14px;
  line-height: 1.75;
}

.v2-monitor-batch-sidesheet .v2-batch-search-summary {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  border-radius: 8px;
  background: #f4f8fe;
  padding: 7px 9px;
  color: #66788e;
  font-size: 9px;
}

.v2-monitor-batch-sidesheet .v2-batch-search-summary strong {
  color: #1268f3;
  font-size: 12px;
}

.v2-monitor-qr-sidesheet .v2-monitor-qr-content {
  min-height: 100%;
  justify-content: flex-start;
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 0%, rgba(18, 104, 243, .07), transparent 38%),
    #fff;
  padding: 15px;
  box-shadow: 0 7px 22px rgba(31, 53, 80, .05);
}

.v2-monitor-qr-sidesheet .v2-monitor-qr-content > p {
  max-width: 310px;
  margin: 0 0 12px;
  color: #66788e;
  font-size: 10px;
  line-height: 1.6;
}

.v2-monitor-qr-sidesheet .v2-monitor-qr-content > img {
  width: min(240px, 64vw);
  height: min(240px, 64vw);
  border: 8px solid #fff;
  border-radius: 14px;
  box-shadow: 0 9px 28px rgba(27, 50, 78, .09);
}

.v2-monitor-qr-sidesheet .v2-monitor-qr-content > code {
  max-width: 100%;
  margin-top: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f7f9fc;
  padding: 9px 11px;
  color: #5c6d82;
}

.v2-monitor-qr-sidesheet .v2-monitor-qr-content > .v2-spinner {
  margin: 96px;
}

@media (max-width: 680px) {
  .v2-monitor-batch-sidesheet .v2-workspace-config-content,
  .v2-monitor-qr-sidesheet .v2-workspace-config-content {
    padding: 8px;
  }

  .v2-monitor-batch-sidesheet .v2-batch-search-dialog {
    gap: 8px;
    padding: 10px;
  }

  .v2-monitor-batch-sidesheet .v2-batch-search-dialog .semi-input-textarea-wrapper,
  .v2-monitor-batch-sidesheet .v2-batch-search-dialog .semi-input-textarea {
    min-height: min(300px, 35dvh);
  }

  .v2-monitor-batch-sidesheet .v2-batch-search-dialog .semi-input-textarea {
    padding: 10px 11px;
    font-size: 16px;
  }

  .v2-monitor-qr-sidesheet .v2-workspace-config-summary > span:nth-child(2) strong {
    font-size: 10px;
  }

  .v2-monitor-qr-sidesheet .v2-monitor-qr-content {
    padding: 10px;
  }

  .v2-monitor-qr-sidesheet .v2-monitor-qr-content > p {
    margin-bottom: 8px;
    font-size: 9px;
  }

  .v2-monitor-qr-sidesheet .v2-monitor-qr-content > img {
    width: min(210px, 56vw);
    height: min(210px, 56vw);
    border-width: 6px;
  }

  .v2-monitor-qr-sidesheet .v2-monitor-qr-content > code {
    margin-top: 8px;
    padding-block: 7px;
    font-size: 8px;
  }
}

/*
 * Global short-landscape entry and navigation.
 * Keep every authentication action in the first viewport, preserve practical
 * touch targets, and group secondary destinations by the task they support.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  :root .v2-auth-screen:not(.is-session-loading) {
    display: grid;
    min-height: 100dvh;
    grid-template-columns: minmax(0, 1fr);
    place-items: center;
    overflow: hidden;
    padding: 8px;
  }

  :root .v2-auth-screen:not(.is-session-loading) > .v2-auth-card.semi-card {
    width: min(650px, calc(100vw - 16px));
    height: min(359px, calc(100dvh - 16px));
    max-height: calc(100dvh - 16px);
    justify-self: center;
    overflow: hidden;
    border-radius: 16px;
  }

  :root .v2-auth-screen:not(.is-session-loading) > .v2-auth-card.semi-card > .semi-card-body {
    height: 100%;
  }

  :root .v2-auth-form {
    display: grid;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(190px, .58fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    align-content: center;
    column-gap: 18px;
    padding: 12px 18px;
  }

  :root .v2-auth-form-heading {
    min-width: 0;
    grid-column: 1;
    grid-row: 1 / -1;
    align-content: center;
    justify-items: start;
    border-right: 1px solid #e7edf5;
    padding-right: 18px;
  }

  :root .v2-auth-logo {
    width: 118px;
    margin: 0 0 13px;
  }

  :root .v2-auth-form-heading > .semi-tag {
    height: 22px;
    margin: 0 0 9px;
    padding-inline: 7px;
    font-size: 8px;
  }

  :root .v2-auth-form-heading > h3.semi-typography {
    margin: 0;
    text-align: left;
    font-size: 18px;
    line-height: 1.25;
  }

  :root .v2-auth-form-heading > h3 + .semi-typography {
    max-width: 170px;
    margin: 7px 0 0;
    text-align: left;
    font-size: 9px;
    line-height: 1.55;
  }

  :root .v2-auth-mode-tabs {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin-top: 0;
  }

  :root .v2-auth-mode-tabs > .semi-tabs-bar {
    padding: 3px;
  }

  :root .v2-auth-mode-tabs > .semi-tabs-bar .semi-tabs-tab {
    height: 32px;
    font-size: 10px;
  }

  :root .v2-auth-fields {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  :root .v2-auth-fields > label {
    min-width: 0;
    gap: 4px;
    margin-top: 9px;
    font-size: 9px;
  }

  :root .v2-auth-fields > label .semi-input-wrapper {
    height: 40px;
    border-radius: 9px;
  }

  :root .v2-auth-token-note.semi-banner {
    min-width: 0;
    margin-top: 9px;
    padding: 6px 7px;
  }

  :root .v2-auth-token-note .semi-banner-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  :root .v2-auth-error {
    min-width: 0;
    grid-column: 2;
    grid-row: 2;
    margin-top: 6px;
  }

  :root .v2-auth-error .semi-banner {
    padding: 6px 8px;
  }

  :root .v2-auth-error .semi-banner-description {
    margin-top: 1px;
    line-height: 1.35;
  }

  :root .v2-auth-form > .semi-button-primary,
  :root .v2-auth-form > .v2-auth-error + .semi-button-primary {
    height: 40px;
    grid-column: 2;
    grid-row: 3;
    margin-top: 8px;
    border-radius: 9px;
    font-size: 11px;
  }

  :root .v2-auth-trust-note {
    min-height: 18px;
    grid-column: 2;
    grid-row: 4;
    margin-top: 3px;
  }

  :root .v2-auth-trust-note > .semi-typography {
    font-size: 8px;
  }

  :root .v2-auth-screen.is-session-loading {
    min-height: 100dvh;
    place-items: center;
    overflow: hidden;
    padding: 8px;
  }

  :root .v2-auth-loading.semi-card {
    width: min(650px, calc(100vw - 16px));
    max-height: calc(100dvh - 16px);
  }

  :root .v2-auth-loading-inner {
    grid-template-columns: minmax(180px, .58fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px 18px;
    padding: 16px 18px;
  }

  :root .v2-auth-loading-header {
    height: 100%;
    grid-column: 1;
    grid-row: 1 / 4;
    align-content: center;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    border-right: 1px solid #e7edf5;
    border-bottom: 0;
    padding: 0 18px 0 0;
  }

  :root .v2-auth-loading-header > img {
    max-width: 128px;
  }

  :root .v2-auth-loading-status,
  :root .v2-auth-loading-skeleton,
  :root .v2-auth-loading-inner > footer {
    grid-column: 2;
  }

  :root .v2-auth-loading-skeleton {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  :root .v2-auth-loading-skeleton > i,
  :root .v2-auth-loading-skeleton > i:last-child {
    min-height: 38px;
    grid-column: auto;
  }

  :root .v2-auth-loading-inner > footer {
    padding-top: 10px;
  }

  :root .v2-topbar {
    height: 48px;
    flex-basis: 48px;
    padding-inline: 10px 6px;
  }

  :root .v2-topbar-title > .v2-topbar-page-title.semi-typography {
    font-size: 15px;
  }

  :root .v2-topbar-actions > .v2-help-trigger.semi-button,
  :root .v2-topbar-actions > .v2-current-user.semi-button {
    width: 36px;
    min-width: 36px;
    height: 36px;
  }

  :root .v2-main,
  :root .v2-sidebar.is-collapsed + .v2-main {
    padding-bottom: calc(56px + env(safe-area-inset-bottom));
  }

  :root .v2-mobile-navigation {
    height: calc(56px + env(safe-area-inset-bottom));
    padding: 3px 5px calc(3px + env(safe-area-inset-bottom));
  }

  :root .v2-mobile-navigation .v2-mobile-nav-item,
  :root .v2-mobile-navigation > .semi-button.v2-mobile-nav-item {
    min-height: 48px;
    gap: 1px;
  }

  :root .v2-mobile-navigation .v2-mobile-nav-item > .semi-icon,
  :root .v2-mobile-navigation > .semi-button.v2-mobile-nav-item .semi-icon {
    width: 30px;
    height: 24px;
    font-size: 17px;
  }

  :root .v2-mobile-navigation .v2-mobile-nav-item > span,
  :root .v2-mobile-navigation > .semi-button.v2-mobile-nav-item .semi-button-content {
    font-size: 9px;
  }

  :root .v2-mobile-more-sidesheet .semi-sidesheet-header {
    min-height: 54px;
    padding: 9px 14px 8px;
  }

  :root .v2-mobile-more-sidesheet .semi-sidesheet-body {
    padding: 8px 10px 10px;
  }

  :root .v2-mobile-more-sidesheet .semi-sidesheet-title strong {
    font-size: 15px;
  }

  :root .v2-mobile-more-sidesheet .semi-sidesheet-title span {
    font-size: 9px;
  }

  :root .v2-mobile-more-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  :root .v2-mobile-more-section > header {
    min-height: 40px;
    padding: 7px 8px 6px;
  }

  :root .v2-mobile-more-section > nav {
    min-height: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
  }

  :root .v2-mobile-more-section:first-child > nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :root .v2-mobile-more-sidesheet .v2-mobile-more-section .v2-mobile-nav-item {
    min-height: 60px;
  }
}

@media (max-width: 680px) {
  .v2-mobile-more-groups {
    display: grid;
    gap: 10px;
  }

  .v2-mobile-more-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e4eaf2;
    border-radius: 13px;
    background: #fbfcfe;
  }

  .v2-mobile-more-section > header {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #e8edf4;
    padding: 9px 10px 8px;
  }

  .v2-mobile-more-section > header > div {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .v2-mobile-more-section > header strong {
    color: #2a3c53;
    font-size: 11px;
    font-weight: 750;
  }

  .v2-mobile-more-section > header span {
    overflow: hidden;
    color: #8a97a9;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-mobile-more-section > header > .semi-tag {
    flex: 0 0 auto;
    border-radius: 999px;
    font-size: 8px;
  }

  .v2-mobile-more-section > nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .v2-mobile-more-sidesheet .v2-mobile-more-section .v2-mobile-nav-item {
    min-height: 68px;
    border-color: #e7ecf3;
    background: #fff;
  }
}

/*
 * Short landscape operations cockpit.
 * Treat the command bar and workspace switcher as one compact control rail,
 * then spend the remaining height on evidence. Health metrics stay in one
 * scan line and the diagnostic selector no longer pushes its result below
 * the fixed mobile navigation.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-ops-page {
    display: grid;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(196px, .42fr) minmax(0, 1fr);
    grid-template-rows: 44px minmax(0, 1fr);
    gap: 5px;
    overflow: hidden;
    padding: 5px 6px 6px;
  }

  .v2-ops-page > .v2-ops-command-bar {
    width: 100%;
    height: 44px;
    min-height: 44px;
    grid-column: 1;
    grid-row: 1;
    gap: 5px;
    border-radius: 9px;
    padding: 4px 5px 4px 9px;
  }

  .v2-ops-command-bar .v2-workspace-command-copy {
    min-width: 0;
    gap: 0;
  }

  .v2-ops-command-bar .v2-workspace-command-copy > .semi-typography:first-child {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-ops-command-bar .v2-workspace-command-copy > .semi-typography:last-child,
  .v2-ops-command-bar .v2-workspace-command-status,
  .v2-ops-command-bar .v2-workspace-command-meta {
    display: none;
  }

  .v2-ops-command-bar .v2-workspace-command-actions > .semi-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    border-radius: 8px;
  }

  .v2-ops-navigation {
    position: static;
    z-index: auto;
    width: 100%;
    height: 44px;
    min-height: 44px;
    grid-column: 2;
    grid-row: 1;
    border-radius: 9px;
    padding: 3px;
  }

  .v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs {
    width: 100%;
    height: 36px;
    min-height: 36px;
    grid-template-columns: repeat(3, minmax(88px, 1fr));
    gap: 2px;
    overflow: hidden;
    border-radius: 7px;
    padding: 2px;
  }

  .v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs > .semi-button {
    min-width: 0;
    height: 32px;
    min-height: 32px;
    border-radius: 6px;
    padding-inline: 5px;
    font-size: 10px;
  }

  .v2-ops-navigation-meta {
    display: none;
  }

  .v2-ops-page > .v2-ops-workspace {
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-column: 1 / -1;
    grid-row: 2;
    flex: none;
    overflow: auto;
    scrollbar-gutter: stable;
  }

  .v2-ops-page > .v2-ops-workspace.is-reconciliation {
    overflow: hidden;
  }

  .v2-reconcile-heading.v2-workspace-panel-header {
    min-height: 42px;
    padding: 4px 7px;
  }

  .v2-reconcile-heading .v2-workspace-panel-copy > .semi-typography:not(h5),
  .v2-reconcile-heading .v2-reconcile-auto-tag {
    display: none;
  }

  .v2-reconcile-heading .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 11px;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions {
    gap: 4px;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions > .semi-button {
    height: 32px;
    min-height: 32px;
    border-radius: 7px;
    padding-inline: 8px;
    font-size: 9px;
  }

  .v2-reconcile-overview,
  .v2-reconcile-overview > .v2-reconcile-kpis,
  .v2-reconcile-overview .v2-reconcile-kpi-card.semi-card {
    height: 58px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card > .semi-card-body {
    min-height: 58px;
    padding: 6px 8px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card small {
    font-size: 8px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card strong {
    margin-top: 3px;
    font-size: 16px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card span {
    display: none;
  }

  .v2-ops-workspace.is-health {
    gap: 5px;
  }

  .v2-ops-workspace.is-health .v2-ops-overview > .semi-card-body > .v2-workspace-panel-header,
  .v2-ops-workspace.is-health .v2-ops-panel > .semi-card-body > .v2-workspace-panel-header {
    min-height: 40px;
    padding: 4px 8px;
  }

  .v2-ops-workspace.is-health .v2-workspace-panel-copy {
    gap: 0;
  }

  .v2-ops-workspace.is-health .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 11px;
  }

  .v2-ops-workspace.is-health .v2-workspace-panel-copy > .semi-typography:not(h5),
  .v2-ops-workspace.is-health .v2-ops-overview-meta > .semi-typography {
    display: none;
  }

  .v2-ops-workspace.is-health .v2-ops-overview-meta {
    gap: 4px;
  }

  .v2-ops-workspace.is-health .v2-ops-overview-meta .semi-tag,
  .v2-ops-workspace.is-health .v2-workspace-panel-actions .semi-tag {
    min-height: 21px;
    padding-inline: 6px;
    font-size: 8px;
  }

  .v2-ops-workspace.is-health .v2-ops-source-list.semi-card-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    overflow: visible;
    padding: 5px;
    scroll-snap-type: none;
  }

  .v2-ops-workspace.is-health .v2-ops-source-card.semi-card {
    width: auto;
    min-width: 0;
    flex: none;
  }

  .v2-ops-workspace.is-diagnostic {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(176px, .34fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    gap: 5px;
    overflow: hidden;
  }

  .v2-ops-workspace.is-diagnostic > .v2-source-mobile-discovery {
    min-height: 0;
    align-content: start;
    grid-column: 1;
    grid-row: 1;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    height: 50px;
    min-height: 50px;
    border-radius: 9px;
  }

  .v2-ops-workspace.is-diagnostic > .v2-source-diagnostic.semi-card {
    height: 100%;
    min-height: 0;
    grid-column: 2;
    grid-row: 1;
    overflow: auto;
    border-radius: 9px;
  }

  .v2-ops-workspace.is-diagnostic > .v2-source-diagnostic > .semi-card-body > .v2-workspace-panel-header {
    min-height: 42px;
    padding: 4px 7px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-diagnostic .v2-workspace-panel-copy {
    gap: 0;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-diagnostic .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 11px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-diagnostic .v2-workspace-panel-copy > .semi-typography:not(h5) {
    font-size: 8px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-diagnostic .v2-workspace-panel-actions {
    gap: 4px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-diagnostic .v2-workspace-panel-actions .semi-tag {
    min-height: 21px;
    padding-inline: 6px;
    font-size: 8px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-diagnostic .v2-workspace-panel-actions > .semi-button {
    height: 30px;
    min-height: 30px;
    border-radius: 7px;
    padding-inline: 7px;
    font-size: 8px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-summary.semi-card-group {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-summary-card.semi-card > .semi-card-body {
    min-height: 62px;
    padding: 7px 8px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-summary-card small {
    font-size: 8px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-summary-card strong {
    margin-top: 4px;
    font-size: 12px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-summary-card span {
    margin-top: 3px;
    font-size: 7px;
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 52px;
    padding: 6px 11px;
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 7px;
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 6px 9px;
  }

  .v2-source-mobile-filter-title > span,
  .v2-source-mobile-filter-section > header {
    display: none;
  }

  .v2-source-mobile-filter-form {
    gap: 6px;
  }

  .v2-source-mobile-filter-section {
    gap: 6px;
    padding: 8px;
  }

  .v2-source-mobile-filter-sidesheet .v2-source-candidates.v2-vehicle-candidate-list {
    max-height: min(48dvh, 182px);
  }
}

/*
 * Semi UI task-bar convergence for trajectory replay and single-vehicle
 * investigation. These routes keep their map-first information density while
 * sharing the same command anatomy as the directory and operations workspaces.
 */
.v2-track-query-panel .v2-track-query-header.v2-workspace-command-bar {
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 58px;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 8px 8px 8px 12px;
  box-shadow: none;
}

.v2-track-query-header .v2-workspace-command-copy {
  gap: 1px;
}

.v2-track-query-header .v2-workspace-command-copy > .semi-typography:first-child {
  color: #26384f;
  font-size: 16px;
  font-weight: 750;
  line-height: 20px;
}

.v2-track-query-header .v2-workspace-command-copy > .semi-typography:last-child {
  color: #8491a2;
  font-size: 10px;
  line-height: 14px;
}

.v2-track-query-header .v2-workspace-command-actions {
  gap: 3px;
}

.v2-track-query-header .v2-workspace-command-actions > .semi-tag {
  min-height: 22px;
  padding-inline: 7px;
  font-size: 9px;
}

.v2-track-query-header .v2-workspace-command-actions > .semi-button {
  flex: 0 0 auto;
}

.v2-vehicle-record-command.v2-workspace-command-bar {
  display: grid;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 96px;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.85fr);
  align-items: stretch;
  gap: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
  min-height: 96px;
  align-content: center;
  gap: 6px;
  border-right: 1px solid #e4eaf2;
  padding: 13px 16px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy > .semi-typography:first-child,
.v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy > .semi-typography:last-child {
  display: block;
  min-width: 0;
  overflow: visible;
  line-height: normal;
  white-space: normal;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-primary {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-plate {
  min-height: 38px;
  padding-inline: 12px;
  font-size: 16px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-online-label.semi-tag {
  min-height: 24px;
  flex: 0 0 auto;
  margin: 0;
  border-radius: 999px;
  padding-inline: 8px;
  font-size: 9px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin small {
  flex: 0 0 auto;
  color: #8290a2;
  font-size: 9px;
  font-weight: 650;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin b {
  min-width: 0;
  overflow: hidden;
  color: #41536a;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .015em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin .semi-button {
  width: 26px;
  min-width: 26px;
  height: 26px;
  flex: 0 0 auto;
  border-radius: 7px;
  color: #73849a;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
  display: grid;
  min-width: 0;
  align-items: stretch;
  grid-template-columns: minmax(280px, .9fr) minmax(430px, 1.1fr);
  gap: 0;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: stretch;
  border-right: 1px solid #e4eaf2;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(150px, 1.08fr) minmax(135px, .92fr);
  align-items: stretch;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 11px 14px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span + span {
  border-left: 1px solid #e7edf4;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta small {
  color: #7b899b;
  font-size: 9px;
  font-weight: 650;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
  display: block;
  margin-top: 5px;
  overflow: hidden;
  color: #2c4057;
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources .semi-tag {
  min-height: 21px;
  flex: 0 0 auto;
  margin: 0;
  border-radius: 6px;
  padding-inline: 6px;
  font-size: 8px;
  font-weight: 650;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-end;
  gap: 5px;
  padding: 10px 12px;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
  width: auto;
  min-width: 82px;
  min-height: 33px;
  flex: 0 1 auto;
  border-radius: 8px;
  padding-inline: 9px;
  font-size: 9px;
  font-weight: 650;
}

.v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button-primary {
  border-color: #bcd3f8;
  background: #edf4ff;
  color: var(--v2-blue);
}

@media (max-width: 1080px) {
  .v2-vehicle-record-command.v2-workspace-command-bar {
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    grid-template-columns: minmax(250px, .8fr) minmax(340px, 1.2fr);
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
    min-width: 76px;
  }
}

@media (max-width: 900px) and (min-width: 681px) {
  .v2-vehicle-record-command.v2-workspace-command-bar {
    grid-template-columns: 1fr;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
    min-height: 74px;
    border-right: 0;
    border-bottom: 1px solid #e4eaf2;
    padding-block: 10px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  }
}

@media (max-width: 680px) {
  .v2-track-query-panel .v2-track-query-header.v2-workspace-command-bar {
    min-height: 54px;
    padding: 7px 8px 7px 12px;
  }

  .v2-track-query-header .v2-workspace-command-copy > .semi-typography:first-child {
    font-size: 14px;
  }

  .v2-track-query-header .v2-workspace-command-actions > .semi-tag {
    display: none;
  }

  .v2-vehicle-record-command.v2-workspace-command-bar {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
    min-height: 68px;
    gap: 4px;
    border-right: 0;
    border-bottom: 1px solid #e5ebf2;
    padding: 8px 11px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy > .semi-typography:last-child {
    display: block;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-plate {
    min-height: 34px;
    padding-inline: 10px;
    font-size: 14px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
    display: flex;
    border-right: 0;
    border-bottom: 1px solid #e7edf4;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
    grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
    min-height: 54px;
    padding: 7px 10px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
    margin-top: 3px;
    font-size: 10px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources {
    flex-wrap: nowrap;
    gap: 3px;
    overflow: hidden;
    margin-top: 3px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources .semi-tag {
    min-height: 19px;
    padding-inline: 4px;
    font-size: 7px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    overflow: visible;
    padding: 5px 7px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 3px 1px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content {
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-left {
    margin-right: 0;
    font-size: 14px;
  }

  .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-right {
    max-width: 100%;
    overflow: hidden;
    margin-left: 0;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-vehicle-command-card .v2-live-source-link.semi-button {
    padding-right: 0;
  }
}

/*
 * 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: 340px 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.is-command-hidden.is-collapsed {
  display: none;
}

.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: 16px;
  font-weight: 750;
}

.v2-track-query-panel .v2-workspace-panel-copy > .semi-typography {
  color: #8491a2;
  font-size: 11px;
}

.v2-track-query-panel .v2-workspace-panel-actions {
  gap: 2px;
}

.v2-track-query-panel .v2-track-query-toggle.semi-button {
  width: auto;
  min-width: 84px;
  height: 34px;
  justify-content: center;
  border-radius: 7px;
  padding: 0 10px;
  color: #526780;
  font-size: 11px;
  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: 58px;
  padding: 8px 14px 11px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}

.v2-track-query-panel .v2-track-query-summary strong {
  color: #30445d;
  font-size: 13px;
}

.v2-track-query-panel .v2-track-query-summary small,
.v2-track-query-panel .v2-track-query-summary .semi-tag {
  font-size: 10px;
}

.v2-track-query-panel .v2-track-query {
  border-bottom: 0;
  padding: 12px 14px 15px;
}

.v2-track-query .v2-track-date-grid {
  grid-template-columns: 1fr;
}

.v2-track-query .v2-track-vehicle-picker.is-open {
  height: auto;
  flex-wrap: wrap;
}

.v2-track-query .v2-track-vehicle-options {
  position: relative;
  inset: auto;
  width: 100%;
  max-height: 174px;
  flex: 1 0 100%;
  overflow: auto;
  margin-top: 2px;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(29, 43, 63, .11);
  overscroll-behavior: contain;
}

.v2-track-rail-result {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
}

.v2-track-result-header {
  min-height: 64px;
  background: #fbfcfe;
  padding: 10px 14px;
}

.v2-track-result-header .v2-workspace-panel-copy > h5.semi-typography {
  color: #25384f;
  font-size: 15px;
}

.v2-track-result-header .v2-workspace-panel-copy > .semi-typography {
  color: #8592a3;
  font-size: 11px;
}

.v2-track-result-header .v2-workspace-panel-meta .semi-tag {
  border-radius: 999px;
  padding-inline: 10px;
  font-size: 11px;
  font-weight: 700;
}

.v2-track-rail-tabs {
  height: 46px;
  flex-basis: 46px;
  border-block: 1px solid #e3e9f1;
  border-bottom-color: #dfe6ef;
  background: #fff;
  padding-inline: 7px;
}

.v2-track-rail-tabs > .semi-button {
  height: 44px;
  font-size: 12px;
}

.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: 10px;
}

.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-rail-expand.semi-button {
  top: 50%;
  left: 14px;
  min-width: 154px;
  min-height: 50px;
  justify-content: flex-start;
  flex-direction: row;
  gap: 9px;
  border: 1px solid rgba(202, 216, 232, .98);
  border-radius: 11px;
  background: rgba(255, 255, 255, .97);
  padding: 8px 11px;
  color: var(--v2-blue);
  box-shadow: 0 12px 28px rgba(28, 48, 74, .16);
  transform: translateY(-50%);
}

.v2-track-rail-expand.semi-button:hover {
  border-color: #a9c3e7;
  background: #fff;
  box-shadow: 0 15px 32px rgba(28, 48, 74, .2);
}

.v2-track-rail-expand.semi-button .semi-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 9px;
  background: #eaf2ff;
  color: var(--v2-blue);
}

.v2-track-rail-expand.semi-button span {
  max-width: none;
}

.v2-track-rail-expand-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
  text-align: left;
}

.v2-track-rail-expand-copy strong {
  color: #29415d;
  font-size: 12px;
  line-height: 1.35;
}

.v2-track-rail-expand-copy small {
  color: #75869a;
  font-size: 9px;
  font-weight: 550;
  line-height: 1.35;
  white-space: nowrap;
}

.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(392px, calc(100% - 350px));
  min-width: 340px;
  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: 56px;
  padding: 9px 12px;
}

.v2-track-current-card .v2-workspace-panel-meta .semi-tag {
  min-width: 46px;
  justify-content: center;
  border-radius: 999px;
  padding-inline: 8px;
  font-size: 11px;
  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: 9px 10px;
}

.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: 10px;
}

.v2-track-current-card > .semi-card-body > .v2-track-current-metrics strong {
  margin-top: 4px;
  color: #25384f;
  font-size: 14px;
  text-shadow: none;
}

.v2-track-current-card > .semi-card-body > .v2-track-current-evidence {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 7px;
  border: 0;
  border-bottom: 1px solid #e8edf3;
  padding: 7px 11px;
  color: #66778c;
  font-size: 10px;
}

.v2-track-current-evidence .semi-tag {
  flex: 0 0 auto;
  border-radius: 6px;
  font-size: 10px;
}

.v2-track-current-evidence .v2-track-protocol-tag.semi-tag {
  border-radius: 999px;
}

.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: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-track-current-evidence em {
  flex: 0 0 auto;
  color: #6d7e92;
  font-size: 9px;
  font-style: normal;
  white-space: nowrap;
}

.v2-track-current-evidence > small {
  margin-left: auto;
  overflow: hidden;
  color: #7c8a9d;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-track-current-card > .semi-card-body > p {
  min-height: 38px;
  padding: 9px 11px;
  color: #52657b;
  font-size: 10px;
}

.v2-track-playback-dock.semi-card {
  min-height: 104px;
  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: 104px;
  grid-template-columns: 150px minmax(240px, 1fr) auto;
  gap: 16px;
  padding: 11px 16px !important;
}

.v2-track-dock-summary small,
.v2-track-dock-summary strong,
.v2-track-dock-summary span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-track-dock-summary small {
  margin-bottom: 2px;
  color: #8593a5;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .04em;
}

.v2-track-dock-summary strong {
  font-size: 20px;
}

.v2-track-dock-summary span {
  margin-top: 3px;
  font-size: 10px;
}

.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 {
  align-items: center;
  font-size: 10px;
}

.v2-track-progress-meta > span {
  color: #5f7188;
  font-weight: 650;
}

.v2-track-dock-controls {
  gap: 4px;
}

.v2-track-dock-controls > .semi-button {
  width: 36px;
  min-width: 36px;
  height: 36px;
  border-radius: 8px;
}

.v2-track-dock-controls > .semi-button.is-primary {
  width: 44px;
  min-width: 44px;
  height: 44px;
}

@media (max-width: 1180px) {
  .v2-track-page {
    grid-template-columns: 312px 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(382px, calc(100% - 28px));
    min-width: 0;
  }

  .v2-track-page.is-rail-collapsed .v2-track-current-card.semi-card {
    top: 14px;
    width: min(382px, calc(100% - 350px));
    min-width: 340px;
  }

  .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: 54px;
    padding: 8px 13px;
  }

  .v2-track-query .v2-track-vehicle-options {
    max-height: 156px;
  }

  .v2-track-detail-sidesheet .v2-track-result-header {
    display: none;
  }

  .v2-track-detail-sidesheet .v2-track-date-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .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: 48px;
    padding: 7px 10px;
  }

  .v2-track-current-card > .semi-card-body > .v2-track-current-metrics > span {
    padding: 7px 8px;
  }

  .v2-track-current-card > .semi-card-body > .v2-track-current-evidence {
    min-height: 38px;
    padding: 5px 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: 106px;
  }

  .v2-track-playback-dock > .semi-card-body {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px !important;
  }

  .v2-track-rail-expand {
    top: auto;
    left: 8px;
    min-width: 138px;
    min-height: 42px;
    padding: 6px 9px;
    transform: none;
    bottom: calc(116px + env(safe-area-inset-bottom));
  }

  .v2-track-rail-expand.semi-button .semi-icon {
    width: 28px;
    height: 28px;
  }

  .v2-track-rail-expand-copy strong {
    font-size: 11px;
  }

  .v2-track-rail-expand-copy small {
    font-size: 8px;
  }

  .v2-track-stage:has(.v2-track-current-card) .v2-track-rail-expand {
    bottom: calc(264px + 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
 * 12–13px 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-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-alert-rule-editor-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-summary span {
  color: #8a97a8;
  font-size: 9px;
  font-weight: 650;
}

.v2-access-governance-summary .is-attention {
  background: linear-gradient(135deg, #fffaf3 0%, #fff4e7 100%);
}

.v2-access-governance-summary .is-attention strong,
.v2-access-governance-summary .is-attention span {
  color: #b8670b;
}

.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-identity-grid {
  grid-template-columns: minmax(0, 1fr);
}

.v2-access-governance .v2-access-settings fieldset {
  display: grid;
  grid-template-columns: 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;
}

.v2-access-identity-card header > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-access-identity-card header small,
.v2-access-identity-facts small,
.v2-access-identity-card footer small {
  color: #8a97a8;
  font-size: 9px;
  font-weight: 500;
}

.v2-access-identity-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e7edf4;
  border-radius: 7px;
  background: #fff;
}

.v2-access-identity-facts > span {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 8px 9px;
}

.v2-access-identity-facts > span + span {
  border-left: 1px solid #e7edf4;
}

.v2-access-identity-facts strong {
  overflow: hidden;
  color: #42546b;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-access-identity-card footer {
  display: grid;
  gap: 3px;
  border-top: 1px solid #e7edf4;
  padding-top: 8px;
}

.v2-access-identity-card footer strong {
  color: #53677f;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.45;
}

.v2-access-identity-more {
  margin: 0;
  border-top: 1px solid #e7edf4;
  background: #fbfcfe;
  padding: 9px 12px;
  color: #7f8d9f;
  font-size: 9px;
  line-height: 1.5;
}

.v2-access-threshold-group {
  display: grid;
  gap: 10px;
  border: 1px solid #e1e8f1;
  border-radius: 9px;
  background: #fbfcfe;
  padding: 11px;
}

.v2-access-threshold-group > header {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.v2-access-threshold-group > header strong {
  color: #34475e;
  font-size: 11px;
}

.v2-access-threshold-group > header small {
  overflow: hidden;
  color: #8794a6;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-access-threshold-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.v2-access-threshold-fields > span {
  display: contents;
}

.v2-access-settings .v2-access-threshold-fields label {
  display: grid;
  min-width: 0;
  gap: 6px;
  border: 1px solid #e5ebf2;
  border-radius: 8px;
  background: #fff;
  padding: 9px;
}

.v2-access-settings .v2-access-threshold-fields label > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.v2-access-settings .v2-access-threshold-fields label b {
  overflow: hidden;
  color: #4a5c74;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-access-settings .v2-access-threshold-fields label small {
  overflow: hidden;
  color: #8b97a8;
  font-size: 8px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-access-settings .v2-access-threshold-fields label > .semi-input-wrapper {
  width: 100%;
}

.v2-access-settings .v2-access-threshold-fields label > em {
  color: #63758c;
  font-size: 9px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.v2-access-threshold-error {
  margin: 0;
  border: 1px solid #f1d0cd;
  border-radius: 8px;
  background: #fff6f5;
  padding: 9px 11px;
  color: #b54840;
  font-size: 10px;
}

.v2-access-threshold-footer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #e4eaf2;
  padding-top: 2px;
}

.v2-access-threshold-footer > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-access-threshold-footer strong {
  color: #43566e;
  font-size: 10px;
}

.v2-access-threshold-footer small {
  color: #8794a6;
  font-size: 9px;
}

.v2-access-threshold-footer > .semi-button {
  min-width: 108px;
  flex: 0 0 auto;
}

@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-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header,
  .v2-alert-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 72px;
    padding: 15px 16px 12px;
  }

  .v2-alert-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 12px 14px 16px;
  }

  .v2-alert-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-alert-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    overflow: auto;
    overscroll-behavior: contain;
  }

  .v2-alert-detail-sidesheet.semi-sidesheet-bottom .v2-alert-inspector.is-sheet.semi-card {
    border-radius: 11px 11px 0 0;
    background: transparent;
  }

  .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-alert-inspector.is-sheet .v2-alert-inspector-content {
    gap: 8px;
    padding: 8px 8px 14px;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card > .semi-card-header {
    min-height: 40px;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card > .semi-card-body {
    padding: 8px !important;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card .semi-input-textarea {
    min-height: 52px;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card .v2-alert-actions {
    margin-top: 7px;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card .v2-alert-actions > .semi-button {
    min-height: 38px;
  }

  .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, 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, 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: visible;
  padding: 16px var(--v2-page-gutter) 28px;
}

.v2-vehicle-discovery-shell,
.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-discovery-shell {
  display: grid;
  overflow: visible;
  gap: 0;
  border: 1px solid #dce4ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(31, 53, 80, .055);
}

.v2-vehicle-discovery-shell > .v2-workspace-command-bar {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-bottom: 1px solid #e6ecf3;
  border-radius: 14px 14px 0 0;
  box-shadow: none;
}

.v2-vehicle-discovery-shell > .v2-vehicle-query-panel.semi-card {
  width: 100%;
  border: 0;
  border-radius: 0 0 14px 14px;
  box-shadow: none;
}

.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-shell {
  min-width: 0;
}

.v2-vehicle-recent-item-shell > .v2-vehicle-recent-item.semi-button {
  height: 100%;
}

.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: pointer;
  transition: background-color .15s ease;
}

.v2-vehicle-directory-table .semi-table-tbody > .semi-table-row:hover,
.v2-vehicle-directory-table .semi-table-tbody > .semi-table-row:focus-visible {
  background: #f7faff;
}

.v2-vehicle-directory-table .semi-table-tbody > .semi-table-row:focus-visible {
  outline: 2px solid rgba(18, 104, 243, .28);
  outline-offset: -2px;
}

.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,
.v2-vehicle-directory-profile {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.v2-vehicle-directory-identity strong,
.v2-vehicle-directory-profile strong {
  overflow: hidden;
  color: #1b2a3e;
  font-size: 14px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-vehicle-directory-profile strong {
  color: #40536a;
  font-size: 11px;
  font-weight: 650;
}

.v2-vehicle-directory-identity small,
.v2-vehicle-directory-profile 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-summary {
  display: flex;
  align-items: center;
  gap: 5px;
}

.v2-vehicle-directory-summary > .semi-tag {
  margin: 0;
}

.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-shell,
.v2-main,
.v2-content,
.v2-vehicle-record-page {
  overflow-anchor: none;
}

.v2-vehicle-record-page {
  overflow: visible !important;
}

.v2-vehicle-record-page:focus {
  outline: 0;
}

.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: 8px;
    overflow: visible;
    padding: 9px 8px 92px;
  }

  .v2-vehicle-discovery-shell {
    display: contents;
  }

  .v2-vehicle-command-bar.is-mobile-admin {
    min-height: 50px;
    border-color: #dce6f2;
    background: linear-gradient(105deg, #fff 0%, #f8fbff 100%);
  }

  .v2-vehicle-command-bar.is-mobile-admin .v2-workspace-command-copy > .semi-typography:last-child {
    display: none;
  }

  .v2-vehicle-command-bar.is-mobile-admin .v2-workspace-command-actions > .semi-button {
    min-height: 36px;
    border-radius: 9px;
    padding-inline: 11px;
  }

  .v2-vehicle-search-page > .v2-mobile-filter-toggle.semi-button {
    min-height: 52px;
    padding-block: 6px;
  }

  .v2-vehicle-query-panel.is-mobile-collapsed {
    display: none;
  }

  .v2-vehicle-query-panel .v2-vehicle-search-form {
    min-height: 0;
    flex-wrap: wrap;
    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-search-page.has-candidates > .v2-vehicle-recent-card {
    display: none;
  }

  .v2-vehicle-recent-grid {
    grid-template-columns: 1fr;
  }

  .v2-vehicle-recent-item-shell:last-child > .v2-vehicle-recent-item.semi-button {
    border-bottom: 0;
  }

  .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-vehicle-directory-summary > .is-secondary {
    display: none;
  }

  .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;
  }
}

@media (max-width: 700px) and (max-height: 500px) and (orientation: landscape) {
  .v2-track-current-card.semi-card,
  .v2-track-page.is-rail-collapsed .v2-track-current-card.semi-card {
    top: 6px;
    right: auto;
    bottom: auto;
    left: 8px;
    width: min(318px, 48vw);
    min-width: 0;
    border-radius: 10px;
  }

  .v2-track-current-card .v2-workspace-panel-header {
    min-height: 42px;
    padding: 5px 8px;
  }

  .v2-track-current-card .v2-workspace-panel-meta .semi-tag {
    min-width: 40px;
    padding-inline: 6px;
    font-size: 9px;
  }

  .v2-track-current-card > .semi-card-body > .v2-track-current-metrics > span {
    padding: 5px 6px;
  }

  .v2-track-current-card > .semi-card-body > .v2-track-current-metrics small {
    font-size: 8px;
  }

  .v2-track-current-card > .semi-card-body > .v2-track-current-metrics strong {
    margin-top: 2px;
    font-size: 12px;
  }

  .v2-track-current-card > .semi-card-body > .v2-track-current-evidence {
    min-height: 32px;
    gap: 5px;
    padding: 4px 7px;
  }

  .v2-track-current-evidence > em {
    display: none;
  }

  .v2-track-stage-tools {
    top: 6px;
    right: 8px;
  }

  .v2-track-page.is-mobile-layout .v2-track-playback-dock.semi-card,
  .v2-track-page.is-mobile-layout .v2-track-playback-dock > .semi-card-body {
    min-height: 88px;
  }

  .v2-track-page.is-mobile-layout .v2-track-playback-dock > .semi-card-body {
    gap: 6px;
    padding: 6px 8px !important;
  }

  .v2-track-page.is-mobile-layout .v2-track-progress-slider.semi-slider-wrapper {
    margin-block: 6px 2px;
  }

  .v2-track-stage:has(.v2-track-current-card) .v2-track-rail-expand {
    top: 52px;
    right: 8px;
    bottom: auto;
    left: auto;
    min-width: 126px;
    min-height: 38px;
    padding: 5px 8px;
    transform: none;
  }

  .v2-track-rail-expand.semi-button .semi-icon {
    width: 26px;
    height: 26px;
  }
}

/* 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-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: 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-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;
  max-width: calc(100vw - 32px);
}

.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 strong {
  margin: 0;
  color: #293b51;
  font-size: 17px;
  font-weight: 720;
  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-visibility.semi-button {
  width: 30px;
  min-width: 30px;
  height: 30px;
  border-radius: 8px;
  color: #718197;
  padding: 0;
}

.v2-password-visibility.semi-button:hover {
  background: #eaf2fd;
  color: var(--v2-blue);
}

.v2-password-visibility.semi-button:focus-visible {
  box-shadow: 0 0 0 2px rgba(18, 104, 243, .18);
}

.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 - 24px) !important;
    max-width: 500px;
    margin-inline: auto;
  }

  .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-primary-protocol.semi-tag {
  min-height: 24px;
  margin: 7px 0 0;
  border-radius: 7px;
  padding-inline: 8px;
  font-size: 10px;
}

.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-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-data-table .semi-table-body {
  scroll-padding-inline-start: 302px;
  scrollbar-color: #b7c4d4 #f4f7fa;
  scrollbar-width: thin;
}

.v2-history-table-scroll:focus-visible {
  outline: 2px solid rgba(18, 104, 223, .38);
  outline-offset: -2px;
}

.v2-history-data-table :is(.semi-table-row-head, .semi-table-row-cell).semi-table-cell-fixed-left {
  z-index: 5;
  background: #fff;
}

.v2-history-table-scroll .v2-history-data-table.semi-table-wrapper .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left {
  z-index: 8;
  background: #f7f9fc;
}

.v2-history-data-table .semi-table-tbody > .semi-table-row:hover > .semi-table-row-cell.semi-table-cell-fixed-left,
.v2-history-data-table .semi-table-tbody > .semi-table-row.is-selected > .semi-table-row-cell.semi-table-cell-fixed-left {
  background: #f2f7ff;
}

.v2-history-data-table :is(.semi-table-row-head, .semi-table-row-cell).v2-history-plate-column {
  box-shadow: 12px 0 18px -18px rgba(35, 55, 82, .72);
}

.v2-history-table-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.v2-history-data-table .semi-table-body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.v2-history-table-scroll::-webkit-scrollbar-track {
  background: #f4f7fa;
}

.v2-history-data-table .semi-table-body::-webkit-scrollbar-track {
  background: #f4f7fa;
}

.v2-history-table-scroll::-webkit-scrollbar-thumb {
  border: 2px solid #f4f7fa;
  border-radius: 999px;
  background: #b7c4d4;
}

.v2-history-data-table .semi-table-body::-webkit-scrollbar-thumb {
  border: 2px solid #f4f7fa;
  border-radius: 999px;
  background: #b7c4d4;
}

.v2-history-table-scroll::-webkit-scrollbar-thumb:hover {
  background: #91a4ba;
}

.v2-history-data-table .semi-table-body::-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-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-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-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 {
    max-width: none;
    gap: 6px;
  }

  .v2-history-table-card .v2-workspace-panel-actions > .semi-button {
    width: auto;
    min-width: 62px;
    min-height: 36px;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    background: #f7f9fc;
    padding: 0 10px;
    color: #536980;
  }

  .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: inline-flex;
    margin-left: 5px;
    color: inherit;
    font-size: 10px;
    font-weight: 700;
  }

  .v2-history-table-card .v2-history-result-actions.is-mobile-actions > .semi-button .semi-icon {
    color: #5f7188;
    font-size: 14px;
  }

  .v2-history-table-card .v2-history-result-actions.is-mobile-actions > .v2-history-table-trend.is-expanded {
    border-color: #b8d2f6;
    background: #edf5ff;
    color: var(--v2-blue);
  }

  .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;
  }

  :is(
    .v2-history-column-sidesheet,
    .v2-history-detail-sidesheet,
    .v2-history-export-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #d9e3ef;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -18px 52px rgba(20, 38, 66, .18);
    padding-bottom: env(safe-area-inset-bottom);
  }

  :is(
    .v2-history-column-sidesheet,
    .v2-history-detail-sidesheet,
    .v2-history-export-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 64px;
    border-bottom: 1px solid #dfe6ef;
    padding: 12px 15px 10px;
  }

  :is(
    .v2-history-column-sidesheet,
    .v2-history-detail-sidesheet,
    .v2-history-export-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .v2-history-column-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    overflow: hidden;
  }

  .v2-history-column-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 9px 12px 10px;
  }

  :is(
    .v2-history-detail-sidesheet,
    .v2-history-export-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 8px 8px 12px;
  }

  .v2-history-detail-sidesheet.semi-sidesheet-bottom .v2-history-evidence.semi-card,
  .v2-history-export-sidesheet.semi-sidesheet-bottom .v2-export-jobs.semi-card {
    border-radius: 11px;
    box-shadow: none;
  }

  .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 108px;
  }

  .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,
  .v2-history-mobile-meta {
    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;
  }
}

.v2-workspace-mobile-tools-menu {
  width: 168px;
  min-width: 168px;
  border: 1px solid var(--v2-control-border);
  border-radius: var(--v2-menu-radius);
  padding: 6px;
  box-shadow: 0 18px 44px rgba(27, 45, 72, .16);
}

.v2-workspace-mobile-tools-menu .semi-dropdown-item {
  min-height: var(--v2-control-height-touch);
  border-radius: var(--v2-control-radius);
  padding-inline: 11px;
  color: var(--v2-control-text-muted);
  font-size: 11px;
  font-weight: 650;
}

.v2-workspace-mobile-tools-menu .semi-dropdown-item:hover,
.v2-workspace-mobile-tools-menu .semi-dropdown-item:focus-visible {
  background: #edf5ff;
  color: #1d64c5;
}

@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-command-bar.v2-workspace-command-bar {
  max-width: none;
  padding: 5px 7px 5px 14px;
}

.v2-alert-command-bar .v2-workspace-command-copy {
  max-width: 310px;
  flex: 1 1 220px;
}

.v2-alert-command-bar .v2-workspace-command-copy > .semi-typography:first-child {
  font-size: 14px;
}

.v2-alert-command-bar .v2-workspace-command-copy > .semi-typography:last-child {
  max-width: 310px;
  font-size: 10px;
}

.v2-alert-command-bar .v2-workspace-command-actions {
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 9px;
}

.v2-alert-command-bar .v2-workspace-command-actions > .v2-alert-tabs {
  order: -1;
}

.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-event-table.semi-table-wrapper {
  min-width: 1102px;
}

.v2-alert-event-table.is-compact.semi-table-wrapper {
  min-width: 758px;
}

.v2-alert-event-evidence {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.v2-alert-event-evidence strong,
.v2-alert-event-evidence small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-event-evidence strong {
  color: #b83f39;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.v2-alert-event-evidence small {
  color: #7d8b9e;
  font-size: 10px;
}

.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-focus-card > .semi-card-body {
  background: linear-gradient(145deg, #fff 0%, #f7faff 100%);
}

.v2-alert-focus-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e6ebf2;
  padding: 13px 14px 12px;
}

.v2-alert-focus-identity > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-alert-focus-identity small,
.v2-alert-focus-facts small {
  color: #7e8c9f;
  font-size: 10px;
}

.v2-alert-focus-identity strong {
  overflow: hidden;
  color: #233b56;
  font-size: 18px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-focus-identity code {
  overflow: hidden;
  color: #7b899c;
  font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-focus-identity > .semi-tag {
  flex: 0 0 auto;
  border-radius: 999px;
  font-size: 9px;
}

.v2-alert-focus-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid #e6ebf2;
}

.v2-alert-focus-facts > span {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 9px 14px;
}

.v2-alert-focus-facts > span + span {
  border-left: 1px solid #e6ebf2;
}

.v2-alert-focus-facts strong {
  overflow: hidden;
  color: #3d5068;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-focus-card .v2-alert-evidence {
  padding: 11px 12px 12px;
}

.v2-alert-technical-collapse.semi-collapse {
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(31, 53, 80, .035);
}

.v2-alert-technical-collapse > .semi-collapse-item {
  margin: 0;
  border: 0;
}

.v2-alert-technical-collapse .semi-collapse-header {
  min-height: 48px;
  align-items: center;
  padding: 8px 12px;
}

.v2-alert-technical-collapse .semi-collapse-header:hover {
  background: #f7faff;
}

.v2-alert-technical-heading {
  display: grid;
  gap: 2px;
}

.v2-alert-technical-heading strong {
  color: #33475f;
  font-size: 12px;
}

.v2-alert-technical-heading small {
  color: #8491a3;
  font-size: 9px;
  font-weight: 400;
}

.v2-alert-technical-collapse .semi-collapse-content {
  border-top: 1px solid #e7ecf2;
  background: #fff;
}

.v2-alert-technical-collapse .semi-collapse-content-wrapper {
  padding: 0;
}

.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-disposition-card {
  border-color: #cfe0f7 !important;
  box-shadow: 0 6px 18px rgba(18, 104, 243, .06) !important;
}

.v2-alert-disposition-card > .semi-card-header {
  background: linear-gradient(90deg, #f4f8ff 0%, #fff 72%);
}

.v2-alert-disposition-card .v2-alert-actions {
  margin-top: 9px;
}

.v2-alert-disposition-card .v2-alert-actions > .semi-button {
  min-height: 36px;
  border-radius: 8px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-inspector-content {
  gap: 8px;
  padding: 8px;
}

.v2-alert-inspector:not(.is-sheet) > .semi-card-body > .v2-alert-inspector-heading {
  min-height: 64px;
  padding: 8px 11px;
}

.v2-alert-inspector:not(.is-sheet) > .semi-card-body > .v2-alert-inspector-heading > .v2-workspace-panel-copy {
  gap: 2px;
}

.v2-alert-inspector:not(.is-sheet) > .semi-card-body > .v2-alert-inspector-heading > .v2-workspace-panel-actions {
  max-width: none;
  align-items: center;
  flex-direction: row;
  gap: 6px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-focus-identity {
  min-height: 68px;
  padding: 9px 11px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-focus-facts > span {
  min-height: 48px;
  padding: 6px 9px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-focus-card .v2-alert-evidence {
  padding: 8px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value > .semi-card-body {
  min-height: 62px;
  padding-block: 6px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-focus-rule {
  min-height: 34px;
  padding-block: 5px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-disposition-card > .semi-card-header {
  min-height: 40px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-disposition-card > .semi-card-body {
  padding: 8px !important;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-disposition-card .semi-input-textarea {
  min-height: 48px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-disposition-card .v2-alert-actions {
  margin-top: 7px;
}

.v2-alert-inspector:not(.is-sheet) .v2-alert-disposition-card .v2-alert-actions > .semi-button {
  min-height: 34px;
}

.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-editor-sidesheet .semi-sidesheet-body {
  display: flex;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.v2-alert-rule-editor-sidesheet .v2-alert-rule-editor.semi-card {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.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;
  overscroll-behavior: contain;
}

.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-sheet-status {
  display: flex;
  min-height: 56px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e3e9f1;
  background: #fff;
  padding: 9px 14px;
}

.v2-alert-rule-sheet-status > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.v2-alert-rule-sheet-status small {
  overflow: hidden;
  color: #7c899b;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-rule-sheet-status .semi-button {
  min-width: 82px;
  flex: 0 0 auto;
}

.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-rule-editor-form > footer .v2-primary-button .semi-button-content {
  color: #fff;
}

.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: 10px;
  scrollbar-color: #aebdce transparent;
  scrollbar-width: thin;
}

.v2-alert-notification-list::-webkit-scrollbar {
  width: 10px;
}

.v2-alert-notification-list::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #aebdce;
  background-clip: padding-box;
}

.v2-alert-notification-cards.semi-card-group {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.v2-alert-notification-card.semi-card {
  content-visibility: auto;
  contain-intrinsic-size: auto 116px;
}

.v2-alert-notification-card > .semi-card-header {
  min-height: 44px;
  padding-inline: 11px;
}

.v2-alert-notification-card > .semi-card-body {
  min-height: 72px;
  gap: 0;
}

.v2-alert-notification-content {
  min-height: 42px;
  padding: 8px 11px 5px;
  line-height: 1.5;
}

.v2-alert-notification-card > .semi-card-body > footer {
  min-height: 30px;
  padding: 3px 7px 3px 11px;
}

.v2-alert-notification-card footer .semi-button {
  height: 24px;
  padding-inline: 7px;
}

.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-notification-total.semi-tag {
  min-height: 24px;
  border-radius: 999px;
  padding-inline: 9px;
  font-variant-numeric: tabular-nums;
}

.v2-alert-channel-collapse.semi-collapse {
  overflow: hidden;
  border: 0;
  border-top: 1px solid #e4eaf1;
  border-radius: 0;
  background: #fff;
}

.v2-alert-channel-collapse > .semi-collapse-item {
  margin: 0;
  border: 0;
}

.v2-alert-channel-collapse .semi-collapse-header {
  min-height: 42px;
  padding: 5px 14px;
}

.v2-alert-channel-collapse .semi-collapse-header:hover {
  background: #f7faff;
}

.v2-alert-channel-collapse .semi-collapse-content {
  border-top: 1px solid #edf1f5;
  background: #fff;
}

.v2-alert-channel-collapse .semi-collapse-content-wrapper {
  padding: 0;
}

.v2-alert-channel-heading {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.v2-alert-channel-heading > span {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.v2-alert-channel-heading strong {
  color: #4c5e74;
  font-size: 11px;
}

.v2-alert-channel-heading small {
  overflow: hidden;
  color: #8995a5;
  font-size: 9px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-channel-heading > .semi-tag {
  flex: 0 0 auto;
  border-radius: 999px;
  font-size: 9px;
}

.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-command-bar.v2-workspace-command-bar {
    display: block;
    min-height: 50px;
  }

  .v2-alert-command-bar .v2-workspace-command-copy,
  .v2-alert-command-bar .v2-workspace-command-actions > .semi-tag,
  .v2-alert-command-bar .v2-workspace-command-meta {
    display: none;
  }

  .v2-alert-command-bar .v2-workspace-command-actions {
    display: block;
    width: 100%;
  }

  .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 .v2-alert-tabs > .semi-button:not(.is-active) .v2-segmented-tab-count {
    background: #eef2f7;
    color: #6e7f95;
  }

  .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: 88px;
  }

  .v2-alert-context-card > .semi-card-body {
    display: block;
  }

  .v2-alert-context-card .v2-alert-kpis {
    height: 54px;
    min-height: 54px;
    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: 54px;
  }

  .v2-alert-context-card .v2-alert-kpis .v2-metric-action {
    padding: 5px 4px;
  }

  .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: 16px;
  }

  .v2-alert-context-card .v2-alert-secondary-states {
    min-height: 34px;
    border-top: 1px solid #e4e9f0;
    border-left: 0;
    padding: 3px 4px;
  }

  .v2-alert-context-card .v2-alert-secondary-states > .semi-button {
    min-height: 28px;
    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: 12px;
  }

  .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: 44px;
    align-items: center;
    padding: 5px 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: 6px;
    padding: 6px;
  }

  .v2-alert-mobile-list > .v2-alert-mobile-card.semi-card {
    border-radius: 9px;
    contain-intrinsic-size: auto 96px;
  }

  .v2-alert-mobile-card-content {
    padding: 8px 10px;
  }

  .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: 4px 0 5px;
    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: .92fr .7fr 1.38fr;
    gap: 0;
    padding-top: 5px;
  }

  .v2-alert-mobile-card-content dl > div {
    display: block;
    min-width: 0;
    min-height: 28px;
    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: 2px 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: 44px;
    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: 32px;
  }

  .v2-alert-page.is-rules {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 8px;
  }

  .v2-alert-rules {
    display: flex;
    flex-direction: column;
  }

  .v2-alert-rules.is-mobile {
    min-height: 0;
    flex: 1 1 0;
    overflow: hidden;
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-list {
    min-height: 0;
    max-height: none;
    flex: 1 1 0;
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-items {
    display: flex;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    scrollbar-color: #9dacc0 transparent;
    scrollbar-width: thin;
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-items:focus-visible {
    outline: 2px solid rgba(18, 104, 243, .34);
    outline-offset: -2px;
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-items::-webkit-scrollbar {
    display: block;
    width: 8px;
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-items::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: #9dacc0;
    background-clip: padding-box;
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-item.semi-button {
    width: 100%;
    min-width: 0;
    min-height: 76px;
    flex: 0 0 auto;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(36, 53, 76, .04);
  }

  .v2-alert-rules.is-mobile .v2-alert-rule-item.semi-button.is-selected {
    border-color: rgba(18, 104, 243, .38);
    background: linear-gradient(135deg, rgba(18, 104, 243, .075), rgba(255, 255, 255, .98));
    box-shadow: 0 5px 16px rgba(18, 104, 243, .1);
  }

  .v2-alert-rule-editor-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 54px rgba(22, 34, 50, .22);
  }

  .v2-alert-rule-editor-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe6ef;
    padding: 13px 15px 11px;
  }

  .v2-alert-rule-editor-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow: hidden;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-editor-form {
    overflow-y: auto;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-templates {
    padding: 12px;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-templates > nav {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-template-card.semi-button {
    min-width: min(294px, calc(100vw - 40px));
    scroll-snap-align: start;
  }

  .v2-alert-rule-editor-sidesheet .v2-rule-form-grid {
    padding: 14px 14px 18px;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-editor-form > footer {
    display: grid;
    position: sticky;
    min-height: 68px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    flex-direction: row;
    gap: 10px;
    padding: 9px 14px calc(9px + env(safe-area-inset-bottom));
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-editor-form > footer > div {
    overflow: hidden;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-editor-form > footer span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-alert-rule-editor-sidesheet .v2-alert-rule-editor-form > footer > .semi-button {
    width: auto;
    min-width: 104px;
    height: 42px;
    justify-content: center;
  }

  .v2-alert-page.is-notifications {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 8px;
  }

  .v2-alert-notifications.semi-card {
    min-height: 0;
    flex: 1 1 0;
  }

  .v2-alert-notifications > .semi-card-body {
    grid-template-rows: 52px minmax(0, 1fr) 58px auto;
  }

  .v2-alert-notifications > .semi-card-body > .v2-alert-notification-heading {
    min-height: 52px;
    padding: 6px 8px 6px 10px;
  }

  .v2-alert-notification-heading .v2-workspace-panel-copy {
    flex: 1 1 auto;
    gap: 0;
  }

  .v2-alert-notification-heading .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 14px;
  }

  .v2-alert-notification-heading .v2-workspace-panel-copy > .semi-typography:not(h5) {
    display: none;
  }

  .v2-alert-notification-heading .v2-workspace-panel-actions {
    flex: 0 0 auto;
    gap: 5px;
  }

  .v2-alert-notification-heading .v2-workspace-panel-actions > .semi-button {
    min-height: 32px;
    border-radius: 8px;
    padding-inline: 8px;
    font-size: 10px;
  }

  .v2-alert-notification-total.semi-tag {
    min-height: 22px;
    padding-inline: 7px;
    font-size: 9px;
  }

  .v2-alert-notification-mobile-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
  }

  .v2-alert-notification-mobile-title > .v2-alert-notification-total.semi-tag {
    flex: 0 0 auto;
  }

  .v2-alert-notification-list {
    padding: 6px;
  }

  .v2-alert-notification-cards.semi-card-group {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .v2-alert-notification-card.semi-card {
    border-radius: 9px;
    contain-intrinsic-size: auto 102px;
  }

  .v2-alert-notification-card > .semi-card-header {
    min-height: 40px;
    padding-inline: 9px;
  }

  .v2-alert-notification-title {
    gap: 5px;
  }

  .v2-alert-notification-title .v2-alert-severity.semi-tag,
  .v2-alert-notification-card > .semi-card-header .semi-card-header-wrapper-extra > .semi-tag {
    min-height: 20px;
  }

  .v2-alert-notification-title > span:last-child {
    font-size: 11px;
  }

  .v2-alert-notification-card > .semi-card-body {
    min-height: 62px;
  }

  .v2-alert-notification-content {
    min-height: 34px;
    padding: 6px 9px 3px;
    font-size: 10px;
    line-height: 1.45;
    -webkit-line-clamp: 1;
  }

  .v2-alert-notification-card > .semi-card-body > footer {
    min-height: 28px;
    padding: 2px 5px 2px 9px;
  }

  .v2-alert-notification-card footer .semi-typography,
  .v2-alert-notification-card footer .semi-button {
    font-size: 9px;
  }

  .v2-alert-notification-card footer .semi-button {
    height: 24px;
    padding-inline: 6px;
  }

  .v2-alert-notification-pagination {
    min-height: 58px;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;
    gap: 5px;
    padding: 5px 6px;
  }

  .v2-alert-notification-pagination .v2-table-pagination-info {
    display: none;
  }

  .v2-alert-notification-pagination .v2-table-pagination-controls {
    width: 100%;
  }

  .v2-alert-notification-pagination .v2-table-pagination {
    flex: 1 1 auto;
  }

  .v2-alert-notification-pagination .v2-table-pagination-button.semi-button,
  .v2-alert-notification-pagination .v2-table-pagination-current,
  .v2-alert-notification-pagination .v2-table-pagination-size.semi-select {
    height: 34px;
  }

  .v2-alert-channel-collapse .semi-collapse-header {
    min-height: 40px;
    padding: 4px 8px;
  }

  .v2-alert-channel-heading small {
    max-width: 190px;
  }

  .v2-alert-channel-heading > .semi-tag {
    font-size: 8px;
  }

  .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 .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: 10px;
  overflow: hidden;
  padding: 14px 16px 16px;
}

.v2-access-discovery-shell {
  display: grid;
  flex: 0 0 auto;
  overflow: visible;
  gap: 0;
  border: 1px solid #dce4ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(31, 53, 80, .055);
}

.v2-access-discovery-shell > .v2-workspace-command-bar {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-bottom: 1px solid #e6ecf3;
  border-radius: 14px 14px 0 0;
  box-shadow: none;
}

.v2-access-discovery-shell > .v2-access-filter-card-v3.semi-card {
  width: 100%;
  overflow: visible;
  border: 0;
  border-radius: 0 0 14px 14px;
  box-shadow: none;
}

.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-workspace-v3 {
  min-height: 0;
  flex: 1 1 0;
}

.v2-access-protocol-coverage {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.v2-access-protocol-coverage > small {
  color: #8794a6;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.v2-access-protocol-coverage > span {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 5px;
  border: 1px solid #e0e7f0;
  border-radius: 7px;
  background: #f8fafd;
  padding: 4px 7px;
  white-space: nowrap;
}

.v2-access-protocol-coverage b {
  color: #50627a;
  font-size: 10px;
}

.v2-access-protocol-coverage em {
  color: #78879a;
  font-size: 10px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.v2-access-table-v3.semi-card,
.v2-access-table-v3 > .semi-card-body {
  height: 100%;
  min-height: 0;
}

.v2-access-status-tabs {
  display: block;
  min-height: 54px;
  flex: 0 0 auto;
  overflow: hidden;
  background: #fff;
}

.v2-access-metric-rail.is-queue > .semi-card-body {
  min-height: 54px;
  grid-template-columns: minmax(0, 1fr) 292px;
}

.v2-access-metric-rail .v2-workspace-metric-list {
  grid-template-columns: 1.12fr 1.12fr .94fr .94fr;
}

.v2-access-metric-rail .v2-workspace-metric-list > span,
.v2-access-metric-rail .v2-workspace-metric-action.semi-button,
.v2-access-metric-rail .v2-workspace-metric-action .semi-button-content {
  min-height: 54px;
}

.v2-access-metric-rail .v2-workspace-metric-action .semi-button-content {
  padding-block: 5px;
}

.v2-access-metric-rail .v2-workspace-metric-list > span.is-action.is-active.is-warning {
  background: linear-gradient(145deg, #fff8ed 0%, #fffcf7 100%);
  box-shadow: inset 0 -3px #e59a2f;
}

.v2-access-metric-rail .v2-workspace-metric-context {
  padding: 6px 8px;
}

.v2-access-metric-rail .v2-access-protocol-coverage {
  width: 100%;
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.v2-access-metric-rail .v2-access-protocol-coverage > small {
  align-self: center;
  font-size: 9px;
}

.v2-access-metric-rail .v2-access-protocol-coverage > span {
  min-height: 38px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 1px;
  border-color: #dce6f1;
  background: #fff;
  padding: 3px 5px;
}

.v2-access-metric-rail .v2-access-protocol-coverage b {
  display: block;
  color: #49617d;
  font-size: 9px;
  line-height: 12px;
}

.v2-access-metric-rail .v2-access-protocol-coverage em {
  color: #2f5f9b;
  font-size: 10px;
  font-weight: 650;
  line-height: 13px;
}

.v2-access-table-v3 .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  height: 58px;
  padding-block: 6px;
}

.v2-access-table-scroll-v3 table {
  width: max(100%, 1005px) !important;
  min-width: 1005px;
}

.v2-access-table-scroll-v3 {
  scrollbar-color: #b7c4d4 #f4f7fa;
  scrollbar-width: thin;
}

.v2-access-table-scroll-v3:not(.is-mobile-scroll) {
  overflow-x: hidden;
}

.v2-access-table-scroll-v3 > .v2-access-semi-table.semi-table-wrapper {
  width: 100%;
  min-width: 0;
}

.v2-access-table-scroll-v3:focus-visible {
  outline: 2px solid rgba(18, 104, 243, .34);
  outline-offset: -2px;
}

.v2-access-semi-table .semi-table-body {
  overflow-x: auto;
  scroll-padding-inline-start: 305px;
  scrollbar-color: #b7c4d4 #f4f7fa;
  scrollbar-width: thin;
}

.v2-access-semi-table :is(.semi-table-row-head, .semi-table-row-cell).semi-table-cell-fixed-left {
  z-index: 5;
  background: #fff;
}

.v2-access-table-scroll-v3 .v2-access-semi-table.semi-table-wrapper .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left {
  z-index: 8;
  background: #f7f9fc;
}

.v2-access-semi-table .semi-table-tbody > .semi-table-row:hover > .semi-table-row-cell.semi-table-cell-fixed-left,
.v2-access-semi-table .semi-table-tbody > .semi-table-row.is-selected > .semi-table-row-cell.semi-table-cell-fixed-left {
  background: #f2f7ff;
}

.v2-access-semi-table :is(.semi-table-row-head, .semi-table-row-cell).v2-access-model-column {
  box-shadow: 12px 0 18px -18px rgba(35, 55, 82, .72);
}

.v2-access-semi-table .semi-table-body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.v2-access-semi-table .semi-table-body::-webkit-scrollbar-track {
  background: #f4f7fa;
}

.v2-access-semi-table .semi-table-body::-webkit-scrollbar-thumb {
  border: 2px solid #f4f7fa;
  border-radius: 999px;
  background: #b7c4d4;
  background-clip: padding-box;
}

.v2-access-table-scroll-v3 th:nth-child(1) { width: 165px; }
.v2-access-table-scroll-v3 th:nth-child(2) { width: 140px; }
.v2-access-table-scroll-v3 th:nth-child(3),
.v2-access-table-scroll-v3 th:nth-child(4),
.v2-access-table-scroll-v3 th:nth-child(5) { width: 160px; }
.v2-access-table-scroll-v3 th:nth-child(6) { width: 220px; }

.v2-access-connection {
  min-width: 0;
  gap: 3px;
}

.v2-access-connection > span,
.v2-access-connection > small {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-access-connection > span {
  color: #4e5f76;
  font-size: 10px;
  font-weight: 650;
}

.v2-access-connection > small {
  color: #8b97a8;
  font-size: 9px;
}

.v2-access-time {
  font: inherit;
  font-variant-numeric: tabular-nums;
}

.v2-access-inspector-focus.semi-card {
  margin: 10px 12px 0;
  overflow: hidden;
  border: 1px solid #dce6f2;
  border-radius: 10px;
  background: linear-gradient(115deg, #f7faff 0%, #eef5ff 100%);
  box-shadow: 0 7px 20px rgba(42, 72, 110, .055);
}

.v2-access-inspector-focus.is-degraded.semi-card,
.v2-access-inspector-focus.is-incomplete.semi-card {
  border-color: #f0d9b7;
  background: linear-gradient(115deg, #fffaf3 0%, #fff4e6 100%);
}

.v2-access-inspector-focus.is-offline.semi-card,
.v2-access-inspector-focus.is-not_connected.semi-card {
  border-color: #efd5d2;
  background: linear-gradient(115deg, #fffafa 0%, #fff0ef 100%);
}

.v2-access-inspector-focus > .semi-card-body {
  display: flex;
  min-height: 82px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 13px !important;
}

.v2-access-inspector-focus > .semi-card-body > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-access-inspector-focus small {
  color: #7c8b9f;
  font-size: 9px;
  font-weight: 650;
}

.v2-access-inspector-focus strong {
  overflow-wrap: anywhere;
  color: #30445f;
  font-size: 14px;
  line-height: 1.45;
}

.v2-access-inspector-focus span {
  color: #77879b;
  font-size: 10px;
  line-height: 1.45;
}

.v2-access-inspector-focus b {
  margin-top: 3px;
  color: #526c91;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.45;
}

.v2-access-inspector-focus.is-degraded b,
.v2-access-inspector-focus.is-incomplete b {
  color: #9c640f;
}

.v2-access-inspector-focus.is-offline b,
.v2-access-inspector-focus.is-not_connected b {
  color: #a45048;
}

.v2-access-inspector-focus .v2-access-connection-tag.semi-tag {
  flex: 0 0 auto;
}

.v2-access-health-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 10px 12px 0;
  overflow: hidden;
  border: 1px solid #e0e7ef;
  border-radius: 10px;
  background: #fff;
}

.v2-access-health-strip > span {
  display: grid;
  min-width: 0;
  gap: 5px;
  padding: 10px 11px;
}

.v2-access-health-strip > span + span {
  border-left: 1px solid #e8edf3;
}

.v2-access-health-strip small {
  color: #8794a6;
  font-size: 9px;
  white-space: nowrap;
}

.v2-access-health-strip strong {
  overflow: hidden;
  color: #34475f;
  font-size: 15px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.v2-access-health-strip strong.is-good {
  color: #169b62;
}

.v2-access-health-strip strong.is-danger {
  color: #d1493f;
}

.v2-access-health-strip strong.is-warning {
  color: #b86c0d;
}

.v2-access-mobile-profile {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #e6ebf2;
  background: #fff;
  padding: 8px 12px;
}

.v2-access-mobile-profile small {
  flex: 0 0 auto;
  color: #8794a6;
  font-size: 10px;
}

.v2-access-mobile-profile strong {
  overflow: hidden;
  color: #40536b;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-access-inspector-focus + .v2-access-inspector-summary.semi-descriptions {
  padding-top: 8px;
}

.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-discovery-shell {
    display: contents;
  }

  .v2-access-discovery-shell > .v2-workspace-command-bar {
    min-height: 56px;
    border: 1px solid #dce6f2;
    border-radius: 10px;
    background: linear-gradient(105deg, #fff 0%, #f8fbff 100%);
  }

  .v2-access-command-bar .v2-workspace-command-copy > .semi-typography:last-child {
    display: block;
    max-width: 160px;
    color: #8492a5;
    font-size: 9px;
  }

  .v2-access-discovery-shell > .v2-access-filter-card-v3.semi-card {
    border: 1px solid #dce6f2;
    border-radius: 10px;
    box-shadow: var(--v2-shadow);
  }

  .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-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;
    flex-direction: row;
    padding: 6px 8px;
  }

  .v2-access-table-v3 .v2-workspace-panel-copy {
    width: auto;
    flex: 1 1 auto;
  }

  .v2-access-table-v3 .v2-workspace-panel-copy > .semi-typography:not(h5) {
    display: none;
  }

  .v2-access-table-v3 .v2-workspace-panel-copy > h5.semi-typography {
    display: block;
    font-size: 12px;
  }

  .v2-access-table-v3 .v2-access-table-actions {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }

  .v2-access-status-tabs {
    min-height: 48px;
  }

  .v2-access-metric-rail.is-queue > .semi-card-body {
    min-height: 48px;
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-access-metric-rail .v2-workspace-metric-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-access-metric-rail .v2-workspace-metric-list > span,
  .v2-access-metric-rail .v2-workspace-metric-action.semi-button,
  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content {
    min-height: 48px;
  }

  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content {
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 6px;
    padding: 4px 10px;
  }

  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content > small {
    font-size: 9px;
  }

  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content > strong {
    font-size: 17px;
    line-height: 19px;
  }

  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content > em {
    font-size: 8px;
  }

  .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: 14px;
  }

  .v2-access-mobile-card-content > header small {
    font-size: 9px;
  }

  .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 > small {
    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: 10px;
    line-height: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-access-mobile-card-content > p.is-issue {
    color: #9c5b0f;
    font-weight: 650;
  }

  .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: 9px;
    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: 9px;
    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: 9px;
    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 {
    height: 34px;
  }

  .v2-access-table-v3 > .semi-card-body > footer .v2-table-pagination-controls {
    width: 100%;
    justify-content: center;
  }

  :is(
    .v2-access-detail-sidesheet,
    .v2-access-governance-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #d9e3ef;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -18px 52px rgba(20, 38, 66, .18);
    padding-bottom: env(safe-area-inset-bottom);
  }

  :is(
    .v2-access-detail-sidesheet,
    .v2-access-governance-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 64px;
    border-bottom: 1px solid #dfe6ef;
    padding: 12px 15px 10px;
  }

  :is(
    .v2-access-detail-sidesheet,
    .v2-access-governance-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .v2-access-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 0 7px 12px;
  }

  .v2-access-detail-sidesheet.semi-sidesheet-bottom .v2-access-inspector-v3.is-sheet.semi-card {
    border-radius: 11px;
    background: transparent;
  }

  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 8px 8px 12px;
  }

  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 9px 12px 10px;
  }

  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer .semi-button {
    width: 100%;
    min-height: 40px;
  }

  .v2-access-governance-sidesheet .v2-access-governance-summary > .semi-card-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-access-governance-sidesheet .v2-access-governance-summary > .semi-card-body > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 8px;
  }

  .v2-access-governance-sidesheet .v2-access-governance-summary > .semi-card-body > div + div {
    border-top: 0;
    border-left: 1px solid var(--v2-border);
  }

  .v2-access-governance-sidesheet .v2-access-governance-summary strong {
    font-size: 16px;
  }

  .v2-access-governance {
    gap: 9px;
  }

  .v2-access-governance .v2-access-identity-queue-v3 .semi-collapse-header,
  .v2-access-governance .v2-access-settings .semi-collapse-header {
    min-height: 58px;
  }

  .v2-access-governance .v2-access-collapse-title small {
    max-width: 245px;
  }

  .v2-access-identity-facts strong,
  .v2-access-identity-card footer strong {
    font-size: 11px;
  }

  .v2-access-threshold-group {
    gap: 8px;
    padding: 9px;
  }

  .v2-access-threshold-group > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .v2-access-threshold-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .v2-access-settings .v2-access-threshold-fields label {
    gap: 5px;
    padding: 8px;
  }

  .v2-access-settings .v2-access-threshold-fields label > .semi-input-wrapper {
    height: 38px;
  }

  .v2-access-settings .v2-access-threshold-fields label .semi-input {
    height: 36px;
    font-size: 11px;
  }

  .v2-access-threshold-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-access-threshold-footer > .semi-button {
    width: 100%;
    min-height: 40px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-details.semi-card-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow-x: hidden;
    gap: 8px;
    padding: 10px;
    scroll-snap-type: none;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-detail.semi-card {
    width: 100%;
    min-width: 0;
    flex: none;
    scroll-snap-align: none;
  }

  .v2-access-inspector-focus.semi-card {
    margin: 8px 9px 0;
  }

  .v2-access-inspector-focus > .semi-card-body {
    min-height: 74px;
    padding: 10px 11px !important;
  }

  .v2-access-inspector-focus strong {
    font-size: 13px;
  }

  .v2-access-health-strip {
    margin: 7px 9px 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .v2-access-health-strip > span {
    gap: 4px;
    padding: 8px 6px;
  }

  .v2-access-health-strip small {
    font-size: 9px;
  }

  .v2-access-health-strip strong {
    font-size: 12px;
  }

  .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, 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 account workspace: one discovery surface and one scan-friendly directory. */
.v2-user-admin {
  height: 100%;
  min-height: 0;
  align-content: start;
  gap: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 14px 16px 24px;
  scrollbar-gutter: stable;
}

.v2-user-discovery-shell {
  display: grid;
  width: 100%;
  max-width: 1480px;
  flex: 0 0 auto;
  gap: 0;
  overflow: visible;
  margin-inline: auto;
  border: 1px solid #dce4ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(31, 53, 80, .055);
}

.v2-user-discovery-shell > .v2-workspace-command-bar {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-bottom: 1px solid #e6ecf3;
  border-radius: 14px 14px 0 0;
  box-shadow: none;
}

.v2-user-discovery-shell > .v2-user-filter-panel.v2-workspace-filter-panel.semi-card {
  width: 100%;
  overflow: visible;
  border: 0;
  border-radius: 0 0 14px 14px;
  box-shadow: none;
}

.v2-user-discovery-shell .v2-user-filter-form {
  min-height: 54px;
  border-radius: 0 0 14px 14px;
  background: #fbfcfe;
}

.v2-user-admin-grid {
  min-height: 0;
  flex: 0 0 auto;
  align-items: start;
}

.v2-user-list.semi-card {
  height: auto;
  min-height: 0;
  flex: 0 0 auto;
  border-radius: 12px;
  box-shadow: 0 8px 26px rgba(31, 50, 76, .05);
}

.v2-user-list > .semi-card-body {
  height: auto;
  min-height: 0;
}

.v2-user-directory-header.v2-workspace-panel-header {
  min-height: 58px;
  padding: 9px 14px;
}

.v2-user-directory-summary {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.v2-user-directory-summary > .semi-tag {
  min-height: 24px;
  flex: 0 0 auto;
  border-radius: 999px;
  padding-inline: 9px;
  font-size: 10px;
  font-weight: 650;
}

.v2-user-directory-summary > .semi-typography {
  position: relative;
  margin: 0;
  padding-left: 12px;
  color: #718197;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.v2-user-directory-summary > .semi-typography::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 14px;
  background: #e0e7f0;
  content: '';
  transform: translateY(-50%);
}

.v2-user-directory-body {
  display: block;
  min-height: 0;
  flex: 0 0 auto;
  padding: 0 10px 10px;
}

.v2-user-directory-columns {
  display: grid;
  min-height: 34px;
  grid-template-columns: 36px minmax(170px, 1.45fr) minmax(70px, .45fr) minmax(70px, .45fr) minmax(150px, .9fr) auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #e6ecf3;
  padding: 0 10px;
  color: #8a97a8;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .02em;
}

.v2-user-directory-columns > span:first-child {
  grid-column: 1 / 3;
}

.v2-user-directory-columns > span:last-child {
  min-width: 72px;
  text-align: right;
}

.v2-customer-list-scroll {
  flex: 0 0 auto;
  overflow: visible;
  padding-top: 7px;
}

.v2-customer-list .semi-list-items {
  gap: 6px;
}

.v2-customer-list .v2-user-list-row.semi-list-item {
  min-height: 64px;
  border: 1px solid #e5ebf2;
  border-radius: 9px;
  background: #fbfcfe;
}

.v2-customer-list .v2-user-list-row.semi-list-item:hover {
  border-color: #cfdceb;
  background: #fff;
  box-shadow: 0 7px 18px rgba(35, 57, 84, .055);
  transform: translateY(-1px);
}

.v2-customer-list .v2-user-list-row.is-active.semi-list-item {
  border-color: #a9c9f7;
  background: linear-gradient(110deg, #edf5ff 0%, #f9fbff 100%);
  box-shadow: inset 3px 0 var(--v2-blue), 0 7px 18px rgba(18, 104, 243, .07);
}

.v2-customer-list .v2-user-list-item.semi-button {
  min-height: 64px;
  padding: 8px 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: 36px;
  height: 36px;
  border: 1px solid rgba(18, 104, 243, .08);
  border-radius: 9px;
  font-size: 13px;
  font-weight: 750;
}

.v2-user-list-identity {
  gap: 3px;
}

.v2-user-list-identity b {
  color: #253a52;
  font-size: 13px;
  font-weight: 720;
}

.v2-user-list-identity small {
  overflow: hidden;
  color: #8390a1;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-user-list-facts {
  display: block;
}

.v2-user-list-facts small {
  display: none;
}

.v2-user-list-facts b {
  color: #4c6077;
  font-size: 11px;
  font-weight: 650;
}

.v2-user-list-facts.is-login b {
  color: #6d7d91;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.v2-user-list-trailing {
  min-width: 72px;
  justify-content: flex-end;
  gap: 7px;
}

.v2-user-list-trailing > svg {
  color: #9aa7b7;
  font-size: 14px;
}

.v2-user-status-tag.semi-tag {
  min-width: 42px;
  justify-content: center;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
}

.v2-user-list-loading,
.v2-user-list-empty.semi-empty {
  min-height: 280px;
}

.v2-user-filter-empty.semi-empty {
  min-height: 230px;
}

@media (max-width: 980px) and (min-width: 681px) {
  .v2-user-directory-columns,
  .v2-customer-list .v2-user-list-item .semi-button-content {
    grid-template-columns: 36px minmax(150px, 1fr) 70px 70px auto;
  }

  .v2-user-directory-columns > span:nth-child(4) {
    display: none;
  }
}

@media (max-width: 680px) {
  .v2-user-admin {
    height: 100%;
    gap: 7px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 7px 7px 12px;
    scrollbar-gutter: auto;
    -webkit-overflow-scrolling: touch;
  }

  .v2-user-discovery-shell {
    display: contents;
  }

  .v2-user-discovery-shell > .v2-workspace-command-bar {
    min-height: 48px;
    border: 1px solid #dce6f2;
    border-radius: 10px;
    background: linear-gradient(105deg, #fff 0%, #f8fbff 100%);
    box-shadow: 0 6px 20px rgba(31, 50, 76, .035);
  }

  .v2-user-discovery-shell > .v2-user-filter-panel.v2-workspace-filter-panel.semi-card {
    border: 1px solid #dce6f2;
    border-radius: 10px;
    box-shadow: var(--v2-shadow);
  }

  .v2-user-discovery-shell .v2-user-filter-form {
    border-radius: 0 0 10px 10px;
    background: #fff;
  }

  .v2-user-admin-grid {
    flex: 0 0 auto;
    overflow: visible;
  }

  .v2-user-list.semi-card {
    height: auto;
    overflow: hidden;
    border-radius: 10px;
  }

  .v2-user-directory-header.v2-workspace-panel-header {
    min-height: 50px;
    padding: 7px 10px;
  }

  .v2-user-directory-summary {
    gap: 0;
  }

  .v2-user-directory-summary > .semi-typography {
    display: none;
  }

  .v2-user-directory-body {
    padding: 0 7px 7px;
  }

  .v2-user-directory-columns {
    display: none;
  }

  .v2-customer-list-scroll {
    overflow: visible;
    padding-top: 7px;
  }

  .v2-customer-list .v2-user-list-row.semi-list-item {
    min-height: 74px;
  }

  .v2-customer-list .v2-user-list-item.semi-button {
    min-height: 74px;
    padding: 8px;
  }

  .v2-user-list-facts {
    display: grid;
    gap: 2px;
  }

  .v2-user-list-facts small {
    display: block;
  }

  .v2-user-list-facts b {
    font-size: 10px;
  }

  .v2-user-list-trailing {
    min-width: 0;
  }

  .v2-user-list-loading,
  .v2-user-list-empty.semi-empty,
  .v2-user-filter-empty.semi-empty {
    min-height: 190px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-customer-list .v2-user-list-row.semi-list-item {
    transition: none;
  }
}

/*
 * Semi UI account governance refinement.
 * Raise the reading scale to the same level as monitoring and operations,
 * while making draft/save state and destructive scope changes unmistakable.
 */
.v2-user-command-bar .v2-workspace-command-copy > .semi-typography:first-child {
  font-size: 15px;
}

.v2-user-command-bar .v2-workspace-command-copy > .semi-typography:last-child {
  font-size: 11px;
}

.v2-user-discovery-shell .v2-user-filter-form {
  min-height: 60px;
  padding: 9px 10px;
}

.v2-user-filter-form :is(.semi-input-wrapper, .semi-select),
.v2-user-filter-reset.semi-button {
  min-height: 42px;
}

.v2-user-filter-form .semi-input,
.v2-user-filter-form .semi-select-selection {
  min-height: 40px;
  font-size: 13px;
}

.v2-user-directory-header.v2-workspace-panel-header {
  min-height: 64px;
  padding: 10px 15px;
}

.v2-user-directory-header .v2-workspace-panel-copy strong {
  font-size: 15px;
}

.v2-user-directory-header .v2-workspace-panel-copy small {
  font-size: 11px;
}

.v2-user-directory-summary > .semi-tag,
.v2-user-directory-summary > .semi-typography {
  font-size: 11px;
}

.v2-user-directory-columns {
  min-height: 38px;
  color: #748397;
  font-size: 10px;
}

.v2-customer-list .v2-user-list-row.semi-list-item,
.v2-customer-list .v2-user-list-item.semi-button {
  min-height: 72px;
}

.v2-customer-list .v2-user-list-item.semi-button {
  padding-block: 9px;
}

.v2-user-avatar.semi-avatar {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  font-size: 14px;
}

.v2-customer-list .v2-user-list-item .semi-button-content,
.v2-user-directory-columns {
  grid-template-columns: 40px minmax(180px, 1.45fr) minmax(76px, .45fr) minmax(76px, .45fr) minmax(160px, .9fr) auto;
  gap: 12px;
}

.v2-user-list-identity b {
  color: #20364e;
  font-size: 14px;
}

.v2-user-list-identity small {
  color: #728197;
  font-size: 11px;
}

.v2-user-list-facts b {
  color: #3f536b;
  font-size: 12px;
}

.v2-user-list-facts.is-login b {
  color: #5d7088;
  font-size: 11px;
}

.v2-user-status-tag.semi-tag {
  min-width: 46px;
  min-height: 24px;
  font-size: 10px;
}

.v2-user-editor-sidesheet .semi-sidesheet-inner {
  width: min(900px, 100vw) !important;
}

.v2-user-editor-sidesheet .semi-sidesheet-header {
  min-height: 82px;
  padding: 14px 20px;
}

.v2-user-editor-sheet-title strong {
  font-size: 20px;
}

.v2-user-editor-sheet-title small {
  font-size: 11px;
}

.v2-user-editor-sheet-title .v2-user-status {
  font-size: 11px;
}

.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar {
  min-height: 56px;
  padding-inline: 20px;
}

.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
  min-height: 55px;
  font-size: 12px;
}

.v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content {
  padding: 14px;
}

.v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-header {
  min-height: 50px;
}

.v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-header .semi-card-header-wrapper-title h6,
.v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-header .semi-card-header-wrapper-title > span {
  font-size: 14px;
}

.v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-body {
  padding: 15px;
}

.v2-user-editor-sidesheet .v2-user-fields label,
.v2-user-editor-sidesheet .v2-vehicle-permission-tools label {
  color: #52657d;
  font-size: 12px;
}

.v2-user-editor-sidesheet .v2-user-fields .semi-input-wrapper,
.v2-user-editor-sidesheet .v2-vehicle-permission-tools .semi-input-wrapper,
.v2-user-editor-sidesheet .v2-bulk-vin > .semi-button {
  height: 42px;
}

.v2-user-editor-sidesheet .v2-user-fields .semi-input,
.v2-user-editor-sidesheet .v2-vehicle-permission-tools .semi-input {
  height: 40px;
  font-size: 13px;
}

.v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions label {
  min-height: 78px;
  padding: 14px;
}

.v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions b {
  font-size: 13px;
}

.v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions small {
  font-size: 11px;
}

.v2-user-editor-sidesheet .v2-assigned-toolbar strong {
  font-size: 13px;
}

.v2-user-editor-sidesheet .v2-assigned-toolbar small {
  font-size: 10px;
}

.v2-user-editor-sidesheet .v2-assigned-toolbar .semi-input {
  font-size: 12px;
}

.v2-user-editor-sidesheet .v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
  min-height: 108px;
  border-color: #dfe7f0;
  background: #fff;
  padding: 12px 13px;
  contain-intrinsic-size: auto 108px;
}

.v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > header b {
  color: #243b54;
  font-size: 13px;
}

.v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > header small {
  color: #7c8ca0;
  font-size: 10px;
}

.v2-user-editor-sidesheet .v2-assigned-vehicle-interval small {
  font-size: 10px;
}

.v2-user-editor-sidesheet .v2-assigned-vehicle-interval strong {
  color: #425970;
  font-size: 11px;
}

.v2-user-save-state {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.v2-user-save-state > .semi-tag {
  min-width: 50px;
  min-height: 24px;
  flex: 0 0 auto;
  justify-content: center;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

.v2-user-save-state .v2-user-feedback.semi-typography {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-user-editor-sheet-footer > .semi-button:disabled {
  box-shadow: none;
}

@media (max-width: 980px) and (min-width: 681px) {
  .v2-customer-list .v2-user-list-item .semi-button-content,
  .v2-user-directory-columns {
    grid-template-columns: 40px minmax(160px, 1fr) 76px 76px auto;
  }
}

@media (max-width: 680px) {
  .v2-user-command-bar .v2-workspace-command-copy > .semi-typography:first-child {
    font-size: 13px;
  }

  .v2-user-directory-header .v2-workspace-panel-copy strong {
    font-size: 14px;
  }

  .v2-customer-list .v2-user-list-row.semi-list-item,
  .v2-customer-list .v2-user-list-item.semi-button {
    min-height: 78px;
  }

  .v2-customer-list .v2-user-list-item .semi-button-content {
    grid-template-columns: 38px minmax(0, 1fr) 62px auto;
    gap: 4px 8px;
  }

  .v2-user-avatar.semi-avatar {
    width: 38px;
    height: 38px;
    font-size: 13px;
  }

  .v2-user-list-identity b {
    font-size: 14px;
  }

  .v2-user-list-identity small {
    font-size: 10px;
  }

  .v2-user-list-facts small {
    color: #8190a3;
    font-size: 9px;
  }

  .v2-user-list-facts b {
    font-size: 11px;
  }

  .v2-user-editor-sidesheet .semi-sidesheet-header {
    min-height: 70px;
    padding: 10px 11px 10px 13px;
  }

  .v2-user-editor-sheet-title strong {
    font-size: 17px;
  }

  .v2-user-editor-sheet-title small {
    font-size: 10px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
    font-size: 11px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content {
    padding: 8px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-body {
    padding: 10px;
  }

  .v2-user-editor-sidesheet .v2-assigned-toolbar strong {
    font-size: 12px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vins > .v2-assigned-vehicle-card.semi-card {
    min-height: 106px;
    padding: 10px 11px;
    contain-intrinsic-size: auto 106px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > header b {
    font-size: 13px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > header small {
    font-size: 9px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-interval small {
    font-size: 9px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-interval strong {
    font-size: 10px;
  }

  .v2-user-editor-sheet-footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .v2-user-save-state .v2-user-feedback.semi-typography {
    display: none;
  }

  .v2-user-editor-sheet-footer > .semi-button {
    grid-column: 2;
  }
}

/* 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-monitor-filter-fields.is-mobile-collapsed {
    display: none;
  }

  .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: 70px minmax(0, 1fr) 42px;
    gap: 7px;
  }

  .v2-monitor-filter-toggle.semi-button {
    width: 70px;
    height: 42px;
    justify-content: center;
    gap: 5px;
    border-color: #d7e2ef;
    border-radius: 9px;
    background: #f6f9fd;
    color: #52677f;
    padding: 0 8px;
    font-size: 11px;
    font-weight: 700;
  }

  .v2-monitor-filter-toggle.semi-button[aria-expanded="true"],
  .v2-monitor-filter-toggle.semi-button.has-filters {
    border-color: #b7cff0;
    background: #edf5ff;
    color: #2465b7;
  }

  .v2-monitor-filter-toggle.semi-button 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-filterbar > .semi-card-body:has(.v2-monitor-filter-fields.is-mobile-collapsed) {
    gap: 0;
    padding: 6px;
  }

  .v2-monitor-mobile-card .semi-card-body {
    padding: 8px 9px;
  }

  .v2-monitor-card-heading-actions {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    flex-direction: row !important;
    gap: 7px !important;
  }

  .v2-monitor-card-heading-actions > b {
    color: #1f4f8d;
    font-size: 16px;
    font-variant-numeric: tabular-nums;
  }

  .v2-monitor-card-heading-actions > b small {
    margin-left: 3px;
    color: #8996a8;
    font-size: 8px;
    font-weight: 500;
  }

  .v2-monitor-card-heading-actions > .v2-monitor-card-locate.semi-button {
    width: 52px;
    height: 30px;
    min-height: 30px;
    border-radius: 7px;
    padding: 0 7px;
    font-size: 10px;
  }

  .v2-monitor-mobile-cards dl {
    gap: 4px 9px;
    margin-top: 6px;
    padding-top: 6px;
  }

  .v2-monitor-mobile-cards dl > div {
    min-height: 26px;
  }

  .v2-monitor-mobile-cards dl > div.is-address {
    min-height: 32px;
  }

  .v2-monitor-mobile-cards dt {
    font-size: 8px;
  }

  .v2-monitor-mobile-cards dd {
    font-size: 10px;
  }

  .v2-monitor-mobile-cards > .v2-monitor-mobile-card.semi-card {
    contain-intrinsic-size: auto 154px;
  }

  .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;
  }

  .v2-monitor-mobile-cards {
    gap: 6px;
    padding: 6px;
  }

  .v2-monitor-mobile-cards > .v2-monitor-mobile-card.semi-card {
    contain-intrinsic-size: auto 132px;
  }

  .v2-monitor-mobile-card .semi-card-body {
    padding: 7px 9px;
  }

  .v2-monitor-mobile-card .semi-card-body > header {
    min-height: 34px;
    align-items: center;
  }

  .v2-monitor-mobile-card .semi-card-body > header strong {
    font-size: 14px;
  }

  .v2-monitor-mobile-card .semi-card-body > header span {
    font-size: 9px;
  }

  .v2-monitor-card-heading-actions > b {
    font-size: 15px;
  }

  .v2-monitor-card-heading-actions > .v2-monitor-card-locate.semi-button {
    height: 28px;
    min-height: 28px;
  }

  .v2-monitor-mobile-cards dl {
    gap: 2px 9px;
    margin-top: 5px;
    padding-top: 5px;
  }

  .v2-monitor-mobile-cards dl > div {
    min-height: 24px;
  }

  .v2-monitor-mobile-cards dl > div.is-address {
    min-height: 28px;
  }

  .v2-monitor-mobile-cards dl > div.is-address .semi-button {
    min-height: 26px;
    height: 26px;
  }
}

@media (max-width: 760px) and (max-height: 500px) and (orientation: landscape) {
  .v2-monitor-page {
    gap: 6px;
    padding: 6px 8px;
  }

  .v2-monitor-page > .v2-filterbar > .semi-card-body {
    padding: 4px;
  }

  .v2-monitor-filter-actions {
    grid-template-columns: 64px minmax(0, 1fr) 38px;
    gap: 5px;
  }

  .v2-monitor-filter-toggle.semi-button {
    width: 64px;
    height: 36px;
  }

  .v2-monitor-mode.v2-segmented-tabs {
    height: 36px;
  }

  .v2-monitor-mode.v2-segmented-tabs > .semi-button {
    height: 30px;
    font-size: 11px;
  }

  .v2-monitor-filter-actions > .v2-monitor-mobile-entry.semi-button {
    width: 38px;
    height: 36px;
  }

  .v2-monitor-page > .v2-kpis > .semi-card-body {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .v2-monitor-page > .v2-kpis .v2-kpi.is-support {
    display: none;
  }

  .v2-monitor-page > .v2-kpis .v2-kpi {
    min-height: 50px;
    padding: 5px 10px;
  }

  .v2-monitor-page > .v2-kpis .v2-kpi small {
    font-size: 9px;
  }

  .v2-monitor-page > .v2-kpis .v2-kpi strong {
    margin-top: 3px;
    font-size: 18px;
  }

  .v2-monitor-page > .v2-kpis .v2-kpi strong em {
    font-size: 8px;
  }

  .v2-monitor-table-panel > .semi-card-body > .v2-workspace-panel-header {
    min-height: 35px;
    align-items: center;
    padding: 3px 9px;
  }

  .v2-monitor-table-panel > .semi-card-body > .v2-workspace-panel-header .v2-workspace-panel-copy {
    gap: 0;
  }

  .v2-monitor-table-panel > .semi-card-body > .v2-workspace-panel-header .v2-workspace-panel-copy > h5 {
    font-size: 12px;
  }

  .v2-monitor-table-panel > .semi-card-body > .v2-workspace-panel-header .v2-workspace-panel-copy > .semi-typography:not(h5) {
    display: none;
  }

  .v2-monitor-table-panel > .semi-card-body > .v2-workspace-panel-header .v2-workspace-panel-meta {
    font-size: 9px;
  }

  .v2-monitor-mobile-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 5px;
    padding: 5px;
  }

  .v2-monitor-mobile-cards > .v2-monitor-mobile-card.semi-card {
    contain-intrinsic-size: auto 92px;
  }

  .v2-monitor-mobile-card .semi-card-body {
    padding: 5px 7px;
  }

  .v2-monitor-mobile-card .semi-card-body > header {
    min-height: 29px;
    gap: 5px;
  }

  .v2-monitor-mobile-card .semi-card-body > header strong {
    font-size: 12px;
  }

  .v2-monitor-mobile-card .semi-card-body > header span {
    font-size: 8px;
  }

  .v2-monitor-card-heading-actions {
    gap: 5px !important;
  }

  .v2-monitor-card-heading-actions > b {
    font-size: 13px;
  }

  .v2-monitor-card-heading-actions > .v2-monitor-card-locate.semi-button {
    width: 44px;
    height: 26px;
    min-height: 26px;
    padding-inline: 5px;
    font-size: 9px;
  }

  .v2-monitor-mobile-cards dl {
    gap: 1px 7px;
    margin-top: 3px;
    padding-top: 3px;
  }

  .v2-monitor-mobile-cards dl > div {
    min-height: 20px;
    gap: 4px;
  }

  .v2-monitor-mobile-cards dl > div.is-address {
    display: none;
  }

  .v2-monitor-mobile-cards dt {
    font-size: 7px;
  }

  .v2-monitor-mobile-cards dd {
    font-size: 9px;
  }

  .v2-monitor-mobile-cards dd code {
    font-size: 7px;
  }

  .v2-monitor-table-panel > .semi-card-body > footer {
    bottom: calc(58px + env(safe-area-inset-bottom));
  }

  .v2-monitor-page > .v2-event-strip {
    display: none;
  }
}

/* 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 .v2-ops-tabs .v2-segmented-tab-count {
  min-width: 21px;
  min-height: 19px;
  border: 1px solid #d5e2f2;
  background: #fff;
  padding-inline: 5px;
  color: #57708f;
  font-size: 8px;
  font-weight: 700;
}

.v2-ops-navigation .v2-ops-tabs > .semi-button.is-active .v2-segmented-tab-count {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .18);
  color: #fff;
}

.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-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 .v2-ops-tabs .v2-segmented-tab-count {
    display: none;
  }

  .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-ops-links .v2-ops-link-card {
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 3px 10px;
    padding: 8px 12px;
  }

  .v2-ops-links .v2-ops-link-card > .v2-ops-link-status {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
  }

  .v2-ops-links .v2-ops-link-card > .v2-ops-link-status strong {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-ops-links .v2-ops-link-card > p {
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    margin: 0 0 0 16px;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-ops-links .v2-ops-link-card > .v2-ops-health-tag {
    align-self: center;
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .v2-source-filter-panel .v2-source-search {
    align-items: stretch;
  }

}

/*
 * Semi UI single-vehicle diagnosis cockpit.
 * Preserve the four-column desktop scan while keeping source evidence inside
 * the first mobile viewport instead of spending it on four full-width cards.
 */
.v2-source-summary.semi-card-group {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v2-source-summary-region {
  min-width: 0;
}

.v2-source-summary-card.is-recommended.semi-card {
  border-color: #c8dbf6;
  background: linear-gradient(145deg, #f2f7ff 0%, #fff 72%);
  box-shadow: inset 0 3px #2f6fe4, 0 5px 16px rgba(31, 53, 80, .045);
}

.v2-source-summary-card.is-recommended strong {
  color: #185fbf;
}

@media (max-width: 1180px) and (min-width: 681px) {
  .v2-source-summary.semi-card-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .v2-source-summary.semi-card-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px 10px;
  }

  .v2-source-summary-card > .semi-card-body {
    min-height: 74px;
    padding: 9px 10px;
  }

  .v2-source-summary-card small,
  .v2-source-summary-card > .semi-card-body > span:not(.semi-tag) {
    font-size: 9px;
  }

  .v2-source-summary-card strong {
    margin-block: 5px 4px;
    font-size: 14px;
  }

  .v2-source-summary-card .semi-tag {
    min-height: 19px;
    padding-inline: 7px;
    font-size: 9px;
  }

  .v2-source-summary-card.is-ok,
  .v2-source-summary-card.is-warning {
    box-shadow: inset 0 3px #22a878, 0 5px 16px rgba(31, 53, 80, .045);
  }

  .v2-source-summary-card.is-warning {
    box-shadow: inset 0 3px #e8a12b, 0 5px 16px rgba(31, 53, 80, .045);
  }

  .v2-source-recommendation.semi-card {
    margin: 8px 10px;
    border-left-width: 3px;
  }

  .v2-source-recommendation > .semi-card-body {
    padding: 9px 10px;
  }

  .v2-source-recommendation header {
    align-items: center;
    flex-direction: row;
    gap: 8px;
  }

  .v2-source-recommendation header span {
    width: auto;
    min-width: 0;
    font-size: 9px;
    line-height: 1.35;
  }

  .v2-source-recommendation p {
    margin-top: 6px;
    font-size: 10px;
    line-height: 1.5;
  }
}

/*
 * 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-discovery-shell {
  display: grid;
  min-width: 0;
  flex: 0 0 auto;
  gap: 0;
  overflow: visible;
  border: 1px solid #d8e3ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(31, 53, 80, .055);
}

.v2-mileage-discovery-shell > .v2-mileage-command-bar {
  width: 100%;
  max-width: none;
  height: 46px;
  min-height: 46px;
  border: 0;
  border-bottom: 1px solid #e3eaf2;
  border-radius: 14px 14px 0 0;
  padding-inline: 13px 10px;
  box-shadow: none;
}

.v2-mileage-command-bar .v2-workspace-command-meta {
  color: #748499;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.v2-mileage-query-panel.v2-workspace-filter-panel.semi-card {
  width: 100%;
  overflow: visible;
  border: 0;
  border-radius: 0 0 14px 14px;
  box-shadow: none;
}

.v2-mileage-discovery-shell > .v2-mileage-query-panel > .semi-card-body > .v2-workspace-filter-heading {
  display: none;
}

.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: 12px;
  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: 13px;
}

.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: 12px;
}

.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: 10px;
}

.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: 16px;
}

.v2-mileage-results .v2-workspace-panel-copy > .semi-typography,
.v2-mileage-results .v2-workspace-result-meta {
  color: #748499;
  font-size: 11px;
}

.v2-mileage-result-actions > .semi-button {
  min-height: 32px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 650;
}

.v2-mileage-matrix-guide {
  display: flex;
  min-height: 36px;
  overflow-x: auto;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid #e2e9f1;
  background: linear-gradient(90deg, #f9fbfe 0%, #fff 100%);
  padding: 5px 14px;
  color: #6c7d92;
  font-size: 11px;
  line-height: 1.25;
  scrollbar-width: none;
  white-space: nowrap;
}

.v2-mileage-matrix-guide::-webkit-scrollbar {
  display: none;
}

.v2-mileage-matrix-guide > span {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

.v2-mileage-matrix-guide-title {
  color: #385a80;
}

.v2-mileage-matrix-guide-title .semi-icon {
  color: #1268df;
  font-size: 14px;
}

.v2-mileage-matrix-guide .semi-tag {
  min-width: 36px;
  justify-content: center;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
}

.v2-mileage-matrix-guide .is-mobile-hint {
  display: none;
}

.v2-mileage-matrix-guide > .v2-mileage-matrix-guide-mobile {
  display: none;
}

.v2-mileage-table-wrap {
  scrollbar-color: #9eb0c4 #f2f5f9;
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  outline: none;
}

.v2-mileage-table-wrap:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(18, 104, 223, .72);
}

.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: 12px;
}

.v2-mileage-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  height: 52px;
  border-bottom-color: #e9eef4;
  color: #43566d;
  font-size: 13px;
}

.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: 13px;
  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: 13px;
  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: 10px;
}

.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-discovery-shell {
    display: contents;
  }

  .v2-mileage-discovery-shell > .v2-mileage-command-bar {
    display: none;
  }

  .v2-mileage-query-panel.v2-workspace-filter-panel.semi-card {
    border: 1px solid #d8e3ef;
    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-matrix-guide {
    min-height: 58px;
    overflow: hidden;
    gap: 0;
    padding: 4px 8px 5px;
    font-size: 9px;
    white-space: normal;
  }

  .v2-mileage-matrix-guide > .is-desktop-guide {
    display: none;
  }

  .v2-mileage-matrix-guide > .v2-mileage-matrix-guide-mobile {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 3px 6px;
  }

  .v2-mileage-matrix-guide-mobile > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #66798f;
    white-space: nowrap;
  }

  .v2-mileage-matrix-guide .semi-tag {
    min-width: 31px;
    height: 19px;
    padding-inline: 5px;
    font-size: 8px;
  }

  .v2-mileage-matrix-guide-mobile > .is-mobile-hint {
    display: inline-flex;
    min-height: 22px;
    grid-column: 1 / -1;
    color: #3e6798;
    font-weight: 650;
  }

  .v2-mileage-matrix-guide-mobile > .is-mobile-hint .semi-icon {
    color: #1268df;
    font-size: 12px;
  }

  .v2-mileage-source-sidesheet .semi-sidesheet-inner {
    overflow: hidden;
    border: 1px solid #d9e3ef;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 52px rgba(20, 38, 66, .18);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-mileage-source-sidesheet .semi-sidesheet-header {
    min-height: 64px;
    padding: 13px 16px 11px;
  }

  .v2-mileage-source-sidesheet .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    padding: 9px 10px;
  }

  .v2-mileage-source-sidesheet .semi-sidesheet-footer {
    padding: 9px 14px 10px;
  }

  .v2-mileage-source-list {
    gap: 8px;
  }

  .v2-mileage-source-card.semi-card,
  .v2-mileage-source-card > .semi-card-body {
    min-height: 78px;
  }

  .v2-mileage-source-card > .semi-card-body {
    gap: 7px 10px;
    padding: 10px 11px;
  }

  .v2-mileage-source-order > .semi-button {
    width: 32px;
    min-width: 32px;
    height: 32px;
  }

  .v2-mileage-source-footer {
    gap: 8px;
  }

  .v2-mileage-source-footer > span {
    font-size: 9px;
  }

  .v2-mileage-source-footer > .semi-button {
    height: 40px;
  }

  .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;
  }
}

/*
 * Shared Semi UI metric rail applied to history data.
 * The rail mirrors the mileage workspace: one primary outcome, then three
 * supporting facts. Empty history screens omit the rail entirely.
 */
.v2-history-summary-rail.semi-card {
  min-width: 0;
  min-height: 88px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid #d8e3ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(31, 53, 80, .05);
}

.v2-history-summary-rail > .semi-card-body {
  display: grid;
  min-height: 88px;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.72fr);
}

.v2-history-summary-card.semi-card {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-history-summary-card > .semi-card-body {
  position: relative;
  display: flex;
  min-width: 0;
  height: 100%;
  justify-content: center;
  flex-direction: column;
  padding: 11px 16px !important;
}

.v2-history-summary-card.is-primary > .semi-card-body {
  overflow: hidden;
  background: linear-gradient(128deg, #0c61e7 0%, #1c73ee 68%, #2c82ef 100%);
}

.v2-history-summary-card.is-primary > .semi-card-body::after {
  position: absolute;
  top: -80px;
  right: -44px;
  width: 180px;
  height: 180px;
  border: 26px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.v2-history-summary-card small,
.v2-history-summary-card span {
  position: relative;
  z-index: 1;
  overflow: hidden;
  color: #7c8a9d;
  font-size: 10px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-history-summary-card strong {
  position: relative;
  z-index: 1;
  margin: 5px 0 4px;
  overflow: hidden;
  color: #22354d;
  font-size: clamp(18px, 1.45vw, 24px);
  font-variant-numeric: tabular-nums;
  font-weight: 760;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-history-summary-card.is-primary :is(small,strong,span) {
  color: #fff;
}

.v2-history-summary-card.is-primary small,
.v2-history-summary-card.is-primary span {
  color: rgba(255, 255, 255, .72);
}

.v2-history-summary-card.is-primary .v2-history-summary-value {
  font-size: clamp(25px, 2.1vw, 34px);
  letter-spacing: -.035em;
}

.v2-history-summary-secondary.semi-card-group {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v2-history-summary-secondary > .v2-history-summary-card + .v2-history-summary-card > .semi-card-body::before {
  position: absolute;
  inset: 18px auto 18px 0;
  width: 1px;
  background: #e3eaf2;
  content: "";
}

.v2-history-summary-card.is-sources strong {
  font-size: clamp(13px, 1.05vw, 17px);
}

.v2-history-result-meta {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: #8090a3;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.v2-history-discovery-shell {
  display: grid;
  min-width: 0;
  flex: 0 0 auto;
  gap: 0;
  overflow: visible;
  border: 1px solid #dce4ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(31, 53, 80, .055);
}

.v2-history-discovery-shell > .v2-history-command-bar {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-bottom: 1px solid #e6ecf3;
  border-radius: 14px 14px 0 0;
  box-shadow: none;
}

.v2-history-discovery-shell > .v2-history-filter-card.v2-workspace-filter-panel.semi-card {
  width: 100%;
  overflow: visible;
  border: 0;
  border-radius: 0 0 14px 14px;
  box-shadow: none;
}

.v2-history-discovery-shell > .v2-history-filter-card > .semi-card-body > .v2-workspace-filter-heading {
  display: none;
}

.v2-history-discovery-shell .v2-history-toolbar {
  border-radius: 0 0 14px 14px;
  background: #fbfcfe;
}

.v2-history-time {
  color: inherit;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.v2-platform-time {
  color: inherit;
  font: inherit;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
  white-space: nowrap;
}

.v2-ops-time {
  color: inherit;
}

.v2-history-data-table .v2-history-time {
  color: #40536a;
  font-size: 11px;
  font-weight: 560;
}

.v2-history-evidence-descriptions .v2-history-time {
  color: #33485f;
  font-weight: 650;
}

/*
 * Semi UI history evidence refinement.
 * Protocol, coverage and quality are decision signals, so they use one shared
 * tag language instead of competing with dense identifiers and raw numbers.
 */
.v2-history-protocol-tag.semi-tag {
  min-height: 22px;
  flex: 0 0 auto;
  border-radius: 999px;
  padding-inline: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .01em;
  white-space: nowrap;
}

.v2-history-trend-meta {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.v2-history-trend-meta > .semi-tag {
  min-height: 22px;
  flex: 0 0 auto;
  border-radius: 999px;
  padding-inline: 8px;
  font-size: 10px;
  font-weight: 720;
}

.v2-history-trend-meta > span {
  overflow: hidden;
  color: #75859a;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-history-trend-panels article {
  display: grid;
  grid-template-rows: 28px minmax(0, 1fr) 23px;
  border-color: #dfe7f0;
  border-radius: 9px;
  background: #fff;
}

.v2-history-trend-panels article > header {
  height: auto;
  padding-inline: 9px;
  border-bottom: 1px solid #edf1f5;
  background: #fbfcfe;
}

.v2-history-trend-panels article > header strong {
  color: #33475f;
  font-size: 11px;
}

.v2-history-trend-panels article > header span {
  color: #8290a2;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.v2-history-trend-panels svg {
  height: 100%;
  min-height: 0;
}

.v2-history-trend-panels article > footer {
  min-height: 23px;
  border-top: 1px solid #f0f3f7;
  padding-inline: 9px;
  color: #65768b;
  font-size: 9px;
}

.v2-history-trend-panels article > footer i {
  width: 12px;
  height: 3px;
  border-radius: 999px;
}

.v2-chart-axis text {
  fill: #6f7f93;
  font-size: 9px;
}

.v2-history-trend-evidence {
  display: flex;
  min-height: 31px;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  border-top: 1px solid #e8edf3;
  padding: 4px 10px;
  color: #748397;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.v2-history-trend-evidence > .semi-tag {
  min-height: 21px;
  flex: 0 0 auto;
  border-radius: 999px;
  padding-inline: 7px;
  font-size: 9px;
  font-weight: 700;
}

.v2-history-trend-evidence > span:first-of-type {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v2-history-trend-evidence > strong {
  flex: 0 0 auto;
  color: #596b80;
  font-size: inherit;
  font-weight: 700;
}

.v2-history-evidence-status {
  display: grid;
  min-height: 80px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #dfe7f0;
  padding: 11px 13px;
  background: linear-gradient(135deg, #f7fafc 0%, #fff 100%);
}

.v2-history-evidence-status.is-healthy {
  box-shadow: inset 3px 0 #18a86b;
}

.v2-history-evidence-status.is-attention {
  box-shadow: inset 3px 0 #eda43a;
}

.v2-history-evidence-status > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.v2-history-evidence-status > div:last-child {
  align-items: flex-end;
  gap: 7px;
}

.v2-history-evidence-status span {
  color: #8290a2;
  font-size: 10px;
  font-weight: 650;
}

.v2-history-evidence-status strong {
  color: #263b53;
  font-size: 17px;
  line-height: 1.2;
}

.v2-history-evidence-status small {
  overflow: hidden;
  color: #68798e;
  font-size: 10px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-history-evidence-status .v2-history-time {
  color: #66788e;
  font-size: 10px;
  font-weight: 650;
}

.v2-history-data-table .v2-history-protocol-tag.semi-tag {
  min-height: 21px;
  padding-inline: 7px;
  font-size: 9px;
}

@media (max-width: 900px) and (min-width: 681px) {
  .v2-history-summary-rail > .semi-card-body {
    grid-template-columns: minmax(230px, .7fr) minmax(0, 1.6fr);
  }

  .v2-history-summary-card > .semi-card-body {
    padding-inline: 12px !important;
  }
}

@media (max-width: 680px) {
  .v2-history-discovery-shell {
    display: contents;
  }

  .v2-history-discovery-shell > .v2-history-command-bar {
    display: none;
  }

  .v2-history-discovery-shell > .v2-history-filter-card.v2-workspace-filter-panel.semi-card {
    border: 1px solid #dce6f2;
    border-radius: 10px;
    box-shadow: var(--v2-shadow);
  }

  .v2-history-discovery-shell > .v2-history-filter-card > .semi-card-body > .v2-workspace-filter-heading {
    display: flex;
  }

  .v2-history-discovery-shell .v2-history-toolbar {
    border-radius: 0 0 10px 10px;
    background: #fff;
  }

  .v2-history-mobile-card-content .v2-history-time {
    color: #617288;
    font-size: 10px;
    font-weight: 650;
  }

  .v2-history-mobile-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-block: 6px;
  }

  .v2-history-mobile-meta .v2-history-protocol-tag.semi-tag {
    min-height: 20px;
    padding-inline: 7px;
    font-size: 9px;
  }

  .v2-history-mobile-card-content dt {
    font-size: 9px;
  }

  .v2-history-mobile-card-content dd {
    font-size: 11px;
    font-weight: 700;
  }

  .v2-history-trend .v2-workspace-panel-meta {
    display: flex;
  }

  .v2-history-trend-meta > span {
    display: none;
  }

  .v2-history-trend-meta > .semi-tag {
    min-height: 20px;
    padding-inline: 7px;
    font-size: 9px;
  }

  .v2-history-trend-panels {
    padding: 7px;
  }

  .v2-history-trend-evidence {
    min-height: 29px;
    gap: 6px;
    padding-inline: 8px;
  }

  .v2-history-trend-evidence > span:first-of-type,
  .v2-history-trend-evidence > span:last-child {
    display: none;
  }

  .v2-history-evidence-status {
    min-height: 74px;
    gap: 8px;
    padding: 9px 11px;
  }

  .v2-history-evidence-status strong {
    font-size: 16px;
  }

  .v2-history-evidence-status small {
    max-width: 205px;
  }

  .v2-history-summary-rail.semi-card {
    min-height: 132px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .v2-history-summary-rail > .semi-card-body {
    min-height: 132px;
    grid-template-columns: 1fr;
    grid-template-rows: 70px 58px;
    gap: 4px;
  }

  .v2-history-summary-card.is-primary.semi-card,
  .v2-history-summary-card.is-primary > .semi-card-body {
    min-height: 70px;
    border-radius: 10px;
  }

  .v2-history-summary-card.is-primary > .semi-card-body {
    padding: 7px 13px 8px !important;
  }

  .v2-history-summary-card.is-primary .v2-history-summary-value {
    margin-block: 2px 1px;
    font-size: 24px;
    line-height: 27px;
  }

  .v2-history-summary-secondary.semi-card-group {
    min-height: 58px;
    overflow: hidden;
    border: 1px solid #dfe7f0;
    border-radius: 10px;
    background: #fff;
  }

  .v2-history-summary-secondary .v2-history-summary-card > .semi-card-body {
    min-height: 58px;
    padding: 7px 8px !important;
  }

  .v2-history-summary-secondary > .v2-history-summary-card + .v2-history-summary-card > .semi-card-body::before {
    inset-block: 8px;
  }

  .v2-history-summary-secondary .v2-history-summary-card small,
  .v2-history-summary-secondary .v2-history-summary-card span {
    font-size: 8px;
  }

  .v2-history-summary-secondary .v2-history-summary-card strong,
  .v2-history-summary-secondary .v2-history-summary-card.is-sources strong {
    margin-block: 2px 1px;
    font-size: 14px;
  }
}

/*
 * Semi UI operations review flow.
 * Keep the queue readable at a glance, translate protocol evidence into
 * business language, and make the review decision the clear end of the flow.
 */
.v2-reconcile-overview .v2-reconcile-kpi-card.is-priority {
  background: linear-gradient(145deg, #edf5ff 0%, #f7faff 100%);
  box-shadow: inset 0 -3px #1f6feb;
}

.v2-reconcile-overview .v2-reconcile-kpi-card.is-priority small,
.v2-reconcile-overview .v2-reconcile-kpi-card.is-priority strong {
  color: #155fc5;
}

.v2-reconcile-overview .v2-reconcile-kpi-card.is-sla {
  background: linear-gradient(145deg, #fff 0%, #fff9f8 100%);
}

.v2-reconcile-overview .v2-reconcile-kpi-card.is-sla.is-overdue {
  box-shadow: inset 0 -3px #e2554f;
}

.v2-reconcile-overview .v2-reconcile-kpi-card.is-sla.is-overdue small,
.v2-reconcile-overview .v2-reconcile-kpi-card.is-sla.is-overdue strong {
  color: #c2413d;
}

.v2-reconcile-result-bar {
  display: flex;
  min-height: 34px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e7edf4;
  background: #fbfcfe;
  padding: 0 12px;
  color: #8491a2;
  font-size: 10px;
}

.v2-reconcile-result-bar > span {
  min-width: 0;
}

.v2-reconcile-result-bar strong {
  margin-right: 3px;
  color: #2f5f9b;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.v2-reconcile-table .semi-table {
  min-width: 908px;
}

/*
 * Shared Semi UI queue metrics.
 * Keep operational evidence in one compact rail so the result list remains
 * the visual and interaction focus.
 */
.v2-workspace-metric-rail.is-queue.semi-card {
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid #e1e8f0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.v2-workspace-metric-rail.is-queue > .semi-card-body {
  display: grid;
  min-height: 58px;
  grid-template-columns: minmax(0, 1fr) 218px;
}

.v2-workspace-metric-list {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.15fr 1.15fr .9fr .9fr;
}

.v2-workspace-metric-list > span {
  display: grid;
  min-width: 0;
  min-height: 58px;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 10px;
  padding: 7px 13px;
}

.v2-workspace-metric-list > span.is-action {
  padding: 0;
}

.v2-workspace-metric-list > span + span {
  border-left: 1px solid #e5ebf2;
}

.v2-workspace-metric-action.semi-button {
  width: 100%;
  height: 100%;
  min-height: 58px;
  border-radius: 0;
  padding: 0;
  color: inherit;
}

.v2-workspace-metric-action.semi-button:hover {
  background: rgba(31, 111, 235, .045);
}

.v2-workspace-metric-action.semi-button:focus-visible {
  outline: 2px solid rgba(31, 111, 235, .42);
  outline-offset: -3px;
}

.v2-workspace-metric-action .semi-button-content {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 10px;
  padding: 7px 13px;
  text-align: left;
}

.v2-workspace-metric-list > span > small,
.v2-workspace-metric-action .semi-button-content > small {
  grid-column: 1;
  color: #78879a;
  font-size: 9px;
  font-weight: 650;
  line-height: 14px;
  white-space: nowrap;
}

.v2-workspace-metric-list > span > strong,
.v2-workspace-metric-action .semi-button-content > strong {
  grid-column: 1;
  color: #243950;
  font-size: 21px;
  font-variant-numeric: tabular-nums;
  line-height: 24px;
  white-space: nowrap;
}

.v2-workspace-metric-list > span > em,
.v2-workspace-metric-action .semi-button-content > em {
  align-self: center;
  grid-column: 2;
  grid-row: 1 / 3;
  overflow: hidden;
  color: #8a97a8;
  font-size: 9px;
  font-style: normal;
  line-height: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-metric-list > span.is-secondary > strong,
.v2-workspace-metric-list > span.is-secondary .v2-workspace-metric-action strong {
  font-size: 17px;
}

.v2-workspace-metric-list > span.is-primary {
  background: linear-gradient(145deg, #edf5ff 0%, #f8fbff 100%);
  box-shadow: inset 0 -3px #1f6feb;
}

.v2-workspace-metric-list > span.is-primary > :is(small, strong),
.v2-workspace-metric-list > span.is-primary .v2-workspace-metric-action :is(small, strong) {
  color: #155fc5;
}

.v2-workspace-metric-list > span.is-danger {
  background: linear-gradient(145deg, #fff 0%, #fff8f7 100%);
  box-shadow: inset 0 -3px #e2554f;
}

.v2-workspace-metric-list > span.is-danger > :is(small, strong),
.v2-workspace-metric-list > span.is-danger .v2-workspace-metric-action :is(small, strong) {
  color: #c2413d;
}

.v2-workspace-metric-list > span.is-success > :is(small, strong),
.v2-workspace-metric-list > span.is-success .v2-workspace-metric-action :is(small, strong) {
  color: #148459;
}

.v2-workspace-metric-list > span.is-warning > :is(small, strong),
.v2-workspace-metric-list > span.is-warning .v2-workspace-metric-action :is(small, strong) {
  color: #a76512;
}

.v2-workspace-metric-list > span.is-action {
  background: #fff;
  box-shadow: none;
}

.v2-workspace-metric-list > span.is-action.is-danger {
  background: linear-gradient(145deg, #fff 0%, #fff8f7 100%);
}

.v2-workspace-metric-list > span.is-action.is-warning {
  background: linear-gradient(145deg, #fff 0%, #fffcf5 100%);
}

.v2-workspace-metric-list > span.is-action.is-active {
  background: linear-gradient(145deg, #edf5ff 0%, #f8fbff 100%);
  box-shadow: inset 0 -3px #1f6feb;
}

.v2-workspace-metric-list > span.is-action.is-active.is-danger {
  background: linear-gradient(145deg, #fff1ef 0%, #fff8f7 100%);
  box-shadow: inset 0 -3px #e2554f;
}

.v2-workspace-metric-context {
  display: flex;
  min-width: 0;
  align-items: center;
  border-left: 1px solid #e5ebf2;
  background: #fbfcfe;
  padding: 7px 13px;
}

.v2-workspace-metric-context > span {
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 1px 6px;
}

.v2-workspace-metric-context small {
  color: #8491a2;
  font-size: 9px;
}

.v2-workspace-metric-context strong {
  color: #2f5f9b;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.v2-workspace-metric-context em {
  grid-column: 1 / -1;
  overflow: hidden;
  color: #929eac;
  font-size: 8px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-metric-rail.is-queue.semi-card {
  flex: 0 0 auto;
  border: 1px solid #dce4ed;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(38, 56, 82, .035);
}

.v2-alert-metric-rail.is-queue > .semi-card-body {
  grid-template-columns: minmax(0, 1fr) 286px;
}

.v2-alert-metric-rail .v2-workspace-metric-context {
  padding: 5px 6px;
}

.v2-alert-metric-context-actions {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.v2-alert-metric-context-actions > .semi-button {
  height: 46px;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 4px 5px;
  color: #718096;
}

.v2-alert-metric-context-actions > .semi-button:hover,
.v2-alert-metric-context-actions > .semi-button[aria-pressed="true"] {
  border-color: #d5e3f8;
  background: #eef5ff;
  color: #155fc5;
}

.v2-alert-metric-context-actions .semi-button-content {
  display: grid;
  justify-items: center;
  gap: 2px;
}

.v2-alert-metric-context-actions span {
  font-size: 9px;
  line-height: 12px;
  white-space: nowrap;
}

.v2-alert-metric-context-actions strong {
  color: #34455c;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  line-height: 17px;
}

.v2-alert-metric-context-actions > .semi-button[aria-pressed="true"] strong {
  color: inherit;
}

.v2-ops-health-metric-rail.is-queue.semi-card {
  border-bottom: 0;
}

.v2-ops-health-metric-rail.is-queue > .semi-card-body {
  grid-template-columns: minmax(0, 1fr) 196px;
}

.v2-ops-health-metric-rail .v2-workspace-metric-list {
  grid-template-columns: 1.25fr 1.05fr 1fr .9fr;
}

.v2-ops-health-metric-rail .v2-workspace-metric-list > span.is-primary.is-warning {
  background: linear-gradient(145deg, #fff8ed 0%, #fffdf8 100%);
  box-shadow: inset 0 -3px #e59a2f;
}

.v2-ops-health-metric-rail .v2-workspace-metric-list > span.is-primary.is-warning > :is(small, strong) {
  color: #9d5d0b;
}

.v2-ops-health-kafka.is-ok strong {
  color: #148459;
}

.v2-ops-health-kafka.is-warning strong {
  color: #a76512;
}

.v2-reconcile-metric-rail {
  flex: 0 0 auto;
}

@media (min-width: 681px) {
  .v2-reconcile-heading.v2-workspace-panel-header {
    min-height: 62px;
    padding-block: 9px;
  }

  .v2-reconcile-toolbar {
    padding-block: 8px;
  }
}

@media (max-width: 900px) {
  .v2-workspace-metric-rail.is-queue > .semi-card-body {
    grid-template-columns: minmax(0, 1fr) 180px;
  }

  .v2-workspace-metric-list > span {
    column-gap: 6px;
    padding-inline: 9px;
  }

  .v2-workspace-metric-action .semi-button-content {
    column-gap: 6px;
    padding-inline: 9px;
  }
}

@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-ops-health-metric-rail.is-queue > .semi-card-body {
    min-height: 48px;
    grid-template-columns: minmax(0, 1fr) 142px;
  }

  .v2-ops-health-metric-rail .v2-workspace-metric-list > span {
    min-height: 48px;
    padding-block: 4px;
  }

  .v2-ops-health-metric-rail .v2-workspace-metric-list > span > strong {
    font-size: 15px;
    line-height: 18px;
  }

  .v2-ops-health-metric-rail .v2-workspace-metric-list > span > em {
    display: none;
  }
}

@media (max-width: 680px) {
  .v2-workspace-metric-rail.is-queue > .semi-card-body {
    min-height: 56px;
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-workspace-metric-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-workspace-metric-list > span {
    min-height: 56px;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 8px;
    padding: 6px 12px;
  }

  .v2-workspace-metric-action.semi-button,
  .v2-workspace-metric-action .semi-button-content {
    min-height: 56px;
  }

  .v2-workspace-metric-action .semi-button-content {
    column-gap: 8px;
    padding: 6px 12px;
  }

  .v2-workspace-metric-list > span.is-secondary {
    display: none;
  }

  .v2-workspace-metric-list > span > strong,
  .v2-workspace-metric-action .semi-button-content > strong {
    font-size: 19px;
    line-height: 22px;
  }

  .v2-workspace-metric-list > span > em,
  .v2-workspace-metric-action .semi-button-content > em {
    font-size: 8px;
  }

  .v2-workspace-metric-context {
    display: none;
  }

  .v2-alert-metric-rail.is-queue.semi-card {
    border-radius: 10px;
  }
}

@media (min-width: 681px) and (max-width: 900px) {
  .v2-alert-metric-rail.is-queue > .semi-card-body {
    grid-template-columns: minmax(0, 1fr) 230px;
  }
}

.v2-reconcile-issue-cell > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.v2-reconcile-issue-cell > span > strong {
  min-width: 0;
  flex: 1;
}

.v2-reconcile-issue-cell .v2-reconcile-severity.semi-tag {
  min-height: 22px;
  flex: 0 0 auto;
  border-radius: 6px;
  padding-inline: 7px;
}

.v2-reconcile-detail.semi-card:not(.is-sheet) {
  width: min(620px, 58vw);
  border-left-color: #c8d6e7;
  box-shadow: -18px 0 48px rgba(21, 42, 69, .18);
}

.v2-reconcile-detail-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.v2-reconcile-detail-body {
  padding: 14px 16px 24px;
  scrollbar-color: #aebdce transparent;
  scrollbar-width: thin;
}

.v2-reconcile-identity {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr) minmax(0, 1.05fr);
  border-color: #dce5ef;
  border-radius: 10px;
  background: #fff;
}

.v2-reconcile-identity div {
  padding: 12px 13px;
}

.v2-reconcile-identity small {
  color: #7b899b;
  font-weight: 650;
}

.v2-reconcile-identity strong {
  margin: 5px 0;
  color: #263c54;
  font-size: 13px;
}

.v2-reconcile-decision-guide {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  margin-top: 12px;
  border: 1px solid #f1dfb7;
  border-radius: 10px;
  background: linear-gradient(135deg, #fffaf0 0%, #fffdf8 100%);
  padding: 11px 12px;
  color: #82581a;
}

.v2-reconcile-decision-guide > .semi-icon {
  margin-top: 1px;
  color: #d08b22;
  font-size: 18px;
}

.v2-reconcile-decision-guide strong {
  color: #6f4d1d;
  font-size: 11px;
}

.v2-reconcile-decision-guide p {
  margin: 3px 0 0;
  color: #806a4a;
  font-size: 10px;
  line-height: 1.55;
}

.v2-reconcile-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  border: 1px solid #dce9fa;
  background: #f3f8ff;
  padding: 10px 12px;
}

.v2-reconcile-summary > strong {
  color: #2c64a4;
  font-size: 10px;
  white-space: nowrap;
}

.v2-reconcile-summary > span {
  color: #4e6279;
  font-size: 11px;
  line-height: 1.5;
}

.v2-reconcile-evidence.semi-card,
.v2-reconcile-review.semi-card,
.v2-reconcile-actions.semi-card {
  border-color: #dce5ef;
  border-radius: 10px;
}

.v2-reconcile-evidence dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  background: #f7f9fc;
  padding: 10px;
}

.v2-reconcile-evidence dl > div {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(112px, .82fr) minmax(0, 1.18fr);
  overflow: hidden;
  border: 1px solid #e1e8f0;
  border-radius: 8px;
  background: #fff;
}

.v2-reconcile-evidence dl > div.is-object {
  grid-column: 1 / -1;
  grid-template-columns: 132px minmax(0, 1fr);
}

.v2-reconcile-evidence dt {
  display: grid;
  align-content: center;
  gap: 3px;
  border-right: 1px solid #e7edf4;
  background: #fbfcfe;
  padding: 9px 10px;
}

.v2-reconcile-evidence dt > strong {
  color: #53677e;
  font-size: 10px;
}

.v2-reconcile-evidence dt > code {
  overflow: hidden;
  color: #96a2b1;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-reconcile-evidence dd {
  display: flex;
  min-width: 0;
  align-items: center;
  margin: 0;
  padding: 9px 10px;
}

.v2-reconcile-evidence-value {
  overflow-wrap: anywhere;
  color: #243e5a;
  font-size: 11px;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
}

.v2-reconcile-evidence-object {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}

.v2-reconcile-evidence-object > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-reconcile-evidence-object small {
  color: #8a97a8;
  font-size: 8px;
}

.v2-reconcile-evidence-object strong {
  overflow: hidden;
  color: #334d68;
  font-size: 10px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-reconcile-review > .semi-card-body {
  padding-bottom: 12px !important;
}

.v2-reconcile-review > .semi-card-body > label {
  gap: 7px;
  margin: 10px 12px;
  color: #53677e;
  font-size: 10px;
  font-weight: 650;
}

.v2-reconcile-review > .semi-card-body > label > .semi-radioGroup {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.v2-reconcile-review .semi-radio-addon-buttonRadio {
  height: 36px;
  border-radius: 7px;
  font-size: 10px;
}

.v2-reconcile-review > .semi-card-body > .semi-button {
  min-width: 166px;
  height: 38px;
  margin: 3px 12px 0;
  border-radius: 8px;
  font-weight: 680;
}

@media (min-width: 681px) {
  .v2-reconcile-heading.v2-workspace-panel-header {
    min-height: 64px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card > .semi-card-body,
  .v2-reconcile-sla > .semi-card-body {
    min-height: 82px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card small {
    font-size: 10px;
    font-weight: 650;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card strong {
    margin-block: 7px 4px;
    font-size: 24px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card span {
    font-size: 9px;
  }

  .v2-reconcile-table .semi-table-thead > .semi-table-row > .semi-table-row-head {
    height: 40px;
    color: #697a90;
    font-size: 10px;
  }

  .v2-reconcile-table .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
    height: 64px;
  }

  .v2-reconcile-cell strong {
    font-size: 11px;
  }

  .v2-reconcile-cell small {
    font-size: 9px;
  }
}

@media (max-width: 680px) {
  .v2-reconcile-heading.v2-workspace-panel-header {
    min-height: 50px;
    padding: 5px 7px 5px 10px;
  }

  .v2-reconcile-heading > .v2-workspace-panel-copy {
    display: flex;
  }

  .v2-reconcile-heading > .v2-workspace-panel-copy > h5.semi-typography {
    display: block;
    font-size: 12px;
  }

  .v2-reconcile-heading > .v2-workspace-panel-copy > .semi-typography,
  .v2-reconcile-heading > .v2-workspace-panel-actions > .v2-workspace-panel-meta {
    display: none;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions {
    display: flex;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    grid-template-columns: none;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    margin-left: auto;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions > .semi-button {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px;
    flex: 0 0 38px;
    min-height: 38px;
    padding: 0;
    font-size: 0;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions > .semi-button .semi-button-content-right {
    display: none;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions > .semi-button .semi-icon {
    font-size: 15px;
  }

  .v2-reconcile-overview .v2-reconcile-kpi-card.is-priority {
    background: #eff6ff;
    box-shadow: inset 0 -3px #1f6feb;
  }

  .v2-reconcile-result-bar {
    display: none;
  }

  .v2-reconcile-detail.is-sheet .v2-reconcile-detail-heading {
    min-height: 56px;
    padding: 8px 11px;
  }

  .v2-reconcile-detail.is-sheet .v2-reconcile-detail-heading .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 13px;
  }

  .v2-reconcile-detail.is-sheet .v2-reconcile-detail-heading .v2-workspace-panel-copy > .semi-typography {
    font-size: 9px;
  }

  .v2-reconcile-detail-body {
    padding: 10px 10px 18px;
  }

  .v2-reconcile-identity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-reconcile-identity > div:first-child {
    grid-column: 1 / -1;
  }

  .v2-reconcile-identity > div + div {
    border-top: 1px solid #e5ebf2;
    border-left: 0;
  }

  .v2-reconcile-identity > div:last-child {
    border-left: 1px solid #e5ebf2;
  }

  .v2-reconcile-identity div {
    padding: 9px 10px;
  }

  .v2-reconcile-identity strong {
    margin-block: 4px;
    font-size: 11px;
  }

  .v2-reconcile-identity small,
  .v2-reconcile-identity span {
    font-size: 8px;
  }

  .v2-reconcile-decision-guide {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 7px;
    margin-top: 9px;
    padding: 9px 10px;
  }

  .v2-reconcile-decision-guide > .semi-icon {
    font-size: 15px;
  }

  .v2-reconcile-decision-guide strong,
  .v2-reconcile-decision-guide p {
    font-size: 9px;
  }

  .v2-reconcile-summary {
    gap: 7px;
    margin-block: 9px;
    padding: 9px 10px;
  }

  .v2-reconcile-summary > strong,
  .v2-reconcile-summary > span {
    font-size: 9px;
  }

  .v2-reconcile-evidence.semi-card,
  .v2-reconcile-review.semi-card,
  .v2-reconcile-actions.semi-card {
    margin-top: 9px;
  }

  .v2-reconcile-evidence dl {
    gap: 6px;
    padding: 7px;
  }

  .v2-reconcile-evidence dl > div,
  .v2-reconcile-evidence dl > div.is-object {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-reconcile-evidence dl > div.is-object {
    grid-column: 1 / -1;
  }

  .v2-reconcile-evidence dt {
    gap: 2px;
    border-right: 0;
    border-bottom: 1px solid #edf1f5;
    padding: 7px 8px 5px;
  }

  .v2-reconcile-evidence dt > strong {
    font-size: 9px;
  }

  .v2-reconcile-evidence dt > code {
    font-size: 7px;
  }

  .v2-reconcile-evidence dd {
    min-height: 34px;
    padding: 6px 8px 8px;
  }

  .v2-reconcile-evidence-value {
    font-size: 10px;
  }

  .v2-reconcile-evidence-object {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 9px;
  }

  .v2-reconcile-review > .semi-card-body > .v2-workspace-panel-header,
  .v2-reconcile-evidence > .semi-card-body > .v2-workspace-panel-header {
    min-height: 48px;
  }

  .v2-reconcile-review > .semi-card-body > label {
    margin-inline: 9px;
  }

  .v2-reconcile-review > .semi-card-body > .semi-button {
    width: calc(100% - 18px);
    min-height: 42px;
    margin-inline: 9px;
    justify-content: center;
  }
}

@media (max-width: 680px) {
  .semi-sidesheet-bottom .semi-sidesheet-inner {
    border-radius: var(--v2-sheet-radius-mobile) var(--v2-sheet-radius-mobile) 0 0;
  }

  .v2-workspace-mobile-tool-button.semi-button {
    width: auto !important;
    min-width: 58px !important;
    max-width: none;
    min-height: var(--v2-control-height-mobile);
    flex: 0 0 auto;
    border-radius: var(--v2-control-radius);
    padding-inline: 9px !important;
    font-size: 10px !important;
  }

  .v2-workspace-mobile-tool-button.is-muted.semi-button {
    border: 1px solid var(--v2-control-border);
    background: var(--v2-control-bg-muted);
    color: var(--v2-control-text-muted);
  }

  .v2-workspace-mobile-tool-button .semi-button-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px !important;
  }

  .v2-workspace-mobile-tool-button .semi-button-content-right {
    display: inline-flex !important;
    margin-left: 4px;
    color: inherit;
    font-size: 10px !important;
    font-weight: 700;
  }

  .v2-workspace-mobile-tool-button .semi-icon {
    margin-right: 0;
    color: inherit;
    font-size: 14px !important;
  }

  .v2-reconcile-heading > .v2-workspace-panel-actions > .v2-workspace-mobile-tool-button.semi-button {
    width: auto !important;
    min-width: 58px !important;
    max-width: none;
    flex-basis: auto;
    padding-inline: 8px !important;
  }
}

/*
 * Semi UI account grants: keep four mobile vehicle grants, paging and history
 * in one continuous task view without shrinking the actionable controls.
 */
@media (max-width: 680px) {
  .v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content {
    padding-bottom: 12px;
    scroll-padding-bottom: 12px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vins {
    gap: 6px;
    margin-top: 6px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vins > .v2-assigned-vehicle-card.is-mobile-compact.semi-card {
    min-height: 88px;
    padding: 7px 9px;
    contain-intrinsic-size: auto 88px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact > .semi-card-body > header {
    min-height: 36px;
    align-items: center;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-actions {
    gap: 2px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-actions > .semi-button {
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    flex-basis: 36px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-actions > .semi-button:first-child {
    min-width: 72px;
    height: 36px;
    padding-inline: 7px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact > .semi-card-body > .v2-assigned-vehicle-interval {
    gap: 4px;
    margin-top: 4px;
    padding-top: 4px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-interval > span {
    gap: 1px;
  }

  .v2-user-editor-sidesheet .v2-assigned-pagination {
    min-height: 42px;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    gap: 6px;
    margin-top: 3px;
    padding-top: 3px;
  }

  .v2-user-editor-sidesheet .v2-assigned-pagination .v2-table-pagination-info {
    font-size: 9px;
  }

  .v2-user-editor-sidesheet .v2-assigned-pagination .v2-table-pagination-controls {
    width: auto;
    flex: 0 0 auto;
  }

  .v2-user-editor-sidesheet .v2-grant-history.semi-collapse {
    margin-top: 6px;
  }
}

/*
 * Semi UI alert disposition: organize each event around the object, current
 * state and the decision evidence before showing audit history and actions.
 */
.v2-alert-inspector-heading > .v2-workspace-panel-copy {
  gap: 2px;
}

.v2-alert-inspector-heading > .v2-workspace-panel-copy > .semi-typography:last-child {
  overflow: hidden;
  max-width: 250px;
  margin: 0;
  color: #7c8b9d;
  font-size: 10px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-focus-identity {
  min-height: 80px;
  background: linear-gradient(120deg, #f5f9ff 0%, #fff 64%, #fffaf7 100%);
}

.v2-alert-focus-current {
  display: grid;
  min-width: 84px;
  flex: 0 0 auto;
  justify-items: end;
  gap: 5px;
}

.v2-alert-focus-current > .semi-tag {
  min-width: 58px;
  min-height: 24px;
  justify-content: center;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

.v2-alert-focus-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #fbfcfe;
}

.v2-alert-focus-facts > span {
  min-height: 58px;
  justify-content: center;
  padding: 8px 11px;
}

.v2-alert-focus-facts > span + span {
  border-left: 1px solid #e6ebf2;
}

.v2-alert-focus-facts .semi-tag {
  width: max-content;
  max-width: 100%;
  min-height: 22px;
  border-radius: 999px;
  font-size: 9px;
}

.v2-alert-focus-card .v2-alert-evidence {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 10px;
}

.v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value.semi-card {
  overflow: hidden;
  border-color: #dde6f0;
  border-radius: 9px;
  box-shadow: none;
}

.v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value > .semi-card-body {
  min-height: 76px;
  padding: 9px 7px;
}

.v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value.is-trigger {
  border-color: #efc7c2;
  background: #fff8f7;
}

.v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value.is-delta {
  border-color: #c8dbf7;
  background: #f4f8ff;
}

.v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value.is-delta strong {
  color: #1268f3;
}

.v2-alert-focus-rule {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  border-top: 1px solid #e7edf4;
  background: #fbfcfe;
  padding: 7px 10px;
}

.v2-alert-focus-rule > .semi-tag {
  min-width: 54px;
  flex: 0 0 auto;
  justify-content: center;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
}

.v2-alert-focus-rule > span {
  overflow: hidden;
  color: #50647c;
  font-size: 10px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-alert-detail-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.v2-alert-detail-title > .semi-tag {
  min-height: 22px;
  justify-content: center;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
}

@media (max-width: 680px) {
  .v2-alert-inspector.is-sheet .v2-alert-focus-identity {
    min-height: 72px;
    padding: 10px 12px;
  }

  .v2-alert-focus-identity strong {
    font-size: 17px;
  }

  .v2-alert-focus-facts > span {
    min-height: 54px;
    padding: 7px 9px;
  }

  .v2-alert-focus-facts small {
    font-size: 9px;
  }

  .v2-alert-focus-facts strong {
    font-size: 11px;
  }

  .v2-alert-focus-card .v2-alert-evidence {
    gap: 5px;
    padding: 8px;
  }

  .v2-alert-focus-card .v2-alert-evidence > .v2-alert-evidence-value > .semi-card-body {
    min-height: 72px;
    padding: 7px 5px;
  }

  .v2-alert-focus-card .v2-alert-evidence small {
    font-size: 9px;
  }

  .v2-alert-focus-card .v2-alert-evidence strong {
    font-size: 12px;
    line-height: 1.35;
  }

  .v2-alert-focus-rule {
    min-height: 38px;
    padding: 6px 8px;
  }
}

/*
 * Semi UI account identity and menu permissions: one shared hierarchy from
 * account context to editable groups and the resulting customer workspace.
 */
.v2-user-editor-sidesheet .v2-user-identity-section > .semi-card-body,
.v2-user-editor-sidesheet .v2-user-menu-section > .semi-card-body {
  display: grid;
  gap: 12px;
}

.v2-user-identity-overview {
  display: grid;
  overflow: hidden;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #dbe5f0;
  border-radius: 10px;
  background: linear-gradient(115deg, #f5f9ff 0%, #fbfdff 58%, #f7fbfa 100%);
}

.v2-user-identity-overview > div {
  display: flex;
  min-width: 0;
  min-height: 70px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
}

.v2-user-identity-overview > div + div {
  border-left: 1px solid #e1e9f2;
}

.v2-user-identity-overview > div > span,
.v2-user-field-group > header > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-user-identity-overview small,
.v2-user-field-group > header small,
.v2-user-menu-overview small {
  color: #7c8ca0;
  font-size: 10px;
  line-height: 1.45;
}

.v2-user-identity-overview strong {
  overflow: hidden;
  color: #243b54;
  font-size: 14px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-user-identity-overview .semi-tag,
.v2-user-field-group > header .semi-tag,
.v2-user-menu-overview > .semi-tag,
.v2-menu-permission-state.semi-tag {
  min-height: 22px;
  flex: 0 0 auto;
  justify-content: center;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
}

.v2-user-field-group {
  overflow: hidden;
  border: 1px solid #e1e8f0;
  border-radius: 10px;
  background: #fff;
}

.v2-user-field-group > header {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e8edf3;
  background: #fbfcfe;
  padding: 9px 12px;
}

.v2-user-field-group > header strong {
  color: #31465e;
  font-size: 12px;
}

.v2-user-field-group > .v2-user-fields {
  gap: 12px;
  padding: 12px;
}

.v2-user-menu-overview {
  display: grid;
  min-height: 76px;
  grid-template-columns: 116px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  border: 1px solid #d8e5f4;
  border-radius: 10px;
  background: linear-gradient(115deg, #edf5ff 0%, #f8fbff 62%, #f6fbf8 100%);
  padding: 11px 14px;
}

.v2-user-menu-overview > span,
.v2-user-menu-overview > p {
  display: grid;
  min-width: 0;
  gap: 3px;
  margin: 0;
}

.v2-user-menu-overview > span {
  border-right: 1px solid #d8e4f1;
}

.v2-user-menu-overview > span strong {
  color: #1268f3;
  font-size: 24px;
  line-height: 1;
}

.v2-user-menu-overview > span i {
  color: #74869b;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}

.v2-user-menu-overview > p b {
  color: #2d435b;
  font-size: 12px;
}

.v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
}

.v2-menu-permission-copy {
  align-self: center;
}

.v2-menu-permission-state.semi-tag {
  min-width: 50px;
}

@media (max-width: 680px) {
  .v2-user-editor-sidesheet .v2-user-identity-section > .semi-card-header,
  .v2-user-editor-sidesheet .v2-user-menu-section > .semi-card-header {
    min-height: 42px;
  }

  .v2-user-editor-sidesheet .v2-user-identity-section > .semi-card-body,
  .v2-user-editor-sidesheet .v2-user-menu-section > .semi-card-body {
    gap: 8px;
    padding: 8px;
  }

  .v2-user-identity-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-user-identity-overview > div {
    min-height: 58px;
    padding: 8px 9px;
  }

  .v2-user-identity-overview > div:nth-child(3) {
    grid-column: 1 / -1;
    border-top: 1px solid #e1e9f2;
    border-left: 0;
  }

  .v2-user-identity-overview strong {
    font-size: 12px;
  }

  .v2-user-identity-overview .semi-tag {
    min-width: 44px;
    padding-inline: 6px;
  }

  .v2-user-field-group > header {
    min-height: 46px;
    padding: 7px 9px;
  }

  .v2-user-field-group > header small {
    overflow: hidden;
    max-width: 245px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-user-field-group > .v2-user-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
  }

  .v2-user-menu-overview {
    min-height: 70px;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 9px;
    padding: 9px 10px;
  }

  .v2-user-menu-overview > span strong {
    font-size: 21px;
  }

  .v2-user-menu-overview > p b {
    font-size: 11px;
  }

  .v2-user-menu-overview > p small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-user-menu-overview > .semi-tag {
    display: none;
  }

  .v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions {
    gap: 7px;
  }

  .v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions label {
    min-height: 68px;
    gap: 8px;
    padding: 10px;
  }

  .v2-menu-permission-state.semi-tag {
    min-width: 46px;
    padding-inline: 6px;
  }
}

/*
 * Semi UI operations health attention hierarchy.
 * Protocol readiness is part of the global verdict, so its actionable
 * evidence now appears before healthy infrastructure detail.
 */
.v2-ops-sources.has-attention.semi-card {
  border-color: #e8d2a6;
  box-shadow: 0 9px 28px rgba(127, 88, 23, .075);
}

.v2-ops-sources.has-attention > .semi-card-body > .v2-workspace-panel-header {
  background: linear-gradient(96deg, #fffaf0 0%, #fffdf9 54%, #fff 100%);
}

.v2-ops-link-status > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.v2-ops-link-status > span > strong,
.v2-ops-link-status > span > small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-ops-link-status > span > small {
  color: #91a0b2;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  font-weight: 500;
}

.v2-ops-source-empty.is-error.semi-empty {
  background: #fff9f8;
}

.v2-ops-source-empty.is-error .semi-empty-title {
  color: #b94a45;
}

@media (max-width: 680px) {
  .v2-ops-sources.has-attention.semi-card {
    box-shadow: 0 6px 20px rgba(127, 88, 23, .07);
  }

  .v2-ops-link-status > span > small {
    font-size: 7px;
  }
}

/*
 * Semi UI account access readiness.
 * The directory now answers the operator's first question — can this customer
 * actually use the platform — before exposing the underlying counts.
 */
.v2-user-directory-summary > .semi-tag.is-attention {
  min-width: 70px;
  justify-content: center;
}

.v2-user-directory-summary > .semi-typography.is-ready {
  color: #397b60;
}

.v2-customer-list .v2-user-list-row.has-attention.semi-list-item {
  border-color: #ead9b8;
  background: linear-gradient(110deg, #fffdf8 0%, #fbfcfe 72%);
}

.v2-customer-list .v2-user-list-row.is-access-disabled.semi-list-item {
  background: #f8fafc;
}

.v2-customer-list .v2-user-list-row.has-attention.semi-list-item:hover {
  border-color: #ddc38f;
  box-shadow: 0 7px 18px rgba(125, 87, 25, .07);
}

.v2-user-list-facts b > i {
  color: #8a98aa;
  font-size: 10px;
  font-style: normal;
  font-weight: 550;
}

.v2-user-status-tag.semi-tag {
  min-width: 76px;
}

.v2-user-status-tag.is-ready.semi-tag {
  color: #287456;
}

.v2-user-status-tag.is-missing-menus.semi-tag,
.v2-user-status-tag.is-missing-vehicles.semi-tag {
  color: #8a611e;
}

.v2-user-status-tag-mobile {
  display: none;
}

.v2-user-editor-sheet-title > span {
  gap: 5px;
}

.v2-user-editor-context {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0;
  color: #728197;
  font-size: 10px;
  font-weight: 550;
  line-height: 1.4;
  white-space: nowrap;
}

.v2-user-editor-context > span {
  position: relative;
  min-width: 0;
}

.v2-user-editor-context > span + span {
  margin-left: 9px;
  padding-left: 10px;
}

.v2-user-editor-context > span + span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #a8b4c3;
  content: '';
  transform: translateY(-50%);
}

.v2-user-editor-context > span > b {
  color: #344c65;
  font-size: inherit;
  font-weight: 750;
}

.v2-user-editor-context > .is-account {
  overflow: hidden;
  max-width: 180px;
  color: #5e7188;
  text-overflow: ellipsis;
}

.v2-user-editor-access-tag.semi-tag {
  min-height: 22px;
  flex: 0 0 auto;
  justify-content: center;
  margin-left: 10px;
  border-radius: 999px;
  padding-inline: 8px;
  font-size: 9px;
  font-weight: 700;
}

@media (max-width: 980px) and (min-width: 681px) {
  .v2-user-status-tag.semi-tag {
    min-width: 68px;
  }

  .v2-user-editor-last-login {
    display: none;
  }
}

@media (max-width: 680px) {
  .v2-user-directory-summary > .semi-tag.is-attention {
    min-width: 60px;
  }

  .v2-user-status-tag.semi-tag {
    min-width: 48px;
    padding-inline: 6px;
  }

  .v2-user-status-tag-desktop {
    display: none;
  }

  .v2-user-status-tag-mobile {
    display: inline;
  }

  .v2-user-list-facts b > i {
    font-size: 9px;
  }

  .v2-user-editor-sidesheet .semi-sidesheet-header {
    min-height: 76px;
  }

  .v2-user-editor-context {
    max-width: 262px;
    font-size: 9px;
  }

  .v2-user-editor-context > span + span {
    margin-left: 6px;
    padding-left: 7px;
  }

  .v2-user-editor-context > .is-account {
    max-width: 94px;
  }

  .v2-user-editor-last-login {
    display: none;
  }

  .v2-user-editor-access-tag.semi-tag {
    min-height: 20px;
    margin-left: 7px;
    padding-inline: 6px;
    font-size: 8px;
  }
}

/*
 * Semi UI vehicle workspace v3.
 * The directory owns one scroll region, while the single-vehicle header keeps
 * identity, actions and live evidence readable without horizontal overflow.
 */
.v2-vehicle-directory-v3.v2-vehicle-search-page {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  padding: 12px var(--v2-page-gutter) 16px;
}

.v2-vehicle-directory-v3 > .v2-vehicle-discovery-shell {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
}

.v2-vehicle-directory-v3 > .v2-vehicle-recent-card.semi-card {
  width: min(1280px, 100%);
  min-height: 0;
  flex: 1 1 0;
  overflow: hidden;
}

.v2-vehicle-directory-v3 > .v2-vehicle-recent-card > .semi-card-body {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
}

.v2-vehicle-directory-v3 .v2-vehicle-directory-table.semi-table-wrapper,
.v2-vehicle-directory-v3 .v2-vehicle-recent-grid {
  min-height: 0;
  flex: 1 1 auto;
}

.v2-vehicle-directory-v3 .v2-vehicle-directory-table.semi-table-wrapper {
  overflow: auto;
  overscroll-behavior: contain;
}

.v2-vehicle-directory-v3 .v2-vehicle-directory-table .semi-table {
  width: 100%;
  min-width: 720px;
}

.v2-vehicle-directory-v3 .v2-vehicle-search-options.v2-vehicle-candidate-list {
  width: min(760px, calc(100% - 20px));
  overflow-x: hidden;
}

.v2-vehicle-directory-v3 .v2-vehicle-search-options.is-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2-vehicle-directory-v3 .v2-vehicle-search-options .v2-vehicle-option.semi-button,
.v2-vehicle-directory-v3 .v2-vehicle-search-options .semi-button-content {
  min-width: 0;
  max-width: 100%;
}

.v2-vehicle-directory-v3 .v2-vehicle-directory-pagination {
  flex: 0 0 auto;
}

.v2-source-evidence-sidesheet .semi-sidesheet-inner {
  overflow: hidden;
  border-radius: 16px 16px 0 0;
  background: #f4f7fb;
  box-shadow: 0 -18px 48px rgba(25, 45, 72, .18);
}

.v2-source-evidence-sidesheet .semi-sidesheet-header {
  min-height: 68px;
  border-bottom: 1px solid #dfe7f0;
  background: rgba(255, 255, 255, .98);
  padding: 11px 14px;
}

.v2-source-evidence-sheet-title {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-source-evidence-sheet-title > strong {
  color: #1f3046;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.015em;
}

.v2-source-evidence-sheet-title > span {
  overflow: hidden;
  color: #7c899b;
  font-size: 10px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-source-evidence-sidesheet .semi-sidesheet-body {
  overflow: auto;
  background: #f4f7fb;
  padding: 0;
  overscroll-behavior: contain;
}

.v2-source-evidence-sheet-body > .v2-source-evidence-body {
  border-top: 0;
  padding: 10px 9px 24px;
}

.v2-source-evidence-sidesheet .v2-source-evidence-toolbar {
  position: sticky;
  z-index: 2;
  top: 0;
  margin: -10px -9px 10px;
  border-bottom: 1px solid #e2e9f1;
  background: rgba(255, 255, 255, .97);
  padding: 10px 12px;
  backdrop-filter: blur(12px);
}

.v2-source-evidence-sidesheet .v2-source-evidence-summary {
  border-color: #d9e3ee;
  background: #fff;
}

.v2-source-evidence-sidesheet .v2-source-evidence-group > header {
  padding-inline: 2px;
}

.v2-source-evidence-sidesheet .v2-source-evidence-group > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: visible;
}

.v2-source-evidence-sidesheet .v2-source-evidence-card {
  width: 100%;
  min-width: 0;
  flex: none;
}

.v2-vehicle-record-v3.v2-vehicle-record-page {
  display: flex;
  width: 100%;
  max-width: 1540px;
  min-width: 0;
  flex-direction: column;
  gap: 10px;
  margin-inline: auto;
  overflow-x: hidden;
  padding: 12px var(--v2-page-gutter) 24px;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card.semi-card {
  display: block;
  width: 100%;
  min-width: 0;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card > .semi-card-body {
  width: 100%;
  min-width: 0;
}

.v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
  display: grid;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 94px;
  grid-template-columns: minmax(270px, .72fr) minmax(0, 1.88fr);
  align-items: stretch;
  gap: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
  min-width: 0;
  min-height: 94px;
  align-content: center;
  gap: 5px;
  border-right: 1px solid #e4eaf2;
  padding: 12px 15px;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(285px, .82fr) minmax(420px, 1.18fr);
  align-items: stretch;
  gap: 0;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: stretch;
  border-right: 1px solid #e4eaf2;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(145px, 1.05fr) minmax(130px, .95fr);
  align-items: stretch;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 10px 13px;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span + span {
  border-left: 1px solid #e7edf4;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
  max-width: 100%;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-content: center;
  gap: 5px;
  overflow: hidden;
  padding: 10px;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding-inline: 5px;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content {
  min-width: 0;
  justify-content: center;
}

.v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-right {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-vehicle-record-v3 .v2-vehicle-live-section > .v2-workspace-panel-header {
  min-height: 48px;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: .78fr .72fr 1.16fr 1.04fr 1.02fr .78fr;
  overflow: hidden;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric {
  min-width: 0;
  min-height: 88px;
  overflow: hidden;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong,
.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  font-size: clamp(16px, 1.45vw, 21px);
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong.is-text {
  font-size: clamp(12px, 1.05vw, 15px);
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link.semi-button {
  display: flex;
  height: 26px;
  justify-content: stretch;
  overflow: hidden;
  padding: 0;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link .semi-button-content {
  width: 100%;
  min-width: 0;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link .semi-button-content > span:not(.semi-icon) {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link .semi-button-content > .semi-icon {
  width: auto;
  flex: 0 0 auto;
}

.v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(280px, .78fr) minmax(360px, 1.22fr);
}

.v2-vehicle-record-v3 .v2-current-location > span,
.v2-vehicle-record-v3 .v2-current-location strong {
  min-width: 0;
}

.v2-vehicle-record-v3 .v2-record-grid,
.v2-vehicle-record-v3 .v2-record-grid > *,
.v2-vehicle-record-v3 .v2-record-card,
.v2-vehicle-record-v3 .v2-single-map-card {
  min-width: 0;
}

@media (max-width: 1180px) {
  .v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
    border-right: 0;
    border-bottom: 1px solid #e7edf4;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
    min-height: 52px;
    padding-block: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(3n + 1) {
    border-left: 0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(n + 4) {
    border-top: 1px solid #e7edf4;
  }
}

@media (max-width: 900px) {
  .v2-vehicle-record-v3.v2-vehicle-record-page {
    padding: 10px 11px 18px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
    min-height: 72px;
    border-right: 0;
    border-bottom: 1px solid #e4eaf2;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
    grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr);
  }
}

@media (max-width: 680px) {
  .v2-vehicle-directory-v3.v2-vehicle-search-page {
    gap: 7px;
    overflow: hidden;
    padding: 8px;
  }

  .v2-vehicle-directory-v3.has-candidates.v2-vehicle-search-page,
  .v2-vehicle-directory-v3.has-sync-panel.v2-vehicle-search-page {
    overflow-y: auto;
  }

  .v2-vehicle-directory-v3 > .v2-vehicle-discovery-shell {
    width: 100%;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin {
    height: 44px;
    min-height: 44px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin .v2-workspace-command-copy > .semi-typography:first-child {
    font-size: 12px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin .v2-workspace-command-actions > .semi-button {
    min-height: 32px;
    padding-inline: 9px;
    font-size: 9px;
  }

  .v2-vehicle-directory-v3 .v2-mobile-filter-toggle.semi-button {
    min-height: 50px;
  }

  .v2-vehicle-directory-v3 > .v2-vehicle-recent-card.semi-card {
    width: 100%;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-grid {
    display: block;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 2px 9px 6px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-item.semi-button {
    min-height: 68px;
    padding: 6px 27px 6px 2px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-item .semi-button-content {
    gap: 4px 7px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-identity,
  .v2-vehicle-directory-v3 .v2-vehicle-recent-status {
    gap: 2px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-protocols .semi-tag,
  .v2-vehicle-directory-v3 .v2-vehicle-recent-status .semi-tag {
    min-height: 20px;
    padding-inline: 6px;
    font-size: 8px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-search-options.v2-vehicle-candidate-list {
    width: 100%;
    max-width: none;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-search-options.is-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3.v2-vehicle-record-page {
    gap: 7px;
    padding: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card.semi-card {
    border-radius: 11px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
    min-height: 66px;
    padding: 8px 10px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-primary {
    gap: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-plate {
    min-height: 34px;
    padding-inline: 9px;
    font-size: 14px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-online-label.semi-tag {
    min-height: 22px;
    padding-inline: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
    grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
    min-height: 56px;
    padding: 7px 9px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span + span {
    border-top: 0;
    border-left: 1px solid #e7edf4;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.35;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources {
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources .semi-tag {
    min-height: 20px;
    padding-inline: 6px;
    font-size: 9px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    padding: 7px 8px 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
    min-height: 40px;
    border-radius: 8px;
    padding: 4px 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content {
    min-width: 0;
    flex-direction: row;
    justify-content: center;
    gap: 5px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-left {
    margin-right: 0;
    font-size: 15px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-right {
    max-width: 100%;
    margin-left: 0;
    font-size: 11px;
    font-weight: 600;
  }

  .v2-vehicle-mobile-actions-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    background: #f4f7fb;
    padding: 10px 12px;
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-vehicle-mobile-actions-title {
    display: grid;
    gap: 3px;
  }

  .v2-vehicle-mobile-actions-title > strong {
    color: #253a52;
    font-size: 15px;
    line-height: 1.3;
  }

  .v2-vehicle-mobile-actions-title > span {
    color: #8090a3;
    font-size: 10px;
    line-height: 1.4;
  }

  .v2-vehicle-mobile-actions-list {
    display: grid;
    gap: 7px;
  }

  .v2-vehicle-mobile-actions-list > .semi-button {
    min-height: 48px;
    justify-content: flex-start;
    border: 1px solid #e1e8f1;
    border-radius: 10px;
    background: #fff;
    color: #2b425d;
    padding-inline: 14px;
    font-size: 13px;
    font-weight: 600;
  }

  .v2-vehicle-mobile-actions-list > .semi-button .semi-button-content {
    width: 100%;
    justify-content: flex-start;
  }

  .v2-vehicle-mobile-actions-list > .semi-button .semi-button-content-right {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section > .v2-workspace-panel-header {
    min-height: 44px;
    padding: 6px 9px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section .v2-workspace-panel-copy > h5.semi-typography {
    display: block;
    font-size: 12px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section .v2-workspace-panel-copy > .semi-typography:last-child {
    display: none;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section .v2-live-report-meta {
    max-width: 58vw;
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric {
    min-height: 82px;
    border-top: 0;
    border-left: 1px solid #e7edf4;
    padding: 10px 11px 9px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(odd) {
    border-left: 0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(n + 3) {
    border-top: 1px solid #e7edf4;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong,
  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link {
    font-size: 17px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong.is-text {
    font-size: 12px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location > span + span {
    border-top: 1px solid #e4eaf2;
    border-left: 0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-record-nav .v2-workspace-panel-header {
    min-height: 48px;
    grid-template-columns: minmax(0, 1fr);
    padding: 4px 6px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-record-nav .v2-workspace-panel-copy {
    display: none;
  }

  .v2-vehicle-record-v3 .v2-vehicle-record-nav .v2-workspace-panel-actions,
  .v2-vehicle-record-v3 .v2-vehicle-section-nav {
    width: 100%;
  }

  .v2-vehicle-record-v3 .v2-vehicle-section-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-section-nav > .semi-button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding-inline: 2px;
    font-size: 8px;
  }
}

/*
 * Short landscape vehicle directory.
 * Keep the authorized directory actionable when the mobile shell has very
 * little vertical room: discovery becomes a compact side rail and vehicle
 * cards use the remaining viewport in two columns.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-vehicle-directory-v3.v2-vehicle-search-page {
    flex-direction: row;
    align-items: stretch;
    gap: 7px;
    padding: 6px 7px;
  }

  .v2-vehicle-directory-v3 > .v2-vehicle-discovery-shell {
    display: flex;
    width: 176px;
    min-width: 0;
    flex: 0 0 176px;
    flex-direction: column;
    gap: 7px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-command-bar.is-mobile-admin {
    display: none;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-mobile-discovery {
    display: flex;
    min-height: 0;
  }

  .v2-vehicle-directory-v3 .v2-mobile-filter-toggle.semi-button {
    width: 100%;
    min-height: 70px;
    align-self: flex-start;
  }

  .v2-vehicle-directory-v3 .v2-mobile-filter-toggle-copy small {
    display: none;
  }

  .v2-vehicle-directory-v3 .v2-mobile-filter-toggle-action {
    padding-inline: 7px;
  }

  .v2-vehicle-directory-v3 > .v2-vehicle-recent-card.semi-card {
    width: auto;
    min-width: 0;
    flex: 1 1 0;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-card .v2-workspace-panel-header {
    min-height: 42px;
    padding: 5px 9px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-card .v2-workspace-panel-copy > .semi-typography:last-child {
    display: none;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-card .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 13px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 0 7px;
    overflow-y: auto;
    padding: 0 8px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-item.semi-button {
    min-height: 64px;
    border: 0;
    border-bottom: 1px solid #edf1f6;
    border-radius: 0;
    background: transparent;
    padding: 6px 24px 6px 1px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-item .semi-button-content {
    gap: 3px 5px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-arrow {
    right: -18px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-recent-card > .semi-card-body > .v2-vehicle-directory-pagination {
    min-height: 42px;
    padding: 4px 8px;
  }

  .v2-vehicle-directory-v3 .v2-vehicle-directory-pagination .v2-table-pagination-info {
    display: none;
  }

}

/*
 * Shared protocol identity.
 * Every evidence surface now presents GB/T 32960, JT/T 808 and 宇通 MQTT
 * with the same label, source color, spacing and compact behavior.
 */
.v2-protocol-tag.semi-tag {
  width: max-content;
  max-width: 100%;
  min-height: 22px;
  flex: 0 0 auto;
  justify-content: center;
  overflow: hidden;
  border-radius: 999px;
  padding-inline: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-protocol-tag.is-compact.semi-tag {
  min-height: 20px;
  padding-inline: 7px;
  font-size: 9px;
}

/*
 * Semi UI alert evidence refinement.
 * Notifications remain accessible but no longer compete with actionable event
 * counts; protocol evidence stays legible in the table, cards and inspector.
 */
.v2-alert-context-card .v2-metric-action.is-notice {
  background: linear-gradient(135deg, #fbfcfe 0%, #f7f8fc 100%);
}

.v2-alert-context-card .v2-metric-action.is-notice strong {
  color: #697a91;
  font-size: 18px;
}

.v2-alert-event-table .v2-alert-protocol-tag.semi-tag {
  max-width: 98px;
}

.v2-alert-focus-facts .v2-alert-protocol-tag.semi-tag {
  max-width: 110px;
}

.v2-alert-mobile-card-content dd:has(.v2-alert-protocol-tag) {
  overflow: visible;
}

.v2-alert-mobile-card-content .v2-alert-protocol-tag.semi-tag {
  max-width: 100%;
}

@media (max-width: 680px) {
  .v2-alert-context-card .v2-metric-action.is-notice strong {
    font-size: 14px;
  }

  .v2-alert-mobile-card-content dl {
    grid-template-columns: .95fr .9fr 1.15fr;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card .v2-alert-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card .v2-alert-actions > .semi-button {
    width: 100%;
    min-height: 40px;
  }

  .v2-alert-inspector.is-sheet .v2-alert-disposition-card .v2-alert-actions > .semi-button.is-primary {
    grid-column: 1 / -1;
  }
}

/*
 * Semi UI alert mobile workflow.
 * Keep the event list as the primary task: all filters live in one focused
 * bottom sheet and only actionable event states occupy the main metric rail.
 */
@media (max-width: 680px) {
  .v2-alert-mobile-discovery {
    display: grid;
    min-width: 0;
    flex: 0 0 auto;
    gap: 8px;
  }

  .v2-alert-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 52px;
    margin: 0;
  }

  .v2-alert-mobile-filter-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
  }

  .v2-alert-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-alert-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    overflow: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-alert-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-alert-mobile-filter-form {
    display: grid;
    gap: 10px;
  }

  .v2-alert-mobile-filter-section {
    display: grid;
    gap: 12px;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-alert-mobile-filter-section > header {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .v2-alert-mobile-filter-section > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-alert-mobile-filter-section > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-alert-mobile-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 9px;
  }

  .v2-alert-mobile-filter-grid.is-primary > label:first-child,
  .v2-alert-mobile-filter-grid > label:nth-last-child(-n + 2) {
    grid-column: 1 / -1;
  }

  .v2-alert-mobile-filter-grid > label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #5f7188;
    font-size: 11px;
    font-weight: 650;
  }

  .v2-alert-mobile-filter-grid > label > .semi-input-wrapper,
  .v2-alert-mobile-filter-grid > label > .semi-select {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-alert-mobile-filter-grid .semi-input,
  .v2-alert-mobile-filter-grid .semi-select-selection-text {
    font-size: 14px;
  }

  .v2-alert-mobile-filter-footer {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-alert-mobile-filter-footer > .semi-button {
    width: 100%;
    min-height: 42px;
    border-radius: 9px;
    font-weight: 700;
  }

  .v2-alert-context-card.semi-card {
    min-height: 58px;
  }

  .v2-alert-context-card .v2-alert-kpis {
    height: 58px;
    min-height: 58px;
    grid-template-columns: repeat(3, 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: 58px;
  }

  .v2-alert-context-card .v2-alert-kpis .v2-metric-action {
    padding: 6px 4px;
  }

  .v2-alert-context-card .v2-alert-kpis .v2-metric-action-content {
    gap: 5px;
  }

  .v2-alert-context-card .v2-alert-kpis small {
    color: #687991;
    font-size: 10px;
    font-weight: 650;
  }

  .v2-alert-context-card .v2-alert-kpis strong {
    color: #28415f;
    font-size: 18px;
  }
}

/*
 * Semi UI access mobile workflow.
 * Keep the access difference list in the first viewport and move the complete
 * filter task into the same focused bottom-sheet pattern used by alerts.
 */
@media (max-width: 680px) {
  .v2-access-mobile-discovery {
    display: grid;
    min-width: 0;
    flex: 0 0 auto;
    gap: 8px;
  }

  .v2-access-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 58px;
    margin: 0;
  }

  .v2-access-mobile-filter-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
  }

  .v2-access-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-access-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    overflow: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-access-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-access-mobile-filter-form {
    display: grid;
    gap: 12px;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-access-mobile-filter-form > header {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .v2-access-mobile-filter-form > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-access-mobile-filter-form > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-access-mobile-filter-form > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 9px;
  }

  .v2-access-mobile-filter-form > div > label.is-search,
  .v2-access-mobile-filter-form > div > label:last-child {
    grid-column: 1 / -1;
  }

  .v2-access-mobile-filter-form > div > label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #5f7188;
    font-size: 11px;
    font-weight: 650;
  }

  .v2-access-mobile-filter-form > div > label > .semi-input-wrapper,
  .v2-access-mobile-filter-form > div > label > .semi-select {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-access-mobile-filter-form .semi-input,
  .v2-access-mobile-filter-form .semi-select-selection-text {
    font-size: 14px;
  }

  .v2-access-mobile-filter-footer {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-access-mobile-filter-footer > .semi-button {
    width: 100%;
    min-height: 42px;
    border-radius: 9px;
    font-weight: 700;
  }
}

/*
 * Semi UI history mobile workflow.
 * Preserve the data list as the primary workspace while the complete vehicle,
 * time and source query runs in a focused, scroll-safe bottom sheet.
 */
@media (max-width: 680px) {
  .v2-history-mobile-discovery {
    display: grid;
    min-width: 0;
    flex: 0 0 auto;
    gap: 8px;
  }

  .v2-history-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 52px;
    margin: 0;
  }

  .v2-history-empty .v2-history-empty-action.semi-button {
    min-width: 156px;
    min-height: 42px;
    border-radius: 9px;
    font-weight: 700;
  }

  .v2-history-filter-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-history-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-history-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-history-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-history-mobile-filter-form {
    display: grid;
    gap: 10px;
  }

  .v2-history-mobile-filter-section {
    display: grid;
    gap: 12px;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-history-mobile-filter-section > header {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .v2-history-mobile-filter-section > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-history-mobile-filter-section > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-history-mobile-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 9px;
  }

  .v2-history-mobile-filter-grid > .v2-history-vehicles,
  .v2-history-mobile-filter-grid > .v2-history-range {
    grid-column: 1 / -1;
  }

  .v2-history-mobile-filter-grid > label,
  .v2-history-mobile-filter-grid > fieldset {
    display: grid;
    min-width: 0;
    gap: 6px;
    margin: 0;
    border: 0;
    padding: 0;
    color: #5f7188;
    font-size: 11px;
    font-weight: 650;
  }

  .v2-history-mobile-filter-grid > fieldset > legend {
    margin-bottom: 6px;
    padding: 0;
  }

  .v2-history-mobile-filter-grid > label > .semi-input-wrapper,
  .v2-history-mobile-filter-grid > label > .semi-select {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-history-mobile-filter-grid .v2-history-range > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
  }

  .v2-history-mobile-filter-grid .v2-history-range .semi-input-wrapper {
    min-width: 0;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-history-mobile-filter-grid .v2-history-range > div > span {
    color: #8a98aa;
    font-size: 10px;
  }

  .v2-history-mobile-filter-grid .semi-input,
  .v2-history-mobile-filter-grid .semi-select-selection-text {
    font-size: 13px;
  }

  .v2-history-mobile-export-action {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #dfe7f0;
    border-radius: 11px;
    background: #fff;
    padding: 10px 11px;
  }

  .v2-history-mobile-export-action > span {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .v2-history-mobile-export-action strong {
    color: #40536b;
    font-size: 11px;
  }

  .v2-history-mobile-export-action small {
    color: #8794a6;
    font-size: 9px;
    line-height: 1.4;
  }

  .v2-history-mobile-export-action > .semi-button {
    min-height: 38px;
    flex: 0 0 auto;
    border-radius: 8px;
    font-size: 11px;
  }

  .v2-history-mobile-filter-footer {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-history-mobile-filter-footer > .semi-button {
    width: 100%;
    min-height: 42px;
    border-radius: 9px;
    font-weight: 700;
  }
}

/*
 * Semi UI single-vehicle diagnostic discovery.
 * Keep the diagnosis evidence as the mobile workspace and move vehicle
 * discovery into the same focused bottom-sheet pattern used elsewhere.
 */
@media (max-width: 680px) {
  .v2-source-mobile-discovery {
    display: grid;
    min-width: 0;
    flex: 0 0 auto;
    gap: 8px;
  }

  .v2-source-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 58px;
    margin: 0;
  }

  .v2-source-mobile-filter-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-source-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-source-mobile-filter-title {
    display: grid;
    gap: 3px;
  }

  .v2-source-mobile-filter-title > strong {
    color: #253a52;
    font-size: 15px;
    line-height: 1.3;
  }

  .v2-source-mobile-filter-title > span {
    color: #8090a3;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
  }

  .v2-source-mobile-filter-form {
    display: grid;
    gap: 10px;
  }

  .v2-source-mobile-filter-section {
    display: grid;
    gap: 12px;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-source-mobile-filter-section > header {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .v2-source-mobile-filter-section > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-source-mobile-filter-section > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-source-mobile-filter-section > .semi-input-wrapper {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-source-mobile-filter-section > .semi-input-wrapper .semi-input {
    height: 42px;
    font-size: 13px;
  }

  .v2-source-mobile-filter-sidesheet .v2-source-candidates.v2-vehicle-candidate-list {
    position: static;
    max-height: min(390px, 43dvh);
    overflow-y: auto;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
    overscroll-behavior: contain;
  }

  .v2-source-mobile-filter-sidesheet .v2-source-candidates > .v2-vehicle-option.semi-button {
    min-height: 64px;
    padding: 9px 11px;
  }

  .v2-source-mobile-filter-footer {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-source-mobile-filter-footer > .semi-button {
    width: 100%;
    min-height: 42px;
    border-radius: 9px;
    font-weight: 700;
  }
}

/*
 * Semi UI account directory discovery.
 * Keep the customer list in the first viewport and apply mobile filters only
 * after an explicit confirmation, matching alerts, access and history.
 */
@media (max-width: 680px) {
  .v2-user-mobile-discovery {
    display: grid;
    min-width: 0;
    flex: 0 0 auto;
    gap: 8px;
  }

  .v2-user-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 58px;
    margin: 0;
  }

  .v2-user-mobile-filter-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-user-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-user-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-user-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-user-mobile-filter-title {
    display: grid;
    gap: 3px;
  }

  .v2-user-mobile-filter-title > strong {
    color: #253a52;
    font-size: 15px;
    line-height: 1.3;
  }

  .v2-user-mobile-filter-title > span {
    color: #8090a3;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
  }

  .v2-user-mobile-filter-form {
    display: grid;
    gap: 10px;
  }

  .v2-user-mobile-filter-form > section {
    display: grid;
    gap: 12px;
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-user-mobile-filter-form > section > header {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .v2-user-mobile-filter-form > section > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-user-mobile-filter-form > section > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-user-mobile-filter-form > section > div {
    display: grid;
    gap: 11px;
  }

  .v2-user-mobile-filter-form label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #5f7188;
    font-size: 11px;
    font-weight: 650;
  }

  .v2-user-mobile-filter-form label > .semi-input-wrapper,
  .v2-user-mobile-filter-form label > .semi-select {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-user-mobile-filter-form .semi-input,
  .v2-user-mobile-filter-form .semi-select-selection-text {
    height: 42px;
    font-size: 14px;
  }

  .v2-user-mobile-filter-footer {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-user-mobile-filter-footer > .semi-button {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    font-weight: 700;
  }
}

/*
 * Semi UI vehicle discovery.
 * The authorized directory stays visible on phones while search moves into a
 * focused bottom sheet with explicit apply and reset boundaries.
 */
@media (max-width: 680px) {
  .v2-vehicle-mobile-discovery {
    display: grid;
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    gap: 8px;
  }

  .v2-vehicle-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 58px;
    margin: 0;
  }

  .v2-vehicle-mobile-filter-sidesheet .semi-sidesheet-inner {
    width: 100vw !important;
    max-width: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -20px 56px rgba(25, 45, 72, .2);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    border-bottom: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 11px 14px;
  }

  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    min-height: 0;
    overflow-y: auto;
    background: #f4f7fb;
    padding: 12px;
    overscroll-behavior: contain;
  }

  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    border-top: 1px solid #dfe7f0;
    background: rgba(255, 255, 255, .98);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .v2-vehicle-mobile-filter-title {
    display: grid;
    gap: 3px;
  }

  .v2-vehicle-mobile-filter-title > strong {
    color: #253a52;
    font-size: 15px;
    line-height: 1.3;
  }

  .v2-vehicle-mobile-filter-title > span {
    color: #8090a3;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
  }

  .v2-vehicle-mobile-filter-form,
  .v2-vehicle-mobile-filter-form > section {
    display: grid;
    gap: 12px;
  }

  .v2-vehicle-mobile-filter-form > section {
    border: 1px solid #dfe7f0;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 8px 24px rgba(31, 53, 80, .055);
  }

  .v2-vehicle-mobile-filter-form > section > header {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .v2-vehicle-mobile-filter-form > section > header > strong {
    color: #2b4058;
    font-size: 13px;
    line-height: 1.3;
  }

  .v2-vehicle-mobile-filter-form > section > header > span {
    color: #7c8b9e;
    font-size: 10px;
    line-height: 1.45;
  }

  .v2-vehicle-mobile-filter-form label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #5f7188;
    font-size: 11px;
    font-weight: 650;
  }

  .v2-vehicle-mobile-filter-form label > .semi-input-wrapper {
    width: 100%;
    min-height: 46px;
    border-radius: 9px;
    background: #fff;
  }

  .v2-vehicle-mobile-filter-form label .semi-input {
    height: 44px;
    font-size: 14px;
  }

  .v2-vehicle-mobile-filter-hint {
    display: flex;
    min-height: 86px;
    align-items: center;
    gap: 11px;
    border: 1px dashed #d6e1ee;
    border-radius: 10px;
    background: #f8fbff;
    padding: 14px;
    color: #6e8db8;
  }

  .v2-vehicle-mobile-filter-hint > .semi-icon {
    font-size: 22px;
  }

  .v2-vehicle-mobile-filter-hint > span {
    display: grid;
    gap: 3px;
  }

  .v2-vehicle-mobile-filter-hint strong {
    color: #344c69;
    font-size: 12px;
  }

  .v2-vehicle-mobile-filter-hint small {
    color: #8392a5;
    font-size: 10px;
  }

  .v2-vehicle-mobile-filter-sidesheet .v2-vehicle-mobile-candidates.v2-vehicle-candidate-list {
    position: static;
    width: 100%;
    max-height: min(32dvh, 260px);
    overflow-y: auto;
    border-color: #dce5ef;
    border-radius: 10px;
    box-shadow: none;
    overscroll-behavior: contain;
  }

  .v2-vehicle-mobile-filter-sidesheet .v2-vehicle-mobile-candidates > header {
    position: sticky;
    z-index: 1;
    top: 0;
    min-height: 38px;
    background: rgba(248, 250, 253, .98);
    backdrop-filter: blur(10px);
  }

  .v2-vehicle-mobile-filter-sidesheet .v2-vehicle-mobile-candidates > .v2-vehicle-option.semi-button {
    min-height: 62px;
  }

  .v2-vehicle-mobile-filter-sidesheet .v2-vehicle-mobile-candidates .v2-vehicle-option-action.semi-tag {
    color: #1268f3;
  }

  .v2-vehicle-mobile-filter-footer {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 9px;
  }

  .v2-vehicle-mobile-filter-footer > .semi-button {
    width: 100%;
    min-height: 44px;
    border-radius: 9px;
    font-weight: 700;
  }
}

@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
  }

  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 54px;
    padding: 7px 12px;
  }

  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 8px;
  }

  .v2-vehicle-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 7px 10px;
  }

  .v2-vehicle-mobile-filter-title > span,
  .v2-vehicle-mobile-filter-form > section > header {
    display: none;
  }

  .v2-vehicle-mobile-filter-form > section {
    gap: 8px;
    padding: 9px;
  }

  .v2-vehicle-mobile-filter-sidesheet .v2-vehicle-mobile-candidates.v2-vehicle-candidate-list {
    max-height: min(42dvh, 180px);
  }
}

/*
 * Short landscape vehicle record.
 * The shell already reserves the fixed mobile navigation. Split the command
 * card into an identity/action rail and a live evidence canvas so the latest
 * report remains visible before the user scrolls.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-vehicle-record-v3.v2-vehicle-record-page {
    gap: 7px;
    padding: 6px 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card > .semi-card-body {
    display: grid;
    grid-template-columns: minmax(210px, .62fr) minmax(0, 1.38fr);
    align-items: stretch;
  }

  .v2-vehicle-record-v3 .v2-vehicle-record-command.v2-workspace-command-bar {
    min-height: 0;
    align-content: start;
    border-right: 1px solid #dfe7f0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-copy {
    min-height: 57px;
    gap: 2px;
    border-right: 0;
    border-bottom: 1px solid #e4eaf2;
    padding: 5px 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-plate {
    min-height: 29px;
    padding-inline: 7px;
    font-size: 12px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-online-label.semi-tag {
    min-height: 20px;
    padding-inline: 6px;
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin {
    gap: 3px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin small {
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin b {
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-vin .semi-button {
    width: 22px;
    min-width: 22px;
    height: 22px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-workspace-command-meta {
    border-right: 0;
    border-bottom: 1px solid #e7edf4;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span {
    min-height: 35px;
    padding: 4px 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta > span + span {
    border-top: 1px solid #edf1f6;
    border-left: 0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta small {
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-meta strong {
    margin-top: 1px;
    font-size: 9px;
    line-height: 1.2;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources {
    flex-wrap: nowrap;
    gap: 3px;
    margin-top: 2px;
    overflow: hidden;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-sources .semi-tag {
    min-height: 18px;
    padding-inline: 4px;
    font-size: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions {
    min-height: 43px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 5px 6px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button {
    min-height: 33px;
    border-radius: 7px;
    padding: 2px 4px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content {
    gap: 3px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-left {
    font-size: 12px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-header.v2-vehicle-record-command .v2-identity-actions > .semi-button .semi-button-content-right {
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section {
    min-width: 0;
    border-top: 0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section > .v2-workspace-panel-header {
    min-height: 36px;
    padding: 4px 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section .v2-workspace-panel-copy > h5.semi-typography {
    font-size: 10px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-live-section .v2-live-report-meta {
    max-width: 64%;
    font-size: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric {
    min-height: 58px;
    border-top: 0;
    border-left: 1px solid #e7edf4;
    padding: 6px 7px 5px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(3n + 1) {
    border-left: 0;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric:nth-child(n + 4) {
    border-top: 1px solid #e7edf4;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric::after {
    right: 7px;
    left: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid small {
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong,
  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link {
    margin-top: 3px;
    font-size: 13px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid strong.is-text {
    font-size: 9px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-primary-protocol.semi-tag {
    min-height: 19px;
    margin-top: 3px;
    padding-inline: 5px;
    font-size: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-source-link.semi-button {
    height: 19px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-live-grid > .v2-live-metric > span:last-child {
    margin-top: 3px;
    font-size: 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location {
    min-height: 37px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location > span {
    gap: 4px;
    padding: 4px 7px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location > span + span {
    border-top: 0;
    border-left: 1px solid #e4eaf2;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location small,
  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-location strong {
    font-size: 8px;
  }

  .v2-vehicle-record-v3 .v2-vehicle-command-card .v2-current-address-action.semi-button {
    min-height: 25px;
    padding-inline: 6px;
    font-size: 8px;
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 56px;
    padding: 7px 12px;
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 9px 12px;
  }

  .v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 7px 12px;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-title {
    gap: 1px;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-title > span {
    font-size: 8px;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-list > .semi-button {
    min-height: 72px;
    justify-content: center;
    padding-inline: 10px;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-list > .semi-button .semi-button-content {
    justify-content: center;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-list > .semi-button .semi-button-content-right {
    max-width: 100%;
    flex: 0 1 auto;
    gap: 7px;
  }
}

/*
 * Short landscape account governance.
 * Keep account discovery and permission editing as two compact workspaces:
 * directory controls share one row, while four vehicle grants form a 2 × 2
 * evidence grid without shrinking the touch targets used to edit or remove.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-user-admin {
    gap: 5px;
    padding: 5px 6px 8px;
  }

  .v2-user-discovery-shell {
    display: grid;
    grid-template-columns: minmax(260px, 1.08fr) minmax(220px, .92fr);
    align-items: stretch;
    gap: 5px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .v2-user-discovery-shell > .v2-workspace-command-bar,
  .v2-user-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    min-height: 46px;
    height: 46px;
    margin: 0;
  }

  .v2-user-discovery-shell > .v2-workspace-command-bar {
    border: 1px solid #dce6f2;
    border-radius: 9px;
    padding: 5px 6px 5px 10px;
  }

  .v2-user-command-bar .v2-workspace-command-copy {
    gap: 1px;
  }

  .v2-user-command-bar .v2-workspace-command-copy > .semi-typography:first-child {
    font-size: 12px;
  }

  .v2-user-command-bar .v2-workspace-command-copy > .semi-typography:last-child,
  .v2-user-command-bar .v2-workspace-command-status,
  .v2-user-command-bar .v2-workspace-command-meta {
    display: none;
  }

  .v2-user-command-bar .v2-workspace-command-actions > .semi-button {
    min-height: 34px;
    padding-inline: 9px !important;
  }

  .v2-user-mobile-discovery {
    display: block;
  }

  .v2-user-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    width: 100%;
    border-radius: 9px;
    padding: 5px 9px;
  }

  .v2-user-directory-header.v2-workspace-panel-header {
    min-height: 40px;
    padding: 5px 9px;
  }

  .v2-user-directory-header .v2-workspace-panel-copy {
    gap: 1px;
  }

  .v2-user-directory-header .v2-workspace-panel-copy strong {
    font-size: 12px;
  }

  .v2-user-directory-header .v2-workspace-panel-copy small,
  .v2-user-directory-summary > .semi-typography {
    display: none;
  }

  .v2-user-directory-summary > .semi-tag {
    min-height: 21px;
    padding-inline: 7px;
    font-size: 9px;
  }

  .v2-user-directory-body {
    padding: 0 6px 6px;
  }

  .v2-customer-list-scroll {
    padding-top: 5px;
  }

  .v2-customer-list .semi-list-items {
    gap: 5px;
  }

  .v2-customer-list .v2-user-list-row.semi-list-item,
  .v2-customer-list .v2-user-list-item.semi-button {
    min-height: 62px;
  }

  .v2-customer-list .v2-user-list-item.semi-button {
    padding: 5px 8px;
  }

  .v2-customer-list .v2-user-list-item .semi-button-content {
    grid-template-columns: 32px minmax(0, 1fr) 58px auto;
    gap: 3px 7px;
  }

  .v2-user-avatar.semi-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 11px;
  }

  .v2-user-list-identity b {
    font-size: 12px;
    line-height: 1.2;
  }

  .v2-user-list-identity small {
    margin-top: 2px;
    font-size: 9px;
    line-height: 1.2;
  }

  .v2-user-list-facts b {
    font-size: 9px;
    line-height: 1.2;
  }

  .v2-user-list-facts small {
    font-size: 8px;
    line-height: 1.2;
  }

  .v2-user-status-tag.semi-tag {
    min-width: 42px;
    min-height: 21px;
    font-size: 8px;
  }

  .v2-user-editor-sidesheet .semi-sidesheet-header {
    min-height: 54px;
    padding: 6px 9px 6px 12px;
  }

  .v2-user-editor-sheet-title {
    gap: 7px;
  }

  .v2-user-editor-sheet-title strong {
    font-size: 15px;
  }

  .v2-user-editor-context {
    max-width: none;
    font-size: 8px;
  }

  .v2-user-editor-access-tag.semi-tag {
    min-height: 18px;
    margin-left: 6px;
    padding-inline: 5px;
    font-size: 7px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar {
    min-height: 40px;
    padding-inline: 12px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-bar .semi-tabs-tab {
    min-height: 39px;
    margin-right: 18px;
    font-size: 10px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-tabs > .semi-tabs-content {
    padding: 5px;
    scroll-padding-bottom: 6px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-header {
    min-height: 38px;
    padding-inline: 10px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-header .semi-card-header-wrapper-title h6,
  .v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-header .semi-card-header-wrapper-title > span {
    font-size: 12px;
  }

  .v2-user-editor-sidesheet .v2-user-editor-section > .semi-card-body {
    padding: 6px;
  }

  .v2-user-section-actions > .semi-button {
    min-height: 30px;
    height: 30px;
  }

  .v2-user-vehicle-section.is-composer-collapsed .v2-assigned-toolbar,
  .v2-user-editor-sidesheet .v2-assigned-toolbar {
    min-height: 34px;
    grid-template-columns: auto minmax(190px, 1fr);
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
  }

  .v2-user-editor-sidesheet .v2-assigned-toolbar > span {
    display: block;
  }

  .v2-user-editor-sidesheet .v2-assigned-toolbar small {
    display: none;
  }

  .v2-user-editor-sidesheet .v2-assigned-toolbar > .semi-input-wrapper {
    min-height: 34px;
    height: 34px;
  }

  .v2-user-editor-sidesheet .v2-assigned-toolbar .semi-input {
    height: 32px;
    font-size: 10px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vins {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin-top: 5px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vins > .v2-assigned-vehicle-card.is-mobile-compact.semi-card {
    min-height: 72px;
    padding: 5px 7px;
    contain-intrinsic-size: auto 72px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact > .semi-card-body > header {
    min-height: 30px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > header b {
    font-size: 11px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card > .semi-card-body > header small {
    margin-top: 1px;
    font-size: 8px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-actions > .semi-button,
  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-actions > .semi-button:first-child {
    min-height: 30px;
    height: 30px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact .v2-assigned-vehicle-actions > .semi-button:first-child {
    min-width: 66px;
    padding-inline: 5px;
    font-size: 9px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-card.is-mobile-compact > .semi-card-body > .v2-assigned-vehicle-interval {
    gap: 3px;
    margin-top: 3px;
    padding-top: 3px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-interval small {
    font-size: 8px;
  }

  .v2-user-editor-sidesheet .v2-assigned-vehicle-interval strong {
    font-size: 9px;
  }

  .v2-user-editor-sidesheet .v2-assigned-pagination {
    min-height: 36px;
    margin-top: 2px;
    padding-top: 2px;
  }

  .v2-user-editor-sidesheet .semi-sidesheet-footer {
    min-height: 48px;
    padding: 5px 8px;
  }

  .v2-user-editor-sheet-footer {
    grid-template-columns: auto minmax(150px, 180px);
    gap: 8px;
  }

  .v2-user-save-state > .semi-tag {
    min-width: 46px;
    min-height: 22px;
    font-size: 9px;
  }

  .v2-user-editor-sheet-footer > .semi-button {
    width: 100%;
    min-height: 38px;
    height: 38px;
  }

  .v2-user-identity-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-user-identity-overview > div,
  .v2-user-identity-overview > div:nth-child(3) {
    min-height: 48px;
    grid-column: auto;
    border-top: 0;
    padding: 6px 8px;
  }

  .v2-user-identity-overview > div:nth-child(3) {
    border-left: 1px solid #e1e9f2;
  }

  .v2-user-field-group > header {
    min-height: 40px;
    padding: 5px 8px;
  }

  .v2-user-field-group > .v2-user-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 7px;
  }

  .v2-user-menu-overview {
    min-height: 54px;
    grid-template-columns: 70px minmax(0, 1fr);
    padding: 6px 9px;
  }

  .v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .v2-user-editor-sidesheet .v2-user-menu-section .v2-menu-permissions label {
    min-height: 54px;
    padding: 7px 8px;
  }
}

/*
 * Keep the short-landscape operations evidence layout last in the cascade.
 * The shared mobile workspace rules intentionally favor portrait stacking;
 * these few geometry rules restore the landscape cockpit after those defaults.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-ops-page {
    display: grid;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(196px, .42fr) minmax(0, 1fr);
    grid-template-rows: 44px minmax(0, 1fr);
    gap: 5px;
    overflow: hidden;
    padding: 5px 6px 6px;
  }

  .v2-ops-page > .v2-ops-command-bar,
  .v2-ops-page > .v2-ops-navigation {
    height: 44px;
    min-height: 44px;
  }

  .v2-ops-page > .v2-ops-navigation {
    position: static;
    grid-column: 2;
    grid-row: 1;
    padding: 3px;
  }

  .v2-ops-navigation .v2-ops-tabs.v2-segmented-tabs {
    height: 36px;
    min-height: 36px;
  }

  .v2-ops-page > .v2-ops-workspace {
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-column: 1 / -1;
    grid-row: 2;
    flex: none;
    overflow: auto;
  }

  .v2-ops-page > .v2-ops-workspace.is-reconciliation {
    overflow: hidden;
  }

  .v2-ops-workspace.is-diagnostic {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(176px, .34fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    gap: 5px;
    overflow: hidden;
  }

  .v2-ops-workspace.is-diagnostic > .v2-source-mobile-discovery {
    min-height: 0;
    align-content: start;
    grid-column: 1;
    grid-row: 1;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    height: 50px;
    min-height: 50px;
  }

  .v2-ops-workspace.is-diagnostic > .v2-source-diagnostic.semi-card {
    height: 100%;
    min-height: 0;
    grid-column: 2;
    grid-row: 1;
    overflow: auto;
  }

  .v2-ops-workspace.is-diagnostic > .v2-source-diagnostic > .semi-card-body {
    height: 100%;
    min-height: 0;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-empty.semi-empty,
  .v2-ops-workspace.is-diagnostic .v2-source-loading {
    height: calc(100% - 42px);
    min-height: 120px;
    padding: 12px;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-empty .semi-empty-image {
    display: none;
  }

  .v2-ops-workspace.is-diagnostic .v2-source-summary.semi-card-group {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/*
 * Short landscape access governance.
 * Turn the stacked mobile summary into a compact evidence workspace: discovery
 * shares one row, status scopes become a left rail, and the vehicle list keeps
 * the majority of the first viewport. Detail and governance sheets use the
 * landscape width for parallel context instead of forcing portrait stacking.
 */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-access-page-v3 {
    gap: 5px;
    padding: 5px 6px 6px;
  }

  .v2-access-discovery-shell {
    display: grid;
    grid-template-columns: minmax(260px, 1.08fr) minmax(220px, .92fr);
    align-items: stretch;
    gap: 5px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .v2-access-discovery-shell > .v2-workspace-command-bar,
  .v2-access-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    height: 46px;
    min-height: 46px;
    margin: 0;
  }

  .v2-access-discovery-shell > .v2-workspace-command-bar {
    border: 1px solid #dce6f2;
    border-radius: 9px;
    padding: 5px 6px 5px 10px;
  }

  .v2-access-command-bar .v2-workspace-command-copy {
    gap: 1px;
  }

  .v2-access-command-bar .v2-workspace-command-copy > .semi-typography:first-child {
    font-size: 12px;
  }

  .v2-access-command-bar .v2-workspace-command-copy > .semi-typography:last-child,
  .v2-access-command-bar .v2-workspace-command-status,
  .v2-access-command-bar .v2-workspace-command-meta {
    display: none;
  }

  .v2-access-command-bar .v2-workspace-command-actions {
    gap: 4px;
  }

  .v2-access-command-bar .v2-workspace-command-actions > .semi-button {
    min-height: 34px;
    height: 34px;
    padding-inline: 8px !important;
  }

  .v2-access-mobile-discovery {
    display: block;
  }

  .v2-access-mobile-discovery > .v2-mobile-filter-toggle.semi-button {
    width: 100%;
    border-radius: 9px;
    padding: 5px 9px;
  }

  .v2-access-workspace-v3,
  .v2-access-table-v3.semi-card,
  .v2-access-table-v3 > .semi-card-body {
    height: 100%;
    min-height: 0;
  }

  .v2-access-table-v3 > .semi-card-body {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) 38px;
  }

  .v2-access-table-v3 > .semi-card-body > .v2-workspace-panel-header {
    display: none;
  }

  .v2-access-status-tabs {
    min-height: 0;
    grid-column: 1;
    grid-row: 1;
    border-right: 1px solid #e4eaf2;
  }

  .v2-access-metric-rail.is-queue.semi-card,
  .v2-access-metric-rail.is-queue > .semi-card-body,
  .v2-access-metric-rail .v2-workspace-metric-list {
    height: 100%;
    min-height: 0;
  }

  .v2-access-metric-rail .v2-workspace-metric-list {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .v2-access-metric-rail .v2-workspace-metric-list > span + span {
    border-top: 1px solid #e4eaf2;
    border-left: 0;
  }

  .v2-access-metric-rail .v2-workspace-metric-list > span,
  .v2-access-metric-rail .v2-workspace-metric-action.semi-button,
  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content {
    height: 100%;
    min-height: 0;
  }

  .v2-access-metric-rail .v2-workspace-metric-action .semi-button-content {
    grid-template-columns: auto 1fr;
    padding: 3px 8px;
  }

  .v2-access-table-scroll-v3.is-mobile-scroll {
    min-height: 0;
    grid-column: 2;
    grid-row: 1;
    overflow-y: auto;
  }

  .v2-access-mobile-list {
    gap: 4px;
    padding: 4px;
  }

  .v2-access-mobile-card.semi-card {
    border-radius: 8px;
    contain-intrinsic-size: auto 62px;
  }

  .v2-access-mobile-card-content {
    display: grid;
    grid-template-columns: minmax(142px, .72fr) minmax(0, 1.28fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 7px;
    padding: 5px 7px;
  }

  .v2-access-mobile-card-content > header {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    gap: 4px;
  }

  .v2-access-mobile-card-content > header > span:first-child {
    min-width: 0;
  }

  .v2-access-mobile-card-content > header strong {
    font-size: 12px;
    line-height: 1.15;
  }

  .v2-access-mobile-card-content > header small {
    margin-top: 1px;
    font-size: 7px;
    line-height: 1.15;
  }

  .v2-access-mobile-card-content > header .v2-access-connection-tag.semi-tag {
    min-height: 18px;
    padding-inline: 4px;
    font-size: 7px;
  }

  .v2-access-mobile-card-content > p {
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    font-size: 8px;
    line-height: 11px;
  }

  .v2-access-mobile-protocols {
    min-width: 0;
    grid-column: 2;
    grid-row: 1 / 3;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-self: stretch;
    gap: 3px;
    padding-top: 0;
  }

  .v2-access-mobile-list .v2-access-protocol-cell {
    align-content: center;
    gap: 1px 3px;
    border-radius: 5px;
    padding: 3px 4px;
  }

  .v2-access-mobile-list .v2-access-protocol-label,
  .v2-access-mobile-list .v2-access-protocol-cell > span,
  .v2-access-mobile-list .v2-access-protocol-cell > strong {
    font-size: 7px;
    line-height: 9px;
  }

  .v2-access-mobile-list .v2-access-protocol-cell > span i {
    width: 4px;
    height: 4px;
  }

  .v2-access-table-v3 > .semi-card-body > footer:has(.v2-table-pagination-controls) {
    min-height: 38px;
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 2px 6px;
  }

  .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 {
    height: 30px;
    min-height: 30px;
  }

  .v2-access-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner,
  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner,
  .v2-access-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
  }

  :is(
    .v2-access-detail-sidesheet,
    .v2-access-governance-sidesheet,
    .v2-access-mobile-filter-sidesheet
  ).semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 54px;
    padding: 7px 12px;
  }

  .v2-access-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    overflow: hidden;
    padding: 0;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-v3.is-sheet.semi-card,
  .v2-access-detail-sidesheet .v2-access-inspector-v3.is-sheet > .semi-card-body {
    height: 100%;
    min-height: 0;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-v3.is-sheet > .semi-card-body {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    overflow: hidden;
    background: #f5f8fc;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-focus.semi-card {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    margin: 6px 5px 0 6px;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-focus > .semi-card-body {
    min-height: 76px;
    gap: 7px;
    padding: 8px 9px !important;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-focus strong {
    font-size: 11px;
    line-height: 1.3;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-focus span,
  .v2-access-detail-sidesheet .v2-access-inspector-focus b {
    font-size: 8px;
    line-height: 1.3;
  }

  .v2-access-detail-sidesheet .v2-access-health-strip {
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    margin: 5px 5px 0 6px;
  }

  .v2-access-detail-sidesheet .v2-access-health-strip > span {
    gap: 2px;
    padding: 6px 4px;
  }

  .v2-access-detail-sidesheet .v2-access-health-strip small {
    font-size: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-health-strip strong {
    font-size: 10px;
  }

  .v2-access-detail-sidesheet .v2-access-mobile-profile {
    min-width: 0;
    min-height: 32px;
    grid-column: 1;
    grid-row: 3;
    align-self: start;
    margin: 5px 5px 0 6px;
    border: 1px solid #e0e7ef;
    border-radius: 8px;
    padding: 5px 7px;
  }

  .v2-access-detail-sidesheet .v2-access-mobile-profile small,
  .v2-access-detail-sidesheet .v2-access-mobile-profile strong {
    font-size: 8px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-heading {
    min-height: 38px;
    grid-column: 2;
    grid-row: 1;
    border-left: 1px solid #dfe7f0;
    padding: 5px 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-heading strong {
    font-size: 11px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-heading small {
    font-size: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-heading .semi-tag {
    min-height: 19px;
    padding-inline: 5px;
    font-size: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-details.semi-card-group {
    min-height: 0;
    grid-column: 2;
    grid-row: 2 / 5;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    overflow-y: auto;
    gap: 5px;
    border-left: 1px solid #dfe7f0;
    padding: 5px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-detail.semi-card {
    min-width: 0;
    border-radius: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-detail.is-expanded {
    grid-column: 1 / -1;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-detail > .semi-card-header {
    min-height: 32px;
    padding-inline: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-detail > .semi-card-header .semi-card-header-wrapper-title strong {
    font-size: 9px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-detail .v2-access-protocol-tag.semi-tag {
    min-height: 18px;
    padding-inline: 4px;
    font-size: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-glance {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .v2-access-detail-sidesheet .v2-access-protocol-glance > span {
    gap: 2px;
    padding: 5px 6px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-glance small {
    font-size: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-glance strong {
    font-size: 8px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-toggle.semi-button {
    min-height: 27px;
    height: 27px;
    font-size: 8px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-missing {
    min-height: 52px;
    gap: 2px;
    padding: 7px;
  }

  .v2-access-detail-sidesheet .v2-access-protocol-missing span,
  .v2-access-detail-sidesheet .v2-access-protocol-missing small {
    font-size: 8px;
  }

  .v2-access-detail-sidesheet .v2-access-inspector-v3.is-sheet > .semi-card-body > footer {
    min-width: 0;
    grid-column: 1;
    grid-row: 4;
    padding: 5px 7px;
    font-size: 7px;
  }

  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    overflow: hidden;
    padding: 5px;
  }

  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    min-height: 48px;
    padding: 5px 8px;
  }

  .v2-access-governance-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer .semi-button {
    width: min(180px, 100%);
    min-height: 36px;
    margin-left: auto;
  }

  .v2-access-governance {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 5px;
  }

  .v2-access-governance .v2-access-governance-summary.semi-card {
    height: 100%;
    min-height: 0;
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .v2-access-governance .v2-access-governance-summary > .semi-card-body {
    height: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .v2-access-governance .v2-access-governance-summary > .semi-card-body > div {
    align-content: center;
    gap: 3px;
    padding: 7px 9px;
  }

  .v2-access-governance .v2-access-governance-summary > .semi-card-body > div + div {
    border-top: 1px solid var(--v2-border);
    border-left: 0;
  }

  .v2-access-governance .v2-access-governance-summary strong {
    font-size: 14px;
  }

  .v2-access-governance .v2-access-identity-queue-v3 {
    min-height: 0;
    grid-column: 2;
    grid-row: 1;
    overflow: auto;
  }

  .v2-access-governance .v2-access-settings {
    min-height: 0;
    grid-column: 2;
    grid-row: 2;
  }

  .v2-access-governance .v2-access-identity-queue-v3 .semi-collapse-header,
  .v2-access-governance .v2-access-settings .semi-collapse-header {
    min-height: 44px;
    padding: 5px 8px;
  }

  .v2-access-governance .v2-access-collapse-title {
    gap: 5px;
  }

  .v2-access-governance .v2-access-collapse-title small {
    display: none;
  }

  .v2-access-governance .v2-access-collapse-title strong {
    font-size: 10px;
  }

  .v2-access-governance .v2-access-collapse-title > .semi-tag {
    min-height: 18px;
    padding-inline: 5px;
    font-size: 7px;
  }

  .v2-access-governance .v2-access-identity-grid {
    gap: 4px;
    padding: 4px;
  }

  .v2-access-governance .v2-access-identity-card > .semi-card-body {
    display: grid;
    grid-template-columns: minmax(110px, .55fr) minmax(130px, .7fr) minmax(0, 1fr);
    align-items: stretch;
  }

  .v2-access-governance .v2-access-identity-card header,
  .v2-access-governance .v2-access-identity-facts,
  .v2-access-governance .v2-access-identity-card footer {
    min-width: 0;
    border: 0;
    border-radius: 0;
    padding: 6px 7px;
  }

  .v2-access-governance .v2-access-identity-facts,
  .v2-access-governance .v2-access-identity-card footer {
    border-left: 1px solid #e7edf4;
  }

  .v2-access-governance .v2-access-identity-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-access-governance .v2-access-identity-facts > span {
    padding: 0 4px;
  }

  .v2-access-governance .v2-access-identity-card footer strong {
    font-size: 8px;
    line-height: 1.3;
  }

  .v2-access-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-body {
    padding: 7px;
  }

  .v2-access-mobile-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    padding: 6px 9px;
  }

  .v2-access-mobile-filter-form {
    gap: 7px;
    padding: 8px;
  }

  .v2-access-mobile-filter-form > header {
    display: none;
  }

  .v2-access-mobile-filter-form > div {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .v2-access-mobile-filter-form > div > label.is-search,
  .v2-access-mobile-filter-form > div > label:last-child {
    grid-column: auto;
  }

  .v2-access-mobile-filter-form > div > label {
    gap: 4px;
    font-size: 9px;
  }

  .v2-access-mobile-filter-form > div > label > .semi-input-wrapper,
  .v2-access-mobile-filter-form > div > label > .semi-select {
    min-height: 38px;
  }

  .v2-access-mobile-filter-footer > .semi-button {
    min-height: 36px;
  }
}

/*
 * Shared Semi UI configuration SideSheet: one hierarchy for strategy,
 * column and source-policy work across desktop and mobile.
 */
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-inner {
  overflow: hidden;
  border-left: 1px solid #d9e3ef;
  background: #f5f7fa;
  box-shadow: -22px 0 64px rgba(24, 43, 68, .16);
}

:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-header {
  min-height: 78px;
  border-bottom: 1px solid #e1e8f1;
  background:
    radial-gradient(circle at 12% 0%, rgba(18, 104, 243, .08), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 14px 18px;
}

:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-title {
  min-width: 0;
}

.v2-workspace-config-title {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-right: 6px;
}

.v2-workspace-config-title > span {
  display: grid;
  min-width: 0;
  flex: 1 1 auto;
  gap: 4px;
}

.v2-workspace-config-title strong {
  overflow: hidden;
  color: #1f344c;
  font-size: 19px;
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-config-title small {
  overflow: hidden;
  color: #78879a;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-config-title > .semi-tag {
  min-width: max-content;
  min-height: 25px;
  flex: 0 0 auto;
  justify-content: center;
  border-radius: 999px;
  padding-inline: 9px;
  font-size: 9px;
  font-weight: 700;
}

:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-body {
  min-height: 0;
  overflow: hidden;
  background: #f5f7fa;
  padding: 0;
}

.v2-workspace-config-body {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
}

.v2-workspace-config-summary {
  display: grid;
  min-height: 84px;
  flex: 0 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-bottom: 1px solid #e2e9f1;
  background: #e2e9f1;
}

.v2-workspace-config-summary > span {
  position: relative;
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 3px;
  background: #fff;
  padding: 11px 12px;
}

.v2-workspace-config-summary > span::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: transparent;
  content: '';
}

.v2-workspace-config-summary > span.is-primary::before { background: #1268f3; }
.v2-workspace-config-summary > span.is-success::before { background: #18a76f; }
.v2-workspace-config-summary > span.is-warning::before { background: #f4a340; }
.v2-workspace-config-summary > span.is-danger::before { background: #e95a52; }

.v2-workspace-config-summary small {
  overflow: hidden;
  color: #8794a6;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-config-summary strong {
  overflow: hidden;
  color: #263b53;
  font-size: 14px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-config-summary > span.is-primary strong { color: #1268f3; }
.v2-workspace-config-summary > span.is-success strong { color: #12845a; }
.v2-workspace-config-summary > span.is-warning strong { color: #b86f16; }
.v2-workspace-config-summary > span.is-danger strong { color: #c8423b; }

.v2-workspace-config-summary em {
  overflow: hidden;
  color: #8a97a8;
  font-size: 8px;
  font-style: normal;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-config-content {
  min-height: 0;
  flex: 1 1 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px;
  scrollbar-gutter: stable;
}

:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet, .v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet) .semi-sidesheet-footer {
  min-height: 64px;
  border-top: 1px solid #e1e8f1;
  background: rgba(255, 255, 255, .97);
  padding: 10px 14px;
}

.v2-workspace-config-footer {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.v2-workspace-config-footer > span {
  min-width: 0;
  overflow: hidden;
  color: #78879a;
  font-size: 9px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-config-footer > div {
  display: flex;
  min-width: max-content;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
}

.v2-workspace-config-footer .semi-button {
  min-width: 86px;
  min-height: 38px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
}

.v2-workspace-config-footer .semi-button-primary.semi-button-solid {
  box-shadow: 0 7px 18px rgba(18, 104, 243, .18);
}

/*
 * Shared Semi UI detail SideSheet: preserve each page's evidence content while
 * keeping object identity, status, surface depth and scrolling consistent.
 */
.v2-workspace-detail-sidesheet .semi-sidesheet-inner {
  overflow: hidden;
  border-left: 1px solid #d9e3ef;
  background: #f4f7fb;
  box-shadow: -22px 0 64px rgba(24, 43, 68, .16);
}

.v2-workspace-detail-sidesheet .semi-sidesheet-header {
  min-height: 78px;
  border-bottom: 1px solid #dfe7f0;
  background:
    radial-gradient(circle at 10% 0%, rgba(18, 104, 243, .075), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 13px 18px;
}

.v2-workspace-detail-sidesheet .semi-sidesheet-title {
  min-width: 0;
}

.v2-workspace-detail-sidesheet .v2-workspace-config-title strong {
  font-size: 18px;
}

.v2-workspace-detail-sidesheet .semi-sidesheet-close {
  width: 36px;
  height: 36px;
  border-radius: 9px;
}

.v2-workspace-detail-sidesheet .semi-sidesheet-body {
  min-height: 0;
  overflow: hidden;
  background: #f4f7fb;
  padding: 0;
}

.v2-workspace-detail-sidesheet .v2-workspace-config-content {
  padding: 9px;
  scrollbar-gutter: stable;
}

.v2-workspace-detail-sidesheet .v2-workspace-config-content > .semi-card {
  width: 100%;
  min-height: 100%;
  border-radius: 11px;
}

.v2-alert-detail-sidesheet .v2-workspace-config-content,
.v2-source-evidence-sidesheet .v2-workspace-config-content {
  padding: 0;
}

.v2-history-detail-sidesheet .v2-workspace-config-content,
.v2-access-detail-sidesheet .v2-workspace-config-content {
  padding: 8px;
}

.v2-source-evidence-sidesheet .v2-source-evidence-sheet-body > .v2-source-evidence-body {
  min-height: 100%;
}

.v2-history-column-sidesheet .v2-workspace-config-content {
  overflow: hidden;
  padding: 0;
}

.v2-history-column-sidesheet .v2-history-column-search {
  border-bottom-color: #e2e9f1;
  background: #f8fafc;
  padding: 10px 12px;
}

.v2-history-column-sidesheet .v2-history-column-list {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 9px 11px 12px;
}

.v2-history-column-sidesheet .v2-history-column-list > label {
  min-height: 58px;
  border: 1px solid #dfe7f0;
  border-radius: 10px;
  background: #fff;
  padding: 8px 10px;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.v2-history-column-sidesheet .v2-history-column-list > label:hover {
  border-color: #bfd1e8;
  background: #fbfdff;
  box-shadow: 0 6px 18px rgba(33, 55, 83, .05);
}

.v2-history-column-sidesheet .v2-history-column-list > label:has(.semi-checkbox-checked) {
  border-color: #c8daf5;
  background: linear-gradient(120deg, #f4f8ff 0%, #fff 68%);
}

.v2-mileage-source-sidesheet .v2-workspace-config-content {
  padding: 11px;
}

.v2-mileage-source-sidesheet .v2-mileage-source-list {
  gap: 8px;
}

.v2-mileage-source-sidesheet .v2-mileage-source-card.semi-card {
  border-color: #dce5ef;
  border-radius: 11px;
  box-shadow: 0 6px 18px rgba(31, 53, 80, .045);
}

.v2-source-policy-sidesheet .v2-source-policy-sheet-content {
  gap: 10px;
}

.v2-source-policy-sidesheet .v2-source-policy-cell {
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fff;
  padding: 12px;
  box-shadow: 0 7px 20px rgba(31, 53, 80, .05);
}

@media (max-width: 680px) {
  .v2-workspace-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    border: 1px solid #d8e2ed;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 48px rgba(23, 43, 68, .17);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-workspace-detail-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 70px;
    padding: 10px 12px 10px 14px;
  }

  .v2-workspace-detail-sidesheet .v2-workspace-config-title {
    gap: 8px;
  }

  .v2-workspace-detail-sidesheet .v2-workspace-config-title strong {
    font-size: 16px;
  }

  .v2-workspace-detail-sidesheet .v2-workspace-config-title small {
    max-width: 250px;
    font-size: 9px;
  }

  .v2-workspace-detail-sidesheet .v2-workspace-config-title > .semi-tag {
    min-height: 23px;
    padding-inline: 8px;
    font-size: 8px;
  }

  .v2-workspace-detail-sidesheet .v2-workspace-config-content {
    padding: 8px;
  }

  .v2-alert-detail-sidesheet .v2-workspace-config-content,
  .v2-source-evidence-sidesheet .v2-workspace-config-content {
    padding: 0;
  }

  :is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet).semi-sidesheet-bottom .semi-sidesheet-inner {
    border: 1px solid #d8e2ed;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 48px rgba(23, 43, 68, .17);
  }

  :is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet).semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 68px;
    padding: 10px 12px 10px 14px;
  }

  .v2-workspace-config-title strong {
    font-size: 17px;
  }

  .v2-workspace-config-title small {
    font-size: 9px;
  }

  .v2-workspace-config-title > .semi-tag {
    min-height: 23px;
    padding-inline: 8px;
    font-size: 8px;
  }

  .v2-workspace-config-summary {
    min-height: 68px;
  }

  .v2-workspace-config-summary > span {
    gap: 2px;
    padding: 8px 9px;
  }

  .v2-workspace-config-summary small {
    font-size: 8px;
  }

  .v2-workspace-config-summary strong {
    font-size: 12px;
  }

  .v2-workspace-config-summary em {
    font-size: 7px;
  }

  .v2-workspace-config-content {
    padding: 8px;
  }

  :is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet).semi-sidesheet-bottom .semi-sidesheet-footer {
    min-height: 58px;
    padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
  }

  .v2-workspace-config-footer > span {
    display: none;
  }

  .v2-workspace-config-footer > div {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .v2-workspace-config-footer .semi-button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding-inline: 7px;
    font-size: 9px;
  }

  .v2-history-column-sidesheet .v2-history-column-list {
    gap: 6px;
    padding: 7px 8px 10px;
  }

  .v2-history-column-sidesheet .v2-history-column-list > label {
    min-height: 54px;
    padding: 7px 8px;
  }
}

/*
 * Shared task and editor SideSheets.
 * Task sheets prioritise progress and traceable output; editor sheets preserve
 * a stable title/status boundary while the form owns its save action.
 */
:is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet) .semi-sidesheet-inner {
  overflow: hidden;
  border-left: 1px solid #d9e3ef;
  background: #f4f7fb;
  box-shadow: -22px 0 64px rgba(24, 43, 68, .16);
}

:is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet) .semi-sidesheet-header {
  min-height: 78px;
  border-bottom: 1px solid #dfe7f0;
  background:
    radial-gradient(circle at 10% 0%, rgba(18, 104, 243, .075), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 13px 18px;
}

:is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet) .semi-sidesheet-title {
  min-width: 0;
}

:is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet) .semi-sidesheet-close {
  width: 36px;
  height: 36px;
  border-radius: 9px;
}

:is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet) .semi-sidesheet-body {
  min-height: 0;
  overflow: hidden;
  background: #f4f7fb;
  padding: 0;
}

.v2-workspace-task-sidesheet .v2-workspace-config-content {
  padding: 12px;
}

.v2-workspace-editor-sidesheet .v2-workspace-config-content {
  overflow: hidden;
  padding: 0;
}

.v2-workspace-editor-sidesheet .v2-workspace-config-body,
.v2-workspace-editor-sidesheet .v2-workspace-config-content {
  width: 100%;
}

.v2-workspace-editor-sidesheet .v2-workspace-config-content > .semi-card {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.v2-track-detail-sidesheet.v2-workspace-editor-sidesheet .v2-workspace-config-body,
.v2-track-detail-sidesheet.v2-workspace-editor-sidesheet .v2-workspace-config-content,
.v2-track-detail-sidesheet.v2-workspace-editor-sidesheet .v2-track-rail {
  height: 100%;
}

.v2-track-detail-sidesheet.v2-workspace-editor-sidesheet .v2-workspace-config-title small {
  font-variant-numeric: tabular-nums;
}

.v2-telemetry-evidence-sidesheet .v2-workspace-config-content {
  padding: 10px;
}

.v2-telemetry-evidence-sidesheet .v2-workspace-config-summary > span:first-child strong {
  overflow: visible;
}

.v2-telemetry-evidence-sidesheet .v2-telemetry-detail-protocol.semi-tag {
  min-height: 22px;
  margin: 0;
  border-radius: 999px;
  font-size: 9px;
}

.v2-telemetry-evidence-sidesheet .v2-telemetry-value-detail {
  gap: 10px;
}

.v2-telemetry-evidence-sidesheet .v2-telemetry-value-meta.semi-descriptions,
.v2-telemetry-evidence-sidesheet .v2-telemetry-value-detail > section {
  border-color: #dce5ef;
  border-radius: 11px;
  box-shadow: 0 7px 20px rgba(31, 53, 80, .045);
}

.v2-telemetry-evidence-sidesheet .v2-telemetry-value-detail pre {
  min-height: 220px;
  max-height: none;
  overflow: visible;
}

@media (max-width: 680px) {
  .v2-telemetry-evidence-sidesheet .v2-workspace-config-content {
    padding: 8px;
  }

  .v2-telemetry-evidence-sidesheet .v2-telemetry-value-meta .semi-descriptions-item {
    min-width: 112px;
  }

  .v2-telemetry-evidence-sidesheet .v2-telemetry-value-detail > section > header {
    min-height: 50px;
    align-items: center;
    flex-direction: row;
    padding: 8px 10px 8px 12px;
  }

  .v2-telemetry-evidence-sidesheet .v2-telemetry-value-detail > section > header .semi-button {
    width: auto;
    min-width: 108px;
  }

  .v2-telemetry-evidence-sidesheet .v2-telemetry-value-detail pre {
    min-height: 260px;
    font-size: 9px;
  }
}

.v2-history-export-sidesheet .v2-workspace-config-content {
  background: #f4f7fb;
  padding: 0;
}

.v2-history-export-sidesheet .v2-export-jobs.semi-card {
  min-height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-history-export-sidesheet .v2-export-job-list {
  max-height: none;
  padding: 12px;
}

.v2-history-export-sidesheet .v2-export-job-list > .semi-card-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}

.v2-history-export-sidesheet .v2-export-job-card.semi-card {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 5px 16px rgba(30, 50, 74, .045);
}

.v2-history-export-sidesheet .v2-export-job-card.semi-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: 3px;
  background: #a8b4c3;
  content: '';
}

.v2-history-export-sidesheet .v2-export-job-card.is-running::before { background: #1268f3; }
.v2-history-export-sidesheet .v2-export-job-card.is-completed::before { background: #18a76f; }
.v2-history-export-sidesheet .v2-export-job-card.is-failed::before { background: #e95a52; }

.v2-history-export-sidesheet .v2-export-job-card > .semi-card-header {
  min-height: 47px;
  padding-inline: 14px 12px;
}

.v2-history-export-sidesheet .v2-export-job-name {
  max-width: 310px;
  color: #32475f;
  font-size: 13px;
  font-weight: 700;
}

.v2-history-export-sidesheet .v2-export-job-card > .semi-card-header .semi-tag {
  min-height: 23px;
  font-size: 10px;
}

.v2-history-export-sidesheet .v2-export-job-card > .semi-card-body {
  gap: 8px;
  padding: 12px 13px 12px 14px;
}

.v2-history-export-sidesheet .v2-export-job-summary {
  gap: 5px;
}

.v2-history-export-sidesheet .v2-export-job-summary > span {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.v2-history-export-sidesheet .v2-export-job-summary strong {
  color: #354b63;
  font-size: 13px;
}

.v2-history-export-sidesheet .v2-export-job-summary small {
  color: #7b899a;
  font-size: 10px;
  line-height: 1.55;
}

.v2-history-export-sidesheet .v2-export-job-card .v2-export-download.semi-button {
  min-width: 66px;
  height: 30px;
  flex: 0 0 auto;
  justify-content: center;
  border-radius: 7px;
  background: #edf5ff;
  font-size: 10px;
}

.v2-rule-form-sections {
  display: grid;
  gap: 12px;
  background: #f5f7fa;
  padding: 14px 15px 18px;
}

.v2-rule-form-section {
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(31, 53, 80, .045);
}

.v2-rule-form-section > header {
  min-height: 54px;
  border-bottom: 1px solid #e5ebf2;
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 10px 13px;
}

.v2-rule-form-section > header > span {
  display: grid;
  gap: 3px;
}

.v2-rule-form-section > header h6.semi-typography {
  margin: 0;
  color: #2a4058;
  font-size: 13px;
  font-weight: 720;
}

.v2-rule-form-section > header small {
  color: #8390a2;
  font-size: 10px;
  line-height: 1.45;
}

.v2-rule-form-section > .v2-rule-form-grid {
  gap: 13px 15px;
  padding: 14px;
}

@media (max-width: 680px) {
  :is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet).semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    border: 1px solid #d8e2ed;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 48px rgba(23, 43, 68, .18);
    padding-bottom: env(safe-area-inset-bottom);
  }

  :is(.v2-workspace-task-sidesheet, .v2-workspace-editor-sidesheet).semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 70px;
    padding: 10px 12px 10px 14px;
  }

  .v2-workspace-task-sidesheet .v2-workspace-config-title-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 16px;
  }

  .v2-workspace-task-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    min-height: 58px;
    padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
  }

  .v2-workspace-editor-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
    min-height: 58px;
    padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
  }

  .v2-track-detail-sidesheet .v2-workspace-config-summary {
    min-height: 68px;
  }

  .v2-track-detail-sidesheet .v2-workspace-config-summary strong {
    font-size: 11px;
  }

  .v2-track-detail-sidesheet .v2-workspace-config-summary em {
    font-size: 8px;
  }

  .v2-workspace-task-sidesheet .v2-workspace-config-content {
    padding: 8px;
  }

  .v2-history-export-sidesheet .v2-export-job-list {
    padding: 8px;
  }

  .v2-history-export-sidesheet .v2-export-job-name {
    max-width: 220px;
    font-size: 12px;
  }

  .v2-history-export-sidesheet .v2-export-job-summary strong {
    font-size: 12px;
  }

  .v2-history-export-sidesheet .v2-export-job-summary small {
    font-size: 9px;
  }

  .v2-rule-form-sections {
    gap: 9px;
    padding: 9px 9px 14px;
  }

  .v2-rule-form-section {
    border-radius: 10px;
  }

  .v2-rule-form-section > header {
    min-height: 50px;
    padding: 9px 11px;
  }

  .v2-rule-form-section > header h6.semi-typography {
    font-size: 12px;
  }

  .v2-rule-form-section > header small {
    font-size: 9px;
  }

  .v2-rule-form-section > .v2-rule-form-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 11px 14px;
  }

  .v2-rule-form-section > .v2-rule-form-grid label.is-wide {
    grid-column: auto;
  }
}

/*
 * Semi UI account editor workbenches: the account and grant editors now share
 * the same title, summary and action hierarchy as the other configuration
 * surfaces while preserving one focused scroll area.
 */
.v2-user-editor-sidesheet.v2-workspace-editor-sidesheet .semi-sidesheet-inner {
  width: min(840px, 100vw) !important;
}

.v2-user-editor-sidesheet .v2-workspace-config-summary {
  min-height: 72px;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, .9fr);
}

.v2-user-editor-sidesheet .v2-workspace-config-summary strong {
  font-size: 13px;
}

.v2-user-editor-status-summary {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.v2-user-editor-status-summary > span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.v2-user-editor-sidesheet .v2-workspace-config-content {
  display: flex;
  height: 100%;
}

.v2-user-editor-sidesheet .v2-user-editor-form {
  width: 100%;
  flex: 1 1 0;
}

.v2-user-editor-sidesheet .v2-workspace-config-footer > span {
  display: flex;
  min-width: 0;
}

.v2-user-editor-sidesheet .v2-workspace-config-footer > div {
  min-width: 132px;
}

.v2-user-editor-sidesheet .v2-workspace-config-footer > div > .semi-button {
  width: 100%;
  min-width: 132px;
}

.v2-user-grant-sidesheet .v2-workspace-config-content {
  padding: 14px;
}

.v2-user-grant-sidesheet .v2-workspace-config-summary {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.1fr) minmax(0, 1.05fr);
}

.v2-user-grant-sidesheet .v2-workspace-config-summary strong {
  font-size: 11px;
}

.v2-user-grant-form {
  gap: 10px;
}

.v2-user-grant-field-group {
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(31, 50, 76, .045);
}

.v2-user-grant-field-group > header {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e5ebf2;
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 10px 12px;
}

.v2-user-grant-field-group > header > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-user-grant-field-group > header strong {
  color: #2a4058;
  font-size: 13px;
}

.v2-user-grant-field-group > header small {
  color: #8390a2;
  font-size: 9px;
}

.v2-user-grant-field-group > header > .semi-tag {
  min-height: 22px;
  flex: 0 0 auto;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 700;
}

.v2-user-grant-field-group > div {
  display: grid;
  gap: 13px;
  padding: 13px;
}

.v2-user-grant-field-group label {
  display: grid;
  gap: 7px;
  color: #53677f;
  font-size: 11px;
  font-weight: 650;
}

.v2-user-grant-field-group label > .semi-input-wrapper {
  min-height: 42px;
  border-color: #d5dfeb;
  border-radius: 8px;
  background: #fff;
}

.v2-user-grant-sidesheet .v2-workspace-config-footer > div {
  min-width: 96px;
}

@media (max-width: 680px) {
  .v2-user-editor-sidesheet.v2-workspace-editor-sidesheet .semi-sidesheet-header {
    min-height: 68px;
    padding: 9px 11px 9px 13px;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-title strong {
    font-size: 17px;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-summary {
    min-height: 64px;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-summary > span {
    padding: 7px 8px;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-summary strong {
    font-size: 10px;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-summary em {
    font-size: 7px;
  }

  .v2-user-editor-status-summary {
    gap: 4px;
  }

  .v2-user-editor-status-summary > span {
    display: none;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-footer > span {
    display: flex;
    flex: 0 0 auto;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-footer > div {
    min-width: 0;
    flex: 1 1 0;
  }

  .v2-user-editor-sidesheet .v2-workspace-config-footer > div > .semi-button {
    min-width: 0;
  }

  .v2-user-grant-sidesheet.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
  }

  .v2-user-grant-sidesheet .v2-workspace-config-title small {
    max-width: 245px;
  }

  .v2-user-grant-sidesheet .v2-workspace-config-summary {
    min-height: 64px;
  }

  .v2-user-grant-sidesheet .v2-workspace-config-summary > span {
    padding: 7px 8px;
  }

  .v2-user-grant-sidesheet .v2-workspace-config-summary strong {
    font-size: 9px;
  }

  .v2-user-grant-sidesheet .v2-workspace-config-content {
    padding: 9px;
  }

  .v2-user-grant-field-group > header {
    min-height: 48px;
    padding: 8px 10px;
  }

  .v2-user-grant-field-group > div {
    gap: 10px;
    padding: 10px;
  }
}

/*
 * Semi UI convergence: access governance and reconciliation evidence.
 * Keep the queue/table stable while configuration, evidence and trends share
 * the same identity, summary and scroll hierarchy.
 */
.v2-access-governance-sidesheet .v2-workspace-config-content {
  padding: 10px;
}

.v2-access-governance-sidesheet .v2-access-governance {
  align-content: start;
}

.v2-access-governance-sidesheet .v2-access-identity-queue-v3,
.v2-access-governance-sidesheet .v2-access-settings {
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(31, 53, 80, .045);
}

.v2-reconcile-detail-sidesheet .v2-workspace-config-content {
  padding: 0;
}

.v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:first-child strong,
.v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:nth-child(2) strong {
  font-size: 13px;
}

.v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:last-child strong,
.v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:last-child em {
  overflow: visible;
}

.v2-reconcile-detail-sidesheet .v2-reconcile-detail.is-sheet.semi-card {
  min-height: 100%;
  background: transparent;
}

.v2-reconcile-detail-sidesheet .v2-reconcile-detail.is-sheet > .semi-card-body {
  background: transparent;
}

.v2-reconcile-detail-sidesheet .v2-reconcile-detail-body {
  gap: 10px;
  padding: 10px;
}

.v2-reconcile-trend-sidesheet .v2-workspace-config-content {
  padding: 10px;
}

.v2-reconcile-trend-sidesheet .v2-workspace-config-content > #v2-reconcile-trend,
.v2-reconcile-trend-sidesheet .v2-reconcile-trend.semi-card {
  min-height: 100%;
}

.v2-reconcile-trend-sidesheet .v2-reconcile-trend.semi-card {
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(31, 53, 80, .05);
}

@media (max-width: 680px) {
  .v2-access-governance-sidesheet .v2-workspace-config-content,
  .v2-reconcile-detail-sidesheet .v2-reconcile-detail-body,
  .v2-reconcile-trend-sidesheet .v2-workspace-config-content {
    padding: 8px;
  }

  .v2-reconcile-detail-sidesheet .v2-workspace-config-summary {
    min-height: 104px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:last-child {
    min-height: 38px;
    grid-column: 1 / -1;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: baseline;
    align-content: center;
    column-gap: 8px;
    padding-block: 6px;
  }

  .v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:last-child :is(small, strong, em) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:first-child strong,
  .v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:nth-child(2) strong {
    font-size: 11px;
  }

  .v2-reconcile-detail-sidesheet .v2-workspace-config-summary > span:last-child strong {
    font-size: 10px;
  }
}

@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-access-governance-sidesheet .v2-access-governance {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .v2-access-governance-sidesheet .v2-access-identity-queue-v3,
  .v2-access-governance-sidesheet .v2-access-settings {
    grid-column: 1;
  }
}

/*
 * Global help and action workbenches.
 * These high-frequency shell surfaces now use the same Semi UI identity,
 * scrolling and footer hierarchy as configuration, evidence and editor sheets.
 */
:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .semi-sidesheet-inner {
  overflow: hidden;
  border-left: 1px solid #d9e3ef;
  background: #f4f7fb;
  box-shadow: -22px 0 64px rgba(24, 43, 68, .16);
}

:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .semi-sidesheet-header {
  min-height: 78px;
  border-bottom: 1px solid #dfe7f0;
  background:
    radial-gradient(circle at 10% 0%, rgba(18, 104, 243, .08), transparent 36%),
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 13px 18px;
}

:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .semi-sidesheet-title {
  min-width: 0;
}

.v2-workspace-config-title-icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #d7e5f8;
  border-radius: 11px;
  background: linear-gradient(145deg, #f2f7ff 0%, #e8f1ff 100%);
  color: #1268f3;
  font-size: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .semi-sidesheet-close {
  width: 36px;
  height: 36px;
  border-radius: 9px;
}

:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .semi-sidesheet-body {
  min-height: 0;
  overflow: hidden;
  background: #f4f7fb;
  padding: 0;
}

:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .v2-workspace-config-content {
  padding: 11px;
}

:is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .semi-sidesheet-footer {
  min-height: 64px;
  border-top: 1px solid #e1e8f1;
  background: rgba(255, 255, 255, .97);
  padding: 10px 14px;
}

.v2-workspace-help-sidesheet .v2-workspace-config-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v2-workspace-help-sidesheet .v2-workspace-config-summary strong {
  font-size: 13px;
}

.v2-workspace-help-sidesheet .v2-help-panel {
  align-content: start;
}

.v2-workspace-help-sidesheet .v2-help-overview.semi-card {
  min-height: 112px;
}

.v2-workspace-action-sidesheet .v2-workspace-config-title strong {
  font-size: 18px;
}

.v2-workspace-action-sidesheet .v2-workspace-config-title > .semi-tag {
  color: #1268f3;
}

.v2-mobile-more-sidesheet .v2-workspace-config-content {
  padding: 10px;
}

.v2-mobile-more-sidesheet .semi-sidesheet-title > .v2-workspace-config-title {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
}

.v2-mobile-more-sidesheet .v2-mobile-more-groups {
  align-content: start;
}

.v2-vehicle-mobile-actions-sidesheet .v2-workspace-config-content {
  padding: 10px 12px;
}

@media (max-width: 680px) {
  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet).semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #d8e2ed;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: #f4f7fb;
    box-shadow: 0 -18px 48px rgba(23, 43, 68, .18);
    padding-bottom: env(safe-area-inset-bottom);
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet).semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 70px;
    padding: 10px 12px 10px 14px;
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .v2-workspace-config-title {
    gap: 8px;
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .v2-workspace-config-title-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 16px;
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .v2-workspace-config-title strong {
    font-size: 16px;
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .v2-workspace-config-title small {
    max-width: 210px;
    font-size: 9px;
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet) .v2-workspace-config-content {
    padding: 8px;
  }

  :is(.v2-workspace-help-sidesheet, .v2-workspace-action-sidesheet).semi-sidesheet-bottom .semi-sidesheet-footer {
    min-height: 58px;
    padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
  }

  .v2-workspace-help-sidesheet .v2-workspace-config-summary {
    min-height: 64px;
  }

  .v2-workspace-help-sidesheet .v2-workspace-config-summary > span {
    padding: 7px 8px;
  }

  .v2-workspace-help-sidesheet .v2-workspace-config-summary strong {
    font-size: 10px;
  }

  .v2-workspace-help-sidesheet .v2-help-overview.semi-card {
    min-height: 0;
  }

  .v2-workspace-help-sidesheet .v2-help-panel li {
    min-height: 54px;
  }

  .v2-mobile-more-sidesheet .v2-workspace-config-content {
    padding: 8px 9px 10px;
  }

  .v2-vehicle-mobile-actions-sidesheet .v2-workspace-config-content {
    padding: 9px 11px;
  }
}

@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-workspace-action-sidesheet.v2-vehicle-mobile-actions-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: min(100dvh, 380px) !important;
    max-height: 100dvh;
    border-radius: 16px 16px 0 0;
  }

  .v2-workspace-action-sidesheet.v2-vehicle-mobile-actions-sidesheet .v2-vehicle-mobile-actions-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/*
 * Unified Semi UI filter workbench.
 * Desktop advanced ranges and mobile discovery sheets now share one identity,
 * one scroll owner and one explicit draft-to-apply action boundary.
 */
.v2-workspace-filter-sidesheet .semi-sidesheet-inner {
  background: #f4f7fb;
}

.v2-workspace-filter-sidesheet .semi-sidesheet-header {
  background:
    radial-gradient(circle at 10% 0%, rgba(18, 104, 243, .1), transparent 38%),
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}

.v2-workspace-filter-sidesheet .v2-workspace-config-title-icon {
  border-color: #cfe0f7;
  background: linear-gradient(145deg, #f4f8ff 0%, #e7f0ff 100%);
}

.v2-workspace-filter-sidesheet .v2-workspace-config-summary {
  min-height: 74px;
}

.v2-workspace-filter-sidesheet .v2-workspace-config-summary strong {
  font-size: 12px;
}

.v2-workspace-filter-sidesheet .v2-workspace-config-content {
  padding: 10px;
}

.v2-workspace-filter-sidesheet .v2-alert-advanced-filter {
  gap: 13px;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 8px 24px rgba(31, 53, 80, .05);
}

.v2-workspace-filter-sidesheet .v2-alert-advanced-filter label {
  gap: 6px;
}

@media (max-width: 680px) {
  .v2-workspace-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    width: 100% !important;
    max-width: 100%;
    padding-bottom: env(safe-area-inset-bottom);
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-title {
    gap: 8px;
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-title-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 16px;
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-title strong {
    font-size: 16px;
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-title small {
    max-width: min(48vw, 210px);
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-content {
    padding: 8px;
  }

  .v2-workspace-filter-sidesheet .v2-mobile-filter-sheet-section {
    border-color: #dce5ef;
    border-radius: 11px;
    box-shadow: 0 7px 22px rgba(31, 53, 80, .045);
  }

  .v2-source-mobile-filter-sidesheet .v2-source-candidates.v2-vehicle-candidate-list {
    position: static;
    max-height: min(390px, 43dvh);
  }

  .v2-source-mobile-filter-empty {
    display: grid;
    min-height: 190px;
    place-content: center;
    justify-items: center;
    gap: 7px;
    border: 1px dashed #cad8e9;
    border-radius: 12px;
    background:
      radial-gradient(circle at 50% 0%, rgba(18, 104, 243, .07), transparent 48%),
      rgba(255, 255, 255, .72);
    color: #7b8b9f;
    padding: 20px;
    text-align: center;
  }

  .v2-source-mobile-filter-empty > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #d4e2f5;
    border-radius: 12px;
    background: #eef5ff;
    color: #1268f3;
    font-size: 18px;
  }

  .v2-source-mobile-filter-empty > strong {
    color: #2b4058;
    font-size: 13px;
  }

  .v2-source-mobile-filter-empty > small {
    max-width: 250px;
    color: #7c8b9e;
    font-size: 9px;
    line-height: 1.55;
  }
}

@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .v2-workspace-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
    height: 100dvh !important;
    max-height: 100dvh;
    border-radius: 0;
  }

  .v2-workspace-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
    min-height: 54px;
    padding: 7px 10px 7px 12px;
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-title-icon,
  .v2-workspace-filter-sidesheet .v2-workspace-config-title small,
  .v2-workspace-filter-sidesheet .v2-workspace-config-title > .semi-tag,
  .v2-workspace-filter-sidesheet .v2-mobile-filter-sheet-section > header {
    display: none;
  }

  .v2-workspace-filter-sidesheet .v2-workspace-config-content {
    padding: 7px;
  }

  .v2-source-mobile-filter-empty {
    min-height: 88px;
    padding: 10px;
  }
}

/*
 * Shared Semi UI dialog language.
 * High-impact forms and confirmations now use one title, content, impact
 * summary and footer hierarchy on desktop and mobile.
 */
.v2-workspace-dialog .semi-modal {
  width: min(480px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px);
}

.v2-workspace-dialog .semi-modal-content {
  overflow: hidden;
  border: 1px solid #d9e3ef;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 28px 88px rgba(19, 37, 61, .22);
}

.v2-workspace-dialog .semi-modal-header {
  min-height: 78px;
  border-bottom: 1px solid #e5ebf2;
  background:
    radial-gradient(circle at 0 0, rgba(18, 104, 243, .07), transparent 44%),
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  padding: 15px 19px;
}

.v2-workspace-dialog .semi-modal-title {
  width: 100%;
  min-width: 0;
}

.v2-workspace-dialog-title {
  display: grid;
  min-width: 0;
  grid-template-columns: 40px minmax(0, 1fr) auto 34px;
  align-items: center;
  gap: 11px;
}

.v2-workspace-dialog-title-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid #d7e5f8;
  border-radius: 12px;
  background: #edf5ff;
  color: #1268f3;
  font-size: 18px;
}

.v2-workspace-confirm-dialog .v2-workspace-dialog-title-icon {
  border-color: #f4ddbd;
  background: #fff7e8;
  color: #dc7b12;
}

.v2-workspace-dialog-title > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.v2-workspace-dialog-title strong {
  overflow: hidden;
  color: #263b53;
  font-size: 17px;
  font-weight: 740;
  letter-spacing: -.02em;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-dialog-title small {
  overflow: hidden;
  color: #7d8da1;
  font-size: 10px;
  font-weight: 520;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-dialog-title > .semi-tag {
  height: 25px;
  border-radius: 999px;
  padding-inline: 9px;
  font-size: 9px;
  font-weight: 720;
}

.v2-workspace-dialog-close.semi-button {
  width: 34px;
  min-width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #72839a;
  padding: 0;
}

.v2-workspace-dialog-close.semi-button:hover {
  background: #edf3fb;
  color: #23415f;
}

.v2-workspace-dialog .semi-modal-body {
  padding: 0;
}

.v2-workspace-dialog-content {
  padding: 16px 18px 18px;
}

.v2-workspace-dialog .semi-modal-footer {
  margin: 0;
  border-top: 1px solid #e5ebf2;
  background: rgba(251, 252, 254, .96);
  padding: 11px 14px;
}

.v2-workspace-dialog-footer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.v2-workspace-dialog-footer-note {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  color: #75869b;
  font-size: 9px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-dialog-footer-note > svg {
  flex: 0 0 auto;
  color: #d78624;
}

.v2-workspace-dialog-footer-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.v2-workspace-dialog-footer-actions > .semi-button {
  min-height: 38px;
  justify-content: center;
  border-radius: 9px;
  padding-inline: 16px;
  font-size: 11px;
  font-weight: 700;
}

.v2-workspace-confirm-copy {
  margin: 0 0 13px;
  color: #53677f;
  font-size: 12px;
  line-height: 1.65;
}

.v2-workspace-dialog-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dfe7f0;
  border-radius: 12px;
  background: #f8fafc;
}

.v2-workspace-dialog-summary > span {
  display: grid;
  min-width: 0;
  min-height: 86px;
  align-content: center;
  gap: 4px;
  padding: 12px;
}

.v2-workspace-dialog-summary > span + span {
  border-left: 1px solid #dfe7f0;
}

.v2-workspace-dialog-summary small {
  color: #8795a7;
  font-size: 8px;
  font-weight: 650;
}

.v2-workspace-dialog-summary strong {
  overflow: hidden;
  color: #2d425a;
  font-size: 14px;
  font-weight: 740;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-dialog-summary em {
  overflow: hidden;
  color: #7b8b9f;
  font-size: 8px;
  font-style: normal;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-workspace-dialog-summary > .is-primary strong {
  color: #1268f3;
}

.v2-workspace-dialog-summary > .is-success strong {
  color: #16805b;
}

.v2-workspace-dialog-summary > .is-warning strong {
  color: #b86c18;
}

.v2-workspace-dialog-summary > .is-danger strong {
  color: #c33c32;
}

.v2-password-modal.v2-workspace-dialog .semi-modal {
  width: min(500px, calc(100vw - 32px)) !important;
}

.v2-password-modal .v2-workspace-dialog-content {
  padding: 16px 18px 18px;
}

.v2-password-modal .v2-password-dialog > label {
  font-size: 12px;
}

.v2-password-modal .v2-password-dialog > label .semi-input-wrapper {
  height: 44px;
}

@media (max-width: 680px) {
  .v2-workspace-dialog .semi-modal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px);
  }

  .v2-workspace-dialog .semi-modal-content {
    max-height: calc(100dvh - 16px);
    border-radius: 16px;
  }

  .v2-workspace-dialog .semi-modal-header {
    min-height: 70px;
    padding: 11px 12px;
  }

  .v2-workspace-dialog-title {
    grid-template-columns: 36px minmax(0, 1fr) auto 34px;
    gap: 9px;
  }

  .v2-workspace-dialog-title-icon {
    width: 36px;
    height: 36px;
    border-radius: 11px;
    font-size: 16px;
  }

  .v2-workspace-dialog-title strong {
    font-size: 15px;
  }

  .v2-workspace-dialog-title small {
    font-size: 9px;
  }

  .v2-workspace-dialog-title > .semi-tag {
    display: none;
  }

  .v2-workspace-dialog-content {
    max-height: calc(100dvh - 158px);
    overflow-y: auto;
    padding: 13px 12px 14px;
  }

  .v2-workspace-confirm-copy {
    margin-bottom: 10px;
    font-size: 11px;
  }

  .v2-workspace-dialog-summary > span {
    min-height: 76px;
    padding: 9px 8px;
  }

  .v2-workspace-dialog-summary strong {
    font-size: 12px;
  }

  .v2-workspace-dialog-summary em {
    white-space: normal;
  }

  .v2-workspace-dialog .semi-modal-footer {
    padding: 9px 10px calc(9px + env(safe-area-inset-bottom));
  }

  .v2-workspace-dialog-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .v2-workspace-dialog-footer-note {
    min-height: 18px;
    justify-content: center;
    font-size: 8px;
  }

  .v2-workspace-dialog-footer-actions {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 8px;
  }

  .v2-workspace-dialog-footer-actions > .semi-button {
    width: 100%;
    min-height: 42px;
  }

  .v2-password-modal .v2-workspace-dialog-content {
    padding: 12px;
  }

  .v2-password-modal .v2-password-dialog > label .semi-input-wrapper {
    height: 46px;
  }
}
