:root { --tc-register-row-height: 44px; }

body.tc-app-body .tc-station-consumption-page .tc-pack-hero h1,
body.tc-app-body .tc-station-consumption-page .tc-pack-hero-main h1,
body.tc-app-body .tc-station-consumption-page .tc-pack-hero .tc-command-kicker,
body.tc-app-body .tc-station-consumption-page .tc-pack-hero-main p,
body.tc-app-body .tc-station-consumption-page .tc-pack-hero .tc-pack-tags span { color: #fff; }

/* Semantic contrast rules: utility-class ordering must never create white text on a white card. */
body.tc-app-body .card-header.tc-card-header-accent,
body.tc-app-body .card-header.bg-primary.text-white,
body.tc-app-body .card-header.bg-primary .text-white {
    color: #f4fbff;
    border-bottom-color: rgba(255, 255, 255, .12);
    background: linear-gradient(135deg, #0b2c43 0%, #087f91 100%);
}
body.tc-app-body .card-header.tc-card-header-accent *,
body.tc-app-body .card-header.bg-primary.text-white *,
body.tc-app-body .card-header.bg-primary .text-white { color: inherit; }
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary),
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary) h1,
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary) h2,
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary) h3,
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary) h4,
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary) h5,
body.tc-app-body .card-header:not(.tc-card-header-accent):not(.bg-primary) h6 { color: #172c41; }

body.tc-app-body .tc-station-workspace .tc-station-page-heading,
body.tc-app-body .tc-station-workspace .tc-legacy-head {
    color: #10243a;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,250,252,.96));
}
body.tc-app-body .tc-station-workspace .tc-station-page-heading h1,
body.tc-app-body .tc-station-workspace .tc-station-page-heading h2,
body.tc-app-body .tc-station-workspace .tc-legacy-head h1,
body.tc-app-body .tc-station-workspace .tc-legacy-head h2 { color: #10243a; }
body.tc-app-body .tc-station-workspace .card { min-width: 0; }
body.tc-app-body .tc-station-workspace .card .table-responsive { width: 100%; }
body.tc-app-body .tc-station-workspace table.table thead th,
body.tc-app-body .tc-station-workspace table.dataTable thead th {
    color: #eef9ff;
    background: #0b2c43;
}

body.tc-app-body .tc-dt-toolbar {
    display: flex; min-height: 52px; padding: 7px 10px; align-items: center;
    flex-wrap: nowrap; gap: 7px; overflow-x: auto; background: #fbfdfe; border-bottom: 1px solid #dce8ee;
}
body.tc-app-body .tc-dt-toolbar .dt-buttons { display: flex; gap: 5px; flex-wrap: nowrap; }
body.tc-app-body .tc-dt-toolbar .dataTables_filter { margin-left: auto; }
body.tc-app-body .tc-dt-toolbar label { display: flex; margin: 0; align-items: center; gap: 6px; white-space: nowrap; }
body.tc-app-body .tc-dt-toolbar input,
body.tc-app-body .tc-dt-toolbar select { min-height: 36px; height: 36px; margin: 0; border: 1px solid #cbdbe5; border-radius: 8px; background: #fff; }
body.tc-app-body .tc-table-commandbar {
    display: flex; width: 100%; min-height: 62px; padding: 8px 10px; align-items: flex-end;
    flex-direction: row; flex-wrap: nowrap; gap: 8px; overflow-x: auto; background: #f8fbfc; border-bottom: 1px solid #dce8ee;
}
body.tc-app-body .tc-table-commandbar__filters { display: flex; min-width: max-content; align-items: flex-end; flex-direction: row; gap: 7px; }
body.tc-app-body .tc-table-commandbar__filters > div { width: 152px; min-width: 152px; }
body.tc-app-body .tc-table-commandbar__filters label { display: block; margin: 0 0 4px; font-size: 9px; letter-spacing: .35px; text-transform: uppercase; }
body.tc-app-body .tc-table-commandbar .tc-finalpack-presets,
body.tc-app-body .tc-table-commandbar .tc-date-shortcuts { display: flex; min-width: max-content; margin: 0; align-items: center; flex-direction: row; flex-wrap: nowrap; gap: 5px; }
body.tc-app-body .tc-table-commandbar > .tc-dt-toolbar { width: auto; min-width: max-content; min-height: 40px; margin-left: auto; padding: 0; overflow: visible; border: 0; background: transparent; }
body.tc-app-body .tc-table-commandbar + .dataTables_wrapper > .tc-dt-toolbar { display: none; }
body.tc-app-body table.dataTable tbody tr { height: var(--tc-register-row-height); }
body.tc-app-body table.dataTable tbody td { vertical-align: middle; }
body.tc-app-body .tc-table-load-error { margin: 8px; }
body.tc-app-body :is(.tc-page-actions,.tc-panel-actions,.tc-action-row) { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
body.tc-app-body :is(.tc-page-actions,.tc-panel-actions,.tc-action-row) > :is(.btn,button,a),
body.tc-app-body :is(.tc-panel-head,.card-header) > .d-flex > :is(.btn,button,a),
body.tc-app-body :is(.tc-dt-toolbar,.tc-table-commandbar) .dt-buttons .dt-button {
    display:inline-flex; min-height:40px; align-items:center; justify-content:center; gap:6px; margin:0;
}
body.tc-app-body :is(.tc-panel-head,.card-header) > .d-flex { align-items:center; flex-wrap:wrap; gap:8px!important; }
body.tc-app-body .tc-source-filter-row {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:12px;
    width:100%!important; margin:0 0 16px!important; padding:14px 16px; border-bottom:1px solid #dce8ee; background:#f8fbfc;
}
body.tc-app-body .tc-source-filter-row > [class*="col-"] { width:100%!important; max-width:none!important; min-width:0; padding:0; flex:none!important; }
body.tc-app-body .tc-source-filter-row .form-label { min-height:18px; margin:0 0 6px; }
body.tc-app-body .tc-source-filter-row :is(.form-control,.form-select,.select2-container,.tc-premium-date-control) { width:100%!important; min-height:46px; margin:0; }
body.tc-app-body .tc-finalpack-register .tc-table-commandbar { align-items: flex-end; }
body.tc-app-body .tc-finalpack-register .tc-finalpack-presets { align-self: flex-end; }
body.tc-app-body .tc-finalpack-register .dataTables_scrollBody { min-height: calc(25 * var(--tc-register-row-height)); }
body.tc-app-body .tc-finalpack-register .tc-row-actions .dropdown-menu { z-index: 1080; min-width: 190px; }
body.tc-app-body .tc-finalpack-register .tc-material-type { display: inline-flex; min-width: 116px; padding: 6px 8px; flex-direction: column; border: 1px solid #d9e6ec; border-radius: 9px; }
body.tc-app-body .tc-finalpack-register .tc-material-type strong,
body.tc-app-body .tc-finalpack-register .tc-material-type small { display: block; }
body.tc-app-body .tc-finalpack-register .tc-material-type small { margin-top: 2px; color: #687f92; font-size: 9px; }
body.tc-app-body .tc-finalpack-register .tc-material-type.is-iot { border-color: #9ce8dc; background: #ecfcf8; }
body.tc-app-body .tc-finalpack-register .tc-material-type.is-standard { background: #f7fafc; }
body.tc-app-body .tc-finalpack-register .tc-pack-identity strong,
body.tc-app-body .tc-finalpack-register .tc-pack-identity small { display: block; white-space: nowrap; }
body.tc-app-body .tc-finalpack-register .tc-pack-identity small { margin-top: 2px; color: #738699; font-size: 9px; }
body.tc-app-body .tc-finalpack-register .tc-pack-weight-value { color:inherit; font-weight:inherit; white-space:nowrap; }

.tc-iteration-chips { display: grid; padding: 14px; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 9px; }
.tc-iteration-chips span { display: flex; padding: 10px 12px; flex-direction: column; border: 1px solid #d7e5ec; border-radius: 11px; background: #f8fbfc; }
.tc-iteration-chips small { margin-top: 3px; color: #64798b; }

@media (min-width: 768px) {
    body.tc-app-body .tc-fixed-25-rows .dataTables_scrollBody { min-height: calc(25 * var(--tc-register-row-height)); max-height: calc(25 * var(--tc-register-row-height)); }
}

@media (max-width: 767.98px) {
    body.tc-app-body .tc-dt-toolbar { width: max-content; min-width: 100%; }
    body.tc-app-body .tc-fixed-25-rows .dataTables_scrollBody { min-height: 0; max-height: none; }
    body.tc-app-body .tc-page-actions { width: 100%; }
    body.tc-app-body .tc-page-actions .btn:not(.btn-icon) { flex: 1 1 auto; }
    body.tc-app-body .tc-source-filter-row { grid-template-columns:1fr; padding:12px; }
    body.tc-app-body .tc-finalpack-register .dataTables_scrollBody { min-height: 0; }
}
.tc-session-recovery {
  position: fixed;
  top: 5.25rem;
  left: 50%;
  z-index: 1090;
  display: flex;
  width: min(44rem, calc(100vw - 2rem));
  align-items: center;
  gap: .65rem;
  transform: translateX(-50%);
  border: 1px solid #f0ca72;
  border-radius: .8rem;
  box-shadow: 0 .75rem 2rem rgba(8, 17, 31, .18);
}

.tc-session-recovery .btn-close { margin-left: auto; }

