:root {
  --bfc-ink: #14212b;
  --bfc-text: #35434d;
  --bfc-muted: #687782;
  --bfc-border: #d9e1e6;
  --bfc-border-strong: #c2cdd4;
  --bfc-surface: #ffffff;
  --bfc-surface-soft: #f5f8fa;
  --bfc-canvas: #eef3f6;
  --bfc-blue: #007fae;
  --bfc-blue-dark: #075b78;
  --bfc-blue-soft: #e6f5fa;
  --bfc-orange: #ef8617;
  --bfc-orange-dark: #b8540a;
  --bfc-orange-soft: #fff2e3;
  --bfc-green: #16834b;
  --bfc-green-soft: #e9f8ef;
  --bfc-red: #c73535;
  --bfc-red-soft: #fff0f0;
  --bfc-shadow: 0 2px 8px rgba(20, 33, 43, 0.08);
  --bfc-focus: 0 0 0 3px rgba(0, 127, 174, 0.2);
}

* {
  box-sizing: border-box;
  letter-spacing: 0;
}

html {
  min-width: 320px;
  background: var(--bfc-canvas);
}

body {
  min-width: 320px;
  margin: 0;
  background: var(--bfc-canvas);
  color: var(--bfc-ink);
  font-family: Inter, Roboto, "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: var(--bfc-blue-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 0;
  box-shadow: var(--bfc-focus);
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1100;
  min-height: 44px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  border: 2px solid #fff;
  border-radius: 7px;
  background: var(--bfc-blue-dark);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(20, 33, 43, 0.2);
  transform: translateY(-150%);
  transition: transform 160ms ease;
}

.skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

.app-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: 3px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.app-progress::after {
  display: block;
  width: 42%;
  height: 100%;
  content: "";
  background: var(--bfc-orange);
  transform: translateX(-110%);
}

body[data-navigating="true"] .app-progress {
  opacity: 1;
}

body[data-navigating="true"] .app-progress::after {
  animation: bfc-progress 850ms ease-in-out infinite;
}

@keyframes bfc-progress {
  to { transform: translateX(350%); }
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid var(--bfc-border);
  background: rgba(255, 255, 255, 0.97);
}

.topbar {
  width: min(100%, 1440px);
  min-height: 64px;
  margin: 0 auto;
  padding: 8px 18px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.brand {
  min-width: 330px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}

.brand > span {
  min-width: 0;
}

.brand-title,
.brand-sub {
  display: block;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.brand-logo {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  object-fit: contain;
  border: 0;
  border-radius: 4px;
  box-shadow: none;
}

.brand-title {
  color: var(--bfc-blue-dark);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
}

.brand-sub {
  margin-top: 6px;
  color: var(--bfc-orange-dark);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.app-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 4px;
}

.app-nav a {
  min-height: 40px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 6px;
  color: var(--bfc-text);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.app-nav a:hover,
.app-nav a[aria-current="page"] {
  background: var(--bfc-blue-soft);
  color: var(--bfc-blue-dark);
}

.app-nav .app-nav-admin {
  border: 1px solid #f3cfaa;
  background: #fff8ef;
  color: #8f4b12;
}

.app-nav .app-nav-admin:hover,
.app-nav .app-nav-admin[aria-current="page"] {
  border-color: #efb978;
  background: #fff0dc;
  color: #7c3f0c;
  box-shadow: 0 0 0 3px rgba(242, 140, 27, 0.08);
}

.app-nav svg,
.button-icon svg,
.inline-icon svg {
  width: 17px;
  height: 17px;
  stroke-width: 2;
}

#app-main {
  width: min(100%, 1440px);
  min-height: calc(100vh - 64px);
  margin: 0 auto;
  padding: 20px 18px 48px;
}

.admin-workspace-nav {
  max-width: 100%;
  margin: 0 0 18px;
  padding: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow-x: auto;
  border: 1px solid var(--bfc-border);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  scrollbar-width: thin;
}

.admin-workspace-nav a {
  min-height: 40px;
  flex: 0 0 auto;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--bfc-text);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  box-shadow: none;
}

.admin-workspace-nav a:hover,
.admin-workspace-nav a[aria-current="page"] {
  border-color: #b9dbe8;
  background: var(--bfc-blue-soft);
  color: var(--bfc-blue-dark);
}

.admin-workspace-nav a[aria-current="page"] {
  box-shadow: inset 0 -2px 0 var(--bfc-blue);
}

.admin-workspace-nav svg {
  width: 16px;
  height: 16px;
}

.panel,
.panel.card,
.panel.card.shadow-sm {
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none !important;
}

.panel + .panel {
  margin-top: 18px;
}

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

h1,
h2,
h3 {
  margin: 0;
  color: var(--bfc-ink);
  line-height: 1.25;
}

h1 { font-size: 25px; font-weight: 800; }
h2 { font-size: 18px; font-weight: 800; }
h3 { margin-top: 14px; font-size: 15px; font-weight: 800; }

p {
  margin: 5px 0 0;
  color: var(--bfc-muted);
}

.kicker {
  margin-bottom: 5px;
  color: var(--bfc-blue-dark);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.request-number-nav {
  margin-bottom: 7px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.request-number-nav .kicker {
  min-height: 44px;
  margin: 0;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--bfc-border);
  border-radius: 12px;
  background: var(--bfc-surface);
  font-variant-numeric: tabular-nums;
}

.request-nav-arrow {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bfc-border);
  border-radius: 12px;
  background: var(--bfc-surface);
  color: var(--bfc-blue-dark);
  box-shadow: 0 4px 12px rgba(15, 23, 42, .06);
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.request-nav-arrow:hover,
.request-nav-arrow:focus-visible {
  border-color: var(--bfc-blue);
  background: var(--bfc-blue-soft);
  color: var(--bfc-blue-dark);
  transform: translateY(-1px);
}

.request-nav-arrow:focus-visible {
  outline: 3px solid rgba(7, 132, 181, .22);
  outline-offset: 2px;
}

.request-nav-arrow.disabled {
  opacity: .32;
  box-shadow: none;
}

.request-nav-arrow svg {
  width: 19px;
  height: 19px;
  stroke-width: 2.2;
}

.stats,
.actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.stat,
.badge {
  min-height: 28px;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--bfc-border);
  border-radius: 999px;
  background: var(--bfc-surface);
  color: var(--bfc-text);
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}

.stat strong { color: var(--bfc-blue-dark); }
.badge.done, .done { border-color: #aadfbe; background: var(--bfc-green-soft); color: #12673c; }
.badge.status-progress, .status-progress { border-color: #a9dcea; background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.badge.attention { border-color: #f2c48f; background: var(--bfc-orange-soft); color: #8f450c; }
.muted { color: var(--bfc-muted); font-size: 12px; }

a.btn,
a.secondary,
a:not(.brand):not(.app-nav a):not(.skip-link):not(.queue-title a):not(.branch-chip):not(.batch-history-row):not(.batch-request-row):not(.queue-scope-option):not(.queue-trip-rate):not(.queue-trip-bulk):not(.admin-workspace-link):not(.mobile-section-link),
button,
.btn {
  min-height: 42px;
  padding: 9px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--bfc-blue);
  border-radius: 6px;
  background: var(--bfc-blue);
  color: #fff;
  font-weight: 750;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

a.btn:hover,
button:hover,
.btn:hover {
  border-color: var(--bfc-blue-dark);
  background: var(--bfc-blue-dark);
  color: #fff;
}

a.secondary,
button.secondary,
.btn-outline-primary {
  border-color: var(--bfc-border-strong) !important;
  background: var(--bfc-surface) !important;
  color: var(--bfc-blue-dark) !important;
}

a.secondary:hover,
button.secondary:hover,
.btn-outline-primary:hover {
  border-color: var(--bfc-blue) !important;
  background: var(--bfc-blue-soft) !important;
}

button.danger,
.danger {
  border-color: var(--bfc-red) !important;
  background: var(--bfc-red) !important;
  color: #fff !important;
}

button:disabled,
.btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

button[data-busy="true"] {
  cursor: wait;
}

button[data-busy="true"]::before {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  content: "";
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: bfc-button-spin 700ms linear infinite;
}

@keyframes bfc-button-spin {
  to { transform: rotate(360deg); }
}

.compact { min-height: 38px; padding: 7px 10px; }

.login-shell {
  --bfc-login-muted: #5f707b;
  min-height: calc(100vh - 105px);
  min-height: calc(100dvh - 105px);
  padding: clamp(18px, 4vw, 48px) 0;
  display: grid;
  place-items: center;
}

.login-shell .login-panel {
  position: relative;
  width: min(100%, 540px);
  padding: clamp(24px, 4vw, 38px);
  display: block;
  overflow: hidden;
  border: 1px solid var(--bfc-border) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff, #fbfdfe);
  box-shadow: 0 24px 64px rgba(20, 33, 43, 0.13) !important;
}

.login-shell .login-panel::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, var(--bfc-blue-dark), var(--bfc-blue), var(--bfc-orange));
}

.login-panel-head {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: start;
  gap: 15px;
}

.login-panel-head h1 {
  margin-bottom: 6px;
  font-size: clamp(27px, 3vw, 34px);
}

.login-panel-head p {
  max-width: 44ch;
  margin: 0;
  color: var(--bfc-login-muted);
  font-size: 14px;
}

.login-security-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid #b9dbe8;
  border-radius: 14px;
  background: linear-gradient(145deg, #f3fbfe, var(--bfc-blue-soft));
  color: var(--bfc-blue-dark);
}

.login-security-mark svg {
  width: 27px;
  height: 27px;
  stroke-width: 2;
}

.login-form,
.account-form {
  display: grid;
  gap: 13px;
}

.login-form { margin-top: 24px; gap: 16px; }
.account-form { margin-top: 18px; }

.login-form .remember-login {
  min-height: 48px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 6px 0;
  cursor: pointer;
}

.login-form .remember-login input {
  width: 20px;
  height: 20px;
  min-height: 0;
  margin: 2px 0 0;
  accent-color: var(--bfc-blue);
}

.login-form > label:not(.remember-login) > span {
  color: var(--bfc-text);
  font-size: 13px;
  font-weight: 800;
}

.login-form .remember-login span {
  display: grid;
  gap: 2px;
}

.login-form .remember-login strong {
  color: var(--bfc-ink);
  font-size: 14px;
}

.login-form .remember-login small {
  color: var(--bfc-login-muted);
  font-size: 12px;
  line-height: 1.4;
}

.login-form > button {
  width: 100%;
  min-height: 50px;
  margin-top: 2px;
  border-radius: 9px;
  font-size: 14px;
}

.login-form > button svg {
  width: 18px;
  height: 18px;
}

.login-trust-note {
  margin-top: 22px;
  padding: 12px 13px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid #cde3ec;
  border-radius: 10px;
  background: #f4fafc;
  color: var(--bfc-blue-dark);
}

.login-trust-note > svg {
  width: 20px;
  height: 20px;
  justify-self: center;
}

.login-trust-note > span {
  display: grid;
  gap: 2px;
}

.login-trust-note strong { font-size: 12px; }
.login-trust-note small { color: var(--bfc-login-muted); font-size: 12px; line-height: 1.4; }

body.login-view .app-nav { display: none; }
body.login-view .topbar { justify-content: center; }
body.login-view .brand { min-width: 0; }
body.login-view #app-main { max-width: none; padding-top: 0; }

label {
  color: var(--bfc-text);
  font-size: 12px;
  font-weight: 750;
}

input.form-control,
select.form-select,
textarea.form-control,
.login-form input,
.account-form input,
.admin-form input,
.admin-form select,
.erp-value input,
.master-control input {
  width: 100%;
  min-height: 42px;
  margin-top: 5px;
  padding: 8px 10px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 6px;
  background: var(--bfc-surface);
  color: var(--bfc-ink);
  box-shadow: none;
}

.login-form input:not([type="checkbox"]) {
  min-height: 50px;
  border-radius: 9px;
  font-size: 16px;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--bfc-blue) !important;
  outline: 0;
  box-shadow: var(--bfc-focus) !important;
}

.error,
.success,
.login-banner {
  margin: 12px 0;
  padding: 11px 12px;
  border: 1px solid;
  border-radius: 6px;
}

.error { border-color: #efb5b5; background: var(--bfc-red-soft); color: #8c2525; }
.success { border-color: #aadfbe; background: var(--bfc-green-soft); color: #12673c; }

.login-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.login-banner > div { display: grid; gap: 2px; }
.login-banner.connected { border-color: #aadfbe; background: var(--bfc-green-soft); color: #12673c; }
.login-banner.required { border-color: #f2c48f; background: var(--bfc-orange-soft); color: #8f450c; }
.login-connected { border-color: #aadfbe; background: var(--bfc-green-soft); color: #12673c; }

.erp-master-sync-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.erp-master-sync-actions form { margin: 0; }

.queue-toolbar {
  margin: 14px 0 10px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) repeat(3, auto);
  gap: 9px;
  align-items: end;
}

.queue-toolbar label { margin: 0; }

.batch-import-shell,
.batch-history {
  width: min(100%, 1080px);
  margin-inline: auto;
}

.batch-upload-form {
  margin-top: 18px;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(190px, 0.55fr) minmax(300px, 1.25fr) auto;
  gap: 12px;
  align-items: end;
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: var(--bfc-surface);
}

.batch-upload-form > label {
  min-width: 0;
  margin: 0;
}

.batch-file-picker {
  position: relative;
  min-height: 72px;
  padding: 11px 14px;
  display: flex !important;
  justify-content: center;
  border: 1px dashed var(--bfc-border-strong);
  border-radius: 8px;
  background: var(--bfc-surface-soft);
  cursor: pointer;
}

.batch-file-picker:focus-within {
  border-color: var(--bfc-blue);
  box-shadow: var(--bfc-focus);
}

.batch-file-picker > span {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2px 9px;
}

.batch-file-picker svg {
  width: 24px;
  height: 24px;
  grid-row: 1 / 3;
  color: var(--bfc-blue-dark);
}

.batch-file-picker strong,
.batch-file-picker small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.batch-file-picker small {
  color: var(--bfc-muted);
  font-weight: 550;
}

.batch-file-picker input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.batch-history-list {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: var(--bfc-surface);
  box-shadow: var(--bfc-shadow);
}

.batch-request-list {
  display: grid;
  border-top: 1px solid var(--bfc-border);
}

.batch-history-row {
  min-width: 0;
  min-height: 68px;
  padding: 11px 14px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--bfc-border);
  background: var(--bfc-surface);
  color: var(--bfc-ink);
  text-decoration: none;
  transition: background-color 140ms ease, box-shadow 140ms ease;
}

.batch-history-row:last-child {
  border-bottom: 0;
}

.batch-history-row:hover,
.batch-history-row:focus-visible {
  background: #f7fbfd;
  color: var(--bfc-ink);
  box-shadow: inset 3px 0 0 var(--bfc-blue);
}

.batch-history-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #b9dbe8;
  border-radius: 6px;
  background: var(--bfc-blue-soft);
  color: var(--bfc-blue-dark);
}

.batch-history-icon svg {
  width: 19px;
  height: 19px;
  stroke-width: 2;
}

.batch-history-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.batch-history-copy strong {
  color: var(--bfc-ink);
  font-size: 14px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.batch-history-copy small {
  color: var(--bfc-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.batch-history-state {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.batch-history-state .badge {
  min-height: 30px;
  padding-inline: 9px;
}

.batch-history-state .badge svg {
  width: 14px;
  height: 14px;
}

.batch-history-chevron {
  width: 17px;
  height: 17px;
  color: var(--bfc-muted);
}

.batch-request-row {
  min-width: 0;
  padding: 12px 2px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--bfc-border);
  color: inherit;
  text-decoration: none;
}

.batch-request-row:hover {
  color: var(--bfc-blue-dark);
  background: var(--bfc-blue-soft);
}

.batch-request-row > span:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.batch-request-row strong,
.batch-request-row small {
  overflow-wrap: anywhere;
}

.batch-request-row small {
  color: var(--bfc-muted);
}

.batch-progress {
  height: 9px;
  overflow: hidden;
  border-radius: 5px;
  background: #dfe8ed;
}

.batch-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--bfc-blue);
  transition: width 220ms ease;
}

.batch-progress-copy {
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: var(--bfc-text);
}

.batch-metrics {
  margin: 18px 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: var(--bfc-surface);
}

.batch-metrics > div {
  min-width: 0;
  padding: 12px;
  display: grid;
  gap: 3px;
  border-right: 1px solid var(--bfc-border);
}

.batch-metrics > div:last-child {
  border-right: 0;
}

.batch-metrics span {
  color: var(--bfc-muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.batch-metrics strong {
  color: var(--bfc-blue-dark);
  font-size: 20px;
}

.branch-filter {
  margin: 8px 0 16px;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.queue-scope-switch {
  margin: 14px 0 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.queue-scope-option {
  min-width: 0;
  min-height: 72px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 9px;
  background: var(--bfc-surface);
  color: var(--bfc-text);
  box-shadow: 0 2px 7px rgba(20, 33, 43, 0.05);
  text-decoration: none;
  transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.queue-scope-option:hover,
.queue-scope-option:focus-visible {
  border-color: #8bbfd2;
  background: #f8fcfe;
  color: var(--bfc-text);
  box-shadow: 0 5px 14px rgba(7, 93, 125, 0.09);
}

.queue-scope-option.active {
  border-color: var(--bfc-blue);
  background: linear-gradient(100deg, var(--bfc-blue-soft), #fff 68%);
  box-shadow: inset 4px 0 0 var(--bfc-blue), 0 5px 14px rgba(7, 93, 125, 0.08);
}

.queue-scope-option > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.queue-scope-option > span:nth-child(2) strong { color: var(--bfc-ink); font-size: 14px; }
.queue-scope-option > span:nth-child(2) small { color: var(--bfc-muted); font-size: 11px; }
.queue-scope-option > b { color: var(--bfc-blue-dark); font-size: 22px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.queue-scope-option > b small { color: var(--bfc-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }

.queue-scope-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 7px;
}

.queue-scope-icon svg { width: 19px; height: 19px; }
.queue-scope-icon.pending { border: 1px solid #efc184; background: var(--bfc-orange-soft); color: #8b4a0d; }
.queue-scope-icon.entered { border: 1px solid #aadfbe; background: var(--bfc-green-soft); color: #12673c; }

.branch-chip {
  min-height: 40px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 6px;
  background: var(--bfc-surface);
  color: var(--bfc-text);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.branch-chip.active {
  border-color: var(--bfc-blue-dark);
  background: var(--bfc-blue-dark);
  color: #fff;
}

.branch-group { margin-top: 22px; }

.branch-group-head {
  padding: 0 2px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--bfc-border-strong);
}

.branch-group-head h2 { margin: 0; display: inline-flex; align-items: center; gap: 7px; color: var(--bfc-blue-dark); font-size: 15px; }
.branch-group-head h2 svg { width: 17px; height: 17px; color: var(--bfc-blue); }

.queue-trip-table-head {
  padding: 10px 16px 6px;
  display: grid;
  grid-template-columns: minmax(300px, 1.5fr) minmax(90px, 0.35fr) minmax(140px, 0.55fr) minmax(145px, 0.55fr) minmax(126px, 0.4fr);
  gap: 14px;
  color: var(--bfc-muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.queue-trip-table-head span:nth-child(n + 2) { text-align: center; }

.queue-list {
  margin-top: 4px;
  display: grid;
  gap: 7px;
}

.queue-item {
  min-height: 84px;
  padding: 11px 12px;
  display: grid;
  grid-template-columns: minmax(280px, 1.45fr) minmax(125px, 0.5fr) minmax(150px, 0.55fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--bfc-border);
  border-left: 4px solid var(--bfc-blue);
  border-radius: 7px;
  background: var(--bfc-surface);
  box-shadow: 0 1px 3px rgba(20, 33, 43, 0.05);
}

.queue-item:hover {
  border-color: #b6c8d2;
  box-shadow: var(--bfc-shadow);
}

.queue-trip-group {
  overflow: hidden;
  border: 1px solid var(--bfc-border);
  border-radius: 9px;
  background: var(--bfc-surface);
  box-shadow: 0 2px 8px rgba(20, 33, 43, 0.055);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.queue-trip-group:hover,
.queue-trip-group:focus-within {
  border-color: #a9c9d7;
  box-shadow: 0 6px 16px rgba(7, 93, 125, 0.08);
}

.queue-trip-group.is-expanded { border-color: #94c7da; }

.queue-trip-summary {
  min-height: 88px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: minmax(300px, 1.5fr) minmax(90px, 0.35fr) minmax(140px, 0.55fr) minmax(145px, 0.55fr) minmax(126px, 0.4fr);
  align-items: center;
  gap: 14px;
}

.queue-trip-primary { min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; }
.queue-trip-primary > div { min-width: 0; display: grid; gap: 4px; }
.queue-trip-primary strong { color: var(--bfc-ink); font-size: 15px; letter-spacing: 0.01em; }
.queue-trip-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #c4deea; border-radius: 8px; background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.queue-trip-icon svg { width: 21px; height: 21px; }
.queue-trip-route { min-width: 0; display: flex; align-items: center; gap: 6px; color: var(--bfc-text); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.queue-trip-route svg { width: 13px; height: 13px; flex: 0 0 auto; color: var(--bfc-blue); }
.queue-trip-identifiers { min-width: 0; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.queue-trip-identifiers > span { display: inline-flex; align-items: center; gap: 4px; color: var(--bfc-muted); font-size: 10px; font-weight: 800; }
.queue-trip-identifiers svg { width: 13px; height: 13px; }
.queue-trip-gp { max-width: 100%; padding: 3px 7px; border: 1px solid #b6d8e5; border-radius: 999px; background: #f3fbfe; color: var(--bfc-blue-dark) !important; overflow-wrap: anywhere; }
.queue-trip-gp.missing { border-color: var(--bfc-border); background: var(--bfc-surface-soft); color: var(--bfc-muted) !important; }

.queue-trip-count { display: grid; grid-template-columns: auto auto; justify-content: center; align-items: baseline; gap: 0 5px; color: var(--bfc-text); font-size: 11px; font-weight: 750; text-align: center; }
.queue-trip-count strong { color: var(--bfc-blue-dark); font-size: 20px; font-variant-numeric: tabular-nums; }
.queue-trip-count small { grid-column: 1 / -1; color: var(--bfc-muted); font-size: 9px; text-transform: uppercase; }
.queue-trip-state { display: flex; justify-content: center; }
.queue-trip-state .badge { max-width: 138px; justify-content: center; text-align: center; white-space: normal; }
.queue-trip-submitted { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--bfc-text); font-size: 11px; font-weight: 750; text-align: center; font-variant-numeric: tabular-nums; }
.queue-trip-submitted svg { width: 15px; height: 15px; flex: 0 0 auto; color: var(--bfc-muted); }

.queue-trip-toggle {
  min-width: 126px;
  min-height: 42px;
  padding: 8px 10px;
  justify-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
}

.queue-trip-toggle svg { width: 16px; height: 16px; }
.queue-trip-chevron { transition: transform 180ms ease; }
.queue-trip-toggle[aria-expanded="true"] .queue-trip-chevron { transform: rotate(180deg); }

.queue-trip-requests { padding: 12px; border-top: 1px solid #cfe1e9; background: #f6fafc; }
.queue-trip-expanded-head { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.queue-trip-expanded-head > div:first-child { min-width: 0; display: grid; gap: 2px; }
.queue-trip-expanded-head strong { color: var(--bfc-blue-dark); font-size: 12px; }
.queue-trip-expanded-head span { color: var(--bfc-muted); font-size: 10px; }
.queue-trip-tools { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.queue-trip-tracking-frame {
  display: block;
  width: 100%;
  height: 84px;
  border: 0;
  margin: 0 0 8px;
  overflow: hidden;
  transition: height .16s ease-out;
}
.queue-trip-request-list { display: grid; gap: 6px; }
.queue-trip-requests .queue-item { border-left-width: 2px; box-shadow: none; }
.badge.cmt-match { border-color: #f2bd80; background: #fff3e0; color: #8a4308; }

.queue-main { min-width: 0; display: grid; gap: 4px; }
.queue-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.queue-title a { color: var(--bfc-ink); font-size: 14px; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.queue-title a:hover { color: var(--bfc-blue-dark); text-decoration: underline; }
.queue-route { color: var(--bfc-text); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.queue-id { color: var(--bfc-muted); font-size: 11px; font-weight: 700; }
.queue-meta { min-width: 0; display: grid; gap: 2px; }
.queue-meta span { color: var(--bfc-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.queue-meta strong { overflow-wrap: anywhere; font-size: 12px; }
.queue-action { display: flex; justify-content: flex-end; }
.queue-action a { min-width: 92px; }

.empty {
  padding: 20px;
  border: 1px dashed var(--bfc-border-strong);
  border-radius: 7px;
  background: var(--bfc-surface-soft);
  color: var(--bfc-muted);
}

.toolbar {
  margin-top: 14px;
  padding-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--bfc-border);
}

.workflow-steps {
  margin: 12px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.workflow-step {
  min-height: 50px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--bfc-border);
  border-radius: 6px;
  background: var(--bfc-surface);
  color: var(--bfc-muted);
  font-weight: 750;
}

.workflow-step span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  border-radius: 50%;
  background: #dde5ea;
}

.workflow-step.active { border-color: #a9dcea; background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.workflow-step.active span { background: var(--bfc-blue); color: #fff; }
.workflow-step.done { border-color: #aadfbe; background: var(--bfc-green-soft); color: #12673c; }
.workflow-step.done span { background: var(--bfc-green); color: #fff; }
.workflow-step.failed { border-color: #f2c48f; background: var(--bfc-orange-soft); color: #8f450c; }
.workflow-step.failed span { background: var(--bfc-orange); color: #fff; }

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

.request-workflow { min-width: 0; }

.document-panel {
  position: sticky;
  top: 80px;
  padding: 12px;
  border: 1px solid var(--bfc-border);
  border-radius: 7px;
  background: var(--bfc-surface);
}

.document-panel-head {
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.document-preview + .document-preview { margin-top: 12px; }
.document-preview h3 { margin: 0 0 6px; }

.document-thumb {
  width: 100%;
  min-height: 190px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--bfc-border) !important;
  border-radius: 6px !important;
  background: #f4f6f7 !important;
  color: var(--bfc-text) !important;
}

.document-thumb img {
  width: 100%;
  max-height: 360px;
  display: block;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.document-placeholder {
  min-height: 190px;
  display: grid;
  place-items: center;
  padding: 18px;
  text-align: center;
}

.request-info {
  margin-top: 12px;
  border-top: 1px solid var(--bfc-border);
}

.request-info dl {
  margin: 8px 0 0;
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 6px 10px;
}

.request-info dt { color: var(--bfc-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.request-info dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 650; }

.request-branch-control {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--bfc-border);
}

.request-branch-control h3 { margin: 0 0 4px; }
.request-branch-control p,
.request-branch-control small { color: var(--bfc-muted); }
.request-branch-control p { margin: 0 0 9px; font-size: 12px; line-height: 1.45; }
.request-branch-control small { display: block; margin-top: 8px; line-height: 1.4; }
.request-branch-control form { display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: end; }
.request-branch-control label { grid-column: 1 / -1; color: var(--bfc-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.request-branch-control .form-select { min-width: 0; }
.request-branch-control .branch-control-warning { color: var(--bfc-red); font-weight: 650; }

.review-workbench {
  overflow: hidden;
  border: 1px solid var(--bfc-border);
  border-radius: 7px;
  background: var(--bfc-surface);
}

.review-head {
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.review-workbench > p { padding: 0 14px 10px; }

.review-grid-head,
.review-row {
  display: grid;
  grid-template-columns: minmax(125px, 0.45fr) minmax(150px, 0.65fr) minmax(280px, 1.2fr);
  gap: 10px;
  align-items: start;
  border-top: 1px solid var(--bfc-border);
}

.review-grid-head {
  padding: 8px 12px;
  background: #eaf0f3;
  color: var(--bfc-muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.review-row { padding: 9px 12px; }
.review-row:nth-child(odd) { background: #fbfcfd; }
.review-label { padding-top: 8px; display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.source-value { padding-top: 8px; overflow-wrap: anywhere; color: var(--bfc-text); font-weight: 650; }
.erp-value { min-width: 0; }
.erp-value input, .master-control input { margin-top: 0; }
.review-evidence-preview {
  width: min(100%, 240px);
  min-height: 64px;
  margin-top: 6px;
  overflow: hidden;
  border: 1px solid var(--bfc-border);
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, #f4f8fa);
}
.ocr-field-crop {
  width: 100%;
  max-height: 86px;
  display: block;
  object-fit: contain;
  background: #fff;
  box-shadow: none;
}
.review-evidence-unavailable {
  min-height: 64px;
  padding: 8px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: var(--bfc-muted);
  font-size: 12px;
  font-weight: 700;
}
.review-evidence-unavailable[hidden] { display: none; }
.review-evidence-unavailable-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eaf3f8;
  color: var(--bfc-blue-dark);
}
.review-evidence-unavailable-icon svg { width: 16px; height: 16px; }
.review-evidence-retry {
  min-width: 116px;
  min-height: 44px;
  padding: 8px 12px !important;
  border: 1px solid var(--bfc-border-strong) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--bfc-blue-dark) !important;
  box-shadow: none !important;
  font-size: 12px;
  font-weight: 800;
  touch-action: manipulation;
}
.review-evidence-retry:hover { background: #eef6fa !important; }
.review-evidence-retry:focus-visible {
  outline: 3px solid rgba(7, 132, 181, .2);
  outline-offset: 2px;
}
.review-evidence-retry:disabled { cursor: wait; opacity: .62; }
.review-evidence-preview.is-unavailable .ocr-field-crop,
.review-evidence-preview.is-loading .ocr-field-crop { display: none; }
@media (max-width: 520px) {
  .review-evidence-preview { width: 100%; }
  .review-evidence-unavailable { grid-template-columns: 28px minmax(0, 1fr); }
  .review-evidence-retry { grid-column: 1 / -1; width: 100%; }
}
.confidence-note { margin-top: 5px; color: var(--bfc-muted); font-size: 11px; }

.master-options {
  margin-top: 5px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.master-option {
  min-height: 32px;
  padding: 5px 8px;
  border-color: var(--bfc-border-strong) !important;
  background: var(--bfc-surface-soft) !important;
  color: var(--bfc-blue-dark) !important;
  font-size: 11px;
}

.ai-review-option {
  width: 100%;
  min-height: 34px;
  margin-top: 6px;
  padding: 6px 9px;
  border: 1px solid #f0b45a !important;
  border-radius: 6px !important;
  background: #fff8e8 !important;
  color: #75430a !important;
  box-shadow: none !important;
  font-size: 11px;
  text-align: left;
}

.review-submit,
.sticky-actions {
  padding: 11px 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--bfc-border);
  background: var(--bfc-surface-soft);
}

.review-submit {
  position: sticky;
  bottom: 0;
  z-index: 6;
}

.confirmed-summary,
.next-action,
.submission-outcome,
.secondary-details,
.danger-zone {
  margin-top: 12px;
  border: 1px solid var(--bfc-border);
  border-radius: 7px;
  background: var(--bfc-surface);
}

.confirmed-summary { overflow: hidden; border-color: #aadfbe; }
.confirmed-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.confirmed-grid div { min-width: 0; padding: 9px 11px; display: grid; gap: 2px; border-right: 1px solid var(--bfc-border); border-bottom: 1px solid var(--bfc-border); }
.confirmed-grid span { color: var(--bfc-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.confirmed-grid strong { overflow-wrap: anywhere; }
.confirmed-grid .confirmed-operational{background:#f7fcff}.confirmed-grid .confirmed-operational strong{color:var(--bfc-blue-dark)}

.next-action { padding: 13px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.next-action.submit-action { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(260px, 0.75fr); border-color: #a9dcea; }
.direct-submit-control { display: grid; gap: 7px; }
.direct-submit-control form { margin: 0; }
.direct-submit-control [data-direct-submit-message] { min-height: 21px; margin: 0; }
.direct-submit-control[aria-busy="true"] [data-direct-submit-message] { color: var(--bfc-blue-dark); font-weight: 700; }
.submit-record-button { width: 100%; border-color: var(--bfc-orange) !important; background: var(--bfc-orange) !important; }
.submit-record-button:hover { border-color: var(--bfc-orange-dark) !important; background: var(--bfc-orange-dark) !important; }

.submission-outcome { padding: 14px; display: flex; align-items: center; gap: 12px; }
.submission-outcome.created { border-color: #aadfbe; background: var(--bfc-green-soft); }
.submission-outcome.reserved, .submission-outcome.attention { border-color: #f2c48f; background: var(--bfc-orange-soft); }
.outcome-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 50%; background: var(--bfc-blue); color: #fff; font-weight: 800; }
.submission-outcome h2 { font-size: 19px; }

.secondary-details > summary {
  min-height: 44px;
  padding: 11px 13px;
  cursor: pointer;
  color: var(--bfc-blue-dark);
  font-weight: 750;
}

.secondary-details[open] > summary { border-bottom: 1px solid var(--bfc-border); }
.secondary-details > .toolbar,
.secondary-details > .review-workbench,
.secondary-details > .success,
.secondary-details > .error,
.secondary-details > .detail-grid { margin: 10px; }

.danger-zone { padding: 12px; border-color: #efb5b5; background: var(--bfc-red-soft); }

.table-responsive { border: 1px solid var(--bfc-border); border-radius: 7px; background: var(--bfc-surface); }
table { width: 100%; margin: 0; border-collapse: collapse; background: var(--bfc-surface); }
th, td { padding: 9px 10px; border-bottom: 1px solid var(--bfc-border); text-align: left; vertical-align: top; }
tr:last-child th, tr:last-child td { border-bottom: 0; }
th { color: var(--bfc-muted); background: var(--bfc-surface-soft); font-size: 10px; font-weight: 800; text-transform: uppercase; }

.admin-form {
  margin: 14px 0;
  padding: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr minmax(130px, 0.55fr) minmax(210px, 0.85fr) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid var(--bfc-border);
  border-radius: 7px;
  background: var(--bfc-surface);
}

.role-edit-form { display: flex; align-items: center; gap: 6px; min-width: 430px; }
.role-edit-form select { min-width: 150px; }
.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.metric-tile {
  min-width: 0;
  padding: 12px 13px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--bfc-border);
  border-radius: 7px;
  background: var(--bfc-surface);
}
.metric-tile strong {
  color: var(--bfc-text);
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.metric-tile span {
  color: var(--bfc-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.account-shell { max-width: 760px; }
.account-form { grid-template-columns: 1fr 1fr; }
.account-form button { grid-column: 1 / -1; }
.account-status { padding: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border: 1px solid #aadfbe; border-radius: 7px; background: var(--bfc-green-soft); }
.account-status div { display: grid; gap: 2px; }
.account-status span { color: #12673c; font-size: 10px; font-weight: 800; text-transform: uppercase; }

.document-dialog {
  width: min(94vw, 1180px);
  height: min(92vh, 900px);
  height: min(92dvh, 900px);
  max-width: 94vw;
  max-height: 92vh;
  max-height: 92dvh;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: #1b252c;
}

.document-dialog[open] {
  display: flex;
  flex-direction: column;
}

.document-dialog::backdrop { background: rgba(10, 18, 24, 0.72); }
.document-dialog-head { min-height: 52px; padding: 7px 9px 7px 14px; display: flex; flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 12px; background: var(--bfc-surface); }
.document-dialog-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.document-dialog-actions [hidden] { display: none !important; }
.document-dialog-body {
  position: relative;
  min-width: 0;
  min-height: 0;
  flex: 1 1 0;
  overflow: hidden;
  background: #1b252c;
}
.document-dialog-body > img,
.document-dialog-body > iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
  box-shadow: none;
}
.document-dialog-body > img { transform-origin: center; transition: transform 160ms ease-out; }

.toast-region {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1100;
  width: min(360px, calc(100vw - 32px));
  display: grid;
  gap: 8px;
}

.app-toast {
  padding: 10px 12px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 7px;
  background: var(--bfc-surface);
  box-shadow: var(--bfc-shadow);
  color: var(--bfc-text);
  font-weight: 650;
}

.app-toast.error { border-color: #efb5b5; background: var(--bfc-red-soft); color: #8c2525; }

.operations-shell { display: grid; gap: 24px; }
.operations-head { padding-bottom: 18px; border-bottom: 1px solid var(--bfc-border); }
.operations-head .badge svg { width: 15px; height: 15px; }
.badge.error { margin: 0; padding: 5px 8px; border-color: #efb5b5; background: var(--bfc-red-soft); color: #8c2525; }

.ops-jump-nav {
  position: sticky;
  top: 84px;
  z-index: 22;
  max-width: 100%;
  padding: 7px;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  border: 1px solid #cbdde8;
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 28px rgba(15,23,42,.09);
  backdrop-filter: blur(14px);
  scrollbar-width: thin;
}

#app-main a.ops-jump-link {
  min-height: 42px;
  padding: 8px 11px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--bfc-text);
  box-shadow: none;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

#app-main a.ops-jump-link:hover,
#app-main a.ops-jump-link:focus-visible {
  border-color: #a9d4e6;
  background: var(--bfc-blue-soft);
  color: var(--bfc-blue-dark);
  box-shadow: 0 0 0 3px rgba(7,132,181,.08);
}

.ops-jump-link svg { width: 16px; height: 16px; }
.ops-jump-link strong {
  min-width: 22px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #e8eef2;
  color: var(--bfc-ink);
  text-align: center;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.ops-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--bfc-border);
  border-radius: 7px;
  background: var(--bfc-surface);
  overflow: hidden;
}

.ops-summary-grid > div {
  min-width: 0;
  padding: 18px;
  display: grid;
  gap: 4px;
  border-right: 1px solid var(--bfc-border);
  box-shadow: inset 0 3px 0 var(--bfc-blue);
}

.ops-summary-grid > div:nth-child(2) { box-shadow: inset 0 3px 0 var(--bfc-orange); }
.ops-summary-grid > div:nth-child(3) { box-shadow: inset 0 3px 0 var(--bfc-green); }
.ops-summary-grid > div:nth-child(4) { border-right: 0; box-shadow: inset 0 3px 0 #64748b; }
.ops-summary-grid > div.urgent { box-shadow: inset 0 3px 0 var(--bfc-red); }
.ops-summary-grid span { color: var(--bfc-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.ops-summary-grid strong { color: var(--bfc-ink); font-size: 27px; line-height: 1.15; font-variant-numeric: tabular-nums; }
.ops-summary-grid small { color: var(--bfc-muted); font-size: 12px; }

.ops-section { display: grid; gap: 12px; scroll-margin-top: 148px; }
.ops-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.ops-section-head h2 { margin: 0; font-size: 19px; }
.ops-section-head p { margin: 4px 0 0; }
.ops-section-head > span { color: var(--bfc-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.ops-alert-list { border: 1px solid var(--bfc-border); border-radius: 7px; background: var(--bfc-surface); overflow: hidden; }
.ops-alert-row, .ops-clear { min-height: 64px; padding: 12px 14px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: 12px; border-bottom: 1px solid var(--bfc-border); }
.ops-alert-row:last-child { border-bottom: 0; }
.ops-alert-row > svg, .ops-clear > svg { width: 21px; height: 21px; color: var(--bfc-orange-dark); }
.ops-alert-row > div, .ops-clear > div { min-width: 0; display: grid; gap: 2px; }
.ops-alert-row strong, .ops-clear strong { color: var(--bfc-ink); }
.ops-alert-row span:not(.badge), .ops-clear span { color: var(--bfc-muted); font-size: 12px; line-height: 1.4; }
.ops-alert-copy { align-content: start; }
.ops-alert-details { margin-top: 9px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.ops-alert-detail { min-width: 0; min-height: 54px; padding: 8px 10px; display: grid; grid-template-columns: minmax(0, 1fr) 18px; align-items: center; gap: 8px; border: 1px solid var(--bfc-border); border-radius: 6px; background: var(--bfc-surface-soft); color: inherit; text-decoration: none; }
.ops-alert-detail:hover { border-color: var(--bfc-blue); background: var(--bfc-blue-soft); }
.ops-alert-detail > span { min-width: 0; display: grid; gap: 2px; }
.ops-alert-detail strong { color: var(--bfc-blue-dark); font-size: 12px; }
.ops-alert-detail small { color: var(--bfc-muted); font-size: 12px; line-height: 1.35; }
.ops-alert-detail > svg { width: 16px; height: 16px; color: var(--bfc-blue-dark); }
.ops-alert-more { grid-column: 1 / -1; padding: 3px 2px 0; }
.ops-clear { grid-template-columns: 32px minmax(0, 1fr); border-bottom: 0; background: var(--bfc-green-soft); }
.ops-clear > svg { color: var(--bfc-green); }

.ops-filter-row {
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  padding: 2px 1px 4px;
  scrollbar-width: thin;
}

.ops-filter-chip {
  min-height: 44px;
  padding: 8px 12px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 999px;
  background: var(--bfc-surface);
  color: var(--bfc-text);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.ops-filter-chip:hover { border-color: var(--bfc-blue); background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.ops-filter-chip.active { border-color: var(--bfc-blue); background: var(--bfc-blue); color: #fff; }
.ops-filter-chip strong { min-width: 20px; padding: 1px 5px; border-radius: 999px; background: rgba(20, 33, 43, 0.08); text-align: center; font-variant-numeric: tabular-nums; }
.ops-filter-chip.active strong { background: rgba(255, 255, 255, 0.2); }

/* These links are deliberate controls, not primary action buttons.  The ID
   selector safely outranks the legacy catch-all anchor rule above. */
#app-main a.ops-filter-chip {
  min-height: 44px;
  padding: 8px 12px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 999px;
  background: var(--bfc-surface);
  color: var(--bfc-text);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
#app-main a.ops-filter-chip:hover { border-color: var(--bfc-blue); background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
#app-main a.ops-filter-chip.active { border-color: var(--bfc-blue); background: var(--bfc-blue); color: #fff; }

#app-main a.ops-alert-detail {
  min-width: 0;
  min-height: 54px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  justify-content: stretch;
  gap: 8px;
  border: 1px solid var(--bfc-border);
  border-radius: 6px;
  background: var(--bfc-surface-soft);
  color: inherit;
  text-decoration: none;
}
#app-main a.ops-alert-detail:hover { border-color: var(--bfc-blue); background: var(--bfc-blue-soft); color: inherit; }

.ops-branch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ops-branch-card { min-width: 0; border: 1px solid var(--bfc-border); border-radius: 8px; background: var(--bfc-surface); box-shadow: var(--bfc-shadow); overflow: hidden; }
.ops-branch-head { min-height: 82px; padding: 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: start; gap: 11px; border-bottom: 1px solid var(--bfc-border); }
.ops-branch-head > div { min-width: 0; }
.ops-branch-head h3 { margin: 0; color: var(--bfc-ink); font-size: 16px; overflow-wrap: anywhere; }
.ops-branch-head p { margin: 3px 0 0; color: var(--bfc-muted); font-size: 12px; }
.ops-branch-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #b9dbe8; border-radius: 7px; background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.ops-branch-icon svg { width: 19px; height: 19px; }
.ops-branch-stages { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ops-branch-stages > div { min-width: 0; padding: 11px 12px; display: grid; gap: 2px; border-right: 1px solid var(--bfc-border); }
.ops-branch-stages > div:last-child { border-right: 0; }
.ops-branch-stages dt { color: var(--bfc-muted); font-size: 10px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.ops-branch-stages dd { margin: 0; color: var(--bfc-ink); font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ops-branch-footer { padding: 11px 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; border-top: 1px solid var(--bfc-border); background: var(--bfc-surface-soft); }
.ops-branch-footer > span { display: inline-flex; align-items: center; gap: 5px; color: var(--bfc-muted); font-size: 11px; }
.ops-branch-footer > span svg { width: 14px; height: 14px; color: var(--bfc-orange-dark); }
.ops-branch-footer > a { margin-left: auto; min-height: 44px; }
.ops-branch-empty { grid-column: 1 / -1; min-height: 90px; padding: 18px; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 12px; border: 1px dashed var(--bfc-border-strong); border-radius: 8px; background: var(--bfc-surface); }
.ops-branch-empty > svg { width: 24px; height: 24px; color: var(--bfc-muted); }
.ops-branch-empty > div { display: grid; gap: 2px; }
.ops-branch-empty span { color: var(--bfc-muted); font-size: 12px; }

.ops-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ops-service-details { overflow: hidden; border: 1px solid var(--bfc-border); border-radius: 8px; background: var(--bfc-surface); box-shadow: var(--bfc-shadow); }
.ops-service-details > summary { min-height: 66px; padding: 12px 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto 20px; align-items: center; gap: 11px; cursor: pointer; list-style: none; }
.ops-service-details > summary::-webkit-details-marker { display: none; }
.ops-service-details > summary:hover { background: var(--bfc-surface-soft); }
.ops-service-details > summary:focus-visible { outline: 3px solid rgba(7,132,181,.18); outline-offset: -3px; }
.ops-service-details > summary > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.ops-service-details > summary strong { color: var(--bfc-ink); font-size: 14px; }
.ops-service-details > summary small { color: var(--bfc-muted); font-size: 12px; }
.ops-service-summary-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #b9dbe8; border-radius: 7px; background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.ops-service-summary-icon svg { width: 19px; height: 19px; }
.ops-service-chevron { width: 18px; height: 18px; color: var(--bfc-muted); transition: transform 180ms ease; }
.ops-service-details[open] .ops-service-chevron { transform: rotate(180deg); }
.ops-service-details > .ops-service-grid { padding: 12px; border-top: 1px solid var(--bfc-border); background: var(--bfc-surface-soft); }
.ops-service-card { min-width: 0; border: 1px solid var(--bfc-border); border-radius: 7px; background: var(--bfc-surface); overflow: hidden; box-shadow: var(--bfc-shadow); }
.ops-service-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ops-service-head { min-height: 92px; padding: 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: start; gap: 11px; border-bottom: 1px solid var(--bfc-border); }
.ops-service-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #b9dbe8; border-radius: 6px; background: var(--bfc-blue-soft); color: var(--bfc-blue-dark); }
.ops-service-icon svg { width: 19px; height: 19px; }
.ops-service-head h2 { margin: 0; font-size: 16px; }
.ops-service-head p { margin: 3px 0 0; font-size: 12px; line-height: 1.4; }
.ops-facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ops-facts > div { min-width: 0; padding: 11px 13px; display: grid; gap: 2px; border-right: 1px solid var(--bfc-border); border-bottom: 1px solid var(--bfc-border); }
.ops-facts > div:nth-child(even) { border-right: 0; }
.ops-facts > div:nth-last-child(-n + 2) { border-bottom: 0; }
.ops-facts dt { color: var(--bfc-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.ops-facts dd { margin: 0; color: var(--bfc-ink); font-size: 13px; font-weight: 750; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }

[hidden] { display: none !important; }

@media (max-width: 1180px) {
  .app-nav a span { display: none; }
  .app-nav a { width: 42px; padding: 8px; justify-content: center; }
  .brand { min-width: 280px; }
}

@media (max-width: 980px) {
  .ops-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-summary-grid > div:nth-child(2) { border-right: 0; }
  .ops-summary-grid > div:nth-child(-n + 2) { border-bottom: 1px solid var(--bfc-border); }
  .request-layout { grid-template-columns: 1fr; }
  .document-panel { position: static; }
  .queue-item { grid-template-columns: minmax(240px, 1fr) 130px auto; }
  .queue-meta:nth-of-type(3) { display: none; }
  .queue-trip-table-head,
  .queue-trip-summary { grid-template-columns: minmax(260px, 1fr) 82px 132px minmax(120px, 0.48fr); }
  .queue-trip-table-head span:nth-child(4),
  .queue-trip-submitted { display: none; }
}

@media (max-width: 760px) {
  .document-dialog {
    width: calc(100vw - 16px);
    height: calc(100vh - 16px);
    height: calc(100dvh - 16px);
    max-width: none;
    max-height: none;
  }
  .document-dialog-head { padding-left: 11px; gap: 8px; }
  .document-dialog-actions { flex-wrap: nowrap; gap: 4px; }
  .document-dialog-actions span { display: none; }
  .document-dialog-actions .compact { width: 40px; min-width: 40px; height: 40px; padding: 0; justify-content: center; }
  .topbar { min-height: 58px; padding: 7px 11px; gap: 10px; }
  .brand { min-width: 0; flex: 1 1 auto; }
  .brand-logo { width: 40px; height: 40px; flex-basis: 40px; }
  .brand-title { font-size: 10.5px; line-height: 1.08; }
  .brand-sub { display: none; }
  .app-nav a span { display: none; }
  .app-nav a { width: 40px; min-height: 44px; flex: 0 0 40px; padding: 8px; justify-content: center; }
  .admin-workspace-nav { margin-inline: -2px; }
  .ops-jump-nav { top: 60px; margin-inline: -2px; }
  .ops-section { scroll-margin-top: 116px; }
  #app-main { padding: 14px 10px 34px; }
  .page-head { display: grid; }
  h1 { font-size: 21px; }
  .queue-toolbar { grid-template-columns: 1fr; }
  .branch-chip { min-height: 44px; padding: 9px 12px; }
  .batch-upload-form { grid-template-columns: 1fr; padding: 14px; }
  .batch-upload-form button { width: 100%; }
  .batch-metrics { grid-template-columns: 1fr 1fr; }
  .batch-metrics > div:nth-child(2) { border-right: 0; }
  .batch-metrics > div:nth-child(-n + 2) { border-bottom: 1px solid var(--bfc-border); }
  .queue-item { grid-template-columns: 1fr auto; }
  .queue-meta { display: none; }
  .queue-action { grid-column: 2; grid-row: 1; }
  .queue-trip-table-head { display: none; }
  .queue-trip-summary { min-height: 0; padding: 13px; grid-template-columns: auto minmax(0, 1fr); gap: 10px 12px; }
  .queue-trip-primary { grid-column: 1 / -1; }
  .queue-trip-count { grid-column: 1; grid-row: 2; justify-content: start; text-align: left; }
  .queue-trip-state { grid-column: 2; grid-row: 2; justify-content: flex-start; }
  .queue-trip-toggle { grid-column: 1 / -1; grid-row: 3; width: 100%; }
  .queue-trip-expanded-head { align-items: stretch; flex-direction: column; }
  .queue-trip-tools { justify-content: stretch; }
  .queue-trip-rate, .queue-trip-bulk { flex: 1 1 210px; justify-content: center; }
  .workflow-steps { grid-template-columns: 1fr; }
  .review-grid-head { display: none; }
  .review-row { grid-template-columns: 1fr; }
  .review-label, .source-value { padding-top: 0; }
  .next-action.submit-action { grid-template-columns: 1fr; }
  .confirmed-grid { grid-template-columns: 1fr 1fr; }
  .toolbar, .review-submit, .next-action { align-items: stretch; flex-direction: column; }
  .admin-form, .account-form, .account-status { grid-template-columns: 1fr; }
  .account-form button { grid-column: auto; }
  .ops-service-grid { grid-template-columns: 1fr; }
  .ops-service-card:last-child:nth-child(odd) { grid-column: auto; }
  .ops-branch-grid { grid-template-columns: 1fr; }
  .ops-section-head { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 460px) {
  .login-shell { padding: 14px 0 22px; }
  .login-shell .login-panel { padding: 22px 18px; border-radius: 14px !important; }
  .login-panel-head { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; }
  .login-security-mark { width: 46px; height: 46px; border-radius: 12px; }
  .login-security-mark svg { width: 23px; height: 23px; }
  .login-panel-head h1 { font-size: 25px; }
  .login-panel-head p { font-size: 13px; }
  .login-form { margin-top: 20px; }
  .login-trust-note { margin-top: 18px; }
  .queue-scope-switch { grid-template-columns: 1fr; }
  .queue-scope-option { min-height: 64px; padding: 10px 11px; }
  .queue-trip-primary { grid-template-columns: 38px minmax(0, 1fr); gap: 9px; }
  .queue-trip-icon { width: 38px; height: 38px; }
  .queue-trip-route { align-items: flex-start; }
  .ops-summary-grid { grid-template-columns: 1fr; }
  #app-main a.ops-jump-link { min-height: 42px; padding: 8px 10px; }
  .ops-service-details > summary { grid-template-columns: 36px minmax(0, 1fr) 18px; }
  .ops-service-details > summary > .badge { grid-column: 2; justify-self: start; }
  .ops-service-chevron { grid-column: 3; grid-row: 1 / span 2; }
  .ops-summary-grid > div { border-right: 0; border-bottom: 1px solid var(--bfc-border); }
  .ops-summary-grid > div:last-child { border-bottom: 0; }
  .ops-alert-row { grid-template-columns: 28px minmax(0, 1fr); }
  .ops-alert-row > .badge { grid-column: 2; justify-self: start; }
  .ops-alert-details { grid-template-columns: 1fr; }
  .ops-branch-head { grid-template-columns: 36px minmax(0, 1fr); }
  .ops-branch-head > .badge { grid-column: 2; justify-self: start; }
  .ops-branch-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-branch-stages > div:nth-child(2) { border-right: 0; }
  .ops-branch-stages > div:nth-child(-n + 2) { border-bottom: 1px solid var(--bfc-border); }
  .ops-branch-footer { align-items: stretch; flex-direction: column; }
  .ops-branch-footer > a { width: 100%; margin-left: 0; justify-content: center; }
  .ops-service-head { grid-template-columns: 36px minmax(0, 1fr); }
  .ops-service-head > .badge { grid-column: 2; justify-self: start; }
  .ops-facts { grid-template-columns: 1fr; }
  .ops-facts > div, .ops-facts > div:nth-child(even), .ops-facts > div:nth-last-child(-n + 2) { border-right: 0; border-bottom: 1px solid var(--bfc-border); }
  .ops-facts > div:last-child { border-bottom: 0; }
  .request-branch-control form { grid-template-columns: 1fr; }
  .batch-metrics { grid-template-columns: 1fr; }
  .batch-metrics > div { border-right: 0; border-bottom: 1px solid var(--bfc-border); }
  .batch-metrics > div:last-child { border-bottom: 0; }
  .batch-history-row { grid-template-columns: 36px minmax(0, 1fr); gap: 9px 11px; }
  .batch-history-icon { width: 36px; height: 36px; }
  .batch-history-state { grid-column: 2; justify-content: space-between; }
  .batch-history-state .badge { white-space: normal; }
  .batch-request-row { align-items: flex-start; flex-direction: column; }
  .queue-item { grid-template-columns: 1fr; }
  .queue-action { grid-column: 1; grid-row: auto; justify-content: stretch; }
  .queue-action a { width: 100%; }
  .confirmed-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   Unverified OCR refinement: the backup reader's proposal is prefilled for
   speed, but remains amber and requires a real reviewer acknowledgement.
   ========================================================================== */

.verify-strip{display:flex;align-items:center;gap:12px;padding:12px 18px;
  background:linear-gradient(#fff8ec,#fff3dc);border-top:1px solid #f0c689;
  border-bottom:1px solid #f0c689}
.verify-strip.clear{background:linear-gradient(#f0fdf7,#e7f9f1);
  border-top-color:#a7f3d0;border-bottom-color:#a7f3d0}
.verify-strip .count{flex:none;display:inline-flex;align-items:center;justify-content:center;
  min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:#6b3e08;
  color:#fff;font-size:13px;font-weight:900}
.verify-strip.clear .count{background:#047857}
.verify-strip .msg{font-size:13.5px;font-weight:700;color:#6b3e08}
.verify-strip.clear .msg{color:#065f46}
.verify-strip .hint{margin-left:auto;font-size:12px;color:#8a6a3a}
.verify-strip.clear .hint{color:#3f7f68}

.review-row.needs-verify{box-shadow:inset 3px 0 0 #e0913a;
  background:linear-gradient(90deg,#fffdf8,transparent 60%)}
.review-row.verify-done{box-shadow:inset 3px 0 0 #34d399}

.badge.verify{background:#6b3e08!important;color:#fff!important}
.badge.verify-ok{background:#047857!important;color:#fff!important}

.erp-value.unverified input{border:1.5px solid #e0913a!important;background:#fffaf0!important;
  color:#4d2d05!important;font-weight:700;box-shadow:0 0 0 3px rgba(224,145,58,.12)!important}
.erp-value.unverified input:focus{outline:3px solid rgba(224,145,58,.24)!important;
  border-color:#c97b22!important}
.erp-value.unverified.verify-checked input{border:1px solid #cbd5e1!important;background:#fff!important;
  color:inherit!important;font-weight:600;box-shadow:none!important}

.evidence-crop{margin:9px 0 0;border:1px solid #e6ebf2;border-radius:10px;overflow:hidden;
  background:#fbfcfe}
.evidence-crop figcaption{display:flex;align-items:center;gap:7px;padding:6px 10px;
  background:#f5f8fb;border-bottom:1px solid #e6ebf2;color:#5b6b7f;font-size:9.5px;
  font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.evidence-crop .zoom{margin-left:auto;font-weight:700;text-transform:none;letter-spacing:0;
  font-size:10px;color:#93a1b3}
.evidence-crop img{display:block;width:100%;max-height:78px;object-fit:contain;background:#fff;
  padding:5px;transition:max-height .18s ease}
.evidence-crop:hover img,.evidence-crop:focus-within img{max-height:190px}

.verify-caution{display:flex;align-items:center;gap:9px;margin-top:9px;padding:8px 11px;
  border-radius:10px;background:#fff4dd;border:1px solid #f0c689;flex-wrap:wrap}
.verify-caution input[type="checkbox"]{flex:none;width:18px!important;height:18px!important;
  min-height:18px!important;margin:0;padding:0;accent-color:#047857;cursor:pointer}
.verify-caution .tag{flex:none;padding:3px 9px;border-radius:999px;background:#6b3e08;color:#fff;
  font-size:9.5px;font-weight:900;letter-spacing:.06em}
.verify-caution .txt{flex:1;min-width:180px;color:#6b3e08;font-size:12px;line-height:1.35}
.verify-caution.done{background:#f0fdf7;border-color:#a7f3d0}
.verify-caution.done .tag{background:#047857}
.verify-caution.done .txt{color:#065f46}
@media(max-width:860px){
  .verify-strip{flex-wrap:wrap}
  .verify-strip .hint{margin-left:0;width:100%}
}

/* Cancellation mismatch evidence (29-Jul): read-only comparison of the cloud
   record against what was parsed back from the ERP page. Diagnostic only. */
.mismatch-evidence{margin:12px 0;padding:11px 12px;border:1px solid #f0c689;
  border-radius:7px;background:#fffaf0}
.mismatch-evidence > summary{cursor:pointer;color:#6b3e08;font-weight:800;font-size:13px}
.mismatch-evidence .table-responsive{margin-top:9px;border-color:#f0c689}
.mismatch-evidence table{font-size:12.5px}
.mismatch-evidence th{background:#fff4dd;color:#6b3e08}
.mismatch-evidence td{overflow-wrap:anywhere;vertical-align:top}
.mismatch-evidence tr.mismatch-row td,.mismatch-evidence tr.mismatch-row th{background:#fff0f0}
.mismatch-evidence tr.mismatch-row td:last-child{color:#8c2525;font-weight:800}
.mismatch-note{margin-top:4px;color:#8c2525;font-size:11.5px;font-weight:700}
.mismatch-note code{display:inline-block;margin-top:2px;padding:1px 5px;border-radius:4px;
  background:#fff;border:1px solid #f0c689;color:#6b3e08;font-size:11px;
  font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}

/* Vehicle-trip CMT allocation. Printed CMT and charged weight remain audit
   values; this surface controls only which GR carries the combined ERP CMT. */
.cmt-batch-card{margin-top:18px;border:1px solid #b9d9e7;border-radius:18px;
  overflow:hidden;background:linear-gradient(180deg,#f7fcff,#fff)}
.cmt-batch-card .review-head{padding:18px;background:linear-gradient(135deg,#eefaff,#fff7ed)}
.cmt-batch-card .review-head h2{margin-bottom:4px}
.cmt-batch-card .review-head p{margin:0}
.cmt-batch-table{overflow-x:auto;border-top:1px solid #dbe8ef}
.cmt-batch-table table{margin:0;border:0;border-radius:0;min-width:720px}
.cmt-batch-table th,.cmt-batch-table td{padding:11px 12px;vertical-align:middle}
.cmt-batch-table td:first-child{white-space:nowrap}
.cmt-batch-table td a{display:inline-flex;background:none!important;color:#075d7d!important;
  padding:0;min-height:0;border:0;box-shadow:none;font-weight:850}
.cmt-batch-table .badge{margin-left:7px;padding:4px 7px;font-size:10px}
.cmt-batch-table input[type="checkbox"],.cmt-batch-table input[type="radio"]{
  width:18px;height:18px;accent-color:#0784b5;cursor:pointer}
.cmt-current td{background:#effaff}
.cmt-trip-confirm{display:flex;align-items:center;gap:10px;margin:15px 18px 0;padding:12px 14px;
  border:1px solid #fed7aa;border-radius:12px;background:#fff7ed;color:#7c2d12;font-weight:800}
.cmt-trip-confirm input{width:19px;height:19px;accent-color:#0784b5}
.cmt-batch-card .toolbar{margin:14px 18px 18px}
.cmt-rate-entry{margin:14px 18px;padding:14px;border:1px solid #b9d9e7;border-radius:8px;
  background:#f7fcff;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.cmt-rate-entry>div{display:grid;gap:5px;min-width:220px}.cmt-rate-entry strong{color:var(--bfc-ink);font-size:15px}
.cmt-rate-entry p{margin:0;color:var(--bfc-muted);font-size:12px;line-height:1.45}
.cmt-rate-label{color:var(--bfc-blue-dark);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.cmt-rate-entry form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.cmt-rate-entry label{display:grid;gap:5px;color:var(--bfc-text);font-size:11px;font-weight:800;text-transform:uppercase}
.cmt-rate-entry input,.cmt-rate-entry select{min-width:150px;margin:0;background:#fff}
.cmt-rate-entry button{white-space:nowrap}
.cmt-rate-entry.follower{align-items:center;background:#f8fafc}
.cmt-rate-entry.follower>a{white-space:nowrap;text-decoration:none}
.rate-managed-elsewhere{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;
  max-width:560px;padding:10px 12px;border:1px solid #dbe8ef;border-radius:8px;background:#fff}
.rate-managed-elsewhere>div{display:grid;gap:2px}.rate-managed-elsewhere span{color:var(--bfc-muted);font-size:11px;font-weight:800;text-transform:uppercase}
.rate-managed-elsewhere strong{color:var(--bfc-ink);font-size:14px}.rate-managed-elsewhere>a{text-decoration:none;white-space:nowrap}
.queue-trip-rate{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 9px;border:1px solid #bfd3de;
  border-radius:6px;background:#fff;color:var(--bfc-blue-dark);font-size:11px;font-weight:800;text-decoration:none}
.queue-trip-rate:hover{border-color:var(--bfc-blue);background:#edf8fc;color:var(--bfc-blue-dark)}
.queue-trip-rate>span{display:grid;gap:1px}
.queue-trip-rate svg{width:14px;height:14px;stroke-width:2;flex:0 0 auto;color:var(--bfc-orange)}
.queue-trip-rate small{color:var(--bfc-muted);font-size:9px;font-weight:850;text-transform:uppercase}
.queue-trip-rate b{color:var(--bfc-blue-dark);font-size:11px;font-weight:850;white-space:nowrap}
.queue-trip-bulk{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #9ccfe1;
  border-radius:6px;background:#fff;color:var(--bfc-blue-dark);font-size:11px;font-weight:850;text-decoration:none;white-space:nowrap}
.queue-trip-bulk:hover{border-color:var(--bfc-blue);background:#edf8fc}.queue-trip-bulk svg{width:14px;height:14px}
.badge.cmt-billing{border-color:#efc184;background:var(--bfc-orange-soft);color:#7b480a}
.queue-item.billing-gr-row{box-shadow:inset 3px 0 0 var(--bfc-orange)}
.cmt-late-arrivals{border-top:1px solid #dbe8ef;background:#fffaf3}
.cmt-subhead{padding:14px 18px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cmt-subhead>div{display:grid;gap:2px}.cmt-subhead span{color:var(--bfc-muted);font-size:12px}
.cmt-late-update-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:13px 18px 16px;border-top:1px solid #f1dcc1;background:#fff}
.cmt-late-update-bar form{margin:0}.cmt-late-update-bar button{white-space:nowrap}
.cmt-late-totals{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cmt-late-totals span{display:grid;gap:2px;min-width:112px;padding:7px 10px;border:1px solid #dbe8ef;
  border-radius:6px;background:#f8fbfd;color:var(--bfc-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.cmt-late-totals strong{color:var(--bfc-ink);font-size:15px;letter-spacing:0}
.cmt-member-links{padding:12px 18px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #dbe8ef}
.cmt-member-link{padding:6px 9px;border:1px solid #b9d9e7;border-radius:6px;background:#f7fcff;color:#075d7d;font-size:12px;font-weight:800;text-decoration:none}
.cmt-match-card .login-banner{margin:12px 18px 18px}
.cmt-bulk-submit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;
  margin:14px 18px 18px;padding:15px 16px;border:1px solid #b9d9e7;border-left:4px solid var(--bfc-blue);
  border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.cmt-bulk-copy{display:grid;gap:4px;min-width:0}.cmt-bulk-copy>strong{color:var(--bfc-ink);font-size:16px}
.cmt-bulk-copy>p{max-width:720px;margin:0;color:var(--bfc-muted);font-size:12px;line-height:1.5}
.cmt-bulk-counters{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.cmt-bulk-counters>span{display:inline-flex;align-items:baseline;gap:5px;min-height:28px;padding:5px 9px;
  border:1px solid var(--bfc-border);border-radius:6px;background:var(--bfc-surface-soft);color:var(--bfc-muted);
  font-size:10px;font-weight:850;text-transform:uppercase}
.cmt-bulk-counters strong{color:var(--bfc-ink);font-size:13px;font-variant-numeric:tabular-nums}
.cmt-bulk-action{display:flex;align-items:center;justify-content:flex-end;min-width:190px}
.cmt-bulk-action form{margin:0}.cmt-bulk-action button{min-height:44px;white-space:nowrap}
.cmt-bulk-action .badge{display:inline-flex;align-items:center;gap:6px;min-height:34px}.cmt-bulk-action svg{width:17px;height:17px}
.cmt-bulk-submit.ready{border-left-color:var(--bfc-green);background:linear-gradient(100deg,var(--bfc-green-soft),#fff 48%)}
.cmt-bulk-submit.running{border-left-color:var(--bfc-orange);background:linear-gradient(100deg,var(--bfc-orange-soft),#fff 48%)}
.cmt-bulk-submit.complete{border-left-color:var(--bfc-green)}
.cmt-bulk-submit.stopped{border-left-color:var(--bfc-red);background:linear-gradient(100deg,var(--bfc-red-soft),#fff 48%)}
.cmt-bulk-submit.blocked{border-left-color:var(--bfc-orange);background:#fffaf3}
@media(max-width:760px){
  .cmt-batch-card .review-head{padding:15px}
  .cmt-batch-card .toolbar{margin:12px;align-items:stretch}
  .cmt-batch-card .toolbar button{width:100%}
  .cmt-rate-entry{margin:12px;align-items:stretch;flex-direction:column}
  .cmt-rate-entry form{display:grid;grid-template-columns:1fr}
  .cmt-rate-entry input,.cmt-rate-entry select{width:100%;min-width:0}
  .cmt-rate-entry button,.cmt-rate-entry.follower>a{width:100%;text-align:center}
  .rate-managed-elsewhere{align-items:stretch;flex-direction:column}.rate-managed-elsewhere>a{width:100%;text-align:center}
  .queue-trip-rate{width:100%}
  .queue-trip-bulk{width:100%;justify-content:center}
  .cmt-subhead{align-items:flex-start}.cmt-subhead>.badge{flex:0 0 auto}
  .cmt-late-update-bar{align-items:stretch;flex-direction:column;padding:12px}
  .cmt-late-update-bar form,.cmt-late-update-bar button{width:100%}
  .cmt-late-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .cmt-late-totals span{min-width:0}
  .cmt-bulk-submit{grid-template-columns:1fr;margin:12px;padding:14px;gap:13px}
  .cmt-bulk-action,.cmt-bulk-action form,.cmt-bulk-action button{width:100%}
  .cmt-bulk-action{justify-content:stretch}.cmt-bulk-action button{justify-content:center}
}

/* OCR quality dashboard: read-only, source-backed production evidence. */
.oq-dashboard{display:grid;min-width:0;gap:22px;padding-bottom:28px}
.oq-dashboard>*{min-width:0}
.oq-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 18px;border-bottom:1px solid var(--bfc-border)}
.oq-head h1{margin:2px 0 5px;font-size:30px;line-height:1.2}.oq-head p{margin:0;color:var(--bfc-muted)}
.oq-health{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid;border-radius:999px;font-weight:850;white-space:nowrap}
.oq-health svg{width:18px;height:18px}.oq-tone-good{color:#11663c;border-color:#9cdbb9;background:var(--bfc-green-soft)}
.oq-tone-learning{color:#7b480a;border-color:#efc184;background:var(--bfc-orange-soft)}
.oq-tone-risk{color:#982b2b;border-color:#efb4b4;background:var(--bfc-red-soft)}
.oq-tone-neutral{color:var(--bfc-blue-dark);border-color:#a9d2e1;background:var(--bfc-blue-soft)}
.oq-filters{display:flex;align-items:end;gap:12px;padding:14px;border:1px solid var(--bfc-border);border-radius:8px;background:var(--bfc-surface);box-shadow:var(--bfc-shadow)}
.oq-filters label{display:grid;gap:5px;min-width:170px;color:var(--bfc-muted);font-size:12px;font-weight:800}
.oq-filters select{width:100%;min-height:42px;border:1px solid var(--bfc-border-strong);border-radius:6px;padding:8px 34px 8px 10px;background:#fff;color:var(--bfc-ink)}
.oq-filters button{min-height:42px}.oq-filters>span{margin-left:auto;align-self:center;color:var(--bfc-muted);font-size:12px;font-variant-numeric:tabular-nums}
.oq-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.oq-kpi{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start;min-height:128px;padding:16px;border:1px solid var(--bfc-border);border-top:3px solid var(--bfc-blue);border-radius:8px;background:var(--bfc-surface);box-shadow:var(--bfc-shadow)}
.oq-kpi.oq-tone-good{border-top-color:var(--bfc-green)}.oq-kpi.oq-tone-learning{border-top-color:var(--bfc-orange)}.oq-kpi.oq-tone-risk{border-top-color:var(--bfc-red)}
.oq-kpi-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--bfc-surface-soft);color:currentColor}.oq-kpi-icon svg{width:19px;height:19px}
.oq-kpi>div:last-child{display:grid;gap:4px;min-width:0}.oq-kpi span{color:var(--bfc-muted);font-size:11px;font-weight:850;text-transform:uppercase}
.oq-kpi strong{font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.oq-kpi small{color:var(--bfc-text);font-size:12px;line-height:1.35}
.oq-section{min-width:0;padding-top:22px;border-top:1px solid var(--bfc-border)}
.oq-section>*,.oq-split>*{min-width:0}
.oq-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.oq-section-head h2{margin:0 0 3px;font-size:20px}.oq-section-head p{margin:0;color:var(--bfc-muted);font-size:13px}
.oq-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:28px}.oq-detail-split{grid-template-columns:repeat(2,minmax(0,1fr))}
.oq-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--bfc-muted);font-size:11px;font-weight:750}.oq-legend span{display:flex;align-items:center;gap:5px}.oq-legend i{display:block;width:10px;height:10px;border-radius:2px}.oq-legend-documents{background:var(--bfc-blue)}.oq-legend-attention{background:var(--bfc-orange)}
.oq-trend{display:grid;gap:7px}.oq-trend-row{display:grid;grid-template-columns:52px minmax(90px,1fr) 92px;gap:10px;align-items:center;min-height:27px}
.oq-trend-row time{color:var(--bfc-muted);font-size:11px;font-variant-numeric:tabular-nums}.oq-trend-bars{position:relative;height:16px;border-radius:3px;background:#e9eef1;overflow:hidden}
.oq-bar{position:absolute;left:0;height:7px;min-width:0}.oq-bar-documents{top:0;background:var(--bfc-blue)}.oq-bar-attention{bottom:0;background:var(--bfc-orange)}
.oq-trend-values{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-variant-numeric:tabular-nums}.oq-trend-values strong{font-size:13px}.oq-trend-values span{color:var(--bfc-muted);font-size:10px;white-space:nowrap}
.oq-issues{display:grid;gap:11px}.oq-issue-row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(80px,1fr) 32px;gap:9px;align-items:center}
.oq-issue-row>span{font-size:12px}.oq-issue-track{height:8px;border-radius:3px;background:#e9eef1;overflow:hidden}.oq-issue-track span{display:block;height:100%;background:var(--bfc-orange)}.oq-issue-row strong{text-align:right;font-variant-numeric:tabular-nums}
.oq-sample{color:var(--bfc-muted);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.oq-dashboard .table-responsive{min-width:0;max-width:100%;overflow-x:auto}.oq-table{min-width:720px;margin:0!important;border-radius:8px!important;font-size:12px}.oq-table th,.oq-table td{padding:10px 11px!important;vertical-align:middle!important}
.oq-table tbody th{color:var(--bfc-ink);background:#fff;font-size:12px;text-transform:none}.oq-table td{font-variant-numeric:tabular-nums}.oq-table code{color:var(--bfc-blue-dark);font-size:11px;white-space:normal;overflow-wrap:anywhere}
.oq-accuracy{display:inline-block;width:72px;height:7px;margin-right:7px;border-radius:3px;background:#e5eaed;overflow:hidden;vertical-align:middle}.oq-accuracy span{display:block;height:100%;background:var(--bfc-green)}
.oq-risk-number{color:var(--bfc-red);font-weight:900}.oq-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}
.oq-status-stable{color:#11663c;border-color:#9cdbb9;background:var(--bfc-green-soft)}.oq-status-learning{color:var(--bfc-blue-dark);border-color:#a9d2e1;background:var(--bfc-blue-soft)}
.oq-status-attention{color:#7b480a;border-color:#efc184;background:var(--bfc-orange-soft)}.oq-status-risk{color:#982b2b;border-color:#efb4b4;background:var(--bfc-red-soft)}
.oq-attention-list{overflow:hidden;border:1px solid var(--bfc-border);border-radius:8px;background:#fff}#app-main .oq-attention-list>a.oq-attention-row{min-height:52px;padding:10px 13px;display:grid;grid-template-columns:130px 120px minmax(220px,1fr) 150px;gap:14px;align-items:center;justify-content:stretch;border:0;border-bottom:1px solid var(--bfc-border);border-radius:0;background:#fff;color:var(--bfc-text);font-weight:500;text-decoration:none}
#app-main .oq-attention-list>a.oq-attention-row:last-child{border-bottom:0}#app-main .oq-attention-list>a.oq-attention-row:hover{border-color:var(--bfc-border);background:var(--bfc-surface-soft);color:var(--bfc-text)}.oq-attention-row:focus-visible{position:relative;z-index:1}.oq-request-number{color:var(--bfc-blue-dark);font-weight:850}
.oq-empty{padding:20px;border:1px dashed var(--bfc-border-strong);border-radius:8px;background:var(--bfc-surface-soft);color:var(--bfc-muted);text-align:center}
.oq-footnote{padding:12px 14px;border-left:3px solid var(--bfc-orange);background:#fff9f1;color:var(--bfc-text);font-size:12px}
@media(max-width:1180px){.oq-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.oq-split,.oq-detail-split{grid-template-columns:1fr}.oq-detail-split{gap:22px}}
@media(max-width:760px){.oq-head{align-items:flex-start;flex-direction:column}.oq-head h1{max-width:100%;font-size:25px;overflow-wrap:anywhere}.oq-head .stats{width:100%;max-width:100%}.oq-head .stats>*{max-width:100%}.oq-health{white-space:normal}.oq-filters{align-items:stretch;flex-direction:column}.oq-filters label,.oq-filters select{min-width:0;max-width:100%}.oq-filters button{width:100%}.oq-filters>span{margin-left:0;align-self:flex-start}.oq-kpi-grid{grid-template-columns:1fr 1fr}.oq-kpi{min-height:112px}.oq-section-head{align-items:flex-start;flex-direction:column}.oq-attention-row{grid-template-columns:1fr 1fr}.oq-attention-row>span:nth-child(3){grid-column:1/-1}.oq-attention-row>span:last-child{justify-self:start}}
@media(max-width:460px){.oq-kpi-grid{grid-template-columns:1fr}.oq-trend-row{grid-template-columns:46px minmax(70px,1fr) 78px}.oq-trend-values span{display:none}.oq-attention-row{grid-template-columns:1fr}.oq-attention-row>span:nth-child(3){grid-column:auto}}

/* ERP reconciliation: read-only comparison between cloud-confirmed values and
   the ERP View record, including the ERP's hidden party account identifiers. */
.recon-dashboard{display:grid;gap:18px;min-width:0;padding-bottom:28px}
.recon-run-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,.8fr) auto;gap:18px;align-items:center;padding:17px 18px;border:1px solid var(--bfc-border);border-left:4px solid var(--bfc-blue);border-radius:8px;background:linear-gradient(100deg,var(--bfc-blue-soft),#fff 60%);box-shadow:var(--bfc-shadow)}
.recon-run-panel>div:first-child{display:grid;gap:3px}.recon-run-panel small{color:var(--bfc-muted)}
.recon-label{display:block;color:var(--bfc-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.recon-progress-wrap{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:10px;align-items:center}.recon-progress-wrap .batch-progress{margin:0}.recon-progress-wrap>span{color:var(--bfc-muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.recon-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.recon-kpis>div{display:grid;gap:5px;min-height:92px;padding:15px;border:1px solid var(--bfc-border);border-top:3px solid var(--bfc-blue);border-radius:8px;background:#fff;box-shadow:var(--bfc-shadow)}
.recon-kpis span{color:var(--bfc-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.recon-kpis strong{font-size:25px;font-variant-numeric:tabular-nums}.recon-kpis .good{border-top-color:var(--bfc-green)}.recon-kpis .risk{border-top-color:var(--bfc-red)}
.recon-results{padding-top:18px;border-top:1px solid var(--bfc-border)}
.recon-row{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(130px,.55fr) minmax(130px,.55fr) minmax(300px,1.6fr);gap:18px;align-items:start;margin-bottom:9px;padding:14px 16px;border:1px solid var(--bfc-border);border-left:4px solid var(--bfc-blue);border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.recon-row.recon-match{border-left-color:var(--bfc-green)}.recon-row.recon-mismatch,.recon-row.recon-missing{border-left-color:var(--bfc-red)}.recon-row.recon-cancelled{border-left-color:var(--bfc-orange)}
.recon-row>div{min-width:0}.recon-row strong,.recon-request a{display:block;margin-top:3px;color:var(--bfc-ink);font-size:13px;font-weight:850;overflow-wrap:anywhere}.recon-request{display:grid;gap:4px}.recon-request a{color:var(--bfc-blue-dark)!important;background:none!important;padding:0!important;min-height:0!important;justify-content:flex-start!important;border:0!important;box-shadow:none!important}.recon-request span{color:var(--bfc-muted);font-size:11px;overflow-wrap:anywhere}
.recon-result{display:grid;gap:6px}.recon-result .badge{justify-self:start}.recon-result p{margin:0;color:var(--bfc-text);font-size:12px}
.recon-differences{margin-top:3px}.recon-differences summary{cursor:pointer;color:var(--bfc-blue-dark);font-size:11px;font-weight:850}.recon-differences .table-responsive{margin-top:7px}.recon-differences table{min-width:480px;margin:0!important;font-size:11px}.recon-differences th,.recon-differences td{padding:7px 8px!important;overflow-wrap:anywhere}
@media(max-width:1100px){.recon-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.recon-row{grid-template-columns:repeat(3,minmax(0,1fr))}.recon-result{grid-column:1/-1}.recon-run-panel{grid-template-columns:1fr 1fr}.recon-run-panel form{grid-column:1/-1}.recon-run-panel button{width:100%}}
@media(max-width:700px){.recon-run-panel,.recon-row{grid-template-columns:1fr}.recon-run-panel form,.recon-result{grid-column:auto}.recon-kpis{grid-template-columns:1fr 1fr}.recon-row{gap:11px}.recon-run-panel{align-items:stretch}.recon-progress-wrap{grid-template-columns:1fr}}
@media(max-width:430px){.recon-kpis{grid-template-columns:1fr}}

/* Master-admin storage and offline archive controls. Destructive cleanup is
   intentionally separated from archive creation and revealed only after a
   completed download. */
.storage-dashboard{display:grid;gap:20px;min-width:0;padding-bottom:32px}
.storage-head{padding-bottom:16px;border-bottom:1px solid var(--bfc-border)}
.storage-overview{display:grid;grid-template-columns:minmax(180px,260px) minmax(240px,1fr) auto;gap:20px;align-items:center;padding:18px;border:1px solid var(--bfc-border);border-left:4px solid var(--bfc-green);border-radius:8px;background:#fff;box-shadow:var(--bfc-shadow)}
.storage-overview.storage-warning{border-left-color:var(--bfc-orange);background:#fffaf3}
.storage-overview>div:nth-child(2){display:grid;gap:3px}.storage-overview strong{font-size:24px;font-variant-numeric:tabular-nums}.storage-overview p{margin:0;color:var(--bfc-muted);font-size:13px}
.storage-gauge{height:12px;border-radius:4px;background:#e7edf0;overflow:hidden}.storage-gauge>span{display:block;width:var(--storage-used);height:100%;background:var(--bfc-green)}.storage-warning .storage-gauge>span{background:var(--bfc-orange)}
.storage-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.storage-category{display:grid;gap:5px;min-height:112px;padding:15px;border:1px solid var(--bfc-border);border-top:3px solid var(--bfc-blue);border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.storage-category span{color:var(--bfc-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.storage-category strong{font-size:22px;font-variant-numeric:tabular-nums}.storage-category small{color:var(--bfc-text);font-size:11px;line-height:1.4}
.archive-policy{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(340px,.8fr);gap:24px;align-items:center;padding:18px;border:1px solid #a9d2e1;border-radius:8px;background:var(--bfc-blue-soft)}
.archive-policy>div{display:flex;align-items:flex-start;gap:13px}.archive-policy>div>i{flex:0 0 auto;width:26px;height:26px;color:var(--bfc-blue-dark)}.archive-policy h2{margin:0 0 4px;font-size:18px}.archive-policy p{margin:0;color:var(--bfc-text);font-size:12px;line-height:1.5}.archive-policy ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0;padding-left:22px;color:var(--bfc-blue-dark);font-size:12px;font-weight:800}
.archive-create{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(520px,1.3fr);gap:28px;align-items:end;padding:19px;border:1px solid var(--bfc-border);border-radius:8px;background:#fff;box-shadow:var(--bfc-shadow)}
.archive-create h2{margin:2px 0 4px;font-size:20px}.archive-create p{margin:0;color:var(--bfc-muted);font-size:12px}.archive-create form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.archive-create label{display:grid;gap:5px;color:var(--bfc-muted);font-size:11px;font-weight:850}.archive-create input,.archive-create select{min-height:44px;margin:0;background:#fff}.archive-create button{min-height:44px;white-space:nowrap;justify-self:start}
.archive-history{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--bfc-border)}
.archive-row{display:grid;gap:13px;padding:17px;border:1px solid var(--bfc-border);border-left:4px solid var(--bfc-blue);border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.archive-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.archive-row-head h3{margin:3px 0;font-size:16px}.archive-row-head p{margin:0;color:var(--bfc-muted);font-size:12px}.archive-row-head>.badge{flex:0 0 auto}
.archive-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--bfc-border);border-radius:6px;overflow:hidden}.archive-facts>div{display:grid;gap:3px;padding:10px 12px;border-right:1px solid var(--bfc-border)}.archive-facts>div:last-child{border-right:0}.archive-facts span{color:var(--bfc-muted);font-size:9px;font-weight:900;text-transform:uppercase}.archive-facts strong{font-size:13px;font-variant-numeric:tabular-nums}
.archive-checksum{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:9px 11px;border-radius:6px;background:var(--bfc-surface-soft)}.archive-checksum span{color:var(--bfc-muted);font-size:10px;font-weight:900}.archive-checksum code{overflow-wrap:anywhere;color:var(--bfc-blue-dark);font-size:11px}
.archive-download-note{display:flex;align-items:center;gap:7px;margin:0;color:#11663c;font-size:12px;font-weight:800}.archive-download-note svg{width:17px;height:17px}.archive-actions{display:flex;gap:8px;flex-wrap:wrap}
.archive-cleanup{border:1px solid #efb4b4;border-radius:7px;background:var(--bfc-red-soft)}.archive-cleanup>summary{cursor:pointer;padding:11px 13px;color:#982b2b;font-size:12px;font-weight:900}.archive-cleanup-body{display:grid;gap:11px;padding:0 13px 13px;border-top:1px solid #efb4b4}.archive-cleanup-body>p{margin:11px 0 0;color:#6f2525;font-size:12px}.archive-cleanup-body form{display:grid;gap:10px}.archive-cleanup-body label:not(.confirmation-check){display:grid;gap:5px;color:#6f2525;font-size:11px;font-weight:850}.archive-cleanup-body code{overflow-wrap:anywhere}.archive-cleanup-body input[type="text"],.archive-cleanup-body input:not([type]){background:#fff}.archive-cleanup-body button{justify-self:start}
.archived-document{display:flex;align-items:flex-start;gap:11px;min-height:120px;padding:18px;border:1px dashed var(--bfc-border-strong);border-radius:8px;background:var(--bfc-surface-soft)}.archived-document>i{flex:0 0 auto;width:24px;height:24px;color:var(--bfc-blue-dark)}.archived-document strong{display:block;color:var(--bfc-ink)}.archived-document p{margin:4px 0 0;color:var(--bfc-muted);font-size:12px;line-height:1.5}.archived-document code{overflow-wrap:anywhere;color:var(--bfc-blue-dark)}
@media(max-width:1050px){.storage-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-create{grid-template-columns:1fr}.archive-create form{grid-template-columns:1fr 1fr}.archive-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-facts>div:nth-child(3){border-right:0}.archive-facts>div:nth-child(-n+3){border-bottom:1px solid var(--bfc-border)}}
@media(max-width:760px){.storage-overview{grid-template-columns:1fr}.storage-overview>.badge{justify-self:start}.storage-categories{grid-template-columns:1fr}.archive-policy{grid-template-columns:1fr}.archive-policy ol{grid-template-columns:1fr}.archive-create form{grid-template-columns:1fr}.archive-create button{width:100%}.archive-row-head{flex-direction:column}.archive-facts{grid-template-columns:1fr 1fr}.archive-facts>div:nth-child(2){border-right:0}.archive-facts>div:nth-child(-n+2){border-bottom:1px solid var(--bfc-border)}.archive-cleanup-body button{width:100%}}

/* Standalone challans: branch-scoped trip matching and immutable GR snapshots. */
.challan-dashboard{display:grid;gap:18px;min-width:0;padding-bottom:32px}.challan-dashboard>*{min-width:0}
.challan-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:8px 0 17px;border-bottom:1px solid var(--bfc-border)}.challan-page-head h1{margin:2px 0 5px;font-size:30px}.challan-page-head p{max-width:720px;margin:0;color:var(--bfc-muted)}
.challan-section{padding:18px;border:1px solid var(--bfc-border);border-radius:8px;background:var(--bfc-surface);box-shadow:var(--bfc-shadow)}
.challan-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.challan-section-head>div{display:grid;gap:3px}.challan-section-head span{color:var(--bfc-orange-dark);font-size:10px;font-weight:900;text-transform:uppercase}.challan-section-head h2{margin:0;font-size:19px}.challan-section-head p{margin:0;color:var(--bfc-muted);font-size:12px}.challan-section-head>strong{color:var(--bfc-blue-dark);font-variant-numeric:tabular-nums;white-space:nowrap}
.challan-criteria-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.6fr) minmax(210px,.8fr) auto;gap:10px;align-items:end}.challan-criteria-form label,.challan-finance-grid label{display:grid;gap:5px;color:var(--bfc-text);font-size:11px;font-weight:850}.challan-criteria-form input,.challan-criteria-form select,.challan-finance-grid input{width:100%;min-height:44px;margin:0;border:1px solid var(--bfc-border-strong);border-radius:6px;background:#fff;color:var(--bfc-ink)}.challan-criteria-form input[readonly]{background:var(--bfc-surface-soft);color:var(--bfc-text)}.challan-criteria-form button{min-height:44px;white-space:nowrap}
.challan-create-form{display:grid;gap:18px}.challan-match-list{display:grid;gap:8px}.challan-match-row{display:grid;grid-template-columns:28px minmax(100px,.55fr) minmax(140px,.8fr) minmax(76px,.35fr) minmax(150px,.8fr) minmax(90px,.45fr) minmax(130px,.7fr);gap:10px;align-items:center;min-height:58px;padding:11px 12px;border:1px solid var(--bfc-border);border-left:3px solid var(--bfc-blue);border-radius:7px;background:#fff;cursor:pointer;transition:border-color 160ms ease,background 160ms ease}.challan-match-row:hover{border-color:#9fcbdc;background:#f8fcfe}.challan-match-row:focus-within{box-shadow:var(--bfc-focus)}.challan-match-row>input{width:20px;height:20px;margin:0;accent-color:var(--bfc-blue);cursor:pointer}.challan-match-row>span{display:grid;gap:2px;min-width:0}.challan-match-row small{color:var(--bfc-muted);font-size:9px;font-weight:900;text-transform:uppercase}.challan-match-row strong{overflow-wrap:anywhere;color:var(--bfc-ink);font-size:12px}.challan-match-id{color:var(--bfc-blue-dark);font-size:12px;font-weight:900}.challan-inline-warnings{grid-column:2/-1;margin:0;padding:8px 10px 8px 27px;border-radius:6px;background:var(--bfc-orange-soft);color:#74410a;font-size:11px}
.challan-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:10px}.challan-balance{grid-column:span 1;display:grid;gap:3px;align-content:center;min-height:78px;padding:10px 13px;border:1px solid #9cdbb9;border-left:4px solid var(--bfc-green);border-radius:7px;background:var(--bfc-green-soft)}.challan-balance span{color:#11663c;font-size:10px;font-weight:900;text-transform:uppercase}.challan-balance output{color:#0d4c2d;font-size:23px;font-weight:900;font-variant-numeric:tabular-nums}.challan-balance small{color:#2f6d4e;font-size:10px}
.challan-master-context{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:-2px 0 12px;padding:11px 13px;border:1px solid #c7dfea;border-left:4px solid var(--bfc-blue);border-radius:7px;background:var(--bfc-blue-soft);font-size:11px;color:var(--bfc-text)}.challan-master-context strong{color:var(--bfc-blue-dark);font-size:11px;text-transform:uppercase}.challan-master-context span{padding-left:10px;border-left:1px solid #b4d4e1}.challan-tds-field{position:relative}.challan-tds-lock{display:inline-flex;margin-left:4px;padding:2px 6px;border-radius:999px;background:#eafaf1;color:#11663c;font-size:9px;font-weight:900;text-transform:uppercase}.challan-tds-edit{justify-self:start;min-height:28px;padding:5px 8px;border:1px solid var(--bfc-border-strong);border-radius:5px;background:#fff;color:var(--bfc-blue-dark);font-size:10px;font-weight:900;cursor:pointer}.challan-tds-field select{min-height:36px;margin-top:4px;border:1px solid var(--bfc-border-strong);border-radius:6px;background:#fff;color:var(--bfc-ink)}
.challan-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 18px;border:1px solid #a9d2e1;border-left:4px solid var(--bfc-blue);border-radius:8px;background:var(--bfc-blue-soft)}.challan-submit-bar>div{display:grid;gap:3px}.challan-submit-bar p{margin:0;color:var(--bfc-text);font-size:12px}.challan-submit-bar button{min-height:46px;white-space:nowrap}
.challan-empty{padding:22px;border:1px dashed var(--bfc-border-strong);border-radius:8px;background:var(--bfc-surface-soft);text-align:center}.challan-empty p{margin:4px 0 0;color:var(--bfc-muted)}
.challan-history-list{display:grid;gap:12px}.challan-history-row{display:grid;grid-template-columns:minmax(300px,1.35fr) repeat(3,minmax(90px,.42fr)) minmax(150px,.62fr) auto;gap:14px 18px;align-items:center;padding:16px;border:1px solid rgba(203,213,225,.78);border-left:4px solid var(--bfc-blue);border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 10px 24px rgba(15,23,42,.06)}.challan-history-main{display:grid;gap:4px;min-width:0}.challan-reference{display:inline-flex;width:fit-content;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:900;text-transform:uppercase}.challan-history-main>strong{font-size:16px;overflow-wrap:anywhere}.challan-history-main>small,.challan-history-status small{color:var(--bfc-muted);font-size:11px}.challan-history-creator{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:3px 8px;align-items:center;margin-top:6px;padding:7px 9px;border:1px solid #c7dfea;border-radius:7px;background:linear-gradient(135deg,#fff,var(--bfc-blue-soft))}.challan-history-creator-avatar{grid-row:1/2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bfc-blue-dark);color:#fff;font-size:9px;font-weight:900;letter-spacing:.03em}.challan-history-creator-copy,.challan-history-creator-time{display:grid;gap:1px;min-width:0}.challan-history-creator-copy small,.challan-history-creator-time small{color:var(--bfc-muted);font-size:7px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.challan-history-creator-copy strong{overflow:hidden;color:var(--bfc-ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.challan-history-creator-copy>span{color:var(--bfc-blue-dark);font-size:8px;font-weight:850;text-transform:uppercase}.challan-history-creator-time{justify-items:end}.challan-history-creator-time time{color:var(--bfc-text);font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.challan-fact{display:grid;gap:4px}.challan-fact span{color:var(--bfc-muted);font-size:9px;font-weight:900;text-transform:uppercase}.challan-fact strong{font-size:14px;font-variant-numeric:tabular-nums}.challan-history-status{display:grid;justify-items:start;gap:5px}.challan-history-actions{display:flex;gap:8px}.challan-history-actions a{min-height:42px;min-width:104px;white-space:nowrap}.challan-history-actions a:first-child{background:linear-gradient(135deg,var(--bfc-blue),#18a8d8);color:#fff!important}.challan-history-actions a.secondary{background:#fff!important}
.challan-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--bfc-border);border-radius:8px;background:#fff;overflow:hidden}.challan-summary-grid>div{display:grid;gap:4px;padding:14px;border-right:1px solid var(--bfc-border)}.challan-summary-grid>div:last-child{border-right:0}.challan-summary-grid span,.challan-finance-summary span{color:var(--bfc-muted);font-size:9px;font-weight:900;text-transform:uppercase}.challan-summary-grid strong{font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.challan-warning-box{padding:14px 16px;border:1px solid #efc184;border-left:4px solid var(--bfc-orange);border-radius:8px;background:var(--bfc-orange-soft)}.challan-warning-box h2{margin:0 0 7px;font-size:15px;color:#74410a}.challan-warning-box ul{margin:0;padding-left:21px;color:#74410a;font-size:12px}
.challan-row-table{min-width:900px;font-size:12px}.challan-row-table th,.challan-row-table td{padding:9px!important}.challan-row-table td{font-variant-numeric:tabular-nums}
.challan-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.challan-finance-summary>div{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--bfc-border);border-radius:6px;background:var(--bfc-surface-soft)}.challan-finance-summary>div:last-child{border-color:#9cdbb9;background:var(--bfc-green-soft)}.challan-finance-summary strong{font-size:16px;font-variant-numeric:tabular-nums}.challan-document-actions{display:flex;gap:8px;margin-top:13px}.challan-document-actions form{margin:0}
.challan-detail-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.challan-revisions{display:grid;gap:7px}.challan-revision-link{min-height:44px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--bfc-border);border-radius:6px;background:var(--bfc-surface-soft);color:var(--bfc-blue-dark);font-weight:850;text-decoration:none}.challan-audit{display:grid;gap:7px;margin:0;padding:0;list-style:none}.challan-audit li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--bfc-border)}.challan-audit li:last-child{border-bottom:0}.challan-audit span{color:var(--bfc-muted);font-size:11px;text-align:right}

/* Challan detail: compact operational hierarchy with guarded ERP actions. */
.challan-detail-page{gap:0}.challan-detail-page>.success,.challan-detail-page>.error{margin:14px 0 0}
.challan-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 0 18px;border-bottom:1px solid var(--bfc-border)}.challan-detail-title{display:grid;gap:4px;min-width:0}.challan-back-link{justify-self:start;min-height:36px;padding:6px 0;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--bfc-blue-dark)!important;font-size:12px}.challan-back-link svg{width:16px;height:16px}.challan-detail-title .kicker{margin:2px 0 0}.challan-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.challan-title-row h1{margin:0;font-size:34px;font-variant-numeric:tabular-nums}.challan-detail-title p{margin:0;font-size:13px}.challan-head-side{display:flex;align-items:flex-end;gap:10px;min-width:230px}.challan-erp-reference{display:grid;gap:2px;flex:1;padding:10px 12px;border-left:4px solid var(--bfc-blue);background:var(--bfc-blue-soft)}.challan-erp-reference span,.challan-erp-reference small{color:var(--bfc-muted);font-size:9px;font-weight:900;text-transform:uppercase}.challan-erp-reference strong{font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.challan-head-actions{display:flex;gap:8px}.challan-head-actions a{min-height:44px;white-space:nowrap}
.challan-detail-band{padding:18px 0;border-bottom:1px solid var(--bfc-border)}.challan-band-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.challan-band-head>div:first-child{display:grid;gap:2px;min-width:0}.challan-band-head>div:first-child>span{color:var(--bfc-orange-dark);font-size:9px;font-weight:900;text-transform:uppercase}.challan-band-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.challan-band-head h2 svg{width:18px;height:18px;color:var(--bfc-blue)}.challan-band-head small{color:var(--bfc-muted);font-size:11px;text-align:right}
.challan-attribution-strip{padding:12px 0;border-bottom:1px solid var(--bfc-border)}.challan-creator-card{display:grid;grid-template-columns:38px minmax(140px,1fr) auto;gap:4px 10px;align-items:center;width:100%;padding:10px 12px;border:1px solid #b8d9e6;border-left:4px solid var(--bfc-blue);border-radius:7px;background:linear-gradient(135deg,#fff,var(--bfc-blue-soft));box-shadow:0 5px 14px rgba(13,75,100,.06)}.challan-creator-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--bfc-blue-dark);color:#fff;font-size:11px;font-weight:900;letter-spacing:.03em}.challan-creator-copy,.challan-creator-time{display:grid;gap:1px;min-width:0}.challan-creator-copy small,.challan-creator-time small{color:var(--bfc-muted);font-size:8px;font-weight:900;text-align:left;letter-spacing:.03em;text-transform:uppercase}.challan-creator-copy strong{overflow:hidden;color:var(--bfc-ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.challan-creator-copy>span{color:var(--bfc-blue-dark);font-size:9px;font-weight:800;text-transform:uppercase}.challan-creator-time{justify-items:end}.challan-creator-time time{color:var(--bfc-text);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.challan-detail-page .challan-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:6px;box-shadow:none}.challan-detail-page .challan-summary-grid>div{padding:11px 13px}.challan-detail-page .challan-summary-grid strong{font-size:15px}.challan-detail-page .challan-finance-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--bfc-border);border-radius:6px;overflow:hidden}.challan-detail-page .challan-finance-summary>div{border:0;border-right:1px solid var(--bfc-border);border-radius:0;background:#fff}.challan-detail-page .challan-finance-summary>div:last-child{border-right:0}.challan-detail-page .challan-finance-summary>.challan-finance-balance{border-left:3px solid var(--bfc-green);background:var(--bfc-green-soft)}.challan-detail-page .challan-finance-summary>.challan-finance-erp-reference{border-left:3px solid var(--bfc-blue);background:var(--bfc-blue-soft)}.challan-finance-band .challan-master-context{margin:10px 0 0}
.challan-detail-page .challan-row-table{margin:0;border-radius:6px;box-shadow:none}.challan-detail-page .challan-row-table th{font-size:10px}.challan-detail-page .challan-row-table td{font-size:12px}.challan-erp-inline{display:grid;justify-items:end;gap:2px}.challan-erp-inline span{color:var(--bfc-muted);font-size:9px;font-weight:900;text-transform:uppercase}.challan-erp-inline strong{color:var(--bfc-blue-dark);font-size:14px;font-variant-numeric:tabular-nums}.challan-erp-note{max-width:800px;margin:0;color:var(--bfc-muted);font-size:12px}.challan-action-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--bfc-border)}.challan-secondary-actions{display:flex;gap:8px;flex-wrap:wrap}.challan-action-bar form{margin:0}
.challan-confirm-form{display:grid;grid-template-columns:minmax(190px,240px) auto;gap:5px 8px;align-items:end}.challan-confirm-form label{display:grid;gap:4px;color:var(--bfc-text);font-size:10px;font-weight:800}.challan-confirm-form input[data-confirmation-input]{width:100%;min-height:44px;margin:0;border:1px solid var(--bfc-border-strong);border-radius:6px;background:#fff;color:var(--bfc-ink);font-size:16px;font-variant-numeric:tabular-nums}.challan-confirm-form input[aria-invalid="true"]{border-color:#dc8585}.challan-confirm-form small{grid-column:1/-1;color:var(--bfc-muted);font-size:9px}.challan-confirm-form button{min-height:44px;white-space:nowrap}
.challan-erp-submit-form{margin:0}.challan-erp-submit-form button{min-height:44px;min-width:150px;white-space:nowrap}
.challan-danger-action{margin-top:14px;border:1px solid #efb4b4;border-radius:6px;background:var(--bfc-red-soft)}.challan-danger-action>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;color:#982b2b;font-size:12px;font-weight:900;cursor:pointer}.challan-danger-action>summary svg{width:17px;height:17px}.challan-danger-action>div{display:grid;gap:10px;padding:12px;border-top:1px solid #efb4b4}.challan-danger-action p{margin:0;color:#6f2525;font-size:11px}.challan-danger-action .challan-confirm-form{justify-content:start}
.challan-history-actions .challan-delete-link{background:#fff!important;border:1px solid #e7b2b2!important;color:#9a2d2d!important;box-shadow:none!important}.challan-history-actions .challan-delete-link:hover,.challan-history-actions .challan-delete-link:focus-visible{background:var(--bfc-red-soft)!important;border-color:#cc7474!important;outline:0;box-shadow:var(--bfc-focus)!important}.challan-delete-action{scroll-margin-top:90px;margin-top:18px;border-left:4px solid #bd3f3f;border-radius:8px}.challan-delete-action:target{box-shadow:0 0 0 4px rgba(189,63,63,.12)}.challan-delete-action>summary{justify-content:flex-start;padding:12px 14px;list-style:none}.challan-delete-action>summary::-webkit-details-marker{display:none}.challan-delete-action>summary>span{display:grid;gap:1px}.challan-delete-action>summary small{color:#8d5a5a;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.challan-delete-action>summary strong{font-size:13px}.challan-delete-action>summary>svg:last-child{margin-left:auto;transition:transform .2s ease}.challan-delete-action[open]>summary>svg:last-child{transform:rotate(180deg)}.challan-delete-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1fr) auto;gap:10px;align-items:end}.challan-delete-form label{display:grid;gap:6px;color:#572323;font-size:11px;font-weight:850}.challan-delete-form code{width:max-content;max-width:100%;padding:3px 6px;border:1px solid #e6b4b4;border-radius:5px;background:#fff;color:#8e2424;font-size:11px;overflow-wrap:anywhere}.challan-delete-form input{width:100%;min-height:44px;margin:0;border-color:#dda4a4;background:#fff}.challan-delete-form button{min-height:44px;white-space:nowrap}.challan-delete-action>div>small{color:#845252;font-size:10px;line-height:1.5}.challan-delete-locked{scroll-margin-top:90px;display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 14px;border:1px solid #e7c7a1;border-left:4px solid #c47b21;border-radius:8px;background:#fffaf3}.challan-delete-locked>svg{flex:0 0 20px;width:20px;height:20px;margin-top:3px;color:#a45f12}.challan-delete-locked>div{display:grid;gap:2px}.challan-delete-locked span{color:#9a5c1b;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.challan-delete-locked h2{margin:0;font-size:14px}.challan-delete-locked p{margin:0;color:#75532f;font-size:11px;line-height:1.5}
@media(max-width:760px){.challan-delete-form{grid-template-columns:1fr}.challan-delete-form button{width:100%}.challan-history-actions .challan-delete-link{flex:1}}
@media(prefers-reduced-motion:reduce){.challan-delete-action>summary>svg:last-child{transition:none}}
.challan-record-history{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:16px}.challan-record-history>details{border:1px solid var(--bfc-border);border-radius:6px;background:#fff}.challan-record-history summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:8px 11px;color:var(--bfc-blue-dark);font-size:12px;font-weight:850;cursor:pointer}.challan-record-history summary>span{display:flex;align-items:center;gap:7px}.challan-record-history summary svg{width:16px;height:16px}.challan-record-history summary small{color:var(--bfc-muted);font-size:9px}.challan-record-history details[open] summary{border-bottom:1px solid var(--bfc-border)}.challan-record-history .challan-revisions,.challan-record-history .challan-audit{padding:8px 11px}.challan-record-history .challan-revision-link{min-height:36px;padding:5px 7px;font-size:11px}.challan-record-history .challan-audit{gap:0}.challan-record-history .challan-audit li{padding:6px 0;font-size:11px}.challan-record-history .challan-audit span{font-size:9px}
@media(max-width:1180px){.admin-form{grid-template-columns:1fr 1fr}.admin-form button{justify-self:start}.challan-match-row{grid-template-columns:28px repeat(3,minmax(120px,1fr))}.challan-match-row>span:nth-of-type(n+4){grid-column:auto}.challan-history-row{grid-template-columns:minmax(280px,1fr) repeat(3,minmax(80px,.4fr));}.challan-history-status{grid-column:1/3}.challan-history-actions{grid-column:3/-1;justify-content:flex-end}}
@media(max-width:760px){.role-edit-form{min-width:0;flex-wrap:wrap}.role-edit-form select,.role-edit-form button{width:100%;min-width:0}.challan-page-head{align-items:flex-start;flex-direction:column}.challan-page-head h1{font-size:25px}.challan-page-head .stats{width:100%}.challan-criteria-form{grid-template-columns:1fr}.challan-criteria-form button{width:100%}.challan-match-row{grid-template-columns:28px 1fr 1fr}.challan-match-id{grid-column:2/-1}.challan-inline-warnings{grid-column:1/-1}.challan-finance-grid{grid-template-columns:1fr 1fr}.challan-submit-bar{align-items:stretch;flex-direction:column}.challan-submit-bar button{width:100%;white-space:normal}.challan-history-row{grid-template-columns:1fr 1fr}.challan-history-main,.challan-history-actions{grid-column:1/-1}.challan-history-status{grid-column:auto}.challan-history-actions{justify-content:stretch}.challan-history-actions a{flex:1}.challan-summary-grid,.challan-finance-summary{grid-template-columns:1fr 1fr}.challan-summary-grid>div:nth-child(2){border-right:0}.challan-summary-grid>div:nth-child(-n+2){border-bottom:1px solid var(--bfc-border)}.challan-detail-split{grid-template-columns:1fr}.challan-audit li{flex-direction:column}.challan-audit span{text-align:left}.challan-detail-head{align-items:stretch;flex-direction:column}.challan-head-side{align-items:stretch;min-width:0}.challan-head-actions a{height:100%}.challan-band-head{align-items:flex-start;flex-direction:column;gap:8px}.challan-band-head small{text-align:left}.challan-creator-card{width:100%;min-width:0}.challan-detail-page .challan-finance-summary{grid-template-columns:1fr 1fr}.challan-action-bar{align-items:stretch;flex-direction:column}.challan-secondary-actions>*{flex:1}.challan-secondary-actions button{width:100%}.challan-confirm-form{grid-template-columns:1fr auto}.challan-record-history{grid-template-columns:1fr}}
@media(max-width:620px){
  .admin-form{grid-template-columns:1fr}.admin-form button{width:100%;justify-self:stretch}
  .metric-grid{grid-template-columns:1fr}
  .page-head>.badge{justify-self:start}
  .admin-users-table-shell .table-responsive{overflow:visible;border:0;background:transparent}
  .admin-users-table-shell table,.admin-users-table-shell tbody{display:block;background:transparent}
  .admin-users-table-shell tr:first-child{display:none}
  .admin-users-table-shell tr:not(:first-child){display:grid;margin-bottom:10px;overflow:hidden;border:1px solid var(--bfc-border);border-radius:9px;background:var(--bfc-surface)}
  .admin-users-table-shell tr:not(:first-child)>*{min-width:0;padding:10px 11px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;border:0;border-bottom:1px solid var(--bfc-border);background:transparent;text-align:left;text-transform:none}
  .admin-users-table-shell tr:not(:first-child)>*:last-child{border-bottom:0}
  .admin-users-table-shell tr:not(:first-child)>*:before{color:var(--bfc-muted);font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
  .admin-users-table-shell tr:not(:first-child)>*:nth-child(1):before{content:"Username"}
  .admin-users-table-shell tr:not(:first-child)>*:nth-child(2):before{content:"Role & branch"}
  .admin-users-table-shell tr:not(:first-child)>*:nth-child(3):before{content:"Created"}
  .admin-users-table-shell tr:not(:first-child)>*:nth-child(4):before{content:"Challan access"}
  .admin-users-table-shell tr:not(:first-child)>*:nth-child(5):before{content:"Action"}
  .admin-users-table-shell .role-edit-form{display:grid;grid-template-columns:1fr;max-width:none}
  .admin-users-table-shell form,.admin-users-table-shell button{width:100%}
}
@media(max-width:520px){
  .topbar{flex-wrap:nowrap}
  .brand{width:40px;flex:0 0 40px}
  .brand>span{display:none}
  .app-nav{min-width:0;margin-left:auto;gap:2px;overflow-x:auto;scrollbar-width:none}
  .app-nav::-webkit-scrollbar{display:none}
  .app-nav a{width:38px;min-width:38px;padding:7px}
}
@media(max-width:430px){.challan-match-row,.challan-finance-grid,.challan-history-row,.challan-summary-grid,.challan-finance-summary{grid-template-columns:1fr}.challan-match-row>input{width:22px;height:22px}.challan-match-id,.challan-inline-warnings,.challan-history-main,.challan-history-actions{grid-column:auto}.challan-history-creator{grid-template-columns:28px minmax(0,1fr)}.challan-history-creator-time{grid-column:2;justify-items:start}.challan-summary-grid>div{border-right:0;border-bottom:1px solid var(--bfc-border)}.challan-summary-grid>div:last-child{border-bottom:0}.challan-head-side{flex-direction:column}.challan-head-actions a{width:100%}.challan-detail-page .challan-summary-grid,.challan-detail-page .challan-finance-summary{grid-template-columns:1fr}.challan-detail-page .challan-finance-summary>div{border-right:0;border-bottom:1px solid var(--bfc-border)}.challan-title-row h1{font-size:30px}.challan-creator-card{grid-template-columns:38px minmax(0,1fr)}.challan-creator-time{grid-column:2;justify-items:start}.challan-confirm-form{grid-template-columns:1fr}.challan-confirm-form button{width:100%}.challan-secondary-actions{display:grid;grid-template-columns:1fr}.challan-danger-action .challan-confirm-form{justify-content:stretch}}
@media(prefers-reduced-motion:reduce){.challan-match-row{transition:none}}

/* Recoverable whole-trip archive: intentionally secondary and fail-safe. */
.queue-trip-delete{flex:0 1 360px;max-width:100%}
.queue-trip-delete>summary{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-height:44px;margin-left:auto;padding:8px 11px;border:1px solid #d8a6a6;border-radius:6px;background:#fff;color:#8a2b2b;font-size:11px;font-weight:900;cursor:pointer;list-style:none}
.queue-trip-delete>summary::-webkit-details-marker{display:none}.queue-trip-delete>summary:hover,.queue-trip-delete>summary:focus-visible{border-color:#c86f6f;background:var(--bfc-red-soft);outline:0;box-shadow:var(--bfc-focus)}
.queue-trip-delete>summary svg{width:15px;height:15px}.queue-trip-delete[open]{flex-basis:100%}.queue-trip-delete[open]>summary{background:var(--bfc-red-soft);border-color:#d47e7e}
.queue-trip-delete-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,280px) auto;gap:9px 12px;align-items:end;margin-top:9px;padding:13px;border:1px solid #efb4b4;border-left:4px solid #bd3f3f;border-radius:7px;background:linear-gradient(180deg,#fff7f7,#fff)}
.queue-trip-delete-form strong{grid-column:1/-1;color:#811f1f;font-size:13px}.queue-trip-delete-form p{margin:0;color:#6f4a4a;font-size:11px;line-height:1.5}.queue-trip-delete-form label{display:grid;gap:6px;color:var(--bfc-text);font-size:11px;font-weight:800}.queue-trip-delete-form label b{color:#811f1f;letter-spacing:.025em}.queue-trip-delete-form input{width:100%;min-height:44px;margin:0;background:#fff}.queue-trip-delete-form button{min-height:44px;justify-content:center}
@media(max-width:760px){.queue-trip-delete,.queue-trip-delete>summary,.queue-trip-delete-form{width:100%;max-width:none}.queue-trip-delete>summary{margin-left:0}.queue-trip-delete-form{grid-template-columns:1fr}.queue-trip-delete-form button{width:100%}}

/* Notifications: rate exceptions remain actionable without blocking GR work. */
.notifications-shell{display:grid;gap:18px;min-width:0;padding-bottom:34px}.notifications-shell>*{min-width:0}
.notifications-hero{margin-bottom:0;padding-bottom:18px;border-bottom:1px solid var(--bfc-border)}
.notification-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--bfc-border);border-radius:12px;background:var(--bfc-surface);box-shadow:var(--bfc-shadow)}
.notification-overview>div{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:3px 11px;align-items:center;min-height:102px;padding:17px 18px;border-right:1px solid var(--bfc-border)}
.notification-overview>div:last-child{border-right:0}.notification-overview-icon{grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--bfc-blue-soft);color:var(--bfc-blue-dark)}
.notification-overview-icon.missing,.notification-overview-icon.vehicle{background:var(--bfc-orange-soft);color:var(--bfc-orange-dark)}.notification-overview-icon.manual{background:var(--bfc-green-soft);color:var(--bfc-green)}
.notification-overview-icon svg{width:21px;height:21px}.notification-overview p{margin:0;color:var(--bfc-muted);font-size:10px;font-weight:900;text-transform:uppercase}
.notification-overview strong{grid-column:3;grid-row:1/4;align-self:center;color:var(--bfc-ink);font-size:30px;font-variant-numeric:tabular-nums}.notification-overview small{color:var(--bfc-text);font-size:11px}
.notification-section{overflow:hidden;border:1px solid var(--bfc-border);border-radius:12px;background:var(--bfc-surface);box-shadow:var(--bfc-shadow)}
.notification-all-clear{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-height:132px;padding:24px;border:1px solid #acd9bf;border-radius:12px;background:linear-gradient(135deg,var(--bfc-green-soft),#fff 68%);box-shadow:var(--bfc-shadow)}
.notification-all-clear-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #96cfaf;border-radius:14px;background:#fff;color:var(--bfc-green);box-shadow:0 8px 18px rgba(18,103,60,.08)}
.notification-all-clear-icon svg{width:27px;height:27px}.notification-all-clear h2{margin:2px 0 4px;font-size:21px}.notification-all-clear p{margin:0;color:var(--bfc-text);font-size:12px;line-height:1.55}
.notification-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--bfc-border);background:var(--bfc-surface-soft)}
.notification-section-head>div{display:flex;align-items:center;gap:13px;min-width:0}.notification-section-head h2{margin:1px 0 2px;font-size:21px}.notification-section-head p{max-width:790px;margin:0;color:var(--bfc-muted);font-size:12px}
.notification-section-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:11px;background:var(--bfc-orange-soft);color:var(--bfc-orange-dark)}
.notification-section-icon.neutral{background:var(--bfc-blue-soft);color:var(--bfc-blue-dark)}.notification-section-icon.vehicle{background:var(--bfc-orange-soft);color:var(--bfc-orange-dark)}.notification-section-icon svg{width:22px;height:22px}
.notification-groups{display:grid;grid-template-columns:1fr 1fr;gap:0}.notification-groups.single{grid-template-columns:1fr}.notification-group{min-width:0;padding:18px 20px}.notification-group+ .notification-group{border-left:1px solid var(--bfc-border)}
.notification-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.notification-group-head>div{display:flex;gap:10px;min-width:0}.notification-group-head h3{margin:0;font-size:15px}.notification-group-head p{margin:3px 0 0;color:var(--bfc-muted);font-size:11px;line-height:1.45}
.notification-group-icon{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:8px;background:var(--bfc-surface-soft);color:var(--bfc-blue-dark)}.notification-group-icon svg{width:16px;height:16px}
.notification-count{display:grid;place-items:center;flex:0 0 auto;min-width:28px;height:28px;padding:0 8px;border:1px solid var(--bfc-border);border-radius:999px;background:#fff;color:var(--bfc-blue-dark);font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}
.notification-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid var(--bfc-border);border-left:4px solid var(--bfc-blue);border-radius:9px;background:#fff;transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.notification-card:hover{border-color:#a9cddc;box-shadow:0 7px 18px rgba(20,33,43,.07);transform:translateY(-1px)}.notification-card-rate-missing,.notification-card-vehicle-master-missing{border-left-color:var(--bfc-orange)}.notification-card-manual-rate-used{border-left-color:var(--bfc-green)}
.notification-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--bfc-orange-soft);color:var(--bfc-orange-dark)}.notification-card-manual-rate-used .notification-card-icon{background:var(--bfc-green-soft);color:var(--bfc-green)}.notification-card-icon svg{width:19px;height:19px}
.notification-card-copy{display:grid;gap:5px;min-width:0}.notification-card-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.notification-type{color:var(--bfc-orange-dark);font-size:9px;font-weight:900;text-transform:uppercase}.notification-card-manual-rate-used .notification-type{color:var(--bfc-green)}
.notification-state{padding:3px 7px;border-radius:999px;background:var(--bfc-surface-soft);color:var(--bfc-text);font-size:9px;font-weight:850}.notification-card h4{margin:0;color:var(--bfc-ink);font-size:14px}.notification-card-copy>p{margin:0;color:var(--bfc-text);font-size:11.5px;line-height:1.5}
.notification-guidance{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;border-radius:6px;background:var(--bfc-blue-soft);color:var(--bfc-blue-dark)!important}.notification-guidance svg{flex:0 0 auto;width:14px;height:14px;margin-top:1px}
.notification-card-vehicle-master-missing .notification-guidance{background:var(--bfc-orange-soft);color:var(--bfc-orange-dark)!important}
.notification-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:1px}.notification-meta span{display:inline-flex;align-items:center;gap:5px;color:var(--bfc-muted);font-size:10px}.notification-meta svg{width:13px;height:13px}
.notification-action{align-self:center;min-height:38px;padding:7px 9px;white-space:nowrap}.notification-action svg{width:15px;height:15px}
.notification-empty,.notification-empty-compact{display:flex;align-items:center;gap:11px;color:var(--bfc-muted)}.notification-empty{min-height:130px;justify-content:center;flex-direction:column;padding:24px;text-align:center}.notification-empty>svg{width:30px;height:30px;color:var(--bfc-green)}.notification-empty strong{color:var(--bfc-ink)}.notification-empty p{margin:0;font-size:11px}
.notification-empty-compact{min-height:84px;padding:14px;border:1px dashed var(--bfc-border-strong);border-radius:8px;background:var(--bfc-surface-soft)}.notification-empty-compact>svg{flex:0 0 auto;width:22px;height:22px;color:var(--bfc-green)}.notification-empty-compact strong{color:var(--bfc-ink);font-size:12px}.notification-empty-compact p{margin:2px 0 0;font-size:10px}
.other-notification-section>.notification-list{padding:18px 20px}
@media(max-width:1000px){.notification-groups{grid-template-columns:1fr}.notification-group+ .notification-group{border-left:0;border-top:1px solid var(--bfc-border)}}
@media(max-width:760px){.notification-overview{grid-template-columns:1fr}.notification-overview>div{min-height:82px;border-right:0;border-bottom:1px solid var(--bfc-border)}.notification-overview>div:last-child{border-bottom:0}.notification-section-head{align-items:flex-start}.notification-section-head>div{align-items:flex-start}.notification-card{grid-template-columns:auto minmax(0,1fr)}.notification-action{grid-column:1/-1;width:100%;justify-content:center}.notification-group{padding:16px}.other-notification-section>.notification-list{padding:16px}}
@media(max-width:480px){.notification-section-head{flex-direction:column}.notification-section-head>.badge{align-self:flex-start}.notification-section-icon{width:38px;height:38px}.notification-card{grid-template-columns:1fr}.notification-card-icon{width:34px;height:34px}.notification-card-top{align-items:flex-start;flex-direction:column}.notification-overview>div{padding:14px}.notification-overview strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.notification-card{transition:none}.notification-card:hover{transform:none}}

/* Existing ERP GR rate repair: one focused action, with fail-closed read-back. */
.rate-repair-card{scroll-margin-top:92px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;margin:0 0 18px;padding:18px;border:1px solid #efc184;border-left:4px solid var(--bfc-orange);border-radius:10px;background:linear-gradient(180deg,#fffaf3,#fff);box-shadow:var(--bfc-shadow)}
.rate-repair-card:target{box-shadow:0 0 0 4px rgba(239,134,23,.16),var(--bfc-shadow)}
.rate-repair-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--bfc-orange-soft);color:var(--bfc-orange-dark)}.rate-repair-icon svg{width:23px;height:23px}
.rate-repair-card h2{margin:2px 0 4px;font-size:20px}.rate-repair-card p{max-width:780px;margin:0;color:var(--bfc-text);font-size:12px;line-height:1.55}.rate-repair-body{min-width:0}
.rate-repair-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(210px,.8fr) auto;gap:10px;align-items:end;margin-top:15px}.rate-repair-form label{display:grid;gap:5px;color:var(--bfc-text);font-size:11px;font-weight:850}.rate-repair-form input,.rate-repair-form select{width:100%;min-height:46px;margin:0;border:1px solid var(--bfc-border-strong);border-radius:7px;background:#fff;color:var(--bfc-ink);font-size:15px}.rate-repair-form button{min-height:46px;white-space:nowrap}
.rate-repair-message,.rate-repair-suggestion{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:9px 11px;border-radius:7px;font-size:11px}.rate-repair-message{border:1px solid #efb4b4;background:var(--bfc-red-soft);color:#812828}.rate-repair-suggestion{border:1px solid #9cdbb9;background:var(--bfc-green-soft);color:#11663c}.rate-repair-message svg,.rate-repair-suggestion svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px}
.rate-repair-safety{display:flex;align-items:flex-start;gap:7px!important;margin-top:10px!important;color:var(--bfc-muted)!important;font-size:10.5px!important}.rate-repair-safety svg{flex:0 0 auto;width:15px;height:15px;margin-top:1px;color:var(--bfc-green)}
.rate-repair-result{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.rate-repair-result>span{display:grid;gap:2px;min-width:130px;padding:9px 11px;border:1px solid #a7d9bd;border-radius:7px;background:#fff}.rate-repair-result small{color:#397153;font-size:9px;font-weight:900;text-transform:uppercase}.rate-repair-result strong{color:#0d4c2d;font-size:14px;font-variant-numeric:tabular-nums}
.rate-repair-complete{border-color:#9cdbb9;border-left-color:var(--bfc-green);background:linear-gradient(180deg,var(--bfc-green-soft),#fff)}.rate-repair-complete .rate-repair-icon{background:#d7f3e3;color:var(--bfc-green)}
.rate-repair-attention{border-color:#e7b2b2;border-left-color:var(--bfc-red);background:linear-gradient(180deg,var(--bfc-red-soft),#fff)}.rate-repair-attention .rate-repair-icon{background:#f9dcdc;color:#a62d2d}.rate-repair-attention form{margin-top:12px}.rate-repair-attention button{min-height:44px}
.rate-repair-linked{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.rate-repair-linked>a{min-height:44px;white-space:nowrap}
@media(max-width:820px){.rate-repair-form{grid-template-columns:1fr 1fr}.rate-repair-form button{grid-column:1/-1;width:100%}.rate-repair-linked{grid-template-columns:auto minmax(0,1fr)}.rate-repair-linked>a{grid-column:1/-1;width:100%;justify-content:center}}
@media(max-width:520px){.rate-repair-card{grid-template-columns:1fr;padding:15px}.rate-repair-form{grid-template-columns:1fr}.rate-repair-form button{grid-column:auto}.rate-repair-icon{width:40px;height:40px}.rate-repair-result{display:grid;grid-template-columns:1fr 1fr}.rate-repair-result>span:last-child:nth-child(odd){grid-column:1/-1}}
/* Search and paging for long Challan histories. Appended to the live stylesheet
   so this rollout does not disturb unrelated production styling. */
.challan-history-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--bfc-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .04);
}
.challan-history-toolbar > label {
  display: grid;
  gap: 6px;
  min-width: min(520px, 100%);
  color: var(--bfc-muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.challan-history-search { position: relative; display: block; }
.challan-history-search > svg {
  position: absolute;
  top: 50%;
  left: 13px;
  width: 18px;
  height: 18px;
  color: var(--bfc-muted);
  transform: translateY(-50%);
  pointer-events: none;
}
.challan-history-search input {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding-left: 42px;
  border-color: var(--bfc-border-strong);
  background: #fff;
  font-size: 14px;
  text-transform: none;
}
.challan-history-toolbar > div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.challan-history-toolbar small {
  margin-right: 4px;
  color: var(--bfc-muted);
  font-size: 11px;
  white-space: nowrap;
}
.challan-history-toolbar button,
.challan-history-toolbar a { min-height: 44px; white-space: nowrap; }
.challan-history-pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
}
.challan-history-pagination > a:first-child { justify-self: start; }
.challan-history-pagination > a:last-child { justify-self: end; }
.challan-history-pagination > span {
  color: var(--bfc-muted);
  font-size: 11px;
  font-weight: 850;
  text-align: center;
}
@media (max-width: 760px) {
  .challan-history-toolbar { align-items: stretch; flex-direction: column; }
  .challan-history-toolbar > label { min-width: 0; }
  .challan-history-toolbar > div { justify-content: flex-start; }
}

/* Master-admin late-GR pilot. Isolated renderer; no production route is wired here. */
.trip-exception-ui {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 8px 0 40px;
  color: var(--bfc-text);
}
.trip-exception-ui,
.trip-exception-ui * { box-sizing: border-box; }
.trip-exception-head {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--bfc-border);
  border-radius: 12px;
  background: var(--bfc-surface);
  box-shadow: var(--bfc-shadow);
}
.trip-exception-heading-copy { display: grid; gap: 6px; min-width: 0; }
.trip-exception-eyebrow {
  margin: 0;
  color: var(--bfc-orange-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.trip-exception-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}
.trip-exception-title-row h1 {
  min-width: 0;
  margin: 0;
  color: var(--bfc-ink);
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.trip-exception-heading-copy > p:last-child {
  max-width: 68ch;
  margin: 0;
  color: var(--bfc-muted);
  font-size: 14px;
  line-height: 1.6;
}
.trip-exception-pilot-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 999px;
  background: var(--bfc-surface-soft);
  color: var(--bfc-blue-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.trip-exception-trip-summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: var(--bfc-surface-soft);
  overflow: hidden;
}
.trip-exception-trip-fact {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 11px 13px;
  border-bottom: 1px solid var(--bfc-border);
}
.trip-exception-trip-fact:last-child { border-bottom: 0; }
.trip-exception-trip-fact dt {
  color: var(--bfc-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.trip-exception-trip-fact dd {
  min-width: 0;
  margin: 0;
  color: var(--bfc-ink);
  font-size: 13px;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.trip-exception-progress {
  margin: 16px 0;
  border: 1px solid var(--bfc-border);
  border-radius: 10px;
  background: var(--bfc-surface);
  overflow: hidden;
}
.trip-exception-progress ol {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.trip-exception-step {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--bfc-border);
  color: var(--bfc-muted);
  font-size: 12px;
  font-weight: 850;
}
.trip-exception-step:last-child { border-bottom: 0; }
.trip-exception-step--current {
  border-left: 4px solid var(--bfc-blue);
  background: var(--bfc-blue-soft);
  color: var(--bfc-blue-dark);
}
.trip-exception-step--complete { color: var(--bfc-green); }
.trip-exception-step-marker {
  display: inline-grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 900;
}
.trip-exception-step-marker .trip-exception-icon { width: 16px; height: 16px; }
.trip-exception-live {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}
.trip-exception-state {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--bfc-border);
  border-left-width: 4px;
  border-radius: 10px;
  background: var(--bfc-surface);
}
.trip-exception-state--ready,
.trip-exception-state--success { border-left-color: var(--bfc-green); background: var(--bfc-green-soft); }
.trip-exception-state--attention { border-left-color: var(--bfc-orange); background: var(--bfc-orange-soft); }
.trip-exception-state--blocked { border-left-color: var(--bfc-red); background: var(--bfc-red-soft); }
.trip-exception-state h2 {
  margin: 0 0 3px;
  color: var(--bfc-ink);
  font-size: 16px;
}
.trip-exception-state p { margin: 0; color: var(--bfc-text); font-size: 13px; line-height: 1.55; }
.trip-exception-state-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid currentColor;
  border-radius: 10px;
  background: var(--bfc-surface);
}
.trip-exception-state-icon--ready,
.trip-exception-state-icon--success { color: var(--bfc-green); }
.trip-exception-state-icon--attention { color: var(--bfc-orange-dark); }
.trip-exception-state-icon--blocked { color: var(--bfc-red); }
.trip-exception-icon { width: 20px; height: 20px; }
.trip-exception-content,
.trip-exception-form { display: grid; gap: 16px; min-width: 0; }
.trip-exception-content:focus { outline: 0; }
.trip-exception-candidate-fieldset,
.trip-exception-panel {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--bfc-border);
  border-radius: 12px;
  background: var(--bfc-surface);
  box-shadow: var(--bfc-shadow);
}
.trip-exception-candidate-fieldset > legend {
  padding: 0 4px;
  color: var(--bfc-ink);
  font-size: 18px;
  font-weight: 900;
}
.trip-exception-section-help {
  margin: 0 0 12px;
  color: var(--bfc-muted);
  font-size: 12px;
  line-height: 1.55;
}
.trip-exception-candidate-list { display: grid; gap: 8px; }
.trip-exception-candidate {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px 12px;
  align-items: center;
  min-height: 64px;
  padding: 12px;
  border: 1px solid var(--bfc-border);
  border-left: 4px solid var(--bfc-blue);
  border-radius: 9px;
  background: var(--bfc-surface);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.trip-exception-candidate:hover { border-color: var(--bfc-blue); background: var(--bfc-blue-soft); }
.trip-exception-candidate:focus-within { box-shadow: var(--bfc-focus); }
.trip-exception-candidate--attention { border-left-color: var(--bfc-orange); }
.trip-exception-candidate--blocked { border-left-color: var(--bfc-red); cursor: default; }
.trip-exception-candidate--blocked:hover { border-color: var(--bfc-border); background: var(--bfc-surface); }
.trip-exception-candidate input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--bfc-blue);
  cursor: inherit;
}
.trip-exception-candidate-main { display: grid; gap: 3px; min-width: 0; }
.trip-exception-candidate-main strong {
  color: var(--bfc-ink);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.trip-exception-candidate-main > span { color: var(--bfc-muted); font-size: 11px; overflow-wrap: anywhere; }
.trip-exception-candidate-metric {
  grid-column: 2;
  display: grid;
  gap: 2px;
  min-width: 0;
}
.trip-exception-candidate-metric small,
.trip-exception-candidate-status {
  color: var(--bfc-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.trip-exception-candidate-metric strong { color: var(--bfc-ink); font-size: 13px; font-variant-numeric: tabular-nums; }
.trip-exception-candidate-status {
  grid-column: 2;
  justify-self: start;
  padding: 5px 8px;
  border: 1px solid var(--bfc-border);
  border-radius: 999px;
  background: var(--bfc-surface-soft);
}
.trip-exception-candidate-status--ready { color: var(--bfc-green); background: var(--bfc-green-soft); }
.trip-exception-candidate-status--attention { color: var(--bfc-orange-dark); background: var(--bfc-orange-soft); }
.trip-exception-candidate-status--blocked { color: var(--bfc-red); background: var(--bfc-red-soft); }
.trip-exception-empty {
  display: grid;
  gap: 3px;
  min-height: 88px;
  place-content: center;
  padding: 18px;
  border: 1px dashed var(--bfc-border-strong);
  border-radius: 9px;
  background: var(--bfc-surface-soft);
  text-align: center;
}
.trip-exception-empty strong { color: var(--bfc-ink); }
.trip-exception-empty span { color: var(--bfc-muted); font-size: 12px; }
.trip-exception-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.trip-exception-section-head > div { display: grid; gap: 2px; min-width: 0; }
.trip-exception-section-head h2 { margin: 0; color: var(--bfc-ink); font-size: 18px; }
.trip-exception-section-head > span { color: var(--bfc-muted); font-size: 10px; text-align: right; }
.trip-exception-check-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.trip-exception-check {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 58px;
  padding: 10px;
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: var(--bfc-surface-soft);
}
.trip-exception-check-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--bfc-surface);
}
.trip-exception-check-icon .trip-exception-icon { width: 16px; height: 16px; }
.trip-exception-check > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.trip-exception-check small { color: var(--bfc-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.trip-exception-check strong { color: var(--bfc-ink); font-size: 12px; overflow-wrap: anywhere; }
.trip-exception-check em {
  grid-column: 2;
  justify-self: start;
  color: var(--bfc-muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.trip-exception-check--ready .trip-exception-check-icon,
.trip-exception-check--ready em { color: var(--bfc-green); }
.trip-exception-check--attention .trip-exception-check-icon,
.trip-exception-check--attention em { color: var(--bfc-orange-dark); }
.trip-exception-check--blocked .trip-exception-check-icon,
.trip-exception-check--blocked em { color: var(--bfc-red); }
.trip-exception-table-wrap { min-width: 0; overflow: hidden; border: 1px solid var(--bfc-border); border-radius: 8px; }
.trip-exception-totals { width: 100%; border-collapse: collapse; table-layout: fixed; }
.trip-exception-totals caption {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}
.trip-exception-totals th,
.trip-exception-totals td { padding: 11px 12px; border-bottom: 1px solid var(--bfc-border); text-align: left; vertical-align: top; }
.trip-exception-totals thead th {
  background: var(--bfc-surface-soft);
  color: var(--bfc-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.trip-exception-totals tbody tr:last-child > * { border-bottom: 0; }
.trip-exception-totals tbody th { width: 42%; color: var(--bfc-ink); font-size: 12px; }
.trip-exception-totals tbody th small { display: block; margin-top: 2px; color: var(--bfc-muted); font-size: 9px; font-weight: 600; }
.trip-exception-totals td strong { color: var(--bfc-ink); font-size: 14px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.trip-exception-totals td:last-child { background: var(--bfc-green-soft); }
.trip-exception-value-label { display: none; }
.trip-exception-form-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.trip-exception-field { display: grid; gap: 6px; min-width: 0; color: var(--bfc-text); font-size: 12px; font-weight: 850; }
.trip-exception-field > span small,
.trip-exception-field > small { color: var(--bfc-muted); font-size: 10px; font-weight: 600; }
.trip-exception-field input,
.trip-exception-field textarea {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--bfc-border-strong);
  border-radius: 8px;
  background: var(--bfc-surface);
  color: var(--bfc-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 500;
}
.trip-exception-field textarea { min-height: 104px; resize: vertical; line-height: 1.5; }
.trip-exception-field input:focus-visible,
.trip-exception-field textarea:focus-visible { outline: 3px solid var(--bfc-blue-dark); outline-offset: 2px; box-shadow: var(--bfc-focus); }
.trip-exception-safety {
  border: 1px solid var(--bfc-border);
  border-radius: 10px;
  background: var(--bfc-surface-soft);
  overflow: hidden;
}
.trip-exception-safety summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 13px;
  color: var(--bfc-blue-dark);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  list-style-position: inside;
}
.trip-exception-safety summary:focus-visible { outline: 3px solid var(--bfc-blue-dark); outline-offset: -3px; }
.trip-exception-safety-body { display: grid; gap: 14px; padding: 0 13px 13px; border-top: 1px solid var(--bfc-border); }
.trip-exception-safety-body ul { margin: 12px 0 0; padding-left: 20px; color: var(--bfc-text); font-size: 11px; line-height: 1.65; }
.trip-exception-safety-body dl { display: grid; gap: 0; margin: 0; }
.trip-exception-audit-row {
  display: grid;
  grid-template-columns: minmax(90px, .5fr) minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid var(--bfc-border);
}
.trip-exception-audit-row dt { color: var(--bfc-muted); font-size: 10px; font-weight: 900; }
.trip-exception-audit-row dd { margin: 0; color: var(--bfc-ink); font-size: 11px; text-align: right; overflow-wrap: anywhere; }
.trip-exception-actions {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--bfc-border);
  border-left: 4px solid var(--bfc-blue);
  border-radius: 10px;
  background: var(--bfc-blue-soft);
}
.trip-exception-actions p { margin: 0; color: var(--bfc-text); font-size: 11px; line-height: 1.5; }
.trip-exception-actions > div { display: grid; grid-template-columns: 1fr; gap: 8px; }
.trip-exception-primary,
.trip-exception-secondary {
  width: 100%;
  min-height: 48px;
  white-space: normal;
  cursor: pointer;
  touch-action: manipulation;
}
.trip-exception-primary:focus-visible,
.trip-exception-secondary:focus-visible { outline: 3px solid var(--bfc-blue-dark); outline-offset: 3px; box-shadow: var(--bfc-focus); }
.trip-exception-receipt {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--bfc-border);
  border-left: 4px solid var(--bfc-green);
  border-radius: 12px;
  background: var(--bfc-green-soft);
  box-shadow: var(--bfc-shadow);
}
.trip-exception-receipt-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--bfc-surface);
  color: var(--bfc-green);
}
.trip-exception-receipt-copy { display: grid; gap: 4px; min-width: 0; }
.trip-exception-receipt-copy h2 { margin: 0; color: var(--bfc-ink); font-size: 22px; }
.trip-exception-receipt-copy > p:last-child { margin: 0; color: var(--bfc-text); font-size: 13px; line-height: 1.55; }
.trip-exception-receipt > dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  border: 1px solid var(--bfc-border);
  border-radius: 8px;
  background: var(--bfc-surface);
  overflow: hidden;
}
.trip-exception-receipt-fact { display: grid; gap: 3px; padding: 10px 12px; border-bottom: 1px solid var(--bfc-border); }
.trip-exception-receipt-fact:last-child { border-bottom: 0; }
.trip-exception-receipt-fact dt { color: var(--bfc-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.trip-exception-receipt-fact dd { margin: 0; color: var(--bfc-ink); font-size: 12px; font-weight: 850; overflow-wrap: anywhere; }
.trip-exception-access-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 20px;
  border: 1px solid var(--bfc-border);
  border-left: 4px solid var(--bfc-red);
  border-radius: 12px;
  background: var(--bfc-surface);
  box-shadow: var(--bfc-shadow);
}
.trip-exception-access-copy { display: grid; gap: 4px; min-width: 0; }
.trip-exception-access-copy h1 { margin: 0; color: var(--bfc-ink); font-size: 24px; }
.trip-exception-access-copy p:last-child { margin: 0; color: var(--bfc-text); font-size: 13px; line-height: 1.55; }
.trip-exception-access-card > .trip-exception-primary { grid-column: 1 / -1; }

@media (min-width: 420px) {
  .trip-exception-trip-summary { grid-template-columns: 1fr 1fr; }
  .trip-exception-trip-fact:nth-child(odd) { border-right: 1px solid var(--bfc-border); }
  .trip-exception-trip-fact:nth-last-child(-n + 2) { border-bottom: 0; }
  .trip-exception-candidate { grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr); }
  .trip-exception-candidate-main { grid-column: 2 / -1; }
  .trip-exception-candidate-metric:nth-of-type(2) { grid-column: 2; }
  .trip-exception-candidate-metric:nth-of-type(3) { grid-column: 3; }
  .trip-exception-candidate-status { grid-column: 2 / -1; }
  .trip-exception-receipt > dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trip-exception-receipt-fact { border-right: 1px solid var(--bfc-border); border-bottom: 0; }
  .trip-exception-receipt-fact:last-child { border-right: 0; }
}

@media (min-width: 768px) {
  .trip-exception-head { padding: 24px; }
  .trip-exception-progress ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trip-exception-step { border-right: 1px solid var(--bfc-border); border-bottom: 0; }
  .trip-exception-step:last-child { border-right: 0; }
  .trip-exception-step--current { border-left: 0; border-bottom: 4px solid var(--bfc-blue); }
  .trip-exception-candidate-fieldset,
  .trip-exception-panel { padding: 20px; }
  .trip-exception-candidate {
    grid-template-columns: 24px minmax(180px, 1fr) minmax(90px, .35fr) minmax(90px, .35fr) auto;
    gap: 12px;
  }
  .trip-exception-candidate-main,
  .trip-exception-candidate-metric:nth-of-type(2),
  .trip-exception-candidate-metric:nth-of-type(3),
  .trip-exception-candidate-status { grid-column: auto; }
  .trip-exception-check-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trip-exception-form-grid { grid-template-columns: minmax(220px, .65fr) minmax(0, 1fr); align-items: start; }
  .trip-exception-actions { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .trip-exception-actions > div { display: flex; align-items: center; justify-content: flex-end; }
  .trip-exception-primary,
  .trip-exception-secondary { width: auto; min-width: 150px; }
  .trip-exception-access-card { grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; }
  .trip-exception-access-card > .trip-exception-primary { grid-column: auto; }
}

@media (min-width: 1024px) {
  .trip-exception-head { grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr); align-items: center; }
  .trip-exception-trip-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .trip-exception-trip-fact,
  .trip-exception-trip-fact:nth-child(odd) { border-right: 1px solid var(--bfc-border); border-bottom: 0; }
  .trip-exception-trip-fact:last-child { border-right: 0; }
}

@media (max-width: 460px) {
  .trip-exception-ui { padding-inline: 0; }
  .trip-exception-head,
  .trip-exception-candidate-fieldset,
  .trip-exception-panel { padding: 14px; }
  .trip-exception-title-row { align-items: flex-start; flex-direction: column; }
  .trip-exception-section-head { align-items: flex-start; flex-direction: column; }
  .trip-exception-section-head > span { text-align: left; }
  .trip-exception-table-wrap { border: 0; overflow: visible; }
  .trip-exception-totals,
  .trip-exception-totals tbody { display: block; }
  .trip-exception-totals thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden;
  }
  .trip-exception-totals tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 8px;
    border: 1px solid var(--bfc-border);
    border-radius: 8px;
    overflow: hidden;
  }
  .trip-exception-totals tr:last-child { margin-bottom: 0; }
  .trip-exception-totals tbody th { grid-column: 1 / -1; width: auto; background: var(--bfc-surface-soft); }
  .trip-exception-totals th,
  .trip-exception-totals td { display: grid; gap: 3px; border-bottom: 0; }
  .trip-exception-totals td:first-of-type { border-right: 1px solid var(--bfc-border); }
  .trip-exception-value-label { display: block; color: var(--bfc-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
  .trip-exception-audit-row { grid-template-columns: 1fr; gap: 3px; }
  .trip-exception-audit-row dd { text-align: left; }
}

@media (max-width: 375px) {
  .trip-exception-head,
  .trip-exception-candidate-fieldset,
  .trip-exception-panel,
  .trip-exception-access-card { border-radius: 9px; }
  .trip-exception-state { grid-template-columns: 36px minmax(0, 1fr); padding: 12px; }
  .trip-exception-state-icon { width: 34px; height: 34px; }
  .trip-exception-actions { padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .trip-exception-candidate,
  .trip-exception-primary,
  .trip-exception-secondary { scroll-behavior: auto; transition: none; }
}

/* Master-admin WhatsApp control plane. Kept isolated from operational pages. */
.whatsapp-admin-shell { display: grid; gap: 20px; }
.whatsapp-admin-hero { margin-bottom: 0; padding: 8px 2px 2px; }
.whatsapp-admin-hero h1 { max-width: 760px; }
.whatsapp-safety-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 17px 18px;
  border: 1px solid color-mix(in srgb, var(--bfc-green) 28%, var(--bfc-border));
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--bfc-green) 8%, white), white);
  box-shadow: var(--bfc-shadow);
}
.whatsapp-safety-note > svg { width: 28px; height: 28px; margin: 3px auto; color: var(--bfc-green); }
.whatsapp-safety-note strong { font-size: 16px; }
.whatsapp-safety-note p { margin-top: 3px; }
.whatsapp-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.whatsapp-kpis .card {
  border: 1px solid var(--bfc-border);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, var(--bfc-surface-soft));
  box-shadow: var(--bfc-shadow);
}
.whatsapp-kpis .card-body { display: grid; gap: 5px; padding: 18px; }
.whatsapp-kpis span { color: var(--bfc-muted); font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.whatsapp-kpis strong { color: var(--bfc-ink); font-size: 24px; line-height: 1.15; }
.whatsapp-kpis small { color: var(--bfc-muted); line-height: 1.4; }
.whatsapp-admin-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 20px; align-items: start; }
.whatsapp-admin-shell .panel { margin: 0; }
.whatsapp-admin-shell .panel > .card-body { padding: 0; }
.whatsapp-section-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 18px; }
.whatsapp-section-head .card-title { margin-bottom: 5px; }
.whatsapp-settings { display: grid; gap: 13px; }
.whatsapp-switch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 15px;
  border: 1px solid var(--bfc-border);
  border-radius: 15px;
  background: var(--bfc-surface-soft);
}
.whatsapp-switch > span { display: grid; gap: 3px; }
.whatsapp-switch small { color: var(--bfc-muted); font-weight: 500; }
.whatsapp-admin-shell .toggle { width: 42px; height: 23px; cursor: pointer; }
.whatsapp-time-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.whatsapp-settings > label:not(.whatsapp-switch),
.whatsapp-time-grid label,
.whatsapp-recipient-form > label:not(.whatsapp-check) { display: grid; gap: 7px; color: var(--bfc-text); font-size: 12px; font-weight: 850; }
.whatsapp-admin-shell .input { min-height: 44px; border-radius: 12px; border-color: var(--bfc-border); }
.whatsapp-template-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.whatsapp-template-list li { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--bfc-border); border-radius: 14px; background: var(--bfc-surface-soft); }
.whatsapp-template-list li > span:first-child { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 2px 8px; min-width: 0; }
.whatsapp-template-list li svg { grid-row: 1 / 3; align-self: center; width: 19px; color: var(--bfc-blue); }
.whatsapp-template-list strong { overflow-wrap: anywhere; font-size: 13px; }
.whatsapp-template-list small { color: var(--bfc-muted); }
.whatsapp-admin-shell .table-responsive { border: 1px solid var(--bfc-border); border-radius: 15px; overflow: auto; }
.whatsapp-admin-shell .table { margin: 0; min-width: 680px; }
.whatsapp-admin-shell .table td:first-child { display: grid; gap: 3px; }
.whatsapp-admin-shell .table td small { color: var(--bfc-muted); }
.whatsapp-admin-shell .table form { margin: 0; }
.whatsapp-empty { display: flex; gap: 10px; align-items: center; color: var(--bfc-muted); padding: 10px 2px; }
.whatsapp-empty svg { width: 22px; color: var(--bfc-blue); }
.whatsapp-empty strong { color: var(--bfc-ink); }
.whatsapp-add-recipient { margin-top: 16px; border: 1px solid var(--bfc-border); border-radius: 15px; background: var(--bfc-surface-soft); overflow: hidden; }
.whatsapp-add-recipient summary { display: flex; gap: 9px; align-items: center; cursor: pointer; padding: 15px; color: var(--bfc-blue-dark); font-weight: 900; }
.whatsapp-add-recipient summary svg { width: 19px; }
.whatsapp-recipient-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; padding: 18px; border-top: 1px solid var(--bfc-border); background: #fff; }
.whatsapp-recipient-form fieldset { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--bfc-border); border-radius: 13px; }
.whatsapp-recipient-form legend { float: none; width: auto; margin: 0 0 10px; padding: 0 4px; color: var(--bfc-text); font-size: 12px; font-weight: 900; }
.whatsapp-recipient-form legend small { color: var(--bfc-muted); font-weight: 500; }
.whatsapp-check-grid { display: flex; gap: 9px 14px; flex-wrap: wrap; }
.whatsapp-check { display: inline-flex; gap: 8px; align-items: center; color: var(--bfc-text); font-size: 12px; font-weight: 750; }
.whatsapp-recipient-form > .whatsapp-check,
.whatsapp-recipient-form > button { align-self: end; }
.whatsapp-admin-shell code { padding: 2px 6px; border-radius: 7px; background: var(--bfc-surface-soft); color: var(--bfc-blue-dark); font-weight: 850; }

@media (max-width: 920px) {
  .whatsapp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .whatsapp-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .whatsapp-kpis,
  .whatsapp-time-grid,
  .whatsapp-recipient-form { grid-template-columns: 1fr; }
  .whatsapp-section-head { align-items: flex-start; flex-direction: column; }
  .whatsapp-template-list li { align-items: flex-start; flex-direction: column; }
  .whatsapp-empty { align-items: flex-start; flex-wrap: wrap; }
}
