
    .account-panel.drag-over {
      border-color: var(--green);
      background: #f0fdf9;
      box-shadow: 0 0 0 3px rgba(13, 126, 115, 0.14);
    }

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

    .account-actions .account-stats-entry {
      margin-left: auto;
      color: #ffffff;
      border-color: var(--green);
      background: var(--green);
      box-shadow: 0 0 0 3px rgba(19, 115, 51, 0.10);
      font-weight: 760;
    }

    .account-actions .account-stats-entry:hover {
      border-color: #0f5f2b;
      background: #0f5f2b;
    }

    .account-import-raw {
      display: grid;
      gap: 10px;
    }

    .account-import-raw[hidden] {
      display: none;
    }

    .account-import-raw textarea {
      width: 100%;
      min-height: 150px;
      resize: vertical;
      border: 1px solid var(--line);
      border-radius: 7px;
      padding: 10px 12px;
      color: var(--text);
      background: #fbfdff;
      font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    }

    .account-import-raw-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .route-batch-panel {
      display: grid;
      grid-template-columns: minmax(320px, 560px) minmax(260px, 1fr);
      gap: 14px;
      align-items: start;
    }

    .route-picker-card,
    .route-file-list-panel {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface);
      box-shadow: var(--shadow);
    }

    .route-picker-card {
      display: grid;
      gap: 14px;
      width: min(560px, 100%);
      min-height: 116px;
      padding: 16px;
      align-content: center;
    }

    .route-picker-card .panel-header {
      margin-bottom: 0;
    }

    .route-batch-guidance {
      display: grid;
      gap: 2px;
      max-width: 420px;
      padding: 16px 4px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.55;
      text-align: left;
    }

    .route-file-list-panel {
      grid-column: 1 / -1;
      display: grid;
      gap: 8px;
      padding: 14px 16px 16px;
    }

    .route-batch-panel.batch-detail-mode {
      gap: 10px;
    }

    .route-batch-panel.batch-detail-mode .route-picker-card,
    .route-batch-panel.batch-detail-mode .route-batch-guidance,
    .route-batch-panel.batch-detail-mode .route-file-list-panel > .panel-header {
      display: none;
    }

    .route-batch-panel.batch-detail-mode .route-file-list-panel {
      padding: 12px 14px;
    }

    .route-batch-actions,
    .user-create-grid {
      display: grid;
      grid-template-columns: minmax(220px, 1fr) auto;
      gap: 10px;
      align-items: center;
    }

    .route-batch-actions {
      grid-template-columns: auto;
      justify-items: end;
    }

    .user-create-grid {
      grid-template-columns: repeat(4, minmax(140px, 1fr)) auto;
    }

    .route-batch-list,
    .tool-download-grid,
    .collection-request-list,
    .user-list {
      display: grid;
      gap: 8px;
    }

    .tool-download-grid {
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 12px;
    }

    .tool-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 14px;
      align-items: center;
      min-height: 118px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: var(--surface-soft);
    }

    .tool-card-main {
      display: grid;
      gap: 6px;
      min-width: 0;
    }

    .tool-platform {
      width: max-content;
      max-width: 100%;
      padding: 3px 8px;
      border-radius: 999px;
      color: var(--accent);
      background: var(--accent-soft);
      font-size: 12px;
      font-weight: 720;
    }

    .tool-card h3 {
      margin: 0;
      font-size: 17px;
      line-height: 1.25;
    }

    .tool-card p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      overflow-wrap: anywhere;
    }

    .tool-download-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 8px 13px;
      border: 1px solid var(--accent);
      border-radius: 6px;
      color: #ffffff;
      font-size: 14px;
      font-weight: 700;
      text-decoration: none;
      white-space: nowrap;
    }

    .tool-download-button:hover {
      background: #0d655f;
      border-color: #0d655f;
      text-decoration: none;
    }

    .collection-request-card,
    .user-row {
      display: grid;
      gap: 8px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: var(--surface-soft);
    }

    .route-batch-card {
      display: grid;
      grid-template-columns: minmax(220px, 1.1fr) minmax(340px, 1.4fr) auto auto;
      gap: 12px;
      align-items: center;
      min-height: 70px;
      padding: 11px 12px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: var(--surface-soft);
      cursor: pointer;
    }

    .route-batch-card:hover {
      border-color: var(--line-strong);
      background: #ffffff;
    }

    .batch-detail-summary {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
    }

    .batch-detail-main {
      display: grid;
      flex: 1;
      min-width: 260px;
      gap: 4px;
    }

    .batch-detail-summary .tag {
      margin-left: auto;
    }

    .route-batch-head,
    .collection-request-head,
    .user-row-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .route-batch-title,
    .collection-request-title,
    .user-row-title {
      font-weight: 740;
      overflow-wrap: anywhere;
    }

    .route-batch-main {
      min-width: 0;
      display: grid;
      gap: 3px;
    }

    .route-batch-summary {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 12px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }

    .route-batch-summary span {
      white-space: nowrap;
    }

    .route-batch-state {
      justify-self: end;
    }

    .status-select.tag {
      width: auto;
      min-height: 26px;
      padding: 2px 28px 2px 10px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 650;
      cursor: pointer;
    }

    .route-batch-actions-inline,
    .collection-request-actions,
    .user-row-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }

    .route-batch-actions-inline {
      justify-content: flex-end;
      flex-wrap: wrap;
    }

    .route-batch-actions-inline button {
      min-height: 30px;
      padding: 5px 9px;
      font-size: 12px;
    }

    .route-batch-history-actions {
      display: flex;
      justify-content: center;
      padding: 6px 0 2px;
      color: var(--muted);
      font-size: 13px;
    }

    .collection-request-actions select {
      min-height: 30px;
      font-size: 12px;
    }

    .collection-request-actions {
      display: grid;
      grid-template-columns: minmax(150px, 0.7fr) minmax(120px, 0.5fr) minmax(120px, 0.5fr) auto;
      gap: 10px;
      align-items: end;
    }

    .collection-request-actions button {
      grid-column: 4;
      justify-self: end;
      min-height: 38px;
    }

    .collection-request-running {
      grid-column: 1 / 4;
    }

    .collection-request-skip {
      grid-column: 1 / 4;
      align-self: center;
      min-height: 24px;
      padding-top: 2px;
    }

    .collection-request-running strong {
      color: var(--text);
      font-size: 14px;
    }

    .collection-task-stack {
      display: grid;
      gap: 10px;
    }

    .collection-task-card {
      background: #fbfcfd;
    }

    .collection-task-actions {
      grid-template-columns: minmax(260px, 1.1fr) minmax(130px, 0.55fr) minmax(110px, 0.45fr) minmax(110px, 0.45fr);
    }

    .collection-task-actions .collection-task-batch {
      grid-column: 1;
    }

    .collection-task-actions .collection-request-skip {
      grid-column: 1 / 5;
    }

    .collection-task-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }

    .collection-task-run-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
    }

    .icon-button.collection-task-add,
    .collection-task-remove {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 58px;
      height: 44px;
      padding: 0;
      border-radius: 8px;
      font-size: 24px;
      font-weight: 720;
      line-height: 1;
    }

    .collection-task-remove {
      width: 30px;
      height: 30px;
      border-radius: 999px;
      color: var(--muted);
      font-size: 22px;
      background: transparent;
    }

    .compact-field {
      display: grid;
      gap: 5px;
      min-width: 0;
      color: var(--muted);
      font-size: 12px;
      font-weight: 650;
    }

    .compact-field input,
    .compact-field select {
      width: 100%;
      min-height: 38px;
      padding: 7px 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      color: var(--text);
      background: #fff;
      font-size: 14px;
      font-weight: 600;
    }

    .request-range-field[hidden] {
      display: none;
    }

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

    .account-row {
      display: grid;
      grid-template-columns: minmax(180px, 1fr) minmax(300px, 1.3fr) 110px 150px;
      gap: 10px;
      align-items: center;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: var(--surface-soft);
    }

    .account-name {
      font-weight: 720;
      overflow-wrap: anywhere;
    }

    .account-meta {
      color: var(--muted);
      font-size: 12px;
      overflow-wrap: anywhere;
    }

    .account-summary-line {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 10px;
    }

    .text-link-button {
      min-height: 0;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--accent);
      font: inherit;
      font-weight: 700;
      cursor: pointer;
    }

    .text-link-button:hover {
      color: #0b5f59;
      text-decoration: underline;
    }

    .account-actions-inline {
      display: flex;
      gap: 6px;
      justify-content: flex-end;
    }

    .account-module-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 12px;
    }

    .account-module {
      display: grid;
      gap: 9px;
      min-width: 0;
      padding: 12px 12px 12px 16px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #ffffff;
    }

    .account-module-head {
      display: grid;
      gap: 6px;
    }

    .account-module-title {
      display: grid;
      gap: 3px;
      min-width: 0;
    }

    .account-module-name {
      font-size: 16px;
      font-weight: 780;
      overflow-wrap: anywhere;
    }

    .account-module-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: flex-start;
    }

    .account-module-tags:empty,
    .account-module-tools:has(.account-module-tags:empty),
    .account-health-line:empty,
    .account-key-status:empty,
    .account-scope-panel[hidden] {
      display: none;
    }

    .account-module-tools {
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      flex-wrap: wrap;
      gap: 8px;
      min-width: 0;
    }

    .account-module-tools button {
      min-height: 28px;
      padding: 4px 10px;
      font-size: 12px;
    }

    .account-module .job-card {
      margin-top: 0;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 6px;
    }

    .account-module .compact-mini {
      padding: 6px 8px;
      border-radius: 6px;
    }

    .account-module .compact-mini span {
      font-size: 11px;
    }

    .account-module .compact-mini strong {
      margin-top: 1px;
      font-size: 13px;
    }

    .account-health-line,
    .resource-meta-line {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 10px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }

    .account-card-actions,
    .device-card-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }

    .account-card-actions button,
    .device-card-actions button {
      min-height: 30px;
      padding: 5px 10px;
      font-size: 12px;
    }

    .lalamove-mini-task-grid {
      grid-template-columns: minmax(260px, 1.1fr) minmax(260px, 1fr) minmax(130px, 0.55fr) minmax(110px, 0.45fr);
    }

    .lalamove-mini-probe-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lalamove-mini-task-card .lalamove-mini-route-select {
      grid-column: 2 / 5;
    }

    .lalamove-mini-task-grid .wide,
    .lalamove-mini-probe-grid .wide {
      grid-column: 1 / -1;
      min-width: 0;
    }

    .lalamove-mini-result,
    .lalamove-mini-vehicles {
      display: grid;
      gap: 12px;
      margin-top: 12px;
    }

    .lalamove-mini-quote-card {
      gap: 12px;
    }

    .lalamove-mini-quote-head {
      display: flex;
      justify-content: flex-end;
      margin-top: 10px;
    }

    .lalamove-mini-kpis {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lalamove-mini-chain {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
      gap: 10px;
    }

    .lalamove-mini-addresses {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .lalamove-mini-address,
    .lalamove-mini-price-row,
    .lalamove-mini-vehicle {
      display: grid;
      gap: 4px;
      min-width: 0;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #ffffff;
    }

    .lalamove-mini-address span,
    .lalamove-mini-price-row em,
    .lalamove-mini-vehicle span {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      overflow-wrap: anywhere;
    }

    .lalamove-mini-address strong,
    .lalamove-mini-price-row strong,
    .lalamove-mini-vehicle strong {
      color: var(--text);
      font-weight: 780;
      overflow-wrap: anywhere;
    }

    .lalamove-mini-price-list {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 8px;
    }

    .lalamove-mini-task-results {
      display: grid;
      gap: 12px;
      margin-top: 12px;
    }

    .lalamove-mini-task-result {
      display: grid;
      gap: 10px;
      min-width: 0;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfcfd;
    }

    .lalamove-mini-task-result-head {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: baseline;
      min-width: 0;
    }

    .lalamove-mini-task-result-head strong {
      color: var(--text);
      font-weight: 800;
    }

    .lalamove-mini-task-result-head span {
      color: var(--muted);
      font-size: 12px;
      overflow-wrap: anywhere;
    }

    .lalamove-mini-price-row {
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
    }

    .lalamove-mini-price-row.state-ready {
      border-color: #b9e3ca;
      background: #f2fbf6;
    }

    .lalamove-mini-price-row.state-error {
      border-color: #f1c4c4;
      background: #fff6f6;
    }

    .lalamove-mini-price-row span {
      color: var(--text);
      font-weight: 720;
      overflow-wrap: anywhere;
    }

    .lalamove-mini-price-row strong {
      color: var(--accent);
      font-size: 18px;
      white-space: nowrap;
    }

    .lalamove-mini-price-row em {
      grid-column: 1 / -1;
    }

    .lalamove-mini-vehicle-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 8px;
      margin-top: 10px;
    }

    .account-module .job-observe {
      margin-top: 0;
    }

    .account-stats-page-head {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 16px;
      align-items: center;
      margin-bottom: 16px;
    }

    .account-stats-shell {
      display: grid;
      gap: 18px;
    }

    .account-stats-body {
      display: grid;
      gap: 18px;
      min-width: 0;
    }

    .account-stats-kpis {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }

    .account-stats-kpi {
      display: grid;
      gap: 6px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #ffffff;
    }

    .account-stats-kpi span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 650;
    }

    .account-stats-kpi strong {
      color: var(--text);
      font-size: 20px;
      font-weight: 800;
    }

    .account-stats-kpi.highlight {
      border-color: #9dd8bb;
      background: #edf8f2;
    }

    .account-stats-kpi.highlight strong {
      color: #0f7a45;
    }

    .account-stats-section {
      display: grid;
      gap: 10px;
      min-width: 0;
    }

    .account-stats-section h3 {
      margin: 0;
      font-size: 16px;
      font-weight: 780;
    }

    .account-stats-table-wrap {
      width: 100%;
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #ffffff;
    }

    .account-stats-table {
      width: 100%;
      min-width: 980px;
      border-collapse: separate;
      border-spacing: 0;
      font-size: 12px;
    }

    .account-stats-table th,
    .account-stats-table td {
      padding: 9px 10px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      text-align: right;
      white-space: nowrap;
    }

    .account-stats-table th {
      position: sticky;
      top: 0;
      z-index: 2;
      background: #f4f7fb;
      color: var(--muted);
      font-weight: 760;
    }

    .account-stats-table thead tr:first-child th {
      color: var(--text);
      background: #eaf2ff;
    }

    .account-stats-table .sticky-col {
      position: sticky;
      left: 0;
      z-index: 3;
      min-width: 92px;
      text-align: left;
      background: #ffffff;
      color: var(--text);
      box-shadow: 1px 0 0 var(--line);
    }

    .account-stats-table thead .sticky-col {
      background: #eaf2ff;
    }

    .account-stats-table .account-stats-block.has-lalamove,
    .account-stats-table.summary .has-lalamove {
      background: #e9f8ef;
      color: #0f7a45;
      font-weight: 780;
    }

    .account-stats-table .price-count.has-lalamove {
      background: #d9f2e3;
    }

    .account-stats-table tr:hover td,
    .account-stats-table tr:hover .sticky-col {
      background-color: #f8fbff;
    }

    .account-stats-table tr:hover td.has-lalamove,
    .account-stats-table tr:hover .account-stats-block.has-lalamove {
      background-color: #dff4e8;
    }

    .account-key-status {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 14px;
      min-height: 0;
      padding: 0;
      color: var(--muted);
      font-size: 12px;
    }

    .key-status-item {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      white-space: nowrap;
    }

    .key-status-label {
      color: #475569;
      font-weight: 650;
    }

    .key-status-icon {
      display: inline-grid;
      place-items: center;
      width: 16px;
      height: 16px;
      border-radius: 999px;
      border: 1px solid currentColor;
      font-size: 11px;
      line-height: 1;
      font-weight: 800;
    }

    .key-status-icon.success { color: var(--green); background: var(--green-soft); }
    .key-status-icon.pending { color: var(--muted); background: #f2f5f8; }
    .key-status-icon.error { color: var(--red); background: var(--red-soft); }

    .account-strategy {
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: var(--surface-soft);
      padding: 7px 9px;
    }

    .account-strategy summary {
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      color: var(--text);
      font-size: 13px;
      font-weight: 700;
      list-style: none;
    }

    .account-strategy summary::-webkit-details-marker {
      display: none;
    }

    .account-strategy-summary {
      min-width: 0;
      color: var(--muted);
      font-size: 11px;
      font-weight: 560;
      text-align: right;
      overflow-wrap: anywhere;
    }

    .strategy-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
      gap: 9px;
      margin-top: 10px;
    }

    .pool-toggle-row {
      display: flex;
      align-items: center;
      padding-top: 10px;
    }

    .strategy-grid .field-hint {
      min-height: 0;
    }

    .query-field,
    .action-field {
      display: grid;
      gap: 5px;
      min-width: 0;
    }

    .field-hint {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
      min-height: 32px;
    }

    .field-hint.notice {
      color: var(--amber);
      font-weight: 650;
    }

    .static-value {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: var(--surface-soft);
      min-height: 39px;
      padding: 9px 10px;
      display: flex;
      align-items: center;
      font-weight: 700;
      color: var(--text);
    }

    .checkline {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--muted);
      white-space: nowrap;
      min-height: 38px;
    }

    .action-field button {
      width: 100%;
    }

    .detail-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 28px;
      padding: 3px 9px;
      border: 1px solid var(--line);
      border-radius: 6px;
      color: var(--accent);
      background: #ffffff;
      text-decoration: none;
      font-weight: 650;
      font-size: 12px;
    }

    .detail-link:hover {
      border-color: var(--accent);
      background: var(--accent-soft);
    }

    .checkline input {
      width: auto;
      min-height: 0;
    }

    .job-card {
      margin-top: 12px;
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 10px;
    }

    .job-observe {
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
      align-items: start;
      margin-top: 12px;
    }

    .panel-header.compact {
      margin-bottom: 8px;
    }

    .job-log-list {
      max-height: 300px;
      overflow: auto;
      border: 1px solid #1e293b;
      border-radius: 7px;
      background: #111827;
      color: #dbe4ef;
      padding: 8px 10px;
      font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
      cursor: grab;
      user-select: text;
    }

    .drawer-body .job-log-list {
      max-height: calc(100vh - 250px);
    }

    .job-log-list.dragging {
      cursor: grabbing;
      user-select: none;
    }

    .job-log-table {
      min-width: max-content;
      border-collapse: collapse;
    }

    .job-log-table th {
      position: sticky;
      top: -8px;
      z-index: 1;
      background: #111827;
      color: #dbe4ef;
      font-weight: 720;
    }

    .job-log-table th,
    .job-log-table td {
      padding: 5px 12px 5px 0;
      min-height: 26px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      text-align: left;
      white-space: nowrap;
      vertical-align: middle;
    }

    .job-log-table th:nth-child(1),
    .job-log-table td:nth-child(1) {
      min-width: 150px;
    }

    .job-log-table th:nth-child(2),
    .job-log-table td:nth-child(2) {
      min-width: 70px;
    }

    .job-log-table th:nth-child(3),
    .job-log-table td:nth-child(3) {
      min-width: 220px;
    }

    .job-log-table th:nth-child(4),
    .job-log-table td:nth-child(4) {
      min-width: 220px;
    }

    .job-log-table th:nth-child(5),
    .job-log-table td:nth-child(5) {
      min-width: 140px;
    }

    .job-log-table th:nth-child(6),
    .job-log-table td:nth-child(6) {
      min-width: 520px;
    }

    .job-log-time,
    .job-log-device,
    .job-log-route,
    .job-log-stage,
    .job-log-message {
      white-space: nowrap;
    }

    .job-log-time,
    .job-log-device,
    .job-log-route,
    .job-log-stage {
      color: #93a4b8;
    }

    .job-log-level {
      font-weight: 720;
      text-transform: uppercase;
    }

    .job-log-list .empty {
      border-color: rgba(255, 255, 255, 0.16);
      background: rgba(255, 255, 255, 0.04);
      color: #93a4b8;
    }

    .log-info { color: #93c5fd; }
    .log-success { color: #86efac; }
    .log-warn { color: #fcd34d; }
    .log-error { color: #fca5a5; }

    input,
    select {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #ffffff;
      color: var(--text);
      padding: 9px 10px;
      min-height: 38px;
    }

    .tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }

    .tab {
      border-radius: 999px;
      padding: 7px 12px;
      color: var(--muted);
    }

    .tab.active {
      color: var(--accent);
      background: var(--accent-soft);
      border-color: #b9ded9;
    }

    .table-wrap {
      overflow: auto;
      max-height: 620px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface);
    }

    .grid.route-list-mode .table-wrap {
      max-height: calc(100vh - 295px);
    }

    .route-pager {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 10px;
      color: var(--muted);
      font-size: 12px;
    }

    .route-pager[hidden] {
      display: none;
    }

    .route-pager button {
      min-height: 30px;
      padding: 5px 10px;
    }
