/*
 * Rezvan Rail v4.3 — Figma aligned production UI
 * UI-only override layer. Business logic, routes, data contracts and the TV/yard renderers remain unchanged.
 */
:root{
  --rr-bg:#090d14;
  --rr-bg-elevated:#0f151f;
  --rr-surface:#121925;
  --rr-surface-2:#182231;
  --rr-surface-3:#202c3d;
  --rr-text:#f5f7fb;
  --rr-text-soft:#d7deea;
  --rr-muted:#93a0b4;
  --rr-placeholder:#68758a;
  --rr-border:rgba(147,160,180,.16);
  --rr-border-strong:rgba(147,160,180,.28);
  --rr-accent:#8a1538;
  --rr-accent-strong:#b52250;
  --rr-accent-3:#e04b75;
  --rr-success:#25b66c;
  --rr-warning:#e3a62f;
  --rr-danger:#df5562;
  --rr-info:#3b91dc;
  --rr-shadow-xs:0 1px 2px rgba(0,0,0,.10);
  --rr-shadow-sm:0 8px 22px rgba(0,0,0,.14);
  --rr-shadow-md:0 18px 48px rgba(0,0,0,.20);
  --rr-shadow-lg:0 34px 90px rgba(0,0,0,.28);
  --rr-shadow:var(--rr-shadow-md);
  --rr-radius-xs:8px;
  --rr-radius-sm:12px;
  --rr-radius-md:16px;
  --rr-radius-lg:22px;
  --rr-radius-xl:28px;
  --rr-fast:150ms;
  --rr-normal:240ms;
  --rr-slow:420ms;
}
body.light{
  --rr-bg:#f3f6fa;
  --rr-bg-elevated:#fff;
  --rr-surface:#fff;
  --rr-surface-2:#f7f9fc;
  --rr-surface-3:#edf2f8;
  --rr-text:#172033;
  --rr-text-soft:#344056;
  --rr-muted:#68758a;
  --rr-placeholder:#8c98aa;
  --rr-border:#e1e7ef;
  --rr-border-strong:#cfd8e5;
  --rr-shadow-xs:0 1px 2px rgba(23,32,51,.06);
  --rr-shadow-sm:0 8px 22px rgba(23,32,51,.08);
  --rr-shadow-md:0 18px 48px rgba(23,32,51,.10);
  --rr-shadow-lg:0 34px 90px rgba(23,32,51,.13);
}

html,body{scroll-behavior:smooth}
body{
  background:var(--rr-bg)!important;
  color:var(--rr-text)!important;
  font-family:Vazirmatn,AbarMid,Tahoma,Arial,sans-serif!important;
  text-rendering:optimizeLegibility;
}
body.light{background:var(--rr-bg)!important}
.main{padding:24px clamp(14px,2.25vw,34px)!important;gap:16px!important}
.main>*+*{margin-top:0!important}

/* Core rhythm / surfaces */
.panel,.card,.smart-card,.command-hero,.stat-card,.table-wrap,.modal,
.user-directory,.contractor-directory,.trader-directory-list,.trader-directory-shell,
.customs-stage,.customs-workflow-panel,.rail-stage-lane,.rail-flow-command{
  background:var(--rr-surface)!important;
  color:var(--rr-text)!important;
  border:1px solid var(--rr-border)!important;
  box-shadow:none!important;
}
.panel,.card,.smart-card,.command-hero,.stat-card{border-radius:var(--rr-radius-lg)!important}
.panel{padding:20px!important}
.panel-head{gap:16px!important;margin-bottom:16px!important;align-items:flex-start!important}
.panel-head>div,.directory-head>div,.notice-card,.alert-card,.form-note,.side-note{gap:6px!important}
.panel-head h2,.panel-head h3,.panel-head h4,.directory-head h2,.directory-head h3{margin:0!important;color:var(--rr-text)!important;line-height:1.5!important;letter-spacing:-.015em}
.panel-head small,.directory-head span,.muted,.input-hint,.field-hint,.cell-sub,.side-note{color:var(--rr-muted)!important;line-height:1.9!important}
.eyebrow{color:var(--rr-accent-3)!important;font-weight:800!important;letter-spacing:.08em;font-size:.68rem!important}

/* Inputs and select controls: deliberate text / placeholder separation */
input,select,textarea,.smart-entity-control{
  min-height:46px!important;
  border:1px solid var(--rr-border-strong)!important;
  border-radius:14px!important;
  background:var(--rr-surface-2)!important;
  color:var(--rr-text)!important;
  box-shadow:none!important;
  transition:border-color var(--rr-fast),box-shadow var(--rr-fast),background var(--rr-fast)!important;
}
input::placeholder,textarea::placeholder{color:var(--rr-placeholder)!important;opacity:1!important}
select option{background:var(--rr-bg-elevated)!important;color:var(--rr-text)!important}
input:hover,select:hover,textarea:hover,.smart-entity-control:hover{border-color:color-mix(in srgb,var(--rr-accent-3) 34%,var(--rr-border-strong))!important}
input:focus,select:focus,textarea:focus,.smart-entity.open .smart-entity-control{
  border-color:var(--rr-accent-strong)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--rr-accent-strong) 14%,transparent)!important;
  outline:0!important;
}
input:disabled,select:disabled,textarea:disabled{background:color-mix(in srgb,var(--rr-surface-2) 76%,var(--rr-bg))!important;color:var(--rr-muted)!important;opacity:.78}
.form-group label{font-size:.76rem!important;font-weight:760!important;color:var(--rr-text-soft)!important;margin-bottom:6px!important}

/* Buttons */
.btn{
  min-height:42px!important;
  border-radius:13px!important;
  font-weight:780!important;
  box-shadow:none!important;
  transition:transform var(--rr-fast) ease,background var(--rr-fast),border-color var(--rr-fast),box-shadow var(--rr-fast)!important;
}
.btn:hover{transform:translateY(-1px)!important}
.btn:active{transform:translateY(0) scale(.985)!important}
.btn.primary{background:var(--rr-accent)!important;color:#fff!important;border-color:color-mix(in srgb,var(--rr-accent-strong) 75%,var(--rr-accent))!important;box-shadow:0 8px 22px rgba(138,21,56,.18)!important}
.btn.primary:hover{background:var(--rr-accent-strong)!important;box-shadow:0 12px 28px rgba(138,21,56,.24)!important}
.btn.ghost,.btn.outline{background:var(--rr-surface-2)!important;color:var(--rr-text-soft)!important;border-color:var(--rr-border)!important}
.btn.ghost:hover,.btn.outline:hover{background:var(--rr-surface-3)!important;color:var(--rr-text)!important;border-color:var(--rr-border-strong)!important}
.btn.green{background:color-mix(in srgb,var(--rr-success) 16%,var(--rr-surface-2))!important;color:var(--rr-success)!important;border-color:color-mix(in srgb,var(--rr-success) 36%,var(--rr-border))!important}
.btn.red{background:color-mix(in srgb,var(--rr-danger) 16%,var(--rr-surface-2))!important;color:var(--rr-danger)!important;border-color:color-mix(in srgb,var(--rr-danger) 36%,var(--rr-border))!important}
.btn.blue{background:color-mix(in srgb,var(--rr-info) 15%,var(--rr-surface-2))!important;color:var(--rr-info)!important;border-color:color-mix(in srgb,var(--rr-info) 36%,var(--rr-border))!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--rr-info) 42%,transparent)!important;outline-offset:2px!important}

/* Navbar — engineered, compact, not SaaS-glossy */
.department-navbar{background:var(--rr-bg-elevated)!important;border-bottom:1px solid var(--rr-border)!important;box-shadow:0 8px 26px rgba(0,0,0,.13)!important;backdrop-filter:blur(16px) saturate(1.05)!important}
.navbar-primary{min-height:68px!important;padding-inline:clamp(14px,2.4vw,38px)!important;background:linear-gradient(105deg,#3f0d1d 0%,#69142d 54%,#8a1538 100%)!important}
.navbar-brand{gap:10px!important}.navbar-brand img{width:42px!important;height:42px!important}.navbar-brand span b{font-weight:850!important}.navbar-brand small{opacity:.72!important}
.navbar-group-button{height:56px!important;margin-block:6px!important;border-radius:13px!important;font-weight:760!important}.navbar-group-button:hover,.navbar-group.open .navbar-group-button{background:rgba(255,255,255,.11)!important}
.navbar-dropdown{background:var(--rr-bg-elevated)!important;border:1px solid var(--rr-border)!important;border-radius:16px!important;box-shadow:var(--rr-shadow-md)!important;padding:8px!important}
.navbar-link{min-height:43px!important;border-radius:11px!important;color:var(--rr-text-soft)!important}.navbar-link:hover{background:var(--rr-surface-2)!important;color:var(--rr-text)!important}.navbar-link.active{background:color-mix(in srgb,var(--rr-accent) 18%,var(--rr-surface-2))!important;color:var(--rr-accent-3)!important}
.navbar-secondary{min-height:72px!important;background:var(--rr-bg-elevated)!important;border-bottom:1px solid var(--rr-border)!important;padding-inline:clamp(14px,2.4vw,38px)!important}
.navbar-secondary .page-icon{border-radius:14px!important;background:color-mix(in srgb,var(--rr-accent) 14%,var(--rr-surface-2))!important;color:var(--rr-accent-3)!important;border:1px solid color-mix(in srgb,var(--rr-accent-3) 18%,var(--rr-border))!important}
.navbar-secondary .page-title h1{color:var(--rr-text)!important;letter-spacing:-.018em!important}.navbar-secondary .page-title p{color:var(--rr-muted)!important}
.global-search{border:1px solid var(--rr-border)!important;border-radius:15px!important;background:var(--rr-surface-2)!important;min-width:min(360px,38vw)!important;box-shadow:none!important}.global-search input{color:var(--rr-text)!important}.global-search-leading{color:var(--rr-muted)!important}.global-search-trigger{border-radius:14px!important;background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important;color:var(--rr-text)!important}
.theme-segment{background:var(--rr-surface-2)!important;border:1px solid var(--rr-border)!important;box-shadow:none!important}.theme-segment button{color:var(--rr-muted)!important}.theme-segment button.active{background:var(--rr-accent)!important;color:#fff!important;box-shadow:none!important}

/* Tables */
.table-wrap{border-radius:18px!important;overflow:auto!important}.compact-table,table{border-collapse:separate!important;border-spacing:0!important}thead th{position:sticky;top:0;z-index:2;background:var(--rr-surface-3)!important;color:var(--rr-text-soft)!important;border-bottom:1px solid var(--rr-border)!important;font-size:.71rem!important;font-weight:780!important;white-space:nowrap!important}tbody td{color:var(--rr-text-soft)!important;border-bottom-color:var(--rr-border)!important}tbody tr:hover td{background:color-mix(in srgb,var(--rr-accent) 5%,var(--rr-surface-2))!important}.compact-table tbody tr:last-child td{border-bottom:0!important}

/* Modal / dossiers */
.modal-backdrop{background:rgba(3,7,13,.68)!important;backdrop-filter:blur(7px)!important;padding:18px!important}
.modal{border-radius:24px!important;background:var(--rr-bg-elevated)!important;border:1px solid var(--rr-border)!important;box-shadow:var(--rr-shadow-lg)!important;padding:0!important;overflow:hidden!important}
.modal.wide{max-width:min(1160px,96vw)!important}.modal-head{padding:18px 20px!important;background:var(--rr-surface)!important;border-bottom:1px solid var(--rr-border)!important;gap:14px!important}.modal-head h3{margin:0!important;color:var(--rr-text)!important}.modal-head small{color:var(--rr-muted)!important}.modal .close{width:40px!important;height:40px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:var(--rr-surface-2)!important;color:var(--rr-muted)!important;border:1px solid var(--rr-border)!important}.modal .close:hover{color:var(--rr-text)!important;background:var(--rr-surface-3)!important}.modal>form,.modal-scroll,.modal-body{padding:18px 20px!important}.modal .actions:last-child{position:sticky;bottom:0;background:color-mix(in srgb,var(--rr-bg-elevated) 94%,transparent)!important;border-top:1px solid var(--rr-border);padding-top:12px!important;backdrop-filter:blur(10px)}

/* Status chips */
.badge{border-radius:999px!important;font-weight:750!important;border:1px solid transparent!important}.badge.green{background:color-mix(in srgb,var(--rr-success) 14%,var(--rr-surface-2))!important;color:var(--rr-success)!important;border-color:color-mix(in srgb,var(--rr-success) 25%,transparent)!important}.badge.yellow{background:color-mix(in srgb,var(--rr-warning) 14%,var(--rr-surface-2))!important;color:var(--rr-warning)!important;border-color:color-mix(in srgb,var(--rr-warning) 25%,transparent)!important}.badge.red{background:color-mix(in srgb,var(--rr-danger) 14%,var(--rr-surface-2))!important;color:var(--rr-danger)!important;border-color:color-mix(in srgb,var(--rr-danger) 25%,transparent)!important}.badge.blue{background:color-mix(in srgb,var(--rr-info) 14%,var(--rr-surface-2))!important;color:var(--rr-info)!important;border-color:color-mix(in srgb,var(--rr-info) 25%,transparent)!important}.badge.gray{background:var(--rr-surface-2)!important;color:var(--rr-muted)!important;border-color:var(--rr-border)!important}
.notice-card,.alert-card,.form-note{border-radius:16px!important;background:var(--rr-surface-2)!important;border:1px solid var(--rr-border)!important;padding:14px 16px!important}.notice-card.info,.alert-card.info{border-inline-start:4px solid var(--rr-info)!important}.notice-card.warning,.alert-card.warning{border-inline-start:4px solid var(--rr-warning)!important}.notice-card.danger,.alert-card.danger{border-inline-start:4px solid var(--rr-danger)!important}.notice-card.ok,.alert-card.ok{border-inline-start:4px solid var(--rr-success)!important}

/* ===================== Rail Command Center ===================== */
.rail-operations-page .main{background:var(--rr-bg)!important}
.rail-command-hero{grid-template-columns:minmax(0,1.38fr) minmax(330px,.62fr)!important;gap:14px!important}
.rail-command-main{min-height:196px!important;padding:24px!important;border-radius:26px!important;background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important;box-shadow:none!important}
.rail-command-copy h2{font-size:1.45rem!important;letter-spacing:-.025em!important}.rail-command-copy p{max-width:720px!important;color:var(--rr-muted)!important}
.rail-universal-search{padding:7px 10px!important;border-radius:16px!important;border:1px solid var(--rr-border-strong)!important;background:var(--rr-surface-2)!important;box-shadow:none!important}.rail-universal-search:focus-within{border-color:var(--rr-accent-strong)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--rr-accent-strong) 12%,transparent)!important}.rail-universal-search input{font-size:.9rem!important;color:var(--rr-text)!important}
.rail-command-kpis{gap:10px!important}.rail-command-kpi{padding:16px!important;border-radius:18px!important;background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important}.rail-command-kpi b{font-size:1.45rem!important;color:var(--rr-text)!important}.rail-command-kpi span{font-size:.68rem!important;color:var(--rr-muted)!important}
.rail-flow-command{border-radius:22px!important;padding:18px!important;background:var(--rr-bg-elevated)!important}.rail-stage-board{gap:12px!important}.rail-stage-lane{min-height:230px!important;border-radius:18px!important;background:var(--rr-surface-2)!important}.rail-stage-lane>header{padding:12px 13px!important;background:color-mix(in srgb,var(--rr-surface-3) 72%,var(--rr-surface-2))!important}.rail-stage-item{border-radius:14px!important;background:var(--rr-surface)!important;border-color:var(--rr-border)!important;padding:10px 11px!important;transition:transform var(--rr-fast),border-color var(--rr-fast)!important}.rail-stage-item:hover{transform:translateY(-1px);border-color:var(--rr-border-strong)!important}
.rail-tabs,.profile-tabs,.dossier-tabs,.tabbar{background:var(--rr-bg-elevated)!important;border:1px solid var(--rr-border)!important;border-radius:16px!important;padding:6px!important;gap:5px!important}.tabbar .tab,.rail-tabs .tab,.profile-tabs button,.dossier-tabs button{border-radius:11px!important;background:transparent!important;border:0!important;color:var(--rr-muted)!important}.tabbar .tab.active,.rail-tabs .tab.active,.profile-tabs button.active,.dossier-tabs button.active{background:var(--rr-surface-3)!important;color:var(--rr-text)!important;box-shadow:none!important}

/* Wagon dossier: readable hierarchy rather than one dense modal */
.wagon-dossier{background:var(--rr-bg-elevated)!important}.wagon-dossier-identity{padding:18px 20px!important;background:var(--rr-surface)!important;border-bottom-color:var(--rr-border)!important}.wagon-number-mark{background:color-mix(in srgb,var(--rr-accent) 18%,var(--rr-surface-2))!important;color:var(--rr-accent-3)!important;border:1px solid color-mix(in srgb,var(--rr-accent-3) 22%,var(--rr-border))!important;border-radius:14px!important}.wagon-dossier-meta .badge,.wagon-dossier-meta span{margin-inline-start:0!important}.dossier-nav{top:78px!important;padding:9px 12px!important;background:var(--rr-bg-elevated)!important;border-bottom-color:var(--rr-border)!important}.dossier-nav button{background:var(--rr-surface-2)!important;color:var(--rr-muted)!important;border-color:var(--rr-border)!important;border-radius:999px!important}.dossier-nav button.active{background:var(--rr-accent)!important;color:#fff!important}.dossier-body{padding:18px!important}.dossier-summary-grid{gap:14px!important}.dossier-facts{border-radius:18px!important;border-color:var(--rr-border)!important;background:var(--rr-surface)!important}.dossier-fact{border-color:var(--rr-border)!important}.dossier-fact small{color:var(--rr-muted)!important}.dossier-timeline-item{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important}.dossier-timeline:before{background:var(--rr-border-strong)!important}.dossier-timeline-item:before{background:var(--rr-accent-3)!important;box-shadow:0 0 0 4px var(--rr-bg-elevated)!important}

/* ===================== Users / Permission Center ===================== */
.permission-command-band,.masterdata-command,.trader-directory-command,.trader-dossier-hero{
  border-radius:25px!important;
  border:1px solid var(--rr-border)!important;
  background:var(--rr-surface)!important;
  box-shadow:none!important;
}
.permission-command-band{padding:22px 24px!important}.auth-admin-stats{gap:9px!important}.auth-admin-stats>*,.directory-stats>*{border-radius:15px!important;background:var(--rr-surface-2)!important;border:1px solid var(--rr-border)!important}
.user-directory,.contractor-directory{border-radius:20px!important;overflow:hidden!important}.access-user-row,.contractor-row{border-color:var(--rr-border)!important}.access-user-row:hover,.contractor-row:hover{background:var(--rr-surface-2)!important}.permission-search{background:var(--rr-surface-2)!important;border-radius:14px!important;border:1px solid var(--rr-border)!important}.role-guide-card,.role-preset,.permission-group,.effective-access-card{background:var(--rr-surface)!important;border-color:var(--rr-border)!important;border-radius:17px!important}.permission-state-btn{border-radius:10px!important}.permission-state-btn.allow.active{background:color-mix(in srgb,var(--rr-success) 16%,var(--rr-surface-2))!important;color:var(--rr-success)!important}.permission-state-btn.deny.active{background:color-mix(in srgb,var(--rr-danger) 16%,var(--rr-surface-2))!important;color:var(--rr-danger)!important}

/* ===================== Contractors / equipment ===================== */
.masterdata-command{padding:22px 24px!important}.contractor-layout{grid-template-columns:minmax(245px,310px) minmax(0,1fr)!important;gap:14px!important}.contractor-filter-rail{border-radius:20px!important;background:var(--rr-bg-elevated)!important;border:1px solid var(--rr-border)!important;padding:12px!important}.contractor-filter-list button{min-height:44px!important;border-radius:12px!important}.contractor-filter-list button.active,.contractor-filter-list button:hover{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important}.contractor-row{grid-template-columns:minmax(220px,1fr) 170px 145px auto!important;padding:14px 16px!important}.equipment-row{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important;border-radius:13px!important}.contractor-picker{padding:12px!important;border-radius:17px!important;background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rr-accent) 8%,transparent)!important}

/* ===================== Trader Directory / Dossier ===================== */
.trader-directory-command{padding:24px!important}.trader-directory-command h2{margin:5px 0!important}.trader-directory-command p{color:var(--rr-muted)!important}.trader-directory-shell{border-radius:22px!important;padding:0!important;overflow:hidden!important}.trader-directory-shell>.directory-head{padding:16px 18px!important;border-bottom:1px solid var(--rr-border)!important;background:var(--rr-bg-elevated)!important}.trader-directory-list{border:0!important;border-radius:0!important}.trader-directory-row{grid-template-columns:minmax(230px,1.25fr) minmax(230px,1.2fr) repeat(3,minmax(90px,.42fr)) auto!important;padding:15px 18px!important;border-color:var(--rr-border)!important;transform:none!important}.trader-directory-row:hover{background:var(--rr-surface-2)!important;transform:none!important}.trader-directory-name b{font-size:.9rem!important;color:var(--rr-text)!important}.trader-directory-name small,.trader-metric span{color:var(--rr-muted)!important}.trader-relations>*{background:var(--rr-surface-2)!important;border:1px solid var(--rr-border)!important;border-radius:999px!important}
.trader-dossier-hero{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(120px,.34fr))!important;padding:22px!important}.trader-dossier-identity h2{font-size:1.5rem!important;color:var(--rr-text)!important}.trader-dossier-kpi{border-inline-start:1px solid var(--rr-border)!important;border-right:0!important;padding-inline-start:14px!important;padding-right:0!important}.trader-dossier-kpi b{color:var(--rr-text)!important}.trader-operational-band,.trader-history-band{border-radius:20px!important;background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important;padding:16px!important}.trader-metric-strip>*,.trader-history-metrics>*{background:var(--rr-surface-2)!important;border:1px solid var(--rr-border)!important;border-radius:14px!important}.dossier-relations>*{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important;border-radius:15px!important}

/* ===================== Customs progressive workflow ===================== */
.customs-page-v42 .panel{background:var(--rr-surface)!important}.customs-workflow-shell{gap:14px!important}.customs-stepper{border-radius:20px!important;background:var(--rr-bg-elevated)!important;border-color:var(--rr-border)!important;padding:9px!important}.customs-step{min-height:52px!important;border-radius:13px!important;color:var(--rr-text)!important}.customs-step:hover,.customs-step.active{background:var(--rr-surface-2)!important}.customs-step .step-index{border-radius:10px!important;background:var(--rr-surface-3)!important;color:var(--rr-text-soft)!important}.customs-step.active .step-index{background:var(--rr-accent)!important;color:#fff!important}.customs-stage,.wagon-customs-stage{border-radius:20px!important;background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important;overflow:hidden!important}.customs-stage>header,.wagon-customs-stage>header{background:var(--rr-bg-elevated)!important;border-bottom:1px solid var(--rr-border)!important;padding:16px!important}.customs-stage-grid,.wagon-customs-stage-grid{gap:12px!important}.hs-lookup-box{border-radius:18px!important;background:var(--rr-surface-2)!important;border:1px solid var(--rr-border)!important;padding:14px!important}.hs-results,.hs-results.compact{background:var(--rr-bg-elevated)!important;border:1px solid var(--rr-border)!important;border-radius:15px!important;box-shadow:var(--rr-shadow-md)!important}.hs-result-item{background:var(--rr-surface)!important;border-color:var(--rr-border)!important;border-radius:12px!important}.hs-result-item:hover{background:var(--rr-surface-2)!important;border-color:var(--rr-border-strong)!important}.checklist-grid>*{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important;border-radius:13px!important}

/* ===================== Queue pages: loading / trucks ===================== */
.page-archetype-queue .panel{border-radius:20px!important}.page-archetype-queue .section-title{margin-block:14px 8px!important;padding-bottom:7px!important;border-bottom:1px solid var(--rr-border)!important;color:var(--rr-text)!important}.page-archetype-queue .form-grid{gap:12px!important}.quick-template,.smart-head{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important;border-radius:15px!important}.special-warning-panel{border-inline-start:4px solid var(--rr-warning)!important}

/* ===================== Yard spatial board ===================== */
.yard-page-v42 .main{background:var(--rr-bg)!important}.yard-page-v42 .panel{border-radius:22px!important}.yard-page-v42 #yardLineBoard{display:grid!important;gap:14px!important}.yard-line-board.horizontal{background:transparent!important;border:0!important;padding:0!important}.yard-line-column.horizontal{display:grid!important;grid-template-columns:minmax(150px,190px) minmax(0,1fr)!important;gap:16px!important;align-items:center!important;padding:16px!important;border:1px solid var(--rr-border)!important;border-radius:20px!important;background:var(--rr-surface)!important;box-shadow:none!important}.yard-line-head{margin:0!important;padding:0!important;border:0!important;display:grid!important;align-content:center!important;gap:7px!important}.yard-line-head b{font-size:.9rem!important;color:var(--rr-text)!important}.yard-line-head small{font-size:.66rem!important;color:var(--rr-muted)!important;line-height:1.7!important}.yard-line-head>span{justify-self:start!important;border:1px solid var(--rr-border)!important;background:var(--rr-surface-2)!important;color:var(--rr-muted)!important;border-radius:999px!important;padding:4px 8px!important;font-size:.64rem!important}.yard-line-rail,.yard-line-rail.fixed-25-wrap{min-height:64px!important;padding:10px 12px!important;border-radius:32px!important;background:var(--rr-surface-2)!important;border:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;overflow-x:auto!important;overflow-y:hidden!important}.yard-card-row{gap:8px!important;align-items:center!important}.yard-wagon-card.pro{min-height:44px!important;border-radius:11px!important;background:var(--rr-surface-3)!important;border:1.5px solid var(--rr-info)!important;color:var(--rr-text)!important;box-shadow:none!important;transform:none!important}.yard-wagon-card.pro:hover{background:color-mix(in srgb,var(--rr-info) 7%,var(--rr-surface-3))!important;transform:translateY(-1px)!important}.yard-wagon-card.pro.ready,.yard-wagon-card.pro.green{border-color:var(--rr-success)!important}.yard-wagon-card.pro.loading,.yard-wagon-card.pro.red{border-color:var(--rr-accent-3)!important}.yard-wagon-card.pro.warning,.yard-wagon-card.pro.yellow{border-color:var(--rr-warning)!important}.yard-wagon-card.pro.problem,.yard-wagon-card.pro.danger{border-color:var(--rr-danger)!important}.yard-wagon-card.pro b{color:var(--rr-text)!important}.yard-wagon-card.pro span,.yard-wagon-card.pro small{color:var(--rr-muted)!important}.yard-gap-card{border-radius:11px!important;background:transparent!important;border:1px dashed var(--rr-border-strong)!important;color:var(--rr-placeholder)!important}.exit-candidate-summary.bulk,.exit-candidate-card,.maneuver-card{background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important;border-radius:17px!important}.exit-candidate-card:hover{border-color:var(--rr-border-strong)!important}.exit-candidate-card.selected{background:color-mix(in srgb,var(--rr-accent) 9%,var(--rr-surface-2))!important;border-color:var(--rr-accent-strong)!important}.candidate-select-mark{background:var(--rr-surface-2)!important;border-color:var(--rr-border)!important;color:var(--rr-accent-3)!important}

/* ===================== Smart Entity combobox ===================== */
.smart-entity{z-index:10!important}.smart-entity-control{padding:9px 12px!important}.smart-entity-popover{background:var(--rr-bg-elevated)!important;border:1px solid var(--rr-border)!important;border-radius:18px!important;box-shadow:var(--rr-shadow-lg)!important;overflow:hidden!important}.smart-entity-search{background:var(--rr-surface)!important;border-bottom:1px solid var(--rr-border)!important;padding:11px!important}.smart-entity-list{padding:7px!important;max-height:370px!important}.smart-entity-option{border-radius:12px!important;padding:11px!important;color:var(--rr-text)!important}.smart-entity-option:hover,.smart-entity-option.active{background:var(--rr-surface-2)!important}.smart-entity-option.selected{background:color-mix(in srgb,var(--rr-accent) 16%,var(--rr-surface-2))!important}.smart-entity-main small{color:var(--rr-muted)!important}.smart-entity-pill{background:var(--rr-surface-3)!important;border-color:var(--rr-border)!important;color:var(--rr-text-soft)!important}

/* ===================== Dashboard ===================== */
.command-dashboard-page .command-hero{background:var(--rr-surface)!important;border-color:var(--rr-border)!important;border-radius:26px!important}.command-kpi-grid{gap:12px!important}.command-kpi-grid>*,.command-line-grid>*,.priority-command-list>*,.command-alert-list>*{border-radius:17px!important;background:var(--rr-surface)!important;border:1px solid var(--rr-border)!important;box-shadow:none!important}.command-priority-panel{border-inline-start:4px solid var(--rr-accent-3)!important}.command-alert-panel{border-inline-start:4px solid var(--rr-warning)!important}

/* ===================== TV / live line monitor =====================
 * CRITICAL: visual override only. tv.js cell geometry and line renderer are preserved.
 */
html:has(body.tv-light-only.tv-wallboard-v43){color-scheme:dark!important;background:#090d14!important}
body.tv-light-only.tv-wallboard-v43{background:#090d14!important;color:#f5f7fb!important}
body.tv-light-only.tv-wallboard-v43 .department-navbar{background:#0f151f!important;border-color:rgba(147,160,180,.14)!important}
body.tv-light-only.tv-wallboard-v43 .navbar-secondary{background:#0f151f!important}
body.tv-light-only.tv-wallboard-v43 .main{background:#090d14!important;color:#f5f7fb!important}
body.tv-light-only.tv-wallboard-v43 .tv-head{padding:15px 18px!important;border-radius:20px!important;border:1px solid rgba(147,160,180,.14)!important;background:#0f151f!important;color:#f5f7fb!important;box-shadow:none!important}
body.tv-light-only.tv-wallboard-v43 .tv-head h3{color:#f5f7fb!important;margin:0!important;font-size:1.02rem!important}body.tv-light-only.tv-wallboard-v43 .tv-head small{color:#93a0b4!important}
body.tv-light-only.tv-wallboard-v43 .tv-head-actions{gap:8px!important}.tv-head-actions .legend{gap:6px!important}
body.tv-light-only.tv-wallboard-v43 #tvSummary{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important;gap:10px!important}
body.tv-light-only.tv-wallboard-v43 .tv-kpi{min-height:92px!important;display:grid!important;align-content:center!important;justify-items:center!important;border-radius:18px!important;background:#121925!important;border:1px solid rgba(147,160,180,.12)!important;color:#f5f7fb!important;box-shadow:none!important}
body.tv-light-only.tv-wallboard-v43 .tv-kpi b,body.tv-light-only.tv-wallboard-v43 .tv-kpi strong{color:#f5f7fb!important;font-size:1.48rem!important}body.tv-light-only.tv-wallboard-v43 .tv-kpi small,body.tv-light-only.tv-wallboard-v43 .tv-kpi span{color:#93a0b4!important}
body.tv-light-only.tv-wallboard-v43 .tv-kpi.good b,body.tv-light-only.tv-wallboard-v43 .tv-kpi.good strong{color:#25b66c!important}body.tv-light-only.tv-wallboard-v43 .tv-kpi.warn b,body.tv-light-only.tv-wallboard-v43 .tv-kpi.warn strong{color:#e3a62f!important}
body.tv-light-only.tv-wallboard-v43 .tv-suggestions{display:grid!important;gap:9px!important}body.tv-light-only.tv-wallboard-v43 .suggestion-card{background:#121925!important;border:1px solid rgba(147,160,180,.13)!important;border-radius:18px!important;box-shadow:none!important;color:#f5f7fb!important}
body.tv-light-only.tv-wallboard-v43 .tv-lines{gap:12px!important}
body.tv-light-only.tv-wallboard-v43 .tv-line{padding:13px 14px 14px!important;border:1px solid rgba(147,160,180,.14)!important;border-radius:22px!important;background:#121925!important;color:#f5f7fb!important;box-shadow:none!important}
body.tv-light-only.tv-wallboard-v43 .tv-line-head{margin-bottom:10px!important;padding-bottom:9px!important;border-bottom:1px solid rgba(147,160,180,.12)!important}body.tv-light-only.tv-wallboard-v43 .tv-line-head h3{color:#f5f7fb!important;margin:0!important;font-size:.86rem!important}body.tv-light-only.tv-wallboard-v43 .tv-line-head small{color:#93a0b4!important}
body.tv-light-only.tv-wallboard-v43 .tv-rail-grid{border-radius:18px!important;background:#182231!important;padding:8px!important;direction:rtl!important}
body.tv-light-only.tv-wallboard-v43 .tv-wagon-unit{background:#202c3d!important;border-radius:10px!important;border:1px solid rgba(59,145,220,.58)!important;box-shadow:none!important}
body.tv-light-only.tv-wallboard-v43 .tv-wagon-unit.ready{border-color:rgba(37,182,108,.82)!important}body.tv-light-only.tv-wallboard-v43 .tv-wagon-unit.blocked{border-color:rgba(223,85,98,.82)!important}body.tv-light-only.tv-wallboard-v43 .tv-wagon-unit.unpositioned{border-color:rgba(227,166,47,.7)!important;opacity:.8!important}
body.tv-light-only.tv-wallboard-v43 .tv-wagon-caption b{color:#f5f7fb!important}body.tv-light-only.tv-wallboard-v43 .tv-wagon-caption span{color:#93a0b4!important}
body.tv-light-only.tv-wallboard-v43 .tv-progress-mini{background:#182231!important;border-color:rgba(147,160,180,.18)!important;box-shadow:none!important}
body.tv-light-only.tv-wallboard-v43 .modal{background:#0f151f!important;color:#f5f7fb!important}.tv-wallboard-v43 .modal-head{background:#121925!important}.tv-wallboard-v43 .detail-cell,.tv-wallboard-v43 .mini-row{background:#121925!important;border-color:rgba(147,160,180,.14)!important;color:#f5f7fb!important}

/* Board mode preservation: exact legacy geometry is deliberately retained; only theme/presentation changes. */
body.tv-light-only.tv-wallboard-v43.tv-board-mode{background:#090d14!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .layout,body.tv-light-only.tv-wallboard-v43.tv-board-mode .main{background:#090d14!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-head{background:rgba(15,21,31,.97)!important;border-color:rgba(147,160,180,.18)!important;color:#f5f7fb!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-head h3{color:#f5f7fb!important}body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-head small{color:#93a0b4!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-line{background:#121925!important;border-color:rgba(147,160,180,.15)!important;box-shadow:none!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-line-head{border-bottom-color:rgba(147,160,180,.13)!important}body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-line-head h3{color:#f5f7fb!important}body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-line-head small{color:#93a0b4!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-wagon-unit{background:#202c3d!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-wagon-caption b{color:#f5f7fb!important}
body.tv-light-only.tv-wallboard-v43.tv-board-mode .tv-progress-mini{background:#182231!important;border-color:rgba(147,160,180,.15)!important}

/* ===================== Responsive ===================== */
@media(max-width:1100px){
  .rail-command-hero{grid-template-columns:1fr!important}.rail-command-kpis{grid-template-columns:repeat(4,minmax(120px,1fr))!important}.contractor-layout{grid-template-columns:1fr!important}.contractor-filter-rail{position:static!important}.yard-line-column.horizontal{grid-template-columns:1fr!important}.yard-line-head{grid-template-columns:1fr auto!important}.trader-directory-row{grid-template-columns:minmax(210px,1fr) minmax(220px,1.1fr) repeat(2,minmax(80px,.4fr)) auto!important}.trader-directory-row .trader-metric:nth-of-type(3){display:none!important}
}
@media(max-width:900px){
  .main{padding:14px 10px calc(92px + env(safe-area-inset-bottom))!important;gap:12px!important}
  .navbar-primary{min-height:60px!important}.navbar-brand img{width:38px!important;height:38px!important}.navbar-secondary{min-height:62px!important;padding-inline:10px!important}.navbar-secondary .page-title p{display:none!important}.navbar-secondary .page-icon{display:none!important}
  .global-search-trigger{width:44px!important;height:44px!important;display:inline-flex!important}.global-search-shell.open .global-search{top:max(68px,env(safe-area-inset-top))!important;right:12px!important;left:12px!important;border-radius:18px!important;background:var(--rr-bg-elevated)!important;box-shadow:var(--rr-shadow-lg)!important;padding:9px!important}
  .mobile-bottom-nav{right:0!important;left:0!important;bottom:0!important;border-radius:0!important;border-inline:0!important;border-bottom:0!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;background:color-mix(in srgb,var(--rr-bg-elevated) 97%,transparent)!important;border-color:var(--rr-border)!important;box-shadow:0 -10px 32px rgba(0,0,0,.18)!important}.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:54px!important;border-radius:13px!important;color:var(--rr-muted)!important}.mobile-bottom-nav a.active{background:transparent!important;color:var(--rr-accent-3)!important;box-shadow:none!important}.mobile-bottom-nav a.active .nav-icon{color:var(--rr-accent-3)!important}
  .panel{padding:15px!important;border-radius:18px!important}.panel-head{margin-bottom:13px!important}
  .rail-command-main{min-height:0!important;padding:18px!important;border-radius:22px!important}.rail-command-copy h2{font-size:1.2rem!important}.rail-command-kpis{grid-template-columns:repeat(2,1fr)!important}.rail-stage-board{grid-template-columns:1fr!important;overflow:visible!important}.rail-stage-lane{min-height:0!important}.rail-stage-lane .rail-stage-items{display:grid!important;gap:7px!important}
  .wagon-dossier-identity{position:static!important;grid-template-columns:1fr!important}.dossier-nav{position:static!important}.dossier-summary-grid{grid-template-columns:1fr!important}.dossier-facts{grid-template-columns:repeat(2,1fr)!important}
  .trader-directory-command,.trader-dossier-hero,.permission-command-band,.masterdata-command{padding:17px!important;border-radius:20px!important}.trader-directory-row{grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}.trader-directory-row .trader-relations,.trader-directory-row .trader-metric{grid-column:1/-1!important}.trader-directory-row .trader-metric{display:inline-grid!important;grid-auto-flow:column!important;justify-content:start!important;gap:7px!important}.trader-dossier-hero{grid-template-columns:repeat(3,1fr)!important}.trader-dossier-identity{grid-column:1/-1!important}.trader-dossier-kpi{border-inline-start:0!important;border-top:1px solid var(--rr-border)!important;padding:12px 0 0!important}
  .customs-workflow-shell{grid-template-columns:1fr!important}.customs-stepper{position:static!important;display:flex!important;overflow-x:auto!important;gap:6px!important;padding:7px!important}.customs-step{min-width:190px!important}.contractor-picker{grid-template-columns:1fr!important}
  .yard-line-column.horizontal{padding:13px!important;border-radius:17px!important}.yard-line-rail,.yard-line-rail.fixed-25-wrap{border-radius:20px!important;padding:8px!important}.yard-line-head{grid-template-columns:1fr auto!important}.exit-candidate-card{grid-template-columns:1fr!important}
  .modal-backdrop{padding:8px!important;align-items:flex-end!important}.modal{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:24px 24px 0 0!important}.modal-head{padding:15px 16px!important}.modal>form,.modal-scroll,.modal-body{padding:15px 16px!important}
}
@media(max-width:560px){
  .main{padding-inline:8px!important}.navbar-brand small{display:none!important}.navbar-secondary .page-title h1{font-size:.94rem!important}.panel{padding:13px!important}.btn{min-height:44px!important}.actions,.toolbar,.form-actions{gap:7px!important}
  .rail-command-main{padding:16px!important}.rail-command-copy p{font-size:.73rem!important}.rail-universal-search{min-height:52px!important}.rail-command-kpis{grid-template-columns:repeat(3,1fr)!important}.rail-command-kpi{padding:12px 8px!important;text-align:center!important}.rail-command-kpi b{font-size:1.25rem!important}.rail-command-kpi span{font-size:.61rem!important}.rail-stage-item{padding:10px!important}
  .dossier-facts{grid-template-columns:1fr 1fr!important}.wagon-number-mark{font-size:1.02rem!important}.dossier-body{padding:12px!important}
  .trader-dossier-hero{grid-template-columns:repeat(3,1fr)!important}.trader-dossier-kpi b{font-size:1.1rem!important}.trader-dossier-kpi span{font-size:.6rem!important}.profile-tabs,.dossier-tabs{overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important}.profile-tabs button,.dossier-tabs button{white-space:nowrap!important}
  .customs-step{min-width:160px!important}.customs-stage>header,.wagon-customs-stage>header{padding:13px!important}
  .yard-line-column.horizontal{padding:11px!important}.yard-line-head b{font-size:.82rem!important}.yard-line-rail,.yard-line-rail.fixed-25-wrap{padding:7px!important}.yard-wagon-card.pro{min-width:104px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

@media print{
  .department-navbar,.mobile-bottom-nav,.floating-theme-switch{display:none!important}
  body,.main{background:#fff!important;color:#111!important}
  .panel,.table-wrap,.trader-dossier-hero{box-shadow:none!important;border-color:#d9dee6!important}
}
/* keep native controls/scrollbars coherent with the dark TV skin despite legacy tv-light-only compatibility class */
body.tv-light-only.tv-wallboard-v43 .panel,body.tv-light-only.tv-wallboard-v43 .tv-line,body.tv-light-only.tv-wallboard-v43 input,body.tv-light-only.tv-wallboard-v43 select{color-scheme:dark!important}
