:root {
  --bg: #06101f;
  --bg-soft: #09172a;
  --sidebar: linear-gradient(180deg, #0b1525 0%, #0a1424 46%, #081221 100%);
  --topbar: rgba(5, 14, 26, 0.86);
  --panel: linear-gradient(180deg, rgba(19, 32, 52, 0.94), rgba(12, 24, 42, 0.98));
  --panel-solid: #101d31;
  --card: linear-gradient(145deg, rgba(21, 34, 55, 0.96), rgba(13, 25, 44, 0.96));
  --card-soft: rgba(255, 255, 255, 0.04);
  --text: #eef5ff;
  --text-strong: #ffffff;
  --muted: #9aa9c2;
  --muted-2: #6d7b94;
  --border: rgba(134, 156, 190, 0.16);
  --border-strong: rgba(69, 112, 255, 0.52);
  --primary: #4f7dff;
  --primary-2: #2f6df6;
  --primary-soft: rgba(77, 125, 255, 0.16);
  --green: #5bd878;
  --green-soft: rgba(84, 216, 118, 0.16);
  --orange: #f6a24b;
  --orange-soft: rgba(246, 162, 75, 0.16);
  --red: #ff6f7d;
  --red-soft: rgba(255, 111, 125, 0.16);
  --cyan: #4cc9f0;
  --cyan-soft: rgba(76, 201, 240, 0.15);
  --shadow: 0 22px 55px rgba(0, 0, 0, 0.26);
  --shadow-soft: 0 16px 36px rgba(0, 0, 0, 0.20);
  --header-height: 66px;
}

body.theme-light {
  --bg: #f5f8fc;
  --bg-soft: #f8fbff;
  --sidebar: linear-gradient(180deg, #1688f3 0%, #0772d8 54%, #0063bb 100%);
  --topbar: rgba(255, 255, 255, 0.92);
  --panel: #ffffff;
  --panel-solid: #ffffff;
  --card: #ffffff;
  --card-soft: #f8fbff;
  --text: #152033;
  --text-strong: #091526;
  --muted: #66758d;
  --muted-2: #8a98ae;
  --border: #dfe7f2;
  --border-strong: rgba(47, 109, 246, 0.56);
  --primary: #2f6df6;
  --primary-2: #1367e9;
  --primary-soft: rgba(47, 109, 246, 0.10);
  --green: #2fb856;
  --green-soft: rgba(47, 184, 86, 0.10);
  --orange: #f08a24;
  --orange-soft: rgba(240, 138, 36, 0.12);
  --red: #e44c5e;
  --red-soft: rgba(228, 76, 94, 0.10);
  --cyan: #168eb4;
  --cyan-soft: rgba(22, 142, 180, 0.10);
  --shadow: 0 20px 50px rgba(20, 46, 92, 0.10);
  --shadow-soft: 0 12px 30px rgba(20, 46, 92, 0.08);
}

* {
  box-sizing: border-box;
}

html,
body,
#app {
  min-height: 100vh;
}

body {
  margin: 0;
  min-width: 1180px;
  color: var(--text);
  background:
    radial-gradient(circle at 18% 10%, rgba(47, 109, 246, 0.18), transparent 36%),
    radial-gradient(circle at 90% 5%, rgba(91, 216, 120, 0.08), transparent 28%),
    var(--bg);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  overflow-x: auto;
}

body.theme-light {
  background:
    radial-gradient(circle at 18% 8%, rgba(47, 109, 246, 0.07), transparent 34%),
    radial-gradient(circle at 86% 6%, rgba(47, 184, 86, 0.05), transparent 30%),
    var(--bg);
}

button,
input,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.app {
  display: grid;
  grid-template-columns: 204px minmax(980px, 1fr);
  min-height: 100vh;
}

.app:has(.intl-order-page:not(.customs-plan-page)) {
  grid-template-columns: 204px minmax(980px, 1fr);
}

.sidebar {
  position: sticky;
  z-index: 30;
  top: 0;
  height: 100vh;
  padding: 26px 12px 22px;
  overflow: visible;
  color: #fff;
  background: var(--sidebar);
  border-right: 1px solid var(--border);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.03);
}

body.theme-light .sidebar {
  border-right: none;
  box-shadow: 8px 0 24px rgba(7, 102, 191, 0.12);
}

.brand {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 10px;
  margin-bottom: 18px;
}

.brand-logo {
  display: block;
  width: 100%;
  max-width: 168px;
  height: auto;
  max-height: 34px;
  object-fit: contain;
}

.nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.nav-divider {
  height: 1px;
  margin: 11px 8px;
  background: rgba(255, 255, 255, 0.12);
}

.nav-item {
  display: flex;
  align-items: center;
  width: 100%;
  height: 42px;
  gap: 12px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  color: rgba(238, 245, 255, 0.78);
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  transition: transform .16s ease, background .16s ease, color .16s ease;
}

.nav-item:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
  transform: translateX(2px);
}

.nav-item.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(79, 125, 255, 0.96), rgba(47, 91, 219, 0.88));
  box-shadow: 0 12px 28px rgba(47, 109, 246, 0.24);
}

body.theme-light .nav-item {
  color: rgba(255, 255, 255, 0.88);
}

body.theme-light .nav-item.active {
  color: #1261cb;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(0, 67, 136, 0.13);
}

.nav-item svg {
  flex: 0 0 18px;
}

.nav-flyout-wrap {
  position: relative;
}

.nav-hover-subnav {
  position: absolute;
  z-index: 45;
  top: -12px;
  left: calc(100% + 12px);
  width: 260px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-8px);
  box-shadow: 0 18px 44px rgba(8, 28, 60, 0.24);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.nav-hover-subnav::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -12px;
  width: 12px;
}

.nav-flyout-wrap:hover .nav-hover-subnav,
.nav-flyout-wrap:focus-within .nav-hover-subnav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.nav-hover-subnav .module-subnav-head strong {
  font-size: 17px;
}

.shell {
  min-height: 100vh;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
  padding: 0 26px 0 28px;
  background: var(--topbar);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(18px);
}

.top-left,
.top-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

.hamburger {
  display: grid;
  width: 22px;
  height: 18px;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}

.hamburger span {
  display: block;
  height: 2px;
  border-radius: 999px;
  background: var(--text);
}

.tabs {
  display: flex;
  align-items: center;
  gap: 6px;
}

.tab {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 42px;
  padding: 0 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  background: var(--card-soft);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.tab.active {
  color: #fff;
  background: linear-gradient(135deg, #2f6df6, #294fbd);
  border-color: rgba(80, 126, 255, 0.65);
  box-shadow: 0 12px 24px rgba(47, 109, 246, 0.2);
}

body.theme-light .tab.active {
  color: #1261e2;
  background: #edf4ff;
  box-shadow: none;
}

.icon-btn,
.tool-btn,
.theme-switch button {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 12px;
  color: var(--text);
  background: transparent;
  cursor: pointer;
}

body.theme-light .icon-btn,
body.theme-light .tool-btn,
body.theme-light .theme-switch button {
  background: transparent;
}

.theme-switch {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 38px;
  padding: 3px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card-soft);
}

.theme-switch button {
  width: 34px;
  height: 30px;
  border-radius: 999px;
  color: var(--muted);
}

.theme-switch button.active {
  color: var(--primary);
  background: var(--primary-soft);
}

.badge {
  position: absolute;
  top: -2px;
  right: -1px;
  display: inline-flex;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: #ff5555;
  font-size: 11px;
  font-weight: 800;
  border: 2px solid var(--bg);
}

.account {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.avatar {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 50%;
  color: var(--text);
  background: var(--card-soft);
  border: 1px solid var(--border);
}

.avatar svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.main {
  padding: 26px 28px 34px;
}

.main:has(.intl-order-page:not(.customs-plan-page)) {
  padding: 26px 28px 34px;
}

.page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.page-title {
  margin: 0 0 8px;
  color: var(--text-strong);
  font-size: 26px;
  font-weight: 850;
  line-height: 1.18;
}

.subtitle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}

.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px var(--green-soft);
}

.head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.primary-btn,
.ghost-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
}

.primary-btn {
  color: #fff;
  border: 1px solid rgba(79, 125, 255, 0.78);
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 12px 24px rgba(47, 109, 246, 0.22);
}

.ghost-btn {
  color: var(--text);
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
}

.create-menu {
  position: relative;
}

.create-trigger svg:last-child {
  width: 14px;
  height: 14px;
  margin-left: -2px;
  transition: transform 0.18s ease;
}

.create-menu.is-open .create-trigger svg:last-child {
  transform: rotate(180deg);
}

.create-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 50;
  display: grid;
  min-width: 150px;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-solid);
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.create-menu.is-open .create-dropdown {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.create-dropdown button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 6px;
  color: var(--text);
  background: transparent;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.create-dropdown button:hover,
.create-dropdown button:focus-visible {
  color: var(--text-strong);
  background: var(--primary-soft);
  outline: 0;
}

.create-dropdown svg {
  width: 16px;
  height: 16px;
  color: var(--primary);
  flex: 0 0 16px;
}

.create-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(2, 8, 18, .62);
  backdrop-filter: blur(10px);
  overflow: auto;
}

.create-modal {
  width: min(1040px, calc(100vw - 40px));
  max-height: calc(100vh - 56px);
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--panel-solid);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.create-modal-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: inherit;
  min-height: 0;
}

.create-modal-head,
.create-modal-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015));
}

.create-modal-head h2 {
  margin: 8px 0 0;
  color: var(--text-strong);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0;
}

.create-modal-head p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.create-modal-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.create-modal-close {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, .035);
  font-size: 20px;
  line-height: 1;
}

.create-modal-close:hover,
.create-modal-close:focus-visible {
  color: var(--text-strong);
  border-color: var(--border-strong);
  background: var(--primary-soft);
  outline: 0;
}

.create-modal-body {
  min-height: 0;
  padding: 18px 20px 20px;
  overflow: auto;
}

.create-modal-foot {
  align-items: center;
  justify-content: flex-end;
  border-top: 1px solid var(--border);
  border-bottom: 0;
}

.create-order-form {
  display: grid;
  gap: 16px;
}

.create-form-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}

.create-form-section h3 {
  margin: 0;
  color: var(--text-strong);
  font-size: 15px;
  font-weight: 900;
}

.create-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

.field label,
.service-task-grid label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.field textarea {
  width: 100%;
  min-height: 86px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  font: inherit;
  line-height: 1.45;
  resize: vertical;
  outline: none;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 3px var(--primary-soft);
}

body.theme-light .field textarea {
  background: #fff;
}

.field.span-2 {
  grid-column: span 2;
}

.inline-check,
.service-task-grid label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
}

.inline-check input,
.service-task-grid input {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
  accent-color: var(--primary);
}

.inline-check span,
.service-task-grid span {
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
}

.service-task-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.create-intake-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(135deg, var(--primary-soft), rgba(255, 255, 255, .025));
}

.create-intake-header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.create-intake-header strong {
  display: block;
  margin-top: 5px;
  color: var(--text-strong);
  font-size: 17px;
  font-weight: 900;
}

.create-intake-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.create-intake-status em {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}

@media (max-width: 760px) {
  .create-modal-backdrop {
    align-items: flex-start;
    padding: 12px;
  }

  .create-modal {
    width: min(100%, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
  }

  .create-modal-head,
  .create-modal-foot {
    flex-wrap: wrap;
    padding: 16px;
  }

  .create-modal-foot {
    justify-content: stretch;
  }

  .create-modal-foot button {
    flex: 1 1 140px;
    justify-content: center;
  }

  .create-modal-body {
    padding: 16px;
  }

  .create-form-grid {
    grid-template-columns: 1fr;
  }

  .field.span-2 {
    grid-column: auto;
  }

  .service-task-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .create-intake-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .create-intake-status {
    justify-content: flex-start;
  }
}

@media (max-width: 460px) {
  .service-task-grid {
    grid-template-columns: 1fr;
  }
}

.panel,
.kpi-card,
.work-card,
.mini-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
}

.panel {
  padding: 20px;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.cards-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kpi-card {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 118px;
  padding: 20px;
  background: var(--card);
}

.kpi-icon,
.work-icon,
.step-icon {
  display: grid;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  place-items: center;
  border-radius: 12px;
  color: var(--primary);
  background: var(--primary-soft);
}

.kpi-card.green .kpi-icon {
  color: var(--green);
  background: var(--green-soft);
}

.kpi-card.orange .kpi-icon {
  color: var(--orange);
  background: var(--orange-soft);
}

.kpi-card.red .kpi-icon {
  color: var(--red);
  background: var(--red-soft);
}

.kpi-card.cyan .kpi-icon {
  color: var(--cyan);
  background: var(--cyan-soft);
}

.kpi-label,
.mini-label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.kpi-value,
.mini-value {
  margin-top: 7px;
  color: var(--text-strong);
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.kpi-value.small {
  font-size: 22px;
}

.kpi-meta {
  margin-top: 9px;
  color: var(--muted-2);
  font-size: 12px;
  font-weight: 650;
}

.work-card {
  min-height: 224px;
  padding: 20px;
  background: var(--card);
}

.work-card h3 {
  margin: 18px 0 10px;
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 850;
}

.work-card p {
  min-height: 48px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
}

.work-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
}

.content-grid,
.split {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .8fr);
  gap: 16px;
  margin-bottom: 16px;
}

.panel-head,
.table-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.panel-kicker {
  color: var(--primary);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.panel-title {
  margin: 5px 0 0;
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 850;
}

.panel-sub {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 180px 190px;
  gap: 14px;
  margin-bottom: 18px;
}

.field {
  display: grid;
  gap: 7px;
}

.field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.field input,
.field select {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  outline: none;
}

body.theme-light .field input,
body.theme-light .field select {
  background: #fff;
}

.toolbar-panel {
  margin-bottom: 16px;
  padding-bottom: 2px;
}

.lane-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.lane-tab {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 12px;
  align-items: center;
  min-height: 84px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: var(--card);
  box-shadow: var(--shadow-soft);
  text-align: left;
}

.lane-tab span {
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 850;
}

.lane-tab small {
  grid-column: 1 / 2;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.lane-tab strong {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  display: grid;
  min-width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 18px;
  font-weight: 900;
}

.lane-tab.active {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 1px var(--border-strong), var(--shadow-soft);
}

.v3-bridge-panel {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
  padding: 16px;
}

.v3-bridge-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.v3-bridge-head h3 {
  margin: 0 0 6px;
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 850;
}

.v3-bridge-head p,
.v3-bridge-empty {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.v3-bridge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.v3-bridge-order {
  display: grid;
  gap: 5px;
  min-height: 76px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  text-align: left;
}

body.theme-light .v3-bridge-order {
  background: #fff;
}

.v3-bridge-order span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.v3-bridge-order b,
.v3-bridge-order strong {
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.v3-bridge-order small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.v3-bridge-order:hover:not(:disabled),
.v3-bridge-order:focus-visible {
  border-color: var(--border-strong);
  outline: 0;
}

.v3-bridge-order.empty {
  cursor: default;
  opacity: 0.62;
}

.v3-bridge-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.v3-bridge-meta span {
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .v3-bridge-head {
    align-items: stretch;
    flex-direction: column;
  }

  .v3-bridge-grid {
    grid-template-columns: 1fr;
  }
}

.menu-map-panel {
  margin-bottom: 16px;
}

.menu-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.menu-group {
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(47, 109, 246, .12), rgba(255, 255, 255, .025));
}

.menu-group-head {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.menu-group-head span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 12px;
  font-weight: 900;
}

.menu-group-head strong {
  color: var(--text-strong);
  font-size: 15px;
  font-weight: 900;
}

.menu-group-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.menu-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.menu-chip {
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}

.menu-chip:hover {
  color: var(--text-strong);
  border-color: var(--border-strong);
  background: var(--primary-soft);
}

.menu-chip.active {
  color: var(--text-strong);
  border-color: var(--border-strong);
  background: var(--primary-soft);
  box-shadow: inset 3px 0 0 var(--primary);
}

.module-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.module-content {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.module-subnav {
  position: sticky;
  top: calc(var(--header-height) + 20px);
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 14px;
}

.module-subnav-head {
  display: grid;
  gap: 5px;
  padding: 2px 2px 10px;
  border-bottom: 1px solid var(--border);
}

.module-subnav-head span {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.module-subnav-head strong {
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 900;
}

.module-subnav-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.module-subnav-groups {
  display: grid;
  gap: 12px;
}

.module-subnav-group {
  display: grid;
  gap: 7px;
}

.module-subnav-group h3 {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.module-subnav-item {
  width: 100%;
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text);
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  text-align: left;
}

.module-subnav-item:hover,
.module-subnav-item.active {
  color: var(--text-strong);
  border-color: var(--border-strong);
  background: var(--primary-soft);
}

.module-subnav-item.active {
  box-shadow: inset 3px 0 0 var(--primary);
}

.sidebar .nav-flyout-wrap {
  position: relative;
}

.sidebar .nav-flyout-wrap::after {
  content: "";
  position: absolute;
  top: -12px;
  right: -12px;
  width: 12px;
  height: calc(100% + 24px);
}

.sidebar .nav-flyout-wrap > .module-subnav.nav-hover-subnav {
  position: absolute;
  z-index: 45;
  top: auto;
  bottom: -12px;
  left: calc(100% + 12px);
  width: 292px;
  max-height: min(680px, calc(100vh - 48px));
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-6px);
}

.sidebar .nav-flyout-wrap:hover > .module-subnav.nav-hover-subnav,
.sidebar .nav-flyout-wrap.is-open > .module-subnav.nav-hover-subnav,
.sidebar .nav-flyout-wrap:focus-within > .module-subnav.nav-hover-subnav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.compact-menu-list {
  display: grid;
  gap: 8px;
}

.compact-menu-list div {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}

.compact-menu-list strong {
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 850;
}

.compact-menu-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

.desk-grid {
  display: grid;
  grid-template-columns: minmax(620px, 1.35fr) minmax(360px, .65fr);
  gap: 16px;
  align-items: start;
}

.desk-grid--full {
  grid-template-columns: minmax(0, 1fr);
}

.desk-list,
.detail-panel {
  min-height: 560px;
}

.detail-panel {
  position: sticky;
  top: calc(var(--header-height) + 18px);
}

.detail-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.detail-title h2 {
  margin: 0;
  color: var(--text-strong);
  font-size: 20px;
  font-weight: 900;
}

.detail-title small,
.muted {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.kv,
.finance-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.kv div,
.finance-summary div {
  min-height: 64px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}

body.theme-light .kv div,
body.theme-light .finance-summary div {
  background: #f8fbff;
}

.kv span,
.finance-summary span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.kv strong,
.finance-summary strong {
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
}

.settlement-kpis .kpi-card {
  min-height: 104px;
}

.settlement-business-modules {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.settlement-business-card {
  --module-accent: #2563eb;
  --module-soft: rgba(37, 99, 235, .12);
  appearance: none;
  display: grid;
  gap: 14px;
  min-width: 0;
  min-height: 156px;
  padding: 15px;
  border: 1px solid var(--border);
  border-top: 3px solid var(--module-accent);
  border-radius: 8px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
  box-shadow: var(--shadow-soft);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.settlement-business-card.warehouse {
  --module-accent: #16a34a;
  --module-soft: rgba(22, 163, 74, .12);
}

.settlement-business-card.logistics {
  --module-accent: #2563eb;
  --module-soft: rgba(37, 99, 235, .12);
}

.settlement-business-card.customs {
  --module-accent: #d97706;
  --module-soft: rgba(217, 119, 6, .12);
}

.settlement-business-card.forwarding {
  --module-accent: #dc2626;
  --module-soft: rgba(220, 38, 38, .11);
}

.settlement-business-card:hover,
.settlement-business-card.selected {
  border-color: var(--module-accent);
  background: var(--module-soft);
}

.settlement-business-card.selected {
  box-shadow: 0 0 0 2px var(--module-soft), var(--shadow-soft);
}

.settlement-business-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.settlement-business-card__head > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.settlement-business-card__icon {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--module-accent) 35%, transparent);
  border-radius: 8px;
  background: var(--module-soft);
  color: var(--module-accent);
}

.settlement-business-card__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.settlement-business-card__head small,
.settlement-business-card__amounts small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.settlement-business-card__head strong {
  color: var(--text-strong);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.settlement-business-card__amounts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.settlement-business-card__amounts > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.settlement-business-card__amounts strong {
  overflow-wrap: anywhere;
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.3;
}

.settlement-business-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  color: var(--muted-2);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}
.settlement-source-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.settlement-source-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow-soft);
}

.settlement-source-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.settlement-source-card strong {
  overflow-wrap: anywhere;
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.3;
}

.settlement-source-card small {
  color: var(--muted-2);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.settlement-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.settlement-list-panel {
  min-width: 0;
}

.settlement-ledger-table td:first-child {
  min-width: 180px;
  overflow-wrap: anywhere;
}

.settlement-ledger-actions-head,
.settlement-ledger-actions-cell {
  width: 92px;
  text-align: right !important;
}

.settlement-ledger-edit {
  display: inline-flex;
  min-height: 32px;
  padding: 6px 11px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(68, 151, 255, .38);
  border-radius: 7px;
  color: #81bdff;
  background: rgba(31, 119, 232, .1);
  font-size: 12px;
  font-weight: 800;
}

.settlement-ledger-edit:hover,
.settlement-ledger-edit:focus-visible {
  border-color: rgba(92, 172, 255, .72);
  color: #fff;
  background: rgba(31, 119, 232, .24);
}

.settlement-ledger-edit svg {
  width: 14px;
  height: 14px;
}

.settlement-limit-note {
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}
.progress-card {
  padding: 14px;
  margin-bottom: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(135deg, var(--primary-soft), rgba(255, 255, 255, .025));
}

.progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.progress-meta strong {
  color: var(--text-strong);
}

.progress-bar {
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background: rgba(142, 160, 193, .18);
}

.progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), var(--green));
}

.detail-section {
  margin-top: 16px;
}

.detail-section h3 {
  margin: 0 0 10px;
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 850;
}

.task-list {
  display: grid;
  gap: 9px;
}

.task-list div {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}

.task-list span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 12px;
  font-weight: 900;
}

.task-list strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
}

.doc-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.doc-list span {
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
  font-size: 12px;
  font-weight: 750;
}

.v3-source-link a {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: inherit;
  background: rgba(47, 109, 246, .08);
  text-decoration: none;
}

.v3-source-link a:hover,
.v3-source-link a:focus-visible {
  border-color: rgba(79, 125, 255, .72);
  outline: 0;
}

.v3-source-link span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.v3-source-link strong {
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 850;
}

.charge-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.charge-list div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}

.charge-list strong {
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 850;
}

.charge-list small {
  grid-column: 2 / 3;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.charge-list b {
  color: var(--text-strong);
  font-size: 14px;
}

.charge-list em {
  grid-column: 3 / 4;
  font-style: normal;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

.module-table {
  width: 100%;
  margin-top: 16px;
  border-collapse: collapse;
  table-layout: fixed;
}

.module-table th,
.module-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-size: 13px;
  text-align: left;
}

.module-table th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.module-table tr:last-child td {
  border-bottom: 0;
}

.table-scroll {
  overflow: auto;
}

.data-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  table-layout: fixed;
}
/* Order numbers vary considerably in length. Let this table size the first
   column from its content so an identifier never paints over the customer. */
.order-data-table {
  table-layout: auto;
}

.order-data-table th:first-child,
.order-data-table .order-number-cell {
  width: 1%;
  white-space: nowrap;
}

.data-table th,
.data-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-size: 13px;
  text-align: left;
}

.data-table th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.data-table tr:last-child td {
  border-bottom: 0;
}

.data-table tr.clickable {
  cursor: pointer;
}

.data-table tr.clickable:hover td {
  background: rgba(79, 125, 255, .08);
}

.data-table tr.selected td {
  background: var(--primary-soft);
}

.data-table tr.selected .order-actions-cell {
  background: linear-gradient(var(--primary-soft), var(--primary-soft)), var(--panel-solid);
}

.data-table tr.clickable:hover .order-actions-cell {
  background: linear-gradient(rgba(79, 125, 255, .08), rgba(79, 125, 255, .08)), var(--panel-solid);
}

.order-actions-head,
.order-actions-cell {
  position: sticky;
  right: 0;
  z-index: 2;
  width: 176px;
  text-align: right;
  background: var(--panel-solid);
  box-shadow: -14px 0 18px rgba(6, 16, 31, .78);
}

.order-actions-head {
  z-index: 3;
}

.order-edit-btn {
  height: 32px;
  padding: 0 10px;
  white-space: nowrap;
}

.order-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.order-edit-btn svg,
.order-delete-btn svg {
  width: 15px;
  height: 15px;
}

.order-delete-btn {
  height: 32px;
  padding: 0 10px;
  color: var(--red);
  border-color: rgba(255, 85, 112, .34);
  white-space: nowrap;
}

.order-delete-btn:hover {
  background: rgba(255, 85, 112, .12);
  border-color: rgba(255, 85, 112, .58);
}

.strong {
  color: var(--text-strong);
  font-weight: 800;
}

.mono {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
}

.status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 10px;
  border-radius: 8px;
  color: var(--muted);
  background: rgba(142, 160, 193, .12);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.status.done {
  color: var(--green);
  background: var(--green-soft);
}

.status.current {
  color: var(--primary);
  background: var(--primary-soft);
}

.status.warn {
  color: var(--orange);
  background: var(--orange-soft);
}

.status.danger {
  color: var(--red);
  background: var(--red-soft);
}

.route-map {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background:
    radial-gradient(circle at 18% 35%, rgba(79, 125, 255, .26), transparent 18%),
    radial-gradient(circle at 78% 58%, rgba(91, 216, 120, .18), transparent 20%),
    linear-gradient(135deg, rgba(79, 125, 255, .07), rgba(255, 255, 255, .025));
}

.route-line {
  position: absolute;
  left: 14%;
  right: 15%;
  top: 50%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary), var(--green));
  transform: rotate(-8deg);
}

.map-truck {
  position: absolute;
  left: 49%;
  top: 42%;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--primary);
  box-shadow: 0 0 0 9px var(--primary-soft), 0 18px 40px rgba(47, 109, 246, .25);
}

.map-point {
  position: absolute;
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-strong);
  background: var(--panel-solid);
  font-size: 12px;
  font-weight: 850;
}

.map-point.start {
  left: 11%;
  top: 56%;
}

.map-point.mid {
  left: 47%;
  top: 28%;
}

.map-point.end {
  right: 11%;
  top: 44%;
}

.mini-card {
  padding: 18px;
  background: var(--card);
}

.mini-card .status {
  margin-top: 12px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.notice,
.empty {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, .04);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}

.timeline {
  display: grid;
  gap: 14px;
}

.timeline-item {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 12px;
  align-items: start;
}

.timeline-dot {
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 5px var(--primary-soft);
}

.timeline-title {
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 800;
}

.timeline-meta {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 30;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text-strong);
  background: var(--panel-solid);
  box-shadow: var(--shadow);
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 1360px) {
  .app {
    grid-template-columns: 190px minmax(960px, 1fr);
  }

  .cards-grid {
    gap: 12px;
  }

  .menu-map {
    grid-template-columns: 1fr;
  }

  .module-shell {
    grid-template-columns: 200px minmax(0, 1fr);
  }

  .kpi-card {
    padding: 18px;
  }
}

.intl-order-page {
  display: grid;
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding-bottom: 72px;
  overflow: visible;
}

.intl-order-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
}

.intl-order-title.panel {
  min-width: 0;
  padding: 20px;
  border-color: var(--border);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.intl-order-page .panel {
  min-width: 0;
  border-radius: 12px;
}

.intl-order-main > .panel {
  min-width: 0;
  padding: 20px;
}

.intl-order-title-body {
  flex: 1 1 auto;
  min-width: 0;
}

.intl-order-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin-bottom: 18px;
}

.intl-order-title h2 {
  margin: 0;
  color: var(--text-strong);
  font-size: 26px;
  line-height: 1.28;
  font-weight: 900;
  letter-spacing: 0;
}

.intl-order-tools {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.intl-order-tools .icon-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  font-size: 13px;
}

.intl-order-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px, 1fr));
  gap: 14px;
  min-width: 0;
}

.intl-field {
  min-width: 0;
  min-height: 72px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}

body.theme-light .intl-field {
  background: #f7f9fa;
}

.intl-field span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.24;
  font-weight: 780;
}

.intl-field-values {
  display: flex;
  gap: 10px;
  min-height: 24px;
  min-width: 0;
}

.intl-field-values strong {
  display: block;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  color: var(--text-strong);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intl-order-state {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.intl-order-shell {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  width: 100%;
  min-width: 0;
}

.intl-order-side {
  position: sticky;
  top: calc(var(--header-height) + 18px);
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 12px;
}

.intl-order-side button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  font-size: 14px;
  font-weight: 800;
  text-align: left;
}

.intl-order-side button.active,
.intl-order-side button:hover {
  color: var(--text-strong);
  border-color: var(--border-strong);
  background: var(--primary-soft);
}

.intl-order-main {
  display: grid;
  min-width: 0;
  gap: 16px;
}

.intl-order-page:not(.customs-plan-page) .data-table {
  table-layout: auto;
}

.intl-order-page:not(.customs-plan-page) .data-table th,
.intl-order-page:not(.customs-plan-page) .data-table td {
  padding: 14px 12px;
  font-size: 14px;
  line-height: 1.45;
}

.intl-order-page:not(.customs-plan-page) .data-table th {
  font-size: 13px;
  font-weight: 850;
}

.intl-order-page .table-scroll {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

.intl-order-main [data-intl-section-target],
.intl-order-main [data-intl-fee-target] {
  scroll-margin-top: calc(var(--header-height) + 18px);
}

.intl-tabs,
.intl-subtabs,
.intl-button-row,
.intl-fee-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.intl-tabs {
  margin-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.intl-tabs button,
.intl-subtabs button,
.intl-fee-action {
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--muted);
  background: transparent;
  font-size: 14px;
  font-weight: 820;
}

.intl-tabs button.active,
.intl-subtabs button.active {
  color: var(--text-strong);
  border-bottom-color: #0c8b82;
  background: transparent;
}

.intl-field-grid,
.intl-plan-detail {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px, 1fr));
  gap: 14px;
  min-width: 0;
}

.intl-field-grid.compact {
  margin-bottom: 16px;
}

.intl-form-stack {
  display: grid;
  gap: 16px;
}

.intl-form-group {
  display: grid;
  gap: 0;
}

.intl-section-head {
  margin-bottom: 12px;
}

.intl-section-heading {
  min-width: 0;
}

.intl-section-heading h3 {
  margin: 0 0 12px;
  padding-left: 12px;
  border-left: 3px solid #0c8b82;
  color: var(--text-strong);
  font-size: 16px;
  line-height: 1.35;
  font-weight: 900;
}

.intl-section-head .intl-section-heading h3 {
  margin-bottom: 0;
}

.intl-maintenance-section {
  display: grid;
  gap: 0;
}

.intl-flow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px, 1fr));
  gap: 14px;
  margin-top: 0;
  min-width: 0;
}

.intl-flow-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  min-height: 142px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
}

body.theme-light .intl-flow-card {
  background: #ffffff;
}

.intl-flow-card.selected {
  border-color: #0c8b82;
  box-shadow: inset 0 0 0 1px rgba(12, 139, 130, .24);
}

.intl-flow-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.intl-flow-card-top > div {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 6px;
}

.intl-flow-card strong {
  overflow: hidden;
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intl-flow-step {
  flex: 0 0 auto;
  color: var(--text);
  background: transparent;
  font-size: 14px;
  font-weight: 900;
}

.intl-flow-status {
  flex: 0 0 auto;
  color: #d58a21;
  font-size: 13px;
  font-weight: 850;
}

.intl-flow-card dl {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 8px 10px;
  margin: 0;
}

.intl-flow-card dt {
  color: var(--muted);
  font-size: 13px;
  font-weight: 720;
}

.intl-flow-card dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intl-flow-detail {
  margin-left: 5px;
}

.intl-subtabs {
  margin: 14px 0 12px;
  border-bottom: 0;
}

.intl-subtabs button {
  border-radius: 0;
}

.intl-table-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
  min-width: 0;
}

.intl-compact-table {
  min-width: 100%;
}

.intl-compact-table th,
.intl-compact-table td,
.intl-fee-table th,
.intl-fee-table td {
  padding: 14px 12px;
  font-size: 14px;
  line-height: 1.45;
}

.intl-fee-actions {
  margin: 0 0 14px;
  gap: 8px;
}

.intl-fee-action {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .02);
  font-size: 14px;
}

.intl-fee-action.primary {
  color: #fff;
  border-color: var(--primary);
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
}

.intl-fee-action.danger {
  color: #c94747;
  border-color: rgba(201, 71, 71, .46);
  background: rgba(201, 71, 71, .08);
}

.intl-dropdown-caret {
  margin-left: 4px;
  font-size: 10px;
  line-height: 1;
}

.intl-fee-block {
  display: grid;
  gap: 0;
  min-width: 0;
}

.intl-fee-block + .intl-fee-block {
  margin-top: 18px;
}

.intl-fee-table {
  min-width: 100%;
  table-layout: auto;
}

.intl-fee-check {
  width: 40px;
  text-align: center;
}

.intl-fee-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--primary);
}

.intl-row-index {
  width: 58px;
  color: var(--muted);
  text-align: center;
  font-weight: 850;
}

.intl-section-title {
  margin: 10px 0 14px;
  padding-left: 12px;
  border-left: 3px solid #0c8b82;
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 900;
}

.intl-task-heading {
  margin-top: 12px;
}

.intl-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  margin: 10px 0 14px;
  border: 1px solid var(--border);
  border-bottom: 0;
  background: rgba(255, 255, 255, .025);
}

body.theme-light .intl-summary-strip {
  background: #fbfcfd;
}

.intl-summary-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  min-height: 54px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
}

.intl-summary-item:nth-child(4n) {
  border-right: 0;
}

.intl-summary-item span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 13px;
  font-weight: 780;
}

.intl-summary-item strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intl-summary-item.warn strong {
  color: var(--warning);
}

.intl-summary-item.current strong {
  color: #0c8b82;
}

.intl-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.intl-notes label {
  display: grid;
  gap: 8px;
  min-width: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.intl-notes textarea {
  min-height: 88px;
  resize: vertical;
  border: 1px solid var(--border);
  border-radius: 2px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
  font: inherit;
}

.intl-bottom-bar {
  position: sticky;
  bottom: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 66px;
  padding: 14px 20px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--topbar);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}

.intl-bottom-actions {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.intl-order-page .primary-btn,
.intl-order-page .ghost-btn {
  height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
}

.intl-order-page .primary-btn {
  border-color: var(--primary);
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
}

.intl-order-page .ghost-btn {
  background: rgba(255, 255, 255, .02);
}

.intl-logistics-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.intl-bottom-bar[data-mode="order"] [data-intl-bottom-mode="fees"],
.intl-bottom-bar[data-mode="fees"] [data-intl-bottom-mode="order"] {
  display: none;
}

.customs-plan-page .intl-field.required span::before {
  content: "*";
  margin-right: 4px;
  color: var(--red);
  font-weight: 950;
}

.customs-plan-page {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 22px;
  padding-bottom: 112px;
  overflow: visible;
}

.app:has(.customs-plan-page) {
  grid-template-columns: 190px minmax(0, 1fr);
}

.main:has(.customs-plan-page) {
  min-width: 0;
  overflow-x: clip;
  padding: 26px 24px 34px;
}

.customs-plan-page .intl-order-title.panel {
  padding: 24px 26px;
  border-color: var(--border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.customs-plan-page .intl-order-heading {
  gap: 18px;
  margin-bottom: 22px;
}

.customs-plan-page .intl-order-title h2 {
  font-size: 26px;
  line-height: 1.28;
  letter-spacing: 0;
}

.customs-plan-page .intl-order-title .status {
  min-height: 32px;
  padding: 6px 14px;
  font-size: 14px;
}

.customs-plan-page .intl-order-tools {
  gap: 12px;
}

.customs-plan-page .intl-order-tools .icon-btn {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  font-size: 16px;
}

.customs-plan-page .intl-order-fields {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 14px;
  min-width: 0;
}

.customs-plan-page .intl-field {
  min-height: 76px;
  padding: 14px 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}

body.theme-light .customs-plan-page .intl-field {
  background: #f7f9fa;
}

.customs-plan-page .intl-field span {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.24;
}

.customs-plan-page .intl-field-values {
  gap: 12px;
  min-height: 28px;
}

.customs-plan-page .intl-field-values strong {
  font-size: 16px;
  line-height: 1.4;
}

.customs-plan-page .intl-order-shell {
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 16px;
  min-width: 0;
  max-width: 100%;
}

.customs-plan-page .intl-order-side {
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
}

.customs-plan-page .intl-order-side button {
  min-height: 48px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 15px;
}

.customs-plan-page .intl-order-main {
  gap: 22px;
  min-width: 0;
  max-width: 100%;
}

.customs-plan-page .intl-order-main > .panel,
.customs-plan-page .intl-maintenance-section,
.customs-plan-page .intl-order-main > section.panel {
  min-width: 0;
  max-width: 100%;
  padding: 22px 24px;
  border-radius: 8px;
}

.customs-plan-page .intl-tabs {
  gap: 12px;
  margin-bottom: 24px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.customs-plan-page .intl-tabs button,
.customs-plan-page .intl-subtabs button,
.customs-plan-page .intl-fee-action {
  min-height: 46px;
  padding: 0 18px;
  font-size: 15px;
}

.customs-plan-page .intl-section-heading h3,
.customs-plan-page .intl-section-title {
  margin-bottom: 20px;
  padding-left: 12px;
  border-left-width: 4px;
  font-size: 20px;
  line-height: 1.35;
}

.customs-plan-page .intl-field-grid,
.customs-plan-page .intl-plan-detail {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 14px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.customs-plan-page .intl-field-grid.compact {
  margin-bottom: 22px;
}

.customs-plan-page .customs-subsection + .customs-subsection {
  margin-top: 32px;
  padding-top: 28px;
}

.customs-plan-page .customs-more-business {
  margin-top: 24px;
  padding-top: 22px;
}

.customs-plan-page .customs-more-business summary {
  margin-bottom: 20px;
  font-size: 15px;
}

.customs-plan-page .intl-compact-table {
  min-width: 1120px;
}

.customs-plan-page .intl-fee-table {
  min-width: 1320px;
}

.customs-plan-page .table-scroll {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.customs-plan-page .intl-compact-table th,
.customs-plan-page .intl-compact-table td,
.customs-plan-page .intl-fee-table th,
.customs-plan-page .intl-fee-table td {
  padding: 14px 16px;
  font-size: 15px;
  line-height: 1.45;
}

.customs-plan-page .intl-fee-actions {
  gap: 14px;
  margin-bottom: 20px;
}

.customs-plan-page .intl-fee-block,
.customs-plan-page .customs-more-business {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.customs-plan-page .intl-fee-actions button,
.customs-plan-page .intl-fee-action {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 15px;
}

.customs-plan-page .customs-board-grid {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 14px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.customs-plan-page .customs-empty-cell {
  height: 136px;
}

.customs-plan-page .customs-fee-summary-title {
  gap: 14px;
}

.customs-plan-page .customs-fee-summary-title strong {
  font-size: 15px;
  line-height: 1.45;
}

.customs-plan-page .intl-bottom-bar {
  min-height: 72px;
  padding: 12px 22px;
  border-radius: 8px;
}

.customs-plan-page .intl-order-page .primary-btn,
.customs-plan-page .intl-order-page .ghost-btn,
.customs-plan-page .primary-btn,
.customs-plan-page .ghost-btn {
  height: 46px;
  padding: 0 20px;
  border-radius: 8px;
  font-size: 15px;
}

.customs-plan-page .customs-bottom-actions {
  gap: 14px;
}

.customs-plan-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.customs-subsection {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding-top: 2px;
  scroll-margin-top: calc(var(--header-height) + 18px);
}

.customs-subsection + .customs-subsection {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.customs-more-business {
  margin-top: 14px;
  padding-top: 8px;
  border-top: 1px dashed var(--border);
}

.customs-more-business summary {
  width: max-content;
  max-width: 100%;
  margin-bottom: 12px;
  color: var(--primary);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.customs-board-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.customs-empty-cell {
  height: 86px;
  text-align: center;
}

.customs-fee-summary-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.customs-fee-summary-title strong {
  color: var(--text-strong);
  font-size: 12px;
  font-weight: 900;
}

.customs-summary-tabs {
  margin-bottom: 12px;
}

.customs-bottom-bar {
  align-items: center;
}

.customs-bottom-actions {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.customs-bottom-bar[data-mode="plan"] [data-customs-bottom-mode="fees"],
.customs-bottom-bar[data-mode="fees"] [data-customs-bottom-mode="plan"] {
  display: none;
}

.logistics-plan-page {
  min-width: 0;
}

.logistics-plan-page .intl-order-fields {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.logistics-plan-shell {
  align-items: start;
}

.logistics-plan-content-grid {
  min-width: 0;
}

.logistics-plan-page .customs-plan-card,
.logistics-plan-page .intl-maintenance-section {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}

.logistics-plan-page .intl-field-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.logistics-plan-page .logistics-contact-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.logistics-plan-page .intl-field {
  min-height: 78px;
}

.logistics-cargo-table {
  min-width: 1120px;
}

.logistics-task-table {
  min-width: 980px;
}

@media (max-width: 1360px) {
  .logistics-plan-page .intl-order-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .logistics-plan-page .intl-field-grid,
  .logistics-plan-page .logistics-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.logistics-task-heading {
  align-items: center;
}

.logistics-task-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card-soft);
}

.logistics-task-view-toggle button {
  min-height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  color: var(--muted);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.logistics-task-view-toggle button.active {
  color: var(--text-strong);
  background: var(--panel-solid);
  box-shadow: inset 0 0 0 1px var(--border);
}

.logistics-task-card-list {
  display: grid;
  gap: 14px;
}

.logistics-task-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card-soft);
}

.logistics-task-card-head,
.logistics-task-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.logistics-task-card-head span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.logistics-task-card-head strong {
  display: block;
  margin-top: 4px;
  color: var(--text-strong);
  font-size: 16px;
  line-height: 1.35;
}

.logistics-task-card-head em {
  font-style: normal;
}

.logistics-task-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-solid);
}

.logistics-task-route strong {
  overflow: hidden;
  color: var(--text-strong);
  font-size: 14px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logistics-task-route span {
  display: inline-grid;
  place-items: center;
  height: 28px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 16px;
  font-weight: 900;
}

.logistics-task-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
}

.logistics-task-meta div {
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
}

.logistics-task-meta span,
.logistics-task-meta strong {
  display: block;
}

.logistics-task-meta span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.logistics-task-meta strong {
  overflow: hidden;
  margin-top: 5px;
  color: var(--text-strong);
  font-size: 13px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logistics-detail-backdrop {
  position: fixed;
  inset: 0;
  z-index: 88;
  background: rgba(8, 13, 24, .58);
  backdrop-filter: blur(4px);
}

.logistics-detail-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 89;
  width: min(760px, calc(100vw - 88px));
  padding: 22px;
  transform: translateX(104%);
  overflow: auto;
  border-radius: 8px 0 0 8px;
  opacity: 0;
  pointer-events: none;
  transition: transform .18s ease, opacity .18s ease;
}

.logistics-detail-drawer.is-open {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

.logistics-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.logistics-drawer-head h3 {
  margin: 0;
  color: var(--text-strong);
  font-size: 20px;
  line-height: 1.25;
}

.logistics-drawer-head .icon-btn {
  width: 34px;
  height: 34px;
  border-radius: 8px;
}

.logistics-detail-section {
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.logistics-detail-section + .logistics-detail-section {
  margin-top: 22px;
}

.logistics-detail-section h4 {
  margin: 0 0 14px;
  color: var(--text-strong);
  font-size: 16px;
  line-height: 1.35;
}

.logistics-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card-soft);
}

.logistics-route div {
  min-width: 0;
}

.logistics-route strong,
.logistics-route span,
.logistics-route em {
  display: block;
}

.logistics-route strong {
  overflow: hidden;
  color: var(--text-strong);
  font-size: 15px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logistics-route span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}

.logistics-route em {
  min-width: 108px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.logistics-detail-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.logistics-detail-list div {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.logistics-detail-list dt {
  color: var(--muted);
  font-size: 13px;
}

.logistics-detail-list dd {
  min-height: 18px;
  margin: 0;
  color: var(--text-strong);
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
}

.logistics-drawer-table {
  min-width: 780px;
}

.logistics-drawer-table th,
.logistics-drawer-table td {
  padding: 10px 12px;
  font-size: 12px;
}

.logistics-node-title {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-strong);
  background: var(--card-soft);
  font-size: 13px;
  line-height: 1.45;
}

.logistics-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.logistics-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 16px;
  min-height: 58px;
  padding: 0 0 18px;
}

.logistics-timeline li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 140px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--primary);
  border-radius: 999px;
  background: var(--panel-solid);
}

.logistics-timeline li::after {
  content: "";
  position: absolute;
  top: 19px;
  bottom: 0;
  left: 144px;
  width: 1px;
  background: var(--border);
}

.logistics-timeline li:last-child::after {
  display: none;
}

.logistics-timeline time {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.logistics-timeline strong {
  display: block;
  color: var(--text-strong);
  font-size: 13px;
  line-height: 1.45;
}

.logistics-timeline p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.intl-summary-card {
  min-height: 104px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card-soft);
}

.intl-summary-card span,
.intl-summary-card strong,
.intl-summary-card em {
  display: block;
}

.intl-summary-card span {
  color: var(--muted);
  font-size: 13px;
}

.intl-summary-card strong {
  margin-top: 10px;
  color: var(--text-strong);
  font-size: 18px;
  line-height: 1.3;
}

.intl-summary-card em {
  width: max-content;
  margin-top: 12px;
  font-style: normal;
}

.ghost-btn.disabled {
  opacity: .48;
  cursor: not-allowed;
}

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

  .intl-field-grid,
  .intl-plan-detail,
  .intl-flow-grid,
  .intl-summary-strip,
  .customs-board-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intl-summary-item:nth-child(4n) {
    border-right: 1px solid var(--border);
  }

  .intl-summary-item:nth-child(2n) {
    border-right: 0;
  }

  .intl-table-pair,
  .intl-notes {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1360px) {
  .app:has(.intl-order-page:not(.customs-plan-page)) {
    grid-template-columns: 204px minmax(980px, 1fr);
  }

  .main:has(.intl-order-page:not(.customs-plan-page)) {
    padding: 26px 28px 34px;
  }

  .intl-order-page:not(.customs-plan-page) .intl-order-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .intl-order-page:not(.customs-plan-page) .intl-field-grid,
  .intl-order-page:not(.customs-plan-page) .intl-plan-detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intl-order-page:not(.customs-plan-page) .intl-flow-grid,
  .intl-order-page:not(.customs-plan-page) .intl-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intl-order-page:not(.customs-plan-page) .intl-table-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intl-order-page:not(.customs-plan-page) .intl-notes {
    grid-template-columns: 1fr;
  }
}

.realtime-map-v2 {
  display: grid;
  gap: 14px;
}

.realtime-map-v2__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.realtime-map-v2__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .045);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.realtime-map-v2__all svg {
  width: 16px;
  height: 16px;
}

.realtime-map-v2__all.is-active,
.realtime-map-v2__all:hover {
  border-color: rgba(56, 189, 248, .42);
  background: rgba(56, 189, 248, .12);
}

.realtime-map-v2__live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, .035);
  font-size: 12px;
  font-weight: 850;
}

.realtime-map-v2__live i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .16);
}

.realtime-map-v2__live strong {
  color: var(--text-strong);
}

.realtime-map-v2__stage {
  position: relative;
  min-height: 410px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(14, 165, 233, .1), rgba(15, 23, 42, .02)),
    rgba(255, 255, 255, .025);
}

.realtime-map-v2__svg {
  display: block;
  width: 100%;
  height: 410px;
}

.realtime-map-v2__ocean {
  fill: rgba(14, 165, 233, .07);
}

.realtime-map-v2__world path,
.realtime-map-v2__empty-land {
  fill: rgba(148, 163, 184, .16);
  stroke: rgba(226, 232, 240, .16);
  stroke-width: .8;
}

.realtime-map-v2__subdivisions path,
.realtime-map-v2__china path {
  fill: none;
  stroke: rgba(226, 232, 240, .1);
  stroke-width: .45;
}

.realtime-map-v2__empty-coast {
  fill: none;
  stroke: rgba(226, 232, 240, .18);
  stroke-width: 2;
}

.realtime-map-v2__route-plot {
  opacity: 1;
  transition: opacity .18s ease;
}

.realtime-map-v2__route-plot.is-muted {
  opacity: .18;
}

.realtime-map-v2__route-shadow {
  fill: none;
  stroke: rgba(15, 23, 42, .58);
  stroke-width: 11;
  stroke-linecap: round;
}

.realtime-map-v2__route-line {
  fill: none;
  stroke: rgba(226, 232, 240, .32);
  stroke-width: 3;
  stroke-linecap: round;
}

.realtime-map-v2__route-progress {
  fill: none;
  stroke: url(#realtimeRouteGradient);
  stroke-width: 4.5;
  stroke-linecap: round;
}

.realtime-map-v2__route-plot.warn .realtime-map-v2__route-progress {
  stroke: #f59e0b;
}

.realtime-map-v2__route-plot.danger .realtime-map-v2__route-progress {
  stroke: #ef4444;
}

.realtime-map-v2__route-plot.done .realtime-map-v2__route-progress {
  stroke: #22c55e;
}

.realtime-map-v2__pin {
  fill: var(--panel);
  stroke: #38bdf8;
  stroke-width: 3;
}

.realtime-map-v2__pin.end {
  stroke: #f59e0b;
}

.realtime-map-v2__carrier circle {
  fill: rgba(15, 23, 42, .92);
  stroke: rgba(255, 255, 255, .72);
  stroke-width: 2;
}

.realtime-map-v2__carrier path {
  fill: #e2e8f0;
}

.realtime-map-v2__summary {
  position: absolute;
  left: 16px;
  bottom: 16px;
  display: grid;
  max-width: min(420px, calc(100% - 32px));
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(15, 23, 42, .82);
  backdrop-filter: blur(16px);
}

.realtime-map-v2__summary span,
.realtime-map-v2__summary em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.realtime-map-v2__summary strong {
  color: var(--text-strong);
  font-size: 15px;
}

.realtime-map-v2__stats {
  position: absolute;
  right: 16px;
  top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, auto));
  gap: 8px;
}

.realtime-map-v2__stats span {
  display: grid;
  gap: 2px;
  min-width: 64px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(15, 23, 42, .78);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  backdrop-filter: blur(14px);
}

.realtime-map-v2__stats strong {
  color: var(--text-strong);
  font-size: 16px;
}

.realtime-map-v2__route-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.realtime-map-v2__route-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 118px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.realtime-map-v2__route-card:hover,
.realtime-map-v2__route-card.is-active {
  border-color: rgba(56, 189, 248, .5);
  background: rgba(56, 189, 248, .09);
}

.realtime-map-v2__route-card-top,
.realtime-map-v2__route-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.realtime-map-v2__route-card-top strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text-strong);
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-map-v2__route-card-top em {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 3px 7px;
  color: var(--text-strong);
  background: rgba(56, 189, 248, .12);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}

.realtime-map-v2__route-card-top em.warn {
  background: rgba(245, 158, 11, .16);
}

.realtime-map-v2__route-card-top em.danger {
  background: rgba(239, 68, 68, .16);
}

.realtime-map-v2__route-card-top em.done {
  background: rgba(34, 197, 94, .14);
}

.realtime-map-v2__route-card-lane,
.realtime-map-v2__route-card-meta {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.realtime-map-v2__route-card-lane {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-map-v2__route-card-bar {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, .18);
}

.realtime-map-v2__route-card-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #38bdf8, #22c55e);
}

.realtime-map-v2__stage--fixed {
  min-height: 410px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.live-map.world-map-shell {
  position: relative;
  width: 100%;
  height: 410px;
  min-height: 410px;
  overflow: hidden;
  border-radius: 12px;
}

.live-map.world-map-shell .fixed-realtime-map {
  width: 100%;
  height: 100%;
}

.fixed-realtime-map {
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(51, 65, 85, .92);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 40%, rgba(14, 165, 233, .14), transparent 36%),
    linear-gradient(145deg, rgba(2, 6, 23, .98), rgba(15, 23, 42, .94));
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .08), inset 0 -40px 80px rgba(2, 6, 23, .42);
  cursor: grab;
}

.fixed-realtime-map.is-dragging {
  cursor: grabbing;
}

.fixed-map-toolbar {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  display: flex;
  gap: 6px;
}

.fixed-map-toolbar button {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .76);
  font: 900 14px/1 inherit;
  backdrop-filter: blur(12px);
  cursor: pointer;
}

.fixed-map-toolbar button:hover {
  border-color: rgba(56, 189, 248, .56);
  color: #fff;
  background: rgba(14, 165, 233, .18);
}

.fixed-map-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.fixed-map-ocean {
  fill: #020617;
}

.fixed-map-grid {
  fill: url("#fixedMapGrid");
  opacity: .34;
}

.fixed-map-grid + path,
#fixedMapGrid path {
  stroke: rgba(148, 163, 184, .16);
  stroke-width: 1;
}

.fixed-map-glow {
  fill: url("#fixedMapGlow");
}

.fixed-map-viewport {
  transition: transform .2s ease;
  transform-box: fill-box;
}

.fixed-realtime-map.is-dragging .fixed-map-viewport {
  transition: none;
}

.fixed-map-land path,
.fixed-map-land-fallback {
  fill: rgba(30, 41, 59, .82);
  stroke: rgba(125, 211, 252, .16);
  stroke-width: .8;
}

.fixed-map-subdivisions path,
.fixed-map-china path,
.fixed-map-coast-fallback {
  fill: none;
  stroke: rgba(148, 163, 184, .18);
  stroke-width: .7;
}

.fixed-map-china path {
  stroke: rgba(34, 197, 94, .2);
}

.fixed-map-city circle {
  fill: #e0f2fe;
  stroke: rgba(56, 189, 248, .48);
  stroke-width: 3;
}

.fixed-map-city--minor circle {
  fill: rgba(186, 230, 253, .82);
  stroke-width: 2;
}

.fixed-map-city text {
  fill: rgba(226, 232, 240, .72);
  font-size: 10px;
  font-weight: 800;
  paint-order: stroke;
  stroke: rgba(2, 6, 23, .9);
  stroke-width: 3px;
}

.map-route {
  color: var(--route-color);
}

.map-route-shadow {
  fill: none;
  stroke: rgba(2, 6, 23, .86);
  stroke-linecap: round;
  stroke-width: 10;
}

.map-route-line {
  fill: none;
  stroke: rgba(148, 163, 184, .34);
  stroke-linecap: round;
  stroke-width: 3.5;
}

.map-route-progress {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 4.5;
  filter: drop-shadow(0 0 8px currentColor);
  animation: fixedRoutePulse 2.2s ease-in-out infinite;
}

.map-route.warn .map-route-progress {
  color: #f59e0b;
}

.map-route.danger .map-route-progress {
  color: #ef4444;
}

.map-route.done .map-route-progress {
  color: #22c55e;
}

.map-route-pin {
  fill: #020617;
  stroke: currentColor;
  stroke-width: 3;
}

.map-route-carrier circle {
  fill: rgba(15, 23, 42, .94);
  stroke: currentColor;
  stroke-width: 2.2;
  filter: drop-shadow(0 0 10px currentColor);
}

.map-route-carrier path {
  fill: currentColor;
}

.map-route-label {
  fill: #e2e8f0;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-anchor: middle;
  paint-order: stroke;
  stroke: rgba(2, 6, 23, .92);
  stroke-width: 4px;
}

@keyframes fixedRoutePulse {
  0%, 100% {
    opacity: .72;
  }

  50% {
    opacity: 1;
  }
}

@media (max-width: 1180px) {
  .realtime-map-v2__route-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .realtime-map-v2__stage {
    min-height: 330px;
  }

  .realtime-map-v2__svg {
    height: 330px;
  }

  .live-map.world-map-shell {
    height: 330px;
    min-height: 330px;
  }

  .realtime-map-v2__stats {
    grid-template-columns: 1fr;
  }

  .realtime-map-v2__route-list {
    grid-template-columns: 1fr;
  }
}

/* 8123 fixed SVG realtime map parity */
.live-map.world-map-shell {
  --g7-ocean-core: #070328;
  --g7-ocean-edge: #01030f;
  --g7-land-main: #152a76;
  --g7-land-alt: #10215f;
  --g7-china: #2546aa;
  --g7-border-dark: rgba(0, 3, 18, .98);
  --g7-border-bright: rgba(78, 210, 255, .64);
  --g7-border-strong: rgba(163, 243, 255, .86);
  --g7-label: rgba(205, 244, 255, .82);
  --g7-label-muted: rgba(129, 196, 225, .52);
  border: 0;
  border-color: transparent;
  border-radius: 0;
  background:
    radial-gradient(ellipse at 47% 44%, rgba(57, 88, 212, .28), transparent 48%),
    radial-gradient(ellipse at 56% 72%, rgba(93, 32, 158, .20), transparent 58%),
    linear-gradient(180deg, #090330 0%, #04031b 62%, #01020b 100%);
  outline: 0;
  box-shadow: none;
}

.live-map.world-map-shell::before {
  content: none;
  display: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
  background: none;
  opacity: 0;
}

.live-map.world-map-shell::after {
  content: none;
  display: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
  background: none;
  opacity: 0;
}

.live-map.world-map-shell .fixed-realtime-map[data-map-provider="fixed-svg"] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  outline: 0;
  background:
    linear-gradient(rgba(108, 224, 255, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(108, 224, 255, .028) 1px, transparent 1px),
    radial-gradient(ellipse at 50% 45%, rgba(45, 76, 188, .26), transparent 50%),
    radial-gradient(ellipse at 55% 76%, rgba(72, 18, 127, .34), transparent 60%),
    linear-gradient(180deg, #070329, #020312 78%, #01020a);
  background-size: 24px 24px, 24px 24px, auto, auto, auto;
  box-shadow: none;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.live-map.world-map-shell .fixed-realtime-map[data-map-provider="fixed-svg"]::before {
  content: none;
  display: none;
  pointer-events: none;
  background: none;
  opacity: 0;
}

.live-map.world-map-shell .fixed-realtime-map[data-map-provider="fixed-svg"].is-dragging {
  cursor: grabbing;
}

.live-map.world-map-shell .fixed-map-controls {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 0;
  border-radius: 4px;
  background: rgba(3, 9, 31, .90);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.live-map.world-map-shell .fixed-map-control {
  display: grid;
  min-width: 27px;
  height: 27px;
  place-items: center;
  border: 0;
  border-radius: 3px;
  padding: 0 7px;
  color: rgba(242, 255, 255, .96);
  background: rgba(6, 25, 58, .94);
  font: 700 11px/1 Arial, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}

.live-map.world-map-shell .fixed-map-control:not(.text) {
  width: 27px;
  padding: 0;
  font-size: 15px;
}

.live-map.world-map-shell .fixed-map-control:hover:not(:disabled) {
  border-color: rgba(141, 249, 255, .82);
  background: rgba(9, 43, 88, .96);
  color: #fff;
}

.live-map.world-map-shell .fixed-map-zoom-readout {
  display: inline-grid;
  min-width: 43px;
  height: 27px;
  place-items: center;
  border: 0;
  border-radius: 3px;
  color: rgba(202, 244, 255, .86);
  background: rgba(2, 8, 25, .74);
  font: 700 11px/1 Arial, sans-serif;
  letter-spacing: 0;
}

.live-map.world-map-shell .fixed-realtime-map-svg {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  background:
    radial-gradient(ellipse at 48% 44%, rgba(52, 83, 202, .22), transparent 48%),
    radial-gradient(ellipse at 54% 72%, rgba(83, 21, 145, .20), transparent 60%),
    linear-gradient(180deg, var(--g7-ocean-core), var(--g7-ocean-edge) 78%, #01020a);
  filter: none;
}

.live-map.world-map-shell .fixed-realtime-map-svg *,
.live-map.world-map-shell .fixed-map-viewport *,
.live-map.world-map-shell .fixed-map-layer * {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.live-map.world-map-shell .fixed-map-ocean {
  fill: transparent;
}

.live-map.world-map-shell .fixed-map-grid {
  fill: url("#fixedMapGrid");
  opacity: .42;
}

.live-map.world-map-shell #fixedMapGrid path {
  stroke: rgba(100, 219, 255, .055);
  stroke-width: .06;
  stroke-dasharray: .45 9;
}

.live-map.world-map-shell .fixed-map-glow {
  fill: url("#fixedMapGlow");
  opacity: .88;
}

.live-map.world-map-shell .fixed-map-viewport {
  transition: transform .2s ease;
  transform-box: fill-box;
}

.live-map.world-map-shell .fixed-realtime-map.is-dragging .fixed-map-viewport {
  transition: none;
}

.live-map.world-map-shell .fixed-map-layer {
  pointer-events: none;
}

.live-map.world-map-shell .fixed-map-land {
  fill: var(--g7-land-main);
  stroke: rgba(99, 215, 255, .46);
  stroke-width: .34;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .98;
  filter: none;
  shape-rendering: geometricPrecision;
  vector-effect: non-scaling-stroke;
}

.live-map.world-map-shell .fixed-map-world-land:nth-of-type(2n) {
  fill: var(--g7-land-alt);
}

.live-map.world-map-shell .fixed-map-china-land {
  fill: var(--g7-china);
  stroke: rgba(174, 246, 255, .78);
  stroke-width: .58;
}

.live-map.world-map-shell .fixed-map-admin {
  fill: none;
  stroke: var(--g7-border-bright);
  stroke-width: .40;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .74;
  filter: none;
  shape-rendering: geometricPrecision;
  vector-effect: non-scaling-stroke;
}

.live-map.world-map-shell .fixed-map-china-admin {
  stroke: var(--g7-border-strong);
  stroke-width: .52;
  opacity: .92;
}

.live-map.world-map-shell .fixed-map-land-fallback path {
  fill: var(--g7-land-main);
  stroke: rgba(99, 215, 255, .46);
  stroke-width: .34;
}

.live-map.world-map-shell .fixed-map-admin-fallback path {
  fill: none;
  stroke: var(--g7-border-bright);
  stroke-width: .52;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .72;
}

.live-map.world-map-shell .fixed-map-city {
  opacity: .72;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.live-map.world-map-shell .fixed-map-city * {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.live-map.world-map-shell .fixed-map-city--major {
  opacity: .96;
}

.live-map.world-map-shell .fixed-map-city-dot {
  fill: rgba(213, 249, 255, .90);
  stroke: rgba(91, 222, 255, .85);
  stroke-width: .18;
  filter: drop-shadow(0 0 2px rgba(91, 222, 255, .55));
  vector-effect: non-scaling-stroke;
}

.live-map.world-map-shell .fixed-map-city-label,
.live-map.world-map-shell .map-route-label {
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  paint-order: stroke fill;
  stroke: rgba(0, 3, 18, .98);
  stroke-linejoin: round;
  text-rendering: geometricPrecision;
}

.live-map.world-map-shell .fixed-map-city-label {
  fill: var(--g7-label);
  font-size: 3.7px;
  stroke-width: .52px;
}

.live-map.world-map-shell .fixed-map-city--major .fixed-map-city-label {
  fill: rgba(235, 252, 255, .94);
  font-size: 4.2px;
  stroke-width: .54px;
}

.live-map.world-map-shell .map-route-group,
.live-map.world-map-shell .fixed-map-route,
.live-map.world-map-shell .fixed-map-route-path {
  pointer-events: none;
}

.live-map.world-map-shell .fixed-map-route-logistics,
.live-map.world-map-shell .fixed-map-route--current {
  --route-color: #2aa8ff;
}

.live-map.world-map-shell .fixed-map-route-forwarding,
.live-map.world-map-shell .fixed-map-route--done {
  --route-color: #37e680;
}

.live-map.world-map-shell .fixed-map-route-customs,
.live-map.world-map-shell .fixed-map-route--warn {
  --route-color: #ffd84d;
}

.live-map.world-map-shell .fixed-map-route--danger {
  --route-color: #ff5c7a;
}

.live-map.world-map-shell .map-route-overlay-base {
  fill: none;
  stroke: var(--route-color, #33a7ff);
  stroke-width: .74;
  stroke-opacity: .20;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: none;
  vector-effect: non-scaling-stroke;
}

.live-map.world-map-shell .map-route-overlay-flow {
  fill: none;
  stroke: var(--route-color, #33a7ff);
  stroke-width: .34;
  stroke-opacity: .98;
  stroke-dasharray: .6 5.8 8.2 17;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  stroke-linejoin: round;
  animation: mapRouteGlide 4.4s linear infinite;
  filter: drop-shadow(0 0 .75px var(--route-color, #33a7ff));
  vector-effect: non-scaling-stroke;
}

.live-map.world-map-shell .map-route-overlay-flow-soft {
  fill: none;
  stroke: var(--route-color, #33a7ff);
  stroke-width: .12;
  stroke-opacity: .32;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: none;
  vector-effect: non-scaling-stroke;
}

.live-map.world-map-shell .map-route-pin {
  opacity: .78;
}

.live-map.world-map-shell .map-route-pin-halo {
  fill: rgba(51, 167, 255, .13);
  stroke: var(--route-color, #33a7ff);
  stroke-opacity: .42;
  stroke-width: .28;
}

.live-map.world-map-shell .map-route-pin-shell,
.live-map.world-map-shell .map-route-pin-core {
  fill: rgba(3, 5, 26, .94);
  stroke: var(--route-color, #33a7ff);
  stroke-width: .64;
}

.live-map.world-map-shell .map-route-pin-core {
  fill: rgba(255, 255, 255, .92);
  stroke: rgba(1, 0, 8, .46);
  stroke-width: .22;
}

.live-map.world-map-shell .map-route-traveler,
.live-map.world-map-shell .map-route-traveler-core {
  fill: var(--route-color, #33a7ff);
  stroke: rgba(255, 255, 255, .84);
  stroke-width: .18;
  filter: drop-shadow(0 0 2px var(--route-color, #33a7ff));
}

.live-map.world-map-shell .map-route-label {
  fill: rgba(225, 249, 255, .88);
  font-size: 4.1px;
  stroke-width: .34px;
  text-anchor: middle;
  opacity: .72;
  transition: opacity .18s ease;
}

.live-map.world-map-shell .map-route-label-origin,
.live-map.world-map-shell .map-route-label-destination {
  fill: rgba(181, 232, 247, .68);
  font-size: 3.5px;
  opacity: .54;
}

.live-map.world-map-shell .map-route-group:hover .map-route-label {
  opacity: .95;
}

@keyframes mapRouteGlide {
  to {
    stroke-dashoffset: -31.6;
  }
}

.realtime-overview-grid {
  grid-template-columns: minmax(560px, 1fr) minmax(300px, 360px);
  align-items: stretch;
}

.realtime-overview-grid > .realtime-fixed-map-panel,
.realtime-overview-grid > .realtime-overview-sidebar {
  min-width: 0;
}

.realtime-overview-sidebar {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  border-color: rgba(100, 219, 255, .22);
  background:
    linear-gradient(180deg, rgba(15, 35, 60, .92), rgba(8, 19, 35, .96)),
    var(--panel);
}

body.theme-light .realtime-overview-sidebar {
  background: #fff;
}

.realtime-overview-sidebar__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.realtime-overview-order {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}

body.theme-light .realtime-overview-order {
  background: #f8fbff;
}

.realtime-overview-order strong {
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}

.realtime-overview-order span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.realtime-overview-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.realtime-overview-route div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}

body.theme-light .realtime-overview-route div {
  background: #f8fbff;
}

.realtime-overview-route span,
.realtime-overview-kv span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.realtime-overview-route strong,
.realtime-overview-kv strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}

.realtime-overview-route i {
  position: relative;
  display: block;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary), var(--green));
}

.realtime-overview-route i::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--green);
  border-right: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg);
}

.realtime-overview-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.realtime-overview-kv div {
  min-height: 70px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}

body.theme-light .realtime-overview-kv div {
  background: #f8fbff;
}

.realtime-overview-progress {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(34, 197, 94, .22);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(34, 197, 94, .12), rgba(56, 189, 248, .08));
}

.realtime-overview-progress__bar {
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .18);
}

.realtime-overview-progress__bar i {
  display: block;
  width: var(--progress);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), var(--green));
}

.realtime-overview-progress__nodes {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.realtime-overview-progress__nodes span {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
}

.realtime-overview-progress__nodes i {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(148, 163, 184, .36);
  border-radius: 999px;
  background: var(--panel-solid);
}

.realtime-overview-progress__nodes em {
  overflow-wrap: anywhere;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
}

.realtime-overview-progress__nodes .is-done,
.realtime-overview-progress__nodes .is-active {
  color: var(--text-strong);
}

.realtime-overview-progress__nodes .is-done i {
  border-color: var(--green);
  background: var(--green);
  box-shadow: 0 0 0 4px var(--green-soft);
}

.realtime-overview-progress__nodes .is-active i {
  border-color: var(--primary);
  background: var(--primary);
  box-shadow: 0 0 0 4px var(--primary-soft);
}

.realtime-overview-section {
  display: grid;
  gap: 10px;
}

.realtime-overview-section h3 {
  margin: 0;
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 850;
}

.realtime-overview-tasks {
  display: grid;
  gap: 8px;
}

.realtime-overview-tasks div {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}

body.theme-light .realtime-overview-tasks div {
  background: #f8fbff;
}

.realtime-overview-tasks span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 12px;
  font-weight: 900;
}

.realtime-overview-tasks strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}

@media (max-width: 1120px) {
  .realtime-overview-grid {
    grid-template-columns: 1fr;
  }

  .realtime-overview-sidebar {
    min-height: auto;
  }
}

@media (max-width: 760px) {
  .realtime-overview-kv,
  .realtime-overview-route {
    grid-template-columns: 1fr;
  }

  .realtime-overview-route i {
    width: 2px;
    height: 28px;
    justify-self: center;
    background: linear-gradient(180deg, var(--primary), var(--green));
  }

  .realtime-overview-route i::after {
    top: auto;
    right: 50%;
    bottom: -1px;
    transform: translateX(50%) rotate(135deg);
  }
}

.live-overview-page {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.live-overview-kpis {
  display: grid;
  grid-template-columns: repeat(8, minmax(116px, 1fr));
  gap: 8px;
  min-width: 0;
}

.live-overview-kpi,
.live-overview-toolbar,
.live-overview-map-panel,
.live-overview-detail,
.live-overview-progress-panel,
.live-overview-table-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
}

.live-overview-kpi {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 68px;
  padding: 8px 10px;
  overflow: hidden;
}

.live-overview-kpi span,
.live-overview-kpi em {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.3;
}

.live-overview-kpi strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
}

.live-overview-kpi.current {
  border-color: rgba(79, 125, 255, .28);
  background:
    linear-gradient(160deg, rgba(79, 125, 255, .15), transparent 58%),
    var(--panel);
}

.live-overview-kpi.warn {
  border-color: rgba(246, 162, 75, .36);
  background:
    linear-gradient(160deg, rgba(246, 162, 75, .16), transparent 58%),
    var(--panel);
}

.live-overview-kpi.done {
  border-color: rgba(91, 216, 120, .30);
  background:
    linear-gradient(160deg, rgba(91, 216, 120, .14), transparent 58%),
    var(--panel);
}

.realtime-date-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding: 12px 14px;
}

.realtime-date-toolbar__intro {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 3px 10px;
  min-width: 0;
}

.realtime-date-toolbar__intro strong {
  font-size: 14px;
  color: var(--text);
}

.realtime-date-toolbar__intro em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.realtime-live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #5bd878;
  font-size: 12px;
  font-weight: 850;
}

.realtime-live-indicator i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 5px rgba(91, 216, 120, .12);
  animation: realtime-live-pulse 1.8s ease-in-out infinite;
}

@keyframes realtime-live-pulse {
  50% { box-shadow: 0 0 0 9px rgba(91, 216, 120, 0); }
}

.realtime-date-toolbar__controls {
  display: flex;
  align-items: flex-end;
  gap: 7px;
}

.realtime-date-field {
  display: grid;
  gap: 4px;
}

.realtime-date-field span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}

.realtime-date-field input,
.realtime-date-toolbar__controls button {
  height: 32px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .04);
  font: inherit;
  font-size: 12px;
}

.realtime-date-field input {
  min-width: 136px;
  padding: 0 9px;
  color-scheme: dark;
}

body.theme-light .realtime-date-field input {
  color-scheme: light;
  background: #f8fbff;
}

.realtime-date-toolbar__controls button {
  padding: 0 12px;
  cursor: pointer;
  font-weight: 800;
}

.realtime-date-toolbar__controls button:hover,
.realtime-date-toolbar__controls button.is-active {
  border-color: var(--border-strong);
  color: var(--primary);
  background: var(--primary-soft);
}

.realtime-date-toolbar__dash {
  align-self: center;
  margin-top: 14px;
  color: var(--muted);
}

.live-overview-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .62fr) minmax(150px, .62fr) auto;
  gap: 8px;
  align-items: end;
  padding: 8px 10px;
}

.live-overview-filter {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.live-overview-filter span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.live-overview-filter input,
.live-overview-filter select {
  width: 100%;
  min-width: 0;
  height: 30px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .04);
  padding: 0 12px;
  outline: 0;
}

body.theme-light .live-overview-filter input,
body.theme-light .live-overview-filter select {
  background: #f8fbff;
}

.live-overview-filter input:focus,
.live-overview-filter select:focus {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 3px var(--primary-soft);
}

.live-overview-chip-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.live-overview-chip,
.live-overview-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 30px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 10px;
  color: var(--text);
  background: rgba(255, 255, 255, .04);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.live-overview-reset {
  color: var(--primary);
  background: var(--primary-soft);
}

.live-overview-chip.current {
  color: var(--green);
  background: var(--green-soft);
}

.live-overview-chip.warn {
  color: var(--orange);
  background: var(--orange-soft);
}

.live-overview-chip i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 18%, transparent);
}

.live-overview-map-grid {
  display: grid;
  grid-template-columns: minmax(620px, 1fr) minmax(300px, 360px);
  gap: 10px;
  align-items: start;
  min-width: 0;
}

.live-overview-map-panel,
.live-overview-detail,
.live-overview-progress-panel,
.live-overview-table-panel {
  min-width: 0;
  padding: 10px;
  overflow: hidden;
}

.live-overview-map-panel {
  min-height: 0;
  border-color: rgba(76, 201, 240, .18);
  background:
    linear-gradient(180deg, rgba(12, 29, 51, .78), rgba(7, 17, 31, .94)),
    var(--panel);
}

body.theme-light .live-overview-map-panel {
  background: #fff;
}

.live-overview-map-panel .realtime-map-v2 {
  min-height: 0;
}

.live-overview-detail {
  display: flex;
  max-height: 390px;
  min-height: 0;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  border-color: rgba(100, 219, 255, .22);
}

.live-overview-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  margin-bottom: 8px;
}

.live-overview-panel-head > div {
  min-width: 0;
}

.live-overview-panel-head .panel-title {
  overflow-wrap: anywhere;
}

.live-overview-progress-panel {
  display: grid;
  gap: 8px;
  padding: 8px;
}

.live-overview-progress-meta {
  display: grid;
  grid-template-columns: minmax(150px, .55fr) minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 8px;
  min-width: 0;
}

.live-overview-progress-meta span,
.live-overview-progress-meta strong,
.live-overview-progress-meta em {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 6px 8px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

body.theme-light .live-overview-progress-meta span,
body.theme-light .live-overview-progress-meta strong,
body.theme-light .live-overview-progress-meta em {
  background: #f8fbff;
}

.live-overview-table-panel {
  display: grid;
  gap: 6px;
}

.live-overview-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  min-width: 58px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 10px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 12px;
  font-weight: 900;
}

.live-overview-table-wrap {
  width: 100%;
  max-height: 198px;
  overflow-y: auto;
  overflow-x: auto;
}

.live-overview-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.live-overview-table th,
.live-overview-table td {
  border-bottom: 1px solid var(--border);
  padding: 7px 9px;
  color: var(--text);
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  white-space: nowrap;
}

.live-overview-table th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.live-overview-table td {
  font-weight: 750;
}

.live-overview-table tbody tr {
  cursor: pointer;
  transition: background .18s ease;
}

.live-overview-table tbody tr:hover,
.live-overview-table tbody tr.selected {
  background: rgba(79, 125, 255, .10);
}

.live-overview-table tbody tr:last-child td {
  border-bottom: 0;
}

.live-overview-table .mono {
  color: var(--text-strong);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-weight: 850;
}

body:has(.live-overview-page) .content-area {
  gap: 10px;
}

body:has(.live-overview-page) .main {
  padding: 14px 24px 20px;
}

body:has(.live-overview-page) .page-head {
  display: none;
}

.live-overview-page .realtime-overview-order {
  gap: 4px;
  padding: 8px;
}

.live-overview-page .realtime-overview-order strong {
  font-size: 15px;
}

.live-overview-page .realtime-overview-route {
  grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
  gap: 6px;
}

.live-overview-page .realtime-overview-route div,
.live-overview-page .realtime-overview-kv div {
  min-height: 0;
  padding: 7px;
}

.live-overview-page .realtime-overview-route span,
.live-overview-page .realtime-overview-kv span {
  margin-bottom: 3px;
}

.live-overview-page .realtime-overview-kv {
  gap: 6px;
}

.live-overview-page .realtime-overview-progress {
  gap: 5px;
  padding: 6px 8px;
}

.live-overview-page .realtime-overview-progress__bar {
  height: 5px;
}

.live-overview-page .realtime-overview-progress__nodes span {
  gap: 3px;
}

.live-overview-page .realtime-overview-progress__nodes i {
  width: 10px;
  height: 10px;
}

.live-overview-page .realtime-overview-progress__nodes em {
  font-size: 10px;
  line-height: 1.15;
}

.live-overview-page .realtime-overview-section {
  gap: 6px;
}

.live-overview-page .realtime-overview-tasks {
  gap: 5px;
}

.live-overview-page .realtime-overview-tasks div {
  grid-template-columns: 22px 1fr;
  gap: 7px;
  padding: 7px;
}

.live-overview-page .realtime-overview-tasks span {
  width: 22px;
  height: 22px;
}

.live-overview-map-panel .realtime-map-v2 {
  gap: 6px;
}

.live-overview-map-panel .realtime-map-v2__toolbar {
  margin-bottom: 0;
}

.live-overview-map-panel .realtime-map-v2__stage--fixed {
  min-height: 220px !important;
}

.live-overview-map-panel .realtime-map-v2__stage--fixed .live-map.world-map-shell {
  height: 220px !important;
  min-height: 220px !important;
}

.live-overview-map-panel .realtime-map-v2__route-list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 5px;
}

.live-overview-map-panel .realtime-map-v2__route-card {
  gap: 4px;
  min-height: 48px;
  padding: 6px;
}

.live-overview-map-panel .realtime-map-v2__route-card-top strong {
  font-size: 11px;
}

.live-overview-map-panel .realtime-map-v2__route-card-top em {
  padding: 2px 6px;
  font-size: 10px;
}

.live-overview-map-panel .realtime-map-v2__route-card-lane,
.live-overview-map-panel .realtime-map-v2__route-card-meta {
  font-size: 10px;
}

.live-overview-map-panel .realtime-map-v2__route-card-meta {
  display: none;
}

@media (max-width: 1480px) {
  .live-overview-kpis {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }
}

@media (max-width: 1180px) {
  .live-overview-map-grid,
  .live-overview-toolbar,
  .live-overview-progress-meta {
    grid-template-columns: 1fr;
  }

  .live-overview-chip-group {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .live-overview-map-panel,
  .live-overview-detail {
    min-height: auto;
  }

  .realtime-date-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .realtime-date-toolbar__controls {
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  .live-overview-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .live-overview-kpi strong {
    font-size: 18px;
  }

  .realtime-date-toolbar__controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .realtime-date-field input {
    width: 100%;
  }

  .realtime-date-toolbar__dash {
    display: none;
  }
}

/* Final scoped cleanup for the copied 8123 realtime map frame. */
.realtime-fixed-map-panel {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.realtime-fixed-map-panel .realtime-map-v2 {
  background: transparent !important;
  outline: 0 !important;
}

.realtime-map-v2__stage--fixed,
.realtime-map-v2__stage--fixed .live-map.world-map-shell,
.realtime-map-v2__stage--fixed .fixed-realtime-map,
.realtime-map-v2__stage--fixed .fixed-realtime-map[data-map-provider="fixed-svg"],
.realtime-map-v2__stage--fixed .fixed-realtime-map-svg {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.realtime-map-v2__stage--fixed,
.realtime-map-v2__stage--fixed .live-map.world-map-shell {
  background: transparent !important;
  background-image: none !important;
}

.realtime-map-v2__stage--fixed .fixed-realtime-map,
.realtime-map-v2__stage--fixed .fixed-realtime-map[data-map-provider="fixed-svg"] {
  background: transparent !important;
  background-image: none !important;
  background-clip: border-box !important;
}

.realtime-map-v2__stage--fixed .fixed-realtime-map-svg {
  background: transparent !important;
  background-image: none !important;
  overflow: hidden !important;
  stroke: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-ocean,
.realtime-map-v2__stage--fixed .fixed-map-grid,
.realtime-map-v2__stage--fixed .fixed-map-glow {
  fill: transparent !important;
  opacity: 0 !important;
  stroke: none !important;
  stroke-width: 0 !important;
  outline: 0 !important;
}

.realtime-map-v2__stage--fixed #fixedMapGrid path {
  stroke: transparent !important;
  opacity: 0 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-land,
.realtime-map-v2__stage--fixed .fixed-map-land path,
.realtime-map-v2__stage--fixed .fixed-map-admin,
.realtime-map-v2__stage--fixed .fixed-map-admin path,
.realtime-map-v2__stage--fixed .fixed-map-land-fallback path,
.realtime-map-v2__stage--fixed .fixed-map-admin-fallback path {
  stroke: transparent !important;
  stroke-width: 0 !important;
  filter: none !important;
}

.realtime-fixed-map-panel .realtime-map-v2__live,
.realtime-fixed-map-panel .realtime-map-v2__summary,
.realtime-fixed-map-panel .realtime-map-v2__stats span {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-controls,
.realtime-map-v2__stage--fixed .fixed-map-control,
.realtime-map-v2__stage--fixed .fixed-map-zoom-readout {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
}

.realtime-fixed-map-panel .realtime-map-v2__summary {
  padding: 0 !important;
}

.realtime-fixed-map-panel .realtime-map-v2__stats span {
  min-width: 0 !important;
  padding: 0 !important;
}

/* Realtime page only: remove the remaining pale frame from the sidebar/flyout shell. */
body:has(.realtime-overview-grid) .sidebar {
  box-shadow: none !important;
}

body:has(.realtime-overview-grid) .sidebar .nav-flyout-wrap > .module-subnav.nav-hover-subnav {
  border-color: rgba(134, 156, 190, 0.16) !important;
  box-shadow: none !important;
}

.live-overview-map-panel.realtime-fixed-map-panel {
  border: 1px solid rgba(76, 201, 240, .18) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(12, 29, 51, .78), rgba(7, 17, 31, .94)),
    var(--panel) !important;
  box-shadow: var(--shadow-soft) !important;
}

body.theme-light .live-overview-map-panel.realtime-fixed-map-panel {
  background: #fff !important;
}

.native-dashboard-page {
  display: grid;
  gap: 18px;
}

.native-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.native-dashboard-kpi,
.native-dashboard-panel,
.native-dashboard-step-card {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow-soft);
}

.native-dashboard-kpi {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  min-height: 132px;
  padding: 18px;
  overflow: hidden;
}

.native-dashboard-kpi::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--cyan));
}

.native-dashboard-kpi.is-green::before {
  background: linear-gradient(90deg, var(--green), var(--cyan));
}

.native-dashboard-kpi.is-purple::before {
  background: linear-gradient(90deg, #8f7cff, var(--primary));
}

.native-dashboard-kpi.is-orange::before {
  background: linear-gradient(90deg, var(--orange), #ffcf7a);
}

.native-dashboard-kpi-icon,
.native-dashboard-step-icon {
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  color: var(--primary);
  background: var(--primary-soft);
}

.native-dashboard-kpi-icon {
  width: 52px;
  height: 52px;
  border-radius: 8px;
}

.native-dashboard-kpi.is-green .native-dashboard-kpi-icon {
  color: var(--green);
  background: var(--green-soft);
}

.native-dashboard-kpi.is-purple .native-dashboard-kpi-icon {
  color: #a897ff;
  background: rgba(143, 124, 255, .14);
}

.native-dashboard-kpi.is-orange .native-dashboard-kpi-icon {
  color: var(--orange);
  background: var(--orange-soft);
}

.native-dashboard-kpi-content {
  min-width: 0;
}

.native-dashboard-kpi-label,
.native-dashboard-kpi-meta,
.native-dashboard-step-time {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.native-dashboard-kpi-value {
  margin: 8px 0 7px;
  color: var(--text-strong);
  font-size: 29px;
  font-weight: 900;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.native-dashboard-kpi-value.is-small {
  font-size: 20px;
  line-height: 1.22;
}

.native-dashboard-panel {
  display: grid;
  gap: 18px;
  padding: 22px;
}

.native-dashboard-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.native-dashboard-panel-head h2 {
  margin: 0 0 10px;
  color: var(--text-strong);
  font-size: 20px;
  font-weight: 900;
}

.native-dashboard-order-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.native-dashboard-order-line strong {
  color: var(--text);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

.native-dashboard-order-line svg {
  width: 16px;
  height: 16px;
  color: var(--primary);
}

.native-dashboard-progress-num {
  display: grid;
  justify-items: end;
  gap: 4px;
  white-space: nowrap;
}

.native-dashboard-progress-num strong {
  color: var(--green);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}

.native-dashboard-progress-num span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.native-dashboard-progress {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: rgba(134, 156, 190, .16);
  overflow: hidden;
}

.native-dashboard-progress-fill {
  width: 50%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), var(--primary));
}

.native-dashboard-progress-knob {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  border: 4px solid var(--panel-solid);
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 4px var(--primary-soft);
  transform: translate(-50%, -50%);
}

.native-dashboard-step-line {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}

.native-dashboard-step-node {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 42px;
}

.native-dashboard-step-node::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: calc(-50% - 5px);
  width: calc(100% + 10px);
  height: 2px;
  background: rgba(134, 156, 190, .22);
  transform: translateY(-50%);
}

.native-dashboard-step-node:first-child::before {
  display: none;
}

.native-dashboard-step-node span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--muted);
  background: var(--panel-solid);
  font-size: 13px;
  font-weight: 900;
}

.native-dashboard-step-node.is-done span,
.native-dashboard-step-node.is-current span {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--primary), var(--green));
}

.native-dashboard-step-node.is-current span {
  background: linear-gradient(135deg, var(--primary), var(--cyan));
  box-shadow: 0 0 0 6px var(--primary-soft);
}

.native-dashboard-step-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.native-dashboard-step-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas:
    "icon name"
    "icon status"
    "icon time";
  gap: 4px 11px;
  min-height: 108px;
  padding: 16px;
  box-shadow: none;
}

.native-dashboard-step-card.is-done {
  border-color: rgba(91, 216, 120, .28);
}

.native-dashboard-step-card.is-current {
  border-color: rgba(79, 125, 255, .5);
  background:
    linear-gradient(180deg, rgba(79, 125, 255, .12), rgba(76, 201, 240, .06)),
    var(--card);
}

.native-dashboard-step-icon {
  grid-area: icon;
  width: 42px;
  height: 42px;
  border-radius: 8px;
}

.native-dashboard-step-card.is-done .native-dashboard-step-icon {
  color: var(--green);
  background: var(--green-soft);
}

.native-dashboard-step-card.is-current .native-dashboard-step-icon {
  color: var(--cyan);
  background: var(--cyan-soft);
}

.native-dashboard-step-name {
  grid-area: name;
  min-width: 0;
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 900;
}

.native-dashboard-step-status {
  grid-area: status;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.native-dashboard-step-card.is-done .native-dashboard-step-status {
  color: var(--green);
}

.native-dashboard-step-card.is-current .native-dashboard-step-status {
  color: var(--cyan);
}

.native-dashboard-step-time {
  grid-area: time;
  min-width: 0;
  overflow-wrap: anywhere;
}

body.theme-light .native-dashboard-progress-knob {
  border-color: #fff;
}

/* Inbound plan maintenance */
.inbound-plan-page {
  gap: 14px;
}

.inbound-plan-title {
  position: relative;
  overflow: hidden;
}

.inbound-plan-title::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  content: "";
  background: linear-gradient(180deg, var(--primary), var(--cyan));
}

.inbound-plan-title .intl-order-heading {
  margin-bottom: 16px;
}

.inbound-plan-title .intl-order-heading h2 {
  font-size: 22px;
}

.inbound-plan-title .intl-order-heading .status {
  flex: 0 0 auto;
}

.inbound-plan-header-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.inbound-plan-field {
  min-width: 0;
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
}

.inbound-plan-field > span,
.inbound-plan-party-field > span {
  display: block;
  margin-bottom: 7px;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbound-plan-field > strong,
.inbound-plan-party-field > strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 760;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbound-plan-field .is-empty,
.inbound-plan-party-field .is-empty,
.inbound-task-card .is-empty,
.inbound-task-list-table .is-empty,
.inbound-plan-cargo-table .is-empty {
  color: var(--muted-2);
  font-weight: 650;
}

.inbound-plan-order-link {
  max-width: 100%;
  padding: 0;
  overflow: hidden;
  color: var(--cyan);
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: rgba(76, 201, 240, .4);
  text-underline-offset: 3px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbound-plan-shell {
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 14px;
}

.inbound-plan-side {
  gap: 4px;
  padding: 10px;
}

.inbound-plan-side button {
  min-height: 42px;
  padding: 0 10px;
}

.inbound-plan-side button i {
  color: var(--muted-2);
  font-size: 18px;
  font-style: normal;
  line-height: 1;
}

.inbound-plan-side button.active i {
  color: var(--primary);
}

.inbound-plan-main > .panel {
  min-height: 570px;
  padding: 0 20px 22px;
}

.inbound-plan-tabs {
  display: flex;
  align-items: flex-end;
  gap: 28px;
  min-height: 58px;
  border-bottom: 1px solid var(--border);
}

.inbound-plan-tabs button {
  position: relative;
  align-self: stretch;
  padding: 2px 2px 0;
  color: var(--muted);
  border: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 820;
}

.inbound-plan-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  content: "";
  background: transparent;
}

.inbound-plan-tabs button:hover,
.inbound-plan-tabs button.active {
  color: var(--text-strong);
}

.inbound-plan-tabs button.active::after {
  background: linear-gradient(90deg, var(--primary), var(--cyan));
}

.inbound-plan-tab-panel {
  padding-top: 18px;
}

.inbound-plan-section-heading {
  display: flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 12px;
}

.inbound-plan-section-heading h3 {
  position: relative;
  margin: 0;
  padding-left: 11px;
  color: var(--text-strong);
  font-size: 15px;
  font-weight: 900;
}

.inbound-plan-section-heading h3::before {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 3px;
  border-radius: 2px;
  content: "";
  background: linear-gradient(180deg, var(--primary), var(--cyan));
}

.inbound-plan-field-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.inbound-plan-field-grid .inbound-plan-field {
  min-height: 64px;
}

.inbound-plan-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
}

.inbound-plan-switch i {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 18px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(142, 160, 193, .2);
}

.inbound-plan-switch i::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  content: "";
  background: var(--muted);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .24);
  transition: transform .18s ease;
}

.inbound-plan-switch.is-on i {
  border-color: rgba(76, 201, 240, .48);
  background: linear-gradient(90deg, var(--primary), var(--cyan));
}

.inbound-plan-switch.is-on i::after {
  background: #fff;
  transform: translateX(16px);
}

.inbound-plan-switch em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
}

.inbound-plan-switch.is-on em {
  color: var(--cyan);
}

.inbound-plan-party-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 22px;
}

.inbound-plan-party-grid > section {
  min-width: 0;
}

.inbound-plan-party-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.inbound-plan-party-field {
  min-width: 0;
  min-height: 60px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .02);
}

.inbound-plan-party-field.is-wide {
  grid-column: 1 / -1;
}

.inbound-plan-basic-customs {
  margin-top: 22px;
}

.inbound-plan-basic-customs .inbound-plan-party-fields {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.inbound-plan-empty {
  display: grid;
  place-items: center;
  min-height: 280px;
  padding: 30px;
  color: var(--muted);
  text-align: center;
}

.inbound-plan-empty > span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 10px;
  border: 1px solid var(--border);
  border-radius: 16px;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: 26px;
}

.inbound-plan-empty strong {
  color: var(--text-strong);
  font-size: 14px;
}

.inbound-plan-empty p {
  margin: 6px 0 0;
  font-size: 12px;
}

.inbound-task-content {
  padding-top: 18px !important;
}

.inbound-task-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.inbound-task-toolbar label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.inbound-task-toolbar select {
  width: 146px;
  height: 38px;
  padding: 0 34px 0 11px;
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 8px;
  outline: 0;
  background: var(--card-soft);
}

.inbound-task-view-toggle {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.inbound-task-view-toggle button {
  height: 36px;
  padding: 0 13px;
  color: var(--muted);
  border: 0;
  border-right: 1px solid var(--border);
  background: transparent;
  font-size: 12px;
  font-weight: 820;
}

.inbound-task-view-toggle button:last-child {
  border-right: 0;
}

.inbound-task-view-toggle button.active {
  color: #fff;
  background: linear-gradient(135deg, var(--primary-2), var(--primary));
}

.inbound-task-card {
  padding-top: 16px;
}

.inbound-task-card-head,
.inbound-task-card-meta {
  width: min(370px, 100%);
  border-right: 1px solid var(--border-strong);
  border-left: 1px solid var(--border-strong);
  background: linear-gradient(145deg, rgba(79, 125, 255, .11), rgba(76, 201, 240, .045));
}

.inbound-task-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 15px 10px;
  border-top: 1px solid var(--border-strong);
  border-radius: 10px 10px 0 0;
}

.inbound-task-card-head > strong {
  color: var(--text-strong);
  font-size: 15px;
  font-weight: 900;
}

.inbound-task-card-meta {
  display: grid;
  gap: 8px;
  padding: 2px 15px 14px;
  border-bottom: 1px solid var(--border-strong);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
}

.inbound-task-card-meta > div {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 9px;
  font-size: 12px;
}

.inbound-task-card-meta span {
  color: var(--muted);
}

.inbound-task-card-meta strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text-strong);
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbound-task-cargo-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding: 0 2px 10px;
}

.inbound-task-cargo-heading h3 {
  margin: 0;
  color: var(--text-strong);
  font-size: 14px;
  font-weight: 900;
}

.inbound-task-cargo-heading > span {
  color: var(--muted);
  font-size: 12px;
}

.inbound-task-card > .inbound-plan-cargo-scroll {
  margin-top: 16px;
}

.inbound-plan-cargo-scroll,
.inbound-task-list-scroll {
  border: 1px solid var(--border);
  border-radius: 10px;
}

.inbound-plan-page .inbound-plan-cargo-table {
  min-width: 1280px;
}

.inbound-plan-page .inbound-plan-cargo-table th,
.inbound-plan-page .inbound-plan-cargo-table td,
.inbound-plan-page .inbound-task-list-table th,
.inbound-plan-page .inbound-task-list-table td {
  height: 46px;
  padding: 11px 12px;
  white-space: nowrap;
}

.inbound-plan-cargo-table th:nth-child(1) {
  width: 90px;
}

.inbound-plan-cargo-table th:nth-child(2),
.inbound-plan-cargo-table th:nth-child(3),
.inbound-plan-cargo-table th:nth-child(4),
.inbound-plan-cargo-table th:nth-child(5) {
  width: 130px;
}

.inbound-plan-cargo-table th:nth-child(n+6) {
  width: 110px;
}

.inbound-task-list-scroll {
  margin-top: 16px;
}

.inbound-plan-page .inbound-task-list-table {
  min-width: 850px;
}

.inbound-plan-placeholder {
  padding-top: 18px !important;
}

.inbound-fee-content {
  overflow: hidden;
}

.inbound-fee-content .intl-fee-block {
  scroll-margin-top: calc(var(--header-height) + 18px);
}

.inbound-fee-content .intl-fee-block + .intl-fee-block {
  margin-top: 24px;
  padding-top: 8px;
}

.inbound-plan-page .intl-fee-actions button {
  min-height: 36px;
  padding: 0 13px;
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card-soft);
  font-size: 12px;
  font-weight: 820;
}

.inbound-plan-page .intl-fee-actions button:hover {
  color: var(--text-strong);
  border-color: var(--border-strong);
  background: var(--primary-soft);
}

.inbound-fee-table-scroll {
  border: 1px solid var(--border);
  border-radius: 10px;
}

.inbound-plan-page .inbound-fee-content .intl-fee-table {
  min-width: 1040px;
}

.inbound-plan-page .inbound-fee-content .intl-fee-table th,
.inbound-plan-page .inbound-fee-content .intl-fee-table td {
  height: 46px;
  padding: 11px 12px;
  white-space: nowrap;
}

.inbound-fee-edit-btn {
  min-width: 54px;
  height: 30px;
  padding: 0 14px;
  color: #fff;
  border: 1px solid rgba(111, 151, 255, .72);
  border-radius: 7px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 8px 18px rgba(47, 109, 246, .24);
  font-size: 12px;
  font-weight: 800;
  line-height: 28px;
}

.inbound-fee-edit-btn:hover {
  border-color: rgba(147, 177, 255, .92);
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(47, 109, 246, .32);
}

.inbound-fee-edit-btn:active {
  filter: brightness(.96);
  transform: translateY(0);
}

.inbound-fee-edit-btn:focus-visible {
  outline: 2px solid rgba(128, 165, 255, .9);
  outline-offset: 2px;
}

.inbound-plan-page .inbound-fee-summary-table {
  min-width: 720px !important;
}

.inbound-fee-content .customs-fee-summary-title strong {
  color: var(--text-strong);
  font-size: 13px;
  line-height: 1.6;
}

.inbound-fee-content .customs-summary-tabs {
  margin-bottom: 14px;
}

.inbound-plan-bottom-bar {
  min-height: 62px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.inbound-plan-page .ghost-btn.disabled,
.inbound-plan-page .ghost-btn:disabled {
  cursor: not-allowed;
  opacity: .42;
  color: var(--muted-2);
  border-color: var(--border);
  background: transparent;
}

body.theme-light .inbound-plan-field,
body.theme-light .inbound-plan-party-field {
  background: #f8fbff;
}

body.theme-light .inbound-task-toolbar select {
  background: #fff;
}

body.theme-light .inbound-task-card-head,
body.theme-light .inbound-task-card-meta {
  background: linear-gradient(145deg, rgba(47, 109, 246, .075), rgba(22, 142, 180, .035));
}

@media (max-width: 1540px) {
  .inbound-plan-header-grid,
  .inbound-plan-field-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .inbound-plan-party-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .inbound-plan-header-grid,
  .inbound-plan-field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inbound-plan-shell {
    grid-template-columns: 145px minmax(0, 1fr);
  }

  .inbound-plan-party-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inbound-plan-basic-customs .inbound-plan-party-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Overview: pixel-matched layout backed by live app data. */
body:has(.dashboard-page) .main {
  padding: 24px 26px 40px;
}

body:has(.dashboard-page) .page-head {
  margin-bottom: 28px;
}

body:has(.dashboard-page) .page-title {
  margin: 0 0 14px;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.04em;
}

body:has(.dashboard-page) .subtitle {
  font-size: 15px;
  font-weight: 500;
}

body:has(.dashboard-page) .head-actions {
  display: none;
}

.dashboard-page .kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 30px;
}

.dashboard-page .kpi-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 17px;
  min-height: 154px;
  padding: 24px 22px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
  box-shadow: var(--shadow-soft);
}

.dashboard-page .kpi-card::after {
  position: absolute;
  inset: -60px -70px auto auto;
  width: 155px;
  height: 155px;
  border-radius: 50%;
  content: "";
  background: rgba(79, 125, 255, 0.10);
  filter: blur(2px);
  pointer-events: none;
}

body.theme-light .dashboard-page .kpi-card::after {
  opacity: .55;
}

.dashboard-page .kpi-icon,
.dashboard-page .step-icon {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
}

.dashboard-page .kpi-icon {
  width: 66px;
  height: 66px;
  color: var(--primary);
  background: var(--primary-soft);
}

.dashboard-page .kpi-card.green .kpi-icon {
  color: var(--green);
  background: var(--green-soft);
}

.dashboard-page .kpi-card.purple .kpi-icon {
  color: #9867ff;
  background: rgba(152, 103, 255, 0.16);
}

.dashboard-page .kpi-card.orange .kpi-icon {
  color: var(--orange);
  background: var(--orange-soft);
}

.dashboard-page .kpi-icon svg,
.dashboard-page .step-icon svg {
  width: 30px;
  height: 30px;
  stroke: currentColor;
  stroke-width: 2.15;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-page .kpi-content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.dashboard-page .kpi-label {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.dashboard-page .kpi-value {
  margin: 0;
  color: var(--text-strong);
  font-size: 24px;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.dashboard-page .kpi-value.small {
  font-size: 18px;
}

.dashboard-page .kpi-meta {
  margin-top: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.dashboard-page .ops-panel {
  position: relative;
  padding: 28px 24px 32px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.dashboard-page .ops-panel::before {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.24), transparent);
  opacity: .55;
}

body.theme-light .dashboard-page .ops-panel::before {
  background: linear-gradient(90deg, transparent, rgba(47,109,246,.18), transparent);
}

.dashboard-page .ops-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.dashboard-page .ops-title {
  margin: 0 0 14px;
  color: var(--text-strong);
  font-size: 24px;
  font-weight: 850;
  letter-spacing: -0.03em;
}

.dashboard-page .order-line {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}

.dashboard-page .order-line strong {
  color: inherit;
}

.dashboard-page .order-line svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.dashboard-page .progress-num {
  text-align: right;
}

.dashboard-page .progress-num strong {
  display: block;
  color: var(--primary);
  font-size: 31px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
}

.dashboard-page .progress-num span {
  display: block;
  margin-top: 11px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
}

.dashboard-page .bar {
  position: relative;
  height: 12px;
  margin: 34px 4px 56px;
  overflow: visible;
  border-radius: 999px;
  background: rgba(139, 157, 189, .17);
}

body.theme-light .dashboard-page .bar {
  background: #eaf0f8;
}

.dashboard-page .bar-fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #2e69ff, #4b76ff 72%, #2fb856 100%);
  box-shadow: 0 0 18px rgba(47,109,246,.30);
}

body.theme-light .dashboard-page .bar-fill {
  background: linear-gradient(90deg, #1f67f6, #2f6df6 78%, #35b961 100%);
}

.dashboard-page .bar-knob {
  position: absolute;
  top: 50%;
  width: 22px;
  height: 22px;
  border: 4px solid var(--primary);
  border-radius: 50%;
  background: var(--panel-solid);
  box-shadow: 0 0 0 4px rgba(47,109,246,.12), 0 8px 22px rgba(47,109,246,.28);
  transform: translate(-50%, -50%);
}

.dashboard-page .stepper {
  position: relative;
  padding: 0 12px;
  margin-bottom: 16px;
}

.dashboard-page .step-circles {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: center;
}

.dashboard-page .step-node {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.dashboard-page .step-node:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 22px;
  right: calc(-50% + 22px);
  left: calc(50% + 22px);
  height: 2px;
  content: "";
  background-image: linear-gradient(to right, var(--muted-2) 50%, transparent 50%);
  background-size: 12px 2px;
  opacity: .35;
}

.dashboard-page .step-node.connector-green::after {
  background: var(--green);
  background-image: none;
  box-shadow: 0 0 12px rgba(91,216,120,.22);
  opacity: 1;
}

.dashboard-page .step-node.connector-blue::after {
  background: var(--primary);
  background-image: none;
  box-shadow: 0 0 12px rgba(47,109,246,.22);
  opacity: 1;
}

.dashboard-page .circle {
  position: relative;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(142, 160, 193, .28);
  border-radius: 50%;
  color: var(--muted);
  background: var(--panel-solid);
  box-shadow: 0 12px 22px rgba(0,0,0,.12);
  font-size: 20px;
  font-weight: 850;
}

.dashboard-page .circle.done {
  color: var(--green);
  border-color: rgba(91,216,120,.55);
  background: radial-gradient(circle at 35% 22%, var(--green-soft), var(--panel-solid) 70%);
  box-shadow: 0 0 0 5px rgba(91,216,120,.07), 0 12px 20px rgba(91,216,120,.07);
}

.dashboard-page .circle.current {
  color: #fff;
  border-color: rgba(79,125,255,.85);
  background: linear-gradient(145deg, #2e6bff, #2448b3);
  box-shadow: 0 0 0 7px rgba(79,125,255,.13), 0 0 28px rgba(79,125,255,.42);
}

body.theme-light .dashboard-page .circle.current {
  color: #1765e5;
  background: #eff5ff;
}

.dashboard-page .check-dot {
  position: absolute;
  z-index: 3;
  top: 14px;
  left: 100%;
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  box-shadow: 0 0 0 4px var(--panel-solid);
  font-size: 11px;
  font-weight: 900;
  transform: translateX(-50%);
  pointer-events: none;
}

.dashboard-page .step-card-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.dashboard-page .step-card {
  display: flex;
  min-height: 212px;
  align-items: center;
  padding: 20px 12px 18px;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  text-align: center;
}

body.theme-light .dashboard-page .step-card {
  background: #fff;
  box-shadow: 0 10px 25px rgba(20,46,92,.04);
}

.dashboard-page .step-card.done {
  border-color: rgba(47, 184, 86, .35);
  background: linear-gradient(180deg, rgba(91,216,120,.08), rgba(255,255,255,.02));
}

body.theme-light .dashboard-page .step-card.done {
  background: linear-gradient(180deg, rgba(47,184,86,.08), #fff);
}

.dashboard-page .step-card.current {
  border-color: var(--border-strong);
  background: linear-gradient(180deg, rgba(79,125,255,.13), rgba(255,255,255,.025));
  box-shadow: inset 0 0 0 1px rgba(79,125,255,.10), 0 16px 32px rgba(47,109,246,.10);
}

body.theme-light .dashboard-page .step-card.current {
  background: linear-gradient(180deg, rgba(47,109,246,.08), #fff);
}

.dashboard-page .step-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 16px;
  color: var(--muted);
  background: rgba(142, 160, 193, .14);
}

.dashboard-page .step-card.done .step-icon {
  color: var(--green);
  background: var(--green-soft);
}

.dashboard-page .step-card.current .step-icon {
  color: var(--primary);
  background: var(--primary-soft);
}

.dashboard-page .step-name {
  margin-bottom: 13px;
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 850;
  white-space: nowrap;
}

.dashboard-page .status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  padding: 0 10px;
  margin-bottom: 14px;
  border-radius: 8px;
  color: var(--muted);
  background: rgba(142,160,193,.12);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-page .status.done {
  color: var(--green);
  background: var(--green-soft);
}

.dashboard-page .status.current {
  color: var(--primary);
  background: var(--primary-soft);
}

.dashboard-page .step-time {
  min-height: 20px;
  margin-top: auto;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

@media (max-width: 1360px) {
  .dashboard-page .kpi-grid {
    gap: 12px;
  }

  .dashboard-page .kpi-card {
    gap: 13px;
    padding: 20px 18px;
  }

  .dashboard-page .kpi-icon {
    width: 58px;
    height: 58px;
  }

  .dashboard-page .kpi-value {
    font-size: 22px;
  }

  .dashboard-page .kpi-value.small {
    font-size: 16px;
  }

  .dashboard-page .step-card-grid {
    gap: 12px;
  }

  .dashboard-page .step-name {
    font-size: 15px;
  }
}
/* China route map, aligned with the supplied operations-screen reference. */
.realtime-map-v2__stage--fixed .fixed-realtime-map-svg {
  background:
    radial-gradient(circle at 66% 48%, rgba(27, 194, 255, .14), transparent 25%),
    radial-gradient(ellipse at 50% 52%, rgba(57, 52, 160, .28), transparent 56%),
    linear-gradient(180deg, #07001d 0%, #080022 58%, #050017 100%) !important;
}

.realtime-map-v2__stage--fixed .fixed-map-china-land,
.realtime-map-v2__stage--fixed .fixed-map-china-land path {
  display: block !important;
  fill: #242a78 !important;
  stroke: rgba(105, 121, 255, .96) !important;
  stroke-width: .58 !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 4px rgba(50, 117, 255, .42)) !important;
  vector-effect: non-scaling-stroke;
}

.realtime-map-v2__stage--fixed .fixed-map-china-admin,
.realtime-map-v2__stage--fixed .fixed-map-china-admin path {
  display: block !important;
  fill: none !important;
  stroke: rgba(117, 137, 255, .72) !important;
  stroke-width: .42 !important;
  opacity: .96 !important;
  vector-effect: non-scaling-stroke;
}

.realtime-map-v2__stage--fixed .fixed-map-city-dot {
  fill: #22f0ff !important;
  stroke: rgba(218, 255, 255, .98) !important;
  stroke-width: .24 !important;
  filter: drop-shadow(0 0 2px #16dfff) drop-shadow(0 0 5px rgba(18, 218, 255, .82)) !important;
}

.realtime-map-v2__stage--fixed .fixed-map-city-label {
  fill: rgba(213, 228, 255, .82) !important;
  font-size: 3.8px !important;
  stroke: rgba(4, 1, 28, .96) !important;
  stroke-width: .5px !important;
}

.realtime-map-v2__stage--fixed .map-route-overlay-base {
  stroke: #27dfff !important;
  stroke-width: .68 !important;
  stroke-opacity: .28 !important;
  filter: drop-shadow(0 0 1.5px rgba(26, 221, 255, .52)) !important;
}

.realtime-map-v2__stage--fixed .map-route-overlay-flow,
.realtime-map-v2__stage--fixed .map-route-overlay-flow-soft {
  stroke: #2ff4ff !important;
  stroke-opacity: .88 !important;
}

.realtime-map-v2__stage--fixed .map-route-pin-halo {
  fill: rgba(24, 239, 255, .20) !important;
  stroke: #27efff !important;
  filter: drop-shadow(0 0 3px #17e8ff) !important;
}

.realtime-map-v2__stage--fixed .map-route-pin-core,
.realtime-map-v2__stage--fixed .map-route-traveler-core {
  fill: #2ef8ff !important;
  stroke: #d8ffff !important;
  filter: drop-shadow(0 0 3px #18e6ff) !important;
}

.realtime-map-v2__stage--fixed .map-route-label {
  display: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-controls {
  background: rgba(8, 2, 35, .72) !important;
  border: 1px solid rgba(83, 102, 255, .22) !important;
  border-radius: 4px !important;
}

/* World route map: cached coordinates and low-cost SVG rendering. */
.realtime-map-v2__stage--fixed .fixed-realtime-map-svg {
  background:
    radial-gradient(circle at 48% 44%, rgba(38, 113, 255, .15), transparent 28%),
    radial-gradient(ellipse at 55% 68%, rgba(88, 40, 170, .20), transparent 58%),
    linear-gradient(180deg, #050521 0%, #04051b 58%, #02030f 100%) !important;
  contain: layout paint style;
}

.realtime-map-v2__stage--fixed .fixed-map-world-land,
.realtime-map-v2__stage--fixed .fixed-map-world-land path {
  display: block !important;
  fill: #172963 !important;
  stroke: rgba(77, 166, 255, .58) !important;
  stroke-width: .42 !important;
  opacity: .98 !important;
  filter: none !important;
  vector-effect: non-scaling-stroke;
}

.realtime-map-v2__stage--fixed .fixed-map-world-admin,
.realtime-map-v2__stage--fixed .fixed-map-world-admin path {
  display: block !important;
  fill: none !important;
  stroke: rgba(91, 157, 232, .28) !important;
  stroke-width: .24 !important;
  opacity: .72 !important;
  filter: none !important;
  vector-effect: non-scaling-stroke;
}

.realtime-map-v2__stage--fixed .fixed-map-china-land,
.realtime-map-v2__stage--fixed .fixed-map-china-land path {
  fill: #23438f !important;
  stroke: rgba(95, 206, 255, .82) !important;
  stroke-width: .52 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-china-admin,
.realtime-map-v2__stage--fixed .fixed-map-china-admin path {
  stroke: rgba(109, 189, 255, .46) !important;
  stroke-width: .28 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-city-label {
  display: block !important;
  fill: rgba(199, 229, 255, .72) !important;
  font-size: 8px !important;
  stroke: rgba(2, 5, 24, .96) !important;
  stroke-width: 1.4px !important;
  paint-order: stroke !important;
}

.realtime-map-v2__stage--fixed .fixed-map-city--major .fixed-map-city-label {
  font-size: 9px !important;
  fill: rgba(225, 247, 255, .90) !important;
}

.realtime-map-v2__stage--fixed .fixed-map-city-dot {
  fill: #35e7ff !important;
  stroke: rgba(225, 255, 255, .94) !important;
  stroke-width: .45 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .map-route-overlay-base {
  stroke-width: .9 !important;
  stroke-opacity: .24 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .map-route-overlay-flow {
  stroke-width: .62 !important;
  stroke-opacity: .94 !important;
  animation-duration: 5.8s !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .map-route-overlay-flow-soft {
  display: none !important;
}

.realtime-map-v2__stage--fixed .map-route-pin-halo,
.realtime-map-v2__stage--fixed .map-route-pin-core,
.realtime-map-v2__stage--fixed .map-route-traveler-core {
  filter: none !important;
}

.realtime-map-v2__stage--fixed .map-route-label {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .realtime-map-v2__stage--fixed .map-route-overlay-flow {
    animation: none !important;
  }
}
/* Administrative detail and endpoint-lighting correction. */
.realtime-map-v2__stage--fixed .fixed-map-world-admin,
.realtime-map-v2__stage--fixed .fixed-map-world-admin path {
  display: block !important;
  fill: none !important;
  stroke: rgba(104, 164, 226, .31) !important;
  stroke-width: .22 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: .82 !important;
  filter: none !important;
  vector-effect: non-scaling-stroke;
}

.realtime-map-v2__stage--fixed .fixed-map-china-admin,
.realtime-map-v2__stage--fixed .fixed-map-china-admin path {
  display: block !important;
  fill: none !important;
  stroke: rgba(124, 151, 255, .72) !important;
  stroke-width: .36 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: .96 !important;
  filter: none !important;
  vector-effect: non-scaling-stroke;
}

.realtime-map-v2__stage--fixed .fixed-map-city,
.realtime-map-v2__stage--fixed .fixed-map-city-dot,
.realtime-map-v2__stage--fixed .fixed-map-city-label {
  display: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-area-label {
  pointer-events: none;
  user-select: none;
}

.realtime-map-v2__stage--fixed .fixed-map-area-label text {
  fill: rgba(169, 190, 224, .66) !important;
  stroke: rgba(3, 4, 26, .92) !important;
  stroke-width: calc(1.15px * var(--fixed-map-label-scale, 1)) !important;
  paint-order: stroke fill !important;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
  font-size: calc(10px * var(--fixed-map-label-scale, 1)) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-area-label--province {
  display: none;
}

.realtime-map-v2__stage--fixed [data-map-detail="province"] .fixed-map-area-label--province {
  display: block;
}

.realtime-map-v2__stage--fixed [data-map-detail="province"] .fixed-map-area-label--province text {
  fill: rgba(186, 199, 231, .76) !important;
  font-size: calc(8.5px * var(--fixed-map-label-scale, 1)) !important;
  stroke-width: calc(1px * var(--fixed-map-label-scale, 1)) !important;
}

.realtime-map-v2__stage--fixed [data-map-detail="province"] .fixed-map-area-label--country {
  opacity: .36;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint .map-route-pin-halo {
  opacity: 0 !important;
  fill: transparent !important;
  stroke: transparent !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint .map-route-pin-core {
  fill: #6da9bd !important;
  stroke: rgba(220, 250, 255, .68) !important;
  stroke-width: .28 !important;
  opacity: .30 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--current .map-route-pin-core {
  fill: #2eeeff !important;
  stroke: #dcffff !important;
  opacity: .88 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--warn .map-route-pin-core {
  fill: #ffd166 !important;
  stroke: #fff3c4 !important;
  opacity: .94 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--danger .map-route-pin-core {
  fill: #ff6b88 !important;
  stroke: #ffe2e8 !important;
  opacity: .96 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--destination.fixed-map-endpoint--warn .map-route-pin-halo,
.realtime-map-v2__stage--fixed .fixed-map-endpoint--destination.fixed-map-endpoint--danger .map-route-pin-halo {
  opacity: .28 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  stroke-width: .36 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--current {
  color: #2eeeff;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--warn {
  color: #ffd166;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--danger {
  color: #ff6b88;
}

.realtime-map-v2__stage--fixed .fixed-map-route--done .map-route-overlay-base {
  stroke-opacity: .08 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-route--done .map-route-overlay-flow {
  stroke-opacity: .12 !important;
  animation: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-route--done .map-route-traveler {
  display: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-route--current .map-route-overlay-flow,
.realtime-map-v2__stage--fixed .fixed-map-route--warn .map-route-overlay-flow,
.realtime-map-v2__stage--fixed .fixed-map-route--danger .map-route-overlay-flow {
  stroke-opacity: .78 !important;
}
/* Route curvature and luminance calibration. */
.realtime-map-v2__stage--fixed .map-route-overlay-base {
  stroke-width: 1.05 !important;
  stroke-opacity: .34 !important;
}

.realtime-map-v2__stage--fixed .map-route-overlay-flow {
  stroke: #52f7ff !important;
  stroke-width: .84 !important;
  stroke-opacity: .98 !important;
  filter: drop-shadow(0 0 1.15px rgba(46, 238, 255, .78)) !important;
}

.realtime-map-v2__stage--fixed .fixed-map-route--done .map-route-overlay-base {
  stroke-opacity: .08 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-route--done .map-route-overlay-flow {
  stroke-opacity: .12 !important;
  filter: none !important;
}

.realtime-map-v2__stage--fixed .fixed-map-route--current .map-route-overlay-flow,
.realtime-map-v2__stage--fixed .fixed-map-route--warn .map-route-overlay-flow,
.realtime-map-v2__stage--fixed .fixed-map-route--danger .map-route-overlay-flow {
  stroke-opacity: .98 !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--current .map-route-pin-core {
  fill: #62f8ff !important;
  stroke: #f2ffff !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 1.6px rgba(46, 238, 255, .92)) !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--destination.fixed-map-endpoint--current .map-route-pin-halo {
  opacity: .18 !important;
  fill: #2eeeff !important;
  stroke: #86faff !important;
  stroke-width: .32 !important;
  filter: drop-shadow(0 0 1.8px rgba(46, 238, 255, .72)) !important;
}

.realtime-map-v2__stage--fixed .fixed-map-endpoint--destination.fixed-map-endpoint--warn .map-route-pin-halo,
.realtime-map-v2__stage--fixed .fixed-map-endpoint--destination.fixed-map-endpoint--danger .map-route-pin-halo {
  opacity: .38 !important;
}

.realtime-map-v2__stage--fixed .map-route-traveler-core {
  fill: #d8ffff !important;
  stroke: #36f4ff !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 1.5px rgba(46, 238, 255, .95)) !important;
}

/* Business overview hub and department dashboards. */
.dashboard-hub {
  --dashboard-accent: var(--primary);
}

.dashboard-hub-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 4px 2px 22px;
}

.dashboard-hub-intro > div:first-child > span,
.department-dashboard-head > div:first-child > span,
.department-panel-head > div > span,
.dashboard-sector-eyebrow {
  color: var(--primary);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .14em;
}

.dashboard-hub-intro h2 {
  margin: 8px 0 8px;
  color: var(--text-strong);
  font-size: 24px;
  font-weight: 850;
  letter-spacing: -.03em;
}

.dashboard-hub-intro p,
.department-dashboard-head p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.dashboard-hub-sync {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--muted);
  background: rgba(255, 255, 255, .025);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  white-space: nowrap;
}

.dashboard-hub-sync i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(91, 216, 120, .1), 0 0 14px rgba(91, 216, 120, .5);
}

.dashboard-hub-sync em {
  color: var(--muted-2);
  font-style: normal;
  font-weight: 650;
  letter-spacing: 0;
}

.dashboard-sector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-sector-card {
  --sector-accent: #4f7dff;
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  min-height: 174px;
  gap: 14px;
  padding: 21px 20px 18px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  background: var(--card);
  box-shadow: var(--shadow-soft);
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dashboard-sector-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  content: "";
  background: var(--sector-accent);
  opacity: .7;
}

.dashboard-sector-card::after {
  position: absolute;
  top: -70px;
  right: -65px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  content: "";
  background: var(--sector-accent);
  filter: blur(48px);
  opacity: .09;
  pointer-events: none;
}

.dashboard-sector-card:hover {
  border-color: color-mix(in srgb, var(--sector-accent) 55%, transparent);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .2);
  transform: translateY(-3px);
}

.dashboard-sector-card.is-active {
  border-color: var(--sector-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sector-accent) 30%, transparent), 0 18px 42px color-mix(in srgb, var(--sector-accent) 18%, transparent);
}

.dashboard-sector-card.tone-cyan { --sector-accent: #4cc9f0; }
.dashboard-sector-card.tone-blue { --sector-accent: #4f7dff; }
.dashboard-sector-card.tone-purple { --sector-accent: #9867ff; }
.dashboard-sector-card.tone-orange { --sector-accent: #f6a24b; }

.dashboard-sector-icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 14px;
  color: var(--sector-accent);
  background: color-mix(in srgb, var(--sector-accent) 15%, transparent);
}

.dashboard-sector-icon svg {
  width: 25px;
  height: 25px;
}

.dashboard-sector-copy {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.dashboard-sector-eyebrow {
  color: var(--sector-accent);
  font-size: 10px;
}

.dashboard-sector-copy > strong {
  margin: 5px 0 6px;
  color: var(--text-strong);
  font-size: 21px;
  font-weight: 850;
}

.dashboard-sector-copy > em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.55;
}

.dashboard-sector-stat {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  padding-top: 13px;
  align-items: flex-end;
  justify-content: space-between;
  grid-column: 1 / -1;
  border-top: 1px solid var(--border);
}

.dashboard-sector-stat strong {
  color: var(--text-strong);
  font-size: 18px;
  font-weight: 850;
}

.dashboard-sector-stat em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.dashboard-sector-arrow {
  position: absolute;
  right: 18px;
  bottom: 16px;
  color: var(--sector-accent);
  font-size: 18px;
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity .18s ease, transform .18s ease;
}

.dashboard-sector-card:hover .dashboard-sector-arrow,
.dashboard-sector-card.is-active .dashboard-sector-arrow {
  opacity: 1;
  transform: translateX(0);
}

.dashboard-sector-card:hover .dashboard-sector-stat em,
.dashboard-sector-card.is-active .dashboard-sector-stat em {
  padding-right: 24px;
}

.dashboard-empty-state {
  display: flex;
  min-height: 170px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 24px;
  border: 1px dashed rgba(134, 156, 190, .22);
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, .018);
}

.dashboard-empty-state > span {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 16px;
  color: var(--primary);
  background: var(--primary-soft);
}

.dashboard-empty-state > span svg {
  width: 27px;
  height: 27px;
}

.dashboard-empty-state strong {
  display: block;
  margin-bottom: 7px;
  color: var(--text-strong);
  font-size: 16px;
}

.dashboard-empty-state p {
  margin: 0;
  font-size: 13px;
}

.department-dashboard {
  --department-accent: #4f7dff;
  margin-top: 28px;
  scroll-margin-top: 92px;
}

.department-dashboard.tone-cyan { --department-accent: #4cc9f0; }
.department-dashboard.tone-blue { --department-accent: #4f7dff; }
.department-dashboard.tone-purple { --department-accent: #9867ff; }
.department-dashboard.tone-orange { --department-accent: #f6a24b; }

.department-dashboard-head {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 26px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: var(--shadow-soft);
}

.department-dashboard-head::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, var(--department-accent), transparent 58%);
}

.department-dashboard-head > div:first-child > span,
.department-dashboard .department-panel-head > div > span {
  color: var(--department-accent);
}

.department-dashboard-head h2 {
  margin: 7px 0 8px;
  color: var(--text-strong);
  font-size: 27px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.department-dashboard-period {
  display: flex;
  min-width: 118px;
  padding: 13px 15px;
  flex-direction: column;
  align-items: flex-end;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
}

.department-dashboard-period span {
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 850;
}

.department-dashboard-period em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.department-date-range {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) auto;
  gap: 9px 10px;
  min-width: min(620px, 58vw);
  padding: 13px 15px;
  align-items: end;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
}

.department-date-range-title {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.department-date-range-title span,
.department-date-range-summary strong {
  color: var(--text-strong);
  font-size: 13px;
  font-weight: 850;
}

.department-date-range-title em,
.department-date-range-summary em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
}

.department-date-range label {
  display: grid;
  gap: 5px;
}

.department-date-range label > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.department-date-range input {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  color: var(--text-strong);
  border: 1px solid var(--border);
  border-radius: 7px;
  outline: 0;
  background: var(--panel-solid);
  color-scheme: dark;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.department-date-range input:focus {
  border-color: var(--department-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--department-accent) 16%, transparent);
}

.department-date-range > i {
  padding-bottom: 10px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.department-date-range-summary {
  display: grid;
  gap: 4px;
  padding-bottom: 5px;
  text-align: right;
}

.department-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.department-kpi-card,
.department-panel {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
  box-shadow: var(--shadow-soft);
}

.department-kpi-card {
  position: relative;
  min-height: 136px;
  padding: 20px 21px;
  overflow: hidden;
}

.department-kpi-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  content: "";
  background: var(--kpi-accent, var(--primary));
}

.department-kpi-card.is-blue { --kpi-accent: #4f7dff; }
.department-kpi-card.is-cyan { --kpi-accent: #4cc9f0; }
.department-kpi-card.is-green { --kpi-accent: #5bd878; }
.department-kpi-card.is-purple { --kpi-accent: #9867ff; }
.department-kpi-card.is-orange { --kpi-accent: #f6a24b; }

.department-kpi-card > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.department-kpi-card > div {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 11px 0 9px;
}

.department-kpi-card strong {
  color: var(--text-strong);
  font-size: 29px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.department-kpi-card em {
  color: var(--kpi-accent);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.department-kpi-card p {
  margin: 0;
  color: var(--muted-2);
  font-size: 11px;
  font-weight: 600;
}

.department-reference-chart-stack {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.weekly-combo-panel {
  position: relative;
  overflow: hidden;
}

.weekly-combo-panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  content: "";
  background: var(--weekly-bar);
}

.weekly-combo-panel.is-revenue {
  --weekly-bar: #4f7dff;
  --weekly-bar-end: #2f6df6;
  --weekly-line: #ff6f9d;
}

.weekly-combo-panel.is-profit {
  --weekly-bar: #39c99b;
  --weekly-bar-end: #20a985;
  --weekly-line: #f6a24b;
}

.weekly-combo-legend {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  margin: -2px 0 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.weekly-combo-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.weekly-combo-legend i {
  display: inline-block;
  width: 18px;
  height: 7px;
  border-radius: 2px;
}

.weekly-combo-legend i.is-bar {
  background: linear-gradient(90deg, var(--weekly-bar), var(--weekly-bar-end));
}

.weekly-combo-legend i.is-line {
  position: relative;
  height: 2px;
  border-radius: 0;
  background: var(--weekly-line);
}

.weekly-combo-legend i.is-line::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border: 0;
  border-radius: 50%;
  content: "";
  background: var(--weekly-line);
  transform: translate(-50%, -50%);
}

.weekly-combo-chart {
  position: relative;
  min-height: 276px;
}

.weekly-combo-chart svg {
  display: block;
  width: 100%;
  height: 276px;
  overflow: visible;
}

.weekly-combo-chart text {
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  text-rendering: optimizeLegibility;
}

.weekly-combo-axis-labels {
  position: absolute;
  z-index: 2;
  top: 34px;
  right: 4px;
  left: 4px;
  display: flex;
  justify-content: space-between;
  color: var(--text);
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 12px;
  font-weight: 650;
  pointer-events: none;
}

.weekly-combo-category-labels text {
  fill: var(--text-strong);
  stroke: none;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 13px;
  font-weight: 650;
  text-anchor: middle;
}
.weekly-combo-grid path {
  fill: none;
  stroke: var(--border);
  stroke-width: 1;
}

.weekly-combo-axis text {
  fill: var(--text);
  font-size: 12px;
  font-weight: 650;
  text-anchor: start;
}

.weekly-combo-axis text:last-child {
  text-anchor: end;
}

.weekly-combo-column rect {
  fill: var(--weekly-bar);
  stroke: none;
  filter: none;
}

.weekly-combo-column text,
.weekly-combo-point text {
  text-anchor: middle;
}

.weekly-combo-column text.value {
  fill: var(--text-strong);
  stroke: none;
  font-size: 13px;
  font-weight: 700;
}

.weekly-combo-column text.label {
  fill: var(--text-strong);
  font-size: 13px;
  font-weight: 650;
}

.weekly-combo-line {
  fill: none;
  stroke: var(--weekly-line);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--weekly-line) 40%, transparent));
}

.weekly-combo-point circle {
  fill: var(--weekly-line);
  stroke: none;
}

.weekly-combo-point text {
  fill: var(--weekly-line);
  stroke: none;
  font-size: 12px;
  font-weight: 700;
}

.department-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(430px, .9fr);
  gap: 14px;
  margin-top: 14px;
}

.department-panel {
  min-width: 0;
  padding: 20px 21px;
}

.department-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.department-panel-head h3 {
  margin: 5px 0 0;
  color: var(--text-strong);
  font-size: 16px;
  font-weight: 850;
}

.department-panel-head > em {
  padding: 5px 8px;
  border-radius: 6px;
  color: var(--muted);
  background: rgba(142, 160, 193, .09);
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  white-space: nowrap;
}

.department-chart-legend {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  min-height: 22px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
}

.department-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.department-chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}

.department-chart-legend i.is-primary,
.department-bars i.is-primary {
  background: linear-gradient(180deg, #4f8cff, #2f6df6);
}

.department-chart-legend i.is-secondary,
.department-bars i.is-secondary {
  background: linear-gradient(180deg, #ff6f9d, #cb4f91);
}

.department-bar-chart {
  position: relative;
  display: grid;
  height: 256px;
  padding: 22px 8px 0;
  grid-template-columns: repeat(8, minmax(46px, 1fr));
  align-items: end;
  gap: 8px;
  overflow: hidden;
}


.department-bar-chart > .department-bar-grid {
  position: absolute;
  inset: 18px 8px 34px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.department-bar-chart > .department-bar-grid i {
  width: 100%;
  height: 1px;
  background: var(--border);
}

.department-bar-group {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  justify-content: flex-end;
  text-align: center;
}

.department-bar-values {
  display: flex;
  justify-content: center;
  gap: 5px;
  color: var(--muted-2);
  font-size: 8px;
  font-weight: 700;
}

.department-bars {
  display: flex;
  height: 176px;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  padding: 0 4px;
}

.department-bars i {
  width: min(16px, 38%);
  min-height: 2px;
  border-radius: 3px 3px 1px 1px;
  box-shadow: 0 0 12px rgba(79, 125, 255, .14);
}

.department-bar-group > span {
  min-height: 27px;
  padding-top: 8px;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.department-line-chart {
  position: relative;
  height: 282px;
  padding-top: 6px;
}

.department-line-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.department-line-value-labels {
  position: absolute;
  z-index: 2;
  inset: 6px 0 0;
  pointer-events: none;
}

.department-line-value-labels span {
  position: absolute;
  color: var(--department-accent);
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transform: translateX(-50%);
  white-space: nowrap;
}

.department-line-axis-labels {
  position: absolute;
  z-index: 2;
  right: 5.526%;
  bottom: 8px;
  left: 5.526%;
  display: grid;
  color: var(--text-strong);
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 12px;
  font-weight: 650;
  pointer-events: none;
}

.department-line-axis-labels span {
  min-width: 0;
  padding: 0 3px;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.department-line-grid path {
  stroke: var(--border);
  stroke-width: 1;
}

.department-line-path {
  fill: none;
  stroke: var(--department-accent);
  stroke-width: 3;
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--department-accent) 40%, transparent));
}

.department-line-point circle {
  fill: var(--panel-solid);
  stroke: var(--department-accent);
  stroke-width: 3;
}

.department-line-point text {
  fill: var(--department-accent);
  font-size: 10px;
  font-weight: 800;
  text-anchor: middle;
}

.department-line-point text.axis {
  fill: var(--muted);
  font-size: 8px;
  font-weight: 650;
}

.department-bottom-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.department-note-card {
  min-height: 218px;
}

.department-quality-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 22px;
}

.department-quality-row span {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.department-quality-row i,
.department-note-list > div > i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.department-quality-row span.is-good i,
.department-note-list i.is-good { background: var(--green); box-shadow: 0 0 8px rgba(91, 216, 120, .4); }
.department-quality-row span.is-watch i { background: var(--orange); box-shadow: 0 0 8px rgba(246, 162, 75, .4); }
.department-note-list i.is-danger { background: var(--red); box-shadow: 0 0 8px rgba(255, 111, 125, .4); }

.department-quality-row strong {
  margin-left: auto;
  color: var(--text-strong);
  font-size: 14px;
}

.department-quality-bar {
  height: 7px;
  margin: 17px 0 12px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--orange-soft);
}

.department-quality-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), #42c7a9);
  box-shadow: 0 0 12px rgba(91, 216, 120, .28);
}

.department-note-card > p {
  margin: 0;
  color: var(--muted-2);
  font-size: 11px;
  line-height: 1.65;
}

.department-note-list,
.department-plan-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 18px;
}

.department-note-list > div {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 11px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
}

.department-note-list > div > i {
  flex: 0 0 auto;
  margin-top: 5px;
}

.department-note-list span {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.department-note-list strong {
  display: block;
  margin-bottom: 2px;
  overflow: hidden;
  color: var(--text-strong);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.department-plan-list > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.department-plan-list > div > span {
  display: grid;
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--department-accent) 45%, transparent);
  border-radius: 50%;
  color: var(--department-accent);
  background: color-mix(in srgb, var(--department-accent) 10%, transparent);
  font-size: 10px;
  font-weight: 850;
}

.department-plan-list p {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  color: var(--text);
  font-size: 11px;
  font-weight: 650;
}

.department-plan-list em {
  flex: 0 0 auto;
  padding: 3px 6px;
  border-radius: 5px;
  color: var(--department-accent);
  background: color-mix(in srgb, var(--department-accent) 11%, transparent);
  font-size: 9px;
  font-style: normal;
  font-weight: 750;
}

body.theme-light .dashboard-sector-card,
body.theme-light .department-kpi-card,
body.theme-light .department-panel,
body.theme-light .department-dashboard-head {
  box-shadow: 0 12px 30px rgba(20, 46, 92, .07);
}

body.theme-light .dashboard-hub-sync,
body.theme-light .department-dashboard-period,
body.theme-light .department-date-range,
body.theme-light .department-note-list > div,
body.theme-light .dashboard-empty-state {
  background: #f8fbff;
}

@media (max-width: 1480px) {
  .dashboard-sector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .department-chart-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .department-bar-chart {
    height: 276px;
  }
}

@media (max-width: 1240px) {
  .department-dashboard-head {
    align-items: stretch;
    flex-direction: column;
  }

  .department-date-range {
    width: 100%;
    min-width: 0;
  }

  .department-kpi-grid,
  .department-bottom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .department-bottom-grid .department-note-card:last-child {
    grid-column: 1 / -1;
  }
}
/* Keep the original overview first; the business dashboards are an added section below it. */
.dashboard-legacy + .dashboard-hub {
  margin-top: 38px;
  padding-top: 30px;
  border-top: 1px solid var(--border);
}

.dashboard-legacy + .dashboard-hub .dashboard-hub-intro {
  padding-top: 0;
}
/* Order maintenance progress module: keep the dashboard node design in all four detail pages. */
.order-maint-progress{gap:20px;padding:26px 24px 30px;border-radius:12px;overflow:visible}
.order-maint-progress .native-dashboard-panel-head h2{margin-bottom:12px;font-size:24px;line-height:1.15}
.order-maint-progress .native-dashboard-order-line,.order-maint-progress .native-dashboard-order-line strong{font-size:13px}
.order-maint-progress .native-dashboard-order-line strong{color:var(--text)}
.order-maint-progress .native-dashboard-progress-num strong{color:var(--primary);font-size:31px}
.order-maint-progress .native-dashboard-progress-num span{margin-top:4px;font-size:14px}
.order-maint-progress .native-dashboard-progress{height:12px;margin:8px 8px 30px;overflow:visible;background:rgba(134,156,190,.16)}
.order-maint-progress .native-dashboard-progress-fill{background:linear-gradient(90deg,#2e69ff,#4b76ff 72%,#2fb856 100%);box-shadow:0 0 18px rgba(47,109,246,.3)}
.order-maint-progress .native-dashboard-progress-knob{width:22px;height:22px;border:4px solid var(--primary);background:var(--panel-solid);box-shadow:0 0 0 4px rgba(47,109,246,.12),0 8px 22px rgba(47,109,246,.28)}
.order-maint-progress .native-dashboard-step-line{grid-template-columns:repeat(8,minmax(0,1fr));gap:0;padding:0 12px}
.order-maint-progress .native-dashboard-step-node{min-height:46px}
.order-maint-progress .native-dashboard-step-node::before{left:-50%;width:100%;background:rgba(134,156,190,.28)}
.order-maint-progress .native-dashboard-step-node.is-linked::before{background:var(--green);box-shadow:0 0 12px rgba(91,216,120,.22)}
.order-maint-progress .native-dashboard-step-node span{width:44px;height:44px;color:var(--muted);border-color:rgba(142,160,193,.28);background:var(--panel-solid);font-size:18px}
.order-maint-progress .native-dashboard-step-node.is-done span{color:var(--green);border:1px solid rgba(91,216,120,.55);background:radial-gradient(circle at 35% 22%,rgba(91,216,120,.16),var(--panel-solid) 70%);box-shadow:0 0 0 5px rgba(91,216,120,.07)}
.order-maint-progress .native-dashboard-step-node.is-current span{color:#fff;border:1px solid rgba(79,125,255,.85);background:linear-gradient(145deg,#2e6bff,#2448b3);box-shadow:0 0 0 7px rgba(79,125,255,.13),0 0 28px rgba(79,125,255,.42)}
.order-maint-progress .native-dashboard-step-node i{position:absolute;z-index:3;top:14px;right:-8px;display:grid;width:17px;height:17px;place-items:center;border-radius:50%;color:#fff;background:var(--green);box-shadow:0 0 0 4px var(--panel-solid);font-size:11px;font-style:normal;font-weight:900;line-height:1}
.order-maint-progress .native-dashboard-step-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:16px;margin-top:0}
.order-maint-progress .native-dashboard-step-card{display:flex;min-height:210px;padding:20px 12px 18px;flex-direction:column;align-items:center;gap:0;border-radius:12px;text-align:center}
.order-maint-progress .native-dashboard-step-card.is-done{border-color:rgba(91,216,120,.35);background:var(--card)}
.order-maint-progress .native-dashboard-step-card.is-current{border-color:rgba(79,125,255,.55)}
.order-maint-progress .native-dashboard-step-icon{width:58px;height:58px;margin:0 0 16px;border:0;border-radius:50%}
.order-maint-progress .native-dashboard-step-card.is-done .native-dashboard-step-icon{color:var(--green);background:rgba(84,216,118,.18)}
.order-maint-progress .native-dashboard-step-card.is-current .native-dashboard-step-icon{color:var(--cyan);background:var(--cyan-soft)}
.order-maint-progress .native-dashboard-step-icon svg{width:28px;height:28px;stroke-width:1.8}
.order-maint-progress .native-dashboard-step-name{margin-bottom:12px;font-size:16px;line-height:1.25;white-space:nowrap}
.order-maint-progress .native-dashboard-step-status{margin-bottom:13px;padding:5px 10px;border-radius:7px;background:rgba(134,156,190,.12)}
.order-maint-progress .native-dashboard-step-card.is-done .native-dashboard-step-status{color:var(--green);background:var(--green-soft)}
.order-maint-progress .native-dashboard-step-card.is-current .native-dashboard-step-status{color:var(--cyan);background:var(--cyan-soft)}
.order-maint-progress .native-dashboard-step-time{width:100%;margin-top:auto;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
body.theme-light .order-maint-progress .native-dashboard-progress-knob{background:#fff}
@media(max-width:1360px){.order-maint-progress{overflow-x:auto}.order-maint-progress .native-dashboard-panel-head,.order-maint-progress .native-dashboard-progress,.order-maint-progress .native-dashboard-step-line,.order-maint-progress .native-dashboard-step-grid{min-width:1160px}}


/* Mobile application shell and touch layout. */
.mobile-nav-scrim{display:none}
@media (max-width:760px){
.department-date-range{grid-template-columns:1fr 1fr}.department-date-range-title,.department-date-range-summary{grid-column:1/-1}.department-date-range>i{display:none}.department-date-range-summary{text-align:left}
:root{--header-height:58px}
html,body,#app{width:100%;min-width:0}
body{min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%}
button,input,select,textarea{min-width:0}
input,select,textarea{font-size:16px}
button,[role="button"],.nav-item,.module-subnav-item{touch-action:manipulation}
.app,.app:has(.intl-order-page:not(.customs-plan-page)),.app:has(.customs-plan-page){display:block;width:100%;min-width:0}
.shell{width:100%;min-width:0}
.sidebar{position:fixed;z-index:110;inset:0 auto 0 0;width:min(82vw,300px);height:100dvh;padding:18px 12px 24px;overflow-y:auto;visibility:hidden;transform:translateX(-104%);transition:transform .22s ease,visibility .22s ease}
.app.mobile-nav-open{height:100dvh;overflow:hidden}
.app.mobile-nav-open .sidebar{visibility:visible;transform:translateX(0)}
.mobile-nav-scrim{position:fixed;z-index:105;inset:0;display:block;padding:0;border:0;visibility:hidden;opacity:0;background:rgba(2,8,18,.62);backdrop-filter:blur(2px);transition:opacity .22s ease,visibility .22s ease}
.app.mobile-nav-open .mobile-nav-scrim{visibility:visible;opacity:1}
.brand{height:38px;margin-bottom:12px}.nav-item{min-height:46px}
.sidebar .nav-flyout-wrap>.module-subnav.nav-hover-subnav{position:static;width:100%;max-height:none;margin-top:6px;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none}
.sidebar .nav-flyout-wrap:not(.is-open):not(:focus-within)>.module-subnav.nav-hover-subnav{display:none}
.topbar{height:var(--header-height);padding:0 12px;gap:8px}
.top-left,.top-right{min-width:0;gap:8px}.top-left{flex:1 1 auto}
.hamburger{flex:0 0 42px;width:42px;height:42px;padding:12px 10px;border-radius:10px;background:var(--card-soft)}
.tabs{min-width:0;flex:1 1 auto}
.tab{min-width:0;height:38px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabs .tab:first-child,.tabs .tab.active span,.top-right>.icon-btn,.account{display:none}.theme-switch{flex:0 0 auto}
.main,.main:has(.intl-order-page:not(.customs-plan-page)){width:100%;min-width:0;padding:18px 14px 28px}
.page-head{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:16px}
.page-title{margin-bottom:6px;font-size:22px}
.subtitle{align-items:flex-start;font-size:13px;line-height:1.45}.subtitle .live-dot{flex:0 0 auto;margin-top:5px}
.head-actions{width:100%}.head-actions>.ghost-btn,.head-actions>.create-menu{flex:1 1 0}
.head-actions .primary-btn,.head-actions .ghost-btn{width:100%;min-height:42px}
.create-dropdown{left:0;right:0;min-width:0}.panel{min-width:0;padding:16px}
.cards-grid,.cards-grid.four,.content-grid,.split,.toolbar,.menu-map,.module-shell,.desk-grid,.form-grid,.intl-order-shell,.customs-plan-page .intl-order-shell,.inbound-plan-shell,.intl-order-fields,.intl-field-grid,.intl-plan-detail,.intl-flow-grid,.intl-table-pair,.intl-summary-strip,.intl-notes,.customs-board-grid,.logistics-plan-page .intl-order-fields,.logistics-plan-page .intl-field-grid,.logistics-plan-page .logistics-contact-grid,.logistics-task-route,.logistics-task-meta,.realtime-overview-grid,.realtime-overview-kv,.realtime-overview-route,.live-overview-map-grid,.live-overview-toolbar,.live-overview-progress-meta,.native-dashboard-kpis,.inbound-plan-header-grid,.inbound-plan-field-grid,.inbound-plan-party-grid,.inbound-plan-party-fields,.inbound-plan-basic-customs .inbound-plan-party-fields,.dashboard-sector-grid,.department-kpi-grid,.department-chart-grid,.department-bottom-grid,.department-quality-row{grid-template-columns:minmax(0,1fr)!important}
.lane-tabs,.live-overview-kpis,.realtime-map-v2__route-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.module-subnav,.intl-side-nav,.inbound-plan-side-nav{position:static;max-height:none}
.intl-order-side{position:static;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.main:has(.customs-plan-page){padding:18px 14px 28px}
.customs-plan-page:not(.logistics-plan-page){display:block}
.customs-plan-page:not(.logistics-plan-page)>*+*{margin-top:16px}
.customs-plan-page .intl-order-shell,.customs-plan-page .intl-order-side,.customs-plan-page .intl-order-main,.customs-plan-page .customs-plan-card{width:100%;max-width:100%;min-width:0}
.table-scroll,.live-overview-table-wrap,.order-maint-progress{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.module-table{min-width:680px}.data-table{min-width:760px}
.desk-list .data-table{min-width:1080px}
.desk-list .data-table th:nth-child(1){width:170px}
.desk-list .data-table th:nth-child(2){width:190px}
.desk-list .data-table th:nth-child(3),.desk-list .data-table th:nth-child(4){width:120px}
.desk-list .data-table th:nth-child(5),.desk-list .data-table th:nth-child(7){width:100px}
.desk-list .data-table th:nth-child(6){width:110px}
.desk-list .data-table th:nth-child(8){width:120px}
.desk-list .data-table th:first-child,.desk-list .data-table td:first-child{white-space:nowrap}
.desk-list .order-actions-head,.desk-list .order-actions-cell{width:104px;min-width:104px;max-width:104px;padding-inline:8px;box-shadow:-8px 0 12px rgba(6,16,31,.72)}
.desk-list .order-edit-btn,.desk-list .order-delete-btn{width:40px;padding:0;font-size:0;justify-content:center}
.desk-list .order-actions{gap:6px}
.logistics-detail-drawer{width:100%;max-width:100vw}.create-modal-backdrop{height:100dvh}
.toast{right:14px;bottom:14px;left:14px;text-align:center}
.realtime-map-v2__stage,.fixed-realtime-map,.route-map{min-height:320px}
.department-bar-chart,.department-line-chart{min-width:620px}.department-chart-panel,.department-trend-panel{overflow-x:auto}
.dashboard-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dashboard-page .kpi-grid>.kpi-card:last-child{grid-column:1/-1}
.dashboard-hub-intro{align-items:flex-start;flex-direction:column;gap:12px}
.dashboard-hub-sync{width:100%;white-space:normal}
.detail-section:has(>.module-table),
.detail-panel:has(>.module-table){width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.intl-bottom-bar,.customs-plan-page .intl-bottom-bar{min-height:0;padding:9px 10px}
.intl-bottom-actions,.customs-bottom-actions{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.intl-bottom-actions>button,.customs-bottom-actions>button{flex:0 0 auto}
}
@media (max-width:420px){
.main,.main:has(.intl-order-page:not(.customs-plan-page)),.main:has(.customs-plan-page){padding-inline:10px}.panel{padding:14px}
.lane-tabs,.live-overview-kpis,.realtime-map-v2__route-list,.service-task-grid{grid-template-columns:minmax(0,1fr)!important}
.dashboard-page .kpi-grid{grid-template-columns:minmax(0,1fr)!important}
.dashboard-page .kpi-grid>.kpi-card:last-child{grid-column:auto}
.topbar{padding-inline:8px}
}

@media (max-width: 1320px) {
  .settlement-business-modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .settlement-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 760px) {
  .settlement-business-modules {
    grid-template-columns: 1fr;
  }
  .settlement-source-strip {
    grid-template-columns: 1fr;
  }

  .settlement-ledger-table {
    min-width: 760px;
  }
}
body.theme-light .department-date-range input{color-scheme:light}


.smart-order-panel{display:grid;gap:14px;padding:16px;border:1px solid rgba(49,141,255,.45);border-radius:10px;background:linear-gradient(145deg,rgba(23,119,255,.11),rgba(123,92,255,.055) 48%,rgba(255,255,255,.025));box-shadow:0 12px 30px rgba(1,10,28,.16)}
.smart-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.smart-order-title-wrap{display:flex;align-items:flex-start;gap:12px;min-width:0}.smart-order-ai-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 9px;border:1px solid rgba(75,160,255,.42);border-radius:7px;color:#9ed1ff;background:rgba(22,119,255,.18);font-size:11px;font-weight:900;letter-spacing:.05em;white-space:nowrap}.smart-order-title-wrap h3{margin:1px 0 0;color:var(--text-strong);font-size:16px}.smart-order-title-wrap p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.smart-order-steps{display:flex;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none}.smart-order-steps li{position:relative;display:grid;justify-items:center;gap:5px;min-width:76px;color:var(--muted);font-size:11px;font-weight:800}.smart-order-steps li:not(:last-child)::after{position:absolute;top:12px;left:calc(50% + 13px);width:calc(100% - 26px);height:1px;background:var(--border);content:""}.smart-order-steps b{position:relative;z-index:1;display:grid;width:25px;height:25px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--panel-solid);font-size:11px}.smart-order-steps .is-active{color:#8ecbff}.smart-order-steps .is-active b{border-color:#3298ff;color:#fff;background:#1677ff;box-shadow:0 0 0 4px rgba(22,119,255,.12)}.smart-order-steps .is-active:not(:last-child)::after{background:linear-gradient(90deg,#1677ff,var(--border))}
.smart-order-upload{display:grid;justify-items:center;gap:8px;padding:30px 20px;border:1px dashed rgba(101,170,255,.5);border-radius:9px;background:rgba(4,19,42,.32);text-align:center;transition:.16s ease}.smart-order-upload.is-dragging{border-color:#4cb5ff;background:rgba(22,119,255,.17);transform:translateY(-1px)}.smart-order-upload.is-processing .smart-order-upload-icon{animation:smart-order-spin .9s linear infinite}.smart-order-upload-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(71,157,255,.42);border-radius:12px;color:#69b8ff;background:rgba(22,119,255,.12);font-size:24px}.smart-order-upload strong{color:var(--text-strong);font-size:16px}.smart-order-upload p{margin:0;color:var(--muted);font-size:12px}.smart-order-upload .primary-btn{margin-top:7px}.smart-order-error{max-width:720px;padding:8px 12px;border-radius:7px;color:#ffb5b5;background:rgba(225,63,77,.13);font-size:12px}.smart-order-template-note{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:7px}.smart-order-template-note span{padding:4px 8px;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.045);font-size:10px;font-weight:750}@keyframes smart-order-spin{to{transform:rotate(360deg)}}
.smart-order-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.smart-order-summary-card{display:grid;gap:4px;padding:12px 13px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.035)}.smart-order-summary-card span,.smart-order-summary-card em{color:var(--muted);font-size:11px;font-style:normal;font-weight:750}.smart-order-summary-card strong{color:var(--text-strong);font-size:22px;line-height:1.15}.smart-order-summary-card.tone-green{border-color:rgba(49,191,132,.28);background:rgba(32,167,111,.075)}.smart-order-summary-card.tone-amber{border-color:rgba(244,173,48,.34);background:rgba(236,157,32,.08)}.smart-order-summary-card.tone-violet{border-color:rgba(155,110,255,.3);background:rgba(126,88,224,.08)}
.smart-order-filebar,.smart-order-exportbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid var(--border);border-radius:8px;background:rgba(4,18,39,.32)}.smart-order-filebar>div{display:flex;align-items:center;gap:10px;min-width:0}.smart-order-filebar span{color:var(--muted);font-size:11px;font-weight:800}.smart-order-filebar strong{overflow:hidden;color:var(--text-strong);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.smart-order-filebar em{color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}
.smart-order-settings,.smart-order-preview{display:grid;gap:11px;padding:13px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.smart-order-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.smart-order-section-title>div{display:flex;align-items:baseline;gap:9px}.smart-order-section-title strong{color:var(--text-strong);font-size:13px}.smart-order-section-title span{color:var(--muted);font-size:11px}.smart-order-confidence{padding:4px 8px;border-radius:999px;color:#75d4ab!important;background:rgba(36,175,116,.12);font-weight:850}.smart-order-setting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.smart-order-setting-grid label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.smart-order-setting-grid input,.smart-order-table input{min-width:0;width:100%;border:1px solid var(--border);border-radius:6px;color:var(--text);background:rgba(255,255,255,.04);outline:none}.smart-order-setting-grid input{height:35px;padding:0 9px}.smart-order-table input{height:29px;padding:0 7px;font-size:11px}.smart-order-setting-grid input:focus,.smart-order-table input:focus{border-color:#3298ff;box-shadow:0 0 0 2px rgba(22,119,255,.13)}
.smart-order-mapping{border-top:1px solid var(--border)}.smart-order-mapping summary{padding-top:10px;color:#87c6ff;font-size:11px;font-weight:800;cursor:pointer}.smart-order-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.smart-order-mapping-grid>div{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:5px;padding:8px 9px;border-radius:7px;background:rgba(255,255,255,.035);font-size:11px}.smart-order-mapping-grid span{color:var(--muted)}.smart-order-mapping-grid b{color:#4ba7ff;text-align:center}.smart-order-mapping-grid strong{color:var(--text-strong)}.smart-order-mapping-grid em{grid-column:1/-1;color:var(--muted);font-size:10px;font-style:normal}
.smart-order-preview-toolbar,.smart-order-preview-actions,.smart-order-export-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.smart-order-toggle{display:flex;padding:2px;border:1px solid var(--border);border-radius:7px;background:rgba(0,0,0,.12)}.smart-order-toggle button{min-height:27px;padding:4px 9px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:10px;font-weight:800}.smart-order-toggle button.is-active{color:#fff;background:#1677ff}.smart-order-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:7px}.smart-order-table{width:100%;min-width:920px;border-collapse:collapse}.smart-order-table th{height:33px;padding:0 7px;color:var(--muted);background:rgba(255,255,255,.045);font-size:10px;text-align:left;white-space:nowrap}.smart-order-table td{padding:5px 6px;border-top:1px solid var(--border);font-size:11px}.smart-order-table tr.is-review td{background:rgba(236,157,32,.035)}.smart-row-status{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:22px;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:900}.smart-row-status.is-ready{color:#6ed0a4;background:rgba(35,179,116,.13)}.smart-row-status.is-review{color:#ffc568;background:rgba(238,158,37,.14)}.smart-order-empty{height:76px;color:var(--muted);text-align:center}.smart-order-check{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:750}.smart-order-export-actions span{color:var(--muted);font-size:11px}.smart-order-export-actions strong{color:var(--text-strong)}.smart-order-export-btn{min-width:148px}
body.theme-light .smart-order-panel{background:linear-gradient(145deg,rgba(22,119,255,.08),rgba(123,92,255,.035) 48%,#fff)}body.theme-light .smart-order-upload,body.theme-light .smart-order-filebar,body.theme-light .smart-order-exportbar{background:rgba(239,246,255,.72)}body.theme-light .smart-order-setting-grid input,body.theme-light .smart-order-table input{background:#fff}
@media(max-width:900px){.smart-order-head{flex-direction:column}.smart-order-steps{width:100%}.smart-order-steps li{flex:1}.smart-order-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-order-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-order-exportbar,.smart-order-export-actions{align-items:flex-start;flex-direction:column}.smart-order-export-actions{width:100%}.smart-order-export-btn{width:100%}}@media(max-width:560px){.smart-order-title-wrap{flex-direction:column}.smart-order-setting-grid,.smart-order-mapping-grid{grid-template-columns:1fr}.smart-order-filebar{align-items:flex-start;flex-direction:column}.smart-order-filebar>div{align-items:flex-start;flex-direction:column;gap:4px}.smart-order-preview-toolbar{align-items:flex-start;flex-direction:column}.smart-order-toggle{width:100%}.smart-order-toggle button{flex:1}}


.smart-order-export-options{display:grid;flex:1;gap:7px;min-width:0}
.smart-order-period-filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.smart-order-period-title{align-self:center;color:var(--text-strong);font-size:12px;font-weight:850}.smart-order-period-filter label{display:grid;gap:3px;color:var(--muted);font-size:10px;font-weight:750}.smart-order-period-filter input{width:142px;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:rgba(255,255,255,.04);outline:none;color-scheme:dark}.smart-order-period-filter input:focus{border-color:#3298ff;box-shadow:0 0 0 2px rgba(22,119,255,.13)}.smart-order-period-filter i{align-self:center;color:var(--muted);font-size:11px;font-style:normal}.smart-order-period-clear{min-height:32px;padding:5px 9px}.smart-order-period-hint{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px}.smart-order-period-hint em{color:#ffb25f;font-style:normal;font-weight:800}
body.theme-light .smart-order-period-filter input{color-scheme:light;background:#fff}
.smart-order-export-buttons{display:flex;align-items:center;gap:8px}.smart-order-g7-btn{min-width:172px}.smart-g7-status{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--border);border-radius:8px;background:rgba(4,18,39,.32)}.smart-g7-status-main{display:grid;gap:5px;min-width:0}.smart-g7-status strong{color:var(--text-strong);font-size:12px}.smart-g7-status span{color:var(--muted);font-size:10px;line-height:1.5}.smart-g7-status em{color:#ffb5b5;font-size:10px;font-style:normal}.smart-g7-status.is-success{border-color:rgba(49,191,132,.34);background:rgba(32,167,111,.08)}.smart-g7-status.is-warning{border-color:rgba(244,173,48,.38);background:rgba(236,157,32,.08)}.smart-g7-status.is-error{border-color:rgba(225,63,77,.38);background:rgba(225,63,77,.08)}.smart-g7-status.is-info{border-color:rgba(49,141,255,.35);background:rgba(22,119,255,.07)}.smart-g7-status-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.smart-g7-progress{overflow:hidden;width:min(560px,100%);height:5px;border-radius:999px;background:rgba(255,255,255,.08)}.smart-g7-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1677ff,#5bc2ff);transition:width .2s ease}.smart-g7-failures{display:grid;gap:3px;margin-top:2px}.smart-g7-failures code{overflow:hidden;max-width:760px;color:#ffca8b;font-family:inherit;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.smart-g7-status + .smart-g7-status{margin-top:8px}
body.theme-light .smart-g7-status{background:rgba(239,246,255,.72)}
@media(max-width:900px){.smart-order-export-buttons{width:100%}.smart-order-export-buttons button{flex:1}.smart-g7-status{flex-direction:column}.smart-g7-status-actions{width:100%}}@media(max-width:560px){.smart-order-export-buttons,.smart-g7-status-actions{align-items:stretch;flex-direction:column}.smart-order-export-buttons button,.smart-g7-status-actions button{width:100%}}
@media(max-width:900px){.smart-order-period-filter{align-items:flex-end}.smart-order-period-filter input{width:150px}}@media(max-width:560px){.smart-order-period-filter{display:grid;grid-template-columns:1fr 18px 1fr}.smart-order-period-title,.smart-order-period-clear{grid-column:1/-1}.smart-order-period-filter input{width:100%}.smart-order-period-filter i{text-align:center}}

/* OMS V2 authentication and role permissions */
body.is-login-screen{min-height:100vh;overflow-x:hidden;background:#07111f}
body.is-login-screen #app{min-height:100vh}
.login-page{display:grid;grid-template-columns:minmax(420px,1.02fr) minmax(500px,.98fr);min-height:100vh;color:#14213a;background:#f7f9fc}
.login-brand-panel{position:relative;display:flex;min-height:100vh;padding:54px 7vw 46px;overflow:hidden;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 18% 18%,rgba(43,137,255,.26),transparent 31%),radial-gradient(circle at 88% 82%,rgba(38,203,181,.18),transparent 32%),linear-gradient(145deg,#071629 0%,#0b2647 55%,#0b3551 100%)}
.login-brand-panel::before{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:48px 48px;content:"";mask-image:linear-gradient(to bottom right,#000,transparent 80%)}
.login-brand-mark,.login-brand-copy,.login-security-note{position:relative;z-index:2}
.login-brand-mark,.login-mobile-brand{display:flex;align-items:center;gap:10px;width:max-content}
.login-brand-logo{display:block;width:200px;max-width:32vw;height:auto;max-height:42px;object-fit:contain}
.login-brand-mark span,.login-mobile-brand span{font-size:29px;font-weight:950;letter-spacing:.08em}
.login-brand-mark small,.login-mobile-brand small{padding:5px 7px;border:1px solid rgba(255,255,255,.32);border-radius:6px;color:#77c7ff;background:rgba(61,150,255,.12);font-size:10px;font-weight:900;letter-spacing:.12em}
.login-brand-copy{max-width:610px;margin:70px 0 auto}
.login-eyebrow{margin:0 0 20px!important;color:#69c4ff!important;font-size:11px!important;font-weight:850!important;letter-spacing:.19em}
.login-brand-copy h1{margin:0;font-size:clamp(42px,4.4vw,68px);font-weight:850;letter-spacing:-.05em;line-height:1.12}
.login-brand-copy>p:last-child{max-width:520px;margin:27px 0 0;color:rgba(222,238,255,.72);font-size:16px;line-height:1.9}
.login-security-note{display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;padding:13px 16px;border:1px solid rgba(142,202,255,.18);border-radius:12px;background:rgba(7,28,51,.52);box-shadow:0 14px 40px rgba(0,0,0,.18);backdrop-filter:blur(14px)}
.login-security-note>svg{width:23px;color:#62d8c5;fill:none;stroke:currentColor;stroke-width:1.8}
.login-security-note span{display:grid;gap:3px}.login-security-note strong{font-size:12px}.login-security-note small{color:rgba(215,232,250,.62);font-size:10px}
.login-orbit{position:absolute;border:1px solid rgba(123,192,255,.13);border-radius:50%;pointer-events:none}.orbit-one{right:-180px;bottom:-150px;width:540px;height:540px}.orbit-two{right:-54px;bottom:-20px;width:285px;height:285px}
.login-form-panel{display:flex;min-height:100vh;padding:46px 7vw;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff 0%,#f4f7fb 100%)}
.login-form-wrap{width:min(100%,540px)}.login-mobile-brand{display:none;color:#12325d}
.login-heading>span{display:block;margin-bottom:8px;color:#1677ff;font-size:12px;font-weight:850;letter-spacing:.12em}.login-heading h2{margin:0;color:#10213d;font-size:37px;letter-spacing:-.035em}.login-heading p{margin:11px 0 0;color:#8190a6;font-size:14px}
.login-form{display:grid;gap:17px;margin-top:31px}.login-form label{display:grid;gap:8px;color:#3f4c62;font-size:12px;font-weight:800}.login-form input{width:100%;height:50px;padding:0 15px;border:1px solid #dce3ee;border-radius:10px;color:#172238;background:#fff;outline:none;box-shadow:0 3px 12px rgba(27,53,89,.03);transition:.16s ease}.login-form input::placeholder{color:#aeb9c8}.login-form input:focus{border-color:#398bff;box-shadow:0 0 0 3px rgba(22,119,255,.11)}
.login-submit{display:flex;width:100%;height:50px;margin-top:4px;padding:0 18px;align-items:center;justify-content:space-between;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1677ff,#2463df);box-shadow:0 13px 28px rgba(22,119,255,.24);font-size:14px;font-weight:850}.login-submit svg{width:18px;fill:none;stroke:currentColor;stroke-width:2;transform:rotate(-90deg)}.login-submit:hover{transform:translateY(-1px);box-shadow:0 17px 32px rgba(22,119,255,.3)}
.login-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #ffd0d5;border-radius:8px;color:#bc3143;background:#fff4f5;font-size:12px;font-weight:700}.login-error svg{width:17px;fill:none;stroke:currentColor;stroke-width:2}
.login-demo-head{display:flex;margin:31px 0 10px;align-items:center;justify-content:space-between}.login-demo-head span{color:#526078;font-size:11px;font-weight:900;letter-spacing:.12em}.login-demo-head small{color:#a0abbb;font-size:10px}
.login-account-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-account-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 10px;padding:10px;border:1px solid #e3e9f1;border-radius:9px;color:#24324a;background:#fff;text-align:left;transition:.16s ease}.login-account-card:first-child{grid-column:1/-1}.login-account-card:hover{border-color:#94bfff;background:#f8fbff;box-shadow:0 6px 18px rgba(29,73,132,.08);transform:translateY(-1px)}
.login-account-icon,.permission-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#1677ff;background:#eaf3ff}.login-account-icon svg,.permission-avatar svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.9}.login-account-icon.wms,.permission-avatar.wms{color:#108a72;background:#e5f8f3}.login-account-icon.tms,.permission-avatar.tms{color:#91640c;background:#fff3d7}.login-account-icon.customs,.permission-avatar.customs{color:#8757d7;background:#f2ebff}.login-account-icon.forward,.permission-avatar.forward{color:#d6576d;background:#ffedf1}.login-account-icon.finance,.permission-avatar.finance{color:#147d65;background:#e4f7f1}
.login-account-card>span:nth-child(2){display:grid;min-width:0;gap:2px}.login-account-card strong{font-size:11px}.login-account-card small{overflow:hidden;color:#748298;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.login-account-card em{grid-column:2;color:#9aa5b5;font-size:9px;font-style:normal;line-height:1.35}.login-password-hint{margin:12px 0 0;color:#9aa5b5;font-size:10px;text-align:center}.login-password-hint strong{color:#5e6c82}

.account-menu-wrap{position:relative}.account-menu-wrap .account{min-height:44px;padding:5px 7px;border:1px solid transparent;border-radius:9px;background:transparent;text-align:left}.account-menu-wrap .account:hover,.account-menu-wrap.is-open .account{border-color:var(--border);background:var(--card-soft)}.account-copy{display:grid;gap:2px}.account-copy strong{color:var(--text-strong);font-size:11px}.account-copy small{color:var(--muted);font-size:9px;font-weight:600}.account-chevron{color:var(--muted);font-size:12px;transition:.16s}.account-menu-wrap.is-open .account-chevron{transform:rotate(180deg)}
.account-dropdown{position:absolute;z-index:90;top:calc(100% + 9px);right:0;width:238px;padding:7px;border:1px solid var(--border);border-radius:11px;background:var(--panel-solid);box-shadow:0 18px 48px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.15s ease}.account-menu-wrap.is-open .account-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.account-dropdown-head{display:flex;align-items:center;gap:10px;margin-bottom:5px;padding:9px;border-bottom:1px solid var(--border)}.account-dropdown-head div{display:grid;gap:2px}.account-dropdown-head strong{color:var(--text-strong);font-size:12px}.account-dropdown-head small{color:var(--muted);font-size:9px}.account-dropdown>button{display:flex;width:100%;min-height:36px;padding:7px 9px;align-items:center;gap:9px;border:0;border-radius:7px;color:var(--text);background:transparent;font-size:11px;font-weight:750;text-align:left}.account-dropdown>button:hover{color:var(--text-strong);background:var(--primary-soft)}.account-dropdown>button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8}

.permission-modal-backdrop{position:fixed;z-index:160;inset:0;display:flex;padding:24px;align-items:center;justify-content:center;background:rgba(2,8,18,.76);backdrop-filter:blur(8px)}.permission-modal{width:min(1080px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:hidden;border:1px solid var(--border-strong);border-radius:15px;background:var(--panel-solid);box-shadow:0 30px 90px rgba(0,0,0,.46)}.permission-modal>form{display:grid;max-height:calc(100vh - 48px);grid-template-rows:auto auto minmax(0,1fr) auto}.permission-modal-head{display:flex;padding:21px 23px 17px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border)}.permission-modal-head>div>span{color:#48a7ff;font-size:9px;font-weight:900;letter-spacing:.16em}.permission-modal-head h2{margin:5px 0 0;color:var(--text-strong);font-size:22px}.permission-modal-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.permission-modal-head>button{display:grid;width:31px;height:31px;padding:0;place-items:center;border:1px solid var(--border);border-radius:7px;color:var(--muted);background:var(--card-soft);font-size:20px}.permission-admin-row{display:flex;margin:14px 22px 0;padding:11px 13px;align-items:center;gap:10px;border:1px solid rgba(48,137,255,.24);border-radius:10px;background:rgba(34,119,238,.08)}.permission-avatar.admin{color:#fff;background:linear-gradient(145deg,#1677ff,#6656dc)}.permission-admin-row div{display:grid;gap:2px}.permission-admin-row strong{color:var(--text-strong);font-size:12px}.permission-admin-row small{color:var(--muted);font-size:9px}.permission-admin-row em{margin-left:auto;color:#79bfff;font-size:10px;font-style:normal;font-weight:800}
.permission-account-list{display:grid;gap:10px;padding:14px 22px 20px;overflow:auto}.permission-account-card{display:grid;grid-template-columns:170px repeat(3,minmax(0,1fr));gap:16px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--card-soft)}.permission-account-head{display:flex;align-items:center;gap:10px}.permission-account-head>div{display:grid;gap:3px;min-width:0}.permission-account-head strong{color:var(--text-strong);font-size:12px}.permission-account-head small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis}.permission-account-head em{color:var(--muted);font-size:9px;font-style:normal;line-height:1.35}.permission-section{display:grid;gap:7px}.permission-section>span{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em}.permission-options{display:flex;flex-wrap:wrap;gap:6px}.permission-options label{position:relative;display:flex;min-height:29px;padding:5px 8px;align-items:center;gap:5px;border:1px solid var(--border);border-radius:7px;color:var(--muted);background:var(--panel-solid);font-size:10px;font-weight:750;cursor:pointer}.permission-options input{position:absolute;opacity:0}.permission-options i{display:grid;width:14px;height:14px;place-items:center;font-style:normal}.permission-options svg{width:13px;fill:none;stroke:currentColor;stroke-width:1.9}.permission-options label:has(input:checked){color:#fff;border-color:#2887ff;background:#176edc;box-shadow:0 5px 12px rgba(22,119,255,.18)}
.permission-modal-foot{display:flex;padding:14px 22px;align-items:center;justify-content:space-between;border-top:1px solid var(--border);background:var(--card-soft)}.permission-modal-foot>div{display:flex;gap:8px}.permission-modal-foot button{min-height:36px}.access-empty .empty{display:grid;justify-items:center;gap:9px;padding:70px 20px}.access-empty svg{width:38px;color:var(--muted);fill:none;stroke:currentColor;stroke-width:1.6}.access-empty h2,.access-empty p{margin:0}

body.theme-light .account-dropdown,body.theme-light .permission-modal{box-shadow:0 22px 55px rgba(32,64,104,.18)}
@media(max-width:980px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{padding:38px 24px}.login-mobile-brand{display:flex;margin-bottom:44px}.permission-account-card{grid-template-columns:1fr}.permission-account-head{padding-bottom:4px;border-bottom:1px solid var(--border)}}
@media(max-width:760px){.login-form-panel{align-items:flex-start}.login-form-wrap{max-width:540px}.login-heading h2{font-size:31px}.login-account-list{grid-template-columns:1fr}.login-account-card:first-child{grid-column:auto}.permission-modal-backdrop{padding:10px}.permission-modal{width:100%;max-height:calc(100dvh - 20px)}.permission-modal>form{max-height:calc(100dvh - 20px)}.permission-modal-head{padding:17px}.permission-admin-row{margin:10px 13px 0}.permission-admin-row em{display:none}.permission-account-list{padding:10px 13px 14px}.permission-modal-foot{padding:11px 13px;flex-wrap:wrap;gap:8px}.permission-modal-foot>div{margin-left:auto}.account-copy{display:none}.top-right{gap:6px}}
@media(max-width:420px){.login-form-panel{padding:26px 17px}.login-mobile-brand{margin-bottom:32px}.login-account-card em{display:none}.permission-modal-foot{align-items:stretch;flex-direction:column}.permission-modal-foot>div{display:grid;width:100%;margin:0;grid-template-columns:1fr 1fr}.permission-modal-foot>button{width:100%}}
.smart-g7-routing-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.smart-g7-routing-summary>div:first-child{display:grid;gap:4px;min-width:145px}.smart-g7-routing-summary strong{color:var(--text-strong);font-size:12px}.smart-g7-routing-summary span{color:var(--muted);font-size:10px}.smart-g7-routing-pills{display:flex;align-items:stretch;justify-content:flex-end;flex-wrap:wrap;gap:7px}.smart-g7-routing-pills>span{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 7px;min-width:175px;padding:7px 9px;border:1px solid var(--border);border-radius:7px}.smart-g7-routing-pills b{color:var(--text-strong);font-size:14px;text-align:right}.smart-g7-routing-pills em{grid-column:1/-1;color:var(--muted);font-size:9px;font-style:normal}.smart-g7-routing-pills .is-order{border-color:rgba(123,92,255,.34);background:rgba(123,92,255,.08)}.smart-g7-routing-pills .is-waybill{border-color:rgba(49,141,255,.35);background:rgba(22,119,255,.07)}.smart-g7-routing-pills .is-unknown{border-color:rgba(244,173,48,.38);background:rgba(236,157,32,.08)}.smart-order-table select{min-width:92px;height:29px;padding:0 6px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface,#17243a);font-size:10px;outline:none}.smart-order-table select:focus{border-color:#3298ff;box-shadow:0 0 0 2px rgba(22,119,255,.13)}body.theme-light .smart-g7-routing-summary{background:rgba(239,246,255,.72)}body.theme-light .smart-order-table select{background:#fff}@media(max-width:900px){.smart-g7-routing-summary{flex-direction:column}.smart-g7-routing-pills{justify-content:flex-start;width:100%}}@media(max-width:560px){.smart-g7-routing-pills{display:grid;grid-template-columns:1fr}.smart-g7-routing-pills>span{min-width:0}}
/* Finance pagination and date filters */
.finance-filter-toolbar {
  grid-template-columns: minmax(240px, 1fr) 150px 170px 150px 150px auto;
  align-items: end;
}

.finance-date-clear {
  min-width: 104px;
  height: 40px;
  justify-content: center;
}

.finance-date-clear:disabled,
.finance-pagination button:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

.finance-desk-grid .desk-list {
  min-width: 0;
}

.finance-table-summary {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.finance-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.finance-pagination__meta {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.finance-pagination__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.finance-pagination__controls span {
  min-width: 112px;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.finance-pagination__controls .ghost-btn {
  min-height: 36px;
  padding: 7px 12px;
}

@media (max-width: 1180px) {
  .finance-filter-toolbar {
    grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(140px, .55fr));
  }
}

@media (max-width: 760px) {
  .finance-filter-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .finance-date-clear {
    width: 100%;
  }

  .finance-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .finance-pagination__controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .finance-pagination__controls span {
    grid-column: 1 / -1;
    grid-row: 1;
  }
}

/* Smart logistics: keep LTL orders and FTL waybills in separate conversion windows. */
.smart-logistics-import-shell{display:grid;gap:12px}
.smart-logistics-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border:1px solid var(--border);border-radius:10px;background:rgba(3,15,34,.36)}
.smart-logistics-mode-switch button{display:grid;gap:4px;min-height:62px;padding:10px 14px;border:1px solid transparent;border-radius:8px;color:var(--muted);background:transparent;text-align:left;transition:.16s ease}
.smart-logistics-mode-switch button span{font-size:14px;font-weight:900}
.smart-logistics-mode-switch button em{font-size:10px;font-style:normal;font-weight:700}
.smart-logistics-mode-switch button.is-active{border-color:rgba(49,141,255,.48);color:#fff;background:linear-gradient(135deg,rgba(22,119,255,.26),rgba(124,89,226,.16));box-shadow:0 8px 22px rgba(1,10,28,.18)}
.smart-logistics-mode-switch button:not(.is-active):hover{border-color:var(--border);color:var(--text-strong);background:rgba(255,255,255,.04)}
.smart-logistics-mode-note{display:flex;align-items:center;gap:10px;padding:8px 12px;border-left:3px solid var(--primary);color:var(--muted);background:rgba(22,119,255,.06);font-size:11px}
.smart-logistics-mode-note strong{color:var(--text-strong);font-size:12px}
.ltl-smart-panel{border-color:rgba(123,92,255,.42);background:linear-gradient(145deg,rgba(123,92,255,.1),rgba(22,119,255,.07) 54%,rgba(255,255,255,.025))}
.ltl-project-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ltl-project-selector button{display:grid;gap:4px;min-height:58px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:rgba(255,255,255,.025);text-align:left}
.ltl-project-selector button span{color:var(--text-strong);font-size:12px;font-weight:900}
.ltl-project-selector button em{font-size:10px;font-style:normal;line-height:1.4}
.ltl-project-selector button.is-active{border-color:rgba(123,92,255,.46);background:rgba(123,92,255,.12);box-shadow:inset 3px 0 0 #8f7cff}
.ltl-pricing-summary .smart-g7-routing-pills>span{min-width:205px}
.ltl-preview-table{min-width:1080px}
.ltl-pricing-basis{display:inline-block;min-width:150px;color:var(--muted);font-size:10px;line-height:1.35}
body.theme-light .smart-logistics-mode-switch{background:rgba(239,246,255,.74)}
body.theme-light .ltl-project-selector button{background:#fff}
body.theme-light .ltl-smart-panel{background:linear-gradient(145deg,rgba(123,92,255,.07),rgba(22,119,255,.05) 54%,#fff)}
@media(max-width:760px){.smart-logistics-mode-switch,.ltl-project-selector{grid-template-columns:1fr}.smart-logistics-mode-note{align-items:flex-start;flex-direction:column;gap:3px}}
