/* ThinkCharge canonical EV colour contract
   This is the final application-owned theme layer. It intentionally contains
   no priority-escalation declarations: later source order and app-scoped selectors make
   the palette predictable across modern and progressively upgraded views. */
:root {
  --tc-color-navy-950: #04121f;
  --tc-color-navy-900: #071c2d;
  --tc-color-navy-800: #0b2b42;
  --tc-color-cyan-600: #0088a3;
  --tc-color-cyan-500: #00a6c4;
  --tc-color-cyan-100: #e3f8fb;
  --tc-color-mint-600: #07966d;
  --tc-color-mint-500: #16b985;
  --tc-color-canvas: #eef4f7;
  --tc-color-surface: #ffffff;
  --tc-color-surface-soft: #f7fafc;
  --tc-color-line: #d8e4eb;
  --tc-color-ink: #13283c;
  --tc-color-muted: #647a8e;
  --tc-color-danger: #cf3f50;
  --tc-color-warning: #b9770e;
  --tc-color-shadow: 0 12px 32px rgba(7, 32, 53, .075);
}

body.tc-app-body {
  color: var(--tc-color-ink);
  background:
    radial-gradient(circle at 92% 0, rgba(0, 166, 196, .08), transparent 30rem),
    linear-gradient(145deg, #f7fafc, var(--tc-color-canvas) 58%, #f8fbfc);
}

body.tc-app-body .tc-sidebar {
  color: #b8cad7;
  border-right-color: rgba(69, 207, 225, .18);
  background: radial-gradient(circle at 0 0, rgba(0, 166, 196, .13), transparent 18rem), linear-gradient(180deg, var(--tc-color-navy-950), var(--tc-color-navy-900));
}
body.tc-app-body .tc-sidebar .menu-link { color: #a9bfce; }
body.tc-app-body .tc-sidebar .menu-link:hover { color: #f3fcff; background: rgba(0, 166, 196, .1); }
body.tc-app-body .tc-sidebar .menu-item.active > .menu-link,
body.tc-app-body .tc-sidebar .menu-item.open > .menu-link:not(.menu-sub .menu-link) {
  color: #f7fdff;
  border-color: rgba(59, 220, 237, .25);
  background: linear-gradient(100deg, rgba(0, 166, 196, .28), rgba(22, 185, 133, .09));
  box-shadow: inset 3px 0 #43d9e9, 0 0 20px rgba(0, 166, 196, .13);
}

body.tc-app-body .tc-topbar {
  color: var(--tc-color-ink);
  border-bottom-color: var(--tc-color-line);
  background: rgba(249, 252, 253, .94);
}
body.tc-app-body .tc-topbar-button,
body.tc-app-body .tc-topbar-profile { color: var(--tc-color-ink); border-color: var(--tc-color-line); background: #fff; }

body.tc-app-body .tc-page-head,
body.tc-app-body .tc-legacy-head {
  color: var(--tc-color-ink);
  border-color: rgba(216, 228, 235, .95);
  background: linear-gradient(120deg, #fff, #f6fbfc);
  box-shadow: var(--tc-color-shadow);
}
body.tc-app-body .tc-page-head h1,
body.tc-app-body .tc-page-head h2,
body.tc-app-body .tc-page-head h3,
body.tc-app-body .tc-legacy-head h1,
body.tc-app-body .tc-legacy-head h2,
body.tc-app-body .tc-legacy-title { color: var(--tc-color-ink); }
body.tc-app-body .tc-page-head p,
body.tc-app-body .tc-legacy-head p { color: var(--tc-color-muted); }
body.tc-app-body .tc-eyebrow { color: var(--tc-color-cyan-600); }

body.tc-app-body .card,
body.tc-app-body .tc-panel,
body.tc-app-body .accordion-item,
body.tc-app-body .modal-content {
  color: var(--tc-color-ink);
  border-color: var(--tc-color-line);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--tc-color-shadow);
}
body.tc-app-body .card-header,
body.tc-app-body .tc-panel-head {
  color: var(--tc-color-ink);
  border-bottom-color: #e3ebf0;
  background: linear-gradient(180deg, #fff, var(--tc-color-surface-soft));
}
body.tc-app-body .card-header h1,
body.tc-app-body .card-header h2,
body.tc-app-body .card-header h3,
body.tc-app-body .card-header h4,
body.tc-app-body .card-header h5,
body.tc-app-body .tc-panel-head h1,
body.tc-app-body .tc-panel-head h2,
body.tc-app-body .tc-panel-head h3,
body.tc-app-body .tc-panel-head h4,
body.tc-app-body .tc-panel-head h5 { color: var(--tc-color-ink); }

body.tc-app-body .form-control,
body.tc-app-body .form-select,
body.tc-app-body .selectize-input,
body.tc-app-body .select2-container--default .select2-selection--single,
body.tc-app-body .select2-container--default .select2-selection--multiple {
  color: var(--tc-color-ink);
  border-color: #c8d8e2;
  background-color: #fff;
}
body.tc-app-body .form-control:focus,
body.tc-app-body .form-select:focus,
body.tc-app-body .selectize-input.focus {
  border-color: var(--tc-color-cyan-500);
  box-shadow: 0 0 0 4px rgba(0, 166, 196, .12);
}

/* One predictable searchable-select contract across legacy and upgraded views. */
body.tc-app-body .select2-container { display: block; width: 100%; max-width: 100%; }
body.tc-app-body .select2-container .selection { display: block; width: 100%; }
body.tc-app-body .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 46px;
  padding: 0 44px 0 14px;
  overflow: hidden;
  border: 1px solid #c8d8e2;
  border-radius: 11px;
}
body.tc-app-body .select2-container--default .select2-selection--single .select2-selection__rendered {
  width: 100%;
  padding: 0;
  color: var(--tc-color-ink);
  font-size: .9rem;
  line-height: 1.3;
  text-align: left;
  text-overflow: ellipsis;
}
body.tc-app-body .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #8b9cab; }
body.tc-app-body .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0;
  right: 0;
  display: grid;
  width: 42px;
  height: 100%;
  place-items: center;
}
body.tc-app-body .select2-container--default.select2-container--focus .select2-selection,
body.tc-app-body .select2-container--default.select2-container--open .select2-selection {
  border-color: var(--tc-color-cyan-500);
  box-shadow: 0 0 0 4px rgba(0, 166, 196, .12);
}
body.tc-app-body .select2-dropdown {
  overflow: hidden;
  border: 1px solid #bcd6df;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(5, 31, 49, .18);
}
body.tc-app-body .select2-search--dropdown { padding: 10px; background: #f5fafb; }
body.tc-app-body .select2-search--dropdown .select2-search__field {
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #bfd5de;
  border-radius: 8px;
  color: var(--tc-color-ink);
  outline: 0;
}
body.tc-app-body .select2-results__options { padding: 5px; }
body.tc-app-body .select2-results__option { margin: 2px 0; padding: 9px 11px; border-radius: 7px; color: #29485b; }
body.tc-app-body .select2-container--default .select2-results__option--highlighted[aria-selected] { color: #fff; background: var(--tc-color-cyan-600); }

body.tc-app-body .tc-consumable-accordion { overflow: hidden; }
body.tc-app-body .tc-consumable-accordion__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--tc-color-line);
  background: linear-gradient(120deg, #fff, #eefafb);
}
body.tc-app-body .tc-consumable-accordion__head h5 { margin: 2px 0 3px; color: var(--tc-color-ink); }
body.tc-app-body .tc-consumable-accordion__head p { margin: 0; color: var(--tc-color-muted); font-size: .82rem; }
body.tc-app-body .tc-consumable-accordion__summary { display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px; }
body.tc-app-body .tc-consumable-accordion__count { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; color: #08778e; background: var(--tc-color-cyan-100); font-size: .76rem; font-weight: 800; }
body.tc-app-body .tc-stock-alert { display:inline-flex;padding:7px 11px;align-items:center;gap:5px;color:#a83b35;border:1px solid #f0b8b2;border-radius:999px;background:#fff0ef;font-size:.76rem;font-weight:850; }
body.tc-app-body .tc-consumable-accordion__items { padding: 12px; background: #f7fafc; }
body.tc-app-body .tc-consumable-disclosure { overflow: hidden; margin-bottom: 10px; border: 1px solid #d5e4e9; border-radius: 12px; background: #fff; }
body.tc-app-body .tc-consumable-disclosure:last-child { margin-bottom: 0; }
body.tc-app-body .tc-consumable-disclosure summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  color: var(--tc-color-ink);
}
body.tc-app-body .tc-consumable-disclosure summary::-webkit-details-marker { display: none; }
body.tc-app-body .tc-consumable-disclosure summary:hover { background: #eff9fb; }
body.tc-app-body .tc-consumable-disclosure summary small { display: block; margin-bottom: 2px; color: var(--tc-color-cyan-600); font-size: .67rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.tc-app-body .tc-consumable-disclosure summary strong { display: block; font-size: .94rem; }
body.tc-app-body .tc-consumable-disclosure__meta { display: flex; align-items: center; gap: 8px; color: var(--tc-color-muted); font-size: .76rem; font-weight: 750; }
body.tc-app-body .tc-consumable-disclosure__meta i { font-size: 1.25rem; transition: transform .2s ease; }
body.tc-app-body .tc-consumable-disclosure[open] { border-color: #9bd7df; box-shadow: 0 10px 24px rgba(7, 44, 63, .08); }
body.tc-app-body .tc-consumable-disclosure[open] summary { border-bottom: 1px solid var(--tc-color-line); background: #ebf9fb; }
body.tc-app-body .tc-consumable-disclosure[open] .tc-consumable-disclosure__meta i { transform: rotate(180deg); }
body.tc-app-body .tc-consumable-disclosure__body { padding: 14px; }
body.tc-app-body .tc-consumable-table { min-width:720px;table-layout:auto; }
body.tc-app-body .tc-consumable-table th { white-space:nowrap;vertical-align:middle; }
body.tc-app-body .tc-consumable-table td { padding-block:11px;vertical-align:middle; }
body.tc-app-body .tc-consumable-table td:nth-last-child(-n+3) { white-space:nowrap; }
body.tc-app-body .tc-consumable-table tr.is-low-stock td { background:#fff8f7; }
body.tc-app-body .tc-stock-status { display:inline-flex;padding:5px 8px;align-items:center;gap:4px;white-space:nowrap;border-radius:999px;font-size:.7rem;font-weight:850; }
body.tc-app-body .tc-stock-status.is-low { color:#a83b35;background:#ffe4e1; }
body.tc-app-body .tc-stock-status.is-ok { color:#167153;background:#e3f7ed; }

body.tc-app-body .tc-station-document-actions { display:inline-flex;max-width:100%;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;vertical-align:middle; }
body.tc-app-body .tc-station-document-action-wrap { display:inline-flex;max-width:100%;align-items:center;gap:6px;flex-wrap:wrap; }
body.tc-app-body .tc-station-document-action-wrap form { margin:0; }
body.tc-app-body .tc-station-document-link,
body.tc-app-body .tc-station-document-manage { display:inline-flex;min-height:42px;align-items:center;gap:6px;white-space:nowrap; }
body.tc-app-body .tc-station-document-link i,
body.tc-app-body .tc-station-document-manage i { font-size:1.08rem; }
body.tc-app-body .tc-station-document-empty { display:inline-flex;padding:8px 11px;align-items:center;gap:6px;color:#6f8290;border:1px dashed #c9d9df;border-radius:10px;background:#f7fafb;font-size:.76rem;font-weight:750; }

body.tc-app-body .tc-station-documents-page { width:min(100%,1260px);margin-inline:auto; }
body.tc-app-body .tc-station-document-create { overflow:hidden; }
body.tc-app-body .tc-station-document-form { display:grid;padding:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
body.tc-app-body .tc-station-document-form > div { min-width:0; }
body.tc-app-body .tc-station-document-form label:not(.tc-switch-line) { display:block;margin-bottom:6px;color:#355267;font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase; }
body.tc-app-body .tc-station-document-form small { display:block;margin-top:5px;color:var(--tc-color-muted);font-size:.72rem; }
body.tc-app-body .tc-switch-line { display:flex;min-height:46px;padding:10px 12px;align-items:center;gap:9px;border:1px solid #d6e4e9;border-radius:11px;background:#f7fbfc;cursor:pointer; }
body.tc-app-body .tc-switch-line input { width:19px;height:19px;accent-color:var(--tc-color-cyan-600); }
body.tc-app-body .tc-switch-line span { color:#314e61;font-size:.82rem;font-weight:750; }
body.tc-app-body .tc-station-document-form .tc-form-command { display:flex;padding:13px 0 0;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e0eaee; }
body.tc-app-body .tc-station-document-form .tc-form-command span { color:var(--tc-color-muted);font-size:.76rem; }
body.tc-app-body .tc-station-document-library { display:grid;padding:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f7fafc; }
body.tc-app-body .tc-station-document-card { display:grid;min-width:0;padding:14px;gap:11px;border:1px solid #d6e3e8;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(7,40,58,.045); }
body.tc-app-body .tc-station-document-card.is-enabled { border-left:4px solid var(--tc-color-mint-500); }
body.tc-app-body .tc-station-document-card.is-disabled { border-left:4px solid #9caeb8;opacity:.82; }
body.tc-app-body .tc-station-document-card__identity { display:grid;min-width:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px; }
body.tc-app-body .tc-station-document-card__identity > i { display:grid;width:42px;height:42px;place-items:center;color:#087f97;border-radius:12px;background:#e2f8fa;font-size:1.45rem; }
body.tc-app-body .tc-station-document-card__identity span,
body.tc-app-body .tc-station-document-card__identity strong,
body.tc-app-body .tc-station-document-card__identity small { display:block;min-width:0; }
body.tc-app-body .tc-station-document-card__identity span { color:var(--tc-color-cyan-600);font-size:.65rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase; }
body.tc-app-body .tc-station-document-card__identity strong { margin-top:2px;overflow-wrap:anywhere;color:var(--tc-color-ink);font-size:.9rem; }
body.tc-app-body .tc-station-document-card__identity small { margin-top:2px;color:var(--tc-color-muted);font-size:.7rem; }
body.tc-app-body .tc-station-document-card details { overflow:hidden;border:1px solid #dce8ed;border-radius:10px;background:#fbfdfe; }
body.tc-app-body .tc-station-document-card details > summary { display:flex;padding:10px 12px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:#355469;font-size:.76rem;font-weight:800; }
body.tc-app-body .tc-station-document-card details > summary::-webkit-details-marker { display:none; }
body.tc-app-body .tc-station-document-card details[open] > summary { border-bottom:1px solid #dde8ed;background:#edf8fa; }
body.tc-app-body .tc-station-document-card details[open] > summary i { transform:rotate(180deg); }
body.tc-app-body .tc-station-document-card details .tc-station-document-form { padding:12px; }
body.tc-app-body .tc-station-document-card > form:last-child { display:flex;justify-content:flex-end; }

@media (max-width: 575.98px) {
  body.tc-app-body .tc-consumable-accordion__head { align-items: flex-start; padding: 15px; }
  body.tc-app-body .tc-consumable-accordion__head p { display: none; }
  body.tc-app-body .tc-consumable-disclosure summary { min-height: 58px; padding: 10px 12px; }
  body.tc-app-body .tc-consumable-disclosure__body { padding: 8px; }
  body.tc-app-body .tc-station-document-actions { width:100%;justify-content:flex-start; }
  body.tc-app-body .tc-station-document-link span,
  body.tc-app-body .tc-station-document-manage span { display:none; }
  body.tc-app-body .tc-station-document-form,
  body.tc-app-body .tc-station-document-library { grid-template-columns:1fr; }
  body.tc-app-body .tc-station-document-form .tc-span-2 { grid-column:1; }
  body.tc-app-body .tc-station-document-card__identity { grid-template-columns:38px minmax(0,1fr); }
  body.tc-app-body .tc-station-document-card__identity > .btn { grid-column:1/-1; }
}

@media (max-width: 991.98px) {
  body.tc-app-body .tc-station-document-library { grid-template-columns:1fr; }
}

body.tc-app-body .btn-primary {
  color: #fff;
  border-color: var(--tc-color-cyan-600);
  background: linear-gradient(135deg, var(--tc-color-cyan-600), var(--tc-color-cyan-500));
  box-shadow: 0 8px 18px rgba(0, 136, 163, .2);
}
body.tc-app-body .btn-success { color: #fff; border-color: var(--tc-color-mint-600); background: var(--tc-color-mint-600); }
body.tc-app-body .btn-danger { color: #fff; border-color: var(--tc-color-danger); background: var(--tc-color-danger); }
body.tc-app-body .btn-label-primary,
body.tc-app-body .btn-label-info { color: #08778e; background: var(--tc-color-cyan-100); }

body.tc-app-body table.table thead th,
body.tc-app-body table.dataTable thead th,
body.tc-app-body .mdl-data-table thead th {
  color: #edf8fc;
  border-color: rgba(255, 255, 255, .08);
  background: var(--tc-color-navy-800);
}
body.tc-app-body table.table tbody td,
body.tc-app-body table.dataTable tbody td,
body.tc-app-body .mdl-data-table tbody td { color: #344b5f; border-bottom-color: #e5edf2; }
body.tc-app-body table.table tbody tr:nth-child(even),
body.tc-app-body table.dataTable tbody tr:nth-child(even) { background: #f8fbfc; }
body.tc-app-body table.table tbody tr:hover,
body.tc-app-body table.dataTable tbody tr:hover { background: #eaf8fa; }
body.tc-app-body .tc-dt-toolbar,
body.tc-app-body .tc-dt-footer,
body.tc-app-body .tc-table-commandbar { color: var(--tc-color-ink); border-color: var(--tc-color-line); background: #fbfdfe; }

body.tc-app-body .tc-command-hero,
body.tc-app-body .tc-pack-hero,
body.tc-app-body .tc-report-hero,
body.tc-app-body .tc-dispatch-hero {
  color: #eaf9fd;
  border-color: rgba(69, 213, 230, .2);
  background: radial-gradient(circle at 87% 0, rgba(22, 185, 133, .17), transparent 18rem), linear-gradient(120deg, var(--tc-color-navy-950), var(--tc-color-navy-800) 66%, #07546a);
}
body.tc-app-body .tc-command-hero h1,
body.tc-app-body .tc-command-hero h2,
body.tc-app-body .tc-pack-hero h1,
body.tc-app-body .tc-report-hero h1,
body.tc-app-body .tc-dispatch-hero h1 { color: #fff; }
body.tc-app-body .tc-command-hero p,
body.tc-app-body .tc-pack-hero p,
body.tc-app-body .tc-report-hero p,
body.tc-app-body .tc-dispatch-hero p { color: #afcad8; }
body.tc-app-body .tc-station-consumption-hero {
  min-height: 178px;
  border: 1px solid rgba(69, 213, 230, .2);
  background: radial-gradient(circle at 91% 22%, rgba(25, 205, 161, .19), transparent 15rem), linear-gradient(116deg, var(--tc-color-navy-950), #08384d 72%, #076c7e);
  box-shadow: 0 18px 40px rgba(5, 31, 49, .16);
}
body.tc-app-body .tc-station-consumption-hero .tc-command-kicker,
body.tc-app-body .tc-station-consumption-hero .tc-pack-tags span { color: #d8f7fb; -webkit-text-fill-color: #d8f7fb; }
body.tc-app-body .tc-station-consumption-hero p { color: #b8d1dc; -webkit-text-fill-color: #b8d1dc; }
body.tc-app-body .tc-station-pack-identity { display: flex; max-width: 720px; margin-top: .65rem; align-items: flex-end; gap: .7rem; }
body.tc-app-body .tc-station-pack-identity > div { min-width: 0; }
body.tc-app-body .tc-station-pack-identity small { display: block; margin-bottom: .22rem; color: #70dcea; -webkit-text-fill-color: #70dcea; font-size: .62rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
body.tc-app-body .tc-station-consumption-hero h1.tc-station-pack-id {
  margin: 0;
  color: #fff;
  -webkit-text-fill-color: #fff;
  font-size: clamp(2rem, 3.25vw, 3rem);
  line-height: 1;
  text-shadow: 0 4px 20px rgba(0, 0, 0, .22);
  overflow-wrap: anywhere;
}
body.tc-app-body .tc-copy-pack-id {
  display: inline-flex;
  min-height: 32px;
  padding: .38rem .58rem;
  align-items: center;
  gap: .3rem;
  color: #c9f7fa;
  border: 1px solid rgba(148, 223, 232, .28);
  border-radius: 9px;
  background: rgba(4, 34, 50, .45);
  font-size: .66rem;
  font-weight: 800;
}
body.tc-app-body .tc-copy-pack-id:hover,
body.tc-app-body .tc-copy-pack-id.is-copied { color: #082f3d; background: #a9f2df; }
body.tc-app-body .tc-station-consumption-page > .tc-pack-kpis > article {
  border-top: 3px solid #77dce5;
  background: linear-gradient(145deg, #fff, #f3fafb);
}
body.tc-app-body .tc-station-consumption-page .tc-check-grid > div { min-height: 76px; padding: .75rem; border-radius: 12px; background: linear-gradient(145deg, #fff, #f7fbfc); }

/* Shared numbered form-section heading: badge, title and supporting copy stay aligned. */
body.tc-app-body .tc-form-section__head {
  display: flex;
  min-width: 0;
  margin: 0 0 1rem;
  align-items: flex-start;
  gap: .75rem;
}
body.tc-app-body .tc-form-section__head > span {
  display: grid;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  margin: 0;
  place-items: center;
  border-radius: 10px;
  color: #07384d;
  background: #dff7f6;
  font-weight: 800;
  line-height: 1;
}
body.tc-app-body .tc-form-section__head > div {
  display: flex;
  min-width: 0;
  padding-top: 1px;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .15rem;
}
body.tc-app-body .tc-form-section__head strong,
body.tc-app-body .tc-form-section__head small {
  display: block;
  margin: 0;
  line-height: 1.35;
}
body.tc-app-body .tc-form-section__head strong { color: var(--tc-color-ink); font-size: .95rem; }
body.tc-app-body .tc-form-section__head small { color: var(--tc-color-muted); font-size: .78rem; }

/* Exact-match Emosense evidence shared by Station 4 and Final Pack details. */
body.tc-app-body .tc-pack-iot-panel{overflow:hidden;border-color:#9cded9;background:linear-gradient(145deg,#fff,#f2fbfb)}
body.tc-app-body .tc-pack-iot-grid{display:grid;padding:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}
body.tc-app-body .tc-pack-iot-grid article{display:grid;min-width:0;padding:.85rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.2rem .65rem;border:1px solid #d2e8e8;border-radius:13px;background:#fff;box-shadow:0 8px 20px rgba(8,69,79,.05)}
body.tc-app-body .tc-pack-iot-grid article.is-primary{border-color:#70d6cd;background:linear-gradient(135deg,#e8fbf8,#fff)}
body.tc-app-body .tc-pack-iot-grid i{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#dff7f4;color:#078d91;font-size:1.2rem}
body.tc-app-body .tc-pack-iot-grid span{color:#6f8792;font-size:.58rem;font-weight:850;text-transform:uppercase}
body.tc-app-body .tc-pack-iot-grid strong{min-width:0;color:#12384a;font-family:"Space Grotesk",sans-serif;font-size:.78rem;overflow-wrap:anywhere}
body.tc-app-body .tc-pack-iot-grid article.is-primary strong{color:#007e88;font-size:clamp(.76rem,1vw,.88rem);letter-spacing:-.025em;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
body.tc-app-body .tc-pack-iot-warning{display:flex;margin:0 1rem 1rem;padding:.7rem .8rem;align-items:flex-start;gap:.5rem;border:1px solid #efca7b;border-radius:10px;background:#fff8e7;color:#78551a;font-size:.65rem;font-weight:700}
body.tc-app-body .tc-pack-iot-warning i{font-size:1.05rem}

body.tc-app-body #loaddynamic .daily-card,
body.tc-app-body .tc-metric,
body.tc-app-body .tc-pack-kpis > div { color: var(--tc-color-ink); border-color: var(--tc-color-line); background: linear-gradient(145deg, #fff, #f5fafb); }
body.tc-app-body #loaddynamic .daily-card .card-header { color: var(--tc-color-ink); background: transparent; }
body.tc-app-body #loaddynamic .daily-card .card-header h1,
body.tc-app-body #loaddynamic .daily-card .card-header h2,
body.tc-app-body #loaddynamic .daily-card .card-header h3,
body.tc-app-body #loaddynamic .daily-card .card-header h4,
body.tc-app-body #loaddynamic .daily-card .card-header h5 { color: var(--tc-color-ink); }
body.tc-app-body #loaddynamic .accordion-button { color: var(--tc-color-ink); background: #fff; }
body.tc-app-body #loaddynamic .accordion-button:not(.collapsed) { color: #08778e; background: #eaf8fa; }

body.tc-app-body .text-primary { color: var(--tc-color-cyan-600); }
body.tc-app-body .text-success { color: var(--tc-color-mint-600); }
body.tc-app-body .bg-primary { color: #fff; background-color: var(--tc-color-cyan-600); }
body.tc-app-body .bg-success { color: #fff; background-color: var(--tc-color-mint-600); }

@media (max-width: 767.98px) {
  body.tc-app-body .tc-page-head,
  body.tc-app-body .tc-legacy-head { border-radius: 16px; }
  body.tc-app-body .tc-command-hero,
  body.tc-app-body .tc-pack-hero,
  body.tc-app-body .tc-report-hero,
  body.tc-app-body .tc-dispatch-hero { border-radius: 16px; }
}

/* Dashboard fragments are returned over Ajax and still carry legacy Bootstrap
   colour utility classes. Background images and text-fill are separate paint
   properties, so this final layer can neutralize those vendor utilities without
   priority escalation or a flash of the old royal-blue/red palette. */
body.tc-app-body #loaddynamic .daily-card {
  overflow: hidden;
  border-left: 3px solid var(--tc-color-cyan-500);
  border-radius: 14px;
}
body.tc-app-body #loaddynamic .daily-card .card-header.bg-primary {
  color: #f4fcff;
  background-image: linear-gradient(120deg, var(--tc-color-navy-800), #07546a);
  -webkit-text-fill-color: #f4fcff;
}
body.tc-app-body #loaddynamic .daily-card .card-footer.bg-danger {
  color: #a23b47;
  border-top: 1px solid #e2e9ee;
  background-image: linear-gradient(#f3f7f9, #f3f7f9);
  -webkit-text-fill-color: #a23b47;
}
body.tc-app-body #loaddynamic .daily-card .card-footer.bg-danger * {
  color: #a23b47;
  -webkit-text-fill-color: #a23b47;
}
body.tc-app-body #loaddynamic .accordion-button.bg-primary,
body.tc-app-body #loaddynamic .accordion-button .card-header.bg-primary,
body.tc-app-body #loaddynamic > .card .card-header.bg-primary {
  color: #f1fbfe;
  background-image: linear-gradient(110deg, var(--tc-color-navy-800), #08778e);
  -webkit-text-fill-color: #f1fbfe;
}
body.tc-app-body #loaddynamic .accordion-button.bg-primary * {
  color: #f1fbfe;
  -webkit-text-fill-color: #f1fbfe;
}

/* Dashboard status tiles use application-owned semantic classes so Bootstrap
   cannot reintroduce the legacy royal-blue/red palette. */
body.tc-app-body #loaddynamic .tc-dashboard-accent {
  color: #f3fcff;
  border-color: rgba(82, 218, 232, .16);
  background: linear-gradient(122deg, var(--tc-color-navy-900), #07566b);
  -webkit-text-fill-color: #f3fcff;
}
body.tc-app-body #loaddynamic .tc-dashboard-accent * {
  color: #f3fcff;
  -webkit-text-fill-color: #f3fcff;
}
body.tc-app-body #loaddynamic .tc-dashboard-rework {
  color: #8d3a45;
  border-top: 1px solid #e6edf1;
  background: linear-gradient(90deg, #f8fafb, #f2f6f8);
  -webkit-text-fill-color: #8d3a45;
}
body.tc-app-body #loaddynamic .tc-dashboard-rework * {
  color: #8d3a45;
  -webkit-text-fill-color: #8d3a45;
}

/* Stage labels are intentionally light-surface components. They do not use
   Bootstrap text utilities, so the label remains legible even when a vendor
   colour utility or a cached legacy dashboard fragment is present. */
body.tc-app-body #loaddynamic .daily-card .tc-stage-card-label {
  min-height: 46px;
  margin: 0;
  padding: 13px 16px 9px 19px;
  color: #12364a;
  border-bottom: 1px solid #d8eaf0;
  background-color: #ecf8fa;
  background-image: linear-gradient(120deg, #e7f7f9, #f5fbfc);
  -webkit-text-fill-color: #12364a;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .055em;
  text-align: left;
  text-transform: uppercase;
}

body.tc-app-body #loaddynamic .daily-card:hover .tc-stage-card-label {
  color: #07566b;
  background-image: linear-gradient(120deg, #ddf5f7, #eefaf7);
  -webkit-text-fill-color: #07566b;
}

body.tc-app-body #loaddynamic .daily-card[data-target]::after { content:"T:" attr(data-target); position:absolute; top:10px; right:10px; z-index:2; padding:3px 7px; border:1px solid #bee3e8; border-radius:999px; color:#076779; background:#e8f8fa; font-size:.64rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }

body.tc-app-body #loaddynamic .tc-flash-news-bar { display:grid; min-height:52px; margin-bottom:.75rem; overflow:hidden; border:1px solid #bcdde4; border-radius:14px; background:linear-gradient(110deg,#fff,#f2fbfc); box-shadow:0 8px 22px rgba(11,57,72,.07); grid-template-columns:max-content 1fr max-content; align-items:stretch; }
body.tc-app-body #loaddynamic .tc-flash-news-label { display:flex; padding:0 16px; color:#fff; background:linear-gradient(130deg,#063148,#087d8b); align-items:center; gap:8px; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
body.tc-app-body #loaddynamic .tc-flash-news-label i { color:#63f0df; font-size:19px; }
body.tc-app-body #loaddynamic .tc-flash-news-viewport { display:flex; min-width:0; overflow-x:auto; scrollbar-width:none; align-items:center; }
body.tc-app-body #loaddynamic .tc-flash-news-viewport::-webkit-scrollbar { display:none; }
body.tc-app-body #loaddynamic .tc-flash-news-item { position:relative; display:flex; min-width:max-content; padding:10px 20px 10px 24px; color:#38576a; align-items:center; gap:10px; font-size:.78rem; }
body.tc-app-body #loaddynamic .tc-flash-news-item + .tc-flash-news-item { border-left:1px solid #d4e7eb; }
body.tc-app-body #loaddynamic .tc-flash-news-item::before { position:absolute; left:10px; width:7px; height:7px; border-radius:99px; background:#10a9bb; content:""; box-shadow:0 0 0 4px rgba(16,169,187,.12); }
body.tc-app-body #loaddynamic .tc-flash-news-item strong { color:#0b3045; font-size:.8rem; }
body.tc-app-body #loaddynamic .tc-flash-news-item.tc-flash-tone-success::before { background:#18a86b; }
body.tc-app-body #loaddynamic .tc-flash-news-item.tc-flash-tone-warning::before { background:#e39a16; }
body.tc-app-body #loaddynamic .tc-flash-news-item.tc-flash-tone-critical::before { background:#db4d5c; }
body.tc-app-body #loaddynamic .tc-flash-news-manage { display:grid; width:48px; color:#076779; border-left:1px solid #d0e6ea; background:#edf9fa; place-items:center; font-size:18px; }

/* Dashboard-only accordion contract. Both expanded and collapsed report
   headings use the same high-contrast surface; Bootstrap's active accordion
   background must not turn light while the heading text remains white. */
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent,
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent.collapsed,
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent:not(.collapsed) {
  color: #f4fcff;
  border: 0;
  background-color: #07384b;
  background-image: linear-gradient(112deg,#071d31 0%,#07566b 68%,#087d8a 100%);
  -webkit-text-fill-color: #f4fcff;
  box-shadow: none;
}
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent:hover,
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent:focus {
  color: #fff;
  background-image: linear-gradient(112deg,#0a263b 0%,#08677a 68%,#0b8e98 100%);
  -webkit-text-fill-color: #fff;
  box-shadow: inset 0 0 0 1px rgba(113,231,237,.25);
}
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent::after {
  filter: brightness(0) invert(1);
  opacity: .8;
}
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent .card-header,
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-button.tc-dashboard-accent .card-header h5 {
  width: 100%;
  color: #f4fcff;
  background: transparent;
  -webkit-text-fill-color: #f4fcff;
}
body.tc-app-body #loaddynamic .tc-dashboard-accordion .accordion-item {
  border-color: #cbdde5;
  background: #fff;
}
body.tc-app-body #loaddynamic .tc-dashboard-table-wrap {
  border: 1px solid #d9e6eb;
  border-radius: 12px;
  background: #fff;
}

/* Stable card grid avoids nested Bootstrap row gutters and keeps every stage
   tile on the same clean surface at each responsive breakpoint. */
body.tc-app-body #loaddynamic .tc-dashboard-stage-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 14px;
  padding: 14px;
  border: 1px solid #d8e7ed;
  border-radius: 18px;
  background: #eef6f8;
}
body.tc-app-body #loaddynamic .tc-dashboard-stage-grid > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}
body.tc-app-body #loaddynamic .tc-dashboard-stage-grid .daily-card {
  background-color: #fff;
  background-image: linear-gradient(145deg,#fff,#f7fbfc);
}
body.tc-app-body #loaddynamic .daily-card[data-target] .tc-stage-card-label { padding-right: 54px; }

body.tc-app-body #loaddynamic .tc-pack-status-header { display:grid; padding:14px 16px; color:#f4fcff; background:linear-gradient(112deg,#071d31 0%,#07566b 68%,#087d8a 100%); grid-template-columns:minmax(190px,1fr) auto; align-items:center; gap:14px; }
body.tc-app-body #loaddynamic .tc-pack-status-title { display:flex; min-width:0; flex-wrap:wrap; align-items:baseline; gap:5px 10px; }
body.tc-app-body #loaddynamic .tc-pack-status-title .tc-eyebrow { width:100%; color:#6ce8ec; }
body.tc-app-body #loaddynamic .tc-pack-status-title h5 { margin:0; color:#fff; font-size:1rem; }
body.tc-app-body #loaddynamic .tc-pack-status-title small { color:#b8dbe3; font-size:.7rem; }
body.tc-app-body #loaddynamic .tc-pack-status-filter { display:grid; grid-template-columns:auto repeat(2,minmax(170px,180px)) auto; align-items:end; justify-content:end; gap:8px; }
body.tc-app-body #loaddynamic .tc-pack-status-presets { display:flex; width:max-content; height:46px; padding:3px; align-self:end; align-items:stretch; border:1px solid rgba(139,227,233,.25); border-radius:11px; background:rgba(1,22,35,.24); gap:2px; }
body.tc-app-body #loaddynamic .tc-pack-status-presets button { min-width:54px; height:38px; padding:0 9px; color:#d7f3f5; border:0; border-radius:8px; background:transparent; -webkit-text-fill-color:#d7f3f5; font-size:.66rem; font-weight:800; line-height:1; text-transform:uppercase; }
body.tc-app-body #loaddynamic .tc-pack-status-presets button:hover,
body.tc-app-body #loaddynamic .tc-pack-status-presets button.active { color:#062f43; background:#72e3e5; -webkit-text-fill-color:#062f43; }
body.tc-app-body #loaddynamic .tc-pack-status-filter label { display:grid; min-width:0; margin:0; color:#b8dbe3; gap:5px; font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
body.tc-app-body #loaddynamic .tc-pack-status-filter label > span { min-height:12px; line-height:12px; }
body.tc-app-body #loaddynamic .tc-pack-status-filter input { width:100%; min-width:0; height:44px; margin:0; padding:0 12px; color:#11374a; border:1px solid #abd7dc; border-radius:11px; background:#f8fdfe; -webkit-text-fill-color:#11374a; font-size:.7rem; }
body.tc-app-body #loaddynamic .tc-pack-status-filter .tc-premium-date-control { width:100%; height:46px; margin:0; }
body.tc-app-body #loaddynamic .tc-pack-status-filter .tc-premium-date-display { height:44px; }
body.tc-app-body #loaddynamic .tc-pack-status-apply { display:flex; min-width:88px; height:46px; margin:0; padding:0 14px; align-self:end; justify-content:center; color:#073649; border:0; border-radius:11px; background:#61dce1; -webkit-text-fill-color:#073649; align-items:center; gap:5px; font-size:.68rem; font-weight:850; line-height:1; text-transform:uppercase; }
body.tc-app-body #loaddynamic .tc-pack-status-apply * { color:#073649; -webkit-text-fill-color:#073649; }
body.tc-app-body .tc-flash-admin-card { padding:14px; border:1px solid #d2e3e8; border-left:4px solid #10a9bb; border-radius:14px; background:#fbfdfe; }
body.tc-app-body .tc-flash-admin-card.tc-flash-tone-success { border-left-color:#18a86b; }
body.tc-app-body .tc-flash-admin-card.tc-flash-tone-warning { border-left-color:#e39a16; }
body.tc-app-body .tc-flash-admin-card.tc-flash-tone-critical { border-left-color:#db4d5c; }
@media (max-width:1199.98px) { body.tc-app-body #loaddynamic .tc-pack-status-header { grid-template-columns:1fr; } body.tc-app-body #loaddynamic .tc-pack-status-filter { justify-content:start; } }
@media (max-width:767.98px) { body.tc-app-body #loaddynamic .tc-flash-news-bar { grid-template-columns:1fr max-content; } body.tc-app-body #loaddynamic .tc-flash-news-label { grid-column:1/-1; min-height:34px; } body.tc-app-body #loaddynamic .tc-pack-status-filter { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; align-items:end; } body.tc-app-body #loaddynamic .tc-pack-status-presets { grid-column:1/-1; width:100%; overflow-x:auto; } body.tc-app-body #loaddynamic .tc-pack-status-presets button { flex:1 0 58px; } body.tc-app-body #loaddynamic .tc-pack-status-apply { width:100%; } }
@media (max-width:479.98px) { body.tc-app-body #loaddynamic .tc-pack-status-filter { grid-template-columns:1fr; } body.tc-app-body #loaddynamic .tc-pack-status-presets { grid-column:auto; } }
@media (max-width: 1399.98px) { body.tc-app-body #loaddynamic .tc-dashboard-stage-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 991.98px) { body.tc-app-body #loaddynamic .tc-dashboard-stage-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 767.98px) { body.tc-app-body #loaddynamic .tc-dashboard-stage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 10px; gap: 10px; } }
@media (max-width: 479.98px) { body.tc-app-body #loaddynamic .tc-dashboard-stage-grid { grid-template-columns: 1fr; } }

body.tc-app-body .tc-pack-remark-timeline { display: grid; padding: 0 14px 14px; gap: 9px; }
body.tc-app-body .tc-pack-remark-timeline article { display: grid; padding: 13px; border: 1px solid var(--tc-color-line); border-radius: 13px; background: #fbfdfe; grid-template-columns: max-content 1fr; gap: 12px; }
body.tc-app-body .tc-pack-remark-timeline p { margin: 0 0 4px; color: var(--tc-color-ink); white-space: pre-wrap; }
body.tc-app-body .tc-pack-remark-timeline small { color: var(--tc-color-muted); }
body.tc-app-body .tc-report-catalogue { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
body.tc-app-body .tc-report-catalogue > a { display: grid; min-height: 116px; padding: 15px; color: var(--tc-color-ink); border: 1px solid var(--tc-color-line); border-radius: 16px; background: linear-gradient(145deg,#fff,#f3fafb); box-shadow: var(--tc-color-shadow); grid-template-columns: 34px 1fr 20px; align-items: start; gap: 10px; transition: transform .18s ease,border-color .18s ease; }
body.tc-app-body .tc-report-catalogue > a:hover { color: var(--tc-color-ink); border-color: #84dce5; transform: translateY(-2px); }
body.tc-app-body .tc-report-catalogue > a > i:first-child { display: grid; width: 34px; height: 34px; color: #08778e; border-radius: 10px; background: #dff6f8; place-items: center; font-size: 19px; }
body.tc-app-body .tc-report-catalogue span { display: flex; flex-direction: column; gap: 4px; }
body.tc-app-body .tc-report-catalogue strong { font-size: 13px; }
body.tc-app-body .tc-report-catalogue small { color: var(--tc-color-muted); font-size: 10px; line-height: 1.45; }
@media (max-width: 991.98px) { body.tc-app-body .tc-report-catalogue { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 575.98px) { body.tc-app-body .tc-report-catalogue { grid-template-columns: 1fr; } }
body.tc-app-body .tc-iteration-explainer { display: grid; margin: 14px 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
body.tc-app-body .tc-iteration-explainer article { display: grid; padding: 14px; border: 1px solid var(--tc-color-line); border-radius: 14px; background: #fff; grid-template-columns: 34px 1fr; gap: 10px; }
body.tc-app-body .tc-iteration-explainer article > span { display: grid; width: 32px; height: 32px; color: #08778e; border-radius: 10px; background: #e2f7f8; font-weight: 850; place-items: center; }
body.tc-app-body .tc-iteration-explainer article div { display: flex; flex-direction: column; gap: 4px; }
body.tc-app-body .tc-iteration-explainer strong { color: var(--tc-color-ink); font-size: 12px; }
body.tc-app-body .tc-iteration-explainer small { color: var(--tc-color-muted); font-size: 10px; line-height: 1.45; }
@media (max-width: 767.98px) { body.tc-app-body .tc-iteration-explainer { grid-template-columns: 1fr; } }

body.tc-app-body .tc-lot-trace-hero {
  color: #eaf9fd;
  border: 1px solid rgba(72, 211, 227, .2);
  background: radial-gradient(circle at 88% 18%, rgba(41, 210, 155, .22), transparent 16rem), linear-gradient(120deg, var(--tc-color-navy-950), #083d53 72%, #08778e);
}
body.tc-app-body .tc-lot-trace-hero h1 { color: #fff; }
body.tc-app-body .tc-lot-trace-hero p { color: #b8d1dc; }
body.tc-app-body .tc-control-badge {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .65rem .85rem;
  color: #c7fff0;
  border: 1px solid rgba(112, 242, 199, .3);
  border-radius: 999px;
  background: rgba(4, 36, 53, .48);
  white-space: nowrap;
}
body.tc-app-body .tc-trace-wizard { padding: 1rem; }
body.tc-app-body .tc-trace-wizard {
  position: relative;
  overflow: visible;
  padding: 0;
}
body.tc-app-body .tc-trace-wizard__head {
  display: flex;
  min-height: 76px;
  padding: 1rem 1.1rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--tc-color-line);
  border-radius: 17px 17px 0 0;
  background: linear-gradient(120deg, #fbfeff, #eff9fa);
}
body.tc-app-body .tc-trace-wizard__head h5 { margin: .12rem 0 .2rem; color: var(--tc-color-ink); font-size: 1rem; }
body.tc-app-body .tc-trace-wizard__head p { max-width: 760px; margin: 0; color: var(--tc-color-muted); font-size: .74rem; line-height: 1.45; }
body.tc-app-body .tc-trace-wizard__status {
  display: inline-flex;
  min-width: max-content;
  padding: .48rem .68rem;
  align-items: center;
  gap: .38rem;
  color: #08778e;
  border: 1px solid #bce6eb;
  border-radius: 999px;
  background: #effbfc;
  font-size: .7rem;
  font-weight: 800;
}
body.tc-app-body .tc-trace-form {
  display: grid;
  padding: 1rem;
  grid-template-columns: minmax(260px, 1.25fr) minmax(320px, 1.55fr) minmax(190px, .7fr) auto;
  align-items: stretch;
  gap: .8rem;
}
body.tc-app-body .tc-trace-field {
  position: relative;
  min-width: 0;
  padding: .78rem;
  border: 1px solid #d7e5eb;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f7fbfc);
  box-shadow: 0 8px 22px rgba(8, 35, 56, .055);
}
body.tc-app-body .tc-trace-field__title {
  display: grid;
  min-height: 39px;
  margin-bottom: .55rem;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
}
body.tc-app-body .tc-trace-field__title > span {
  display: grid;
  width: 30px;
  height: 30px;
  color: #fff;
  border-radius: 9px;
  background: linear-gradient(145deg, var(--tc-color-cyan-600), var(--tc-color-mint-600));
  box-shadow: 0 5px 12px rgba(0, 150, 175, .2);
  font-size: .72rem;
  font-weight: 850;
  place-items: center;
}
body.tc-app-body .tc-trace-field__title label,
body.tc-app-body .tc-trace-field__title small { display: block; margin: 0; }
body.tc-app-body .tc-trace-field__title label { color: var(--tc-color-ink); font-size: .76rem; font-weight: 800; }
body.tc-app-body .tc-trace-field__title small { margin-top: .08rem; color: var(--tc-color-muted); font-size: .62rem; line-height: 1.35; }
body.tc-app-body .tc-trace-form__actions {
  display: flex;
  min-width: 132px;
  align-items: stretch;
  justify-content: flex-end;
  flex-direction: column;
  gap: .45rem;
}
body.tc-app-body .tc-trace-form__actions .btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .38rem; white-space: nowrap; }

/* Select2 emits a sibling container and retains its source select for form
   submission. Keep the source accessibly hidden and give the emitted control a
   page-owned geometry so global form themes cannot paint both controls. */
body.tc-app-body .tc-trace-form .select2-hidden-accessible {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}
body.tc-app-body .tc-trace-field > .select2-container { display: block; width: 100%; max-width: 100%; }
body.tc-app-body .tc-trace-form .select2-container .selection { display: block; width: 100%; }
body.tc-app-body .tc-trace-form .select2-container--default .select2-selection--single,
body.tc-app-body .tc-trace-form .select2-container--default .select2-selection--multiple {
  display: flex;
  width: 100%;
  min-height: 46px;
  padding: .4rem .7rem;
  align-items: center;
  color: var(--tc-color-ink);
  border: 1px solid #c8d8e2;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
body.tc-app-body .tc-trace-form .select2-container--default.select2-container--focus .select2-selection,
body.tc-app-body .tc-trace-form .select2-container--default.select2-container--open .select2-selection {
  border-color: var(--tc-color-cyan-500);
  box-shadow: 0 0 0 4px rgba(0, 166, 196, .1);
}
body.tc-app-body .tc-trace-form .select2-selection--single .select2-selection__rendered {
  width: calc(100% - 24px);
  padding: 0;
  color: var(--tc-color-ink);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.tc-app-body .tc-trace-form .select2-selection--single .select2-selection__arrow { top: 50%; right: .5rem; transform: translateY(-50%); }
body.tc-app-body .tc-trace-form .select2-selection--multiple { max-height: 92px; align-items: flex-start; overflow-y: auto; }
body.tc-app-body .tc-trace-form .select2-selection--multiple .select2-selection__rendered {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
}
body.tc-app-body .tc-trace-form .select2-selection--multiple .select2-selection__choice {
  margin: 0;
  padding: .27rem .48rem .27rem 1.35rem;
  color: #075d6c;
  border: 1px solid #b8e5e9;
  border-radius: 8px;
  background: #eaf8fa;
  font-size: .68rem;
}
body.tc-app-body .tc-trace-form .select2-selection--multiple .select2-selection__choice__remove { top: .22rem; left: .35rem; color: #5b7e87; }
body.tc-app-body .tc-trace-form .select2-search--inline .select2-search__field { min-width: 160px; min-height: 30px; margin: 0; }
body.tc-app-body #material-lot-filter-card > .select2-container { z-index: 1200; }
body.tc-app-body #material-lot-filter-card .select2-dropdown { border-color: #bcd8e2; border-radius: 10px; box-shadow: 0 16px 36px rgba(5, 31, 49, .16); }
body.tc-app-body #material-lot-filter-card .select2-results__option { padding: .55rem .7rem; color: #27475b; font-size: .72rem; line-height: 1.4; }

body.tc-app-body .tc-trace-onboarding {
  display: grid;
  min-height: 250px;
  margin-top: 1rem;
  padding: 1.2rem;
  grid-template-columns: minmax(250px, .8fr) minmax(0, 1.7fr);
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--tc-color-line);
  border-radius: 17px;
  background: radial-gradient(circle at 92% 5%, rgba(0, 177, 199, .1), transparent 18rem), linear-gradient(145deg, #fff, #f4fafb);
  box-shadow: var(--tc-color-shadow);
}
body.tc-app-body .tc-trace-onboarding__intro { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: .8rem; }
body.tc-app-body .tc-trace-onboarding__intro > i { display: grid; width: 48px; height: 48px; color: #08778e; border-radius: 14px; background: #dff6f8; font-size: 1.5rem; place-items: center; }
body.tc-app-body .tc-trace-onboarding__intro h5 { margin: .15rem 0 .3rem; color: var(--tc-color-ink); }
body.tc-app-body .tc-trace-onboarding__intro p { margin: 0; color: var(--tc-color-muted); font-size: .72rem; line-height: 1.5; }
body.tc-app-body .tc-trace-onboarding__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
body.tc-app-body .tc-trace-onboarding__steps article { display: grid; min-height: 135px; padding: .85rem; grid-template-columns: 1fr auto; align-content: start; gap: .28rem; border: 1px solid #dce8ed; border-radius: 14px; background: rgba(255,255,255,.9); }
body.tc-app-body .tc-trace-onboarding__steps article > span { color: #87a1af; font-size: .62rem; font-weight: 850; letter-spacing: .1em; }
body.tc-app-body .tc-trace-onboarding__steps article > i { color: #0c98a9; font-size: 1.25rem; }
body.tc-app-body .tc-trace-onboarding__steps strong,
body.tc-app-body .tc-trace-onboarding__steps small { grid-column: 1 / -1; }
body.tc-app-body .tc-trace-onboarding__steps strong { margin-top: .3rem; color: var(--tc-color-ink); font-size: .76rem; }
body.tc-app-body .tc-trace-onboarding__steps small { color: var(--tc-color-muted); font-size: .65rem; line-height: 1.45; }
body.tc-app-body .tc-trace-table-wrap { min-height: 148px; }
body.tc-app-body .tc-trace-zero { display: flex; min-height: 116px; padding: 1rem; align-items: center; justify-content: center; gap: .7rem; color: var(--tc-color-muted); text-align: left; }
body.tc-app-body .tc-trace-zero > i { color: #8ca4b1; font-size: 1.65rem; }
body.tc-app-body .tc-trace-zero strong,
body.tc-app-body .tc-trace-zero span { display: block; }
body.tc-app-body .tc-trace-zero strong { color: var(--tc-color-ink); font-size: .78rem; }
body.tc-app-body .tc-trace-zero span { margin-top: .15rem; font-size: .68rem; }
body.tc-app-body .tc-trace-steps {
  display: grid;
  grid-template-columns: minmax(250px, 1.7fr) minmax(260px, 1.7fr) minmax(190px, .8fr) auto;
  gap: .9rem;
  align-items: end;
}
body.tc-app-body .tc-trace-steps > div {
  position: relative;
  padding: .75rem .8rem .8rem 3.15rem;
  border: 1px solid var(--tc-color-line);
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f7fbfc);
  box-shadow: 0 8px 24px rgba(8, 35, 56, .06);
}
body.tc-app-body .tc-trace-steps > div > span {
  position: absolute;
  top: .8rem;
  left: .75rem;
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  color: #fff;
  border-radius: 9px;
  background: linear-gradient(145deg, var(--tc-color-cyan-600), var(--tc-color-mint-600));
  box-shadow: 0 5px 12px rgba(0, 150, 175, .22);
}
body.tc-app-body .tc-trace-steps label {
  display: block;
  margin-bottom: .35rem;
  color: var(--tc-color-ink);
  font-weight: 700;
}
body.tc-app-body .tc-trace-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
  margin: 1rem 0;
}
body.tc-app-body .tc-trace-kpis article {
  position: relative;
  overflow: hidden;
  padding: 1rem;
  border: 1px solid var(--tc-color-line);
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #f3fafb);
  box-shadow: 0 12px 32px rgba(9, 42, 63, .08);
}
body.tc-app-body .tc-trace-kpis article::after {
  content: '';
  position: absolute;
  right: -24px;
  bottom: -28px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(23, 190, 169, .09);
}
body.tc-app-body .tc-trace-kpis span,
body.tc-app-body .tc-trace-kpis small { display: block; color: var(--tc-color-muted); }
body.tc-app-body .tc-trace-kpis strong { display: block; margin: .2rem 0; color: var(--tc-color-ink); font-size: 1.4rem; }
body.tc-app-body .tc-material-type.is-trace { color: #08778e; background: #e8f8fa; }

/* Compact Final Pack command bar: primary date controls, advanced popover and
   DataTables actions remain in one physical row at desktop widths. */
body.tc-app-body .tc-finalpack-register .tc-table-commandbar {
  min-height: 54px;
  padding: .45rem .55rem;
  align-items: flex-end;
  overflow: visible;
}
body.tc-app-body .tc-finalpack-register .tc-table-commandbar__filters { align-items: flex-end; }
body.tc-app-body .tc-finalpack-register .tc-finalpack-filter-field { width: 132px; min-width: 132px; }
body.tc-app-body .tc-finalpack-register .tc-finalpack-range-field { width: 122px; min-width: 122px; }
body.tc-app-body .tc-finalpack-register .tc-finalpack-filter-field .form-control,
body.tc-app-body .tc-finalpack-register .tc-finalpack-filter-field .form-select { height: 34px; min-height: 34px; padding: .3rem .5rem; }
body.tc-app-body .tc-table-commandbar__datatable { min-width: 0; margin-left: auto; }
body.tc-app-body .tc-finalpack-register .tc-table-commandbar__datatable .tc-dt-toolbar {
  width: auto;
  min-width: max-content;
  min-height: 36px;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}
body.tc-app-body .tc-filter-popover { position: relative; flex: 0 0 auto; }
body.tc-app-body .tc-filter-popover summary {
  display: flex;
  min-height: 34px;
  padding: .38rem .62rem;
  align-items: center;
  color: var(--tc-color-ink);
  border: 1px solid #c8d8e2;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}
body.tc-app-body .tc-filter-popover summary::-webkit-details-marker { display: none; }
body.tc-app-body .tc-filter-popover__panel {
  position: absolute;
  z-index: 1100;
  top: calc(100% + .45rem);
  left: 0;
  display: grid;
  width: min(620px, calc(100vw - 2rem));
  padding: .8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  border: 1px solid var(--tc-color-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(5, 31, 49, .18);
}
body.tc-app-body .tc-filter-popover__panel label { display: block; margin-bottom: .25rem; color: var(--tc-color-muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; }
body.tc-app-body .tc-cell-count { display: inline-flex; min-width: 58px; padding: .35rem .48rem; align-items: baseline; justify-content: center; gap: .25rem; color: #08778e; border: 1px solid #bce7ed; border-radius: 9px; background: #effbfc; }
body.tc-app-body .tc-cell-count strong { font-size: .95rem; }
body.tc-app-body .tc-cell-count span { font-size: .66rem; font-weight: 700; text-transform: uppercase; }

/* Unified asynchronous state for long queries and server-side tables. */
body.tc-app-body .tc-async-host { position: relative; }
body.tc-app-body .tc-async-loader {
  position: relative;
  display: none;
  overflow: hidden;
  padding: .85rem;
  color: var(--tc-color-ink);
  border-bottom: 1px solid var(--tc-color-line);
  background: rgba(248, 252, 253, .97);
}
body.tc-app-body .tc-async-loader.is-active { display: block; }
body.tc-app-body .tc-async-loader__progress { position: absolute; top: 0; right: 0; left: 0; height: 3px; overflow: hidden; background: #dcebed; }
body.tc-app-body .tc-async-loader__progress span { display: block; width: 38%; height: 100%; background: linear-gradient(90deg, var(--tc-color-cyan-600), var(--tc-color-mint-500)); animation: tc-progress-scan 1.15s ease-in-out infinite; }
body.tc-app-body .tc-async-loader__message { display: flex; margin-bottom: .7rem; align-items: center; gap: .45rem; color: #335064; font-size: .78rem; font-weight: 750; }
body.tc-app-body .tc-async-loader.is-error { color: var(--tc-color-danger); background: #fff5f6; }
body.tc-app-body .tc-async-loader.is-error .tc-async-loader__message { color: var(--tc-color-danger); }
body.tc-app-body .tc-table-shimmer { display: grid; gap: .38rem; }
body.tc-app-body .tc-table-shimmer span { height: 34px; border-radius: 7px; background: linear-gradient(90deg, #e8eff2 20%, #f8fbfc 42%, #e8eff2 64%); background-size: 240% 100%; animation: tc-shimmer-row 1.25s ease infinite; }
body.tc-app-body .tc-trace-loader { margin-top: .8rem; border: 1px solid var(--tc-color-line); border-radius: 13px; }
body.tc-app-body .tc-trace-kpis { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
@keyframes tc-progress-scan { 0% { transform: translateX(-110%); } 100% { transform: translateX(310%); } }
@keyframes tc-shimmer-row { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }

@media (max-width: 1199.98px) {
  body.tc-app-body .tc-trace-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tc-app-body .tc-trace-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tc-app-body .tc-trace-form__actions { min-width: 0; flex-direction: row; justify-content: flex-start; }
  body.tc-app-body .tc-trace-form__actions .btn { min-width: 132px; }
  body.tc-app-body .tc-trace-onboarding { grid-template-columns: 1fr; }
  body.tc-app-body .tc-finalpack-register .tc-table-commandbar { overflow-x: auto; overflow-y: visible; }
}
@media (max-width: 767.98px) {
  body.tc-app-body .tc-trace-steps,
  body.tc-app-body .tc-trace-kpis { grid-template-columns: 1fr; }
  body.tc-app-body .tc-trace-wizard__head { align-items: flex-start; flex-direction: column; }
  body.tc-app-body .tc-trace-wizard__status { min-width: 0; }
  body.tc-app-body .tc-trace-form { grid-template-columns: 1fr; }
  body.tc-app-body .tc-trace-form__actions { flex-wrap: wrap; }
  body.tc-app-body .tc-trace-form__actions .btn { flex: 1 1 140px; }
  body.tc-app-body .tc-trace-onboarding__steps { grid-template-columns: 1fr; }
  body.tc-app-body .tc-trace-onboarding__steps article { min-height: auto; }
  body.tc-app-body .tc-station-pack-identity { align-items: flex-start; flex-direction: column; }
  body.tc-app-body .tc-control-badge { white-space: normal; }
  body.tc-app-body .tc-finalpack-register .tc-table-commandbar { align-items: flex-end; overflow-x: auto; }
  body.tc-app-body .tc-filter-popover__panel { position: fixed; top: 6rem; right: 1rem; left: 1rem; width: auto; grid-template-columns: 1fr; }
}
/* Standard Quality Reports and Pack Lifecycle */
.tc-quality-report-hero,.tc-lifecycle-hero{background:linear-gradient(125deg,#06192b 0%,#0a4050 64%,#078e98 100%);color:#fff;border:0;overflow:hidden}
.tc-quality-report-hero h1,.tc-quality-report-hero p,.tc-lifecycle-hero h1,.tc-lifecycle-hero p{color:#fff}
.tc-quality-report-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.tc-quality-hero-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tc-quality-hero-stats span{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(3,25,40,.24);font-size:11px}.tc-quality-hero-stats strong{font-size:16px;color:#74f3d2}
.tc-quality-catalogue-shell{margin-bottom:18px;padding:18px;border:1px solid #d7e6ec;border-radius:18px;background:linear-gradient(145deg,#fff,#f5fafb);box-shadow:0 14px 34px rgba(17,48,66,.07)}.tc-quality-catalogue-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.tc-quality-catalogue-head h5{margin:3px 0 0;color:#10283c}.tc-quality-catalogue-head>span{color:#6b7f8f;font-size:11px}.tc-quality-catalogue-group+.tc-quality-catalogue-group{margin-top:14px;padding-top:14px;border-top:1px solid #e1ebef}.tc-quality-category{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tc-quality-category span{color:#0a6170;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tc-quality-category small{color:#718492}
.tc-report-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tc-report-card{min-height:132px;padding:15px;border:1px solid #d8e5eb;border-radius:15px;background:#fff;color:#142538;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:start;box-shadow:0 8px 22px rgba(22,55,72,.05);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tc-report-card:hover,.tc-report-card.is-active{transform:translateY(-2px);border-color:#08a7b5;box-shadow:0 14px 30px rgba(5,129,143,.14);color:#0b5362}.tc-report-card.is-active{background:linear-gradient(145deg,#fff,#edfbfc);box-shadow:inset 4px 0 #09aeba,0 14px 30px rgba(5,129,143,.12)}
.tc-report-card>i:first-child{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e8f8fa;color:#078a99;font-size:21px}.tc-report-card span{min-width:0}.tc-report-card strong,.tc-report-card small,.tc-report-card em{display:block}.tc-report-card em{margin-bottom:5px;color:#718492;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.tc-report-card small{margin-top:5px;color:#65788a;line-height:1.35}
.tc-quality-document-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #dfe9ed;background:#f3f9fa}.tc-quality-document-strip>span{padding:11px 15px;border-right:1px solid #dfe9ed}.tc-quality-document-strip>span:last-child{border-right:0}.tc-quality-document-strip small,.tc-quality-document-strip strong{display:block}.tc-quality-document-strip small{color:#708391;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.tc-quality-document-strip strong{margin-top:2px;color:#173149;font-size:11px}.tc-quality-workspace-head{align-items:center}.tc-quality-result-count{padding:10px 13px;border:1px solid #cfe4e8;border-radius:12px;background:#effafb;color:#406071;font-size:11px}.tc-quality-result-count strong{display:block;color:#087e8e;font-size:21px}
.tc-quality-rangebar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 15px;border-top:1px solid #e0e9ed;border-bottom:1px solid #e0e9ed;background:#fafcfd}.tc-quality-rangebar>span{margin-right:3px;color:#536a7b;font-size:10px;font-weight:900;text-transform:uppercase}.tc-quality-rangebar a{padding:6px 10px;border:1px solid #d3e2e7;border-radius:999px;background:#fff;color:#315065;font-size:10px;font-weight:800}.tc-quality-rangebar a:hover{border-color:#08a7b5;background:#eaf9fb;color:#06798a}
.tc-quality-report-filters{display:grid;grid-template-columns:140px 140px 170px minmax(220px,1fr) 90px auto;gap:10px;align-items:end;padding:15px}.tc-quality-report-filters label,.tc-lifecycle-search label{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#52697b;margin-bottom:5px}.tc-quality-report-actions{display:flex;gap:7px}.tc-quality-report-actions .btn{white-space:nowrap}
.tc-quality-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 15px}.tc-quality-report-kpis article{padding:14px 16px;border:1px solid #dce8ed;border-radius:14px;background:linear-gradient(145deg,#fff,#f3fafb)}.tc-quality-report-kpis span{display:block;color:#617687;font-size:10px;text-transform:uppercase;font-weight:800}.tc-quality-report-kpis strong{display:block;color:#10263a;font-size:25px;margin-top:5px}.tc-quality-report-table-wrap{min-height:430px;margin:0 15px 15px;border:1px solid #dce7ec;border-radius:14px;overflow:hidden}.tc-quality-report-empty{min-height:320px}.tc-quality-export-copy{display:flex;align-items:center;gap:9px}.tc-quality-export-copy>i{font-size:24px;color:#07966d}.tc-quality-export-copy strong,.tc-quality-export-copy small{display:block}.tc-quality-export-copy small{max-width:560px;color:#687d8d;font-size:10px}.tc-quality-export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc-lifecycle-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.tc-lifecycle-search .tc-search{min-height:48px}.tc-lifecycle-summary{display:grid;grid-template-columns:minmax(280px,2fr) repeat(7,minmax(120px,1fr));gap:10px;margin:16px 0}.tc-lifecycle-summary article{padding:14px;border:1px solid #d9e6eb;border-radius:15px;background:#fff;min-width:0}.tc-lifecycle-summary article>span{display:block;color:#607587;font-size:10px;font-weight:800;text-transform:uppercase}.tc-lifecycle-summary article>strong{display:block;font-size:21px;color:#0c2639;margin-top:6px;overflow-wrap:anywhere}.tc-lifecycle-summary .tc-lifecycle-identity{background:linear-gradient(135deg,#081c30,#0b5964);color:#fff;border:0}.tc-lifecycle-identity h2{color:#fff;font-size:30px;margin:5px 0}.tc-lifecycle-identity div{display:flex;flex-wrap:wrap;gap:7px}.tc-lifecycle-identity div span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 9px;font-size:11px}
.tc-lifecycle-timeline{display:flex;overflow-x:auto;gap:0;padding:18px 8px 25px}.tc-lifecycle-timeline article{position:relative;flex:0 0 210px;padding:0 18px}.tc-lifecycle-timeline article:after{content:"";position:absolute;top:14px;left:35px;right:-2px;height:2px;background:#c9dfe5;z-index:0}.tc-lifecycle-timeline article:last-child:after{display:none}.tc-lifecycle-timeline article>i{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e5f9f6;color:#079579}.tc-lifecycle-timeline article>div{margin-top:10px}.tc-lifecycle-timeline span,.tc-lifecycle-timeline strong,.tc-lifecycle-timeline small{display:block}.tc-lifecycle-timeline span{font-size:10px;color:#6f8292}.tc-lifecycle-timeline strong{font-size:13px;margin:4px 0;color:#10273a}.tc-lifecycle-timeline small{font-size:11px;color:#5d7182}
.tc-lifecycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.tc-lifecycle-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px;margin:0}.tc-lifecycle-details div{border:1px solid #e0e9ed;border-radius:12px;padding:12px}.tc-lifecycle-details dt{font-size:10px;text-transform:uppercase;color:#698090}.tc-lifecycle-details dd{font-weight:800;color:#10283a;margin:4px 0 0;overflow-wrap:anywhere}.tc-compact-list article{display:grid;grid-template-columns:170px 1fr auto;gap:10px;padding:12px 16px;border-top:1px solid #e4ecef}.tc-compact-list article span{color:#465e70}.tc-compact-list article small{color:#748696}.tc-lifecycle-onboarding{min-height:340px;display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}.tc-lifecycle-onboarding>i{font-size:60px;color:#0aa2af}.tc-lifecycle-onboarding h5{font-size:23px;margin:3px 0}.tc-lifecycle-onboarding p{max-width:680px;color:#627889}
@media(max-width:1199.98px){.tc-report-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-quality-report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-quality-report-search{grid-column:span 2}.tc-quality-report-actions{grid-column:span 3;justify-content:flex-end}.tc-lifecycle-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.tc-lifecycle-summary .tc-lifecycle-identity{grid-column:span 4}}
@media(max-width:767.98px){.tc-quality-report-hero{grid-template-columns:1fr}.tc-quality-hero-stats{justify-content:flex-start}.tc-quality-catalogue-head{align-items:flex-start;flex-direction:column}.tc-report-catalogue,.tc-quality-report-kpis,.tc-lifecycle-grid,.tc-lifecycle-details,.tc-quality-document-strip{grid-template-columns:1fr}.tc-quality-document-strip>span{border-right:0;border-bottom:1px solid #dfe9ed}.tc-quality-report-filters,.tc-lifecycle-search{grid-template-columns:1fr}.tc-quality-report-search,.tc-quality-report-actions{grid-column:auto}.tc-quality-report-actions{display:grid;grid-template-columns:1fr 1fr}.tc-quality-export-copy{align-items:flex-start}.tc-quality-export-actions{width:100%}.tc-lifecycle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-lifecycle-summary .tc-lifecycle-identity{grid-column:span 2}.tc-compact-list article{grid-template-columns:1fr}.tc-quality-report-table-wrap{min-height:0;margin:0 10px 10px}.tc-quality-report-table-wrap table.tc-mobile-card-table tbody td{white-space:normal}}

/* Controlled serialized-BMS lifecycle */
body.tc-app-body .tc-bms-hero{grid-template-columns:minmax(0,1fr) minmax(220px,auto);align-items:center}
body.tc-app-body .tc-bms-search{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:16px}
body.tc-app-body .tc-bms-search label,body.tc-app-body .tc-bms-transfer-form label:not(.tc-bms-confirm){display:block;margin-bottom:5px;color:#52697b;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
body.tc-app-body .tc-bms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.tc-app-body .tc-bms-guardrails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}
body.tc-app-body .tc-bms-guardrails span{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #dce8ec;border-radius:13px;background:#f8fcfd;color:#314b5c;font-size:12px}
body.tc-app-body .tc-bms-guardrails i{color:#079579;font-size:18px}
body.tc-app-body .tc-bms-transfer-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px}
body.tc-app-body .tc-bms-transfer-form .tc-bms-wide{grid-column:span 3}
body.tc-app-body .tc-bms-confirm{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #d9e7eb;border-radius:13px;background:#f9fcfd;cursor:pointer}
body.tc-app-body .tc-bms-confirm input{margin-top:4px}
body.tc-app-body .tc-bms-confirm span,body.tc-app-body .tc-bms-confirm strong{display:block}
body.tc-app-body .tc-bms-confirm span{color:#5d7180;font-size:11px}
body.tc-app-body .tc-bms-confirm strong{margin-bottom:3px;color:#102a3c;font-size:13px}
body.tc-app-body .tc-bms-submit{display:flex;align-items:center;justify-content:flex-end}
body.tc-app-body .tc-bms-conflict{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border-color:#f2c76f;background:#fff9ea}
body.tc-app-body .tc-bms-conflict h5{margin:3px 0;color:#6b4600}
body.tc-app-body .tc-bms-conflict p{margin:0;color:#6b5a36}
body.tc-app-body .tc-bms-pack-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:15px}
body.tc-app-body .tc-bms-pack-summary article{padding:12px;border:1px solid #dfeaec;border-radius:12px;background:#f9fcfd}
body.tc-app-body .tc-bms-pack-summary span,body.tc-app-body .tc-bms-pack-summary strong{display:block}
body.tc-app-body .tc-bms-pack-summary span{color:#68808f;font-size:10px;text-transform:uppercase}
body.tc-app-body .tc-bms-pack-summary strong{margin-top:5px;color:#102a3c;overflow-wrap:anywhere}
body.tc-app-body .tc-bms-event-list article{display:flex;gap:11px;padding:12px 16px;border-top:1px solid #e3ecef}
body.tc-app-body .tc-bms-event-list i{color:#079b92;font-size:20px}
body.tc-app-body .tc-bms-event-list strong,body.tc-app-body .tc-bms-event-list span,body.tc-app-body .tc-bms-event-list small{display:block}
body.tc-app-body .tc-bms-event-list span,body.tc-app-body .tc-bms-event-list small{color:#667d8c;font-size:11px}
@media(max-width:991.98px){body.tc-app-body .tc-bms-hero,body.tc-app-body .tc-bms-grid{grid-template-columns:1fr}body.tc-app-body .tc-bms-transfer-form{grid-template-columns:repeat(2,minmax(0,1fr))}body.tc-app-body .tc-bms-transfer-form .tc-bms-wide{grid-column:span 2}body.tc-app-body .tc-bms-pack-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){body.tc-app-body .tc-bms-search,body.tc-app-body .tc-bms-transfer-form,body.tc-app-body .tc-bms-guardrails,body.tc-app-body .tc-bms-pack-summary{grid-template-columns:1fr}body.tc-app-body .tc-bms-transfer-form .tc-bms-wide{grid-column:auto}body.tc-app-body .tc-bms-conflict{align-items:stretch;flex-direction:column}body.tc-app-body .tc-bms-conflict .btn{width:100%}}

/* SEP02 accessibility and enterprise component contract. */
body.tc-app-body #loaddynamic .daily-card .tc-stage-card-label,
body.tc-app-body #loaddynamic .daily-card:hover .tc-stage-card-label {
  color: #0c3448;
  background-color: #e7f7f9;
  background-image: linear-gradient(120deg,#dcf3f6,#f5fbfc);
  -webkit-text-fill-color: #0c3448;
  text-shadow: none;
}
body.tc-app-body #loaddynamic .daily-card .card-body,
body.tc-app-body #loaddynamic .daily-card .card-body h1 { color:#0a1b31; -webkit-text-fill-color:#0a1b31; }

body.tc-app-body .dataTables_wrapper .tc-table-commandbar,
body.tc-app-body .dataTables_wrapper .tc-dt-toolbar {
  display:flex;
  min-height:52px;
  padding:.55rem .7rem;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.55rem;
  border-bottom:1px solid #dce7ec;
  background:linear-gradient(180deg,#fbfeff,#f3f8fa);
}
body.tc-app-body .dataTables_wrapper .dataTables_length,
body.tc-app-body .dataTables_wrapper .dataTables_filter,
body.tc-app-body .dataTables_wrapper .dt-buttons { margin:0; }
body.tc-app-body .dataTables_wrapper .dataTables_filter label,
body.tc-app-body .dataTables_wrapper .dataTables_length label { display:flex;align-items:center;gap:.4rem;color:#526b7d;font-size:.69rem;font-weight:750; }
body.tc-app-body .dataTables_wrapper .dataTables_filter input,
body.tc-app-body .dataTables_wrapper .dataTables_length select { min-height:36px;border:1px solid #cbdbe3;border-radius:9px;background:#fff;color:#18374b; }
body.tc-app-body .dataTables_wrapper .dt-button { min-height:36px;margin:0 .22rem 0 0;padding:.45rem .7rem;border:1px solid #c7dbe3;border-radius:9px;background:#fff;color:#174054;font-size:.69rem;font-weight:800;box-shadow:none; }
body.tc-app-body .dataTables_wrapper .dt-button:hover { border-color:#69cdd7;background:#eaf9fa;color:#075d6c; }

body.tc-app-body .tc-trace-form .select2-container { position:relative;z-index:3; }
body.tc-app-body .select2-container--open { z-index:3000; }
body.tc-app-body .select2-dropdown.tc-trace-dropdown { overflow:hidden;border:1px solid #acd5dd;border-radius:13px;background:#fff;box-shadow:0 18px 44px rgba(5,31,49,.2); }
body.tc-app-body .tc-trace-option { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .7rem;padding:.15rem; }
body.tc-app-body .tc-trace-option strong { color:#12374a;font-size:.76rem;overflow-wrap:anywhere; }
body.tc-app-body .tc-trace-option small { grid-column:1/-1;color:#68808f;font-size:.65rem;line-height:1.35; }
body.tc-app-body .tc-trace-option em { color:#078599;font-size:.66rem;font-style:normal;font-weight:800;white-space:nowrap; }
body.tc-app-body .select2-results__option--highlighted .tc-trace-option strong,
body.tc-app-body .select2-results__option--highlighted .tc-trace-option small,
body.tc-app-body .select2-results__option--highlighted .tc-trace-option em { color:#fff; }

body.tc-app-body .tc-journey-overview { display:grid;margin:1rem 0;grid-template-columns:minmax(300px,1.2fr) minmax(0,1.8fr);gap:.8rem; }
body.tc-app-body .tc-journey-identity { padding:1.15rem;color:#dff9fc;border-radius:18px;background:radial-gradient(circle at 90% 10%,rgba(43,211,156,.23),transparent 11rem),linear-gradient(125deg,#071a2c,#075d6c);box-shadow:0 16px 34px rgba(6,34,50,.16); }
body.tc-app-body .tc-journey-title { display:flex;align-items:center;justify-content:space-between;gap:.8rem; }
body.tc-app-body .tc-journey-title h2 { margin:.35rem 0;color:#fff;font-size:2rem;letter-spacing:.02em; }
body.tc-app-body .tc-journey-identity p { margin:.2rem 0 .8rem;color:#b9d9e0; }
body.tc-app-body .tc-journey-tags { display:flex;flex-wrap:wrap;gap:.4rem; }
body.tc-app-body .tc-journey-tags span { padding:.34rem .55rem;border:1px solid rgba(184,244,241,.25);border-radius:999px;background:rgba(4,38,51,.36);font-size:.66rem;font-weight:750; }
body.tc-app-body .tc-journey-kpis { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem; }
body.tc-app-body .tc-journey-kpis article { display:flex;min-width:0;padding:.85rem;justify-content:center;flex-direction:column;border:1px solid #d8e7eb;border-radius:15px;background:linear-gradient(145deg,#fff,#f3fafb);box-shadow:0 9px 22px rgba(9,47,64,.06); }
body.tc-app-body .tc-journey-kpis span { color:#617888;font-size:.62rem;font-weight:800;text-transform:uppercase; }
body.tc-app-body .tc-journey-kpis strong { margin-top:.35rem;color:#0b2638;font-size:1.55rem; }
body.tc-app-body .tc-journey-cycles { overflow:visible; }
body.tc-app-body .tc-journey-cycle { margin:0 1rem 1rem;border:1px solid #d8e6eb;border-radius:16px;background:#fff;box-shadow:0 10px 25px rgba(11,49,65,.055); }
body.tc-app-body .tc-journey-cycle>header { display:flex;padding:.9rem 1rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e0eaee;background:linear-gradient(120deg,#f7fcfd,#eef8f9); }
body.tc-app-body .tc-journey-cycle>header span,body.tc-app-body .tc-journey-cycle>header small { color:#61798a;font-size:.67rem; }
body.tc-app-body .tc-journey-cycle>header h4 { margin:.14rem 0;color:#102b3d;font-size:1rem; }
body.tc-app-body .tc-route-badge { padding:.4rem .65rem;color:#086b79;border:1px solid #b8e2e7;border-radius:999px;background:#eaf9fa;font-weight:850;text-transform:uppercase; }
body.tc-app-body .tc-journey-stage-line { display:grid;padding:.85rem;grid-template-columns:repeat(10,minmax(82px,1fr));gap:.45rem;overflow-x:auto; }
body.tc-app-body .tc-journey-stage-line>div { display:grid;min-height:82px;padding:.55rem;align-content:center;justify-items:center;gap:.2rem;border:1px solid #d9e6ea;border-radius:11px;background:#f8fbfc;text-align:center; }
body.tc-app-body .tc-journey-stage-line i { color:#8aa0ad;font-size:1.15rem; }
body.tc-app-body .tc-journey-stage-line span { color:#28485a;font-size:.62rem;font-weight:850; }
body.tc-app-body .tc-journey-stage-line small { color:#7a8e9a;font-size:.57rem; }
body.tc-app-body .tc-journey-stage-line .is-complete { border-color:#bde7db;background:#effaf7; } body.tc-app-body .tc-journey-stage-line .is-complete i { color:#0b9b76; }
body.tc-app-body .tc-journey-stage-line .is-bypassed { border-style:dashed;background:#f2f4f5; } body.tc-app-body .tc-journey-stage-line .is-bypassed i { color:#7d8b92; }
body.tc-app-body .tc-journey-cycle-grid { display:grid;padding:0 .85rem .85rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem; }
body.tc-app-body .tc-journey-cycle-grid>section { padding:.75rem;border:1px solid #e0e9ed;border-radius:12px;background:#fbfdfe; }
body.tc-app-body .tc-journey-cycle-grid dl { display:grid;margin:.5rem 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem; }
body.tc-app-body .tc-journey-cycle-grid dt { color:#718795;font-size:.57rem;text-transform:uppercase; } body.tc-app-body .tc-journey-cycle-grid dd { margin:.1rem 0 0;color:#16364a;font-size:.68rem;font-weight:750;overflow-wrap:anywhere; }
body.tc-app-body .tc-journey-events { margin:0 .85rem .85rem;border:1px solid #dce8ec;border-radius:11px;background:#f8fbfc; }
body.tc-app-body .tc-journey-events summary { padding:.65rem .75rem;color:#165066;font-size:.68rem;font-weight:800;cursor:pointer; }
body.tc-app-body .tc-journey-events article { display:grid;padding:.6rem .75rem;grid-template-columns:150px 200px 1fr;gap:.6rem;border-top:1px solid #e2ecef;font-size:.66rem; }
body.tc-app-body .tc-journey-events span,body.tc-app-body .tc-journey-events small { color:#637b8a; }

@media(max-width:1199.98px){body.tc-app-body .tc-journey-overview{grid-template-columns:1fr}body.tc-app-body .tc-journey-cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){body.tc-app-body .tc-journey-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body.tc-app-body .tc-journey-cycle-grid{grid-template-columns:1fr}body.tc-app-body .tc-journey-events article{grid-template-columns:1fr}.tc-quality-report-actions{grid-template-columns:1fr}}

body.tc-app-body .tc-quality-exportbar,
body.tc-app-body .tc-quality-pdf-form{display:flex;align-items:center;gap:.65rem}
body.tc-app-body .tc-quality-exportbar{margin:.85rem 15px 0;padding:.8rem;justify-content:space-between;border:1px solid #d8e6eb;border-radius:14px;background:linear-gradient(180deg,#fbfeff,#f3f8fa)}
body.tc-app-body .tc-quality-export-actions{flex-wrap:nowrap}
body.tc-app-body .tc-quality-volume-control{display:block;min-width:230px}
body.tc-app-body .tc-quality-pdf-form .form-select{min-width:230px;height:40px}
body.tc-app-body .tc-quality-export-actions .btn{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap}
body.tc-app-body .tc-server-pagination{padding:1rem;border-top:1px solid #dce7ec}
body.tc-app-body .tc-journey-materials{margin:.2rem .85rem .85rem;overflow:hidden;border:1px solid #dce8ec;border-radius:12px;background:#fff}
body.tc-app-body .tc-journey-subhead{display:flex;padding:.75rem;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid #e3ecef}
body.tc-app-body .tc-journey-subhead h5{margin:.15rem 0 0;color:#102b3d}
body.tc-app-body .tc-journey-evidence-band{display:grid;margin:0 .85rem .85rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
body.tc-app-body .tc-journey-evidence-band article{padding:.75rem;border:1px solid #dce8ec;border-radius:12px;background:#f8fbfc}
body.tc-app-body .tc-journey-evidence-band article.is-scrap{border-color:#efb7bc;background:#fff3f4}body.tc-app-body .tc-journey-evidence-band article.is-quarantine{border-color:#ead28f;background:#fff9e8}
body.tc-app-body .tc-journey-evidence-band strong,body.tc-app-body .tc-journey-evidence-band p,body.tc-app-body .tc-journey-evidence-band small{display:block;margin:.2rem 0;color:#17374a}
body.tc-app-body .tc-journey-support-grid{display:grid;margin:1rem 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
body.tc-app-body .tc-journey-record-list>article{display:grid;padding:.75rem;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .6rem;border-top:1px solid #e2ecef}
body.tc-app-body .tc-journey-record-list>article div strong,body.tc-app-body .tc-journey-record-list>article div span{display:block}.tc-journey-record-list>article div span{color:#657d8c;font-size:.66rem}.tc-journey-record-list>article p,.tc-journey-record-list>article small{grid-column:1/-1;margin:0;color:#526d7e}
body.tc-app-body .tc-journey-aliases{display:flex;padding:.8rem 1rem;align-items:center;flex-wrap:wrap;gap:.45rem;border-bottom:1px solid #e0e9ed}body.tc-app-body .tc-journey-aliases span{padding:.3rem .55rem;border:1px solid #cce2e7;border-radius:999px;background:#f2fafb;color:#17566a;font-size:.68rem;font-weight:800}
body.tc-app-body .tc-journey-history-groups{display:grid;padding:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}body.tc-app-body .tc-journey-history-groups details{overflow:hidden;border:1px solid #dce8ec;border-radius:11px;background:#fbfdfe}body.tc-app-body .tc-journey-history-groups summary{display:flex;padding:.7rem;justify-content:space-between;color:#173d51;font-weight:800;cursor:pointer}body.tc-app-body .tc-journey-history-groups article{padding:.65rem;border-top:1px solid #e4ecef}body.tc-app-body .tc-journey-history-groups article.is-inferred{border-left:3px dashed #8898a1;background:#f3f5f6}body.tc-app-body .tc-journey-history-groups article>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}body.tc-app-body .tc-journey-history-groups article span small,body.tc-app-body .tc-journey-history-groups article span strong{display:block;overflow-wrap:anywhere}body.tc-app-body .tc-journey-history-groups article span small{color:#718795;font-size:.56rem;text-transform:uppercase}body.tc-app-body .tc-journey-history-groups article span strong{color:#18384a;font-size:.67rem}
@media(max-width:767.98px){body.tc-app-body .tc-quality-exportbar{align-items:stretch;width:auto;margin:.75rem 10px 0}body.tc-app-body .tc-quality-export-actions{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%;gap:.55rem}body.tc-app-body .tc-quality-pdf-form{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;gap:.55rem}body.tc-app-body .tc-quality-pdf-form .form-select,body.tc-app-body .tc-quality-volume-control{min-width:0;width:100%}body.tc-app-body .tc-quality-exportbar .btn{width:auto}}
@media(max-width:991.98px){body.tc-app-body .tc-journey-evidence-band,body.tc-app-body .tc-journey-support-grid,body.tc-app-body .tc-journey-history-groups{grid-template-columns:1fr}}

/* Pack Journey V2 · unified production and service digital thread */
body.tc-app-body .tc-pack-lifecycle-page{--journey-navy:#061b2d;--journey-teal:#078a98;--journey-mint:#19c996;--journey-line:#d8e7ec;scroll-behavior:smooth}
body.tc-app-body .tc-lifecycle-search-panel{margin-top:1rem;padding:1rem;border-color:#d6e5ea;background:linear-gradient(145deg,#fff,#f7fbfc)}
body.tc-app-body .tc-journey-command{display:grid;margin-top:1rem;grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);overflow:hidden;border:1px solid rgba(15,122,137,.35);border-radius:22px;background:radial-gradient(circle at 82% 0,rgba(26,211,175,.18),transparent 18rem),linear-gradient(125deg,#06192c 0%,#073a4a 62%,#087f89 100%);box-shadow:0 18px 42px rgba(5,38,54,.18)}
body.tc-app-body .tc-journey-command__identity{padding:1.4rem 1.5rem;color:#e8fbfd}
body.tc-app-body .tc-journey-command__topline,body.tc-app-body .tc-journey-command__title{display:flex;align-items:center;justify-content:space-between;gap:1rem}
body.tc-app-body .tc-journey-command__title h2{margin:.45rem 0 .1rem;color:#fff;font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:.025em;text-shadow:0 4px 18px rgba(0,0,0,.2)}
body.tc-app-body .tc-journey-command__title p{margin:0;color:#bfe0e6;font-weight:650}
body.tc-app-body .tc-journey-command__tags{display:flex;margin-top:1.2rem;flex-wrap:wrap;gap:.5rem}
body.tc-app-body .tc-journey-command__tags span{display:flex;padding:.42rem .65rem;align-items:center;gap:.35rem;border:1px solid rgba(207,250,249,.2);border-radius:999px;background:rgba(3,31,44,.42);color:#e3f8fa;font-size:.72rem;font-weight:750}
body.tc-app-body .tc-bms-identity-strip{display:flex;margin-top:.75rem;align-items:stretch;gap:.55rem;flex-wrap:wrap}
body.tc-app-body .tc-bms-identity-strip article{display:flex;min-width:230px;padding:.7rem .8rem;align-items:center;gap:.65rem;border:1px solid rgba(182,238,239,.24);border-radius:13px;background:rgba(3,28,42,.56)}
body.tc-app-body .tc-bms-identity-strip article.is-current{border-color:rgba(75,232,196,.5);background:linear-gradient(135deg,rgba(4,67,73,.72),rgba(5,42,56,.62))}
body.tc-app-body .tc-bms-identity-strip article>i{display:grid;width:36px;height:36px;place-items:center;flex:0 0 auto;border-radius:10px;background:rgba(68,216,218,.14);color:#72f0e1;font-size:1.15rem}
body.tc-app-body .tc-bms-identity-strip span,body.tc-app-body .tc-bms-identity-strip strong,body.tc-app-body .tc-bms-identity-strip small{display:block}
body.tc-app-body .tc-bms-identity-strip article span{color:#91b7c2;font-size:.57rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
body.tc-app-body .tc-bms-identity-strip article strong{margin:.08rem 0;color:#fff;font-size:1rem;letter-spacing:.025em}
body.tc-app-body .tc-bms-identity-strip article small{color:#b8d5dc;font-size:.62rem}
body.tc-app-body .tc-bms-identity-strip__arrow{align-self:center;color:#72d8d6;font-size:1rem}
body.tc-app-body .tc-bms-history-count{display:flex;padding:.45rem .65rem;align-self:center;align-items:center;gap:.35rem;border-radius:999px;background:rgba(240,181,66,.13);color:#ffd88a;font-size:.63rem;font-weight:800}
body.tc-app-body .tc-cycle-evidence-note{display:flex;margin-top:.35rem;align-items:center;gap:.3rem;color:#9b6b12;font-weight:750}
@media(max-width:767.98px){body.tc-app-body .tc-bms-identity-strip article{width:100%;min-width:0}body.tc-app-body .tc-bms-identity-strip__arrow{width:100%;transform:rotate(90deg);text-align:center}}
body.tc-app-body .tc-journey-progress{display:grid;width:92px;height:92px;flex:0 0 92px;place-content:center;border-radius:50%;background:radial-gradient(circle closest-side,#083445 73%,transparent 75% 99%),conic-gradient(#30dfad calc(var(--journey-progress)*1%),rgba(196,242,242,.16) 0);text-align:center;box-shadow:inset 0 0 0 1px rgba(225,255,255,.16),0 10px 30px rgba(0,0,0,.18)}
body.tc-app-body .tc-journey-progress strong,body.tc-app-body .tc-journey-progress span{display:block;color:#fff}body.tc-app-body .tc-journey-progress strong{font-size:1.25rem}body.tc-app-body .tc-journey-progress span{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}
body.tc-app-body .tc-journey-progress-stack{display:grid;flex:0 0 112px;justify-items:center;gap:.5rem}body.tc-app-body .tc-cycle-count{display:inline-flex;padding:.32rem .55rem;align-items:center;gap:.3rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#05283a;font-size:.6rem;font-weight:850;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.16)}body.tc-app-body .tc-cycle-count strong{font-size:.78rem}body.tc-app-body .tc-cycle-count.is-green{background:#72e5b5}body.tc-app-body .tc-cycle-count.is-lime{background:#b8e96a}body.tc-app-body .tc-cycle-count.is-amber{background:#ffd166}body.tc-app-body .tc-cycle-count.is-orange{background:#ff9e54}body.tc-app-body .tc-cycle-count.is-red{background:#ff6472;color:#fff}
body.tc-app-body .tc-status-pill{display:inline-flex;padding:.36rem .6rem;align-items:center;gap:.35rem;border:1px solid #c9e3e7;border-radius:999px;background:#eef8fa;color:#166071;font-size:.65rem;font-weight:850;text-transform:uppercase;white-space:nowrap}
body.tc-app-body .tc-status-pill i{width:7px;height:7px;border-radius:50%;background:#168ca0;box-shadow:0 0 0 4px rgba(22,140,160,.11)}
body.tc-app-body .tc-status-pill.is-success{border-color:#afe1cf;background:#eaf9f3;color:#087d5d}body.tc-app-body .tc-status-pill.is-success i{background:#0aa276}
body.tc-app-body .tc-status-pill.is-warning{border-color:#ebd49b;background:#fff8e8;color:#966212}body.tc-app-body .tc-status-pill.is-warning i{background:#e2a427}
body.tc-app-body .tc-status-pill.is-danger{border-color:#efb9bf;background:#fff1f2;color:#a63240}body.tc-app-body .tc-status-pill.is-danger i{background:#db4558}
body.tc-app-body .tc-journey-command__facts{display:grid;padding:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;background:rgba(3,27,39,.28);border-left:1px solid rgba(216,250,250,.13)}
body.tc-app-body .tc-journey-command__facts article{display:grid;padding:.75rem;grid-template-columns:auto 1fr;gap:.12rem .55rem;align-content:center;border:1px solid rgba(209,248,247,.15);border-radius:14px;background:rgba(4,38,51,.46)}
body.tc-app-body .tc-journey-command__facts i{grid-row:1/3;color:#41ddc2;font-size:1.35rem}body.tc-app-body .tc-journey-command__facts span{color:#95c2cb;font-size:.6rem;font-weight:800;text-transform:uppercase}body.tc-app-body .tc-journey-command__facts strong{color:#f1ffff;font-size:.78rem;overflow-wrap:anywhere}
body.tc-app-body .tc-journey-nav{position:sticky;z-index:9;top:68px;display:flex;margin:1rem 0;padding:.42rem;gap:.35rem;overflow-x:auto;border:1px solid #d6e5ea;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(9,47,64,.08);backdrop-filter:blur(10px)}
body.tc-app-body .tc-journey-nav a{padding:.55rem .75rem;border-radius:9px;color:#4e6879;font-size:.7rem;font-weight:800;white-space:nowrap}body.tc-app-body .tc-journey-nav a:hover,body.tc-app-body .tc-journey-nav a.is-active{background:#e8f7f8;color:#087888}
body.tc-app-body .tc-journey-metrics{display:grid;margin-bottom:1rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}
body.tc-app-body .tc-journey-metrics article{display:flex;padding:.8rem;align-items:center;gap:.65rem;border:1px solid var(--journey-line);border-radius:15px;background:linear-gradient(145deg,#fff,#f5fafb);box-shadow:0 8px 22px rgba(10,49,66,.05)}
body.tc-app-body .tc-journey-metrics i{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:11px;background:#e6f8f8;color:#078b99;font-size:1.1rem}body.tc-app-body .tc-journey-metrics span,body.tc-app-body .tc-journey-metrics strong,body.tc-app-body .tc-journey-metrics small{display:block}body.tc-app-body .tc-journey-metrics span{color:#6a7f8e;font-size:.57rem;font-weight:800;text-transform:uppercase}body.tc-app-body .tc-journey-metrics strong{color:#0b2639;font-size:1.35rem;line-height:1.1}body.tc-app-body .tc-journey-metrics small{color:#82939e;font-size:.56rem}
body.tc-app-body .tc-journey-coverage{display:grid;margin:-.35rem 0 1rem;padding:.65rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;border:1px solid #cae4e7;border-radius:14px;background:linear-gradient(90deg,#eefafa,#f8fcfd)}body.tc-app-body .tc-journey-coverage div{padding:.5rem .65rem;border-left:2px solid #1abca6}body.tc-app-body .tc-journey-coverage span,body.tc-app-body .tc-journey-coverage strong{display:block}body.tc-app-body .tc-journey-coverage span{color:#64808e;font-size:.56rem;font-weight:800;text-transform:uppercase}body.tc-app-body .tc-journey-coverage strong{margin-top:.15rem;color:#12384a;font-size:.72rem;overflow-wrap:anywhere}
body.tc-app-body .tc-journey-source-state{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}body.tc-app-body .tc-journey-source-state span{display:flex;padding:.3rem .5rem;align-items:center;gap:.3rem;border-radius:999px;background:#f0f5f6;color:#607682;font-size:.62rem;font-weight:800}body.tc-app-body .tc-journey-source-state i{width:7px;height:7px;border-radius:50%;background:#9eabb1}body.tc-app-body .tc-journey-source-state .is-live i{background:#12b789;box-shadow:0 0 0 4px rgba(18,183,137,.1)}body.tc-app-body .tc-journey-source-state small{width:100%;color:#7a8e9b;text-align:right}
body.tc-app-body .tc-journey-filterbar{display:flex;padding:.7rem 1rem;gap:.4rem;overflow-x:auto;border-top:1px solid #e2ebee;border-bottom:1px solid #e2ebee;background:#f8fbfc}
body.tc-app-body .tc-journey-filterbar button{padding:.45rem .7rem;border:1px solid #d2e2e7;border-radius:999px;background:#fff;color:#536d7d;font-size:.66rem;font-weight:800;white-space:nowrap}body.tc-app-body .tc-journey-filterbar button:hover,body.tc-app-body .tc-journey-filterbar button.is-active{border-color:#0a98a6;background:#0b8797;color:#fff;box-shadow:0 7px 16px rgba(8,130,146,.16)}body.tc-app-body .tc-journey-filterbar b{margin-left:.25rem;padding:.05rem .35rem;border-radius:999px;background:rgba(255,255,255,.2)}
body.tc-app-body .tc-journey-event-stream{position:relative;padding:1rem 1rem 1rem 4rem}body.tc-app-body .tc-journey-event-stream:before{content:"";position:absolute;top:1rem;bottom:1rem;left:2rem;width:2px;background:linear-gradient(#18b6a1,#b9dce3 75%,transparent)}
body.tc-app-body .tc-journey-event{position:relative;display:grid;margin-bottom:.65rem;padding:.8rem;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;border:1px solid #dce8ec;border-left:4px solid #1593a5;border-radius:13px;background:#fff;box-shadow:0 7px 18px rgba(11,50,67,.045)}body.tc-app-body .tc-journey-event[hidden]{display:none}
body.tc-app-body .tc-journey-event.is-success{border-left-color:#13a879}body.tc-app-body .tc-journey-event.is-warning{border-left-color:#dda62c}body.tc-app-body .tc-journey-event.is-danger{border-left-color:#da4655}
body.tc-app-body .tc-journey-event__marker{position:absolute;left:-3.15rem;display:grid;width:34px;height:34px;place-items:center;border:3px solid #f7fbfc;border-radius:50%;background:#0c8898;color:#fff;box-shadow:0 0 0 1px #b7dbe1}body.tc-app-body .tc-journey-event__body h6{margin:.22rem 0;color:#102c3f}body.tc-app-body .tc-journey-event__body p{margin:0;color:#607787;font-size:.7rem}body.tc-app-body .tc-journey-event__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}body.tc-app-body .tc-journey-event__meta time{color:#6c818f;font-size:.62rem;font-weight:750}body.tc-app-body .tc-journey-event__meta span{padding:.16rem .35rem;border-radius:5px;background:#eaf5f7;color:#176578;font-size:.55rem;font-weight:800;text-transform:uppercase}body.tc-app-body .tc-journey-event__meta span.is-rework{background:#e9f8f2;color:#0b7c5f}body.tc-app-body .tc-journey-event__meta span.is-field{background:#fff4df;color:#93600c}
body.tc-app-body .tc-production-record{margin-top:1rem}body.tc-app-body .tc-production-identity-grid{display:grid;padding:0 1rem 1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}body.tc-app-body .tc-production-identity-grid article{padding:.75rem;border:1px solid #dce8ec;border-radius:12px;background:#f8fbfc}body.tc-app-body .tc-production-identity-grid span,body.tc-app-body .tc-production-identity-grid strong{display:block}body.tc-app-body .tc-production-identity-grid span{color:#6c8190;font-size:.58rem;font-weight:800;text-transform:uppercase}body.tc-app-body .tc-production-identity-grid strong{margin-top:.2rem;color:#143448;font-size:.8rem;overflow-wrap:anywhere}
body.tc-app-body .tc-production-route{position:relative;display:grid;padding:1rem;grid-template-columns:repeat(8,minmax(110px,1fr));gap:.55rem;overflow-x:auto;border-top:1px solid #e2ebee;border-bottom:1px solid #e2ebee;background:#f8fbfc}body.tc-app-body .tc-production-route__line{position:absolute;top:2rem;right:3rem;left:3rem;height:2px;background:#badde2}body.tc-app-body .tc-production-route article{position:relative;display:grid;min-height:110px;padding:.65rem;justify-items:center;align-content:start;text-align:center;border:1px solid #d7e6ea;border-radius:12px;background:#fff}body.tc-app-body .tc-production-route article>i{position:relative;z-index:1;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#dfe8eb;color:#758a95}body.tc-app-body .tc-production-route article.is-recorded>i{background:#dff7ef;color:#089772}body.tc-app-body .tc-production-route strong{margin-top:.42rem;color:#16374a;font-size:.7rem}body.tc-app-body .tc-production-route span,body.tc-app-body .tc-production-route small{color:#718693;font-size:.58rem}
body.tc-app-body .tc-production-subcard{padding:1rem;border:1px solid #dbe8ec;border-radius:14px;background:linear-gradient(145deg,#fff,#f4fafb)}body.tc-app-body .tc-production-subcard h5{margin:.25rem 0;color:#102d40}body.tc-app-body .tc-production-subcard p{margin:0;color:#647c8b}body.tc-app-body .tc-production-subcard a{display:inline-flex;margin-top:.65rem;align-items:center;gap:.25rem;color:#087f90;font-size:.7rem;font-weight:800}
body.tc-app-body .tc-lifecycle-cost-alert{display:flex;margin:1rem 0;padding:1rem 1.15rem;align-items:flex-start;gap:.8rem;border:1px solid #ef9aa4;border-radius:15px;background:linear-gradient(120deg,#fff2f3,#fff8ed);color:#7e1f2b;box-shadow:0 10px 25px rgba(143,31,45,.1)}body.tc-app-body .tc-lifecycle-cost-alert>i{font-size:1.6rem;color:#d63e50}body.tc-app-body .tc-lifecycle-cost-alert strong,body.tc-app-body .tc-lifecycle-cost-alert span{display:block}body.tc-app-body .tc-lifecycle-cost-alert span{margin-top:.18rem;color:#7b4a4f;font-size:.72rem}
body.tc-app-body .tc-material-genealogy{margin-top:1rem;overflow:hidden}body.tc-app-body .tc-material-basis{display:grid;min-width:86px;text-align:right}body.tc-app-body .tc-material-basis strong{color:#087f90;font-size:1.45rem;line-height:1}body.tc-app-body .tc-material-basis span{color:#6c8290;font-size:.58rem;text-transform:uppercase}body.tc-app-body .tc-material-evidence{display:inline-flex;padding:.3rem .48rem;border-radius:999px;font-size:.58rem;font-weight:850;text-transform:uppercase;white-space:nowrap}body.tc-app-body .tc-material-evidence.is-lot_recorded{background:#dff8ef;color:#08795c}body.tc-app-body .tc-material-evidence.is-bom_accounted{background:#fff2ce;color:#8a5d04}body.tc-app-body .tc-material-genealogy td small{display:block;margin-top:.14rem;color:#768b97;font-size:.58rem}
body.tc-app-body .tc-journey-control-grid{display:grid;margin:1rem 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}body.tc-app-body .tc-diagnostic-actions{display:flex;padding:1rem;align-items:center;flex-wrap:wrap;gap:.5rem;border-top:1px solid #e1ebee}
body.tc-app-body .tc-journey-stage-data{margin:.2rem .85rem .85rem;overflow:hidden;border:1px solid #d7e6eb;border-radius:13px;background:#f7fbfc}body.tc-app-body .tc-journey-stage-data>summary{display:flex;padding:.75rem;align-items:center;justify-content:space-between;gap:.8rem;color:#154155;font-size:.7rem;font-weight:850;cursor:pointer}body.tc-app-body .tc-journey-stage-data>summary span{display:flex;align-items:center;gap:.4rem}body.tc-app-body .tc-journey-stage-data>summary i{color:#0b93a2;font-size:1rem}body.tc-app-body .tc-journey-stage-data>summary strong{padding:.2rem .4rem;border-radius:999px;background:#e5f5f7;color:#087486;font-size:.58rem}
body.tc-app-body .tc-journey-stage-data__grid{display:grid;padding:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;border-top:1px solid #deeaed}body.tc-app-body .tc-journey-stage-data__grid>article{overflow:hidden;border:1px solid #dce8ec;border-radius:12px;background:#fff}body.tc-app-body .tc-journey-stage-data__grid article>header{display:flex;padding:.7rem;align-items:center;gap:.55rem;border-bottom:1px solid #e2ecef;background:linear-gradient(120deg,#f8fcfd,#eef8f9)}body.tc-app-body .tc-journey-stage-data__grid article>header>i{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:#dff5f6;color:#078a99;font-size:1.05rem}body.tc-app-body .tc-journey-stage-data__grid header span{color:#6d8390;font-size:.54rem;text-transform:uppercase}body.tc-app-body .tc-journey-stage-data__grid h6{margin:0;color:#153548;font-size:.76rem}body.tc-app-body .tc-journey-stage-data__grid dl{display:grid;margin:0;padding:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}body.tc-app-body .tc-journey-stage-data__grid dt{color:#778b97;font-size:.54rem;text-transform:uppercase}body.tc-app-body .tc-journey-stage-data__grid dd{margin:.12rem 0 0;color:#18384b;font-size:.67rem;font-weight:750;overflow-wrap:anywhere}
body.tc-app-body .tc-journey-cycle-bms{display:grid;margin:0 .85rem .85rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}body.tc-app-body .tc-journey-cycle-bms article{display:flex;padding:.7rem;align-items:center;gap:.55rem;border:1px solid #dce8ec;border-radius:11px;background:#f8fbfc}body.tc-app-body .tc-journey-cycle-bms i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#e5f5f7;color:#078a99}body.tc-app-body .tc-journey-cycle-bms span,body.tc-app-body .tc-journey-cycle-bms strong,body.tc-app-body .tc-journey-cycle-bms small{display:block}body.tc-app-body .tc-journey-cycle-bms span{color:#718592;font-size:.55rem;text-transform:uppercase}body.tc-app-body .tc-journey-cycle-bms strong{color:#153649}body.tc-app-body .tc-journey-cycle-bms small{color:#607887;font-size:.62rem}
@media(max-width:1399.98px){body.tc-app-body .tc-journey-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){body.tc-app-body .tc-journey-command{grid-template-columns:1fr}body.tc-app-body .tc-journey-command__facts{border-top:1px solid rgba(216,250,250,.13);border-left:0}body.tc-app-body .tc-production-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){body.tc-app-body .tc-journey-nav{top:62px}body.tc-app-body .tc-journey-control-grid,body.tc-app-body .tc-journey-stage-data__grid,body.tc-app-body .tc-journey-coverage{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){body.tc-app-body .tc-journey-command__identity{padding:1rem}body.tc-app-body .tc-journey-command__title{align-items:flex-start}body.tc-app-body .tc-journey-progress{width:74px;height:74px;flex-basis:74px}body.tc-app-body .tc-journey-command__facts,body.tc-app-body .tc-journey-metrics,body.tc-app-body .tc-production-identity-grid,body.tc-app-body .tc-journey-coverage{grid-template-columns:1fr}body.tc-app-body .tc-journey-event-stream{padding-left:3.2rem}body.tc-app-body .tc-journey-event-stream:before{left:1.55rem}body.tc-app-body .tc-journey-event__marker{left:-2.65rem}body.tc-app-body .tc-journey-event{grid-template-columns:1fr}body.tc-app-body .tc-journey-event>.tc-status-pill{justify-self:start}body.tc-app-body .tc-journey-stage-data__grid dl{grid-template-columns:1fr}}

body.tc-app-body .tc-containment-hero{background:radial-gradient(circle at 88% 20%,rgba(25,213,174,.25),transparent 13rem),linear-gradient(120deg,#071d31,#087785);color:#dff9fc}
body.tc-app-body .tc-containment-hero h1{color:#fff}
body.tc-app-body .tc-containment-hero p{color:#c3e1e7}
body.tc-app-body .tc-containment-builder{overflow:visible;margin-bottom:1rem}
body.tc-app-body .tc-containment-rules{display:grid;padding:.85rem;gap:.7rem}
body.tc-app-body .tc-containment-rule{position:relative;display:grid;padding:.8rem;padding-right:3rem;grid-template-columns:58px minmax(150px,1.15fr) minmax(125px,.8fr) minmax(125px,.75fr) minmax(125px,.75fr) minmax(160px,1fr) minmax(210px,1.35fr);gap:.65rem;align-items:end;border:1px solid #d7e6eb;border-radius:15px;background:linear-gradient(145deg,#fff,#f5fafb);box-shadow:0 8px 20px rgba(8,45,61,.05)}
body.tc-app-body .tc-containment-rule__number{display:grid;width:48px;height:48px;place-content:center;border:1px solid #b9dfe4;border-radius:14px;background:#eaf9fa;text-align:center}
body.tc-app-body .tc-containment-rule__number span{color:#08798a;font-size:1.1rem;font-weight:900;line-height:1}
body.tc-app-body .tc-containment-rule__number small{color:#68818f;font-size:.54rem;font-weight:800;text-transform:uppercase}
body.tc-app-body .tc-containment-field label{display:block;margin-bottom:.3rem;color:#294c5e;font-size:.65rem;font-weight:850;text-transform:uppercase}
body.tc-app-body .tc-containment-field small{display:block;margin-top:.25rem;color:#738996;font-size:.58rem}
body.tc-app-body .tc-containment-field .form-control,body.tc-app-body .tc-containment-field .form-select{min-height:43px;border-color:#c8dce4;background-color:#fff;color:#18384a}
body.tc-app-body .tc-containment-rule__remove{position:absolute;right:.7rem;top:.7rem;display:grid;width:32px;height:32px;padding:0;place-content:center;border:1px solid #efc6ca;border-radius:9px;background:#fff5f6;color:#bd3944}
body.tc-app-body .tc-containment-rule__remove:disabled{opacity:.35;cursor:not-allowed}
body.tc-app-body .tc-containment-submit{display:flex;padding:.85rem;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #dfebef;background:#f8fbfc}
body.tc-app-body .tc-containment-submit>div{display:flex;align-items:center;gap:.45rem;color:#597383;font-size:.67rem}
body.tc-app-body .tc-containment-submit>div i{color:#0a8fa0;font-size:1.1rem}
body.tc-app-body .tc-containment-kpis{display:grid;margin-bottom:1rem;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}
body.tc-app-body .tc-containment-kpis article{padding:.85rem;border:1px solid #d7e6eb;border-radius:14px;background:linear-gradient(145deg,#fff,#f4fafb);box-shadow:0 9px 20px rgba(8,45,61,.05)}
body.tc-app-body .tc-containment-kpis span,body.tc-app-body .tc-containment-kpis small{display:block;color:#687f8d;font-size:.6rem;font-weight:750;text-transform:uppercase}
body.tc-app-body .tc-containment-kpis strong{display:block;margin:.25rem 0;color:#102c3e;font-size:1.55rem}
body.tc-app-body .tc-containment-kpis article.is-danger{border-color:#efc0c4;background:#fff7f7}body.tc-app-body .tc-containment-kpis article.is-danger strong{color:#b32632}
body.tc-app-body .tc-containment-kpis article.is-warning{border-color:#efd79d;background:#fffbef}body.tc-app-body .tc-containment-kpis article.is-warning strong{color:#9a6100}
body.tc-app-body .tc-containment-rule-results{display:grid;padding:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
body.tc-app-body .tc-containment-rule-results article{display:grid;padding:.7rem;grid-template-columns:38px 1fr;gap:.65rem;border:1px solid #dbe7eb;border-radius:12px;background:#fbfdfe}
body.tc-app-body .tc-containment-rule-results article>span{display:grid;width:34px;height:34px;place-content:center;border-radius:10px;background:#edf6f8;color:#1c6575;font-weight:900}
body.tc-app-body .tc-containment-rule-results strong,body.tc-app-body .tc-containment-rule-results small{display:block;color:#17384b}
body.tc-app-body .tc-containment-rule-results small,body.tc-app-body .tc-containment-rule-results p{margin:.15rem 0;color:#667e8c;font-size:.64rem}
body.tc-app-body .tc-containment-rule-results article.is-matched{border-color:#bde2d8;background:#f2fbf8}body.tc-app-body .tc-containment-rule-results article.is-empty{border-color:#ead8a7;background:#fffbef}
body.tc-app-body .tc-containment-exports{display:flex;flex-wrap:wrap;gap:.4rem}
body.tc-app-body .tc-disposition{display:inline-flex;padding:.35rem .5rem;border-radius:999px;font-size:.62rem;font-weight:850;white-space:nowrap}
body.tc-app-body .tc-disposition--review{background:#e7f5f7;color:#087383}.tc-disposition--correction{background:#fff3d6;color:#8f5b00}.tc-disposition--defective{background:#ffe3e5;color:#a5202b}
@media(max-width:1499.98px){body.tc-app-body .tc-containment-rule{grid-template-columns:50px repeat(3,minmax(145px,1fr))}body.tc-app-body .tc-containment-field--reason{grid-column:2/-1}}
@media(max-width:991.98px){body.tc-app-body .tc-containment-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body.tc-app-body .tc-containment-rule-results{grid-template-columns:1fr}body.tc-app-body .tc-containment-rule{grid-template-columns:48px repeat(2,minmax(0,1fr))}body.tc-app-body .tc-containment-field--reason{grid-column:auto}}
@media(max-width:767.98px){body.tc-app-body .tc-containment-rule{padding:.75rem;padding-top:3rem;grid-template-columns:1fr}body.tc-app-body .tc-containment-rule__number{position:absolute;left:.75rem;top:.65rem}body.tc-app-body .tc-containment-rule__remove{top:.65rem}body.tc-app-body .tc-containment-submit{align-items:stretch;flex-direction:column}body.tc-app-body .tc-containment-submit .btn,body.tc-app-body .tc-containment-exports .btn{width:100%}body.tc-app-body .tc-containment-kpis{grid-template-columns:1fr}}

@media print{body.tc-app-body .tc-containment-builder,body.tc-app-body .tc-sidebar,body.tc-app-body .layout-navbar,body.tc-app-body .tc-containment-exports{display:none}body.tc-app-body .tc-main-content,body.tc-app-body .layout-page{margin:0;width:100%}body.tc-app-body .tc-panel{box-shadow:none}}
/* Sep 02 V7.1 · controlled rejection, send-back and assembly-TV controls */
.tc-rejection-entry{display:grid;grid-template-columns:minmax(320px,2fr) minmax(150px,.55fr) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--tc-border,#d7e4ea);border-radius:16px;background:var(--tc-surface-soft,#f7fafb);margin-bottom:12px}.tc-rejection-entry label,.tc-report-toolbar label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#4d6575;margin-bottom:6px}.tc-report-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.tc-report-toolbar>div{flex:1 1 145px}.tc-report-toolbar>div:first-child{min-width:170px}.tc-route-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#e7f8f8;color:#075868;font-weight:750;white-space:nowrap}.tc-route-chip b{color:#0aa4b8}.tc-sendback-modal .modal-header{background:linear-gradient(135deg,#06263a,#0a6571);color:#fff}.tc-sendback-modal .modal-header .tc-eyebrow{color:#65e7ef}.tc-live-preview{display:grid;grid-template-columns:2fr 1fr;gap:16px}.tc-live-preview>div,.tc-live-preview>a{border-radius:22px;padding:24px 28px;min-height:150px;display:flex;flex-direction:column;justify-content:center;text-decoration:none}.tc-live-preview>div{background:linear-gradient(135deg,#06263a,#0b6670);color:#fff}.tc-live-preview>div span{color:#73e9ef;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.tc-live-preview>div strong{font-size:4rem;line-height:1}.tc-live-preview>div small{color:#bed9e3}.tc-live-preview>a{background:linear-gradient(145deg,#17b9ca,#0b8ca5);color:#fff;box-shadow:0 16px 38px rgba(4,147,168,.23)}.tc-live-preview>a i{font-size:2rem}.tc-live-preview>a span{font-size:1.35rem;font-weight:850;margin-top:8px}.tc-live-preview>a small{color:#e8fcff}
@media(max-width:900px){.tc-rejection-entry{grid-template-columns:1fr 1fr}.tc-rejection-entry>div:first-child{grid-column:1/-1}.tc-live-preview{grid-template-columns:1fr}.tc-report-toolbar>*{flex:1 1 44%}}
@media(max-width:560px){.tc-rejection-entry{grid-template-columns:1fr}.tc-rejection-entry>div:first-child{grid-column:auto}.tc-report-toolbar>*{flex-basis:100%}.tc-live-preview>div,.tc-live-preview>a{padding:20px}.tc-live-preview>div strong{font-size:3rem}}
@media print{.tc-live-preview,.tc-report-toolbar,.tc-page-head .btn,.tc-panel-head .btn{display:none}.tc-table{font-size:9pt}}

/* SEP03 V7.2 · definitive Product Inward workspace contract. */
body.tc-app-body .tc-inward-page {
  --tc-inward-ink:#0b2639;
  --tc-inward-muted:#61798a;
  --tc-inward-border:#d6e5ea;
  --tc-inward-soft:#f3fafb;
  --tc-inward-accent:#0a9bad;
}
body.tc-app-body .tc-inward-page-head {
  position:relative;
  min-height:104px;
  overflow:hidden;
  padding:18px 20px;
  align-items:center;
  border:0;
  background:radial-gradient(circle at 86% 8%,rgba(37,221,203,.24),transparent 15rem),linear-gradient(125deg,#061b2e 0%,#075466 64%,#088a96 100%);
  box-shadow:0 16px 36px rgba(7,48,67,.15);
}
body.tc-app-body .tc-inward-page-head::after {
  position:absolute;
  right:-42px;
  bottom:-78px;
  width:210px;
  height:210px;
  content:"";
  border:1px solid rgba(199,251,250,.16);
  border-radius:50%;
  pointer-events:none;
}
body.tc-app-body .tc-inward-page-head > * { position:relative;z-index:1; }
body.tc-app-body .tc-inward-page-head h1,
body.tc-app-body .tc-inward-page-head p,
body.tc-app-body .tc-inward-page-head .tc-eyebrow {
  color:#f4fdff;
  -webkit-text-fill-color:#f4fdff;
}
body.tc-app-body .tc-inward-page-head .tc-eyebrow { color:#74e7e5;-webkit-text-fill-color:#74e7e5; }
body.tc-app-body .tc-inward-page-head p { max-width:780px;color:#c5e1e7;-webkit-text-fill-color:#c5e1e7; }
body.tc-app-body .tc-inward-page-actions { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px; }
body.tc-app-body .tc-inward-page-head .btn-label-secondary,
body.tc-app-body .tc-inward-page-head .btn-outline-secondary {
  min-height:40px;
  color:#ecfdff;
  border-color:rgba(214,250,249,.32);
  background:rgba(3,35,50,.28);
  box-shadow:none;
}
body.tc-app-body .tc-inward-page-head .btn-label-secondary:hover,
body.tc-app-body .tc-inward-page-head .btn-outline-secondary:hover { color:#073242;border-color:#fff;background:#fff; }
body.tc-app-body .tc-inward-head-status {
  display:flex;
  min-height:44px;
  padding:7px 10px;
  align-items:center;
  gap:9px;
  color:#eaffff;
  border:1px solid rgba(190,245,242,.22);
  border-radius:12px;
  background:rgba(3,34,49,.28);
  backdrop-filter:blur(8px);
}
body.tc-app-body .tc-inward-head-status > i { display:grid;width:29px;height:29px;place-items:center;color:#61e3df;border-radius:9px;background:rgba(69,222,210,.13);font-size:17px; }
body.tc-app-body .tc-inward-head-status strong,
body.tc-app-body .tc-inward-head-status small { display:block;color:inherit;-webkit-text-fill-color:currentColor;white-space:nowrap; }
body.tc-app-body .tc-inward-head-status strong { font-size:11px;letter-spacing:.02em; }
body.tc-app-body .tc-inward-head-status small { margin-top:1px;color:#bad8de;font-size:9px;-webkit-text-fill-color:#bad8de; }
body.tc-app-body .tc-inward-form-panel { overflow:hidden;border-color:var(--tc-inward-border);box-shadow:0 12px 28px rgba(10,54,72,.065); }
body.tc-app-body .tc-inward-form-panel > .tc-panel-head { background:linear-gradient(180deg,#fcfeff,#f2f8fa); }
body.tc-app-body .tc-inward-form-panel > .tc-panel-head .tc-eyebrow { color:#078695; }
body.tc-app-body .tc-inward-page .form-label { color:#294b5d;font-size:10px;font-weight:850;letter-spacing:.045em;text-transform:uppercase; }
body.tc-app-body .tc-inward-page .form-control,
body.tc-app-body .tc-inward-page .form-select,
body.tc-app-body .tc-inward-page .select2-selection { border-color:#c9dce3;background-color:#fff;color:#16364a; }
body.tc-app-body .tc-inward-page .form-control:focus,
body.tc-app-body .tc-inward-page .form-select:focus { border-color:#33adbb;box-shadow:0 0 0 3px rgba(15,163,179,.12); }
body.tc-app-body .tc-inward-register-legend { display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px; }
body.tc-app-body .tc-inward-register-legend span { display:inline-flex;padding:5px 8px;align-items:center;gap:6px;color:#4c6575;border:1px solid #d8e6ea;border-radius:999px;background:#f8fbfc;font-size:9px;font-weight:800;text-transform:uppercase; }
body.tc-app-body .tc-inward-register-legend i { width:7px;height:7px;border-radius:50%;background:#8aa0ac; }
body.tc-app-body .tc-inward-register-legend .is-pending i { background:#e3a008; }
body.tc-app-body .tc-inward-register-legend .is-approved i { background:#0a9d79; }
body.tc-app-body .tc-inward-register-legend .is-rejected i { background:#d34855; }
body.tc-app-body .tc-inward-commandbar { background:linear-gradient(180deg,#fbfeff,#eef7f9); }
body.tc-app-body .tc-inward-table thead th { color:#dffaff;background:#0a3c50;border-color:#1b5668;font-size:10px;letter-spacing:.04em;text-transform:uppercase; }
body.tc-app-body .tc-inward-table tbody tr { transition:background-color .15s ease; }
body.tc-app-body .tc-inward-table tbody tr:hover { background:#f0fafb; }
body.tc-app-body .tc-inward-table tbody tr.row-qc-pending { box-shadow:inset 3px 0 #e0a106; }
body.tc-app-body .tc-inward-table tbody tr.row-approved { box-shadow:inset 3px 0 #0a9876; }
body.tc-app-body .tc-inward-table tbody tr.row-rejected { box-shadow:inset 3px 0 #d24753; }
body.tc-app-body .tc-inward-detail .tc-inward-hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 88% 8%,rgba(43,211,229,.18),transparent 28%),linear-gradient(135deg,#071f33 0%,#0b3b52 62%,#087f91 100%);
}
body.tc-app-body .tc-inward-detail .tc-inward-hero h1,
body.tc-app-body .tc-inward-detail .tc-inward-hero p,
body.tc-app-body .tc-inward-detail .tc-inward-hero .tc-command-kicker,
body.tc-app-body .tc-inward-detail .tc-inward-hero .tc-pack-tags span { color:#f4fbff;-webkit-text-fill-color:#f4fbff; }
body.tc-app-body .tc-inward-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.tc-app-body .tc-inward-detail-grid > div { min-height:72px;padding:12px 14px; }
body.tc-app-body .tc-inward-detail-grid > div > small { margin-top:4px;color:#718397;font-size:10px; }
body.tc-app-body .tc-inward-line-list,
body.tc-app-body .tc-inward-iqc-lines { display:grid;padding:12px;gap:9px; }
body.tc-app-body .tc-inward-line,
body.tc-app-body .tc-inward-iqc-line {
  display:grid;
  min-width:0;
  padding:12px;
  align-items:end;
  grid-template-columns:minmax(220px,2fr) repeat(4,minmax(130px,.8fr)) 42px;
  gap:10px;
  border:1px solid var(--tc-inward-border);
  border-radius:14px;
  background:linear-gradient(145deg,#fff,var(--tc-inward-soft));
  box-shadow:0 7px 18px rgba(25,57,79,.045);
}
body.tc-app-body .tc-inward-iqc-line { grid-template-columns:minmax(240px,1.7fr) minmax(100px,.45fr) minmax(150px,.7fr) minmax(240px,1fr); }
body.tc-app-body .tc-inward-line label,
body.tc-app-body .tc-inward-iqc-line label,
body.tc-app-body .tc-inward-iqc-line span,
body.tc-app-body .tc-inward-line__product span { display:block;margin-bottom:4px;color:#6b7f91;font-size:9px;font-weight:800;letter-spacing:.35px;text-transform:uppercase; }
body.tc-app-body .tc-inward-line__product strong,
body.tc-app-body .tc-inward-iqc-product strong,
body.tc-app-body .tc-inward-iqc-line > div > strong { display:block;color:var(--tc-inward-ink);font-size:13px; }
body.tc-app-body .tc-inward-line__product small,
body.tc-app-body .tc-inward-iqc-product small,
body.tc-app-body .tc-inward-iqc-line > div > small { display:block;margin-top:3px;color:#708497;font-size:10px; }
body.tc-app-body .tc-inward-iqc-remarks { padding:4px 12px 12px; }
body.tc-app-body .tc-inward-iqc .tc-form-command { padding:12px;border-top:1px solid #e0e9ee; }
@media(max-width:991.98px){
  body.tc-app-body .tc-inward-page-head { align-items:flex-start;flex-direction:column; }
  body.tc-app-body .tc-inward-page-actions { width:100%;justify-content:flex-start; }
  body.tc-app-body .tc-inward-register-legend { justify-content:flex-start; }
}
@media(max-width:767.98px){
  body.tc-app-body .tc-inward-page-head { min-height:0;padding:15px; }
  body.tc-app-body .tc-inward-page-actions { align-items:stretch;flex-direction:column; }
  body.tc-app-body .tc-inward-page-actions .btn { width:100%; }
  body.tc-app-body .tc-inward-head-status { width:100%; }
  body.tc-app-body .tc-inward-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tc-app-body .tc-inward-line,
  body.tc-app-body .tc-inward-iqc-line { align-items:stretch;grid-template-columns:1fr; }
  body.tc-app-body .tc-inward-line > .btn { width:100%; }
  body.tc-app-body .tc-inward-commandbar { display:grid;align-items:stretch;overflow-x:hidden;gap:8px; }
  body.tc-app-body .tc-inward-commandbar .tc-table-commandbar__filters { display:grid;width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tc-app-body .tc-inward-commandbar .tc-table-commandbar__filters > div { width:auto;min-width:0; }
  body.tc-app-body .tc-inward-commandbar > .tc-date-shortcuts { width:100%;min-width:0;flex-wrap:wrap;overflow:visible; }
  body.tc-app-body .tc-inward-commandbar > .tc-date-shortcuts .btn { flex:1 1 calc(50% - 5px); }
  body.tc-app-body .tc-inward-commandbar > .tc-dt-toolbar { width:100%;min-width:0;margin-left:0;flex-wrap:wrap; }
}
@media(max-width:479.98px){body.tc-app-body .tc-inward-metrics{grid-template-columns:1fr}}

/* SEP03 V7.3: pack inventory workspace */
body.tc-app-body .tc-pack-inventory-page .tc-panel { overflow:hidden; }
body.tc-app-body .tc-pack-inventory-page .tc-table-actions form { display:inline-flex;margin:0; }
body.tc-app-body .tc-pack-materials { display:grid;gap:9px; }
body.tc-app-body .tc-pack-material-line {
  display:grid;
  min-width:0;
  padding:12px;
  align-items:end;
  grid-template-columns:minmax(220px,1fr) minmax(120px,160px) 42px;
  gap:10px;
  border:1px solid #d8e5ea;
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#f4fafb);
  box-shadow:0 7px 18px rgba(25,57,79,.045);
}
body.tc-app-body .tc-pack-material-line > div:first-of-type span,
body.tc-app-body .tc-pack-material-line label { display:block;margin-bottom:4px;color:#667f8d;font-size:9px;font-weight:800;letter-spacing:.35px;text-transform:uppercase; }
body.tc-app-body .tc-pack-material-line strong { display:block;color:#173b4c;font-size:13px; }
body.tc-app-body .tc-pack-material-line small { display:block;margin-top:3px;color:#708497;font-size:10px; }
body.tc-app-body .tc-pack-inventory-form .tc-form-command { margin-top:14px; }
@media(max-width:767.98px){
  body.tc-app-body .tc-pack-material-line { align-items:stretch;grid-template-columns:1fr; }
  body.tc-app-body .tc-pack-material-line > .btn { width:100%; }
  body.tc-app-body .tc-pack-inventory-page .tc-page-head > .tc-table-actions { width:100%; }
  body.tc-app-body .tc-pack-inventory-page .tc-page-head > .tc-table-actions .btn { flex:1; }
}

/* SEP29: one responsive command-bar contract for every DataTable register. */
body.tc-app-body .card-datatable > .tc-table-commandbar,
body.tc-app-body .tc-panel > .tc-table-commandbar {
  display:grid;
  width:100%;
  min-width:0;
  min-height:0;
  padding:12px;
  align-items:end;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 12px;
  overflow:visible;
  border-bottom:1px solid #dce8ee;
  background:linear-gradient(180deg,#fbfeff,#f2f8fa);
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters {
  display:grid;
  width:100%;
  min-width:0;
  align-items:end;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:9px;
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters > div {
  width:auto;
  min-width:0;
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters label {
  min-height:13px;
  margin:0 0 5px;
  color:#557082;
  font-size:9px;
  font-weight:850;
  letter-spacing:.045em;
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters .form-control,
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters .form-select,
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters .select2-container,
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters .select2-selection {
  width:100%;
  max-width:100%;
  min-width:0;
}
body.tc-app-body .tc-table-commandbar > .tc-date-shortcuts,
body.tc-app-body .tc-table-commandbar > .tc-finalpack-presets {
  display:flex;
  width:auto;
  min-width:0;
  margin:0;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  overflow:visible;
}
body.tc-app-body .tc-table-commandbar > .tc-dt-toolbar,
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__datatable {
  display:flex;
  width:100%;
  min-width:0;
  min-height:42px;
  margin:0;
  padding:9px 0 0;
  align-items:center;
  grid-column:1/-1;
  flex-wrap:wrap;
  gap:7px;
  overflow:visible;
  border:0;
  border-top:1px solid #e1ebef;
  background:transparent;
}
body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dt-buttons,
body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dt-buttons {
  display:flex;
  min-width:0;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dataTables_length,
body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dataTables_length {
  flex:0 0 auto;
}
body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dataTables_filter,
body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dataTables_filter {
  min-width:min(100%,260px);
  margin-left:auto;
}
body.tc-app-body .tc-table-commandbar .dataTables_filter label,
body.tc-app-body .tc-table-commandbar .dataTables_filter input {
  width:100%;
  min-width:0;
}
@media(min-width:992px){
  body.tc-app-body .card-datatable > .tc-table-commandbar,
  body.tc-app-body .tc-panel > .tc-table-commandbar {
    display:flex;
    padding:9px 10px;
    align-items:flex-end;
    flex-wrap:nowrap;
    gap:6px;
  }
  body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters {
    display:flex;
    flex:1 1 auto;
    min-width:360px;
    gap:6px;
  }
  body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters > div {
    flex:1 1 96px;
  }
  body.tc-app-body .tc-table-commandbar > .tc-date-shortcuts,
  body.tc-app-body .tc-table-commandbar > .tc-finalpack-presets {
    flex:0 0 auto;
    flex-wrap:nowrap;
    gap:4px;
  }
  body.tc-app-body .tc-table-commandbar > .tc-date-shortcuts .btn,
  body.tc-app-body .tc-table-commandbar > .tc-finalpack-presets .btn,
  body.tc-app-body .tc-table-commandbar .dt-buttons .btn,
  body.tc-app-body .tc-table-commandbar .dt-buttons button {
    min-height:36px;
    padding:6px 8px;
    font-size:10px;
    white-space:nowrap;
  }
  body.tc-app-body .tc-table-commandbar > .tc-dt-toolbar,
  body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__datatable {
    width:auto;
    min-width:0;
    min-height:38px;
    padding:0;
    grid-column:auto;
    flex:0 0 auto;
    flex-wrap:nowrap;
    gap:5px;
    border-top:0;
  }
  body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dt-buttons,
  body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dt-buttons {
    flex-wrap:nowrap;
    gap:3px;
  }
  body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dataTables_filter,
  body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dataTables_filter {
    min-width:0;
    margin-left:3px;
  }
  body.tc-app-body .tc-table-commandbar .dataTables_filter label {
    display:flex;
    width:auto;
    margin:0;
    align-items:center;
    gap:4px;
    font-size:9px;
    white-space:nowrap;
  }
  body.tc-app-body .tc-table-commandbar .dataTables_filter input {
    width:112px;
    min-width:82px;
    min-height:36px;
    margin:0;
  }
}
@media(max-width:991.98px){
  body.tc-app-body .card-datatable > .tc-table-commandbar,
  body.tc-app-body .tc-panel > .tc-table-commandbar { grid-template-columns:1fr;align-items:stretch; }
  body.tc-app-body .tc-table-commandbar > .tc-date-shortcuts,
  body.tc-app-body .tc-table-commandbar > .tc-finalpack-presets { width:100%;justify-content:flex-start; }
}
@media(max-width:767.98px){
  body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tc-app-body .tc-table-commandbar > .tc-date-shortcuts .btn,
  body.tc-app-body .tc-table-commandbar > .tc-finalpack-presets .btn { flex:1 1 calc(50% - 6px); }
  body.tc-app-body .tc-table-commandbar > .tc-dt-toolbar,
  body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__datatable { align-items:stretch;flex-direction:column; }
  body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dataTables_filter,
  body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dataTables_filter { width:100%;min-width:0;margin-left:0; }
}
@media(max-width:479.98px){
  body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters { grid-template-columns:1fr; }
}

/* OCT02: preserve readable command controls and scroll the strip instead of compressing it. */
body.tc-app-body .card-datatable > .tc-table-commandbar,
body.tc-app-body .tc-panel > .tc-table-commandbar {
  display:flex;
  align-items:flex-end;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:#82aebe #edf4f6;
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters {
  display:flex;
  width:auto;
  min-width:max-content;
  flex:0 0 auto;
  flex-wrap:nowrap;
  gap:8px;
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters > div {
  width:160px;
  min-width:160px;
  flex:0 0 160px;
}
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__filters > div:has(select) {
  width:180px;
  min-width:180px;
  flex-basis:180px;
}
body.tc-app-body .tc-table-commandbar > .tc-date-shortcuts,
body.tc-app-body .tc-table-commandbar > .tc-finalpack-presets {
  width:auto;
  min-width:max-content;
  flex:0 0 auto;
  flex-wrap:nowrap;
}
body.tc-app-body .tc-table-commandbar > .tc-dt-toolbar,
body.tc-app-body .tc-table-commandbar > .tc-table-commandbar__datatable {
  width:auto;
  min-width:max-content;
  min-height:40px;
  padding:0;
  flex:0 0 auto;
  flex-direction:row;
  flex-wrap:nowrap;
  border-top:0;
}
body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dt-buttons,
body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dt-buttons { min-width:max-content;flex-wrap:nowrap; }
body.tc-app-body .tc-table-commandbar .tc-dt-toolbar .dataTables_filter,
body.tc-app-body .tc-table-commandbar .tc-table-commandbar__datatable .dataTables_filter { width:210px;min-width:210px;margin-left:4px; }
body.tc-app-body .tc-table-commandbar .dataTables_filter input { width:150px;min-width:150px; }

/* OCT01: one aligned table surface — controls and pagination never scroll. */
body.tc-app-body .tc-data-register-host {
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
/* DataTables owns the one intentional horizontal scroller. Legacy
   .table-responsive wrappers must not become a second, independently
   scrolled surface that shifts the toolbar/footer and leaves blank space. */
body.tc-app-body .tc-data-register-shell {
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:visible;
}
body.tc-app-body .tc-data-register {
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:visible;
}
body.tc-app-body .tc-dt-table-scroll {
  position:relative;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:#82aebe #edf4f6;
  -webkit-overflow-scrolling:touch;
}
body.tc-app-body .tc-dt-table-scroll > table.dataTable,
body.tc-app-body .tc-dt-table-scroll > table.table {
  width:100%;
  min-width:max-content;
  margin:0;
  border-collapse:separate;
  border-spacing:0;
}
body.tc-app-body .tc-dt-table-scroll > table.dataTable thead th {
  position:relative;
  color:#eefaff;
  border-bottom:0;
  background:linear-gradient(180deg,#0a3850,#082c43);
  box-shadow:inset 0 -1px rgba(255,255,255,.08);
}
body.tc-app-body .tc-dt-table-scroll > table.dataTable tbody tr:nth-child(even) td { background:#f8fbfc; }
body.tc-app-body .tc-dt-table-scroll > table.dataTable tbody tr:hover td { background:#eaf8fa; }
body.tc-app-body .tc-data-register > .tc-dt-toolbar,
body.tc-app-body .tc-data-register > .tc-dt-footer {
  position:relative;
  z-index:2;
  width:100%;
  max-width:100%;
  overflow:visible;
}
body.tc-app-body .tc-data-register > .tc-dt-toolbar {
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
}
body.tc-app-body .tc-data-register > .tc-dt-footer {
  display:flex;
  min-height:58px;
  padding:10px 12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 14px;
  border-top:1px solid #dce8ed;
  background:linear-gradient(180deg,#fff,#f7fafb);
}
body.tc-app-body .tc-data-register .dataTables_info { padding:0;color:#60798a;font-size:11px;font-weight:700; }
body.tc-app-body .tc-data-register .dataTables_paginate,
body.tc-app-body .tc-server-pagination .pagination,
body.tc-app-body .tc-ledger-pagination .pagination {
  display:flex;
  width:auto;
  max-width:100%;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:4px;
  overflow:visible;
  white-space:normal;
}
body.tc-app-body .tc-data-register .dataTables_paginate > span { display:flex;flex-wrap:wrap;gap:4px; }
body.tc-app-body .tc-data-register .dataTables_paginate .paginate_button {
  display:inline-grid;
  min-width:34px;
  min-height:34px;
  margin:0;
  padding:6px 9px;
  place-items:center;
  border:1px solid #d3e1e7;
  border-radius:9px;
  color:#476579;
  background:#fff;
  box-shadow:none;
}
body.tc-app-body .tc-data-register .dataTables_paginate .paginate_button.current,
body.tc-app-body .tc-data-register .dataTables_paginate .paginate_button:hover {
  color:#fff;
  border-color:#078fa3;
  background:#078fa3;
}
body.tc-app-body .tc-data-register .dataTables_paginate .paginate_button.disabled { opacity:.45;cursor:not-allowed; }
body.tc-app-body .tc-return-ledger .tc-dt-table-scroll { border-top:1px solid #e0e9ed; }
body.tc-app-body .tc-return-ledger .tc-dt-table-scroll > table { min-width:980px; }
body.tc-app-body .tc-ledger-pagination { padding:12px;border-top:1px solid #dce8ed;background:#f8fbfc; }
/* Pack returns: station-local capture and a clean supervisor audit workspace. */
body.tc-app-body .tc-return-ledger { max-width:1600px; margin-inline:auto; }
body.tc-app-body .tc-return-ledger .tc-page-head { align-items:center; border:1px solid #cfe0e7; box-shadow:0 12px 30px rgba(10,47,67,.07); }
body.tc-app-body .tc-return-entry-panel,
body.tc-app-body .tc-return-audit { overflow:hidden; border:1px solid #d4e2e8; box-shadow:0 12px 28px rgba(15,50,69,.06); }
body.tc-app-body .tc-return-entry-panel .tc-panel-head,
body.tc-app-body .tc-return-audit .tc-panel-head { align-items:center; gap:16px; padding:18px 20px; background:linear-gradient(100deg,#f8fcfd,#edf8fa); }
body.tc-app-body .tc-return-form { align-items:start; gap:18px; }
body.tc-app-body .tc-return-form label { display:block; margin-bottom:7px; color:#294a5d; font-size:.73rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
body.tc-app-body .tc-return-form .form-control,
body.tc-app-body .tc-return-form .form-select,
body.tc-app-body .tc-return-form .select2-selection { min-height:46px; border-color:#c9dbe3; border-radius:11px; }
body.tc-app-body .tc-return-form textarea.form-control { min-height:94px; }
body.tc-app-body .tc-return-form .tc-form-command { margin:2px -16px -16px; padding:15px 18px; border-top:1px solid #d8e6eb; background:#f5fafb; }
body.tc-app-body .tc-return-audit .tc-dt-table-scroll { margin:0; border-radius:0; }
.tc-sendback-modal .modal-body { padding:20px; }
.tc-sendback-modal .modal-footer { padding:14px 20px; background:#f5fafb; }
.tc-sendback-context { display:flex; align-items:flex-start; gap:10px; margin-bottom:18px; padding:12px 14px; color:#16556a; border:1px solid #bde2e7; border-radius:12px; background:#edfafa; line-height:1.45; }
.tc-sendback-context i { flex:0 0 auto; color:#079aae; font-size:1.3rem; }
.tc-sendback-modal .select2-container { z-index:1061; }
@media(max-width:767.98px){
  body.tc-app-body .tc-data-register > .tc-dt-footer { align-items:flex-start;flex-direction:column; }
  body.tc-app-body .tc-data-register .dataTables_paginate { justify-content:flex-start; }
  body.tc-app-body .tc-data-register .dataTables_paginate .paginate_button { min-width:38px;min-height:38px; }
  body.tc-app-body .tc-return-entry-panel .tc-panel-head,
  body.tc-app-body .tc-return-audit .tc-panel-head { align-items:flex-start; }
  body.tc-app-body .tc-return-form .tc-form-command { margin:0; }
  .tc-station-sendback-action { width:100%; justify-content:center; }
}

/* Final Pack: keep the horizontally scrollable control rail clear of the
   panel edge. This intentionally follows the shared command-bar contract so
   its padding cannot be replaced by later responsive register rules. */
body.tc-app-body .tc-finalpack-register > #final-pack-commandbar {
  padding:12px 18px;
  box-sizing:border-box;
  scroll-padding-inline:18px;
}
@media(max-width:767.98px){
  body.tc-app-body .tc-finalpack-register > #final-pack-commandbar {
    padding:10px 14px;
    scroll-padding-inline:14px;
  }
}

/* Dark operational heroes must retain their own contrast even when the
   legacy-upgrade script adds the shared light-surface title class. */
body.tc-app-body :is(.tc-command-hero,.tc-pack-hero,.tc-report-hero,.tc-dispatch-hero) :is(h1,h2,h3,h4,h5,h6,.tc-legacy-title) {
  color:#fff;
  -webkit-text-fill-color:#fff;
}
body.tc-app-body :is(.tc-command-hero,.tc-pack-hero,.tc-report-hero,.tc-dispatch-hero) .tc-eyebrow {
  color:#72dce9;
  -webkit-text-fill-color:#72dce9;
  opacity:1;
}
body.tc-app-body :is(.tc-command-hero,.tc-pack-hero,.tc-report-hero,.tc-dispatch-hero) p {
  color:#c4dce7;
  -webkit-text-fill-color:#c4dce7;
}

/* OCT06: keep the inward register controls clear of the panel edge while
   preserving the deliberate horizontal command-bar scroll on compact views. */
body.tc-app-body .tc-panel > .tc-inward-commandbar {
  padding:12px 16px;
  box-sizing:border-box;
  scroll-padding-inline:16px;
}
@media(max-width:767.98px){
  body.tc-app-body .tc-panel > .tc-inward-commandbar {
    padding:10px 12px;
    scroll-padding-inline:12px;
  }
}

/* Compact navigation overlay: keep the page beneath the open sidebar from
   bleeding through as false panels/columns beside the navigation drawer. */
@media(max-width:1199.98px){
  body.tc-app-body.tc-nav-open .tc-sidebar-scrim {
    inset:0;
    border:0;
    outline:0;
    background:rgba(3,15,25,.90);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:none;
  }
}

/* Station materials: compact, aligned cards for installed and configured parts. */
body.tc-app-body .tc-installed-materials{
  grid-column:1/-1;
  min-width:0;
  padding:14px;
  border:1px solid #d5e5eb;
  border-radius:15px;
  background:linear-gradient(145deg,#f9fcfd,#f2f8fa);
}
body.tc-app-body .tc-installed-materials__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
body.tc-app-body .tc-installed-materials__head h5{margin:2px 0 2px;color:#173147;font-size:1rem}
body.tc-app-body .tc-installed-materials__head p{margin:0;color:#718697;font-size:.72rem;line-height:1.4}
body.tc-app-body .tc-installed-materials__count{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:#dff5f7;
  color:#08798b;
  font-size:.68rem;
  font-weight:850;
  white-space:nowrap;
}
body.tc-app-body .tc-installed-materials__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  gap:10px;
}
body.tc-app-body .tc-station-workspace .tc-installed-material-card{
  position:relative;
  display:block;
  min-width:0;
  min-height:98px;
  padding:0;
  overflow:hidden;
  border:1px solid #d4e3e9;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 15px rgba(12,52,72,.045);
}
body.tc-app-body .tc-station-workspace .tc-installed-material-card:hover{
  border-color:#72cbd5;
  box-shadow:0 9px 22px rgba(5,104,122,.10);
  transform:translateY(-1px);
}
body.tc-app-body .tc-station-workspace .tc-installed-material-card > .form-check-input{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  margin:0;
}
body.tc-app-body .tc-station-workspace .tc-installed-material-card > .form-check-label{
  display:grid;
  min-height:98px;
  padding:12px 42px 12px 12px;
  grid-template-columns:50px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:10px;
  row-gap:6px;
}
body.tc-app-body .tc-installed-material-card__image{
  grid-row:1/-1;
  width:50px;
  height:50px;
  padding:4px;
  object-fit:contain;
  border:1px solid #d4e3e9;
  border-radius:11px;
  background:#f8fbfc;
}
body.tc-app-body .tc-installed-material-card__copy{min-width:0;align-self:end}
body.tc-app-body .tc-installed-material-card__copy strong,
body.tc-app-body .tc-installed-material-card__copy small,
body.tc-app-body .tc-installed-material-card__stock b,
body.tc-app-body .tc-installed-material-card__stock small{display:block}
body.tc-app-body .tc-installed-material-card__copy strong{
  overflow:hidden;
  color:#173147;
  font-size:.78rem;
  line-height:1.3;
  text-overflow:ellipsis;
}
body.tc-app-body .tc-installed-material-card__copy small{
  display:-webkit-box;
  margin-top:2px;
  overflow:hidden;
  color:#718697;
  font-size:.62rem;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.tc-app-body .tc-installed-material-card__stock{
  display:flex;
  min-width:0;
  align-items:baseline;
  gap:5px;
  align-self:start;
}
body.tc-app-body .tc-installed-material-card__stock b{color:#08798b;font-size:.88rem}
body.tc-app-body .tc-installed-material-card__stock small{color:#728697;font-size:.57rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
body.tc-app-body .tc-installed-material-card.is-low-stock .tc-installed-material-card__stock b,
body.tc-app-body .tc-installed-material-card.is-low-stock .tc-installed-material-card__stock small{color:#b0443b}
body.tc-app-body .tc-station-workspace .tc-installed-material-card.is-selected,
body.tc-app-body .tc-station-workspace .tc-installed-material-card:has(.form-check-input:checked){
  border-color:#16aab8;
  background:linear-gradient(145deg,#eefbfc,#f6fcfa);
  box-shadow:0 0 0 2px rgba(7,143,163,.10),0 8px 19px rgba(5,104,122,.08);
}

body.tc-app-body .tc-consumable-disclosure__meta em{
  padding:4px 7px;
  border-radius:999px;
  background:#ffe6e2;
  color:#a83b35;
  font-size:.62rem;
  font-style:normal;
  font-weight:850;
}
body.tc-app-body .tc-consumable-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(285px,100%),1fr));
  gap:11px;
}
body.tc-app-body .tc-consumable-card{
  min-width:0;
  padding:12px;
  border:1px solid #d7e5ea;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 15px rgba(12,52,72,.045);
}
body.tc-app-body .tc-consumable-card.is-low-stock{border-color:#efc0ba;background:linear-gradient(145deg,#fff,#fff8f7)}
body.tc-app-body .tc-consumable-card__top{
  display:grid;
  min-width:0;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
body.tc-app-body .tc-consumable-card__image{
  width:52px;
  height:52px;
  padding:4px;
  object-fit:contain;
  border:1px solid #d6e4e9;
  border-radius:11px;
  background:#f7fbfc;
}
body.tc-app-body .tc-consumable-card__identity{min-width:0}
body.tc-app-body .tc-consumable-card__identity strong,
body.tc-app-body .tc-consumable-card__identity span{display:block}
body.tc-app-body .tc-consumable-card__identity strong{
  overflow:hidden;
  color:#173147;
  font-size:.78rem;
  line-height:1.35;
  text-overflow:ellipsis;
}
body.tc-app-body .tc-consumable-card__identity span{margin-top:3px;color:#718697;font-size:.62rem}
body.tc-app-body .tc-consumable-card__facts{
  display:grid;
  margin:11px 0 0;
  padding-top:10px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #e3ecef;
}
body.tc-app-body .tc-consumable-card__facts > div{min-width:0;padding:0 9px;border-right:1px solid #e3ecef}
body.tc-app-body .tc-consumable-card__facts > div:first-child{padding-left:0}
body.tc-app-body .tc-consumable-card__facts > div:last-child{padding-right:0;border-right:0}
body.tc-app-body .tc-consumable-card__facts dt{color:#718697;font-size:.56rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
body.tc-app-body .tc-consumable-card__facts dd{margin:3px 0 0;color:#27485a;font-size:.76rem;font-weight:800}
body.tc-app-body .tc-consumable-card__facts .tc-consumable-card__stock dd{color:#08798b;font-size:.9rem}
body.tc-app-body .tc-consumable-card.is-low-stock .tc-consumable-card__stock dd{color:#b0443b}

html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-materials,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-accordion__items{border-color:#294c5d;background:#0c202d}
html.dark-style body.tc-app-body.tc-dark-mode .tc-station-workspace .tc-installed-material-card,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card{border-color:#315768;background:#102735;box-shadow:none}
html.dark-style body.tc-app-body.tc-dark-mode .tc-station-workspace .tc-installed-material-card.is-selected,
html.dark-style body.tc-app-body.tc-dark-mode .tc-station-workspace .tc-installed-material-card:has(.form-check-input:checked){border-color:#42c4d0;background:#12343f}
html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-materials__head h5,
html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-material-card__copy strong,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__identity strong,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__facts dd{color:#e6f2f5}
html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-materials__head p,
html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-material-card__copy small,
html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-material-card__stock small,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__identity span,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__facts dt{color:#9db6c2}
html.dark-style body.tc-app-body.tc-dark-mode .tc-installed-material-card__image,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__image{border-color:#355b6b;background:#0b1d29}
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__facts,
html.dark-style body.tc-app-body.tc-dark-mode .tc-consumable-card__facts > div{border-color:#294c5d}

@media(max-width:575.98px){
  body.tc-app-body .tc-installed-materials{padding:11px}
  body.tc-app-body .tc-installed-materials__head p{display:none}
  body.tc-app-body .tc-installed-materials__grid,
  body.tc-app-body .tc-consumable-card-grid{grid-template-columns:minmax(0,1fr)}
  body.tc-app-body .tc-consumable-card__top{grid-template-columns:46px minmax(0,1fr)}
  body.tc-app-body .tc-consumable-card__image{width:46px;height:46px}
  body.tc-app-body .tc-consumable-card__top .tc-stock-status{grid-column:2;justify-self:start}
}
